صفحه 1:
فصل
پرنامه ریزی پروژه CS
نرم افزار
صفحه 2:
۲ bo eo eee ee
*برنامه ريزي شامل تخمین مي باشد يعني تلاش شما براي
تعیین میزان پول ,کار لازم,تعداد منابع و مقدار زمان لازم
براي ايجاد يك سيستم يا محصول خاص مبتني بر نرم افزار.
اد كسس ا کر بر انساع عس ان
1ل نرم افزاري با استفاده از اطلاعات جمع آور 2 Biles
مشتريان و مهندسان نرم افزاري و داده هاي متريك نرم
1 ار حاصل از برويه هاي كذشنه اين كار )0-1 07
دهند.
*منطقي است قبل از شروع به ایجاد نرم افزار,براوردي از
هزینه انجام دهیم.
صفحه 3:
3
sions ۰ كارهابي را كه بايد ت بكبرند تراك 7155
ae شود و هزی,نلاش, نا براي هر يك ارها را تشان مي دهد؛
فهرستي از منایع لازم نیز آرایه مي
* مدیریت پروژه نرم افزار: ي با مجموعه فمالتهيي آغاز بر ۱۳۳
برنامه ريزي پروژه planningl ۳0 نآمیده مي شود.
* قبل از اینکه پ 23 و بتواند آغاز شود مد زمر رو لا زا هی بر
. قرار است | يردءمنايع لازم وزمان لازم از شروع تا آنتها را تخمین بزنند.
* پیچید؟ بروزه تاثير شديدي روي عدم دارد كه در برنامه ريزي نهفته
۴ پچيدگي و سخت بودن کار يك معیار نسبي است که تحت تاثیر آشنايي با کار
و تجربه گذشته است.
0١ | 2 یل برنامه كاربردي پیچیده تجارت الكترونيکي که اولین ۳۱۲
١ ی دهد باید آثرا بسیار مشکل بداند. اما تيم نرم أفزاري كه اين ۱۳5
براي ده بار انجام داده , آن را بسیار سهل مي داند. 1
ادا ترك پروژه عامل مهمي ديگري است که مي تواند بر دفت و کان۳٩۶
تخمین رد
* با افزايش اندازه يزركي وابستگي دروني میان عناصر مختلف نرم افزار به
الجورّعت رشد مي
صفحه 4:
اهداف اصلي طرح رری ودره
Grn” برنامه ريزي پروژه نرم افزاري عبارنست از مهيا كردن
جارجوبي كه مدير را قادر به ارائه تخمين منطقي از منابع
هزينه و زمانبندي
*اين تخمین ها در يك چارچوب زماني در آغاز پروژه صورت
گرفته و مرتبا با پيشروي پروژه بروز ميشوند.
*علاوه بر اين تخمین ها تلاش دارند که بهترین و بدترین مورد
طرح ها را معین کنند تا نتیجه پروژه را بتوان محدود نمود.
صفحه 5:
دامنة ترم افزار 9
"اولين كار در برنامه ريزي يروزه عبارتست از تعيين دامنه آن.
*كاركرد و عملكرد مريوط به نرم افزار در طول مهندسي
سيستم بايد ارزيابي كردد كه غير مبهم و در سطوح مديريتي
و فني قابل درك باشد.كزارشي از اين دامنه بايد يبوست
شود.
دامنه نرم افزار اطلاعات و کنترل مورد پردازش , عملکرد,
کار,.محدودیتها رابط ها و قابلیت اطمینان را توصیف مي كند.
۴الزامات و قیود ae موجود در نرم افزار را بوسیله
سخت افزار خارجي يا حافظه موجود یا دیگر سيستمهاي
موجود شناسايي مي کنند.
صفحه 6:
دلیند نرب [فزلر(لداید)
*رایج ترين تكنيك مورد استفاده .براي برقزاري ۳
عبارتست از بر
*اولین مجموعه سئوالات آزاد روي مشتري متمرکز است.
*مثلا تحلیلگر ممکن است بپرسد
"جه كشي در يشت تقاضاي اين كار است؟
"جه كسي از اين راه حل استفاده ميكند؟
6
*مجموعه سئوالات دیگر تحلیلگر را قادر به شناخت بهتري از
و مشتري میکند.مثلا
*اين راه حل چه مشكلاتي را مورد خطاب قرار مي دهد؟
لت میتوانید محيطي را به من نشان دهید که در آن ۳۱
راه حل استفاده نشود؟
صفحه 7:
دامنه برم ار ۳۱ ۱
*مجموعه سئوالات آخري بر میزان تاثیر جلسه تاکید دارد و آن را
فوق پرسش مینامند و فهرست زیر پيشنهاد میشود :
لا سنوالات زيادي پرسیدم؟
*آیا سئوالات من با مسئله اي که مورد حل قرار داده اید مرتبط
اند؟
الات فوق پرسش کمي به تحرك اولیه مسئله کمل ۳۳۲
ای راکه براي ایجاد دامنه پروژه لازم است ایدار ۳
*بخش سئوال و جواب تنها بايد براي اولين برخورد استفاده شود
و سيس در قالب جلسه اي جايكزين أن شود.كه عناصر حل
مسئله مذاکره و مشخصات را مرتبط ميسازد.
صفحه 8:
ره
۰.. تعیین دامنه كافي نیست.وقتي دامنه فهمیده شد , تیم نرم
افزاري و دیگران باید مشخص سازند که با ابعاد روشن شده
آیا امکان کار وجود دارد يا خیر ؟ که اين خود قسمتي از
فرایند تخمین و برآاورد خواهد بود.
*عملي بودن نرم افزار داراي چهار بعد صرف است
*فن آوري
* مالي
*زمان
*منابع
صفحه 9:
منابع بروزة
© دومين كار در برنامه ريزي نرم افزاري تخمين منابع لازم براي
eae بوايد نرم افزار است.
*هر منبه داراي جهار مشخصه است: _
توصیف منبع , وضعیت دسترسي
آن موقع مورد نیاز است. مدت ز
ميشود.
ن. زمان تقويمي که در
ر گرفته
ابزارهاي سخت افزاري انرم افزاري
صفحه 10:
و
"كار تخمین را نا اواخر پروژه به تعویق بیندازیم.
*برآوردهار را بر پایه پروژه هايي قرار دهیم که هم اکنون
شدند.
کی تسبتاً ساده تفکيك براي ارائه اين برآوردها Pale
*از يك يا جند مدل سلسله مراتبی برای هزینه و تخمین پروژه
استفاده شود.
صفحه 11:
Oh 0
* خطوط كد ( (06وامتيازات كاريردى (6)به عنوان مقباسهاي توصيف شده در
الى ردت Dots ls! see le حساب کرد در طول کار پروژه به دو
1 ور استفاده قرار میگیرند:
۳۱| مغییر تخمینی که برای تعیین اندازه هر عنصر برم افزاری Gite ۳٩
5 مى شود.
5 وان متريك خط بايه كه از روي بروزه هاى قبلی جمع آوری ۰ ٩
clan ee تخفينى براق أراثة كزنيه ومیزان ne ۱9۳
مى شود.
060020 أو" ]فنون متمايزى از تخمين هستند.هردو داراى جند مك يس 01110
هستند .
© برنامه ریز پروژه با وضعیت محدود شده دامنه نرم افزارشروع کرده و از روی
آن تلاش می کند نرم افزار را به صورت توابعی ازمساله در بیاورد که بتوان هر
000 صورت مجزا برآورد کرد.06 او یرای هر تایعی تخمین ۱۳۰
oe
0000 برنامه ریز جز دیگزی را برای تعبین اندازه انتخاب می کند مثل کلا, ۳۶|
اشیا تغییرات یا فرایندهای تجارت تحت تاثیرقرار گرفته
صفحه 12:
* سپس متریک های بهره وری خط مبدا مانند(00/0۴0ایا-۲۳/۵۲۳
0 مخفف نفر-ماه)با متفییر برآورد مناسب بکار گرفته شده و
هزینه يا نیروی کار تابع به دست می آید
*فنون تخمین06 او از نظر جزئیات لازم برای تفکیک و هدف
تقسیم sri با هم متفاوتند
۳ ۵ به عنوان متغیر تخمین استفاده می شود رب تالا
ضروری است و اغلب از نطر جزئیات بررسی می شود.
*هر چه میزان تقسیم بندی بیشتر باشد این احتمال بیشتر است
که تخمین های منطقی دقیقتری از ۱0 ارائه شود.
۴ نورد تخمین های ۳۴ کار جدا سازی به صورت دیگری اس
گلا و بر مرکز تابع هر یک از مشخصه های دامنه اطلاعا ۳
ورودی ها خروجی ها فایلهای اطلاعاتی و...به علاوه 14 مقدار
٩ ببیدگی که در فصل 4 اشاره شد برآورده می ۳
صفحه 13:
*برنامه ریز بدون توجه به متغیر تخمین با برآورد یک سری
ای رای هر یک از تابع ها با مقدار دامته اطلاعاتى رو
می کند.
5 ا اشتفاده از اطلاعات تاربخی يا حدس برنامه ریز انرار؟
بزرگی هر تابع را به صورت خوشبینانه یا از روی بد بینی
تخمین می زند.
*میزان عدم قطعیت هنگامی مهیا می شود که دامنه ای از
اعدادمشخص شوند.سپس یک مقدار مورد انتظار یا aw
امتیازی محاسبه می شود.
#مقدار منتظره برای امتغير تخميئ (اندازه/ک,را می توان به
” |] بكلا قيانكين ارزيابى شده از تخمين هاا جور ١
(6028),دارای احتمال بالا(5۳۳)و تخمین بدبینانه
۳ )ارزيابى كرد .به 50655(
4Sm+Spess)/6+S=(Sopt
صفحه 14:
منالی از برآورد بیط (eve)
* به عنوان نمونه ای از فنون تخمین 00او۲,بسته نرم افزار باید در نظر بگیرید که
قرار است برای یک برنامه کاربردی طراحی با کمک کامپیوتر (0۵0)برای اجزای
مکانیکی تولید شود.
* بازنگری مشخصات سیستم نشانگر این است که نرم افزار قرار است روی یک
ایستگاه مهندسی اجرا شود و باید با محیطهای گرافیکی مختلف کامپیوتری از جمله
موس , صفحه نمایش دارای تفکیک پذیری بالا و چاپگر لیزری ارتباط برقرار کند
نرم افزار ۵0اطلاعات هندسی دو و سه بعدی مهندس را دریافت می کند.
مهندس با سیستم ارتباط برقرار کرده و ۵0را از طریق رابط کاربردی کنترل می
کند که مشخصات یک طراحی Luly متقابل ماشین - انسان را به خوبی نشان
میدهد .
* هم اطلاعات مهندسی و هم دیگر اطلاعات پشتیبان در پایگاه داده ای ۵0)حفظ
می شود.
* پیمانه های تحلیل و طراحی برای تولید خروجی لازم ارائه خواهند شد که روی یک
ی وسایل گراف دار ميشوند. وضعیت دامنه فوق , اقدام اولیه است بعنی
محدود نشده است .
* به طور مثال , قبل از تخمین زدن باید برنامه ریز تعبین کند که" مشخصه های
آطراخی خوب رابط متقابل انسان - ماشین "یعنی چه ؟
© یا اینکه اندازه و میزان پیچیدگی پایگاه داده ای ۵0باید چه باشد.
صفحه 15:
ر دستیابی به اهداف ,ما فرض we
پالایش بیشتری رخ داده و عملکرد ی نرم افزاری زیر
یی شده است :
(rope ae eee تس
1- تسهیلات کنترلی و رابط کاربر(6۳الا)
2- تحلیل هندسی دو بعدى (21038)
3- تحلیل هندسی سه بعدی (3DGA)
(DBM) wl wbl مدریت پایگاه -4
5- تسهیلات نمایشی گرافیک (CGDF) jiguolS
6- کارکرد کنترل دستگاه های (PCF) Guile
7- پیمانه های تحلیل (DAM) selb
صفحه 16:
رتیت مور تسیر مرا ربمت سس ایا
(Log)
ae
تعداد خطوط برآورد
شده برنامه
2300
5300
6800
3350
4950
2100
8400
فانكش.
تسهيلات كنترلى و رابط
(UICF) IS
(2DGA) sax 92 تحلیل هندسی
(3DGA) تحليل هندسى سه بعدى
)081/( مدريت بايكاه اطلاعاتى
تسهيلات نمايشى گرافیک
کامپیوتر(660۴)
کارکرد کنترل دستگاه های جانبی
(PCF)
پیمانه های تجلیل (DAM) 521 bo
صفحه 17:
منالی از برآوزد مبتی بر حطوط برنامه(6وبا)
"به دنبال تکنیک Jgaz7,LOC sly تخمین زننده در جدول 5-3
أمده است.
با استفاده از معادل : 4Sm-+Spess)/6
+S=(Sopt
* مقدار منتظره برای تابع هندسی سه بعدی 6800 می
شود .00اسایر تخمین ها به شیوه ای مشابه مشتق می شود
.با جمع بندی در ستون 06 اتخمینی برآورد 33150 خط کد
برای سیستم ارائه می شود.
صفحه 18:
منالی از برآورد عبت ار کارکردی FP))
*تفکیک سازی در مورد تخمین مبتنی بر ۲۴علاوه بر کارکردهای
نرم افزاری روی مقادیر دامنه اطلاعات نیز متمرکز می شود.
*بایادآوری جدول محاسبه امتیازات عملکردی که در شکل 4-5
آمده ,برنامه ریز پروژه ,ورودی ها ,خروجی
ها,درخواستها,فایلهاو رابطه های خارجی را در مورد نرم افزار
مین می زند.
8 ور اهداف این تخمین ,عامل ارزیابی پیچیدفی Reba
متوسط در نظر گرفته می شود .
صفحه 19:
*نهایتا میزان تخمین زده شده ۲۴به دست می آید:
* میانگین بهره وری سازمانی در مورد سیستم هایی ازاین نوع
می شود 6.5 ۲۳/۵۲۳۰ براساس دستمزد نیروی کار به میزان
0 دلار در ماه ,هزینه هر ۲0 تقریبا 1230دلار می
شود .بر اساس تخمین 106 و اطلاعات
هه ور ,هزینه تخمین زده پروژه 461000 دلار ر ۳
ر تخمینی 58 نفر در ماه است.
صفحه 20:
و دتار یر براررد شدد در سرزد دا
۱ ورن | شمارش | بدبينانه | متوس خوشبینا مقادیر و
3 برآوذد a) kk اطلاعاتى
las
ى
97 | 4 24 30 | 24 0 أتعداد ورودى ها
78 | 5 16 22 | 15 2 اتعداد خروجی ها
88 | 5 22 28 | 22 6 تعداد پرس و 35
ها
42 | 10 4 5 4 4 اتعداديرونده ها
15 | 7 2 3 2 2 آتعداد رابط های
خارجی
320 تعداد کل
صفحه 21:
برآورد مبتنی بر راكد
oi wh” تکنیک تخمین زدن یک پروژه عبارتست از مبنا قرار
دادن تخمین بر اساس شیوه فرایند.
* وقتی کارکردها و فعالتهای فرایندی اعلام شدند برنامه ریز
نیروی کاری را که (مثلا نفر-ماه)برای رسیدن به فرایند هر
11 نرم افزارى لازم است براوردمى كند (شكل 589
5)ميزان متوسط نيروى كار(هزينه/واحد نيروى كار)در نيروى
كار تخمین زده شده برای هر فرایند به کار گرفته می شود.
9 احتمال وجود دارد که میزان نیروی کاردر هر مورد متفاوت
*هزینه و نیروی کار برای هر عملیات و فرایند نرم افزاری به
عنوان آخرین مرحله استفاده می شود.
صفحه 22:
مثالى TE eee ۱
*به منظور تشریح استفاده از تخمین مبتنی بر فرایند نرم افزار
را در نظر می گیریم (مانند مثالهای قبل)
"به جدول 5-5 در اسلاید بعدی مراجعه شود.
*بر اساس میانگین نیروی کار به منظور 5000دلار در
ماه,هزینه تخمین زده کل پروژه 230000دلار بوده و نیروی
کار تخمینی نفر در ماه میباشد.اگر بخواهید میزان نیروی کار
با هر فرایند نرم افزاری يا مهندسی مرتبط شده و جداگانه
محاسبه می شود.
صفحه 23:
> ca a
* نروك تخمينى در ردداميه هاف نرم افزار 3jICAD
ile re 208 0
on از كل سه روش 53نفر -ماه است. حدا
تغییر از متور تخمین زده شده تقریا ۱۳13 ۳
*وقتی میزان سازگاری بٍ ع تخمين ar Ia اس ری
ی 5 ر متفاوت را آعلب می توان به يك يا
دود
1- دامثه يروزه به اندازه كافي شناخته نشده يا برنامه ريز
برداشت نادرستى از ان داشته است
2 کات بهبه وری مورد استفاده برای قنون تین Be
مسالم عر برنامه سب نیستند یا درست مورد استفاده
قرار نگرقته اند؛
صفحه 24:
eles aE 9 ساخنار
"یک مدل تخمینی عادی بااستفاده از تحلیل بازگشتی يا
رگرسیون بر روی اطلاعات جمع آوری شده از پروژه های
5 ,بدست می آید .
*ساختار کلی[مل(8دلواییتبه شکل زیراست: (۸۲94)
۴ (معادله 5-2)
۴ که درآن۸,8,6 ثابت بدست آمده به صورت تجربی هسنند ۴
نیروی کار برحسب نفر-ماه و 6۷متغیر تخمین می باشد
صفحه 25:
مدل کوکومو
*باری بوهوم در کتاب خود "اقتصاد مهندسی نرم افزار" یک
سری مدلهای تخمین نرم افزار معرفی میکند که دارای نام
کوکومو هستند(مدل هزینه ساختاری)
Be ار ار
ای ول در طول مراحل اولیه مهندسی نرم افزار ب- BIS
میرود.
*هنگامی که نمونه های اولیه رابط کاربر مدلسازی میشوند با
در نظر گرفتن رابطه متقابل سیستم و نرم افزار بر اورد
عملکرد و ارزیابی بلوغ فناوری که البته بسیار حجیم و عظیمند.
8 شلهاوليه طراحى
* وقتى بكار ميرود كه نياز منديها مشخص و معمارى مقدماتى
نرم افزار ايجاد شده است.
صفحه 26:
مدل مرحله آخر معماری
8 طول ساخت نرم افزار بکار میرود.نیازمند اطلاعات اندازه گیری
اك سه زنه از نظر آندرهبهعنوان بخ از a tal
شده اند:امتياز شى وامتياز كاركردى و خطوط كد
اه رس Pee
ene) سر ات میسن رشست وت رای برای
ساخت برنامه لازمند محاسبه میشود.هر مورد شی در سطوح پیچیدگی یکی
00 تكردهيتدى ميشود.در اصل بيجيدكى تابعى از ندز ۰ 2 9۳
لا تالت خادم/مخدوم است كه براى توليد صفحه يا كزارش لآرم 7007
تعداد دیدگاهها با بخش ها بعنوان بخشی از صفحه با گزارش ارایه شده آند.
* "امتياز جديد شى":
(NOP=(object points)(100-%reuse)/100 *
* برای بدست آوردن تخمین نیروی کار بر اساس مقداربالا باید
وری" را بدست آورد:
PROD=NOP/person-month *
* "تخمین نیروی کار پروژه ":
estimated effort=NOP/PROD *
میزان بهره
صفحه 27:
۱۱:۵3 تا ore ene ey
10
وزن پیچیدگی
متوسط
2
ساده
نوع
نمايشكر
گزارش
مولفه
صفحه 28:
eer C es toe ا
اشبا[80196]
خيلى بالا | بالا | متوسط | کم | خیلی کم | قابلیت /تجربه
محیط
o+¢:(PROD) 4 7 13 25 50
وری
صفحه 29:
معادلة نرم افرار,
معادلهنرم افزاریک مدل ديناميى جند متغيره است كه توزيع
نيروى معينى را در طول حيات يروزه توليد نرم افزار
فرض ميكيرد.
ول تخمینی:
28> م ال ve oe
۴ < مدنپروژه به سالیا ما
Jole B=" مهارتهای
تن هرد وریکه منعکسک ننده موارد زیر است
جح کلی فرایند و شیوه های مدیریتی
لا ۶ عقباسی که نسبت به آن روشهای و ۳۳
Cam میت وند.
انهای برنا ی مورد استفاده.
“ae محیط نرم افزا
*- مهارتها و تجربه تیم نرم افزاری .
*- پیچیدگی برنامه کاربردی .
صفحه 30:
معادله نرم افزاری دارای دو پارامتر مستقل است :
-تخمینی از (LOC) ojlail
*-نشانگری از مدت پروژه به ماهها یا سالهای تقویمی .
*حد اقل زمان تولید :
tain > 6Mont ۳ 20141100 را
F=186¢ E>20
صفحه 31:
تصمیم گیری سناخت /خرید
”در حوزه هاى متعددى از برنامه هلي كاربردى مقرون نه صرقم
تر است که sly تولید ترم افزار کامپیوتر آن را خریداری
*مدیران مهندسی نرم افزآر با تصمیم گیری در خرید یا
مواجه هستند که میتواند با چند گزینه در مورد خرید پیچیده تر
شود:
سکن آست نرم افزار بصورت آماده خریداری شود"
sljzl -2° افزاری بت "با تجربه کامل"یا لبا تجربه
{aos ee صلاح شده و بکپار ۶ ۳۳ نیازها
ا أورده سازند.
1 ممکن | افزار توسط ببمانكارى خارج از سازما
طبق سقارش ساخله هده باشد ۳ ee
ازد.
صفحه 32:
9 رد eae نرم افزاری گرانتر رهنمودهای زیر را میتوان
31 مشخصاتى برای کارکرد و عملکرد نرم افزار ما ۲۱۱۱۲۳
ات ادليه نا نوليد و تاريخ تحويل را میگوید.
9 الف سهیا چهار برنامه نموته انتكاب ميكتد 0005 POU!
soso jos Lek sly See
*- ب اجزای نرم افزاری قابل استفاده مجددی انتخاب میکند که
لت برناهت مورد نیاز شما را باری
40“ شبکه مقایسه ای تشکیل میدهد که نمايانكر مقايسه سر به
0 ات اضلی است.
۴ هر بسته نرم افزاری یا مولفه را بر اساس کیفیت محصول
له يشتيبانى ی ی مخصول و Mel
* 6- با سایر کاربران ترم افزار تماس گرفته نظراتشان را جویا
شود
صفحه 33:
ایجاد یک درخت تصمیم گیری ۲
"مراحل توصیف شده فوق را میتوان با استفاده از فنون آماری
در تصمیم گیری ارزیابی کرد.
هزینه مورد نظرح (مسیر احتمالی)*(هزینه مسیر تخمینی)
صفحه 34:
استفاده از منابع خارجی
" منابع خارجی از نظر مفهوم بسیار ساده هستند.کارهای
طراحی نرم افزار با شخص ثالثی قرارداد بسته میشوند که
این شخص کمترین هزینه و بالاترین کیفیت کار را انجام دهد.
*معمولا پس اندازهای هزینه ای با کاهش تعداد افراد مربوطه
به کار نرم افزاری حاصل میگردد که از آنها حمایت میکنند.از
جنبه منفی شرکت کنترل نرم افزاری را که به آن نیاز دارد از
دست ميدهد.
صفحه 35:
ارهای خود کار برآورد
ag S* بزارهای تخمین خودکا بسیاری وجود دارند اما همه
ن داده و همه شش عملکرد
oF ای
که sll es
۴*- اندازه بندی موارد قابل تحویل پروژه.
2°- انتخاب فعالیتهای پروژه.
۴ پیش بینی میزان کارکنان.
0 بینی نیروی کاری نرم افزار.
* 5- ييش بينى هزينه نرم افزار.
00 شي بینی جداول زمانی کار.
*معمولا تخمین های دقیق د یک پروژه | حد اقل د سه
.ىك دوق استقاذه ميكنتد با مقايسه و بررسى Bis
شده از فثون مختلف Mel برنامو تخمین دقیقتمی
بروذه نرم اقزارى هركز علم «قيقى نبست إمأ
0 ار ۱ ريخى خوب و فنون نظام مند است که
eee میزان دقت,راردر ان بهبود بخشند.