تضمین کیفیت نرم افزار

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

کیفیت

اساس کنترل کیفیت کنترل تنوع است. تولید با کیفیت بالا منجر به صرفه جویی در هزینه ها می شود و محصول نهایی یا پایانی بهتر و برتر می شود. یعنی یک تولید کننده حتی وقتی به کار ساده ای مشغول است تلاش می کند تا گوناگونی در بین تولیدات به حداقل برسد.


کیفیت نرم افزار

کیفیت نرم افزار الگوی نظام مند و برنامه ریزی شده ی فعالیت هاست و حرف نخست را کیفیت می زند.


انواع کیفیت

1-کیفیت طراحی:این کیفیت اشاره به خصوصیاتی دارد که طراحان برای یک قلم کالا مشخص می کنند.
2-کیفیت تطابق:درجه ای است که مشخصات طراحی در ضمن ساخت دنبال می شود. در توسعه ی نرم افزار کیفیت طراحی شامل نیازمندی ها، خصوصیت، طرح سیستم و کیفیت تطابق موضوعی است که در مرحله ی پیاده سازی تأکید می کند.
روبرت گلس رابطه ی ادراکی را پیشنهاد کرد:
رضایت مشتری = محصول خواسته شده + کیفیت خوب + تحویل بر طبق بودجه و برنامه

نکته1
کیفیت در نرم افزار مهم است به قدری که موجب رضایت مشتری گردد و اگر مصرف کننده راضی نباشد درواقع امور دیگر بی فایده است.


نکته2
آقای دمارکو بر این دیدگاه تأکید دارد که کیفیت یک محصول تابعی از تغییرات است که در آن محصول در جهت بهتر کردن جهان به وجود آمده است اگر محصول نرم افزاری فواید زیادی را برای کاربران نهایی داشته باشد آنها حاضر به همکاری در تغییرات می باشند.



کنترل کیفیت

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


تضمین کیفیت

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


هزینه ی کیفیت

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

هزینه های پیش گیری شامل موارد زیر است :

  1. برنامه ریزی کیفیت
  2. جستجوهای تکنیکی و رسمی
  3. وسیله ی آزمایش
  4. آموزش


هزینه های ارزیابی:
فعالیت هایی برای آگاهی از وضعیت تولید در آغاز هر فرآیند می باشد و عبارت اند از:

  1. بازرسی درون مرحله ای و بین مرحله ای
  2. تعمیر و نگهداری تجهیزات
  3. انجام آزمون


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


1)هزینه های شکست داخلی:

زمانی ظاهر می شوند که یک اشکال در محصول قبل از تحویل آشکار شود و عبارتند از دوباره کاری، تعمیر و تجزیه و تحلیل شکست.

2)هزینه های شکست خارجی:

به همراه اشکالات یافت شده پس از تحویل محصول به مشتری ظاهر می شود که عبارتند از:

الف)شکایت مشتریان

ب)بازگشت و تعویض کالا

ج)پشتیبانی و کمک های حمایتی

د)انجام تعهدات تضمین داده شده


روش تحلیل و طراحی ساخت یافته

این روش چرخه ی حیات سیستم را از امکان سنجی تا نگهداری فرا می گیرد.به شکل زیر دقت کنید:

چرخه ی حیات SSADMSSADM.png


مفاهیم و علائم نمودار جریان داده

1-موجودیت بیرونی: ازنماد بیضی شکل برای نشان دادن آن استفاده می شود و عبارت است از اشخاص، سازمان و دگر سیستم هایی که به عنوان منابع یا مقاصد داده های سیستم تحت بررسی قرار می گیرد.

Beizi.png

2-پردازش ها : نشانگر فعالیت هایی هستند که برروی داده ها انجام یا توسط داده ها راه اندازی می شوند.

Pardazesh.png

3-مخازن داده ها:ازنماد مستطیل باز برای نشان دادن مخازن داده استفاده می شود. در واقع نگهداری داده ها در سیستم می باشد.در نمودار فیزیکی جریان داده ها از 4 نوع مخزن داده استفده می شود.

