Transcript CMM
تهیه کنندگان:
زهرا فهمی
پریسا مقدم
مقدمه
استاندارد تولید نرم افزار چیست؟
اهمیت استفاده از استانداردها
چند مثال از استانداردهای موجود
معرفی استاندارد CMMو تاریخچه ی آن
انواع CMM
سطوح CMM
مزایا و معایب
مراجع
سواالت
1
نرم افزار در چند دهه ی گذشته زندگی انسان ها را تحت تاثیر قرار داده است.
در حال حاضر نرم افزار دیگر محصولی از فرایند های خودسر و فعالیت های
برنامه نویس ی صرف نیست.
نرم افزار های مدرن با استفاده از تکنیک های خاص ی مهندس ی
شوند.
2
می
قراردادهایی شامل معیارهای تکنیکی هستند که این معیارها به عنوان قوانین
و خطوط راهنما استفاده می شوند تا رسیدن به هدف را تضمین کنند.
Process
3
تضمین کیفیت نرم افزار
افزایش بهره وری تیم پروژه
کاهش زمان چرخه ی توسعه
افزایش رقابت و سودآوری
افزایش روحیه توسعه دهندگان
4
Capability Maturity Model (CMM)
ISO خانواده ی استانداردهای
ISO 9000 o
ISO 9001 o
ISO 9126 o
ISO/IEC 15504 (SPICE)
5
استاندارد نرمافزار تدوين شده توسط دانشكده مهندس ي نرمافزار دانشگاه
كارنگي ملون آمريكا و مؤسسه Software Engineering ( SEI
)Institute
شروع توسعه ی اصلی مدل در سال 1986همزمان با پیوستن هامفری به
SEI
چا رچوبي براي توصيف اجزاي كليدي يك فرآيند كارآمد جهت توليد نرمافزار
سیر بهبود تكاملي از يك فرآيند ناكامل و نامنظم به يك
چارچوبی برای توصيف
فرآيند تكامل يافته و منظم
6
CMMI
CMM Integration
SW-CMM
CMM for Software
P-CMM
People CMM
SA-CMM
Software Acquisition CMM
SE-CMM
Systems Engineering CMM
IPD-CMM
Integrated Product Development
7
CMM
سطح 1
مقدماتی
سطح2
تکرارپذير
فرآیندهای خلق الساعه
-1مدیریت نیازها
-2برنامه ریزی پروژه نرم افزار
-3پیگیری و نظارت پروژه
نرم افزاری
-4پیمانکاری فرعی نرم افزار
-5تضمین کیفیت نرم افزار
-6مدیریت پیکربندی نرم افزار
8
سطح3
تعریف شده
-1تمرکز بر فرآیند سازمان
-2تعریف فرآیند سازمان
-3برنامه آموزش
-4مدیریت ادغام نرم افزار
-5مهندس ی محصول نرم افزار
-6هماهنگی بین گروهها
-7بازنگری همکاران
سطح4
مدیریت شده
-1مدیریت فرآیند
به صورت کمی
-2مدیریت کیفیت
نرم افزار
سطح5
بهینه شده
-1مدیریت تغییر فرآیند
-2مدیریت تغییر فناوری
-3پیشگیری از نقص
در این سطح ،شیوه های معمول به ندرت به چشم می خورند.
موفقیت صرفا به مهارتها و تالشهای کلیدی شخص ی بستگی دارد.
مکانیزم سازماندهی شده ای برای تضمین موفقیت همه پروژه ها وجود ندارد.
9
بیشتر سازمانهای نرم افزاری در این سطح قرار دارند.
تکرار موفقیت های سابق در پروژه های نرم افزاری پیشین و تکرار
نکردن اشتباهات قبلی.
حوزه های فرآیندهای کلیدی در مرحله دوم:
• مدیریت نیازمندی ها
• برنامهريزي پروژه
• پی گیری و نظارت پروژه
• مديريت پيمانكاران فرعي نرم افزاری
• تضمین کیفیت نرم افزار
• مدیریت پیکربندی نرم افزار
10
این سطح نیازمند سازمانی است که روش مدیریت پروژه را اجرا کرده و در
تمام مراحل اجرای پروژه ها از این مش ی پیروی کند.
SEIفقط 15درصد از حوزه های تولید نرم افزار را در این سطح از
رشدیافتگی ارزیابی کرده است.
11
نرم
برای سازمان ،فعالیت های مهندس ی و مدیریت فرآیند نرم افزار ،در قالب یک فرآیند
افزاری ،استاندارد سازی و یکپارچه سازی شده است.
عالوه بر موضوعات و مباحث مطرح شده در سطح دوم ،حوزه های کلیدی زیر را نیز شامل می
شود:
تمرکز بر فعالیت های سازمان
تعريف فرايندهاي سازمان
برنامه آموزش
مدیریت یکپارچه نرم افزار
ی
مهندس ی محصول نرم افزار
هماهنگی درون گروهی
ارزیابی توسط متخصصین
12
SEIفقط 8درصد از حوزه های تولید نرم افزار را در این سطح از رشد
سطوح
یافتگی ارزیابی کرده است .شرکت مایکروسافت در سطح سوم از
CMMطبقه بندی می شود.
13
کیفیت کلی محصول و فرآیند نرم افزاری ،بصورت کمیتی قابل فهم و کنترل
باشد.
حوزه های فرآیندهای کلیدی در سطح چهارم عبارتند از :
• مدیریت کمی فرآیند
• مدیریت کیفیت نرم افزار
SEIکمتر از یک درصد از حوزه های تولید نرم افزار را دراین سطح از
رشدیافتگی ارزیابی کرده استIBM .در این سطح از CMMواقع است.
14
فرآیند پیوسته بهبود بوسیله بازخوردهای کمی از فرآیند و از طریق جهت دهی
ایده ها و تکنولوژی های ابتکاری ممکن خواهد بود.
حوزه های فرآیندهای کلیدی در این سطح عبارتند از:
پیشگیری از خطاها
مدیریت تغییر فن آوری
مدیریت تغییرات فرآیند
15
3 تا 6ماه تهیه مقدمات
ی
6 تا 12ماه پیاده ساز
3 ماه آماده سازی ارزیابی
12 ماه برای هر سطح جدید
16
خیر! برخی پیاده سازی ها به جای فایده ،آسیب می رسانند.
دوباره سازی کامل فرآیندها برای رسیدن به معیارهای مورد نظر به جای
تطبیق هوشمندانه ی آنها
تمرکز بر روی فرآیند بیشتر به عنوان چوب استفاده می شود تا هویج!
تمرکز بر روی سازگاری و انعطاف پذیری به جای پیشرفت و بهبود
17
میزان نقص ها کاهش می یابد.
تشخیص نقص ها زودتر اتفاق می افتد.
نیازمندی های کاربر مستند ،کنترل و مدیریت می شود.
پیش بینی ها بهبود می یابند و دقیقتر می شوند.
مدیریت ریسک عملی است.
فرآیندهای توسعه همچنان چابک می مانند.
18
بر اساس تحقیق Kevin Hydeو David Wilsonدر سال 2000
افزایش کیفیت چرخه ی کار
بهبود ارتباطات سازمان
توانایی جذب
حفظ و توسعه حرفه ای نرم افزار
انسجام بخشیدن به سازمان
19
http://www.codeproject.com/KB/work/Process.aspx
http://www.codeproject.com/KB/architecture/Capability_M
aturity_Model.aspx
http://en.wikipedia.org/wiki/Capability_Maturity_Model
http://en.wikipedia.org/wiki/Software_development_proce
ss
http://kalkalkonon.mihanbb.com/thread-909-post1663.html#pid1663
20
دالیل استفاده از استاندارد در تولید نرم افزار را شرح دهید.
سطوح CMMرا نام ببرید و یک سطح را به اختصار توضیح دهید.
3 مورد از مزایای استاندارد CMMرا شرح دهید.
22