طراحي پروژه هاي نرم افزاري با Microsoft Solutions Framework

مدل پروسه يا Process Model راهنمايي براي فعاليت هاي پروژه است که چرخه زندگي نرم افزار را نشان مي دهد. دو مدل پروسه اي که سال ها است در توليد نرم افزار استفاده مي شوند عبارتند از: مدل هاي آبشاري يا Waterfall و مدل حلزوني يا Spiral. مدل آبشاري مدلي براي توليد نرم افزارهايي است که نيازهاي کاربران در آن به صورت
شنبه، 7 خرداد 1390
تخمین زمان مطالعه:
موارد بیشتر برای شما
طراحي پروژه هاي نرم افزاري با Microsoft Solutions Framework

طراحي پروژه هاي نرم افزاري با Microsoft Solutions Framework
طراحي پروژه هاي نرم افزاري با Microsoft Solutions Framework


 

نويسنده: امين صفائي




 
مدل پروسه يا Process Model راهنمايي براي فعاليت هاي پروژه است که چرخه زندگي نرم افزار را نشان مي دهد. دو مدل پروسه اي که سال ها است در توليد نرم افزار استفاده مي شوند عبارتند از: مدل هاي آبشاري يا Waterfall و مدل حلزوني يا Spiral. مدل آبشاري مدلي براي توليد نرم افزارهايي است که نيازهاي کاربران در آن به صورت مشخص تعيين شده است و هر فعاليت در پروژه بايد به اتمام برسد تا فعاليت ديگر شروع شود. اما در مدل حلزوني اين چنين نيست. در اين مدل که براي پروژه هاي کوچک نرم افزاري کاربرد دارد، گروه نرم افزاري نيازهاي کاربران را به صورت دقيق نمي دانند مشتري نرم افزار در تمامي مراحل ساخت نرم افزار در کنار گروه برنامه نويس قرار دارد و نيازهاي سيستم را مشخص مي کند.
در اين مقاله روش جديد مايکروسافت براي توليد پروژه هاي صنعتي نرم افزار به صورت کلي بررسي شده و فازهاي مدل پروسس آن به صورت اختصار توضيح داده خواهد شد.

آشنايي با MSF
 

فريم ورک راه حل مايکروسافت يا MSF (سرنام Microsoft Solutions Framework)، در واقع فعاليت ها و روند اجراي فعاليت هاي توليد نرم افزارهاي صنعتي و بزرگ را توضيح مي دهد و مي توان از آن براي توليد نرم افزارهاي کوچک تا صنعتي استفاده کرد. اين مدل پروسه به صورت فاز به فاز است و در هر فاز يک Milestone يا نقطه عطف وجود دارد. اين مدل تلفيقي از بهترين تکنيک هاي روش هاي آبشاري و حلزوني است که انعطاف زيادي دارد، به نحوي که مي توان از آن براي توليد نرم افزارهاي صنعتي يا حتي سايت هاي وب نيز استفاده کرد. شکل 1 اين مدل را نشان مي دهد که از پنج فاز تشکيل شده است و پايان هر فاز نقطه عطفي است که نشان گر توليد محصولي از آن فاز است.
شکل 2 فازها و نتايج هر فاز را نشان مي دهد.
اين فازها عبارتند از:
- فاز پيش بيني (Envisioning)
- فاز برنامه ريزي (Planning)
- فاز توليد نرم افزار (Development)
- فاز پايدارسازي (Stabilizing)
- فاز آماده سازي براي انتشار (Deploying)

گروه پروژه
 

