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