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‬مشخص کرد که در انتهای هر چرخه ‪ ،‬چه حجم یا درصدی از کارها انجام شده است‪.‬‬