1. آماده کردن برنامه نصب
Download
Report
Transcript 1. آماده کردن برنامه نصب
فصل 9
پیاده سازی نرم افزار :
منظور از پیاده سازی ،انتقال نرم افزار پس از تکمیل آن به سایت اصلی و راه اندازی
آن است.
فعالیتهایی که در حین راه اندازی هستند:
.1آماده کردن برنامه نصب
.2انجام روال های عملیاتی الزم
.3آماده سازی و تبدیل داده ها
.4آموزش کاربران
.5راه اندازی سیستم
.1آماده کردن برنامه نصب :
در این مرحله عملیات عبارتند از :
.1خرید سخت افزار
.2آماده سازی سایت
.3خرید نرم افزارهای جانبی (نرم افزارهایی که در زمان اجرا الزم هستند).
.4نصب نرم افزار تولید شده
.5آموزش کاربران
.2انجام روالهای عملیاتی الزم:
.1بهتر است در هنگام تولید نرم افزار کاربران از ابتدا به صورت مرحله بندی شده با
سیستم آشنا شوند.
.2آموزش و آشنایی کاربران با سیستم جدید باید به صورت مرحله بندی شده انجام
شود.
.3مراحل تبدیل داده ها:
.1لیست کردن کلیه ی فایلهایی که می بایست تبدیل شوند.
.2لیست کردن فایل های جدیدی که می بایست آماده شوند و تهیه ی داده
های مورد نیاز آنها.
.3لیست کردن کلیه ی مستندات برنامه هایی که در حین تبدیل داده مورد نیاز
است.
.4مشخص کردن کنترلهایی که در روند انتقال داده ها می بایست اعمال
شوند(.کنترل جامعیت)
.5آماده کردن برنامه ی انتقال داده.
.6مشخص کردن کارهایی که باید در حین انتقال داده انجام شود.
.4آموزش کاربران :User Training
آموزش کاربران در دو سطح انجام می شود:
.1آموزش اپراتورهای سیستم
.2آموزش مدیران راهبری سیستم
در آموزش مدیران () adminsمواردی از قبیل استفاده ی درست از تجهیزات ،عیب یابی
اولیه و فعالیتهای الزمی که در فاز پشتیبانی انجام می شوند را می بایست به آنها آموزش داد.
در آموزش به اپراتورها یا end userهای سیستم ،مواردی از قبیل استفاده از تجهیزات ،
استفاده از برنامه ی کاربردی ،استفاده از داده های سیستم ،امکان اضافه ،حذف و یا
ویرایش اطالعات در سیستم ،گرفتن گزارشات از سیستم،بهینه سازی اطالعات دریافتی از
سیستم و عیب یابی های اولیه می بایست آموزش داده شود.
.5استراتژیهای راه اندازی سیستم : Implementation Strategies
چهار استراتژی برای راه اندازی سیستم وجود دارد که عبارتند از :
.1استراتژی موازی
.2استراتژی قطع
.3استراتژی فازبندی یا مرحله بندی
.4استراتژی آزمایش ی
در استراتژی موازی ،سیستم جدید و سیستم قدیم به صورت موازی با هم اجرا می شوند.
هدف از این استراتژی باال بردن قابلیت اطمینان سیستم و مشخص کردن خطاهایی است
که تا لحظه نصب در سیستم برطرف نشده اند.
Implementation Strategies Contd…
اما این استراتژی نیاز به نیروی کار و هزینه ی زیادی دارد .این استراتژی مناسب سیستم هایی
هستند که اهمیت باالیی دارند مثل سیستم های مالی.
.2در استراتژی قطع یا direct cutover approachدر هنگام راه اندازی ،اجرای
سیستم قدیمی ،قطع و سیستم جدید جایگزین آن می شود.
.3استراتژی فازبندی شده :در این استراتژی ،نصب و راه اندازی سیستم جدید به صورت
مرحله به مرحله انجام می شود .به عنوان مثال در یک سیستم آموزش دانشجویی در ابتدا،
سیستم انتخاب واحد ،سپس زیر سیستم محاسبه ی شهریه و در ادامه زیر سیستم های
دیگر راه اندازی می شوند .در این مورد مشکالت ،مرحله به مرحله رفع می شوند و فشاری
به کل سیستم وارد نمی شود .این مورد مناسب سیستم هایی است که بخشهای مختلف آن
جداجدا هستند و مستقل عمل می کنند.
.4استراتژی آزمایش ی ( : )Pilotبرای کاربران خاص ی (متخصص) مورد بررس ی قرار می گیرد.
معیارهای انتخاب استراتژی راه اندازی :
.1ماهیت و سایز سیستم( :هر چه سیستم بزرگتر و پیچیده تر باشد ،به سمت استراتژیهای
موازی و آزمایش ی پیش می رویم).
.2نوع سازمان مشتری ( :ساختار سازمانی)
.3وجود واحد انفورماتیک یا کامپیوتر در داخل سازمان مشتری
.4تعداد کاربرانی که با سیستم ارتباط برقرار می کنند.
.5حجم داده های سیستم.
.6پراکندگی جغرافیایی سیستم (داخل سازمانی یا بیرون سازمانی)
(استراتژی مناسب :آزمایش ی و فازبندی شده)
.7استفاده از ابزارها یا toolsمناسب (استراتژی مناسب :استراتژی قطع)
.8در دسترس بودن نیروی انسانی ( :بدون داشتن نیروی انسانی استراتژی موازی قابل اجرا
نیست).
.9درجه ی اهمیت و بحرانی بودن نرم افزار ( :نرم افزارهایی که اهمیت و پیچیدگی انجام
کار باالیی دارند ،مثل نرم افزارهای مالی ،در آنها سراغ استراتژی قطع نمی رویم).
مرور نرم افزار پس از نصب:
مرحله ی مرور پروژه که پس از نصب و راه اندازی آن انجام می شود ،مرحله ی بسیار مهمی
است که مدیر پروژه با بررس ی کیفیت و کارایی پروژه ،از جنبه های مختلف عملکرد خود و
سایز تیم تولید پروژه را سنجیده و از نتایج آن می توان پس از ثبت در پروژه های آتی استفاده
کرد.
برخی از سواالتی که در این ارتباط مطرح می شوند ،عبارتند از:
.1آیا سیستم جدید ،هزینه ی اجرایی و عملیاتی ما را کاهش و یا افزایش داده است؟
.2آیا سیستم جدید ،اطالعات دقیق و به روزی را به ارائه می دهد؟
.3آیا کار کردن با سیستم جدید برای کاربران از سیستم قدیمی راحتتر است؟
.4آیا برای راهبری سیستم جدید ،به اپراتورهای کمتر یا بیشتری نسبت به سیستم
قدیم احتیاج است؟
.5آیا سیستم جدید روالهای اجرایی و عملیاتی سازمان را بهبود بخشیده است؟
.6آیا سیستم جدید ،ضریب تولید را افزایش داده است؟
.7آیا سیستم جدید ،سرویس دهی به مشتریان را بهبود بخشیده است؟
برنامه ریزی حالتهای بحرانی
منظور از برنامه ریزی حالتهای بحرانی ،پیش بینی مشکالتی است که از لحاظ سخت
افزاری یا نرم افزاری می تواند در آینده به وجود بیاید و ارائه ی راهکارهایی برای
مواجهه با آنهاست .برخی از این راهکارها ،عبارتند از :استفاده از کامپیوترهای پشتیبان
،امکان اتصال با خطوط پرسرعت به نقاط دیگر و امکان استفاده از سیستم دستی.
فصل 10
تحلیل و طراحی نرم افزار به روش ش یءگرایی:
همانطور که ذکر شد ،دو روش عمده برای تولید نرم افزار وجود دارد که
عبارتند از :
روش ساخت یافته یا Structuredو روش ش یءگرا یا Object
Oriented
در روش ساخت یافته ،پایه و اساس مدلهای تجزیه و تحلیل بر مبنای جریان
داده ها و data flowبوده و طراح ساخت یافته ،این مدلها را که عموما بر
مبنای DFDمی باشند ،به یک ساختار که در آن ماژولها و ارتباز ماژولها نشان
داده شده است ،تبدیل کرده و سپس ساختار درون هر ماژول را با ابزارهایی
نظیر فلوچارت و یا سودوکد طراحی می کند و برنامه نویس با توجه به مدل
طراحی ،اقدام به ساخت کدها می نماید.
در تجزیه تحلیل ش یءگرا ،تمرکز تحلیل گر بر روی رفتارهایی است که یا در حال حاضر در
سیستم انجام می شود (مدل تجاری ) business modeو رفتارهایی که می خواهیم بعدا
در سیستم اضافه یا انجام شود )requirement model(.در مدلسازی ش یءگرا ،این
مدلها ،غالبا با زبان UMLو با زبان use caseساخته می شود .پس از آن تحلیل گر می
تواند با استفاده از مدلهای تکمیلی ،نحوه ی رد و بدل شده پیغامها بین اشیاء (نمودارهای
sequenceو ) collaborationو یا چرخه های کاری (( )work flowsنمودار فعالیت
)activityو نمودار وضعیت برای نشان دادن وضعیت اشیاء و نحوه ی تبدیل این وضعیتها
به یکدیگر ( ) state chart diagramاستفاده می کند و سپس طراح ش یءگرا با استفاده
از مدلهای فوق ،می بایست قطعات اصلی سیستم که در مورد ش یءگرا ،کالسها و
componentها هستند را شناسایی کرده و ارتباط بین آنها را بدست آورد و سپس برای
هر کالس ویژگی ها و رفتارهای ( )Methodsآن را مشخص کرده و متدها را با استفاده از
شبه کد طراحی نماید.
ویژگیهای پروژه های ش یءگرایی:
.1مشخص کردن یک روال تولید چرخش ی ()iterative
.2تخمین زدن زمان و هزینه ی انجام پروژه با استفاده از روال تولید انتخاب
شده.
.3مشخص کردن نقاط سنجش ( )milestonesو نحوه ی اندازه گیری
پیشرفت انجام پروژه .
.4مشخص کردن نقاط مهم برای کنترل کیفی نرم افزار (در مراحل تولید)
.5مدیریت تغییرات
.6مشاهده ،پیگیری و کنترل پیشرفت انجام پروژه
Object Oriented Metrics
برخی از استانداردهای مورد استفاده در پروژه های object oriented
عبارتند از :
.1تعداد متدها در یک کالس ( اگر تعداد متدهای کالس ی از حدی بیشتر شد،
باید آن را به کالسهای کوچکتر تفکیک کرد).
.2عمق درخت و وراثت.
.3تعداد اشیاء نمونه گرفته شده از یک کالس
.4بررس ی couplingبین کالسها
.5واکنش ها یا پاسخ هایی که به یک کالس داده می شود.
.6کمبود چسبندگی یا cohesionدر محیط های یک کالس.
تخمین زدن یک پروژه ی ش یءگرا :Estimating an O.O project
برای تخمین زدن پروژ] های ش یءگرا ،می توان از معیارها یا موازین زیر استفاده کرد:
.1تعدا usecaseها و سناریوهای آنها (هر چه تعداد آنها بیشتر باشد ،حجم کد بیشتری
مورد نیاز است).
.2تعداد کالسهای اصلی
.3مشخص کردن واسط ها یا interfaceها و کالسهای الزم برای پیاده سازی آنها( .هر
واسطی که سیستم را به محیط بیرونی مرتبط می کند).
.4محاسبه و بازبینی تخمین ها بر مبنای کالسها
برنامه ریزی پروژه های ش یءگرا:
.1پروژه های ش یءگرا با پروسس های چرخش ی پیاده سازی می شوند.
.2در برنامه ریزی برای این پروژه ها می بایست :
.2-1تعدا چرخش های مورد نیاز را تخمین زد.
.2-2مشخص کرد که در انتهای هر چرخه ،چه حجم یا درصدی از کارها انجام شده است.