در هر پروژه بزرگ نرم افزاري مقدار زيادي فعاليت انجام مي شود که هر کدام توسط يکي از اعضاي گروه پروژه انجام مي شود. در MSF شش نقش يا Role براي اجراي پروژه در نظر گرفته مي شود که هر کدام از نقش ها به صورت کامل مشخص شده و تعريف کار معيني دارد. اين نقش ها عبارتند از:
مدير توليد نرم افزار: مديريت ارتباطات با مشتري و جمع آوري نيازهاي مشتري به عهده اين نقش است. در حقيقت تمامي ارتباطات بازرگاني، فني و نشان دادن خروجي ها به عهده اين نقش است.
مدير برنامه نويسي: مدير پروسه توليد نرم افزار و مسئول ارائه خروجي مورد نياز مشتري (با توجه به محدوديت هاي پروژه) است.
گروه نرم افزاري: موظف به اجراي فني پروژه با توجه به نيازهاي مطرح شده مدير برنامه نويسي است.
گروه تست نرم افزار: موظف به تست نرم افزار براي بررسي صحت عملکرد و ميزان کيفيت است.
گروه ارزيابي کارايي نرم افزار: موظف به تحليل کارايي نرم افزار با توجه به نيازهاي مطرح شده مشتريان است.
مدير آماده سازي و انتشار: موظف است که مرحله آماده سازي و انتشار نرم افزار را در پلتفرمي که مشتري مناسب مي داند، انجام دهد.
البته افراد ديگري نيز در پروژه دخيل هستند، مانند اسپانسر پروژه، مشتري، کاربر نهايي سيستم و سازمان هاي وابسته به سيستم که بايد در نظر گرفته شوند. در پروژه هاي کوچک نرم افزاري يک شخص مي تواند چندين نقش را قبول کند، اما در پروژه هاي بزرگ و صنعتي اشخاص به ندرت مي توانند چندين نقش در يک پروژه داشته باشند. شکل 3 نقش هاي بالا را با در نظر گرفتن امکان انجام فعاليت هاي يک نقش توسط نقش ديگر نشان مي دهد. همان گونه که دراين شکل نيز مشخص شده است، مثلاً مدير توليد نرم افزار امکان انجام تست را روي نرم افزار دارد، اما اصلاً پيشنهاد نمي شود برنامه نويسي انجام دهد.

اصول انضباطي در MSF
 

در هر پروسه اي رعايت نظم در مديريت منابع، نقش ها و پروسس ها حرف اول را مي زند. از اين جهت MSF سه اصل مهم دارد که بايد رعايت شوند:
اصل اول: مديريت ريسک: MSF شش رويه منطقي براي مديريت ريسک هاي فعلي پروژه، برنامه ريزي و اجراي راهبردهاي مديريتي ريسک و مستندسازي دانش به شرح زير در پروژه تعريف کرده است:
1- شناسايي ريسک
2-آناليز ريسک هايي که شناسايي شده اند.
3- برنامه ريزي ريسک هايي که براي راهبردها، نقشه ها و اقدام هايي که در رابطه با آن ريسک ها بايد انجام شود، آناليز شده اند.
4- رديابي ريسک ها براي مانيتور کردن موقعيت هر ريسک و مستند سازي
5- کنترل ريسک و انجام عمليات رفع ريسک
6- يادگيري از ريسک و مستند سازي آموخته ها
اصل دوم: مديريت آمادگي گروه پروژه: MSF پروسه مديريت آمادگي دارد که به گروه پروژه کمک مي کند تا KSAهايي (سرنام Knowledge Skills and Abilities) را که در توليد و مديريت پروژه به آن نياز است، Develop کرد. اين رويه چهار مرحله، تعيين، بررسي، تغيير و ارزيابي دارد که در شکل 4 نشان داده شده است. در قسمت تعيين يا Define گروه پروژه سناريو و کارايي هاي هر عضو از گروه را مشخص مي کنند و با توجه به زمان پروژه و محدوديت هاي آن قابليت هاي نقش ها را تعيين مي کنند. در اين مرحله که به مرحله Assess يا بررسي معروف است، نقش ها و افرادي که مدير پروژه در مرحله تعيين مشخص کرده، بررسي مي شوند و اگر شخصي به دوره آموزشي نياز داشته باشد در اين مرحله مشخص مي شود. در مرحله بعدي که Change يا تغيير ناميده مي شود نقش هاي پروژه آموزش هاي لازم را مي بينند و در مرحله Evaluate يا ارزيابي موفقيت اين آموزش براي انجام نقش هايي که به آن ها داده شده است، انجام مي شود.
اصل سوم: مديريت پروژه: در اين اصل اصول مديريت پروژه که در زير به آن اشاره مي شود، بايد در پروژه نرم افزاري مبتني بر پروسه MSF اجرا شود:
- مديريت کيفيت و مستندسازي از تمامي مراحل پروژه
- تهيه برنامه زمان بندي براي تغييرات
- مديريت منابع پروژه
- آماده سازي بودجه و مديريت هزينه ها
- تعيين و مديريت حدود پروژه
- مديريت و کنترل تغييرات پروژه
اگرچه در MSF مدير پروژه به صورت مشخص نقشي در گروه پروژه ندارد، اما مدير برنامه نويسي مي تواند اين نقش را عهده دار شود.

