دوشنبه 18 تیر‌ماه سال 1386

استانداردهای مهندسی نرم افزار بخش چهارم

بخش چهارم - معرفی استاندارد مستند‌‌سازی نرم‌‌افزار در سازمان NASA

1- مقدمه
استاندارد مستندسازی نرم‌‌افزار سازمان NASA برای پشتیبانی ازمستندسازی همه تولیدات نرم‌‌افزاری آن سازمان طراحی گردیده است. مهمترین هدف این استاندارد ارائه یک چارچوب و مدل برای ثبت اطلاعات اساسی مورد نیاز در طول چرخه ساخت و نگهداری سیستمهای نرم‌‌افزاری می‌‌باشد. از نظر مدیر پروژه، وقتی این استاندارد بصورت موفقیت‌‌آمیز بکار گرفته شده است که حداقل نیازهای مستندسازی بر طبق معیارهای زیر برآورده شده باشد :
• اهداف مستندسازی پروژه پوشش داده شده باشد
• توصیف واضحی از مدیریت، مهندسی و پروسه‌‌های تضمین و نرم‌‌افزار تولیدی ارائه شده باشد
• ثبات فرمت مستندات در کل پروژه حفظ شده باشد
• قابلیت دنبال کردن رویه‌‌های غیر استاندارد به نحوی بیان شده باشد
• قابلیت ردیابی مابین خروجیهایی که در هر فاز چرخه حیات تولید می‌‌شوند از طریق این استاندارد وجود داشته باشد
  
دوشنبه 18 تیر‌ماه سال 1386

استانداردهای مهندسی نرم افزار بخش سوم

بخش سوم معرفی استاندارد MIL-STD-498

