شما اینجا هستید >   دانشنامه
دانشنامه صفر و یک
تاریخچه برای کیفیت تاریخچه 10/28/2012 12:49:23 ب.ظ تا

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

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

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

|برگشت |