معرفی استانداردهای تولید و توسعه نرم‌افزار

1000 574 مشاور فناوری اطلاعات - IT consultant

۱- مقدمه

پروژه نظام‌مهندسی و استانداردهای تولید و توسعه نرم‌افزار (نماتن) – فاز ۲، در ادامه فاز اول این نظام و با هدف تهیه استانداردهای پایه‌ای تولید و توسعه نرم‌افزار، به سفارش دبیرخانه شورای عالی انفورماتیک کشور، اجرا شده است. موضوع فاز اول نماتن، تدوین استانداردهای ارجاع کار در پروژه‌های نرم‌افزاری بود و درنتیجه آن ۶ استاندارد زیر تدوین و ارائه گردیده است:

  • مشاوره پروژه‌های نرم‌افزاری
  • تهیه درخواست برای ارائه پیشنهاد (RFP)
  • نظارت بر پروژه‌های نرم‌افزاری
  • پیشنهاد (Proposal)
  • برگزاری مسابقه و ارزیابی پیشنهاد
  • پیمان‌نامه نرم‌افزاری

در ادامه این فاز، پروژه فاز ۲ نماتن با هدف تهیه استانداردهای پایه‌ای تولید و توسعه نرم‌افزار، یعنی استانداردهایی که پس از مرحله ارجاع کار و در مراحل اجرای پروژه‌های نرم‌افزاری باید مورداستفاده قرار گیرد، اجرا شده است. فرآورده‌های این پروژه، استانداردهای زیر را شامل می‌گردد:

  • استاندارد سند توصیف متدولوژی (MDD)
  • استاندارد طرح مدیریت پروژه (PMP)
  • استاندارد طرح تضمین کیفیت (QAP)
  • استاندارد طرح مدیریت پیکربندی (CMP)
  • استاندارد طرح تصدیق و صحه‌گذاری (V&V)
  • استاندارد طرح آزمون نرم‌افزار
  • استاندارد طرح انتقال و تحویل نرم‌افزار
  • استاندارد طرح ضمانت نرم‌افزار
  • استاندارد طرح نظارت

علاوه بر این استانداردها، دو سند تکمیلی زیر نیز تهیه و به مجموعه فرآورده‌های فاز ۲ افزوده شده است:

  • درآمدی بر استانداردهای تولید و توسعه نرم‌افزار (سند حاضر)
  • واژه‌نامه

باید توجه داشت که در فرآیند اجرای پروژه‌های نرم‌افزاری استانداردهای متعددی مورداستفاده قرار می‌گیرد که در این پروژه تهیه همه آن‌ها موردنظر نبوده است. به‌عبارت‌دیگر، فرآورده‌های فاز ۲ نماتن همه استانداردهای تولید و توسعه نرم‌افزار را در بر نمی‌گیرد و تنها برخی از این استانداردها که نسبت به بقیه پایه‌ای‌تر، عمومی‌تر و پرکاربردتر بوده‌اند، در این پروژه تدوین‌شده‌اند.

۱-۲- هدف

این سند به‌منظور معرفی اجمالی استانداردهای تولید و توسعه نرم‌افزار (فرآورده‌های فاز ۲ نماتن) و تشریح ارتباط این استانداردها با یکدیگر تهیه شده است. این سند تنها جنبه تشریحی دارد و نباید در تفسیر استانداردهای یادشده یا تشخیص تطابق با این استانداردها، مورد استناد قرار گیرد.

۲-۲- مرور سند

پس‌ازاین مقدمه، در فصل ۲ اصولی که در تدوین استانداردهای فاز ۲ نماتن موردنظر بوده‌اند، به‌اختصار تشریح شده‌اند. در فصل ۳ هر یک از استانداردهای فاز ۲ به‌اجمال معرفی گردیده‌اند. ارتباط این استانداردها با یکدیگر نیز در فصل ۴ موردبحث قرار گرفته است.

۲- اصول راهنما

در تدوین استانداردهای فاز ۲ نماتن، از اصول کلی زیر تبعیت شده است:

۱-۲- عدم وابستگی به متدولوژی

توسعه نرم‌افزار فرآیندی است طولانی و پیچیده که از آغاز تا پایان، عناصر مختلفی در آن درگیر می‌شوند. پروژه‌های تولید نرم‌افزار به شکل وسیعی از منابع مالی، فنی و انسانی بهره جسته و در طول اجرای آن‌ها روش‌ها، فنون و ابزارهای متنوعی توسط مجریان بکار بسته می‌شود. بدیهی است که برنامه‌ریزی، مدیریت و راهبری موفقیت‌آمیز چنین پروژه‌هایی بدون تبعیت از یک متدولوژی مشخص و مدون، اگر غیرممکن نباشد، بسیار نامحتمل خواهد بود.

