صفحه 1:
درس مهندسی نرمافزار ۲
فصل ۲۲
دکتر احمد عبداله زاده بارفروش
تهيه كننده : بويا جافريان
0 وا سر موه توق
صفحه 2:
صفحه 3:
اندازه كيري براي جه انجام ميشود؟
و
- شناسايي
كت
ی
- توسعه و بهبود
* امکان دستيابي به اهداف فوق با اندازه گيري
برآورده ميشود.
0110 ey 9
صفحه 4:
اندازه كيري براي جه انجام ميشود؟
* ارزيابي وضعیت پروژه جاري
7 ۹
٠ كشف موضوعات مشكل زا قبل از اينكه دجار
es ee ead)
* بهبود فرایند كاري یا وظایف
٠ ارزيابي توانايي تيم نرم افزار به منظور كنترل
BPS Teo) pe wegeatns
0000
صفحه 5:
اندازه كيري فرايند
* كارايي فرایند نرم افزار معمولاً به صورت غیر مستقیم اندازه
Breas
- براي اين منظور تعداد 000000008
- خروجيهايي که از فرایند مشتق ميشوند عبارتند از :
Oe eee ten bars ۱
* ©0616 هييكه توسط كاربراننهاييك زارشداده شده لند.
¢ ا لل نا
* ميزان كار نيروي انساني
eee Tee
ميزان هماهنكي با برنامه زماني
* اندازه گيري هاي دیگر ...
See 5) Been Ste eerie oa 2
يك فعالیت مهندسي نرمافزار نیز به دست ميآیند.
eee eee ea 9
صفحه 6:
توصيههايي براي استفاده از شاخصهاي فرایند
* در هنكام تفسير دادههاى شاخص از ©5615 0110017© و
sensivity ا استفاده كنيد.
به طور معمول؛ بازخورد هليى به افراد و تيموهاى جمع آورى كننده
اندازه گیریها و شاخصها ارسال نمایید.
* از شاخصها براى ارزيابى افراد استفاده ee
Cae a oem ال ا 0
شاخصقابى براى دستيابى به أهداف مشخص كنيد
* هرگز از شاخصها برای تهدید افراد یا تیمها استفاده نکنید.
* دادههای شاخص که مشخص کنیده مشکلی هستند نباید با دید
منفى لحاظ كردند. بلكه اين دادءها مشخصكننده فرصتهابى
براى بهبود فرايند هستند.
* از اطلاعات مربوط به يك شاخص خاص براى حذف ديكر
شاخصهاى مهم استفاده تكد
0110 ey 0
صفحه 7:
بهبود فرايند نرم افزار
000
سس
1 |
ae + ne اهداف بهبود
شاخص هاي فرایند
0110 ey
صفحه 8:
شاخص هاي فرايند
(Quality Related) ا
- بر کیفیت محصولات كاري و قابل تحویل تاکید دارد.
(Productivity Related) wsibbiy»
۱۳ Ie Le ew Tee om i
SQA داده هاي آماري ٠
ل
« كارايي Defect (Defect Removal ei)
Efficiency)
- انتشار خطاها از فعالیت هاي فرایند به فعالیتها
* استفاده مجدد از داده
۱ لل 6 eae
وه
0110 ey 0
صفحه 9:
20-6 پروژه
و
wo ۱۳ رم بری حوگرو از Oe
ريسك هاء مورد استفاده قرار مي:
* براي ارزياب Star he Green
استفاده قرار ا 6 باشد تغييرات
لازم براي بهبود كيفيت انجام ميشود.
٠ در هر يروه موارد زير بايد اندازه كيري شود:
وسيم : اندازه كيري منابع لازم براي انجام كار
err nO CED Bowe SEB RYERSS رت
كاري Orne افزار توليد شده اند.
SR Sag 9 بودن موارد
0110 ey 0
صفحه 10:
022
0 LLL Sy
تعداد خطاهاى كشف شده در هر ساعت بازبينى
0
لت
* تغييرات (تعداد) و ويزكىهاى آنها
SS as ا الي ال ل
Ce eee one (c een nae, 0
صفحه 11:
نرمال سازي شاخصها
* دادههاي نرمال شده براي اريزيابي فرايند و
محصول (و نه افراد) به كار ميروند :
- نرمال سازي مبتني بر ساير : رويكرد تعداد خط
كد
- نرمال سازي مبتني بر كاركرد : رويكرد
Function Point
0000 a
صفحه 12:
errors per KLOC (thousand lines of
code)
defects per KLOC
$ per LOC
pages of documentation per KLOC
errors per person-month
Errors per review hour
LOC per person-month
$ per page of documentation
0110 ey 06
صفحه 13:
انواع شاخصهاي مبتني بر 18101©ناا
errors per FP (thousand lines of code)
defects per FP
رتاه د
pages of documentation per FP
FP per person-month
0110 ey a
صفحه 14:
مقايسه 00 ] و م]
1000022000014 22
عن سفت رم
wr = ane
ee as al
ao م
oe @
وم هم
eo
9
«a 2 6
ae aa
6 as
يا 000 دده
صفحه 15:
مزاياي 0
صفحه 16:
9
٠ تعداد سناريوها (ع35) ع5لا ها)
عا د ل ا ل ا ۱2
ل ا ل ل كن
در ارتباط نیستند)
۱
كلاس كليدي (كلاس آناليز)
« تعداد زير سيستمها (مجموعه اي از كلاسها
که يك کارکرد قابل مشاهده براي كاربرنهايي
(sia. aleil LL
0110 ey 6
صفحه 17:
« تاكيد آن بر كيفيت محصولات ارائه شده است.
شامل اندازه كيري مدل آناليز ميشود.
شامل اندازه گيري پيچيدگي طراحي ميشود.
۳
- پيچيدگي معماري
- 52-6 ا
ل كك
اندازه كيري كارايي فرايند
Defect Removal Efficiency -
0110 ey 0
صفحه 18:
Defect Removal Efficiency
» ا تعداد 7017© هاي كشفشده قبل ان
تحويلمحصولبه كاربر نهاييلست
٠ نا تعداد 06176601 هايكشفشدم يساز
تحویلمحصولبه کاربر نهايي
0110 ey 06
شاخص هاي فرايند و پروژه
درس مهندسي نرمافزار 2
فصل 22
دكتر احمد عبداله زاده بارفروش
تهيه كننده :پويا جافريان
1
Artificial Intelligent Systems Laboratory
ميكند:
يك مدير خوب موارد زير را اندازه گيري
شاخص هاي فرايند
شاخص هاي پروژه
اندازه گيري بر چه مبنايي انجام
مي شود ؟
size؟
function؟
اندازه گيري
شاخص هاي
محصول
2
فرايند
محصول
Artificial Intelligent Systems Laboratory
اندازه گيري براي چه انجام ميشود؟
• براي :
–
–
–
–
شناسايي
ارزيابي
پيش بيني
توسعه و بهبود
• امكان دستيابي به اهداف فوق با اندازه گيري
برآورده ميشود.
3
Artificial Intelligent Systems Laboratory
اندازه گيري براي چه انجام ميشود؟
• ارزيابي وضعيت پروژه جاري
• ردگيري ريسكهاي بالقوه
• كشف موضوعات مشكل زا قبل از اينكه دچار
وضعيت بحراني شوند.
• بهبود فرايند كاري يا وظايف
• ارزيابي توانايي تيم نرم افزار به منظور كنترل
كيفيت محصوالت كاري نرم افزار
4
Artificial Intelligent Systems Laboratory
اندازه گيري فرايند
• كارايي فرايند نرم افزار معموًال به صورت غير مسKKتقيم انKKدازه
گيري ميشود.
– براي اين منظور تعدادي شاخص برمبنKKاي خروجيهKKايي كKKه از فراينKKد
مشتق ميشوند تعيين ميگردند.
– خروجيهايي كه از فرايند مشتق ميشوند عبارتند از :
•
•
•
•
•
•
•
ميزان خطاهايي كه قبل از ارائه نرمافزار ،پوشيده ماندهاند.
Defectهايي كه توسط كاربران نهايي گزارش داده شده اند.
محصوالت كاري ارائه شده ()Productivity
ميزان كار نيروي انساني
ميزان كار بر اساس تاريخ
ميزان هماهنگي با برنامه زماني
اندازه گيري هاي ديگر ...
• همچنين ،شاخصهاي فرايند با اندازه گيري ويژگيهKKاي خKKاص
يك فعاليت مهندسي نرمافزار نيز به دست ميآيند.
5
Artificial Intelligent Systems Laboratory
توصيههايي براي استفاده از شاخصهاي فرايند
•
•
•
•
•
•
•
6
در هنگام تفس88ير دادههاي ش88اخص از common senseو
organizational sensivityاستفاده كنيد.
به طور معمول ،بازخورد هايي به افراد و تيمهاي جمع آوري كننده
اندازه گيريها و شاخصها ارسال نماييد.
شاخصها براي ارزيابي افراد استفاده نكنيد.
از
با همكاري كاركنان و تيمهاي اه88داف روش88ني را تع88يين كرده و
شاخصهايي براي دستيابي به اهداف مشخص كنيد.
هرگز از شاخصها براي تهديد افراد يا تيمها استفاده نكنيد.
دادههاي شاخص كه مشخص كننده مشكلي هستند نباي88د با دي88د
8تهايي
منفي لحاظ گردن88د .بلك88ه اين دادهها مش88خصكننده فرص 8
براي بهبود فرايند هستند.
از اطالعات مرب88وط ب88ه ي88ك ش88اخص خ88اص ب88راي ح88ذف ديگر
شاخصهاي مهم استفاده نكنيد.
Artificial Intelligent Systems Laboratory
بهبود فرايند نرم افزار
مدل فرايند
توصيه هايي براي بهبود فرايند
نرم افزار
7
اهداف بهبود
SPI
Artificial Intelligent Systems Laboratory
شاخص هاي فرايند
شاخص هاي فرايند
• مرتبط با كيفيت ()Quality Related
– بر كيفيت محصوالت كاري و قابل تحويل تاكيد دارد.
• مرتبط با توليد ()Productivity Related
– بر ميزان كار صرف شده براي توليد محصوالت كاري تاكيد دارد.
• داده هاي آماري SQA
– طبقه بندي خطاها و آناليز
• كارايي رفع Defect (Defect Removal
)Efficiency
– انتشار خطاها از فعاليت هاي فرايند به فعاليتها
• استفاده مجدد از داده
– تعداد اجزاء ( )Componentهاي توليد شده و درجه استفاده مجدد
از آنها
8
Artificial Intelligent Systems Laboratory
شاخصهاي پروژه
• براي حداقل نمودن برنامه توسKKعه نرمافKKزار ،بKKا ايجKKاد
اصKKالحات الزم بKKراي جلوگKKيري از تKKاخير و كKKاهش
ريسك ها ،مورد استفاده قرار ميگيرد.
• براي ارزيابي كيفيت محصKKول بKKه طKKور مKKداوم مKKورد
استفاده قرار گرفته و هنگامي كKKه الزم باشKKد تغيKKيرات
الزم براي بهبود كيفيت انجام ميشود.
• در هر پروژه موارد زير بايد اندازه گيري شود:
– وروديها :اندازه گيري منابع الزم براي انجام كار
– خروجيها :اندازه گيري موارد قابل تحويKKل و محصKKوالت
كاري كه در حين فرايند نرم افزار توليد شده اند.
– نتايج :اندازه گيريهKKايي كKKه نمايKKانگر مKKوثر بKKودن مKKوارد
قابل تحويل هستند.
9
Artificial Intelligent Systems Laboratory
انواع شاخصهاي پروژه
•
•
•
•
•
10
كار(/)Effortزمان براي هر فعاليت مهندسي نرم افزار
تعداد خطاهاي كشف شده در هر ساعت بازبيني
ماي88ل اس88تونهاي برنام88ه ري88زي ش88ده در مقاب88ل ماي88ل
استونهاي واقعي
ويژگيهاي آنها
تغييرات (تعداد) و
نرمافزار
فعاليتهاي مهندسي
توزيع كار بر روي
Artificial Intelligent Systems Laboratory
نرمال سازي شاخصها
• دادههKKاي نرمKKال شKKده بKKراي ارزيKKابي فراينKKد و
محصول (و نه افراد) به كار ميروند :
– نرمال سازي مبتني بر سKKاير :رويكKKرد تعKKداد خKKط
كد
– نرمKKKال سKKKازي مبتKKKني بKKKر كKKKاركرد :رويكKKKرد
Function Point
11
Artificial Intelligent Systems Laboratory
انواع شاخصهاي مبتني بر سايز
• errors per KLOC (thousand lines of
code)
• defects per KLOC
• $ per LOC
• pages of documentation per KLOC
• errors per person-month
• Errors per review hour
• LOC per person-month
• $ per page of documentation
Artificial Intelligent Systems Laboratory
12
Function انواع شاخصهاي مبتني بر
•
•
•
•
•
errors per FP (thousand lines of code)
defects per FP
$ per FP
pages of documentation per FP
FP per person-month
Artificial Intelligent Systems Laboratory
13
FP وLOC مقايسه
Pro g ra mmi n g
Lan g u ag e
Ad a
As sem b l er
C
C++
COBOL
Ja va
Ja va Scri p t
Perl
PL /1
Po werb u i l d er
SAS
Sm a l l t a l k
SQL
Vi s u a l Ba si c
L OC p er Fu n ct i o n p o i n t
a vg .
med i a n
low
high
154
337
162
66
315
109
53
77
63
58
60
78
32
40
26
40
47
77
53
63
67
31
41
19
37
42
104
91
33
29
205
694
704
178
14
77
42
22
11
33
10
7
16
400
75
263
105
49
55
11 0
158
Artificial Intelligent Systems Laboratory
14
FP مزاياي انتخاب
Artificial Intelligent Systems Laboratory
15
شاخصهاي شيء گرا
• تعداد سناريوها ( Use Caseها)
• تعداد كالسهاي پشتيبان (كه براي پيKKاده سKKازي
الزم هستند ولي به طور مستقيم با حوزه مسKKئله
در ارتباط نيستند)
• ميانگين تعداد كالسهKKاي پشKKتيبان بKKه ازاي هKKر
كالس كليدي (كالس آناليز)
• تعداد زيKKر سيسKKتمها (مجموعKKه اي از كالسهKKا
كه يك كاركرد قابل مشKKاهده بKKراي كاربرنهKKايي
را انجام ميدهند)
16
Artificial Intelligent Systems Laboratory
شاخصهاي محصول
• تاكيد آن بر كيفيت محصوالت ارائه شده است.
• شامل اندازه گيري مدل آناليز ميشود.
• شامل اندازه گيري پيچيدگي طراحي ميشود.
– پيچيدگي الگوريتم
– پيچيدگي معماري
– پيچيدگي جريان داده
• اندازه گيري كد
• اندازه گيري كارايي فرايند
– Defect Removal Efficiency
17
Artificial Intelligent Systems Laboratory
Defect Removal Efficiency
DRE = E /(E + D)
لKK هاي كشف شده قبل از تحويerror تعدادE •
.محصول به كاربر نهايي است
ده پس ازKKKف شKKKاي كشKKK هdefect دادKKK تعD •
.تحويل محصول به كاربر نهايي
Artificial Intelligent Systems Laboratory
18