|
مقدمهاي
بر
CMMI
و رويه ارزيابي آن
چکيده
CMM يک مدل پردازش
از رفتارها و اعمال کامل با يک نظم خاص است. CMMI سعي مي کند چندين CMM
را با هم ترکيب کند. نرم افزار قديمي CMM به طور کامل در CMMI به
کارگرفته شده است. CMMI،25 ناحيه پردازشي در فرآيند توسعه نرم افزار
تعيين مي کند که هر کدام مجموعهاي از اهداف و فعاليتها را مشخص نموده
و براي هر يک از مدل هاي مربوطه شاخص مرحلهاي و مداومي را ارائه
مينمايد. شاخص متوالي سطوح مهارت را براي نواحي پردازشي به کار مي
گيرد و شاخص مرحلهاي، يک سطح تکامل سراسري را براي فرآيند توسعه
سازماني به کار مي گيرد...
مقدمه
در توسعه نرم
افزار، سه مؤلفه اصلي کيفيت يک محصول را تعيين مي کنند: افرادي که
سيستم نرم افزار را توسعه ميدهند، تکنولوژي بکار گرفته شده و سازمان
فرآيند توسعه. بر خلاف دو مؤلفه اول - حدودا از 10 سال پيش - فرآيند
توسعه اخيرا با افزايش دائمي اندازه و پيچيدگي پروژه هاي نرم افزاري
خود را به تنهايي به عنوان عامل اصلي نشان داده است. دليل اين امر ممکن
است به خاطر اين حقيقت باشد که فرآيندهاي توسعه، اصولا در ارتباط با
مديريت پشتيباني پروژه هاي نرم افزاري است و در نتيجه نميتوانند نتايج
قابل فهم زيادي در قالب محصولات يا مشابه آن را ايجاد کنند...
مدل هاي فرآيند و توسعه فرآيند
از آنجائيکه فرآيندهاي توسعه، به دليل آنکه
تأثير زيادي بر کيفيت نرم افزار دارند، هر روز بيشتر مورد پذيرش قرار
مي گيرند، روش هاي گوناگوني براي مدلسازي فرآيند ها بوجود آمده و دائما
در حال رشد و نمو هستند. بر اساس چنين مدلهايي، بسياري از سازمان ها در
جستجوي ارزيابي فرآيندهاي خود هستند و کيفيت نرم افزار خود را با
ارتقاي اجراي فرآيند افزايش مي دهند. به اين کار "ارتقاي فرآيند"
گويند...
در اين مقاله به
يکي از اين دسته از مدلهاي پردازش كه بنام مدل بلوغ قابليت (CMM)
خوانده ميشود و مابعد آن CMM مجتمع (CMMI) نگاهي مياندازيم. تحت يک
توصيف کلي، تعامل بين CMMI و ISO/IEC 15504 را توصيف مي کنيم، که
عموما (اما نه اشتباها) به عنوان "SPICE" به آن اشاره مي شود.
همچنين ارزيابي CMM(I) را با دو مثال نشان خواهيم داد...
CMM توسط انستيتو
مهندسي نرم افزار (SEI) در دانشگاه Carnegie Mellon در اواخر دهه 1980
توسعه يافت. اين برنامه همراه با SEI همگي توسط دپارتمان دفاعي (DOD)
آمريکا پشتيباني ميشوند. بنابراين، CMM (و CMMI) تا حد مشخصي متناسب
با نيازها و مطابق با خصوصيات سازمانهاي دولتي ميباشند...
CMMI بر مبناي سه
مفهوم اصلي ايجاد مي شود: نواحي پردازشيي، اهداف و رفتارها.
CMMI ، 25 ناحيه
پردازشي در فرآيند توسعه را تعيين مي کند. هر ناحيه پردازشي
مجموعهاي ميباشد كه از اهداف خاص و مجموعه اي از رفتارهاي خاصي را
تعريف ميكند که براي رسيدن به هدف ها به کار مي روند...
نکته اوليه مورد
انتقاد به احتمال زياد ناشي از اين حقيقت است که SEI مورد حمايت وزارت
دفاع آمريکا قرار گرفت.سازمان هاي دولتي با خاصيت بزرگ بودن، داراي
ساختارهاي اداري، بوجود آمده از مفاد بالا ميباشند. (علاوه بر آن،
بسياري از انتقادات اغلب داراي حس سوءظن نسبت به "دولت" مي باشد.)
اغلب چنين خصوصياتي در سازمان هاي بزرگي نظير شرکت هاي چند مليتي يا
انحصاري ديده مي شوند.خصوصيت رايج ديگر در ميان چنين سازمان هايي اين
است که آنها اکثر با مشتريان تجاري سر و کار دارند – يعني ديگر شرکت ها
يا سازمان هاي بزرگ مشابه. در يک چنين مجموعه اي اغلب کمبود زمان براي
فروش هم وجود دارد...
نکته دوم مورد
انتقاد اين است که CMM(I) تنها به عنوان عاملي در توسعه نرم افزار، بر
روي فرآيند تكيه داشته و نيروي انساني و تکنولوژي را ناچيز شمرده است.
گاهي انتقاد مي شود که CMM(I) ، فرآيند ها را بيش از تمام موضوعات ديگر
ترويج مي کند (حتي بيش از برخي موضوعات اصلي نظير برنامه نويسي نرم
افزار) و اينکه اجراي CMM(I) هيچ تضميني براي موفقيت حتمي يک پروژه نرم
افزاري بهمراه ندارد...
در سال 2000،
SW-CMM به CMMI ارتقاء يافت. SEI ديگر مدل SW-CMM را پشتيباني
نميکند. همانطور که تاکنون اشاره شد، پروژه CMMI براي ايجاد چارچوبي
مناسب جهت بسط مدل هاي فعلي و آتي و ساخت مجموعههاي اوليه از مدل هاي
جامع شکل گرفت، چرا كه مدل هاي قديمي CMM :...
تفاوت هاي بين
CMMI و SW-CMM
بديهي است، مقايسه
CMMI و SW-CMM به طور کلي اهميتي ندارد، زيرا CMMI بيش از يک مدل
تکاملي براي توسعه نرم افزار است. اما مقايسه بر حسب مهندسي SW قابل
قبول است. بنابراين لازم است تا يک طرح مختصر از آنچه طي انتقال از
CMMI و SW-CMM تغيير کرده است را نشان دهيم...
مهندسي نرم افزار
(SW): مهندسي نرم افزار توسعه سيستم هاي نرم افزاري را پوشش ميدهد و
بر بکارگيري ايده هاي قابل سنجش، اصول و ديدگاههاي كيفي در جهت توسعه،
عملکرد و حفظ نرم افزار تاكيد دارد...
مهندسي سيستم ها
(SE): مهندسي سيستم با توسعه سيستم هاي کلي که ممکن است شامل نرم
افزار باشند و يا نباشند، سر و کار دارد. مهندسان سيستم بر انتقال نياز
ها و انتظارات مصرف کننده به راه حل محصولات و حمايت از اين راه حل ها
در خلال طول عمر آن محصول تأکيد دارند...
محصول مجتمع و
توسعه فرآيند (IPPD): محصول مجتمع و توسعه فرآيند يك ايده اصولي است که
به همکاري به موقع سهامداران مربوطه در طول عمر محصول دست مييابد تا
نياز ها، انتظارات و شرايط مشتري را بهتر برآورده کند...
منبعيابي تأمين
کننده (SS): مقررات يافتن منبع تأمين کننده براي پروژه هايي قابل
استفاده هستند که از تأمين کننده ها براي اجراي توابعي بهره ميجويد که
براي موفقيت پروژه حياتي هستند....

|