بخشی از پاورپوینت
اسلاید 1 :
استاندارد تولید نرم افزارCMM :
اسلاید 2 :
فهرست مطالب
مقدمه
استاندارد تولید نرم افزار چیست؟
اهمیت استفاده از استانداردها
چند مثال از استانداردهای موجود
معرفی استاندارد CMM و تاریخچه ی آن
انواع CMM
سطوح CMM
مزایا و معایب
مراجع
سوالات
اسلاید 3 :
مقدمه
نرم افزار در چند دهه ی گذشته زندگی انسان ها را تحت تاثیر قرار داده است.
در حال حاضر نرم افزار دیگر محصولی از فرایند های خودسر و فعالیت های برنامه نویسی صرف نیست.
نرم افزار های مدرن با استفاده از تکنیک های خاصی مهندسی می شوند.
اسلاید 4 :
استاندارد تولید نرم افزار چیست؟
قراردادهایی شامل معیارهای تکنیکی هستند که این معیارها به عنوان قوانین و خطوط راهنما استفاده می شوند تا رسیدن به هدف را تضمین کنند.
اسلاید 5 :
اهمیت استفاده از استانداردها
تضمین کیفیت نرم افزار
افزایش بهره وری تیم پروژه
کاهش زمان چرخه ی توسعه
افزایش رقابت و سودآوری
افزایش روحیه توسعه دهندگان
اسلاید 6 :
چند مثال از استانداردهای مهم
Capability Maturity Model (CMM)
خانواده ی استانداردهای ISO
ISO 9000
ISO 9001
ISO 9126
ISO/IEC 15504 (SPICE)
اسلاید 7 :
معرفی استاندارد CMM و تاریخچه ی آن
استاندارد نرمافزار تدوين شده توسط دانشكده مهندسي نرمافزار دانشگاه كارنگي ملون آمريكا و مؤسسه SEI (Software Engineering Institute)
شروع توسعه ی اصلی مدل در سال 1986 همزمان با پیوستن هامفری به SEI
چارچوبي براي توصيف اجزاي كليدي يك فرآيند كارآمد جهت توليد نرمافزار
چارچوبی برای توصيف سير بهبود تكاملي از يك فرآيند ناكامل و نامنظم به يك فرآيند تكامل يافته و منظم
اسلاید 8 :
انواع CMM
اسلاید 9 :
سطوح CMM
CMM
سطح 1
مقدماتی
سطح2
تکرارپذير
سطح3
تعریف شده
سطح5
بهینه شده
سطح4
مدیریت شده
1- تمرکز بر فرآیند سازمان
2- تعریف فرآیند سازمان
3- برنامه آموزش
4- مدیریت ادغام نرم افزار
5- مهندسی محصول نرم افزار
6- هماهنگی بین گروهها
7- بازنگری همکاران
1- مدیریت نیازها
2- برنامه ریزی پروژه نرم افزار
3- پیگیری و نظارت پروژه
نرم افزاری
4- پیمانکاری فرعی نرم افزار
5- تضمین کیفیت نرم افزار
6- مدیریت پیکربندی نرم افزار
1- مدیریت فرآیند
به صورت کمی
2- مدیریت کیفیت
نرم افزار
1- مدیریت تغییر فرآیند
2- مدیریت تغییر فناوری
3- پیشگیری از نقص
فرآیندهای خلق الساعه
اسلاید 10 :
1. سطح مقدماتی
در این سطح، شیوه های معمول به ندرت به چشم می خورند.
موفقیت صرفا به مهارتها و تلاشهای کلیدی شخصی بستگی دارد.
مکانیزم سازماندهی شده ای برای تضمین موفقیت همه پروژه ها وجود ندارد.
بیشتر سازمانهای نرم افزاری در این سطح قرار دارند.
اسلاید 11 :
2. سطح تکرارپذیر
تکرار موفقیت های سابق در پروژه های نرم افزاری پیشین و تکرار نکردن اشتباهات قبلی.
حوزه های فرآیندهای کلیدی در مرحله دوم:
• مدیریت نیازمندی ها
• برنامهريزي پروژه
• پی گیری و نظارت پروژه
• مديريت پيمانكاران فرعي نرم افزاری
• تضمین کیفیت نرم افزار
• مدیریت پیکربندی نرم افزار
اسلاید 12 :
سطح تکرارپذیر (ادامه)
این سطح نیازمند سازمانی است که روش مدیریت پروژه را اجرا کرده و در تمام مراحل اجرای پروژه ها از این مشی پیروی کند.
SEI فقط 15 درصد از حوزه های تولید نرم افزار را در این سطح از رشدیافتگی ارزیابی کرده است.
اسلاید 13 :
3. سطح تعریف شده
برای سازمان، فعالیت های مهندسی و مدیریت فرآیند نرم افزار، در قالب یک فرآیند نرم افزاری، استاندارد سازی و یکپارچه سازی شده است.
علاوه بر موضوعات و مباحث مطرح شده در سطح دوم ، حوزه های کلیدی زیر را نیز شامل می شود:
تمرکز بر فعالیت های سازمان
تعريف فرايندهاي سازمان
برنامه آموزش
مدیریت یکپارچه نرم افزار
مهندسی محصول نرم افزاری
هماهنگی درون گروهی
ارزیابی توسط متخصصین
اسلاید 14 :
سطح تعریف شده (ادامه)
SEI فقط 8 درصد از حوزه های تولید نرم افزار را در این سطح از رشد یافتگی ارزیابی کرده است. شرکت مایکروسافت در سطح سوم از سطوح CMM طبقه بندی می شود.
اسلاید 15 :
4. سطح مدیریت شده
کیفیت کلی محصول و فرآیند نرم افزاری، بصورت کمیتی قابل فهم و کنترل باشد.حوزه های فرآیندهای کلیدی در سطح چهارم عبارتند از :
مدیریت کمی فرآیند
مدیریت کیفیت نرم افزار
SEI کمتر از یک درصد از حوزه های تولید نرم افزار را دراین سطح از رشدیافتگی ارزیابی کرده است. IBM در این سطح از CMM واقع است.
اسلاید 16 :
5. سطح بهینه شده
فرآیند پیوسته بهبود بوسیله بازخوردهای کمی از فرآیند و از طریق جهت دهی ایده ها و تکنولوژی های ابتکاری ممکن خواهد بود.
حوزه های فرآیندهای کلیدی در این سطح عبارتند از:
پیشگیری از خطاها
مدیریت تغییر فن آوری
مدیریت تغییرات فرآیند
اسلاید 17 :
زمان لازم برای پیاده سازی
3 تا 6 ماه تهیه مقدمات
6 تا 12 ماه پیاده سازی
3 ماه آماده سازی ارزیابی
12 ماه برای هر سطح جدید
اسلاید 18 :
آیا این استاندارد بدون عیب است؟
خیر! برخی پیاده سازی ها به جای فایده، آسیب می رسانند.
دوباره سازی کامل فرآیندها برای رسیدن به معیارهای مورد نظر به جای تطبیق هوشمندانه ی آنها
تمرکز بر روی فرآیند بیشتر به عنوان چوب استفاده می شود تا هویج!
تمرکز بر روی سازگاری و انعطاف پذیری به جای پیشرفت و بهبود
اسلاید 19 :
مزایا
میزان نقص ها کاهش می یابد.
تشخیص نقص ها زودتر اتفاق می افتد.
نیازمندی های کاربر مستند، کنترل و مدیریت می شود.
پیش بینی ها بهبود می یابند و دقیقتر می شوند.
مدیریت ریسک عملی است.
فرآیندهای توسعه همچنان چابک می مانند.
اسلاید 20 :
مزایا (ادامه)
بر اساس تحقیق Kevin Hyde و David Wilson در سال 2000
افزایش کیفیت چرخه ی کار
بهبود ارتباطات سازمان
توانایی جذب
حفظ و توسعه حرفه ای نرم افزار
انسجام بخشیدن به سازمان