امروزه متدولوژی‌های شناخته‌شده‌ای درزمینه توسعه نرم‌افزارها طرح و ارائه‌شده‌اند که همه یا برخی از مراحل زیست چرخ توسعه نرم‌افزارها (SDLC) را پوشش می‌دهند. هر یک از این متدولوژی‌ها، الگوی مفهومی خاص خود را دارند و مجموعه‌ای از ابزارها، روش‌ها و مفاهیم را برای اجرای مرحله‌به‌مرحله پروژه‌های توسعه نرم‌افزار بکار می‌گیرند. طبیعی است که هر یک از این متدولوژی‌ها در بعضی زمینه‌های عملی کاربرد موفقیت‌آمیزتری داشته و مناسب‌تر می‌باشند. هرچند تنوع و تعدد متدولوژی‌های توسعه نرم‌افزار، انتخاب را برای گروه‌های تولیدکننده دشوار می‌سازد، اما در اصل ضرورت انتخاب یک متدولوژی مشخص برای اجرای پروژه‌های نرم‌افزاری، تردیدی نمی‌توان روا داشت.

یکی از اصول راهنما در تدوین استانداردهای فاز ۲ نماتن استقلال از متدولوژی بوده است. به این معنی که این استانداردها به‌گونه‌ای تنظیم و تدوین‌شده‌اند که کاربرد آن‌ها در عمل، منوط به تبعیت از یک متدولوژی خاص نگردد. هرچند در تدوین برخی از این استانداردها، پاره ای از روش‌های متداول و شناخته‌شده توسعه نرم‌افزار (مانند RUP و CDM اوراکل) موردمطالعه قرارگرفته‌اند، اما در کاربرد هیچ‌یک از استانداردهای فاز ۲ نماتن، محدودیتی ازنظر متدولوژی انتخابی برای اجرای پروژه وجود ندارد.

۲-۲- عدم وابستگی به اندازه

استانداردهای فاز ۲ نماتن به‌گونه‌ای تدوین‌شده‌اند که برای کاربرد آن‌ها، هیچ‌گونه محدودیتی ازنظر حجم و اندازه پروژه وجود نداشته باشد؛ به‌عبارت‌دیگر، هر ملاکی برای تعیین اندازه پروژه‌های نرم‌افزاری به کار رود، از این استانداردها به یکسان می‌توان در پروژه‌های کوچک، متوسط و بزرگ استفاده کرد.

۳-۲- مطابقت با استانداردهای جهانی

درزمینه مهندسی نرم‌افزار، مجموعه‌های متعددی از استانداردهای بین‌المللی تهیه و منتشر شده است که هریک مفروضات و دامنه کاربرد خاص خود را دارند. ازجمله معروف‌ترین این استانداردها می‌توان به نمونه‌های زیر اشاره کرد:

  • مجموعه استانداردهای مهندسی نرم‌افزار IEEE
  • مجموعه استانداردهای ISO/IEC
  • استانداردهای مهندسی نرم‌افزار آژانس فضایی اروپا

هرچند در تدوین استانداردهای فاز ۲ نماتن، تبعیت کامل از هیچ‌یک از این استانداردها موردنظر نبوده است، بااین‌وجود اکثر استانداردهای مرجع جهانی درزمینه مهندسی نرم‌افزار موردمطالعه قرارگرفته و از ویژگی‌های قابل اخذ و اقتباس آن‌ها استفاده شده است. در انتهای برخی از استانداردهای فاز ۲ نماتن، جداول مقایسه‌ای ارائه شده است که تطبیق مفاد پیشنهادی در این استانداردها را با برخی از استانداردهای مرجع نشان می‌دهد.

۴-۲- تطابق با شرایط داخلی

هرچند فرآیند توسعه نرم‌افزار یک فعالیت مهندسی است که اختصاصی به یک جامعه یا فرهنگ خاص ندارد، بااین‌وجود توجه به محدودیت‌ها و مفروضات اجتماعی و فرهنگی خاص هر جامعه در تدوین قواعد و ضوابطی که می‌باید در آن جامعه اجرا شود، ضرورتی اجتناب‌ناپذیر می‌نماید. به همین دلیل در تدوین استانداردهای فاز ۲ نماتن، ضمن مطالعه استانداردهای مرجع جهانی، با نظر به شرایط بومی و تجارب داخلی، تعدیلاتی در مفاد و محتوای استانداردها و همچنین نحوه ارائه آن‌ها به‌عمل‌آمده است.

۳- استانداردها

فرآورده‌های فاز ۲ نماتن مشتمل بر ۹ استاندارد زیر است:

۱-۳- استاندارد سند توصیف متدولوژی (MDD)