Makhazen.png

الف) D(مخزن داده های مکانیزه) : داده هایی که به صورت یک فایل در کامپیوتر نگهداری می شود.

ب) M : مخزن داده های دستی.

ج) T(M)(مخزن داده های دستی موقت) : این مخزن محل موقتی است که داده ها در آنجا تا زمان خواندن نگهداری و پس از خواندن حذف می شوند.

د) T (مخزن داده های مکانیزه ی موقت) : این مخزن در کامپیوتر ایجاد و داده ها به طور موقت در آنجا نگهداری می شوند.


نکاتی که در مورد تضمین کیفیت نرم افزار باید به آنها توجه کرد

1-نیازمندی های نرم افزاری مبنایی است که با توجه به آن کیفیت سنجیده می شود و فقدان همسویی با نیازمندی ها، فقدان کیفیت است.

2-استاندارد های خاص یکسری معیارهای توسعه را معرفی می کنند که مسیر مهندسی نرم افزار را مشخص می کند اگر این معیارها دنبال نشوند به طور حتم فقدان کیفیت رخ خواهد داد.

3-یکسری نیازندی های ضمنی وجود دارد که اغلب بیان نشده باق می ماند برای مثال تمایل به استفاده ی آسان و نگهداری مطلوب. گار نرم افزار منطبق بر نیازهای صریح خود باشد اما نیازهای ضمنی را برآورده ننماید کیفیت نرم افزار مشکوک است.


نکته
فعالیت اختصاصی گروه هدایت تیم نرم افزار برای دستیابی به محصول نهایی با کیفیت بالا می باشد و عمده ترین فعالیت ها شامل موارد زیر است:

1)آماده کردن طرح پروژه

2)مشارکت رد توصیف فرآیند نرم افزاری پروژه

3)بررسی تطبیق محصول با فرآیندها

4)اطمینان از عدم انحراف در کار نرم افزار

5)ثبت هر نوع ناهماهنگی و ارائه ی گزارش به مدیریت مالی.



بازبینی نرم افزار

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


بازبینی های فنی یا رسمی

یک فعالیت تضمین کیفیت نرم افزار است که توسط مهندسان نرم افزار و دیگران اجرا می شود و اهداف آن عبارت است از:

1)کشف خطاها در عملکرد منطق یا پیاده سازی

2)بازبینی اینکه نرم افزار با نیازهایش هم خوانی دارد یا خیر؟

3)اطمینان از اینکه نرم افزار بر اساس استاندارد های از پیش تعیین شده می باشد یا خیر؟

4)دستیابی به نرم افزار به شکل یکپارچه

5)ایجاد پروژه ای با قابلیت مدیریت بالا

6)موجب تقویت و پیشرفت و انسجام کار می شود زیرا باعث می شود گروهی از افراد به این وسیله با بخش های نرم افزار آشنا شود.


قابلیت اطمینان نرم افزار

احتمال عملکرد بدون شکست یک برنامه ی کامپیوتری در محیط خاص برای زمان مشخص MTBF(متوسط زمان بینی شکست) =MTTF(متوسط زمان تا خرابی) + MTTR (متوسط زمان تا تعمیر خرابی)


امنیت نرم افزار

یک فعالیت تضمین نرم افزار است که به شناسایی و ارزیابی خطرات بالقوه ای که ممکن است برروی نرم افزار اثر منفی داشته باشد و موجب خرابی یک سیستم گردد متمرکز می شود.


تفاوت قابلیت اطمینان نرم افزار با امنیت نرم افزار

قابلیت اطمینان نرم افزار از تحلیل های آماری برای تعیین احتمال شکست نرم افزار استفاده می شود و وقوع شکست خطر ساز نیست اما در امنیت نرم افزار راههایی را بررسی می کند که در آنها شکست ها شرایطی را به وجود می آورند که باعث نگرانی می شود.