970 likes | 1.72k Views
مدیریت و کنترل پروژه های نرم افزاری (قسمت سوم). مهندس رضا فهیمی. Work Breakdown Structure (WBS ( ساختار شکست کار. چه فعالیت هایی باید در یک پروژه انجام شود؟
E N D
مدیریت و کنترل پروژه های نرم افزاری(قسمت سوم) مهندس رضا فهیمی
Work Breakdown Structure (WBS(ساختار شکست کار چه فعالیت هایی باید در یک پروژه انجام شود؟ WBS یک تقسیم بندی سلسله مراتبی و مبتنی بر تحویل شدنی هاست. برای کارهایی که قرار است تیم پروژه برای دستیابی به اهداف پروژه و تحقق تحویل شدنی های آن انجام دهد.
تحویل دادنی ها 1 - Project-Oriented Deliverables پشتیبانی از مدیریت پروژه و توسعه فرآیندهای IT در فن آوری اطلاعات - روش پروژه (ITPM) ابزارها : DDT(Dataflow Diagram), DSC(Use Case Diagram) 2 - Product-Oriented Deliverables دقیقا چه چیزی قرار است به مشتری تحویل داده شود؟ (محصول) ابزارها : DFD(Deliverable Definition Table ),UCS(DeliverableStructure Chart)
DDT , DSC Deliverable Definition Table (DDT) تمام تحویل دادنی های پروژه ها باید یک تعریف روشن و مختصر داشته باشند. Deliverable Structure Chart (DSC) پس ازمشخص شدن جدول تحویل دادنی ها DSCبرای تعریف بسته های کاری دقیق به منظور تحلیل زمان و بودجه تعریف می شود. که این را تعریف شکست کار می گویند.
Deliverable Structure Chart
DFD Context Dataflow Diagram (DFD) نمایش سطح بالا از یک سیستم که فرآیندهای سیستم را با دایره به تصویر کشیده و تمام ورودی و خروجی داده ها و اطلاعات بین سیستم و موجودیتهای خارج از آن را با مربع مشخص می سازد.
Context Data Flow Diagram
UCD Use Case Diagram (UCD) در این دیاگرام عملکردهای اصلی و ویژگی های سیستم و کاربران مختلف آن شناسائی می شود و همچنین سیستم های خارجی که با آنها ارتباط برقرار می شود نیز مشخص می شوند.
Use Case Diagram
قواعد اجباری در تنظیم ساختار شکست کار قاعده 100 درصد: • ساختار شکست کار باید جامع و مانع باشد یعنی تمام کارهای پروژه را در خود جای دهد (و کاری از قلم نیفتاده باشد) • این قاعده باید علاوه بر ساختار شکست کار در تمام سطوح و زیرمجموعه های آن نیز برقرار باشد. قاعده مبتنی بودن ساختار بر تحویل شدنی ها: • عناصر ساختار شکست کار تحویل شدنی های پروژه را نشان می دهد. • هر چه عنصری در ساختار شکست کار بالاتر باشد باید تحویل شدنی مهم تر و کلان تری در پروژه باشد.
تخمین پروژه (Project Estime) ایجاد یک مفهوم تقریبی از مقدار، تعداد، اندازه و موقعیت هر چیزی، بدون شمارش واقعی و یا اندازه گیری را تخمین می گویند. زمان , قیمت و هزینه – فایده سه عنصر اصلی قابل تخمین در پروژه ها می باشد. تخمین غیر واقعی زمان : اتلاف منابع و عدم تحویل بموقع پروژه تخمین غیر واقعی بودجه : عدم تخصیص بودجه کافی و یا افزایش بودجه ای که می تواند صرف پروژه های دیگر شود. عدم تخمین واقعی هزینه – فایده : عدم تصمیم گیری صحیح
تلاش و زمان برای تحقق یک تخمین صحیح بایستی دو عنصر تلاش و زمان را در نظر داشته باشیم: - تلاش : میزان کاری که برای اتمام یک فعالیت نیاز است. • زمان : شروع یک فعالیت تا پایان آن را دربر می گیرد. مثال : برای تحقق آنالیز و نوشتن بخشی از یک برنامه کاری نیازمند فعالیت دو نفر نیروی مجرب (20 ساعت کاری= تلاش) طی 5 روز(طول کشیدن زمان فعالیت) می باشیم.
دقت در تخمین پروژه دقت در تخمین با افزایش طول عمر پروژه افزایش می یابد در حقیقت با افزایش اطلاعات مربوط به پروژه دقت تخمین آن پروژه نیز افزایش می یابد. اطلاعات مورد نیاز (%) 100 50 دقت زمان 0 50 100
انواع تخمین تخمین کل پروژه : در ابتدای فاز شروع – میزان انحراف مجاز 25- تا 75% تخمین بودجه : در طول فاز برنامه ریزی میزان انحراف مجاز 10- تا 25% تخمین معین : در ابتدای هر بخش پروژه - میزان انحراف مجاز 5- تا 10%
روش های برآورد (تخمین) • سه روش معمول مورد استفاده در برآورد پروژه عبارتند از : • برآورد بالا به پایین • برآورد پایین به بالا • برآورد پارامتری
برآورد بالا به پایین روش بالا به پایین یا آنالوگ برای برآورد مقدار در مرحله شروع پروژه استفاده شده است. در این روش زمان واقعی، تلاش یا هزینه با استفاده از پروژه های قبلی مشابه به عنوان پایه ای برای برآورد صورت می گیرد. مراحل : 1 - شناسایی پروژه های قبلی که شبیه به پروژه حاضر باشد. 2 – تعیین ضریب مقایسه : ارزیابی پروژه که تا چه حد بزرگتر یا کوچکتر از پروژه مشابه قبلی است. (به عنوان مثال اگر پروژه حال حاضر 50 درصد بزرگتر از پروژه قبلی است پس ضریب مقایسه برار 1/5 خواهد بود) 3 – با توجه به ضریب مقایسه طول پروژه و هزینه های آن را محاسبه نمائید.
برآورد پایین به بالا این روش بسیار دقیق برآورد پروژه در ابتدای فاز برنامه ریزی پروژه تهیه و اعمال می شود. 1 - wbs پروژه تهیه می شود 2 – از فعالیت های سطح پائین wbs شروع و برآورد دقیق هر فعالیت انجام می شود و نهایتا جمع تجمعی برآوردها وضعیت برآورد پروژه را مشخص می نماید. اتفاق نظر و مشارکت فعال و همکاری کارشناسان متعهد پروژه برآوردهای پروژه را دقیق ترارائه خواهد داد. زمان بری زیاد در این روش از معایب روش پائین به بالا می باشد
برآورد پارامتری روش پارامتری که به آن روش مبتنی بر اشیاء نیز گفته می شود به منظور تهیه برآورد قطعی و همچنین برای تأئید روش برآورد پایین استفاده می شود. این روش از مفهوم ساده زیر تبعیت می کند: اگر میزان تلاش مورد نیاز برای انجام یک فعالیت خاص و برای یک شیء خاص شناخته شود، پس تلاش لازم برای انجام کلیه فعالیت ها و برای همه اشیاء مشخص می شود. مقدار تلاش برای یک فعالیت با استفاده ازاستاندارد قابل استخراج بوده و یا از تجربیات قبلی نیز مشخص می گردد.
روش های برآورد و تخمین سه روش و تکنیک جهت تهیه برآورد - روش متوسط برآورد وزنی • روش برآورد اجماع (دلفی) • روش نسبت فاز (روش مکاشفه ای)
روش متوسط برآورد وزنی (OPM) در روش متوسط برآورد وزنی برای هر فعالیت سه برآورد آماده می شود. برآورد اول: بهترین حالت (خوش بینانه = O) Optimistic برآورد دوم : بدترین حالت (بدبینانه = P) Pessimistic برآورد سوم : (متوسط = M). Median برای برآورد کلی از فرمول زیر استفاده می شود: برآورد هر فعالیت = (O + 4M + P ) / 6
روش برآورد اجماع • جلسه توجیهی برای اعضای تیم برآورد پروژه برگزار می شود. • لیستی از اجزای کارهای پروژه (WBS) به اعضای تیم فوق ارائه می شود. • هر عضو تیم برآورد به طور مستقل برای هر فعالیت برآورد های O، M و P ارائه می دهد. (خوش بینانه – بدبینانه – متعارف) • هر عضو تیم براساس فرضیات و ا ستانداردهای مورد نظر خود برآورد خود را برای اعضای دیگر تیم توضیح می دهد. • براین اساس برآوردهای تجدید نظر شده تولید می شود. • میانگین برآوردهای OPM محاسبه می شود. و نهایتا با استفاده از فرمول روش وزنی برآورد نهایی محاسبه می گردد.
روش نسبت فاز(مکاشفه ای) در این روش براساس زمان های اختصاص داده شده به هر فعالیت (برآورد) و منظم سازی آن ها به صورت بالا به پائین و یا بهره مندی از مفهوم این زمان ها در منظم سازی به صورت پائین به بالا به هر فاز پروژه درصدی از کل پروژه را نسبت می دهند. (این روش دقیق نمی باشد)
اندازه گیری نرم افزار • روش های اصلی اندازه گیری نرم افزار به شرح ذیل می باشد: • نقاط تحلیل تابعی • شمارش تعداد خط برنامه • روش پهنای باند دلفی • روش منطق فازی • روش پروب • روش استاندارد
LOC=Line Of Code تعداد خطوط برنامه در این برنامه چند خط کد نویسی وجود دارد؟ #define LOWER 0 /* lower limit of table */ #define UPPER 300 /* upper limit */ #define STEP 20 /* step size */ main () /* print a Fahrenheit-Celsius conversion table */ { int fahr; for (fahr=LOWER; fahr <= UPPER; fahr=fahr+STEP) printf(“%4d %6.1f\n”, fahr, (5.0/9.0)*(fahr-32)); }
LOC زبان سطح بالا = کد کمتر= LOC کمتر زبان سطح پائین= کد بیشتر= LOC بیشتر
تحلیل نقاط تابعیFP = Function Point با توجه به عدم دقت زیاد LOC تحلیل نقاط تابعی نرم افزار برای برآوردهای پروژه معرفی می شود: • این روش توسط آلن آلبرشت در شرکت آی بی ام طراحی و ارائه شد • گروه بین المللی کاربران تحلیل تابعی نیز از این روش استفاده می کند FP واحدی برای اندازه گیری سایز نرم افزار تخمین قیمت نرم افزار طراحی زمان بندی نرم افزار
اجزای نقطه تابعی • 5 جزء اصلی نقاط تابعی عبارتند از : • EI: External Input • EO: External Output • EQ: External Query • ILF: Internal Logic File • EIF: External Interface File
پارامترهای مورد نظر برای تحلیل نقاط تابعی
عوامل ضریب تعدیل ارزش VAF=Value Adjustment Factors • 14 عامل تعدیل ارزش به شرح ذیل می باشد: • ارتباط داده ای • پردازش داده های توزیع شده • کارآیی • پیکربندی • نرخ داده/گرفته (تراکنش) • ورودی داده های آنلاین • بهره وری کاربر نهایی مقدار هر کدام از عوامل فوق براساس درجه نفوذ (DI) تعیین می شود. FP = UFP * VAF • به روز رسانی آنلاین • پردازش مجتمع (پیچیده) • قابلیت استفاده مجدد • سهولت نصب و راه اندازی • سهولت عملیاتی • چندین سایت • تسهیل تغییر
COstructive COst Model (COCOMO) • مدل COCOMO پیش بینی تلاش و طول مدت پروژه بر اساس ورودی های مربوط به اندازه سیستم و در نتیجه و تعدادی از ”پارامترهای هزینه ای پروژه که بر بهره وری تاثیر می گذارد می باشد. این مدل در سه سطح : سازمانی / نیمه جدا شده / تعبیه شده تعریف می شود.
معادله تلاش : PM = C * (KDSI)n (ماه - نفر) PM = تعداد ماه نفر(=152 ساعت کاری ) • C = ثابت, • KDSI = 1000 * دستورالعمل های منبع تحویل شده(DSI) • n = ثابت معادله بهره وری : • (DSI) / (PM) معادله زمان بندی (برنامه): • TDEV = C * (PM)n (ماه) • TDEV = تعداد ماه هایی که برای توسعه نرم افزار در نظر گرفته می شود معادله میانگین تأمین نیرو: (PM) / (TDEV) (نیروهای تمام وقت نرم افزاری )
زمان بندی Scheduling هنگامی که وظایف (از WBS) و اندازه / تلاش (از برآورد) شناخته شد بایستی : • اهداف اولیه شامل : بهترین زمان ممکن حداقل هزینه کمترین ریسک • و اهداف ثانویه شامل : بررسی گزینه های جایگزین استفاده موثر از منابع ارتباطات مشخص گردد
تعاریف • اولویت: فعالیتی که بایستی قبل از فعالیت دیگر انجام گیرد. • همزمانی: فعالیت هایی که می تواند همزمان با فعالیت دیگر انجام شود(موازی) • اعلان و تاخیر زمانی - تاخیر بین فعالیت ها - زمان مورد نیاز قبل یا بعد از یک فعالیت • نقاط عطف milstones : - این نقاط دارای مدت زمان صفر می باشند - نقاط بحرانی را در زمان بندی شما نشان می دهند این نقاط به صورت مثلث معکوس یا الماس نمایش داده می شونداغلب برای نمایش نقطه "بررسی" و یا "تحویل” به کار می رود.
تعاریف/ادامه زودترین زمان پایان Early Finish date (EF) • در روش مسیر بحرانی، زودترین زمانی که ممکن است بخش های ناتمام یک فعالیت (یا پروژه) می تواند به پایان برسد • زودترین زمان شروع Early Start date (ES) در روش مسیر بحرانی، زودترین زمانی که ممکن است بخش های ناتمام یک فعالیت (یا پروژه) می تواند شروع شرود • دیرترین زمان پایان Late Finish date (LF) • در روش مسیر بحرانی دیرترین زمانی که ممکن است یک فعالیت بدون اینکه زمان پایان پروژه تأخیر داشته باشد پایان یابد. • دیرترین زمان شروع Late Start date (LS) • در روش مسیر بحرانی دیرترین زمانی که یک فعالیت بدون تأخیر در کل پروژه می تواند شروع شود.
زمان تأخیر زمانی که یک فعالیت می تواند تا شروع فعالیت بعدی تأخیر داشته باشد. TS = TL – TE • Ts =زمان کل تأخیر • TE =زودترین زمانی که یک فعالیت می تواند تحقق یابد • TL =دیرترین زمانی که یک پروژه می تواند تحقق یابد
تکنیک های زمان بندی • روش تجزیه و تحلیل ریاضی - نمودار شبکه : طراحی و توسعه در سال 1950 نمایش گرافیکی از کارهای لازم برای تکمیل یک پروژه به تصویر کشیدن جریانی از وظایف و روابط PERT= Program Evaluation and Review Technique روش ارزیابی و بازبینی CPM= Critical Path Method روش مسیر بحرانی GERT=Graphical Evaluation and ReviewTechniqueروش ارزیابی و بازبینی گرافیکی
روش bar chart • نمودار نقطه عطف • نمودار گانت