سند توصیف متدولوژی یکی از اصلی‌ترین اسناد پایه‌ای هر پروژه نرم‌افزاری است که در آن مدل فرآیند توسعه نرم‌افزار، مرحله‌بندی و تجزیه این فرآیند به مراحل کوچک‌تر و مشخصات هر مرحله، مطابق با متدولوژی منتخب برای اجرای پروژه تشریح می‌گردد. با توجه با ارجاعات متعددی که در سایر اسناد و طرح‌های مدیریتی و فنی پروژه به سند توصیف متدولوژی وجود دارد، ضرورت استانداردسازی قالب این سند آشکار می‌گردد. باید توجه داشت که استانداردسازی قالب سند توصیف متدولوژی پروژه‌های نرم‌افزاری به‌منزله استاندارد کردن متدولوژی مورداستفاده در این پروژه‌ها نیست و گزینش متدولوژی مناسب در هر پروژه، باید با توجه به عواملی ازجمله موضوع و هدف پروژه، حجم پروژه، حساسیت و اهمیت نتایج، استانداردهای سازمانی، طرح‌های بالادستی و … صورت گیرد.

تهیه MDD باید قبل از تهیه سایر اسناد و طرح‌های پروژه صورت گیرد. درصورتی‌که تدوین MDD با دقت و جامعیت کافی صورت گیرد، بسیاری از مطالب سایر طرح‌ها و اسناد پروژه را می‌توان به مطالب آن ارجاع داد.

۲-۳- استاندارد طرح مدیریت پروژه (PMP)

طرح مدیریت پروژه (PMP) سندی است که اصول، ضوابط و روش‌های مدیریت یک پروژه نرم‌افزاری را تعیین می‌کند. این طرح فرآیندهای فنی و مدیریتی پروژه را تعیین کرده و فعالیت‌های لازم جهت دستیابی به اهداف پروژه را مشخص می‌نماید.

هدف اصلی از تهیه PMP اطمینان از این نکته است که همه عناصر درگیر در پروژه دید واحدی از اهداف، مراحل، سازمان‌دهی و رویه‌های فنی و مدیریتی پروژه کسب کرده‌اند و تلاش همه این عناصر در جهت دستیابی به اهداف پروژه هماهنگ و همسو شده است.

طرح مدیریت پروژه، درواقع طرح جامع یک پروژه است، به این معنی که همه طرح‌ها و استانداردهای پروژه باید در آن مورداشاره و ارجاع قرار گیرد.

۳-۳- استاندارد طرح تضمین کیفیت (QAP)

منظور از تضمین کیفیت (QA) یک پروژه مجموعه فعالیت‌هایی است که برای اطمینان از تطابق نتایج و فرآورده‌های نهایی پروژه با خواسته‌های اولیه سفارش‌دهنده یا کارفرمای پروژه، باید در مدت اجرای پروژه انجام شود. طرح کیفیت پروژه (QAP) سندی است که سازمان، روش‌ها و برنامه تضمین کیفیت یک پروژه را تعیین می‌کند. این طرح همه فرآیندهای اصلی و پشتیبانی توسعه نرم‌افزار را پوشش می‌دهد.

طرح تضمین کیفیت به‌منظور تعیین روش‌ها، ضوابط و برنامه تضمین کیفیت پروژه تهیه می‌گردد و یکی از اسناد مهم و تأثیرگذار در روند اجرای پروژه است.

۴-۳- استاندارد طرح مدیریت پیکربندی (CMP)

طرح مدیریت پیکربندی به‌منظور مشخص کردن فعالیت‌های لازم در فرآیند مدیریت پیکربندی پروژه تهیه می‌شود. این طرح فعالیت‌های الزامی مدیریت پیکربندی پروژه را مشخص کرده و مسئولیت و چگونگی انجام هر یک را تعیین می‌نماید. همچنین نحوه ثبت، نسخه‌برداری و نگهداری سوابق پیکربندی ابزارها و فرآورده‌های پروژه در این طرح مشخص می‌شود.

۵-۳- استاندارد طرح تصدیق و صحه‌گذاری (V&V)

فرآیندهای تصدیق و صحه‌گذاری (V&V) از مهم‌ترین فرآیندهای پشتیبان توسعه نرم‌افزار است که اجرای صحیح و دقیق آن‌ها نقش عمده ای در تضمین کیفیت پروژه‌های نرم‌افزاری ایفا می‌کند. گام نخست در اجرای این فرآیندها، برنامه‌ریزی فعالیت‌های V&V است که نتیجه آن به شکل طرح تصدیق و صحه‌گذاری تدوین و ارائه می‌گردد. ازاین‌رو استانداردسازی قالب و محتوای این‌گونه طرح‌ها به‌منظور ارتقای کیفی پروژه‌های نرم‌افزاری، اقدامی ضروری است.

