ارزیابی چالش های تضمین کیفیت نرم افزار و ارائه راهکار برای بهبود توسعه نرم افزار در محیط .Net – مطالعه موردی: برنامه های
چکیده
یکی از مسائل مورد توجه توسعه دهندگان نرم افزار، ارزیابی کیفیت نرم افزار و به تبع آن پرداختن به موضوع تعیین شاخص های موثر ارزیابی است. با توجه به چرخ حیات نرم افزار می توان گفت بررسی و ارزیابی کیفیت نرم افزار، فرآیندی است که باید طی یک چرخه صورت گیرد. در این پایان نامه، سعی بر آن است با معرفی نمونه ها و استانداردهای معروف موجود در حوزه ارزیابی کیفیت نرم افزار، آشنایی نسبی با پژوهش ها و کارهایی که تاکنون صورت گرفته، به دست آید. همچنین نمونه ای ابداعی که در جهت تحقیقات و پژوهش های صورت گرفته تدوین شده، معرفی خواهد شد که در آن با باز تعریف شاخص های کیفی، فرآیند ارزیابی نهایی محصولات نرم افزاری پژوهشی میسر می گردد.
واژه های کلیدی: تضمین کیفیت نرم افزار، تست نرم افزار، راهکار تضمین کیفیت .Net، ارزیابی کیفیت نرم افزار، روال توسعه نرم افزار
سابقه و ضرورت انجام تحقیق
تولید نرم افزارهای کاربردی روزبه رزو گسترش می یابد و لزوم به کارگیری روش ها و اصول مهندسی نرم افزار در مراحل توسعه، مدیریت و پشتیبانی آنها بیشتر نمود پیدا کند. کیفیت نرم افزار شاخص حیاتی برای تولید نرم افزارهای با کیفیت بالاست که ضمن بالا بردن بهره وری در تولید نرم افزارها، به ایجاد نرم افزارهای قدرتمند و شکست ناپذیر منجر می گردد.
سازمان های IEEE، ISO و سایر سازمان ها دامنه وسیعی از استانداردهای مهندسی نرم افزار و مستندات وابسته به آن را جمع آوری کرده اند. ممکن است سازمان مهندسی نرم افزار این استانداردها را داوطلبانه بپذیرد یا مشتری یا یک طرف ذینفع دیگر آن را الزامی کند. وظیفه تضمین کیفیت نرم افزار حصول اطمینان از رعایت استانداردهای پذیرفته شده و مطابقت تمامی محصولات کاری با این استانداردهاست (Nance, James D. Arthur and Richard E., 2000).
قبل از قرن 20 کنترل کیفیت فقط مسئولیت صنعتگری بود که محصول را می ساخت. با گذشت زمان و رواج فنون تولید انبوه، کنترل کیفیت به فعالیتی تبدیل شد که افرادی غیر از سازندگان محصول آن را انجام می دادند.
سابقه تضمین کیفیت در توسعه نرم افزار موازی سابقه کیفیت در تولید سخت افزار بود در سال های 1952 تا 1962 کیفیت وظیفه اصلی برنامه نویس بود در سال 1972 استانداردهای تضمین کیفیت برای نرم افزارها در اثنای توسعه نرم افزارهای نظامی وارد کار شدند (Subramaniam, 2009). تضمین کیفیت یک الگوی برنامه ریزی شده و سامان مند از عملیات است که برای حصول اطمینان از کیفیت نرم افزار مورد نیاز می باشد
فرضیه ها
کشف خطاها در عملکرد، منطق یا پیاده سازی نرم افزارها منجر به تولید خروجی نهایی با کیفیت تر و در نتیجه مشتریان راضی تر می شود.
با باز تعریف شاخص های کیفی می توان محصول نهایی با کیفیت تری ارائه نمود.
مجتمع سازی عوامل تست نرم افزار باعث ارتقای تضمین کیفیت می شود.
رویکرد رشد محیط توسعه نرم افزار منجر به افزایش کیفیت محصول نهایی می گردد.
1-5 هدف ها
هدف تضمین کیفیت فراهم نمودن روشی به منظور اطلاع از کیفیت محصول است (Solutions, Pique, 2011). شایان ذکر است که رضایت مندی مشتری در به کارگیری سیستم های نرم افزاری وابستگی مستقیم با کیفیت آن دارد. موارد زیر نیز به عنوان اهداف تضمین کیفیت قابل بیان می باشند:
ارائه روشی بهینه برای تضمین کیفیت و تست نرم افزارهای مبتنی بر .NETکمک به تولیدکنندگان نرم افزار در جهت ارتقای کیفیت محصولات
تسریع در رون توسعه و استقرار نرم افزار با مدیریت خطاها و پیشگیری از اتلاف وقت و هزینه.
تجمیع عوامل تضمین کیفیت و تست نرم افزارهای تحت وب
تعداد صفحات 83 word
فهرست مطالب
عنوان صفحه
فصل 1 کلیات تحقیق. 1
1-1 مقدمه. 2
1-2 تعریف مسئله و بیان سوال های اصلی تحقیق. 2
1-3 سابقه و ضرورت انجام تحقیق. 4
1-4 فرضیه ها 6
1-5 هدف ها 6
1-6 کاربردها 7
1-7 جنبه نوآوری تحقیق. 7
1-8 روش تحقیق. 8
1-9 مراحل انجام تحقیق. 8
1-10 ساختار پایان نامه. 9
فصل 2 مفاهیم عمومی تضمین کیفیت نرم افزار. 10
2-1 مقدمه. 11
2-2 مفهوم تضمین کیفیت.. 11
2-3 عناصر تضمین کیفیت نرم افزارها 13
2-4 اهداف، صفات و معیارها 14
2-5 تضمین کیفیت آماری و مراحل آن. 15
2-6 شش سیگمابرای مهندسی نرم افزار. 16
2-6-1 سه مرحله در روش شناسی شش سیگما 16
2-7 قابلیت اطمینان نرم افزار. 16
2-7-1 قابلیت اطمینان به زبان آماری.. 17
2-8 موازین مرتبط با قابلیت اطمینان و دسترس پذیری.. 17
2-8-1 مشکلات MTBF. 17
2-9 ایمنی نرم افزار. 18
2-10 استاندارد کیفیتی ISO9001. 18
2- 11اهمیت کیفیت نرم افزار. 19
فصل3 مروری بر کارهای انجام شده 20
3-1 مقدمه. 21
3-2 نمونه ای ارزیابی کیفیت نرم افزار. 21
3-2-1 مدل McCall 22
3-2-2 مدل Boehm.. 23
3-2-3 مدل FURPS. 23
3-2-4 مدل Dromey. 23
3-2-5 مدل ISO/IEC-9126. 24
3-3 تضمین کیفیت در وب.. 26
3-3-1تمرکز بر بهبود فرآیندها 27
3-3-2 تمرکز بر دنبال کردن مشکلات.. 28
3-4 جمع بندی.. 28
فصل 4 معرفی روش پیشنهادی.. 29
4-1 مقدمه. 30
4-1-1 طبقه بندی سیستم های نرم افزاری.. 30
4-1-2 عدم قطعیت در توسعه نرم افزار. 31
4-1-3 اثرات عدم قطعیت در برنامه های کاربردی وب.. 32
4-1-3-1 نوع عدم قطعیت هایزنبرگ در برنامه های کاربردی وب حال توسعه. 32
4-1-3-2 نوع عدم قطعیت Gödel در برنامه های کاربردی وب در حال توسعه. 32
4-1-3-3 نوع عدم قطعیت عمل گرا در برنامه های کاربردی وب در حال توسعه. 33
4-1-4 قوانین تکامل تدریجی.. 34
4-2 ارائه روش پیشنهادی.. 35
4-2-1 مفاهیم قوانین Lehman. 35
4-2-2 نیازمندی های ابزارهای به دست آمده از نظریه. 35
4-2-3 رویکرد پیشنهادی: رشد محیط.. 36
4-2-4 رویکرد پیشنهادی: تجمیع عوامل. 37
4-3 چهارچوب مورد استفاده 37
4-4 جمع بندی.. 42
فصل 5 آزمایش ها و ارزیابی نتایج.. 43
5-1 مقدمه. 44
5-2 مطالعات مرتبط.. 46
5-3 رویکرد تست مبتنی بر عوامل. 49
5-3-1 تابع تست مرحله ای.. 51
5-3-2 تست مرحله ای توابع خوشه ای.. 55
5-4 تست مرحله ای برنامه وب.. 63
5-5 جمع بندی.. 64
فصل 6 نتیجه گیری و پیشنهادها 65
6-1 مقدمه. 66
6-2 نتایج حاصل از تحقیق. 67
6-3 نوآوری.. 69
6-4 پیشنهادات.. 69
مراجع. 71