برنامه ریزی پروژه نرم افزار
اسلاید 1: 5فصلبرنامه ریزی پروژه نرم افزار
اسلاید 2: برنامه ريزي پروژه نرم افزاري چيست؟ برنامه ريزي شامل تخمين مي باشد يعني تلاش شما براي تعيين ميزان پول ،كار لازم،تعداد منابع و مقدار زمان لازم براي ايجاد يك سيستم يا محصول خاص مبتني بر نرم افزار.چه كسي اين كار را انجام مي دهد؟مديران نرم افزاري با استفاده از اطلاعات جمع آوري شده از مشتريان و مهندسان نرم افزاري و داده هاي متريك نرم افزاري حاصل از پروژه هاي گذشته اين كار را انجام مي دهند.منطقي است قبل از شروع به ايجاد نرم افزار،برآوردي از هزينه انجام دهيم.2
اسلاید 3: محصول نهايي جدول ساده اي كه جزييات كارهايي را كه بايد صورت بگيرند،توابعي كه بايد ايجاد شوند،و هزينه،تلاش،زمان لازم براي هر يك کارها را نشان مي دهد، فهرستي از منابع لازم نيز ارايه مي گردد.مديريت پروژه نرم افزاري با مجموعه فعاليتهايي آغاز مي شود كه جمعاً برنامه ريزي پروژه ياproject planning ناميده مي شود.قبل از اينكه پروژه بتواند آغاز شود مدير و تيم نرم افزاري بايد كاري را كه قرار است انجام گيرد،منابع لازم وزمان لازم از شروع تا انتها را تخمين بزنند.پيچيدگي پروژه تاثير شديدي روي عدم قطعيت دارد كه در برنامه ريزي نهفته است.پچيدگي و سخت بودن كار يك معيار نسبي است كه تحت تاثير آشنايي با كار و تجربه گذشته است.توليد كننده يك برنامه كاربردي پيچيده تجارت الكترونيكي كه اولين بار آن را انجام مي دهد بايد آنرا بسيار مشكل بداند، اما تيم نرم افزاري كه اين كار را براي ده بار انجام داده ، آن را بسيار سهل مي داند.اندازه بزرگي پروژه عامل مهمي ديگري است كه مي تواند بر دقت و كارآيي تخمين ها تاثير بگذارد.با افزايش اندازه بزرگي وابستگي دروني ميان عناصر مختلف نرم افزار به سرعت رشد مي كنند.3
اسلاید 4: اهداف اصلي طرح ريزي پروژههدف برنامه ريزي پروژه نرم افزاري عبارتست از مهيا كردن چارچوبي كه مدير را قادر به ارائه تخمين منطقي از منابع هزينه و زمانبندي كند.اين تخمين ها در يك چارچوب زماني در آغاز پروژه صورت گرفته و مرتباً با پيشروي پروژه بروز ميشوند.علاوه بر اين تخمين ها تلاش دارند كه بهترين و بدترين مورد طرح ها را معين كنند تا نتيجه پروژه را بتوان محدود نمود.4
اسلاید 5: دامنه نرم افزار اولين كار در برنامه ريزي پروژه عبارتست از تعيين دامنه آن.كاركرد و عملكرد مربوط به نرم افزار در طول مهندسي سيستم بايد ارزيابي گردد كه غير مبهم و در سطوح مديريتي و فني قابل درك باشد.گزارشي از اين دامنه بايد پيوست شود.دامنه نرم افزار اطلاعات و كنترل مورد پردازش ، عملكرد، كار،محدوديتها رابط ها و قابليت اطمينان را توصيف مي كند.الزامات و قيود ،محدوديتهاي موجود در نرم افزار را بوسيله سخت افزار خارجي يا حافظه موجود يا ديگر سيستمهاي موجود شناسايي مي كنند.5
اسلاید 6: دامنه نرم افزار(ادامه)رايج ترين تكنيك مورد استفاده براي برقراري ارتباط بين مشتري و توليدكننده و شروع فرآيند عبارتست از برگزاري يكك جلسه يا مصاحبه.اولين مجموعه سئوالات آزاد روي مشتري متمركز است.مثلاً تحليلگر ممكن است بپرسدچه كشي در پشت تقاضاي اين كار است؟چه كسي ا ز اين راه حل استفاده ميكند؟...مجموعه سئوالات ديگر تحليلگر را قادر به شناخت بهتري از مسئله و مشتري ميكند.مثلاًاين راه حل چه مشكلاتي را مورد خطاب قرار مي دهد؟آيا شما ميتوانيد محيطي را به من نشان دهيد كه در آن اين راه حل استفاده نشود؟6
اسلاید 7: دامنه نرم افزار(ادامه)مجموعه سئوالات آخري بر ميزان تاثير جلسه تاكيد دارد و آن را فوق پرسش مينامند و فهرست زير پيشنهاد ميشود :آيا من سئوالات زيادي پرسيدم؟آيا سئوالات من با مسئله اي كه مورد حل قرار داده ايد مرتبط اند؟...سئوالات فوق پرسش كمي به تحرك اوليه مسئله كمك كرده و ارتباطي را كه براي ايجاد دامنه پروژه لازم است ايجاد ميكند.بخش سئوال و جواب تنها بايد براي اولين برخورد استفاده شود و سپس در قالب جلسه اي جايگزين آن شود.كه عناصر حل مسئله مذاكره و مشخصات را مرتبط ميسازد.7
اسلاید 8: امكان سنجي ... تعيين دامنه كافي نيست.وقتي دامنه فهميده شد ، تيم نرم افزاري و ديگران بايد مشخص سازند كه با ابعاد روشن شده آيا امكان كار وجود دارد يا خير ؟ كه اين خود قسمتي از فرآيند تخمين و برآورد خواهد بود.عملي بودن نرم افزار داراي چهار بعد صرف استفن آوري ماليزمانمنابع8
اسلاید 9: منابع پروژه دومين كار در برنامه ريزي نرم افزاري تخمين منابع لازم براي نيل به كار توليد نرم افزار است.هر منبع داراي چهار مشخصه است:توصيف منبع ، وضعيت دسترسي به آن، زمان تقويمي كه در آن موقع مورد نياز است، مدت زماني كه منبع بكار گرفته ميشود.9افراداجزا ومولفه هاي نرم افزاري قابل استفاده مجددابزار هاي سخت افزاري /نرم افزاري
اسلاید 10: برآورد پروژه هاي نرم افزاريكار تخمين را تا اواخر پروژه به تعويق بيندازيم.برآوردهار را بر پايه پروژه هايي قرار دهيم كه هم اكنون تكميل شدند.از فنون نسبتاً ساده تفكيك براي ارائه اين برآوردها استفاده كنيم.از يك يا چند مدل سلسله مراتبی برای هزینه و تخمین پروژه استفاده شود.10
اسلاید 11: برآورد مبتنی بر مسالهخطوط کد ( (LOCوامتیازات کاربردی(FP)به عنوان مقیاسهای توصیف شده در فصل 4 که روی آنها می توان متریک را حساب کرد در طول کار پروژه به دو صورت مورد استفاده قرار میگیرند:1- به عنوان متغییر تخمینی که برای تعیین اندازه هر عنصر نرم افزاری استفاده می شود.2- به عنوان متریک خط پایه که از روی پروژه های قبلی جمع آوری شده و در ارتباط با متغییرهای تخمینی برای ارائه هزینه و میزان نیروی کار پروژه استفاده می شود.براوردLOCوFPفنون متمایزی از تخمین هستند.هردو دارای چندمشخصه مشترک هستند . برنامه ریز پروژه با وضعیت محدود شده دامنه نرم افزارشروع کرده و از روی آن تلاش می کند نرم افزار را به صورت توابعی ازمساله در بیاورد که بتوان هر کدام را به صورت مجزا براورد کرد.LOCوFPبرای هر تابعی تخمین زده می شود. بعد برنامه ریز جز دیگری را برای تعیین اندازه انتخاب می کند مثل کلاسها یا اشیا تغییرات یا فرایندهای تجارت تحت تاثیرقرار گرفته .11
اسلاید 12: سپس متریک های بهره وری خط مبدا مانند(LOC/pmیاFP/pm-pmمخفف نفر-ماه)با متغییر برآورد مناسب بکار گرفته شده و هزینه یا نیروی کار تابع به دست می آیدفنون تخمینLOCوFP از نظر جزئیات لازم برای تفکیک و هدف تقسیم بندی با هم متفاوتندوقتی LOC به عنوان متغیر تخمین استفاده می شود تجزیه کاملا ضروری است و اغلب از نطر جزئیات بررسی می شود.هر چه میزان تقسیم بندی بیشتر باشد این احتمال بیشتر است که تخمین های منطقی دقیقتری از LOC ارائه شود.در مورد تخمین های FP کار جدا سازی به صورت دیگری است علاوه بر تمرکز تابع هر یک از مشخصه های دامنه اطلاعات یعنی ورودی ها خروجی ها فایلهای اطلاعاتی و...به علاوه 14 مقدار تطابق پیچیدگی که در فصل 4 اشاره شد برآورده می شود.12
اسلاید 13: برنامه ریز بدون توجه به متغیر تخمین با برآورد یک سری مقادیر برای هر یک از تابع ها یا مقدار دامنه اطلاعاتی شروع می کند. با استفاده از اطلاعات تاریخی یا حدس برنامه ریز اندازه بزرگی هر تابع را به صورت خوشبینانه یا از روی بد بینی تخمین می زند.میزان عدم قطعیت هنگامی مهیا می شود که دامنه ای از اعدادمشخص شوند.سپس یک مقدار مورد انتظار یا سه امتیازی محاسبه می شود.مقدار منتظره برای متغیر تخمینی (اندازه)S,را می توان به عنوان یک میانگین ارزیابی شده از تخمین های خوشینانه (Sopt),دارای احتمال بالا(Sm)و تخمین بدبینانه (Spess )ارزیابی کرد .به طور مثال: 4Sm+Spess)/6+S=(Sopt 13
اسلاید 14: مثالی از برآورد مبتنی بر خطوط برنامه(LOC) به عنوان نمونه ای از فنون تخمین LOCوFP,بسته نرم افزار باید در نظر بگیرید که قرار است برای یک برنامه کاربردی طراحی با کمک کامپیوتر (CAD)برای اجزای مکانیکی تولید شود.بازنگری مشخصات سیستم نشانگر این است که نرم افزار قرار است روی یک ایستگاه مهندسی اجرا شود و باید با محیطهای گرافیکی مختلف کامپیوتری از جمله موس , صفحه نمایش دارای تفکیک پذیری بالا و چاپگر لیزری ارتباط برقرار کند. نرم افزار CADاطلاعات هندسی دو و سه بعدی مهندس را دریافت می کند. مهندس با سیستم ارتباط برقرار کرده و CADرا از طریق رابط کاربردی کنترل می کند که مشخصات یک طراحی رابط متقابل ماشین – انسان را به خوبی نشان میدهد .هم اطلاعات مهندسی و هم دیگر اطلاعات پشتیبان در پایگاه داده ای CADحفظ می شود.پیمانه های تحلیل و طراحی برای تولید خروجی لازم ارائه خواهند شد که روی یک سری وسایل گرافیکی نمودار میشوند. وضعیت دامنه فوق , اقدام اولیه است یعنی محدود نشده است . به طور مثال , قبل از تخمین زدن باید برنامه ریز تعیین کند که مشخصه های طراحی خوب رابط متقابل انسان – ماشین یعنی چه ؟ یا اینکه اندازه و میزان پیچیدگی پایگاه داده ای CADباید چه باشد.14
اسلاید 15: مثالی از برآورد مبتنی بر خطوط برنامه(LOC)به منظور دستیابی به اهداف مدنظر ,ما فرض می کنیم که پالایش بیشتری رخ داده و عملکردهای نرم افزاری زیر شناسایی شده است :1- تسهیلات کنترلی و رابط کاربر(UICF)2- تحلیل هندسی دو بعدی (2DGA)3- تحلیل هندسی سه بعدی (3DGA)4- مدریت پایگاه اطلاعاتی (DBM)5- تسهیلات نمایشی گرافیک کامپیوتر(CGDF)6- کارکرد کنترل دستگاه های جانبی (PCF)7- پیمانه های تحلیل طراحی(DAM)15
اسلاید 16: جدول 3-5 برآورد و تخمین برای روش تعداد خطوط برنامه (LOC)16
اسلاید 17: مثالی از برآورد مبتنی بر خطوط برنامه(LOC)به دنبال تکنیک برای LOC,جدول تخمین زننده در جدول 3-5 آمده است. با استفاده از معادل 4Sm+Spess)/6 : +S=(Sopt مقدار منتظره برای تابع هندسی سه بعدی 6800 می شود .LOCسایر تخمین ها به شیوه ای مشابه مشتق می شود .با جمع بندی در ستون LOCتخمینی برآورد 33150 خط کد برای سیستم ارائه می شود.17
اسلاید 18: مثالی از برآورد مبتنی بر امتیاز کارکردی ((FPتفکیک سازی در مورد تخمین مبتنی بر FPعلاوه بر کارکردهای نرم افزاری روی مقادیر دامنه اطلاعات نیز متمرکز می شود.بایادآوری جدول محاسبه امتیازات عملکردی که در شکل 5-4 آمده ,برنامه ریز پروژه ,ورودی ها ,خروجی ها,درخواستها,فایلهاو رابطه های خارجی را در مورد نرم افزار CADتخمین می زند.در مورد اهداف این تخمین ,عامل ارزیابی پیچیدگی به طور متوسط در نظر گرفته می شود . 18
اسلاید 19: نهایتا میزان تخمین زده شده FPبه دست می آید: میانگین بهره وری سازمانی در مورد سیستم هایی ازاین نوع می شود 6.5 FP/pm براساس دستمزد نیروی کار به میزان 8000 دلار در ماه ,هزینه هر FP تقریبا 1230دلار می شود .بر اساس تخمین LOC و اطلاعات بهره وری ,هزینه تخمین زده پروژه 461000 دلار و نیروی کار تخمینی 58 نفر در ماه است.19
اسلاید 20: جدول 5-4 مقادیر برآورد شده در حوزه اطلاعات20
اسلاید 21: برآورد مبتنی بر فرایند رایج ترین تکنیک تخمین زدن یک پروژه عبارتست از مبنا قرار دادن تخمین بر اساس شیوه فرایند.وقتی کارکردها و فعالتهای فرایندی اعلام شدند برنامه ریز نیروی کاری را که (مثلا نفر-ماه)برای رسیدن به فرایند هر کارکرد نرم افزاری لازم است براوردمی کند (شکل 5-5)میزان متوسط نیروی کار(هزینه/واحد نیروی کار)در نیروی کار تخمین زده شده برای هر فرایند به کار گرفته می شود. این احتمال وجود دارد که میزان نیروی کاردر هر مورد متفاوت باشد.هزینه و نیروی کار برای هر عملیات و فرایند نرم افزاری به عنوان آخرین مرحله استفاده می شود.21
اسلاید 22: مثالی مبتنی بر فرایندبه منظور تشریح استفاده از تخمین مبتنی بر فرآیند نرم افزار CADرا در نظر می گیریم (مانند مثالهای قبل)به جدول 5-5 در اسلاید بعدی مراجعه شود.بر اساس میانگین نیروی کار به منظور 5000دلار در ماه,هزینه تخمین زده کل پروژه 230000دلار بوده و نیروی کار تخمینی نفر در ماه میباشد.اگر بخواهید میزان نیروی کار با هر فرایند نرم افزاری یا مهندسی مرتبط شده و جداگانه محاسبه می شود.22
اسلاید 23: مثالی مبتنی بر فرایندنیروی کار کل تخمینی در مورد دامنه های نرم افزاری CADاز حداقل 46 نفر در ماه تا حداکثر 58نفر می رسد.میانگین برآورد از کل سه روش 53نفر –ماه است. حداکثر میزان تغییر از متوسط تخمین زده شده تقریبا 13درصد است.وقتی میزان سازگاری بین تخمین ها ناچیز است چه اتفاقی رخ داده؟تخمین های بسیار متفاوت را اغلب می توان به یک یا دودلیل پیگیری نمود:1- دامنه پروژه به اندازه کافی شناخته نشده یا برنامه ریز برداشت نادرستی از آن داشته است2- اطلاعات بهره وری مورد استفاده برای فنون تخمین مبتنی بر مساله ,از نظر برنامه مناسب نیستند یا درست مورد استفاده قرار نگرفته اند.23
اسلاید 24: ساختار مدل های برآوردیک مدل تخمینی عادی بااستفاده از تحلیل بازگشتی یا رگرسیون بر روی اطلاعات جمع آوری شده از پروژه های قبلی ,بدست می آید .ساختار کلی چنین مدلهایی به شکل زیراست:{MAT94} (معادله 2-5) که درآنA,B,C ثابت بدست آمده به صورت تجربی هستند E نیروی کار برحسب نفر-ماه و evمتغیر تخمین می باشد24
اسلاید 25: مدل کوکومو باری بوهوم در کتاب خود اقتصاد مهندسی نرم افزار یک سری مدلهای تخمین نرم افزار معرفی میکند که دارای نام کوکومو هستند(مدل هزینه ساختاری)مدل ترکیبی کاربردیاین مدل در طول مراحل اولیه مهندسی نرم افزار به کار میرود.هنگامی که نمونه های اولیه رابط کاربر مدلسازی میشوند با در نظر گرفتن رابطه متقابل سیستم و نرم افزار بر اورد عملکرد و ارزیابی بلوغ فناوری که البته بسیار حجیم و عظیمند. مدل مرحله اولیه طراحیوقتی بکار میرود که نیاز مندیها مشخص و معماری مقدماتی نرم افزار ایجاد شده است.25
اسلاید 26: مدل مرحله آخر معماریدر طول ساخت نرم افزار بکار میرود.نیازمند اطلاعات اندازه گیری است.سه گزینه از نظر اندازه به عنوان بخشی از سلسله مراتب مدل مهیا شده اند:امتیاز شی وامتیاز کارکردی و خطوط کد منبع. امتیاز شی یک معیار نرم افزاری غیر مستقیم است که با استفاده از شمارش تعداد 1- صفات نمایش 2- گزارشات و3- اجزایی که احتمالا برای ساخت برنامه لازمند محاسبه میشود.هر مورد شی در سطوح پیچیدگی یکی از این سه گروهبندی میشود.در اصل پیچیدگی تابعی از تعداد و منبع جدول اطلاعات خادم/مخدوم است که برای تولید صفحه یا گزارش لازم بوده و تعداد دیدگاهها یا بخش ها بعنوان بخشی از صفحه یا گزارش ارایه شده اند. امتیاز جدید شی:NOP=(object points)(100-%reuse)/100)برای بدست آوردن تخمین نیروی کار بر اساس مقداربالا باید میزان بهره وری را بدست آورد:PROD=NOP/person-monthتخمین نیروی کار پروژه :estimated effort=NOP/PROD26
اسلاید 27: وزن پیچیدگی برای انواع اشیا[BOE96]27
اسلاید 28: نرخ های بهره وری برای امتیازات اشیا[BOE96]28
اسلاید 29: معادله نرم افزارمعادله نرم افزاریک مدل دینامیک چند متغیره است که توزیع نیروی کار معینی را در طول حیات پروژه تولید نرم افزار فرض میگیرد.مدل تخمینی: E= نیروی کاری فرد در ماه یا سالT = مدت پروژه به سال یا ماه= B عامل مهارتهای ویژهP = پارامتر بهره وری که منعکس کننده موارد زیر است- تکامل کلی فرایند و شیوه های مدیریتی- میزان و مقیاسی که نسبت به آن روشهای خوب مهندسی نرم افزاری استفاده میشوند.- سطح زبانهای برنامه نویسی مورد استفاده.- وضعیت محیط نرم افزاری .- مهارتها و تجربه تیم نرم افزاری .- پیچیدگی برنامه کاربردی .29
اسلاید 30: معادله نرم افزاری دارای دو پارامتر مستقل است :1-تخمینی از اندازه (LOC)2-نشانگری از مدت پروژه به ماهها یا سالهای تقویمی .حد اقل زمان تولید :30
اسلاید 31: تصمیم گیری ساخت /خریددر حوزه های متعددی از برنامه های کاربردی مقرون به صرفه تر است که بجای تولید نرم افزار کامپیوتر آن را خریداری کنیم .مدیران مهندسی نرم افزار با تصمیم گیری در خرید یا تولید مواجه هستند که میتواند با چند گزینه در مورد خرید پیچیده تر شود:1- ممکن است نرم افزار بصورت آماده خریداری شود.2- اجزای نرم افزاری بصورت با تجربه کاملیا با تجربه نسبیبدست آیند و سپس اصلاح شده و یکپارچه گردند تا نیازها را بر آورده سازند.3- ممکن است نرم افزار توسط پیمانکاری خارج از سازمان طبق سفارش ساخته شده باشد تا نیازهای خریدار را مرتفع سازد. 31
اسلاید 32: در مورد محصولات نرم افزاری گرانتر رهنمودهای زیر را میتوان بکار گرفت :1- مشخصاتی برای کارکرد و عملکرد نرم افزار مطلوب ارایه میدهد.2- هزینه اولیه تا تولید و تاریخ تحویل را میگوید.3- الف سه یا چهار برنامه نمونه انتخاب میکند که به بهترین نحو با مشخصه های شما جور میشود.3- ب اجزای نرم افزاری قابل استفاده مجددی انتخاب میکند که در ساخت برنامه مورد نیاز شما را یاری میکنند.4- شبکه مقایسه ای تشکیل میدهد که نمایانگر مقایسه سر به سر عملیات اصلی است.5- هر بسته نرم افزاری یا مولفه را بر اساس کیفیت محصول گذشته پشتیبانی فروشنده راهنمای محصول و... ارزیابی میکند.6- با سایر کاربران نرم افزار تماس گرفته نظراتشان را جویا میشود 32
اسلاید 33: ایجاد یک درخت تصمیم گیریمراحل توصیف شده فوق را میتوان با استفاده از فنون آماری در تصمیم گیری ارزیابی کرد. هزینه مورد نظر= (مسیر احتمالی)*(هزینه مسیر تخمینی) 33
اسلاید 34: استفاده از منابع خارجی منابع خارجی از نظر مفهوم بسیار ساده هستند.کارهای طراحی نرم افزار با شخص ثالثی قرارداد بسته میشوند که این شخص کمترین هزینه و بالاترین کیفیت کار را انجام دهد.معمولا پس اندازهای هزینه ای با کاهش تعداد افراد مربوطه به کار نرم افزاری حاصل میگردد که از آنها حمایت میکنند.از جنبه منفی شرکت کنترل نرم افزاری را که به آن نیاز دارد از دست میدهد. 34
اسلاید 35: ابزارهای خود کار برآورد گرچه ابزارهای تخمین خودکار بسیاری وجود دارند اما همه مشخصه های عمومی یکسانی نشان داده و همه شش عملکرد کلی زیر را اجرا میکنند:1- اندازه بندی موارد قابل تحویل پروژه.2- انتخاب فعالیتهای پروژه.3- پیش بینی میزان کارکنان.4- پیش بینی نیروی کاری نرم افزار.5- پیش بینی هزینه نرم افزار.6- پیش بینی جداول زمانی کار.معمولا تخمین های دقیق در یک پروژه از حد اقل دو تا سه تکنیک فوق استفاده میکنند با مقایسه و بررسی تخمینهای ارایه شده از فنون مختلف احتمالا برنامه ریز به تخمین دقیقتری میرسد.تخمین پروژه نرم افزاری هرگز علم دقیقی نیست اما ترکیبی ار اطلاعات تاریخی خوب و فنون نظام مند است که میتوانند میزان دقت را در آن بهبود بخشند. 35
نقد و بررسی ها
هیچ نظری برای این پاورپوینت نوشته نشده است.