- مقدمه
MIL-STD-498 به عنوان یک استاندارد ساخت و مستندسازی نرم‌‌افزار (Software Development and Documentation ) در 8 نوامبر 1994 توسط سازمان صنایع دفاع آمریکا (DOD) ارائه گردید.
این استاندارد با 4 هدف اصلی تولید گردید که عبارتند از :
• الحاق استاندارد DOD-STD-2167 A که برای ساخت نرم‌‌افزارهای توکار (Embeded ) در سیستم‌‌های دفاعی استفاده می‌‌شد با DOD-STD-7935 که برای اتوماسیون سیستم‌‌های اطلاعاتی بکار می‌‌رفت. الحاق دو استاندارد می‌‌توانست یک استاندارد واحد را برای تولید سیستم‌‌های نرم‌‌افزاری ارائه دهد.
• تأکید بر نقاط قوت در استفاده از این استانداردها
• افزایش سازگاری با دیگر استانداردهای DOD
• تهیه یک مبنا برای پیاده‌‌سازی استاندارد ISO/IEC 12207
مجموعه DOD-STD-498 شامل یک استاندارد و بیست و دو مورد(دDID (Data Item Descriptionمی‌‌باشد که هر DID یک جزء از پروسه ساخت را توصیف نموده و اقلام اطلاعاتی لازم آن جزء را ارائه می‌‌نماید.
admin is offline  
دوشنبه 18 تیر‌ماه سال 1386

استانداردهای مهندسی نرم افزار بخش دوم

بخش دوم اصول و تحولات استانداردهای مهندسی نرم‌‌افزار

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

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

استانداردهای مهندسی نرم‌‌افزار معمولاً کل چرخه حیات یک محصول نرم‌‌افزاری را پوشش می‌‌دهند که از توافقات اولیه بین کارفرما و پیمانکار شروع شده و تا بازنشستگی (Retirement) یک محصول ادامه می‌‌یابد. جدول شماره 1، یک تقسیم‌‌بندی از حوزه استانداردهای مهندسی نرم‌‌افزار ارائه می‌‌دهد گردد.
admin is offline  
دوشنبه 18 تیر‌ماه سال 1386

استانداردهای مهندسی نرم افزار

پیشگفتار

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


با توجه به تجارت بین‌‌الملل و نیاز به استفاده از استانداردهایی که مورد قبول کشورها باشد، مؤسسه بین‌‌المللی ISO با همکاری مؤسسه IEC با تشکیل گروههای اشتراکی (JTC1) اقدام به تدوین استانداردهای بین‌‌المللی برای تولید و مستندسازی محصولات نرم‌‌افزاری نمودند. استاندارد ISO/IEC 12207 که در سال 1995 ارائه شد توصیه‌‌هایی برای کل چرخه ساخت و حیات یک محصول نرم‌‌افزاری پیشنهاد کرده است. پس از آن انجمن IEEE که مهمترین انجمن حرفه‌‌ای بین‌‌المللی در تدوین استانداردهای مهندسی نرم‌‌افزار است به کمک مؤسسه EIA اقدام به بومی‌‌سازی استاندارد 12207 در جامعه امریکا نمود و نسخه بومی شده و بهتر توصیف شده آن تحت عنوان IEEE/EIA 12207 را ارائه نمود. نهایتاً DOD امریکا که چهار دهه است استانداردهای متعددی را برای تولید و مستندسازی محصولات نرم‌‌افزاری ارائه کرده است با پذیرش استاندارد IEEE/EIA 12207 ، استانداردهای قبلی خود یعنی J-STD-016-1995 و MIL-STD-498 را از رده خارج کرد. یادآوری می‌‌گردد سایر کشورهای پیشرفته مانند ژاپن، آلمان، انگلستان، کانادا، ... نیز اقدام به بومی‌‌سازی استاندارد ISO/IEC 12207 در کشور خود نموده‌‌اند.

این گزارش بصورت اجمالی استانداردهای مهندسی نرم‌‌افزار تدوین شده توسط DOD امریکا، سازمان NASA، آژانس فضایی اروپا، مؤسسه IEEE و مؤسسه ISO/IEC را تشریح می‌‌نماید. علاوه بر آن دو زبان PSL/PSA و UML را که به ترتیب برای مدلسازی محصولات نرم‌‌افزاری بر اساس روش ساختیافته و شی‌‌گرا هستند، و نهایتاً ابزارها و محیط‌‌های پشتیبانی تولید نرم‌‌افزار را معرفی می‌‌کند.
در بخش بعدی این طرح ملی، استاندارد ISO/IEC 12207 بعنوان استاندارد مرجع تولید و مستندسازی محصولات نرم‌‌افزاری انتخاب می‌‌گردد امّا سعی می‌‌شود با استفاده از استانداردهای MIL-STD-498 و IEEE/EIA 12207 و الزامات خاص کشور ایران، استاندارد مستندسازی محصولات نرم‌‌افزاری ایران تهیه و تدوین و در گزارش بعدی ارائه گردد.

بخش اول مقدمه

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

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


کم‌‌کم نیاز به تدوین متدولوژی، مدل ساخت، و تبعیت از آنها در پروسه ساخت نرم‌‌افزار بیشتر ملموس شد و در این چهاردهه متدولوژی‌‌های زیادی تدوین شد و با بکارگیری آنها، نرم‌‌افزارهای با کیفیت بیشتری تولید شد. این متدولوژی‌‌ها عموماً روی یکی از دو روش ساختیافته یا شی‌‌گرا پایه‌‌گذاری شده‌‌اند. متدولوژی‌‌های بر پایه روش ساختیافته در اواسط دهه 80 میلادی کاملاً به بلوغ خود رسیدند و متدولوژی‌‌های بر پایه شی‌‌گرایی نیز با طراحی زبان مدلسازی UML سریعتر به سمت وحدت و بلوغ خود نزدیک شدند. در همین راستا، مؤسساتی با بهره‌‌گیری از تجربیات حاصل از ده‌‌ها سال تولید نرم‌‌افزار اقدام به تدوین استانداردها و توصیه‌‌هایی برای تولید نرم‌‌افزار نمودند. مؤسساتی که در تدوین استانداردهای مورد نیاز صنعت نرم‌‌افزار پیشرو هستند عبارتند از مؤسسه DOD(1.Department of Defense) (بزرگترین کارفرمای متقاضی تولید نرم‌‌افزار)، سازمان NASA، آژانس فضایی اروپا، مؤسسه IEEE (بزرگترین انجمن حرفه‌‌ای در رشته IT ( 2. Information Technology))، و مؤسسه تدوین استاندارد ISO.

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

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

در این طرح ملی در نظر است توصیه‌‌هایی ارائه گردد تا حداقل مستندات لازم برای هر محصول نرم‌‌افزاری توسط تولید‌‌کنندگان نرم‌‌افزار تهیه گردد. در این گزارش سعی شده است شناختی از استانداردهای اصلی مهندسی نرم‌‌افزار با تکیه بر مستندسازی بصورت اجمالی ارائه گردد. در این راستا، استانداردهای مهندسی نرم‌‌افزار تدوین شده توسط DOD ، سازمان NASA ، آژانس فضایی اروپا، مؤسسه IEEE ، و مؤسسه ISO/IEC جمع‌‌آوری شده که هر یک از آنها بطور خلاصه معرفی می‌‌گردد.
با توجه به مطالب ارائه شده در بخش دوم این گزارش، استاندارد ISO/IEC 12207 بعنوان استاندارد مرجع تولید و مستندسازی سیستم‌‌های نرم‌‌افزاری انتخاب می‌‌گردد. امّا سعی می‌‌شود با استفاده از استانداردهای MIL-STD-498 ، J-STD-016-1995 و IEEE/EIA 12207 و الزامات خاص کشور ایران، استاندارد مستندسازی محصولات نرم‌‌افزاری ایران تهیه و در گزارش بعدی ارائه گردد.

در ادامه این گزارش، ابتداء اصول و تحولات استانداردهای مهندسی نرم‌‌افزار در بخش دوم شرح داده می‌‌شود. سپس به ترتیب، استانداردهای DOD ، سازمان NASA ، آژانس فضایی اروپا، مؤسسه ISO/IEC و مؤسسه IEEE هر یک در یک بخش مستقل بطور خلاصه معرفی می‌‌گردد. در بخش‌‌های هشتم و نهم گزارش، دو زبان PSL/PSA و UML که به ترتیب زبان‌‌های مدلسازی بر اساس روش ساختیافته و روش شی‌‌گراء هستند معرفی می‌‌گردد. این زبانها مخصوصاً UML می‌‌توانند تاثیرات خوبی بر استانداردسازی مستندات محصولات نرم‌‌افزاری بگذارند. نهایتاً در بخش دهم، ابزارها و محیط‌‌های پشتیبانی تولید نرم‌‌افزار و چند نمونه از آنها بصورت اجمالی معرفی می‌‌گردد.

دکتر سعید جلیلی. عضو هیئت علمی گروه مهندسی کامپیوتر - دانشگاه تربیت مدرس

چهارشنبه 13 تیر‌ماه سال 1386

خوش آمد گویی

با عرض سلام خدمت دوستان

این وبلاگ آماده کمک به شما عزیزان در رابطه با مهندسی نرم افزار می باشد .

سولات خود را در مورد SSADMو Rational Rose بگذارید تا پاسخ داده شود .

با تشکر مدیریت

( تعداد کل: 105 )
<<      1      ...      7      8      9      10      11