طراحي پروژه هاي نرم افزاري با Microsoft Solutions Framework

فاز Envisioning
 

شايد بتوان اين فاز (که اولين فاز مدل MSF است) را فازي تعريف کرد که در آن شرح، اهداف و محدوديت هاي پروژه به صورت کلي مشخص مي شوند. در اين فاز افراد گروه پروژه انتخاب شده و مديريت پروژه برنامه کاري برنامه نويسان را با توجه به نيازهاي مشتريان مشخص مي کند. پس از اتمام اين فاز، همان گونه که در شکل 2 مشخص شده است، ديد کلي و محدوده پروژه در يک نقطه عطف پس از اين مرحله به دست آمده و مشتري و گروه پروژه يک محدوده و ديد کلي را تصويب کرده و جهت پروژه را تعيين مي کنند. اين مرحله از فعاليت هاي زير تشکيل مي شود:
تشکيل گروه پروژه: اين گروه از طرف مديريت عالي پروژه تشکيل مي شود.
تعيين ساختار پروژه: تعيين ساختار مديريتي براي گروه پروژه و استانداردهاي مديريت پروژه.
تعيين اهداف پروژه: آناليز مشکل بنگاه يا به اصطلاح Business Problem و موقعيت ها براي حل مشکل و پيدا کردن راه حل.
بررسي موقعيت فعلي: ارزيابي سيستم هاي موجود و تعيين راهکارهاي رسيدن به اهداف پروژه.
توليد بيانيه ديدگاه کلي پروژه: اين مورد حاوي بايدها و نبايدها در پروژه نرم افزاري است.
تعيين مشتريان، کاربران سيستم و تعيين نيازهاي مشتري
توليد اصول ساخت نرم افزار: که حاوي اصولي است که گروه نرم افزاري براي توليد نرم افزار به آن نياز دارد.
بررسي ريسک هاي پروژه و توليد نقشه ريسک هاي پروژه
توليد و ارائه مستندات فاز پيش بيني: اين مورد را بايد مدير گروه نرم افزاري و صاحب سيستم تاييد کرده باشد.
پس از اجراي فعاليت هاي بالا در اين فاز خروجي هاي زير به دست خواهد آمد:
- ديدگاه و محدوده پروژه
- جزوه اهداف کلي پروژه و معرفي مشکلات فعلي
- مروري بر سيستم فعلي
- نيازهاي کلي کاربران
- معرفي کاربران سيستم
- راهبرد طراحي پروژه
- ساختار پروژه
- توضيح نقش هاي گروه و فهرست اعضاي گروه
- ساختار پروژه و استانداردهايي که اعضاي گروه نرم افزاري بايد به آن عمل کنند.
- ارزيابي ريسک
- ارزيابي مقدماتي ريسک هاي پروژه
- فهرست ريسک هاي مقدماتي پروژه
- راهکارهايي براي رفع کردن ريسک هاي پروژه

فاز Planning
 