طرح تصدیق و صحه‌گذاری (V&V) به‌منظور مشخص نمودن فعالیت‌های لازم در طول اجرای پروژه برای حصول اطمینان از سازگاری فرآورده‌های هر مرحله از توسعه نرم‌افزار با ورودی‌های آن مرحله و همچنین بررسی تطابق فرآورده‌های هر مرحله با نیازهای اولیه کاربران تهیه می‌شود. همه طرح‌ها، مستندات، برنامه‌های اجرایی و پایگاه‌های اطلاعاتی که درنتیجه انجام فعالیت‌های توسعه نرم‌افزار تولیدشده و به کارفرما تحویل داده می‌شود، یا برای استفاده داخلی به‌عنوان فرآورده‌های میانی به کار می‌رود، مشمول فعالیت‌های V&V می‌باشند.

هرچند آزمون نرم‌افزار جزء فعالیت‌های تصدیق و صحه‌گذاری محسوب می‌گردد، به دلیل وجود استاندارد ویژه‌ای برای طرح‌های آزمون نرم‌افزار در مجموعه استانداردهای نماتن، توصیه می‌شود برای تهیه طرح‌های آزمون از استاندارد یادشده استفاده شود.

درصورتی‌که همه یا بخشی از محتوای طرح تصدیق و صحه‌گذاری در سایر اسناد پروژه (مانند QAP، MDD یا CMP) تشریح شده باشند، می‌توان بخش‌های موردنظر را صرفاً به اسناد مرتبط ارجاع داد و از تکرار آن مطالب در این طرح خودداری نمود.

۶-۳- استاندارد طرح آزمون نرم‌افزار

آزمون نرم‌افزار یکی از حساس‌ترین و مهم‌ترین فعالیت‌هایی است که در جریان پروژه‌های نرم‌افزاری باید اجرا شود. صحت و دقت فعالیت‌های آزمون نرم‌افزار مستقیماً در کیفیت نتایج این‌گونه پروژه‌ها مؤثر است، ازاین‌رو برنامه‌ریزی و اجرای صحیح آزمون نرم‌افزار می‌تواند نقش تعیین‌کننده‌ای در موفقیت یا شکست پروژه‌های نرم‌افزاری ایفا کند. مجریان و مدیران پروژه‌های نرم‌افزاری با بهره‌گیری از این استاندارد می‌توانند کیفیت برنامه‌ریزی و نتایج فعالیت‌های آزمون نرم‌افزار را در پروژه‌های خود ارتقا بخشند.

۷-۳- استاندارد طرح انتقال و تحویل نرم‌افزار

طرح‌های انتقال و تحویل نرم‌افزار به‌منظور برنامه‌ریزی فعالیت‌هایی که باید در مرحله انتقال نرم‌افزار صورت گیرد و با هدف تعیین سازمان، وظایف و فعالیت‌های این مرحله تهیه می‌شود و از این استاندارد می‌توان برای یکسان‌سازی قالب و محتوای این‌گونه طرح‌ها استفاده کرد.

۸-۳- استاندارد طرح ضمانت نرم‌افزار

طرح‌های ضمانت نرم‌افزار برای تعیین ضوابط و فعالیت‌های دوره ضمانت نرم‌افزار که پس از تحویل نرم‌افزار آغاز شده و تا پیش از اتمام تعهدات کارگزار ادامه دارد، تهیه می‌گردد و از این استاندارد می‌توان برای یکسان‌سازی این‌گونه طرح‌ها استفاده کرد.

۹-۳- استاندارد طرح نظارت

نظارت بر طرح‌های نرم‌افزاری که با هدف کسب اطمینان از انجام تعهدات متقابل کارفرما و کارگزار صورت می‌گیرد، چه توسط شخص حقیقی یا حقوقی ثالثی (غیر از عناصر کارفرما) صورت گیرد و چه توسط عناصر و کارکنان واجد صلاحیت کارفرما انجام شود، نیازمند طرحی است که در آن ضوابط و برنامه کار نظارت به‌روشنی و به‌دقت بیان شده باشد. این طرح باید پیش از آغاز عملیات اجرایی پروژه تهیه شده و در اختیار همه طرف‌های درگیر در پروژه قرار داده شود. استاندارد طرح نظارت، قالب و محتوای ضروری این‌گونه طرح‌ها را تشریح می‌کند.

۴- ارتباط استانداردها

ارتباط استانداردهای فاز ۲ نماتن، در نمودار زیر تشریح شده است:

namatan-standards

مجید باقری

سلام... من مجید باقری هستم! به سایت شخصی من خوش آمدید. در این سایت علاوه بر پیدا کردن پاسخ سوالات خود در حوزه فناوری اطلاعات، می توانید پرسش های خاص خود را نیز برای من ارسال نمائید. در این سایت شما می توانید سوابق علمی و تجربیات حرفه ای من را ببینید و با توانایی های فنی من آشنا شوید. این راهی است به سوی همکاری های بعدی …

همه مطالب ارسالی توسط: مجید باقری