چکیده
یکی از مسائل مورد توجه توسعه دهندگان نرم افزار، ارزیابی کیفیت نرم افزار و به تبع آن، پرداختن به موضوع تعیین شاخص های موثر ارزیابی است. با توجه به چرخه حیات نرم افزار می توان گفت بررسی و ارزیابی کیفیت نرم افزار، فرآیندی است که باید طی یک چرخه صورت گیرد. در این مقاله، سعی بر آن است مدل ها و استانداردهای معروف موجود در حوزه ارزیابی کیفیت نرم افزار، معرفی شوند. و همچنین ویژگیهای کیفی نرم افزار های تحت وب بر اساس مدل Iso بررسی میگردد.
کلیدواژگان: کیفیت نرم افزار، مدل های ارزیابی، شاخص های سنجش کیفیت، استانداردهای کیفی سازی، مهندسی نرم افزار، توسعه نرم افزار.
فهرست مطالب
عنوان شماره صفحه
1. مقدمه …………………………………………………………………………………………………………………………………….5
2. مهندسی نرم افزار و تولید نرم افزاری با کیفیت بالا ……………………………………………………………….6
3. کیفیت ……………………………………………………………………………………………………………………………………6
-31 کیفیت نرم افزار ………………………………………………………………………………………………………………7
3-2 استاندارد ISO 9001 و تضمین کیفیت نرم افزار ………………………………………………………7
3-3 استانداردهای توسعه………………………………………………………………………………………………………..7
4. ابعاد کیفیت نرم افزار ……………………………………………………………………………………………………………….8
4-1 ارتباط بین ابعاد کیفیت …………………………………………………………………………………………………9
5. مدل کیفیت نرم افزار………………………………………………………………………………………………………………9
5-1 اجزا مدل کیفیت …………………………………………………………………………………………………………..9
5-2 روش ارزیابی نرم افزار با مدل کیفیت …………………………………………………………………………10
5-3 انواع مدل های کیفیت ………………………………………………………………………………………………….10
5-3-1 مدل McCall . ………………………………………………………………………………………………10
5-3-2 ﻣﺪل Boehm …………………………………………………………………………………………………14
5-3-3 مدل FURPS ………………………………………………………………………………………………..16
5-3-4 مدل Dromey………………………………………………………………………………………………16
فهرست مطالب
عنوان شماره صفحه
5-3-5 مدل kazman …………………………………………………………………………………………………..17
5-3-6 مدل 9126ISO/IEC- ………………………………………………………………………………….18
5-3-7 مدل IEEE ……………………………………………………………………………………………………..22
5-3-8 مدل غیر سلسله مراتبی – ستاره ای ……………………………………………………………….22
5-3-9 استاندارد TICKIT…………………………………………………………………………………………23
6. مقایسه مدلهاِی کیفیت………………………………………………………………………………………………………..25
7. بررسی ویژگی های کیفی نرم افزار های تحت وب بر اساس مدل ISO…………………………….25
7-1 تناسب کاکردی …………………………………………………………………………………………………………26
7-2 اتکاپذیری ………………………………………………………………………………………………………………….28
7-3 قابلیت استفاده ………………………………………………………………………………………………………..32
7-4 امنیت………………………………………………………………………………………………………………………..36
7-5 همسازی و قابلیت حمل ………………………………………………………………………..38
7-6 قابلیت نگهداری……………………………………………………………………………………….41
8. نتیجه گیری………………………………………………………………………………………………………………………44
9. منابع ………………………………………………………………………………………………………………………………….45
1. مقدمه
تولید نرم افزار های کاربردی روزبه روز گسترش می یابد و لزوم به کارگیری روش ها و اصول مهندسی نرم افزار، در مراحل توسعه ، مدیریت و پشتیبانی آن ها بیشتر نمود پیدا می کند . کیفیت نرم افزار(Software Quality) ، شاخص حیاتی برای تولید نرم افزار های با کیفیت بالا است که ضمن بالا بردن بهره وری در تولید نرم افزار ها ، به ایجاد نرم افزار های قدرتمند و شکست ناپذیر منجر می گردد .
مدل سازی نرم افزار ، به کارگیری فنون پیشرفته آزمایش نرم افزار ، مدیریت ریسک نرم افزار ، تضمین کیفیت نرم افزار ، مهندسی محصول و ….، تنها عناوینی از فهرست گسترده زیرساخت های مرتبط با توسعه نرم افزار های قوی و مهندسی ساز است. در این جا به طور خاص به بررسی علمی و فنی یکی از این زیر ساخت ها با عنوان کیفیت نرم افزار و روش های تعیین شاخص پرداخته شده است.
2. مهندسی نرم افزار و تولید نرم افزاری با کیفیت بالا
مهندسی نرم افزار، یک روش علمی ، ریاضی و اقتصادی برای تولید نرم افزارها است که بر اساس آن، نرم افزار در طی یک فرایند علمی، تجزیه و تحلیل، طراحی، پیاده سازی، آزمایش و پشتیبانی می شود. به کارگیری مهندسی نرم افزار برای پیاده سازی نرم افزارهایی که اهداف مهم و حیاتی دارند، یک ضرورت است.در مهندسی نرم افزار برای ساخت یک سیستم نرم افزاری، سه فرآیند مهم تاثیرگذار است:
1- فرآیند توسعه : 1سازماندهی فعالیت ها برای ساخت یک سیستم است.
2- فرآیند مدیریت: 2 انتخاب افراد، تجهیزات و فرآیند ها برای توسعه یک سیستم و کنترل و نظارت بر روند اجرای پروژه است .
3- فرآیند پشتیبانی3 : کنترل و پشتیبانی نرم افزار پس از تولید آن.
در فرآیند توسعه، هدف آن است که یک سیستم با مشخصاتِ خواسته شده تولید شود. فرآیند توسعه، از مرحله طرح یک راه حل مفهومی برای مساله خواسته شده (مطالعه امکان سنجی) آغاز شده، پس از دریافت خواسته ها و بررسی سیستم ، طراحی صورت گرفته و در نهایت، این طراحی با کمک ابزارهای پیاده سازی، به یک سیستم واقعی تبدیل می شود. هدف این فرآیند، آن است که از یک سو، برآورده ساختن نیازهای کاربران، و از سوی دیگر، کیفیت مناسب عملکرد سیستم تضمین گردد. بنابراین، باید مشتمل بر مکانیسم هایی برای اعتبارسنجی نرم افزار 4(خروجی مطابق با خواسته ها ) و وارسی پذیری نرم افزار 5(صحت عملکرد خروجی) باشد.
3. کیفیت
کیفیت در مفهوم عام آن، به معنای خصوصیت یا صفتی از یک شیء است . در مورد یک شیء ، کیفیت، به خصوصیاتی از قبیل: رنگ ، شکل ، اندازه و … اشاره دارد و در مورد یک نرم افزار شامل: درجه پیچیدگی درونی الگوریتم های آن ، تعداد خطوط برنامه نرم افزاری ، ارتباطات داخلی زیر برنامه ها و … می شود.
3-1 کیفیت نرم افزار
کیفیت بالای محصول نرم افزاری، به صرفه جویی در هزینه و ارتقای همیشگی سطح نرم افزار می انجامد. تمامی توسعه دهندگان نرم افزاری توافق دارند که دستیابی به نرم افزار های با کیفیت ، بالاترین هدف در ایجاد و ساخت سیستم های نرم افزاری است ؛ اما کیفیت نرم افزار چگونه تعریف می شود؟
کیفیت نرم افزار مطابق با نیازهای عملیاتی و استاندارد های توسعه نرم افزار تعریف و تدوین می گردد و در این میان، توجه به سه اصل زیر اهمیت دارد:
1- استانداردها ، مجموعه ای از معیارهای توسعه را تعریف می کنند و چنانچه این معیارها به درستی دنبال نشوند ، نتیجه آن فقدان کیفیت خواهد بود .
2- چنانچه یک نرم افزار بر نیازهای اصلی خود منطبق باشد، اما نیازهای جانبی خود مانند سهولت کاربری و پشتیبانی مناسب را برآورده نسازد ، کیفینت نرم افزار حاصل نگردیده است.
3- نیازمندی های نرم افزار و آنچه نرم افزار برای آن طراحی و پیاده سازی گردیده ، مبنای اندازه گیری کیفیت است . عدم تطبق نرم افزار با نیازمندی های آن، موجب عدم کیفیت نرم افزار خواهد شد .
3-2 استاندارد ISO 9001 و تضمین کیفیت نرم افزار
ISO 9001 ، یک استاندارد تضمین کیفیت است که در مهندسی نرم افزار نیز کاربرد دارد. این استاندارد، دربردارنده نیازمندی های لازم برای تضمین کیفیت یک سیستم نرم افزاری است . کنترل طراحی ، کنترل مستندات ، شناسایی محصول نرم افزاری ، کیفیت ، امکان سنجی و نیازمندی های وظیفه ای و غیر وظیفه ای ، بازبینی و آزمایش نرم افزار و بررسی کیفیت های داخلی، از عناوینی است که در این استاندارد مورد توجه قرار می گیرد.
3-3 استانداردهای توسعه
این بخش، کلیات چرخه حیات نرم افزار را تشریح می کند. در این استانداردها غالباً از عبارت "پروژه نرم افزاری" استفاده می شود. واضح است که تولید نرم افزار، جنبه های سخت افزاری رایانه را نیز در بر می گیرد. محصولات نرم افزاری لازم است با روش معینی طراحی و اجرا گردند. یک مدل چرخه حیات، فعالیت های پروژه را در قالب مراحل مشخص سازماندهی می کند و تعیین می نماید کدام یک از فعالیت ها باید در کدام مرحله انجام گیرد. بر اساس این استاندارد، باید شش مرحله در چرخه حیات یک نرم افزار طی شود که عبارت اند از:
مرحله : 6UR تعیین نیازهای کاربر
مرحله 7SR : تعیین نیازهای نرم افزار
مرحله AD8 :طراحی معماری
مرحله: 9DD طراحی تفصیلی و تولید برنامه
مرحله : 10 TR انتقال و واگذاری نرم افزار برای بهره برداری
مرحله: 11 OM بهره برداری و نگهداری
4. ابعاد کیفیت نرم افزار
کیفیت نرم افزار دارای سه بُعد کیفیت داخلی، کیفیت خارجی و کیفیت استفاده است که هر یک از آنها قابل اندازه گیری و ارزیابی است.
* کیفیت داخلی
منظور از کیفیت داخلی خصوصیاتی است که متناسب با مشخصات ثابت و ایستای کد برنامه تعریف شده و توسط برنامه نویس سیستم اندازه گیری می شود. کیفیت تمامی اجزای نرم افزار اعم از نهایی و میانی و حتی درون مستندات طراحی نرم افزار و کد منبع را مورد سنجش قرار می دهند.
* کیفیت خارجی
منظور از کیفیت خارجی خصوصیاتی است که متناسب با مشخصات پویای کد برنامه در زمان اجرا تعریف شده و توسط کاربر سیستم اندازه گیری می شود. کیفیت نهایی محصول را پس از یکپارچه سازی و ارایه نسخه نهایی مورد سنجش قرار می دهند.
* کیفیت استفاده
منظور از کیفیت استفاده خصوصیاتی است که متناسب با دیدگاه کاربر از کیفیت سیستم در زمان استفاده از آن است. کیفیت استفاده برحسب اینکه نرم افزار تا چه اندازه پاسخگوی نیاز های کاربر در محیط اجرای سیستم باشد، اندازه گیری می شود. با توجه به اینکه هدف تولید نرم افزار داشتن نتیجه مطلوب در محیط اجرا و در زمینه کاربرد خاص آنست، محیط اجرای نرم افزار بر بُعد کیفیت خارجی و کیفیت استفاده تاثیر مستقیم دارد.
4-1 ارتباط بین ابعاد کیفیت
ارزیابی نرم افزار برآورده شدن نیاز های کیفی نرم افزار در یکی از فرایند های چرخه حیات توسعه نرم افزار است. کیفیت نرم افزار تولید شده می تواند با صفات کیفیت داخلی (عموماً با اندازه گیری ایستای محصولات میانی) و یا با صفات خارجی (عموماً با اندازه گیری رفتار برنامه در حین اجرا) اندازه گیری شود. این اندازه گیری ها بر یکدیگر تاثیر مستقیم دارند. به عبارت دیگر دستیابی به کیفیت استفاده وابسته به داشتن کیفیت خارجی است و کیفیت خارجی وابسته به کیفیت داخلی می باشد.
5. مدل کیفیت نرم افزار
مدل کیفیت عبارتست از قالبی که ارتباط بین دیدگاه های مختلف نسبت به کیفیت را بیان می کند. درسال های اخیر تحقیقات بسیاری در زمینه استانداردسازی ویژگی های کیفیت و عوامل موثر در موفقیت سیستم های نرم افزاری انجام شده و مدل های کیفی مختلفی بر اساس نوع دسته بندی این ویژگی های کیفی ارائه شده است که اکثر آنها به اجزا سلسله مراتبی تقسیم می شوند.
5-1 اجزا مدل کیفیت
عموماً اجزای اصلی یک مدل کیفیت عبارتند از: ویژگی کیفی، ویژگی فرعی کیفی و متریک. هدف اصلی یک ویژگی کیفی مشخص کردن یک جنبه کیفیت محصول است. عبارات دیگری نیز از قبیل خصوصیت یا صفت سطح بالا در مدل های کیفیت استفاده می شود.
برخی خصوصیات نرم افزار مستقیماً قابل ارزیابی نیستند و نیاز به یک سطح اضافی میانی برای محاسبه دارند که ویژگی یا خصوصیت فرعی گفته می شوند. بعنوان مثال ویزگی "قابلیت نگهداری" شامل سه خصوصیت فرعی "آزمایش پذیری"، "قابلیت فهم" و "قابلیت تغییر" است.برای ارزیابی کیفیت یک ویژگی فرعی نیاز به تعیین متریک است. یک متریک دارای یک ارزش عددی است که می تواند یک ویژگی کیفی را اندازه گیری نماید. متریک ها باید به اندازه کافی کامل باشند تا اساس اندازه گیری مدل کیفیت را تشکیل دهند.
5-2 روش ارزیابی نرم افزار با مدل کیفیت
همانطور که گفته شد، کیفیت به ویژگی، ویژگی فرعی و متریک تجزیه می شود. هر ویژگی کیفی فرعی با استفاده از متریک های مرتبط اندازه گیری می شود. سپس مقادیر عددی از ویژگی های فرعی به ویژگی های کیفی سطح بالا نسبت داده می شود. درصورتیکه وزن ویژگی های کیفی در نرم افزار مورد ارزیابی یکسان باشد، جمع مقادیر عددی ویژگی های کیفی، کیفیت نهایی محصول را مشخص می کند؛ در غیر اینصورت باید پس از تعیین وزن هریک از ویژگی ها، جمع وزن دار آنها محاسبه گردد.
5-3 انواع مدل های کیفیت
در این قسمت، مدل های کیفیت نرم افزاری که تاکنون ارائه شده است را بررسی و نقاط قوت و ضعف آنها را با یکدیگر مقایسه می کنیم. مدل های کیفیت نرم افزار از لحاظ ساختاری به دو گروه عمده سلسله مراتبی و غیرسلسله مراتبی تقسیم می شوند. در مدل های سلسله مراتبی، ویژگی های کیفیت در سطح اول و در سطح دوم خصوصیات فرعی متناظر با ویژگی ها قرار دارند. چنانچه مدل دارای معیار اندازه گیری هم باشد، این معیارها در سطح سوم مدل قرار می گیرند. ارتباط بین اجزای سطوح یک مدل کیفیت می تواند یک به چند یا چند به چند باشد. در ارتباط یک به چند هر فاکتور یا خصوصیت کیفی فقط با خصوصیات فرعی خود در سطح پایین تر مرتبط است؛ ولی در ارتباط چند به چند هر فاکتور می تواند با خصوصیات فرعی دیگر نیز مرتبط باشد. کیفیت نرم افزار از ارزیابی این خصوصیات فرعی توسط معیارهای اندازه گیری حاصل می شود. مدلهای غیر سلسله مراتبی دارای ساختار یکسانی نیستند. یکی از این مدلها مدل ستاره ای است که در ادامه شرح داده می شود.
5-3-1 مدل McCall
در دﻫﻪ 1970 McCall ﭼﺎرﭼﻮﺑﯽ ﮐﯿﻔﯿﺘﯽ ﺑﺮای ﮐﯿﻔﯽ ﻣﺤﺼﻮﻻت اراﺋﻪ ﻧﻤﻮد. اﯾﻦ ﻣﺪل ﺑﺮای ﻧﯿﺮوی ﻫﻮاﯾﯽ آﻣﺮﯾﮑﺎ و ﺑﺎ ﻫﺪف از ﺑﯿﻦ ﺑﺮدن ﻓﺎﺻﻠﻪ ﺑﯿﻦ ﮐﺎرﺑﺮان و ﺗﻮﺳﻌﻪدﻫﻨﺪﮔﺎن اﯾﺠﺎد ﺷﺪ . اﯾﻦ ﻣﺪل 3 دﯾﺪﮔﺎه را ﺑﺮای ﮔﺮوهﺑﻨﺪی ﺧﺼﻮﺻﯿﺎت در ﻓﺮآﯾﻨﺪ ﺗﻮﻟﯿﺪ ﻧﺮم اﻓﺰار ﺑﯿﺎن ﻣﯽﮐﻨﺪ ﮐﻪ ﺑﺮ اﺳﺎس ﭼﺮﺧﻪ ﺣﯿﺎت ﺳﯿﺴﺘﻢ ﻣﯽﺑﺎﺷﺪ، اﯾﻦ دﯾﺪﮔﺎهﻫﺎ ﻋﺒﺎرﺗﻨﺪ از:
1- ﻋﻤﻠﮑﺮد 12(ﺧﺼﻮﺻﯿﺎت ﻋﻤﻠﮑﺮدی ﭘﺎﯾﻪ): ﻓﺎﮐﺘﻮرﻫﺎﯾﯽ ﮐﯿﻔﯽ ﻣﯽﺑﺎﺷﺪﮐﻪ ﺑﺮ ﻣﯿﺰان و اﻧﺪازه ﺑﺮاورده ﺳﺎﺧﺘﻦ ﻣﺸﺨﺼﺎت و ﺧﺼﻮﺻﯿﺎت ﻧﺮم اﻓﺰار دﻻﻟﺖ دارد. اﯾﻦ ﺧﺼﻮﺻﯿﺎت ﻋﺒﺎرﺗﻨﺪ از:
* Correctness: ﺻﺤﺖ و درﺳﺘﯽ ﻧﺮم اﻓﺰار ﻣﯽ ﺑﺎﺷﺪ و اﯾﻨﮑﻪ ﻋﻤﻠﮑﺮد ﺑﺎ ﺧﺼﻮﺻﯿﺎت وﻣﺸﺨﺼﺎت ﺗﻄﺒﯿﻖ داﺷﺘﻪ ﺑﺎﺷﺪ
* Reliability: ﻣﻌﯿﺎری اﺳﺖ ﮐﻪ ﺳﯿﺴﺘﻢ ﭼﻘﺪر fail ﻣﯽﮐﻨﺪ.
* Efficiency: ﮐﺎرﺑﺮد و اﺳﺘﻔﺎده از ﻣﻨﺎﺑﻊ ﺳﯿﺴﺘﻢ ﺷﺎﻣﻞ Memory،Disk، CPU
* Integrity: ﺣﻔﺎﻇﺖ در ﻣﻘﺎﺑﻞ اﻧﺠﺎم اﻋﻤﺎلﻫﺎی ﻏﯿﺮ ﻣﺠﺎز
* Usability : ﺳﺎدﮔﯽ اﺳﺘﻔﺎده
2- ﺗﺠﺪﯾﺪ ﻧﻈﺮ13: ﻓﺎﮐﺘﻮرﻫﺎی ﮐﯿﻔﯽ را ﺗﻌﺮﯾﻒ ﻣﯽﮐﻨﺪ ﮐﻪ ﺑﺮ ﺗﻮاﻧﺎﯾﯽ ﺗﻐﯿﯿﺮ ﻣﺤﺼﻮل ﻧﺮم اﻓﺰاری ﺗﺄﺛﯿﺮ ﻣﯽﮔﺬارﻧﺪ. اﯾﻦ ﻓﺎﮐﺘﻮرﻫﺎ ﻋﺒﺎرﺗﻨﺪ از
* Maintainability: ﺗﻮاﻧﺎﯾﯽ ﺟﻬﺖ ﺳﺎﺧﺖ / ﺗﻌﻤﯿﺮ ﯾﮏ ﻋﯿﺐ / ﻧﻘﺺ ﻣﯽﺑﺎﺷﺪ.
* Flexibility: ﺗﻮاﻧﺎﯾﯽ ﺟﻬﺖ اﻋﻤﺎل ﺗﻐﯿﯿﺮ درﺧﻮاﺳﺖ ﺷﺪه در راﺳﺘﺎی business ﻧﺮم اﻓﺰار
* Testability: ﺗﻮاﻧﺎﯾﯽ اﻋﺘﺒﺎرﺳﻨﺠﯽ ﻧﯿﺎزﻣﻨﺪیﻫﺎی ﻧﺮماﻓﺰاری و ﻫﻤﭽﻨﯿﻦ ﺗﺴﺖ ﻧﺮم اﻓﺰار از ﺟﻬﺖ ﻧﺪاﺷﺘﻦ ﺧﻄﺎ و ﺑﺮآوردن ﺧﺼﻮﺻﯿﺎﺗﺶ
3- ﺗﺤﻮل14: ﻓﺎﮐﺘﻮرﻫﺎی ﮐﯿﻔﯽ ﻣﯽﺑﺎﺷﺪ ﮐﻪ ﺑﺮ ﺗﻮاﻧﺎﯾﯽ ﺗﻐﯿﯿﺮ ﻣﺤﺼﻮل ﻧﺮم اﻓﺰاری ﺗﺄﺛﯿﺮ ﻣﯽﮔﺬارد. اﯾﻦ ﻓﺎﮐﺘﻮرﻫﺎ ﻋﺒﺎرﺗﻨﺪ از:
* Reusability: راﺣﺘﯽ اﺳﺘﻔﺎده از ﻣﺆﻟﻔﻪﻫﺎی ﻧﺮم اﻓﺰاری ﻣﻮﺟﻮد در زﻣﯿﻨﻪﻫﺎ و ﻓﻀﺎﻫﺎی ﻣﺨﺘﻠﻒ.
* Interoperability: ﺗﻮﺳﻌﻪ و راﺣﺘﯽ ﻣﺆﻟﻔﻪﻫﺎی ﻧﺮم اﻓﺰاری ﺟﻬﺖ ﮐﺎر ﺑﺎ ﯾﮑﺪﯾﮕﺮ (ﻗﺎﺑﻠﯿﺖ ﺗﻌﺎﻣﻞ).
* Portability : ﺗﻮاﻧﺎﯾﯽ اﻧﺘﻘﺎل ﻧﺮم اﻓﺰار از ﯾﮏ ﻣﺤﯿﻂ ﺑﻪ ﻣﺤﯿﻂ دﯾﮕﺮ.
اﯾﻦ ﻣﺪل از آن ﺟﻬﺖ ﻣﻮرد اﻧﺘﻘﺎد ﻗﺮار ﮔﺮﻓﺖ ﮐﻪ ﺧﺼﻮﺻﯿﺎت ﮐﯿﻔﯽ در آن ﺑﻪ ﺻﻮرت ذﻫﻨﯽ ﻣﻮرد ﻗﻀﺎوت ﻗﺮار ﻣﯽﮔﯿﺮد و ﭘﺎﺳﺦﻫﺎ ﮐﺎﻣﻼً ﺑﺴﺘﮕﯽ ﺑﻪ ﻧﻈﺮ ﺷﺨﺼﯽ دارد. سطح اول مدل McCall شامل 11 خصوصیت کیفی است که در 3 دیدگاه شرح داده شد و دﯾﺪ ﺧﺎرﺟﯽ ﺳﯿﺴﺘﻢ ﯾﻌﻨﯽ ﻫﻤﺎن ﭼﯿﺰی ﮐﻪ ﺗﻮﺳﻂ ﮐﺎرﺑﺮان دﯾﺪه ﻣﯽ ﺷﻮد را ﺗﻮﺻﯿﻒ ﻣﯽﮐﻨﺪ .در سطح دوم مدل نیز، 23 معیار کیفی ارائه شده است که ارتباط چند به چند با ویژگی های اصلی سطح اول دارد و دﯾﺪ داﺧﻠﯽ ﯾﻌﻨﯽ ﻫﻤﺎن دﯾﺪی را ﮐﻪ ﺗﻮﺳﻂ ﺗﻮﺳﻌﻪ-دﻫﻨﺪﮔﺎن دﯾﺪه ﻣﯽ ﺷﻮد را ﺗﻮﺻﯿﻒ ﻣﯽﮐﻨﺪ. ایده اصلی مدل تعیین ارتباط بین عوامل کیفی و معیار های ارزیابی محصول است. مزیت عمده این مدل ارتباط بین خصوصیات کیفی و معیار هاست.
اﯾﻦ ﭼﺎرﭼﻮب در ﺷﮑﻞ1 ﻧﺸﺎن داده ﺷﺪه اﺳﺖ. در اﯾﻦ ﺷﮑﻞ ﺧﺼﻮﺻﯿﺎت ﺑﻪ ﻫﻤﺮاه ﺳﻨﺠﻪﻫﺎ و ﻣﻌﯿﺎرﻫﺎی اﻧﺪازهﮔﯿﺮی ﻧﺸﺎن داده ﺷﺪه اﺳﺖ.
5-3-2 ﻣﺪل Boehm
در ﺳﺎل 1978، Boehm ﻣﺪل ﮐﯿﻔﯿﺘﯽ ﺟﺪﯾﺪی را اراﺋﻪ ﻧﻤﻮد. وی ﯾﮏ ﻣﺪل ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﯽ از ﺧﺼﻮﺻﯿﺎت ﮐﯿﻔﯽ را ﺗﻌﺮﯾﻒ ﻧﻤﻮد و ﺗﻼش داﺷﺖ ﺗﺎ ﮐﯿﻔﯿﺖ ﻧﺮم اﻓﺰار را ﺑﺼﻮرت ﻣﺠﻤﻮﻋﻪای از ﺧﺼﻮﺻﯿﺎت و ﻣﻌﯿﺎرﻫﺎ ﺗﻌﺮﯾﻒ ﮐﻨﺪ. در ﺑﺎﻻﺗﺮﯾﻦ ﺳﻄﺢ ﻣﺪل، او ﺳﻪ ﻧﯿﺎزﻣﻨﺪی اﺳﺎﺳ نرم اﻓﺰار را ﺗﻌﺮﯾﻒ ﻣﯽﮐﻨﺪ ﮐﻪ ﻋﺒﺎرﺗﻨﺪ از (ﺷﮑﻞ 2)
ﮐﺎرﺑﺮ ﻧﻬﺎﯾﯽ15: (فضاﯾﯽ ﮐﻪ ﻧﺮم اﻓﺰار ﻣﻮﺟﻮد ﻣﯽﺗﻮاﻧﺪ اﺳﺘﻔﺎده ﺷﻮد)
* Reliability : ﻧﺮم اﻓﺰار وﻇﺎﯾﻒ ﺧﻮد را ﺑﻪ ﺻﻮرت رﺿﺎﯾﺖﺑﺨﺶ اﻧﺠﺎم دﻫﺪ.
* Efficiency: آﯾﺎ وﻇﺎﯾﻒ ﺧﻮد را ﺑﺼﻮرﺗﯽ اﻧﺠﺎم ﻣﯽ دﻫﺪ ﮐﻪ از ﺑﻪ ﻫﺪر رﻓﺘﻦ ﻣﻨﺎﺑﻊ ﺟﻠﻮﮔﯿﺮی ﺷﻮد.
* Human Engineering : زﻣﺎﻧﯽ ﮐﻪ ﺗﻐﯿﯿﺮی داده ﻣﯽ ﺷﻮد،اﯾﻦ ﺗﻐﯿﯿﺮات ﺑﻪ آﺳﺎﻧﯽ ﻗﺎﺑﻞ اﻋﻤﺎل ﺑﺎﺷﺪ.
ﮐﺎرﺑﺮان در ﻣﮑﺎنﻫﺎی ﻣﺨﺘﻠﻒ (ﻗﺎﺑﻠﯿﺖ ﺣﻤﻞ) 16: راﺣﺘﯽ ﺗﻐﯿﯿﺮ ﻧﺮم اﻓﺰار ﺟﻬﺖ ﺗﻄﺒﯿﻖ ﺑﺎ ﻣﺤﯿﻂ ﺟﺪﯾﺪ
ﮐﺎرﺑﺮان در زﻣﺎﻧﻬﺎی ﻣﺨﺘﻠﻒ (ﻧﮕﻬﺪاﺷﺖ ﭘﺬﯾﺮی) 17: راﺣﺘﯽ ﺗﻌﺮﯾﻒ اﯾﻨﮑﻪ ﭼﻪ ﭼﯿﺰی ﻧﯿﺎز ﺑﻪ ﺗﻐﯿﯿﺮ دارد ﻫﻤﺮاه ﺑﺎ راﺣﺘﯽ اﺻﻼح ( retesting) و ﺑﺎزآزﻣﺎﯾﯽ
* Testability: راﺣﺘﯽ اﯾﺠﺎد ﺷﺮاﯾﻂ ﺗﺼﺪﯾﻖ
* Understandability : ﮐﺪ ﺑﻪ راﺣﺘﯽ ﻗﺎﺑﻞ ﻓﻬﻢ ﺑﺎﺷﺪ.
* Modifiability : ﮐﺪﺑﻪ راﺣﺘﯽ ﻗﺎﺑﻞ ﺗﻐﯿﯿﺮ و اﺻﻼح ﺑﺎﺷﺪ.
ﺑﺰرگﺗﺮﯾﻦ ﺗﻔﺎوت ﺑﯿﻦ Boehm و McCall اﯾﻦ اﺳﺖ ﮐﻪ ﻣﺪل Boehm ﺑﺮ ﻣﺒﻨﺎی رﻧﺞ وﺳﯿﻌﯽ از ﺧﺼﻮﺻﯿﺎت ﮐﯿﻔﯽ ﺑﺎ ﯾﮏ دﯾﺪ اﺻﻮﻟﯽ روی ﻧﮕﻬﺪاﺷﺖ ﭘﺬﯾﺮی" ﻣﯽﺑﺎﺷﺪ. از ﻃﺮﻓﯽ McCall ﺗﻤﺮﮐﺰ دﻗﯿﻖﺗﺮی روی اﻧﺪازهﮔﯿﺮی ﺧﺼﻮﺻﯿﺖ ﺳﻄﺢ ﺑﺎﻻی As is Utility دارد. عیب اصلی این مدل عدم ارائه راهکاری به منظور ارزیابی و اندازه گیری خصوصیات کیفی است.
5-3-3 مدل FURPS
از دﯾﮕﺮ ﻣﺪلﻫﺎی ﮐﯿﻔﯽ اراﺋﻪ ﺷﺪه ﻣﯽﺗﻮان ﺑﻪ ﻣﺪل ﭘﯿﺸﻨﻬﺎدی Grady ﮐﻪFURPS ﻧﺎﻣﯿﺪه ﻣﯽﺷﻮد اﺷﺎره ﻧﻤﻮد. اﯾﻦ ﻣﺪل ﺷﺎﻣﻞFunctionality Usability, Reliability, Performance, Supportability ﻣﯽﺑﺎﺷﺪ. ﮐﻪ ﺗﻌﺎرﯾﻒ آن ﻋﺒﺎرﺗﻨﺪ از:
* ﻗﺎﺑﻠﯿﺖ ﻋﻤﻠﮑﺮد: ﮐﻪ ﻣﯽ ﺗﻮاﻧﺪ ﺷﺎﻣﻞ اﻣﮑﺎﻧﺎت ،ﻗﺎﺑﻠﯿﺖﻫﺎ و اﻣﻨﯿﺖ ﺑﺎﺷﺪ.
* ﻗﺎﺑﻠﯿﺖ اﺳﺘﻔﺎده: ﮐﻪ ﻣﯽﺗﻮاﻧﺪ ﺷﺎﻣﻞ ﻓﺎﮐﺘﻮرﻫﺎی اﻧﺴﺎﻧﯽ، زﯾﺒﺎﯾﯽ، ﺗﻮاﻓﻖ و ﺳﺎزﮔﺎری در واﺳﻂ ﮐﺎرﺑﺮ، راﻫﻨﻤﺎی ﺑﺮﺧﻂ و ﺣﺴﺎس ﺑﻪ ﻣﺘﻦ، ﻣﺴﺘﻨﺪات ﮐﺎرﺑﺮ و اﺻﻮل آﻣﻮزش ﻣﯽﺑﺎﺷﺪ.
* ﻗﺎﺑﻠﯿﺖ اﻃﻤﯿﻨﺎن: ﮐﻪ ﻣﯽﺗﻮاﻧﺪ ﺷﺎﻣﻞ ﺗﮑﺮار و ﺷﺪت ﺧﻄﺎﻫﺎ، ﻗﺎﺑﻠﯿﺖ ﺗﺮﻣﯿﻢ، ﻗﺎﺑﻠﯿﺖ ﭘﯿﺶﺑﯿﻨﯽ، ﺻﺤﺖ و درﺳﺘﯽ و ﻣﺘﻮﺳﻂ زﻣﺎن رﺧﺪاد ﺧﻄﺎ ﻣﯽﺑﺎﺷﺪ.
* ﮐﺎراﯾﯽ: ﺷﺮاﯾﻄﯽ را از ﻗﺒﯿﻞ ﺳﺮﻋﺖ،ﮐﺎراﯾﯽ، در دﺳﺘﺮس ﺑﻮدن، ﺻﺤﺖ و درﺳﺘﯽ، ﺗﻮان ﻋﻤﻠﯿﺎﺗﯽ، زﻣﺎن ﭘﺎﺳﺦ، زﻣﺎن ﺗﺮﻣﯿﻢ و ﺑﻬﺮهوری ﻣﻨﺎﺑﻊ را ﺑﺮ ﻧﯿﺎزﻣﻨﺪیﻫﺎی ﮐﯿﻔﯽ ﺗﺤﻤﯿﻞ ﻣﯽﮐﻨﺪ.
* ﻗﺎﺑﻠﯿﺖ ﭘﺸﺘﯿﺒﺎﻧﯽ18: ﮐﻪ ﻣﯽﺗﻮاﻧﺪ ﺷﺎﻣﻞ ﻗﺎﺑﻠﯿﺖ ﺗﺴﺖ، ﻗﺎﺑﻠﯿﺖ ﺗﻮﺳﻌﻪﭘﺬﯾﺮی19 ،ﻗﺎﺑﻠﯿﺖ اﻧﻄﺒﺎق 20 ، ﻗﺎﺑﻠﯿﺖ ﻧﮕﻬﺪاری ، ﺳﺎزﮔﺎری، ﻗﺎﺑﻠﯿﺖ ﺗﻌﻤﯿﺮﭘﺬﯾﺮی 21 ، ﻗﺎﺑﻠﯿﺖ ﻧﺼﺐ22.
عیب این مدل عدم وجود معیاری برای سنجش میزان انتقال پذیری نرم افزار است.
5-3-4 مدل Dromey
این مدل که در سال 1995م ارائه شد، این بود که بتواند به طور وسیعی انواع سیستم ها را با کاربرد های مختلف پوشش دهد؛ چون به عقیده وی، ارزیابی نرم افزار ها با هم متفاوت است و مسائل پویایی بیشتری برای مدل سازی فرایند ها لازم است. مراحل طراحی این مدل را می توان در پنج مرحله زیر خلاصه نمود:
1- انتخاب مجموعه ای از صفات سطح بالا که برای ارزیابی لازم است؛
2- تهیه فهرستی از اجزای سیستم؛
3- تشخیص ویژگی های دارای کیفیت برای هر جزء سیستم (کیفیت هایی از اجزای مرحله قبل که بیشترین تاثیر را در ویژگی های محصول نهایی دارند)؛
4- تصمیم راجع به این که هر ویژگی چگونه بر صفات کیفیت تاثیر می گذارد؛
5- ارزیابی مدل.
5-3-5 مدل kazman
یکی دیگر از دسته بندی های صفات کیفیتی، توسط Kazman و همکارانش در موسسه مهندسی نرم افزار پیشنهاد شده است. این دسته بندی صفات کیفیتی را به دو دسته قابل مشاهده در طی زمان اجرا و صفاتی که در زمان اجرا مشخص نشده و در طول چرخه حیات نرم افزار به مرور خود را نشان می دهند، تقسیم می نماید. صفات این دو دسته عبارتند از:
کارایی23، امنیت24، دسترسی پذیری25، عملکرد، اصلاح پذیری، قابلیت حمل26، قابلیت استفاده مجدد27، تجمع پذیری و قابلیت آزمایش28
این گروه در واقع مدل کیفیتی خاصی را ارائه ننموده اند، ولی روش ارزیابی ATAM را برای بررسی کیفیت معماری نرم افزار ارائه کرده اند. ذینفعان سیستم باید مدل کیفیتی خود را با توجه به خواسته هایشان، تعریف نمایند. ساختار درختی این مدل کیفیتی از ریشه ای با عنوان سودمندی تشکیل شده و بعد از آن سه سطح قرار می گیرند. سطح آخر این درخت، با یک سری سناریو جهت سنجش صفات کیفیتی مشخص می شود.
5-3-6 مدل 9126ISO/IEC-
با توجه به نیاز شدید صنعت نرم افزار به استاندارد شدن ارزیابی نرم افزار، این مدل ابتدا در سال 1991 توسط موسسه بین المللی استاندارد ISO انتشار یافت و بعد از گذشت تقریباً یک دهه، در سال 2001 توسط متخصصان ISO اصلاح و تکمیل شد. این استاندارد بین المللی، در سطح اول مدل، کیفیت محصول نرم افزاری را به شش ویژگی کیفی اصلی تقسیم می کند که هر یک از آنها از چند ویژگی فرعی تشکیل شده اند. ارتباط ویژگی های سطح اول مدل با 21 ویژگی فرعی مدل با سطح دوم، بصورت یک به چند است، بطوریکه در این مدل، کمترین همپوشانی وجود دارد. علاوه بر این دو سطح، مدل دارای معیارهایی برای ارزیابی کیفیت نرم افزار نیز می باشد. مهمترین مزیت این مدل اینست که خصوصیات کیفی داخلی و خارجی یک نرم افزار در آن تفکیک شده است. ویژگیهای سطح اول و دوم به شرح زیر می باشد:
* Functionality: ﻣﺠﻤﻮﻋﻪای از ﺧﺼﻮﺻﯿﺎت ﮐﻪ ﻣﺮﺑﻮط ﺑﻪ وﺟﻮد ﻣﺠﻤﻮﻋﻪ ﻋﻤﻠﮑﺮدﻫﺎ و ﺧﺼﻮﺻﯿﺎت ﻣﺸﺨﺺ آﻧﻬﺎ ﻣﯽﺑﺎﺷﺪ.
* Suitability: ﺧﺼﻮﺻﯿﺖ ﻋﻤﻠﮑﺮدی ﻣﻨﺎﺳﺐ ﺑﺎﺷﺪ. ﺑﻪ ﺗﻨﺎﺳﺐ و ﺳﺎزﮔﺎری ﮐﺎرﮐﺮدﻫﺎی ﺳﯿﺴﺘﻢ ﺑﺮﻣﯽ ﮔﺮدد.
* Accurateness: اﯾﻦ ﺧﺼﻮﺻﯿﺖ ﻣﺮﺑﻮط ﺑﻪ درﺳﺘﯽ ﻋﻤﻠﮑﺮد ﻣﯽﺑﺎﺷﺪ. ﻣﺜﻼ دﺳﺘﮕﺎه ATM ﻣﯽﺗﻮاﻧﺪ ﻋﻤﻠﮑﺮد نوزیع پول ﻧﻘﺪ را داﺷﺘﻪ ﺑﺎﺷﺪ وﻟﯽ آﯾﺎ اﯾﻦ ﻋﻤﻠﮑﺮد ﻧﺘﯿﺠﻪ درﺳﺘﯽ دارد؟
* Interoperability: ﻋﻤﻮﻣﺎ ﯾﮏ ﺳﯿﺴﺘﻢ ﯾﺎ ﻣﺆﻟﻔﻪ ﻧﺮم اﻓﺰاری ﺑﺼﻮرت اﯾﺰوﻟﻪ ﻋﻤﻞ ﻧﻤﯽﮐﻨﺪ. اﯾﻦ ﺧﺼﻮﺻﯿﺖ ﺗﻮاﻧﺎﯾﯽ و ﻗﺎﺑﻠﯿﺖ ﺗﻌﺎﻣﻞ ﻣﺆﻟﻔﻪ ﻫﺎ ﺑﺎ ﯾﮑﺪﯾﮕﺮ را ﺑﯿﺎن ﻣﯽﮐﻨﺪ.
* Compliance: ﺑﺮ ﺗﻮاﻧﺎﯾﯽ ﺗﻄﺎﺑﻖ و ﻣﻄﻠﻮﺑﯿﺖ ﻧﺮم اﻓﺰار ﻧﻈﺎرت دارد. (اﯾﻦﮐﻪ ﻧﺮم اﻓﺰار ﻣﻄﺎﺑﻖ ﺑﺎ ﻗﻮاﻋﺪ و راﻫﺒﺮدﻫﺎی آن ﺻﻨﻌﺖ ﯾﺎ ﻣﺆﺳﺴﻪ ﺑﺎﺷﺪ).
* Security: اﯾﻦ ﺧﺼﻮﺻﯿﺖ ﺑﻪ دﺳﺘﺮﺳﯽ ﻏﯿﺮﻣﺠﺎز از ﻋﻤﻠﮑﺮدﻫﺎی ﺳﯿﺴﺘﻢ ﺑﺮﻣﯽ ﮔﺮدد.
* Reliability: ﻣﺠﻤﻮﻋﻪ ای از ﺧﺼﻮﺻﯿﺎت ﮐﻪ ﻣﺮﺑﻮط ﺑﻪ ﺗﻮاﻧﺎﯾﯽ ﻧﺮم اﻓﺰار ﺑﻪ ﺣﻔﻆ ﺳﻄﺢ ﮐﺎراﯾﯽ ﺗﺤﺖ ﺷﺮاﯾﻂ ﺗﻌﯿﯿﻦ ﺷﺪه و در ﭘﺮﯾﻮد زﻣﺎﻧﯽ ﺗﻌﯿﯿﻦ ﺷﺪه ﻣﯿﺒﺎﺷﺪ.
* Maturity: اﯾﻦ ﺧﺼﻮﺻﯿﺖ ﺑﺮ ﻓﺮاواﻧﯽ ﺧﻄﺎﻫﺎی ﻣﻮﺟﻮد در ﻧﺮم اﻓﺰار دﻻﻟﺖ دارد.
* Fault tolerance: ﺗﻮاﻧﺎﯾﯽ ﻧﺮم اﻓﺰار در ﺗﺤﻤﻞ و ﺗﺮﻣﯿﻢ ﺧﻄﺎﻫﺎی ﺳﯿﺴﺘﻤﯽ و ﻣﺤﯿﻄﯽ ﻣﯽﺑﺎﺷﺪ.
* Recoverability: ﺗﻮاﻧﺎﯾﯽ ﺑﺮﮔﺮداﻧﺪن ﺳﯿﺴﺘﻢ ﺑﻪ زﻣﺎن ﻗﺒﻞ از ﺧﻄﺎ و ﺑﺎزآوری ﮐﻠﯿﻪ ارﺗﺒﺎﻃﺎت ﺷﺒﮑﻪ ای و دادهﻫﺎ.
* Usability: ﻣﺠﻤﻮﻋﻪ ای از ﺧﺼﻮﺻﯿﺎت ﮐﻪ ﻣﺮﺑﻮط ﺑﻪ اﺳﺘﻔﺎده از ﻧﺮم اﻓﺰار ﻣﯽﺑﺎﺷﺪ.
* Understandability: ﺗﻌﯿﯿﻦ ﺳﻬﻮﻟﺖ اﯾﻨﮑﻪ ﻋﻤﻠﮑﺮد ﺳﯿﺴﺘﻢ ﺑﻪ راﺣﺘﯽ ﻗﺎﺑﻞ ﻓﻬﻢ ﺑﺎﺷﺪ. ﺑﻪ ﻣﺪل ﻫﺎی ذﻫﻨﯽ ﮐﺎرﺑﺮ در روشﻫﺎی ﺗﻌﺎﻣﻞ ﮐﺎرﺑﺮ و ﮐﺎﻣﭙﯿﻮﺗﺮ 29ﺑﺮﻣﯽ ﮔﺮدد.
* Learnability: ﺑﻪ ﻣﯿﺰان ﮐﻮﺷﺶ ﺑﺮای ﯾﺎدﮔﯿﺮی ﺑﺮای ﮐﺎرﺑﺮان ﻣﺨﺘﻠﻒ اﺷﺎره دارد. ﻣﺎﻧﻨﺪ ﮐﺎرﺑﺮان ﻣﺒﺘﺪی،ﺣﺮﻓﻪ ای و …
* Operability: ﺗﻮاﻧﺎﯾﯽ ﻧﺮم اﻓﺰار در ﮐﺎر ﮐﺮدن ﺑﺎ ﯾﮏ ﮐﺎرﺑﺮ ﺗﻌﯿﯿﻦ ﺷﺪه و در ﯾﮏ ﻣﺤﯿﻂ ﺗﻌﯿﯿﻦ ﺷﺪه ﻣﯽﺑﺎﺷﺪ.
* Efficiency: ﻣﺠﻤﻮﻋﻪ ای از ﺧﺼﻮﺻﯿﺎت ﮐﻪ ﻣﺮﺑﻮط ﺑﻪ ارﺗﺒﺎط ﺑﯿﻦ ﺳﻄﺢ ﮐﺎراﯾﯽ و ﻣﻘﺪار ﻣﻨﺎﺑﻊ اﺳﺘﻔﺎده ﺷﺪه ﺗﺤﺖ ﺷﺮاﯾﻂ ﺗﻌﯿﯿﻦ ﺷﺪه ﻣﯽﺑﺎﺷﺪ.
* Time behavior: زﻣﺎن ﭘﺎﺳﺦ ﺑﺮای ﯾﮏ ﻣﺤﺼﻮل ﻣﻌﯿﻦ را ﻣﺸﺨﺺ ﻣﯽﮐﻨﺪ. ﻣﺎﻧﻨﺪ ﺳﺮﻋﺖ اﺟﺮای ﺗﺮاﮐﻨش.
* Resource behavior: ﻣﻨﺎﺑﻊ اﺳﺘﻔﺎده ﺷﺪه را ﻣﺸﺨﺺ ﻣﯽ ﮐﻨﺪ. ﻣﺎﻧﻨﺪ ﺣﺎﻓﻈﻪ، ﭘﺮدازﻧﺪه، دﯾﺴﮏ ﺷﺒﮑﻪ.
* Portability: ﻣﺠﻤﻮﻋﻪای از ﺧﺼﻮﺻﯿﺎت ﮐﻪ ﻣﺮﺑﻮط ﺑﻪ ﺗﻮاﻧﺎﯾﯽ ﻧﺮم اﻓﺰار ﺟﻬﺖ اﻧﺘﻘﺎل از ﯾﮏ ﻣﺤﯿﻂ ﺑﻪ ﻣﺤﯿﻂ دﯾﮕﺮ اﺳﺖ.
* Adaptability: ﻣﺸﺨﺺ ﮐﺮدن ﺗﻮاﻧﺎﯾﯽ ﺳﯿﺴﺘﻢ ﺟﻬﺖ ﺗﻐﯿﯿﺮ ﺧﺼﻮﺻﯿﺎت ﯾﺎ ﺗﻐﯿﯿﺮ ﺑﻪ ﯾﮏ ﻣﺤﯿﻂ ﻋﻤﻠﯿﺎﺗﯽ ﺟﺪﯾﺪ.
* Installability: ﻣﺸﺨﺺ ﮐﺮدن ﺗﻼش ﻣﻮرد ﻧﯿﺎز ﺑﺮای ﻧﺼﺐ و راه اﻧﺪازی ﻧﺮم اﻓﺰار.
* Conformance: ﻣﺎﻧﻨﺪ ﺧﺼﻮﺻﯿﺖ compliance ﺑﺮای unctionalityﻣﯽﺑﺎﺷﺪ. ﻣﻨﺘﻬﺎ در ﻣﺒﺤﺚ ﻗﺎﺑﻠﯿﺖ ﺟﺎﺑﺠﺎﯾﯽ.
* Replaceability: ﺟﻨﺒﻪﻫﺎی plug and play را در ﻣﺆﻟﻔﻪﻫﺎی ﻧﺮم اﻓﺰاری ﺗﻌﯿﯿﻦ ﻣﯽﮐﻨﺪ و اﯾﻨﮑﻪ ﭼﻘﺪر راﺣﺖ اﺳﺖ ﮐﻪ ﻣﺆﻟﻔﻪﻫﺎی ﻧﺮم اﻓﺰاری ﻣﻄﺎﺑﻖ ﺑﺎ ﻣﺤﯿﻂ ﻋﻮض ﺷﻮﻧﺪ.
* Maintainability: ﻣﺠﻤﻮﻋﻪای از ﺧﺼﻮﺻﯿﺎت ﮐﻪ ﻣﺮﺑﻮط ﺑﻪ ﺗﻮاﻧﺎﯾﯽ ﻧﺮم اﻓﺰار ﺟﻬﺖ اﻋﻤﺎل ﺗﻐﯿﯿﺮات و اﺻﻼﺣﺎت درﺧﻮاﺳﺖ ﺷﺪه ﻣﯽﺑﺎﺷﺪ
* Analyzability: ﺗﻮاﻧﺎﯾﯽ ﺗﺸﺨﯿﺺ دﻟﯿﻞ اﺻﻠﯽ ﺧﺮاﺑﯽ در ﯾﮏ ﻧﺮم اﻓﺰار را ﺗﻌﯿﯿﻦ ﻣﯽﮐﻨﺪ.
* Changeability: ﻣﯿﺰان ﺗﻼش ﺟﻬﺖ ﺗﻐﯿﯿﺮ ﯾﮏ ﺳﯿﺴﺘﻢ ﻣﯽ ﺑﺎﺷﺪ.
* Stability: ﺣﺴﺎﺳﯿﺖ ﯾﮏ ﺳﯿﺴﺘﻢ در ﻣﻘﺎﺑﻞ ﺗﻐﯿﯿﺮ ﻣﯽ ﺑﺎﺷﺪ. ( ﮐﻪ ﻣﻤﮑﻦ اﺳﺖ ﺗﻐﯿﯿﺮ، ﺗﺄﺛﯿﺮات ﻣﻨﻔﯽ و ﻧﺎﺧﻮاﺳﺘﻪای را به ﻫﻤﺮاه داﺷﺘﻪ ﺑﺎﺷﺪ).
* Testability: ﺗﻼش ﻣﻮرد ﻧﯿﺎز ﺑﺮای ﺑﺮرﺳﯽ و ﺗﺴﺖ ﺳﯿﺴﺘﻢ ﺗﻐﯿﯿﺮ داده ﺷﺪه ﻣﯽﺑﺎﺷﺪ.
ﯾﮑﯽ از ﺗﻔﺎوتﻫﺎی ﮐﻠﯿﺪی و اﺻﻠﯽ اﯾﻦ ﻣﺪل ﮐﯿﻔﯿﺘﯽ ﺑﺎ ﺳﺎﯾﺮ ﻣﺪلﻫﺎ در اﯾﻦ ﺑﻮد ﮐﻪ در آن ﻫﺮ زﯾﺮ ﺧﺼﻮﺻﯿﺖ ﺗﻨﻬﺎ ﺗﻮﺳﻂ یک خصوصیت در ﺳﻄﺢ ﺑﺎﻻﺗﺮ ﺗﺤﺖ ﺗﺄﺛﯿﺮ ﻗﺮار ﻣﯽﮔﺮﻓﺖ، در ﺣﺎﻟﯽﮐﻪ در ﺳﺎﯾﺮ ﻣﺪلﻫﺎ اﯾﻨﮕﻮﻧﻪ ﻧﺒﻮد.
5-3-7 مدل IEEE
موسسه IEEE در واقع استانداردی برای ایجاد مدل کیفیتی بیان داشته و مدل کیفیتی صریحی پیشنهاد نداده است. این موسسه، ساختار درختی را برای مدل کیفیتی بیان داشته و بیشتر تاکید بر چگونگی طراحی روش های اندازه گیری فاکتورهای کیفیتی دارد. ساختار پیشنهادی، شبه درختی با سه سطح است، که سطح آخر معیارهای کیفیتی نرم افزار هستند. در این طرح اجازه داده شده تا در صورت قابلیت اندازه گیری مستقیم، پس از سطح اول، معیارهایی برای هر یک از فاکتورهای کیفیتی مشخص شود. به عنوان طرح اولیه، یک درخت با فاکتورها و زیر فاکتورهایی به شکل زیر پیشنهاد نموده است:
* کارایی: صرفه جویی زمان و منابع.
* قابلیت اطمینان: بدون نقص بودن، تحمل خطا و در دسترس بودن.
* عملکرد: کامل بودن، صحت، امنیت، سازگاری و تعامل پذیری.
* قابلیت پشتیبانی: قابلیت آزمایش، توسعه پذیری و اصلاح پذیری.
* قابلیت حمل: استقلال از نرم افزار و قابلیت نصب و قابلیت استفاده مجدد.
* قابلیت استفاده: قابلیت درک، سادگی یادگیری، قابلیت به کارگیری و قابلیت ارتباط با کاربر.
5-3-8 مدل غیر سلسله مراتبی – ستاره ای
مدل ستاره ای کیفیت نرم افزار، یک مدل مفهومی برای نشان دادن دیدگاه های مختلف کیفیت نرم افزار است. این مدل بر مبنای تامین کننده و خریدار است. اجزاء اصلی تشکیل دهنده مدل ستاره ای عبارتند از:
1-خریدار
2-تامین کننده
3-محصول
خریدار با تامین کننده برای ساخت محصول نرم افزاری قراردادی دارند که این قرارداد بصورت کاملاً روشن و واضح خصوصیات کیفی محصول را تعیین می کند. دیدگاه خریدار از شرکت تامین کننده اینست که از بهترین تکنیک های موجود در مدیریت پروژه استفاده می کنند و خود را درگیر ساخت یک محصول با کیفیت می کنند. دیدگاه خریدار از محصول این است که باید توسط کاربران قابل قبول و قابل پذیرش باشد و توسط متخصصین تامین کننده پشتیبانی شود.
5-3-9 استاندارد TICKIT
هدف از به کارگیری این استاندارد، تولید محصول با یک چارچوب کاری عملی برای مدیریت کیفیت توسعه نرم افزار به وسیله توسعه هرچه بیشتر رویه های دریافت گواهی نامه سیستم مدیریت کیفیت است.
مطابق رویه های TICKIT ، هر شرکت می بایست دارای خط مشی کیفیت، طرح کیفیت، باشد که شامل رویه های مختلف جهت پوشش عناصر 20گانه ISO با توجه به ویژگی های صنعت نرم افزار و مستندات پشتیبان مربوط به آن است، به گونه ای که کل فرایند چرخه حیات تولید نرم افزار، تحت پوشش رویه های مذکور قرار می گیرد. بنابراین تعریف مسئله و شناسایی نیازهای مشتری، تغییرات نیازها و اثرات تغییرات در فرایند شناخت، طراحی، برنامه نویسی و آزمایش برنامه ها و سیستم و همچنین کنترل و مدیریت ویرایش های مختلف نرم افزار عرضه شده به مشتری و… همگی تحت پوشش و کنترل قرار خواهند داشت.
بر اساس رویه های TICKIT هر پروژه جدید مستلزم طرح ریزی مشخص جهت انجام آن خواهد بود. نیازمندی های نیروی انسانی، تجهیزات، ابزارها، روش های اجرایی ویژه، آموزش های ویژه و دیگر مسائل مرتبط، کلاً مطابق پیش بینی های اولیه که در رویه ها منعکس شده اند، باید بررسی، برآورد و تامین گردند.فرایند انجام فعالیت ها، ارتباط بین افراد یک گروه و ارتباطات درون سازمانی گروه با دیگران و یا ارتباط برون سازمانی با پیمانکاران فرعی و مواردی از این قبیل نیز همگی در این رویه ها دیده شده اند.این استاندارد برای برنامه نویسان، نگه داری کنندگان و تامین کنندگان خدمات نرم افزاری قابل اجراست. یکی از اهداف مهم TICKIT تحریک سازمان ها به فکر کردن درباره کیفیت در زمینه ساخت نرم افزار و چگونگی دستیابی به آن از طریق تاثیر بیشتر و کارآمد کردن فرایندها خود است.این استاندارد به خودی خود مدلی برای بهبود فرایند نرم افزار نیست. در واقع چارچوبی برای سیستم مدیریت کیفیت می باشد. اما از آن جایی که بهبود فرایند به عنوان بخشی از سیستم های مدیریت کیفیت مطرح است، می توان از مدل های موجود در این زمینه در چارچوب TICKIT بهره برد.
استانداردهای ضروری برای صدور گواهی نامه TICKIT شامل موارد زیر می شود:
* استاندارد 2000: ISO 9000
* استاندارد 2000: ISO 9001
* بخش E از راهنمایISO 9000-3
* استاندارد ISO/IEC 12207
* استاندارد ISO/IEC 9126
گواهی نامه TICKIT برای موارد زیر معتبر است:
* توسعه محصول یا ارائه خدمات نرم افزاری
* توسعه محصولات نرم افزاری درون سازمانی
* انتشار محصولات نرم افزاری
* خدمات مبتنی بر نرم افزار
* مدیریت تسهیلات فناوری اطلاعات
* عملیات کامپیوتری
* خدمات یکپارچه سازی سیستم ها
* خدمات جانبی نرم افزاری
* خدمات بایگانی و نگه داری محصولات نرم افزاری
* مقاطعه کاری به عنوان مثال جهت آزمون نرم افزار
موارد زیر از قلمرو TICKIT خارج است و این گواهی برای آن ها صادر نمی شود:
* عاملیت فروش نرم افزار
* فروش نرم افزار به صورت تکی
* نصب نرم افزارهای کاربردی بر روی کامپیوترهای شخصی
* تدارک داده برای نرم افزارهای کاربردی
عملیات ماشین های نسخه برداری و انتشار نرم افزار، زمانی که به عنوان یک فعالیت تجاری مستقل در نظر گرفته شوند.
6. مقایسه مدلهاِی کیفیت
مدل کیفیت
ساختار
تعداد سطح
ارتباط بین اجزا
معایب
مزایا
McCall
سلسله مراتبی
دو
چند به چند
همپوشانی بین اجزا
داشتن معیار اندازه گیری
Boehm
سلسله مراتبی
دو
چند به چند
نداشتن معیار ارزیابی
دارا بودن خصوصیات مرتبط با سخت افزار
URPS
سلسله مراتبی
سه
یک به چند
عدم توجه به انتقال پذیری
تفکیک نیازهای عملیاتی و غیر عملیاتی
Dromey
سلسله مراتبی
دو
یک به چند
عدم یکپارچگی اجزای مدل
ارائه مدل بر حسب مشخصات خاص نرم افزارها
ISO
سلسله مراتبی
سه
یک به چند
——-
جامعیت ویژگی های کیفی
داشتن معیار ارزیابی
Star
غیر سلسله مراتبی
——-
یک به چند
نداشتن معیار ارزیابی
ارائه ویژگی های کیفی از چند دیدگاه
مزیت اصلی ایزو نسبت به دیگر مدل های کیفیتی در جامعیت، ارایه روش سنجش و تعریف سلسله مراتب طبقه بندی ویژگی های کیفیتی نرم افزار می باشد.
7. بررسی ویژگی های کیفی نرم افزار های تحت وب بر اساس مدل ISO
در این بخش بر اساس مدل Iso شاخص های کیفیت نرم افزار آورده شده اند، شاخص های کیفیت نرم افزار با چاشنی ویژگی های نرم افزار همراه شده و در بررسی های انجام شده استانداردهای گوناگون و راهکارهای ارایه شده در مقالات علمی نیز به شاخص های اسکوئر افزوده شده و در نهایت با توجه به نیازهای سازمان های ایرانی و انتظارات آن ها از یک نرم افزار پالایش شده اند.
ویژگی های کیفی که در این بخش آمده است، عبارتند از:
* تناسب کارکردی
* اتکاپذیری
* کارایی
* قابلیت استفاده
* امنیت
* همسازی و قابلیت حمل
* قابلیت نگهداری
7-1 تناسب کاکردی
موارد مربوط به تناسب کارکردی بر اساس تقسیم بندی اسکوئر به دو دسته تقسیم بندی می شوند:
7-1-1 تناسب عملکرد: میزان و مقداری که مجموعه ای از عملکردهای نرم افزار برای اهداف کاربر و فعالیت های معین مناسب می باشد.
7-1-2 دقت: میزان و مقداری که محصول مورد نظر نتایجی با دقت قابل قبول فراهم می کند.
تناسب عملکرد:
شاخص
نحوه ی محاسبه
بازه ی نتایج
منابع اندازه گیری
کمال پیاده سازی
X=1- A/B
A: تعداد توابع پیاده سازی نشده
B: تعداد توابع و عملکردهای توصیف شده در لیست نیازمندی ها
بین 0 تا 1
بزرگتر بهتر
بسته نرم افزاری، مشخص سازی نیازمندی ها
دقت:
شاخص
نحوه ی محاسبه
بازه ی نتایج
منابع اندازه گیری
صحت پیاده سازی
X = 1 -A/B
A= تعداد کارکردهای اشتباه
B= تعداد کارکردهای توصیف شده در لیست نیازمندی ها
بین 0 تا 1
بزرگتر بهتر
بسته نرم افزاری، مشخص سازی نیازمندی ها
زمان تا خطا
X=A/T
A= تعداد محاسبات و اتفاقات غیرمنتظره و ناصحیحی که کاربر با آنها مواجه می شود
T= زمان اجرایی
بزرگتر از 0
کوچکتر بهتر
بسته نرم افزاری
صحت داده ها
خرابی داده: متفاوت بودن داده با داده ی اولیه به دلایل مختلف از جمله انتقال، ویروس،…
X = 1 -A/N
A= تعداد دفعاتی که خرابی داده رخ می دهد
N= تعداد تمام آزمون هایی که برای شناسایی خرابی داده ها بکار گرفته شدند
بین 0 تا 1
هر چه این مقدار به 1 نزدیک تر باشد بهتر است
بسته نرم افزاری
نرخ گم شدن داده ها
درصد داده هایی که درست در مقصد ثبت می شوند نسبت به کل داده هایی که ارسال می شوند.
بیش از 97 درصد
بسته نرم افزاری، پایگاه داده ها
عملکرد تبادل داده های ورودی و خروجی
X = A/B
A= تعداد فرمت های داده ای که صحت تبادل آن ها توسط ارزیابی کنندگان تایید شده است
B= تعداد کل فرمت های داده ای که قرار است مبادله شوند
بین 0 تا 1
بیشتر بهتر
بسته نرم افزاری
عملکرد انتقال داده ها
X = 1 -A/B
A= تعداد دفعاتی که کاربر در انتقال داده مابین نرم افزار مورد نظر و یک نرم افزار دیگر ناموفق بوده
B= تعداد تمام دفعاتی که کاربر برای انتقال داده اقدام می کند
بین 0 تا 1
هر چه این مقدار به 1 نزدیک تر باشد بهتر است
بسته نرم افزاری
البته لازم به ذکر است این ویژگی کیفیتی با توجه به اینکه یک نرم افزار باید در وهله اول نیازهای کارکردی مشتری را برآورده نماید تا خریداری شود و نیازمندی های کیفیتی معمولا به صورت مستقل از کارکردهای نرم افزار مطرح می باشند نمی تواند شاخص های قابل اندازه گیری زیادی داشته باشد و تاثیر آن در کیفیت نرم افزار نیز معمولا کمتر از بقیه شاخص ها می باشد، چنانچه در برخی مدل های کیفیتی مانند مدل FURPS+ که در متدلوژیRUP استفاده می گردد ویژگی های کارکردی به صورت مستقل و ویژگی هایی مانند قابلیت استفاده ،کارایی و امنیت بعنوان ویژگی های کیفیتی به صورت مستقل از ویژگی های کارکردی در نظر گرفته می شوند.
7-2 اتکاپذیری
قابلیت اطمینان به درجه ای که یک سیستم کارکردهای خاصی را تحت شرایط خاصی و در بازه زمانی خاصی انجام می دهد گفته می شود. قابلیت اطمینان به احتمال ابتلا به خطا در یک سیستم بر می گردد. موارد مربوط به قابلیت اطمینان به ۴ دسته تقسیم می شوند :
7-2-1 بلوغ یا پختگی: درجه ای که سیستم نیازهای قابلیت اطمینان را تحت شرایط عملکرد نرمال برآورده می سازد.
7-2-2 در دسترس بودن: درجه ای که سیستم یا مولفه سیستم در موارد نیاز قابل دسترسی و استفاده است.
7-2-3 تحمل خطا: درجه ای که سیستم یا مولفه علی رغم وجود خطاهای نرم افزاری و سخت افزاری عمل می کند.
7-2-4 قابلیت بازگرداندن: درجه ای که سیستم می تواند در صورت بروز شکست یا وقفه داده های تحت تاثیر قرار گرفته را باز گرداند یا سیستم را دوباره در یک حالت دلخواه برقرار کند.
در جداول زیر شاخص های مربوط به هر یک از این ویژگی های کیفی آورده شده است، توجه به نکات و تعاریف زیر جهت درک جداول زیر ضروری است:
خطا: خطا یا باگ یک کمبود در سیستم است که می تواند منجر به شکست سیستم شود. یک خطا ممکن است دلیل بسیاری از شکست ها باشد.
خرابی یا شکست: متناظر اتفاقی است که طی آن رفتار عملیاتی سیستم از آن چه نیازمندی ها الزام دارد منحرف می شود.
از کار افتادگی: بیانگر زمانی است که که انجام هر وظیفه ای از سمت کاربر موقتا متوقف می شود تا اینکه سیستم بازگردانی شود یا این که مجبور به خاموش شدن شود.
پایین بودن سیستم: زمانی است که سیستم قابل دسترسی و استفاده عملیاتی نیست.
بالا بودن سیستم: زمانی است که سیستم قابل دسترسی و استفاده عملیاتی است.
اجتناب از شکست: این شاخص را می توان برای اندازه گیری بهتر به چند زیر شاخص تقسیم کرد:
* بحرانی: تمام سیستم یا پایگاه داده از کار میافتد
* جدی: توابع مهم سیستم از کار میافتند و تعداد کمی از توابع سیستم قابل استفاده اند
* متوسط: اکثر موارد کارکرد سیستم قابل استفاده اند به جز بخشی از توابع
* کوچک: فقط تعداد محدودی از امکانات غیر مهم سیستم قابل استفاده نیستند.
پختگی
شاخص
نحوه محاسبه
بازه نتایج
منابع اندازه گیری
تراکم شکست در برابر مورد های آزمون
نسبت تعداد شکست ها به تعداد موردهای آزمون انجام شده
بین 0 و 1
کوچکتر بهتر
بسته نرم افزاری
تراکم خطا
نسبت تعداد خطاها به تعداد موردهای آزمون انجام شده
بین 0 و 1
کوچکتر بهتر
بسته نرم افزاری
میانگین زمان بین وقوع شکست ها
نسبت زمان عملیات و زمان مجموع فواصل بین شکست ها به تعداد خطاهای شناسایی شده
بزرگتر از 0
بزرگتر بهتر
بسته نرم افزاری
میانگین زمان تا وقوع خرابی
نسبت مدت زمانی که سیستم هنوز با خرابی مواجه نشده به کل زمان استفاده از سیستم
بزرگتر از 0
بزرگتر بهتر
بسته نرم افزاری
تحمل خرابی
شاخص
نحوه محاسبه
بازه نتایج
منابع اندازه گیری
اجتناب از کار افتادگی
یک منهای نسبت تعداد از کار افتادگی ها به تعداد شکست ها
بین 0 و 1
بزرگتر بهتر
بسته نرم افزاری
اجتناب از عملیات اشتباه
نسبت تعداد اجتناب ها با توجه به الگوهای شکستبه مورد آزمون های اجرا شده برای تشخیص الگوی اجتناب از عملیات اشتباه
الگوهای عملیات اشتباه عبارت اند از: الگوهای اشتباه عملکرد، انواع داده اشتباه به عنوان ورودی، ورودی با توالی اشتباه، توالی اشتباه عملیات ها
بین 0 و 1
بزرگتر بهتر
بسته نرم افزاری
قابلیت بازگرداندن
شاخص
نحوه محاسبه
بازه نتایج
منابع اندازه گیری
میانگین زمان پایین بودن سیستم
نسبت زمان پایین بودن سیستم به کل تعداد از کار افتادگی ها
بزرگتر از 0
بزرگتر بهتر
بسته نرم افزاری
میانگین زمان بازگردانی
نسبت مجموع زمان های بازگردانی سیستم بعد از هر از کار افتادگی به تعداد دفعاتی که سیستم وارد حالت بازگردانی می شود
بزرگتر از 0
کوچکتر بهتر
بسته نرم افزاری
قابلیت راه اندازی مجدد
نسبت مجموع دفعاتی که سیستم راه اندازی مجدد می کند و محدودیت زمانی لازم را رعایت می کند به کل دفعات راه اندازی مجدد
محدودیت زمانی بیانگر زمانی است که تعریف شده و بازگردانی طی آن قابل قبول است.
بین 0 و 1
بزرگتر بهتر
بسته نرم افزاری
توانایی باز گردانی
نسبت تعداد دفعات بازگردانی موفق از خطا به کل دفعات بازگردانی مورد آزمایش قرار گرفته
بین 0 و 1
بزرگتر بهتر
بسته نرم افزاری
گم شدن داده ها
نسبت تعداد دفعاتی که داده های مهم از دست می روند به نسبت تعداد کل خرابی ها
بین 0 و 1
کوچکتر بهتر
بسته نرم افزاری
قابلیت بهره برداری از سیستم در درجه پایین تر
نسبت تعداد دفعاتی که سیستم قابلیت بهره برداری در درجه ای پایین تر را دارد به تعداد کل خرابی ها
بهره برداری در درجه کمتر یعنی که سیستم با امکانات کمتر هنوز قابل استفاده باشد.
بین 0 و 1
بزرگتر بهتر
بسته نرم افزاری، توافقنامه سطح و شرایط سرویس
دردسترس بودن
شاخص
نحوه محاسبه
بازه نتایج
منابع اندازه گیری
میزان دسترس پذیری
نسبت تعداد دفعاتی که کاربر با موفقیت از سیستم استفاده می کند به کل دفعاتی که کاربر از سیستم استفاده می کند
بین 0 و 1
بزرگتر بهتر
بسته نرم افزاری
زمان بالا بودن
نسبت زمانی که سیستم بالاست
به مجموع زمان هایی که سیستم بالاست و سیستم پایین است
بین 0 و 1
بزرگتر بهتر
بسته نرم افزاری
زمان پایین بودن کوتاه مدت
نسبت زمانی که سیستم پایین است
به مجموع زمان هایی که سیستم بالاست و سیستم پایین است
مدت زمانی که سیستم پایین است ولی در آینده باز گردانی می شود
بین 0 و 1
کوچکتر بهتر
بسته نرم افزاری
زمان پایین بودن بلندمدت
یک منهای نسبت زمانی که سیستم پایین ست
به مجموع زمان هایی که سیستم بالاست و سیستم پایین است
سیستم در این حالت مدت زیادی پایین است که زمان بازگردانی آن نامشخص است
بین 0 و 1
کوچکتر بهتر
بسته نرم افزاری
نرخ سرویس
نسبت زمان سرویسی که سیستم در اختیار می گذارد به نسبت زمان سرویسی که در برنامه عملیاتی سیستم آمده است.
بین 0 و 1
بزرگتر بهتر
بسته نرم افزاری، توافقنامه سطح و شرایط سرویس
7-3 قابلیت استفاده
قابلیت استفاده نمایانگر آنست که یک نرم افزار و فرآورده های جانبی آن تا چه اندازه می توانند توسط کاربر یاد گرفته، درک شده، مورد استفاده قرار گرفته و نیاز کاربر را ارضا نماید. این زمینه ی کیفیتی با توجه به تحقیقاتی که انجام شده (بخش پیوست ها، لیست استانداردهای نرم افزار های خدماتی در سطح بین الملل) در بیشتر کشورهای مطرح جهان به عنوان تنها استاندارد عمومی برای نرم افزار های دولتی یا خدماتی مطرح است. بر اساس طبقه بندی اسکوئر قابلیت استفاده از چند مولفه تشکیل می شود:
7-3-1 وضوح کارکردی: میزانی که کاربر یک محصول، مطلوبیت ویژگی ها و مولفه های آن را در راستای ارضای نیازمندی های خود به وضوح درک می کند.
7-3-2 سهولت استفاده: میزانی راحتی استفاده و کنترل یک نرم افزار توسط کاربر.
7-3-3 محافظت از کاربر در مقابل خطا: میزانی که سیستم کاربر را از انجام اشتباه دور می کند.
7-3-4 زیبایی واسط کاربر: میزان جذابیت و مناسبت واسط کاربری برای کاربران.
7-3-5 سهولت فراگیری: میزان سهولت یادگیری کارایی های سیستم برای کاربران.
7-3-6 دسترس پذیری: سهولت استفاده از سیستم برای کاربرانی با معلولیت های خاص.
در شاخص های زیر توجه به این نکته ضروری است که صفحه به هر نمایش متمایزی از یک نرم افزار گفته می شود که می تواند حاوی اطلاعات یا فرم ها یا پیام ها باشد، فرم مجموعه ای از عناصر واسط کاربری مانند دکمه و لیست است که یک موجودیت اطلاعاتی را می سازد، پیام ها متن های محاوره نرم افزار و کاربر در نقاط مشخضی از فرآیندهای کاری می باشند، به هر فرآیند کاری یک نرم افزار که هدف مشخصی برای کاربر را دنبال می کند، نیز یک خدمت گفته می شود، خدمات ممکن است بخش خارج از نرم افزار نیز داشته باشند.
قابلیت استفاده مطرح در این قسمت ناظر بر مرورگر اینترنتی بوده و می توان جهت مقاصد خاص آن را برای بستر موبایل خصوصی سازی نمود، در این مورد باید به مطالب بخش خصوصیات شاخص های جدید در این مستند توجه گردد.
وضوح کارکردی
شاخص
نحوه محاسبه
بازه نتایج
منابع اندازه گیری
شفافیت پیام
نسبت پیام های شفاف به کل پیام های سیستم
بین 0 تا 1
بزرگتر بهتر
بسته نرم افزاری
گروه بندی عناصر واسط کاربری
چند درصد از فرم ها دارای گروه بندی منطقی و متناسب با کارکردهای عناصر هستند؟
بین 0 تا 1
بزرگتر بهتر
بسته نرم افزاری
نام گذاری عناصر واسط کاربری
چند درصد از فرم ها دارای نام گذاری صحیح، کوتاه و یکتای عناصر هستند؟
بین 0 تا 1
بزرگتر بهتر
بسته نرم افزاری
ساختاربندی محتوا
چند درصد از محتوای زیر بخش های محتوایی زیر مجموعه مفهومی بخش بالاتر از خود است؟
بین 0 تا 1
بزرگتر بهتر
بسته نرم افزاری
اطلاعات مالکیت نرم افزار
وجود اطلاعات کپی رایت و نام سازمان، قسمت تماس با ، اطلاعات تماس فیزیکی و تلفنی و ایمیلی
بین 0 تا 100
بزرگتر بهتر
بسته نرم افزاری
قسمت شرایط و ضوابط استفاده از نرم افزار
وجود و جامعیت این بخش
بین 0 یا 1
1 بهتر
بسته نرم افزاری
قسمت محرمانگی اطلاعات
وجود و جامعیت این بخش
بین 0 یا 1
1 بهتر
بسته نرم افزاری
توالی فوکوس
نسبت فرم ها یا ویزاردهایی که توالی فوکوس عناصر در آن ها به ترتیب فرآیند پر کردن باشد نسبت به کل فرم ها و ویزاردها
بین 0 تا 1
بزرگتر بهتر
بسته نرم افزاری
عنوان صفحات
نسبت عناوین صحیح و گویا به کل عناوین صفحات
بین 0 تا 1
بزرگتر بهتر
بسته نرم افزاری
محافظت از کاربر در مقابل خطا
شاخص
نحوه محاسبه
بازه نتایج
منابع اندازه گیری
بررسی صحت ورودی
نسبت فیلدهای اعتبار سنجی شونده به کل فیلدهایی که باید اعتبارسنجی شوند
بین 0 تا 1
بزرگتر بهتر
بسته نرم افزاری
چک کردن املایی
نسبت جعبه های متنی چک شونده به کل جعبه های متنی
بین 0 تا 1
بزرگتر بهتر
بسته نرم افزاری
ناوش به محل بروز خطا
نسبت فرم هایی که در صورت بروز خطا در اطلاعات ورودی به محل خطا ناوش می شوند به کل فرم ها
بین 0 تا 1
بزرگتر بهتر
بسته نرم افزاری
نمایش خطاهای برنامه نویسی
آیا در صورت بروز خطای برنامه نویسی صفحه مناسب و کاربر پسندی نمایش داده می شود؟
بین 0 یا 1
1 بهتر
بسته نرم افزاری
زیبایی واسط کاربر
شاخص
نحوه محاسبه
بازه نتایج
منابع اندازه گیری
یکپارچگی کارایی و ظاهر صفحات
نسبت صفحات با ظاهر یکپارچه با نرم افزار به کل صفحات
بین 0 تا 1
بزرگتر بهتر
بسته نرم افزاری
محاوره جذاب با سیستم
نسبت خدماتی که به نظر دو فرد ارزیاب جذاب و جامع هستند به کل خدمات
بین 0 تا 1
بزرگتر بهتر
بسته نرم افزاری
قابلیت شخصی سازی
نسبت عناصری از فرم ها که قابل شخصی سازی هستند به کل عناصری که در صفحه وجود دارند.
شخصی سازی حداقل به معنای اخذ یک تم توسط کاربر و نگهداری آن توسط سیستم است.
بین 0 تا 1
بزرگتر بهتر
بسته نرم افزاری
سهولت فراگیری
شاخص
نحوه محاسبه
بازه نتایج
منابع اندازه گیری
کمال دموی کارایی ها
نسبت کارایی های دمو شده نرم افزار در راهنما به کل کارایی هایی که نیاز به دمو دارند
بین 0 تا 1
بزرگتر بهتر
بسته نرم افزاری، راهنما
کمال توصیف کارایی ها
نسبت کارایی های دمو شده نرم افزار به کل کارایی ها
بین 0 تا 1
بزرگتر بهتر
بسته نرم افزاری، راهنما
استقلال راهنما از پلتفرم
قابلیت به کارگیری راهنما در سیستم آزاد و بدون محدودیت سکوی نرم افزاری
بین 0 یا 1
1 بهتر
بسته نرم افزاری
ارایه کلیدهای میانبر
نسبت وظایف پر استفاده که کلید میان بر دارند نسبت به کل وظایف پر استفاده در تمامی منو ها و لیست ها
بین 0 تا 1
بزرگتر بهتر
بسته نرم افزاری
دسترس پذیری
شاخص
نحوه محاسبه
بازه نتایج
منابع اندازه گیری
پشتیبانی از ابزارهای شبه کیبورد
نسبت تعداد فیلد های انتخابی، عددی و متنی که بدون کیبورد قابل ورود هستند به کل فیلد های انتخابی، عددی و متنی
اتکا به کیبورد مجازی سیستم عامل در این زمینه کفایت نمی کند
بین 0 تا 1
بزرگتر بهتر
بسته نرم افزاری
سازگاری با تکنولوژی دسترس پذیری
نسبت فیلد ها و عناصر فایلی دارای توضیح پنهان به کل فیلدها
بین 0 تا 1
بزرگتر بهتر
بسته نرم افزاری
کفایت کیبورد
نسبت تعداد خدماتی که با کیبورد کاملاً قابل انجام است به کل خدمات
بین 0 تا 1
بزرگتر بهتر
بسته نرم افزاری
کنتراست مناسب
نسبت فرم های دارای اجزای نزدیک به هم به کل فرم ها
بین 0 تا 1
بزرگتر بهتر
بسته نرم افزاری
7-4 امنیت
بر مبنای تعریف ایزو 12207 امنیت عبارتست از حفاظت از داده ها به طوری که کاربران تصدیق شده از کار خود منع نشوند و در مقابل کاربران شناسایی نشده یا بدون حقوق دسترسی نتوانند داده ها را مشاهده کرده یا تغییر دهند. فایده اصلی امنیت برای یک سیستم اطلاعاتی ایجاد اعتماد در ذی نفعان می باشد. طبق تقسیم بندی اسکوئر امنیت به پنج زیر مولفه تقسیم می شود:
7-4-1 رازداری: میزانی که یک سیستم از افشای اطلاعات به صورت اتفاقی یا برنامه ریزی شده جلوگیری می نماید.
7-4-2 یکپارچگی: درجه ای که یک سیستم یا مولفه از دسترسی و تغییرات بدون مجوز داده و یا برنامه های کامپیوتری جلوگیری می کند.
7-4-3 عدم انکارپذیری:ثبت و برقراری ارتباط یک فعالیت به انجام دهنده آن به نحوی که قابل انکار یا کتمان نباشد.
7-4-4 مسئولیت پذیری: میزان دقت نگهداری اطلاعات مربوط به فعالیت های یک موجودیت در سیستم.
7-4-5 سندیت: میزان صحت و اتکا پذیری عملیات شناسایی و احصای ویژگی های امنیتی یک موضوع امنیتی مانند یک کاربر و یا تکه ای از اطلاعات.
رازداری
شاخص
نحوه محاسبه
بازه نتایج
منابع اندازه گیری
کنترل پذیری دسترسی
تعداد دسترسی های غیر مجاز ثبت شده نسبت به کل دسترسی های غیر مجاز
بین 0 تا 1
بزرگتر بهتر
بالای 0.9 قابل قبول
بسته نرم افزاری
رمزگذاری داده ها
تعداد اقلام داده ای که به رمزگذاری شده اند نسبت به کل اقلامی که نیاز به رمزگذاری دارند
بین 0 تا 1
بزرگتر بهتر
بسته نرم افزاری، پایگاه داده ها
وجود سیستم مدیریت کاربران
وجود سیستم مدیریت تمام کاربران سامانه از جمله مدیران کل (10 درصد) و کاربران (15 درصد)، حقوق دسترسی با قابلیت منع کردن هر کاربر از هر کارکرد(75 درصد) یا از کل کارکردهای سیستم(50 درصد)
مجموع نمرات بین 0 تا 100
بزرگتر بهتر
بسته نرم افزاری
یکپارچگی
شاخص
نحوه محاسبه
بازه نتایج
منابع اندازه گیری
جلوگیری از خرابی داده ها
نسبت تعداد موارد خرابی داده به کل دسترسی هایی که احتمال خرابی داده در آن ها هست
بین 0 تا 1
کوچکتر بهتر
بسته نرم افزاری
وجود سیاست رمزهای عبور
آیا از گرفتن رمز عبورهای ساده جلوگیری می کند؟
0 یا 100
100 بهتر
بسته نرم افزاری
پشتیبان گیری
وجود سامانه پشتیبان گیری با قابلیت بازگرداندن وضعیت به حالت قبلی (به صورت ساعتی 70 روزانه 50، قابلیت بازرگردانی اتوماتیک 30)
0 یا 100
100 بهتر
بسته نرم افزاری
عدم انکارپذیری
شاخص
نحوه محاسبه
بازه نتایج
منابع اندازه گیری
کاربرد امضای دیجیتال
نسبت کارکردهایی که با امضای دیجیتال نشان گذاری شده اند نسبت به کل کارکردهایی که به عدم انکارپذیری نیاز دارند
بین 0 تا 1
بزرگتر بهتر
بسته نرم افزاری
مسئولیت پذیری
شاخص
نحوه محاسبه
بازه نتایج
منابع اندازه گیری
استماع پذیری دسترسی
تعداد دسترسی های ثبت شده نسبت به کل دسترسی ها به سیستم
بین 0 تا 1
بزرگتر بهتر
بسته نرم افزاری
تطابق سیاست های امنیتی و پیاده سازی سیستم
تعداد سیاست های درست پیاده سازی شده به کل سیاست های مستند شده
بین 0 تا 1
بزرگتر بهتر
بسته نرم افزاری، سیاست های امنیتی
سندیت
شاخص
نحوه محاسبه
بازه نتایج
منابع اندازه گیری
روش های تصدیق هویت
نسبت تعداد روش هایی که برای تصدیق هویت به کار می روند به کل روش های لازم برای تصدیق هویت
بین 0 تا 1
بزرگتر بهتر
بسته نرم افزاری
پروتکل دسترسی
استفاده از پروتکل های ایمن جهت جلوگیری از سرقت اطلاعات در فرم های اطلاعات کاربران، ورود و دیگر فرم های با اهمیت
0 یا 100
100 بهتر
بسته نرم افزاری
7-5 همسازی و قابلیت حمل
برای آنکه یک سیستم را تبدیل به یک سیستم قابل حمل کنند استراتژی هایی وجود دارد که این استراتژی ها عبارتند از:
* سیستم های مشابه ،انتقال فایل برنامه نصب شده به کامپیوتر دیگر با همان معماری
* سیستم های مختلف، پردازش گرهای یکسان(نصب مجدد برنامه از فایل های توزیع بر روی کامپیوتر دیگر و در واقع همان معماری)
* پردازش گرهای متفاوت (ساخت برنامه های اجرایی برای سیستم عامل های مختلف از کد منبع)
پس از بررسی ویژگی های نرم افزار قابل حمل به تقسیم بندی این ویژگی کیفیتی می پردازیم و در ادامه به بررسی هر یک از شاخص های آن پرداخته می شود:
7-5-1 سازگاری: میزان تطبیق پذیری نرم افزار با محیط های تصریح شده در مستند نیازمندی ها، بدون انجام هیچ فعالیت تکمیلی یا اضافه.
7-5-2 قابلیت نصب: مشخصه هایی از نرم افزار که بر تلاش مورد نیاز برای نصب نرم افزار در یک محیط تصریح شده در مستند نیازمندی ها دلالت دارند. این ویژگی، مستقل از اندازه می باشد و اگرچه بعنوان یک ویژگی در همه نرم افزارها اهمیت دارد بیشتر در تولید بسته های نرم افزاری مطرح است.
7-5-3 قابلیت جایگزینی:در قالب سوال "آیا نرم افزار به سادگی قابلیت جایگزینی با سایر نرم افزارهای مشابه را دارد " مطرح می شود.
سازگاری در واقع درجه ای که یک محصول ، سیستم و یا جزء می تواند اطلاعات را با سایر محصولات ، سیستم ها یا اجزای سازنده تبادل کند و یا تابع مورد نیاز را درحالی که سخت افزار و یا محیط نرم افزار یکسان را به اشتراک گذاشته، انجام دهد. سازگاری شامل دو زیر شاخه می شود که عبارتند از:
7-5-4 همزیستی: درجه ای که محصول می تواند کارکردهای خود را داشته باشد در حالی که محیط و منابع را با محصولات دیگر به اشتراک گذاشته است.
قابلیت همکاری: قابلیت همکاری به معنای توانایی برقراری روابط مورد نیاز با دیگر سیستم های تعیین شده است. به معنای دیگر درجه ای که دو یا تعداد بیشتری سیستم ، محصول و یا جزء می تواند اطلاعات را مبادله کنند و از این اطلاعات رد و بدل شده استفاده کنند.
سازگاری
شاخص
نحوه محاسبه
بازه نتایج
منابع اندازه گیری
سازگاری محیطی
نسبت تعداد خدمات که در اثر تغییر سخت افزار، نرم افزار یا شرایط سازمانی هنوز درست اجرا می شوند به تعداد کل توابع مورد آزمون (وب سایت در صورت استفاده از مرورگرهای مختلف از جمله اینرنت اکسپلورر نسخه 6 با بالا، فایرفاکس 9.6 به بالا، کروم و اپرا به خوبی تمامی خدمات را ارایه کند)
در محدوده 85% تا 100% قابل قبول است.
بسته نرم افزاری
قابلیت نصب
شاخص
نحوه محاسبه
بازه نتایج
منابع اندازه گیری
زمان نصب
کل زمانی که برای نصب موفق سیستم سپری شده.
باید کمتر از یک ساعت باشد
بسته نرم افزاری
قابلیت جایگزینی
شاخص
نحوه محاسبه
بازه نتایج
منابع اندازه گیری
جامعیت تابعی
نسبت تعداد خدماتی که خروجی ها و مراحل یکسانی با فرآیندهای قبل از سیستم دارند به کل خدمات
در محدوده 85% تا 100% قابل قبول است.
بسته نرم افزاری
جامعیت داده ای
نسبت تعداد خدماتی که داده ها و گزراشات یکسانی با فرآیندهای قبل از سیستم دارند به کل خدمات
در محدوده 85% تا 100% قابل قبول است.
بسته نرم افزاری، پایگاه داده
همزیستی
شاخص
نحوه محاسبه
بازه نتایج
منابع اندازه گیری
انتخاب زبان های قابل حمل
انتخاب زبان برنامه نویسی بر اساس معماری نرم افزار (شاخص های داخلی کیفیت نرم افزار)
سازگاری با همه سیستم ها
بسته نرم افزاری
قابلیت همکاری
شاخص
نحوه محاسبه
بازه نتایج
منابع اندازه گیری
رعایت استاندارد های مرتبط با قابلیت حمل
پشتیبانی از وب سرویس 100، پشتیبانی از واسط های برنامه نویسی 70، خروجی فایل به فرمت استاندارد و قابل فهم 50
در صورتی که نقاط اتصال به برنامه های همکار بیش از یکی باشد باید میانگین امتیازها مد نظر قرار گیرد
بین 85 تا 100 درصد
بسته نرم افزاری
7-6 قابلیت نگهداری
درجه و مقدار تاثیرگذاری و بازدهی برای اعمال تغییرات در یک محصول را قابلیت نگهداری گویند. تغییراتی همچون حذف خطاها و یا بهبود محصول. این معیار را به 5 مولفه تشکیل دهنده تقسیم می شود:
7-6-1 پیمانه ای بودن: میزانی که نشان می دهد چقدر یک نرم افزار از مولفه های مستقل از هم تشکیل شده است؛ به طوریکه تغییر روی یکی از ولفه ها روی بقیه آن ها تاثیر چندانی نمی گذارد .
7-6-2 قابلیت استفاده مجدد: میزانی که نشان می دهد چقدر نرم افزار قابلیت استفاده مجدد دارد و چقدر دارایی ها در نرم افزارهای مختلف قابل استفاده هستند.
7-6-3 تحلیل پذیری: میزانی که نشان می دهد چقدر راحت می توان تاثیر یک تغییر بر روی سیستم نرم افزاری را تحلیل کرد. در واقع این معیار میزان تلاش و هزینه ای را که کاربر یا پشتیبان سیستم(کاربر و پشتیبان در این به عنوان فردی در نظر گرفته می شوند که در صدد رفع خطای سیستم است) برای تشخیص نقایص و علل شکست سیستم انجام می دهند تا مناطقی را که باید اصلاح شوند پیدا کنند، اندازه گیری می کند.
7-6-4 تغییرپذیری : میزانی که می توان یک سیستم را به صورت پربازده و کارا مورد تغییر قرار داد که این تغییر بر روی عملکرد سیستم تاثیر مخربی نداشته باشد. در واقع این معیار میزان تلاش کاربر، پشتیبان و سیستم را برای پیاده سازی اصلاحات مشخص شده، اندازه گیری می کند.
7-6-5 قابلیت تست : چقدر راحت می توان برای سیستم، حوزه های تست تعریف نمود و آن را بر اساس حوزه ی مورد نظر مورد تست و ارزیابی قرار داد. در واقع این معیار میزان تلاش کاربر، پشتیبان و سیستم را در زمان آزمودن سیستم اصلاح شده یا نشده، اندازه گیری می کند.
بیشتر خصوصیات مربوط به این زمینه در کد و مولفه های نرم افزاری قابل اندازه گیری است و به سبب اتخاذ سیاست ارزیابی نرم افزار بدون استفاده گسترده از کد و سنجش خارجی این شاخص ها برای سنجش کیفیت نرم افزار های مبتنی بر وب پیشنهاد نمی شوند. شاخص های زیر از این دسته هستند:
* قوت رابطه بین مولفه های مختلف نرم افزار
* وجود توابع تشخیصی برای پشتیبانی سیستم و شناسایی ایرادات
* وجود کامنت و مستندسازی تغییرات انجام شده در کد برنامه
* کارایی تست برای بهبود ایرادات سیستم
برخی دیگر از شاخص های مرتبط به این زمینه نیز به کیفیت در استفاده مربوط می شوند که بازهم از حیطه فعلی پروژه و خط مشی گذاری کنونی خارج است، از جمله:
* نسبت موفقیت تغییر میزانی که کاربران پس از تغییرات و عملیات پشتیبانی با موفقیت از سیستم استفاده می کنند.
* بسامد تغییرات لازم برای نرم افزار و زمان لازم برای هر تغییر
* سادگی و صرف زمان کم برای شناسایی علت خرابی ها
* کارایی چرخه تغییر نرم افزار با توجه به نیاز کاربر
* قابلیت تغییر نرم افزار در سناریوهای مختلف پیش آمده
از سوی دیگر وجود این شاخص های کیفیتی در یک نرم افزار سود بسیاری برای تولیدکننده دارد و کمتر توسط مشتری و کاربران احساس می شود. تولیدکنندگان نرم افزاری که محصولات مشابه یا نسخه هایی از یک محصول دارند یا آن هایی که خط تولید نرم افزار را در شرکت ها بنا نهاده اند، بیش از بقیه تولیدکنندگان به این ویژگی ها احتیاج دارند. موارد دیگری از این دست عبارتند از:
* میزان ثبت داده از مراحل مختلف یک فعالیت (مشترک با امنیت)
* قابلیت فهم وظیفه اجزای سیستم توسط کاربر (مشترک با قابلیت استفاده)
* روشن بودن پیام های سیستم برای کاربر (مشترک با قابلیت استفاده)
البته شاخص هایی مانند تطبیق پذیری با پلتفرم های گوناگون و یا سازگاری نسخه جدید با نسخه های قبلی نیز در این زمینه وجود دارند که بعلت ذکر در بخش همسازی و قابلیت حمل از ذکر آن ها در این بخش خودداری شده است.
در زیر به شاخص هایی که در زمینه قابلیت نگهداری وجود دارند و با خط مشی اتخاذ شده برای فعالیت مراکز مستقل تصدیق کیفیت نرم افزار همخوانی دارند اشاره شده است:
مولفه نگهداری پذیری
شاخص
نحوه محاسبه
بازه نتایج
منابع اندازه گیری
تحلیل پذیری
کمال ثبت جزئیات عملیات
X = A/B
A= تعداد داده هایی که در طول عملیات ذخیره شده اند
B= تعداد داده های مورد نیاز که قرار بود برای نظارت وضعیت نرم افزار در طول عملیات ذخیره شوند.
بین 0 و 1
بزرگتر بهتر
بسته نرم افزاری، دیتابیس
تغییرپذیری
توانایی کنترل تغییر نرم افزار
X = A/B
A= تعداد تغییرات ثبت شده در فایل لاگ سیستم
B= تعداد کل تغییرات کارکردی سیستم در نسخه جدید
بین 0 و 1
بزرگتر بهتر
بسته نرم افزاری، راهنمای کاربر
تغییرپذیری
آمادگی افزودن مولفه
X=A/B
A= تعداد مواردی که بدون تغییر بر روی سیستم موفق به اضافه کردن مولفه ای جدید به آن شدیم
B = تعداد کل مواردی که برای اضافه کردن مولفه ای جدید به سیستم اقدام شده است
بین 0 و 1
بزرگتر بهتر
بسته نرم افزاری
قابلیت تست
قابلیت آغاز دوباره آزمون
X = A/B
A= تعداد مواردی که پشتیبان می تواند اجرای تست را متوقف و از سر نقطه بازرسی دلخواهش شروع کند
B= تعداد کل مواردی که اجرای تست متوقف می شود
بین 0 و 1
بزرگتر بهتر
بسته نرم افزاری
قابلیت تست
استقلال قابلیت آزمون
X=A/B
A= تعداد وابستگی ها به سیستم های دیگر برای آزمون.
B = تعداد کل وابستگی ها به سیستم های دیگر.
بین 0 و 1
بزرگتر بهتر
بسته نرم افزاری
8. نتیجه گیری
ﯾﮑﯽ از ﻣﻬﻤﺘﺮﯾﻦ ﭼﺎﻟﺶ ﻫﺎی ﺑﺤﺚ ﮐﯿﻔﯿﺖ ﻧﺮم اﻓﺰار ﺑﻪ اﯾﻦ ﻣﻮرد ﺑﺮﻣﯽ ﮔﺸﺖ ﮐﻪ اﺳﺘﺎﻧﺪاری ﺑﺮای آن وﺟﻮد ﻧﺪاﺷﺖ. ﻣﺸﺎﻫﺪه ﺷﺪ ﮐﻪ درﻣﺪلﻫﺎی ﻣﺨﺘﻠﻒ دﯾﺪﮔﺎهﻫﺎی ﻣﺨﺘﻠﻔﯽ ﻧﺴﺒﺖ ﺑﻪ ﺧﺼﻮﺻﯿﺎت ﮐﯿﻔﯽ وﺟﻮد دارد. ﻣﺰﯾﺖ اﺳﺘﻔﺎده ازﻣﺪل ﻫﺎی ﮐﯿﻔﯽ، ﺳﺎدﮔﯽ اﺳﺘﻔﺎده از آﻧﻬﺎ و داﺷﺘﻦ ﯾﮏ ﭼﺎرﭼﻮب و ﻣﻌﯿﺎرﻫﺎی ﺑﺮای اﻧﺪازه ﮔﯿﺮی ﺧﺼﻮﺻﯿﺎت ﮐﯿﻔﯽ ﻣﯽ ﺑﺎﺷﺪ. درزﻣﺎن ﻃﺮاﺣﯽ ﺳﯿﺴﺘﻢ ﺑﻬﺘﺮ اﺳﺖ درﻣﺮاﺣﻞ اوﻟﯿﻪ ﻣﻌﻤﺎری ﺧﺼﻮﺻﯿﺎت ﮐﯿﻔﯽ ﺷﻨﺎﺧﺘﻪ و ﻣﺼﺎﻟﺤﻪ ﺑﯿﻦ آن اﻧﺠﺎم ﺷﻮد . واﮔﺬاری ﻧﯿﺎزﻣﻨﺪیﻫﺎی ﮐﯿﻔﯽ از ﻣﺮﺣﻠﻪ ﺷﻨﺎﺧﺖ ﻧﯿﺎزﻣﻨﺪیﻫﺎی ﮐﯿﻔﯽ ﺑﻪ ﻣﺮاﺣﻞ ﺑﻌﺪﺗﺮ ﻣﻮﺟﺐ اﻓﺰاﯾﺶ ﻫﺰﯾﻨﻪ )زﻣﺎﻧﯽ و ﭘﻮﻟﯽ( در ﻣﺮاﺣﻞ ﺑﻌﺪی ﺧﻮاﻫﺪ ﺷﺪ.
9. منابع
[1] S. K. Dubey, S.Ghosh, A. Rana "Comparison of Software Quality Models: An Analytical Approach", February 2012
[2] P. Botella, X. Burgués, J.P. Carvallo, "ISO/IEC 9126 in practice: what do we need to know? "
[3] Barbara Kitchenham, "Software Quality : The Elusive Target", IEEE
Vol. 13, No. 1: JANUARY 1996, pp. 12-21
[4] D. Jamwal, "Analysis of Software Quality Models for Organizations",
(E-ISSN: 2045-5364) 19 Volume 1, Issue 2, December 2010
[5] محسن زاده، "خصوصیات کیفی نرم افزار" ،علوم و تحقیقات تهران
[6]آزمایشگاه تصدیق کیفیت نرم افزار http://takna.ut.ac.ir
[7] وبلاگ بهشید بهکمال
http://fumblog.um.ac.ir/fumindex.php?op=Default&postCategoryId=28&blogId=21
1 Development Process
2 Management Process
3 Maintenance Process
4 Validation
5 Verification
6 User Requirements
7 Software Requirements
8 Architectural Design
9 Detailed Design
10 Transfer of the Software
11 Operation & Maintenance
12 Operation
13 Meet Specification
14 Transition
15 As is Utility
16 Portability
17 Maintainability
18 Supportability
19 extensibility
20 adaptability
21 serviceability
22 installability
23 Performance
24 Security
25 Availability
26 Portability
27 Reusability
28 Testability
29 Human Computer Interaction methods
—————
————————————————————
—————
————————————————————
2