در اين فاز گروه پروژه تصميم مي گيرد که چه چيزي توليد کند و چگونه آن را به وجود آورد. اين فاز بيشتر به فاز آناليز و طراحي نرم افزار معروف است که شامل سه رده طراحي است: طراحي معنايي، منطقي و فيزيکي که به ترتيب در طراحي معنايي، مشکل از ديد مشتري ديده مي شود، در طراحي منطقي، مشکل از ديد گروه پروژه بررسي شده و در طراحي فيزيکي مشکل از ديد برنامه نويسان ديده شده و در اين مرحله فناوري ها، سرويس ها و... طراحي مي شوند.
فعاليت هاي اين فاز عبارتند از:
- ارائه طرح جامع از پروژه و معماري سيستم
- توليد جزوه نيازمندي هاي کاربردي مشتري که بايد حتماً در پايان پروژه تمامي نيازها توسط نرم افزار برطرف شده باشند.
- توليد نقشه هاي طراحي و برنامه زمان بندي براي اجراي پروژه
- توليد محيط هاي برنامه نويسي و تست و ديگر محيط هاي مورد نياز براي اجراي پروژه
پس از اجراي فعاليت هاي بالا در اين فاز خروجي هاي زير به دست خواهد آمد:
تعيين فناوري که در پروژه استفاده مي شود
تعيين نيازهاي کامل مشتري
تکميل نقشه مرجع پروژه و برنامه زمان بندي پروژه

طراحي پروژه هاي نرم افزاري با Microsoft Solutions Framework

فاز Development
 

در اين فاز برنامه نويسان به کدنويسي مشغول شده و سيستم را توليد مي کنند. فعاليت هاي عمده اين فاز به شرح زير است:
- شروع کدنويسي و چرخه توليد نرم افزار
- توليد Prototype سيستم
- توليد اجزاي سيستم
- ساختن سيستم به صورت کامل
پس از اجراي فعاليت هاي بالا در اين فاز خروجي هاي زير به دست خواهد آمد:
- سورس کدها و فايل هاي اجرايي
- اسکريپت ها و فايل هاي تنظيمي
- نيازهاي تکميل شده و اصلاح شده کاربران
- المان هاي پشتيبان کارايي
- تست هاي سيستم

فاز Stabilizing
 

در اين فاز که فاز پايدارسازي است، گروه نرم افزاري زيرسيستم ها را با يکديگر متصل کرده و تست هاي نهايي را روي کدهاي سيستم انجام مي دهد. در اين فاز فعاليت هاي زير انجام مي شود:
- تست هاي کامل روي اجزاي سيستم، پايگاه داده، زيرساختار، امنيت سيستم
- تست دسترسي پذيري و کارايي سيستم
- تست آزمايشي سيستم توسط کاربر
پس از اجراي فعاليت هاي بالا در اين فاز خروجي هاي زير به دست خواهد آمد:
-آخرين نسخه برنامه
- مستندات برنامه
- نتايج تست ها و ابزارهاي تست
- سورس کدها و فايل هاي اجرايي بدون اشکال

فاز Deploying
 

در اين مرحله از پروژه گروه برنامه را براي انتشار در محيط حقيقي کاربر آماده مي کند. در اين فاز سيستم به صورت کامل و قابل انتشار آماده شده و مستندات تکميلي مروري بر اجراي پروژه توسط اعضاي گروه نرم افزاري و مشتري انجام مي شود. خروجي اين فاز نيز شامل نسخه قابل انتشار نرم افزار، مستندات کامل سيستم، برنامه آموزشي و جزوات آموزشي براي يادگيري کاربران است. حتي مي توان در اين مرحله از مشتريان و کاربران سيستم نظرخواهي کرد و برگه هاي نظر خواهي را در مستندات پروژه قرار داد.
منبع:نشريه شبکه، ش 102




 



ارسال نظر
با تشکر، نظر شما پس از بررسی و تایید در سایت قرار خواهد گرفت.
متاسفانه در برقراری ارتباط خطایی رخ داده. لطفاً دوباره تلاش کنید.
مقالات مرتبط