شما اینجا هستید >   دانشنامه
دانشنامه صفر و یک
تاریخچه برای کیفیت تاریخچه 11/4/2012 02:22:36 ب.ظ تا


توليد نرم افزارهای کاربردی روزبه روز گسترش می يابد و لزوم بکارگيری روش ها و اصول مهندسی نرم افزار در مراحل توسعه، مديريت و پشتيبانی آنها بيشتر نمود پيدا مي کند. کيفيت نرم افزار (Software Quality) شاخص حياتی برای توليد نرم افزارهای با کيفيت بالاست که ضمن بالا بردن بهره وری در توليد نرم افزار ها، به ايجاد نرم افزار های قدرتمند و شکست ناپذير منجر می گردد.

مهندسی نرم افزار، يک روش علمی، رياضی و اقتصادی برای توليد نرم افزارها است که بر اساس آن، نرم افزار در طی يک فرايند علمی، تجزيه و تحليل، طراحی، پياده سازی، آزمايش و پشتيبانی میشود. بکارگيری مهندسی نرم افزار برای پياده سازی نرم افزارهايی که اهداف مهم و حياتی دارند يک ضرورت است. در مهندسی نرم افزار برای ساخت يک سيستم نرم افزاری سه فرآيند مهم تاثير گذار مي باشند:
  • فرايند توسعه (Development Process): سازماندهي فعاليت ها براي ساخت يک سيستم.
  • فرايند مديريت (Management Process): انتخاب افراد، تجهيزات و فرايندها براي توسعه يک سيستم و کنترل و نظارت بر روند اجراي پروژه.
  • فرايند پشتيباني (Maintenance): کنترل و پشتيباني نرم افزار پس از توليد آن.
در فرايند توسعه هدف آن است که يک سيستم با مشخصات خواسته شده توليد شود. فرايند توسعه از مرحله طرح يک راه حل مفهومی برای مساله خواسته شده (مطالعه امکان سنجی) آغاز شده، پس از دريافت خواسته ها و بررسی سيستم، طراحی صورت گرفته و در نهايت اين طراحی با کمک ابزارهای پياده سازی تبديل به يک سيستم واقعی می شود. هدف اين فرآيند آن است که از يک سو برآورده ساختن نيازهای کاربران و از سوی ديگر کيفيت مناسب عملکرد سيستم تضمين گردد و بنابراين بايستی حاوی مکانيسم هايی برای اعتبار سنجی نرم افزار ( Validation) و وارسي پذيري نرم افزار (Verification) باشد.

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


تضمين کيفيت نرم افزار (Software Quality Assurance)
تضمين کيفيت نرم افزار (SQA) متشکل از ابزار نظارت بر فرايندهاي مهندسي نرم افزار و روش های مورد استفاده برای اطمينان از کيفيت می باشد. در واقع تضمين کيفيت نرم افزار، تابعی از کيفيت نرم افزار است که اطمينان می يابد استانداردها، فرايندها و روشهای مناسب برای اين پروژه به درستی انتخاب شده و به صورت صحيح اجرا 
می شود. روش هايی که توسط آن انجام ميگيرد متعدد و متنوع هستند و ممکن است شامل حصول اطمينان از انطباق با يک يا چند استاندارد از قبيل ISO 9000 يا مدل CMMI باشند. تضمين کيفيت اشاره به اندازه گيري سيستماتيک، مقايسه آن با استاندارد، نظارت بر روند ها و حلقه ی بازخورد همراه خود (برای پيشگيری از خطا) دارد. اين مورد را می توان با کيفيت "کنترل" در تضاد دانست چرا که بر روی خروجی فرايند متمرکز شده است. هدف اصلی از تضمين نرم افزار اين است که اطمينان حاصل شود که فرآيندها، رويه ها و محصولات مورد استفاده برای توليد و حفظ اين نرم افزارمطابق با تمامی الزامات و استانداردهای تعيين شده است.

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


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

|برگشت |