![cover image](https://wikiwandv2-19431.kxcdn.com/_next/image?url=https://upload.wikimedia.org/wikipedia/commons/thumb/8/87/Extended_VModelRUP_EN_01.jpg/640px-Extended_VModelRUP_EN_01.jpg&w=640&q=50)
کیفیت نرمافزار
From Wikipedia, the free encyclopedia
در مبحث مهندسی نرمافزار، کیفیت نرمافزار به دو رده مرتبط اما مجزای زیر اشاره دارد:
- کیفیت عملیاتی نرمافزار (Software Functional Quality): شاخصی جهت نشان دادن میزان تطابق نرمافزار با نیازمندیهای عملیاتی تعریف شده برای نرمافزار.
- کیفیت ساختاری نرمافزار (Software Structural Quality): که منعکس کننده میزان دست یابی به نیازمندیهای غیر عملیاتی مانند استحکام (Robustness) و قابلیت نگهداری (Maintainability) نرمافزار است.
![Thumb image](http://upload.wikimedia.org/wikipedia/commons/thumb/8/87/Extended_VModelRUP_EN_01.jpg/640px-Extended_VModelRUP_EN_01.jpg)
بسیاری از جنبههای کیفیت ساختاری نرمافزار تنها با تحلیل و بررسی ساختار درونی و کد آن در سطح واحد، سطح تکنولوژی و سطح سیستم بررسی میشود. اما برخی خصوصیات ساختاری مثل قابلیت استفاده بودن فقط به صورت پویا قابل ارزیابی میباشند .(ارزیابی کاربران و افرادی که با نرمافزار سر و کار دارند حتی اگر با یک نسخهٔ پروتوتایپ روبرو باشند) جنبههای دیگر مثل قابلیت اطمینان ممکن است علاوه بر نرمافزار، سختافزار را نیز در یر بگیرد. پس میتوان آن را به صورت ایستا و پویا ارزیابی کرد.
کیفیت عملیاتی نرمافزار معمولاً به صورت پویا بررسی میشود اما میتوان بررسیهای ایستا هم برای آن در نظر گرفت.
به لحاظ تاریخی ساختار، دستهبندی و مطالعهٔ ویژگیها و معیارهای مورد استفاده در مدیریت کیفیت نرمافزار از مدلهای ISO 9126-3 و ISO 2500:2005 سرچشمه میگیرد. بر اساس این مدلها کنسرسیوم کیفیت نرمافزارهای آی تی پنج خصوصیت اصلی برای یک محصول نرمافزاری دارای ارزش بازاری را معرفی کرد: قابلیت اطمینان، کارایی، امنیت، قابلیت نگه داری و اندازه کافی
اندازهگیری کیفیت نرمافزار در اصل بررسی میزان تطابق نرمافزار با این پنج ویژگی است. اندازهگیری کیفیت نرمافزار در اصل یک نمرهٔ کیفی یا کمی یا ترکیبی از هر دو و سپس یک سیتم وزنگیری که اولویتها را مشخص میکند میباشد. این روش با تجزیه و تحلیل خطاهای برنامهنویسی که منجر به فاجعه میشود خاتمه مییابد. این خطاها در سطح سیستم تا ۹۰ درصد از مشکلات پروژه را نشان میدهند. در حالی که در سطح واحد ۱۰ درصد از مشکلات تولید را شامل میشود. در نتیجه کیفیت کد بدون بدون چهارچوب کل سیستم دارای ارزش محدود است.
برای دیدن، بررسی، آنالیز و ارتباطات اندازهگیری کیفیت نرمافزار، مفاهیم و تکنیکهای تجسم کردن اطلاعات، بسیار مفید است بهخصوص وقتی که چندین فاکتور مختلف با یکدیگر مرتبط باشند. به عنوان مثال نقشهٔ نرمافزار اطلاعات مربوط به توسعه نرمافزار، کیفیت نرمافزار و دینامیک سیستم را مورد بررسی قرار میدهد.