زنگ

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

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

1.1 مبانی سری استانداردهای ISO 9000

اول، سری استانداردهای ISO 9000 به تمام استانداردهای بین المللی توسعه یافته توسط کمیته فنی 176، مدیریت کیفیت و تضمین کیفیت، سازمان بین المللی استاندارد (ISO) اشاره دارد. این سری در حال حاضر شامل تمامی استانداردهای بین المللی با شماره 9000 تا 9004 (شامل تمام قطعات ISO 9000 و ISO 9004)، 10001 تا 10020 (شامل تمام قطعات) و ISO 8402 می باشد. نام استانداردهای اصلی تشکیل دهنده این سری در زیر آورده شده است. .

استانداردهای ISO 9000-1-94 برای مدیریت کیفیت و تضمین کیفیت. بخش 1. راهنمای انتخاب برای استفاده.

استانداردهای ISO 9000-2-93 در زمینه مدیریت کیفیت و تضمین کیفیت. بخش 2: راهنمای عمومی برای استفاده از ISO 9001، ISO 9002 و ISO 9003.

استانداردهای ISO 9000-3-91 برای مدیریت کیفیت و تضمین کیفیت. بخش 3: دستورالعمل های کاربرد ISO 9001 در توسعه، تحویل و نگهداری نرم افزار.

استانداردهای ISO 9000-4-93 برای مدیریت کیفیت و تضمین کیفیت. بخش 4: دستورالعمل های مدیریت برنامه قابلیت اطمینان عمومی.

سیستم های کیفیت ISO 9001-94. مدلی برای تضمین کیفیت در طراحی، توسعه، تولید، نصب و نگهداری.

سیستم های کیفیت ISO 9002-94. مدلی برای تضمین کیفیت در تولید، نصب و نگهداری.

سیستم های کیفیت ISO 9003-94. مدلی برای تضمین کیفیت در طول بازرسی محصول نهایی و آزمایش نهایی.

ISO 9004-1-94 مدیریت کیفیت و عناصر یک سیستم کیفیت. بخش 1: دستورالعمل.

ISO 9004-2-91 مدیریت کیفیت و عناصر یک سیستم کیفیت. بخش 2: دستورالعمل های خدمات.

ISO 9004-3-93 مدیریت کیفیت و عناصر یک سیستم کیفیت. بخش 3: دستورالعمل برای مواد فرآوری شده.

ISO 9004-4-93 مدیریت کیفیت و عناصر یک سیستم کیفیت. بخش 4: دستورالعمل های بهبود کیفیت.

سیستم های کیفیت ISO 10011-1-90. دستورالعمل های بازرسی قسمت 1. چک.

سیستم های کیفیت ISO 10011-2-91. دستورالعمل های بازرسی بخش 2. معیارهای صلاحیت برای حسابرسان خبره سیستم های کیفیت.

سیستم های کیفیت ISO 10011-3-91. دستورالعمل های بازرسی بخش 3: مدیریت اداری برنامه های بازرسی.

ISO 10012-1-92 تضمین کیفیت تجهیزات اندازه گیری. الزامات. بخش 1. سیستم های پشتیبانی اندازه گیری تجهیزات اندازه گیری.

دستورالعمل های کیفیت ISO 10013. مقررات توسعه (در مرحله انتشار).

ISO 8402-94 مدیریت کیفیت و تضمین کیفیت. فرهنگ لغت.

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

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

سری استانداردهای ISO 9000 مشخص می کند که چه عناصری باید در یک سیستم کیفیت گنجانده شوند، در حالی که خود سازمان باید آنها را با در نظر گرفتن اهداف، محصولات و فرآیندهای خاص و همچنین روش های خاص مورد استفاده سازمان اجرا کند.

علاوه بر این، دستورالعمل ها و الزامات سری استانداردهای ISO 9000 در قالب اهداف سیستم کیفیتی که باید به آنها دست یافت بیان شده است و نحوه دستیابی به این اهداف را تجویز نمی کند و انتخاب این روش ها را به مدیریت سازمان واگذار می کند. استانداردهای این سری الزامات سیستم های کیفیت را از الزامات مشتری برای محصولات متمایز می کند. الزامات سیستم های کیفیت علاوه بر الزامات فنی محصولات است. برای مثال ISO 12207 چرخه عمر توسعه نرم افزار را مشخص می کند. فرآیندها و مدل های کیفیت مربوط به فرآیند تضمین کیفیت (2.3 ISO 12207) توسط سری استانداردهای ISO 9000 ایجاد شده است.

ISO 9000-1 چهار دسته محصول کلی را که همه انواع محصولات عرضه شده توسط هر سازمان را پوشش می دهد، شناسایی می کند:

    وسایل فنی

    نرم افزار.

    مواد فرآوری شده

الزامات سیستم کیفیت تعیین شده در سری استانداردهای بین المللی ISO 9000 برای هر چهار دسته کلی محصول اعمال می شود، اما اصطلاحات و برخی مقررات و جنبه های سیستم های مدیریت کیفیت ممکن است متفاوت باشد. این امر از نام استانداردهای ISO 9004 - 2 و ISO 9004 - 3 مشهود است. لازم به ذکر است که هر سازمانی محصولاتی را حداقل در دو دسته ارائه می دهد. به عنوان مثال، سازمانی که درگیر توسعه نرم افزار است، خدمات پشتیبانی نرم افزار توسعه یافته را نیز به مشتریان خود ارائه می دهد.

هدف از دستورالعمل ها و الزامات سری استانداردهای بین المللی ISO 9000 برآوردن الزامات از منظر چهار جنبه است که برای کیفیت محصول کلیدی هستند.

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

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

3. کیفیت از طریق طراحی سازگار. جنبه سوم کیفیت به دلیل حفظ انطباق ثابت با طراحی، تحقق ویژگی های موجود در طرح است.

4. کیفیت از طریق تعمیر و نگهداری. جنبه چهارم کیفیت از طریق نگهداری محصول در حین بهره برداری در صورت لزوم برای حفظ ویژگی های مورد نظر است.

سری استانداردهای ISO 9000 به طور جامع راهنمایی های مدیریت عمومی و الزامات تضمین کیفیت خارجی را در چهار زمینه ارائه می کند.

سری استانداردهای بین المللی ISO 9000 مبتنی بر این درک است که همه کارها از طریق فرآیندها انجام می شود (شکل 1 را ببینید). هر فرآیندی دارای عوامل ورودی است. خروجی فرآیند نتیجه است - محصولات، ملموس و ناملموس. این فرآیند به خودی خود یک تحول ارزش افزوده است (یا باید باشد). هر فرآیندی تا حدودی شامل افراد و/یا منابع دیگر می شود. خروجی می تواند به عنوان مثال، یک برنامه، یک خدمات بانکی، یک محصول نهایی (یا متوسط) از هر دسته محصول اصلی باشد. امکان اندازه گیری در ورودی، در مراحل مختلف فرآیند و همچنین در خروجی وجود دارد.

همانطور که در شکل 2 نشان داده شده است، ورودی ها و خروجی ها می توانند انواع مختلفی داشته باشند: مربوط به محصول (خطوط جامد در شکل 2) (به عنوان مثال، مواد خام، محصول نهایی) و مرتبط با اطلاعات (خطوط چین) (مثلاً، محصول). الزامات، ویژگی های اطلاعاتی). این شکل فرآیندهای تامین کننده را با فرآیندهای تامین کننده فرعی و مشتری در یک شبکه تامین نشان می دهد. در ساختار این شبکه، عوامل ورودی و خروجی مختلف در جهات مختلف حرکت می کنند. اصطلاح "محصولات" در اینجا به هر چهار دسته اصلی محصول اشاره دارد.

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

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

مدیریت کیفیت محصولات یا اطلاعات درون ساختار.

با توجه به ساختار پیچیده اکثر سازمان ها، شناسایی فرآیندهای اصلی و ساده سازی و رتبه بندی فرآیندها بسته به اهداف مدیریت کیفیت مهم است. مثال شبکه پیچیدهفرآیندها را می توان توسط یک سازمان در حال توسعه نرم افزار مطابق با ISO/IEC 12207 و DO-178 ارائه کرد.

شکل 1.1 تمام کارها با استفاده از فرآیندها انجام می شود.

فرآیندها

تامین کننده

مصرف كننده

الزامات

عوامل ورودی

عوامل خروجی

وضعیت و ویژگی ها

محصولات

وضعیت و ویژگی ها

محصولات

الزامات

بازخورد

بازخورد

تامین کننده فرعی

شکل 1.2 ارتباط متقابل فرآیندها در شبکه تامین در حضور جریان های مرتبط با محصولات و اطلاعات.

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

هنگام ارزیابی سیستم های کیفیت هر سازمان، ISO 9000-1 پیشنهاد می کند که سه سؤال مهم در مورد هر فرآیند شبکه ای که ارزیابی می شود، بپرسید.

آیا این فرآیندها تعریف شده و رویه های آنها مستند است؟

آیا این فرآیندها به طور کامل اعمال می شوند و طبق مستندات دنبال می شوند؟

آیا این فرآیندها در دستیابی به نتایج مورد انتظار موثر هستند؟

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

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

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

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

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

سری استانداردهای بین المللی ISO 9000 برای اعمال چهار وضعیت زیر در نظر گرفته شده است.

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

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

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

4. هنگامی که توسط شخص ثالث گواهی یا ثبت شده است. در این شرایط، سیستم کیفیت توسط سازمان گواهی ارزیابی می شود و سازمان موافقت می کند که چنین سیستم کیفیتی را برای همه مصرف کنندگان محصولات خود حفظ کند.

یک تامین کننده می تواند یکی از دو روش را برای استفاده از سری استانداردهای ISO 9000 انتخاب کند: «راه با انگیزه مدیریت» و «راه با انگیزه سهامداران». روش دوم رایج ترین در نظر گرفته می شود.

هنگام استفاده از روش با انگیزه ذینفعان، تامین کننده در ابتدا یک سیستم کیفیت را به عنوان پاسخی به نیازهای مستقیم مشتری معرفی می کند. سیستم کیفیت باید الزامات استانداردهای ISO 9001، 9002، 9003 را برآورده کند، مدیریت سازمان در این روش حرف اول را می زند، اما نیروی محرکه آن ذینفع خارجی (مشتریان) است.

در رویکرد مدیریت محور، این مدیریت سازمان است که شروع به تلاش برای تعیین نیازها و روندهای آینده بازار می کند. راهنمایی برای استقرار اولیه یک سیستم کیفیت که کیفیت محصول را بهبود می بخشد ISO 9004-1 (و سایر بخش های ISO 9004) است. سپس تأمین‌کننده می‌تواند استانداردهای ISO 9001، 9002 یا 9003 را به‌عنوان یک مدل تضمین کیفیت برای نشان دادن کفایت سیستم کیفیت به منظور دریافت گواهی‌نامه اعمال کند. سیستم کیفیتی که در این روش اجرا می‌شود، نسبت به روش اول، ظرفیت‌پذیرتر و پربارتر است.

سری استانداردهای ISO 9000 توجه زیادی به تهیه و استفاده از اسناد به عنوان یک فعالیت ارزش افزا دارد. اسناد و مدارک مناسب نقش مهمی در فعالیت های تضمین کیفیت زیر ایفا می کند:

در دستیابی به کیفیت محصول مورد نیاز؛

ارزیابی سیستم های کیفیت؛

در بهبود کیفیت؛

در حفظ سطح کیفی به دست آمده

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

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

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

کیفیت نرم افزاریکی از دغدغه های همیشگی مهندسی نرم افزار است و در بسیاری از زمینه های دانش مورد بحث قرار گرفته است.

  • فیل کراسبی:کیفیت مطابق با نیازهای کاربر است.
  • واتس هامفری:کیفیت دستیابی به سطح عالی از قابلیت استفاده است.
  • شرکت IBM:عبارت «کیفیت بازار محور» را ابداع کرد.
  • معیار بالدریج:"کیفیت مشتری محور".
  • سیستم مدیریت کیفیت ISO 9001:کیفیت درجه ای است که ویژگی های ذاتی نیازها را برآورده می کنند.

کیفیت قابل قبول- این درجه کمال مطلوب محصول (خدمت) ایجاد شده است که می تواند کاربران را راضی کند و در محدودیت های طراحی داده شده قابل دستیابی است.

کیفیت در فعالیت های پروژه:

  • مدیریت نیازمندی ها ("ویژگی های کیفیت" به عنوان دسته ای از الزامات غیرعملکردی)؛
  • تست (به اصطلاح میانگین زمان بین خرابی ها، معیارهایی مانند MTTF - Mean Time To Failure، یعنی میانگین زمان بین خرابی های شناسایی شده سیستم و غیره).

"کیفیت قابل قبول"را می توان با سطح خدمات در یک SLA معین - قرارداد سطح سرویس مقایسه کرد. یعنی کیفیت قابل قبولی را می توان در نظر گرفت<количественно выраженный>سازش بین مشتری و پیمانکار در مورد ویژگی های محصول ایجاد شده توسط پیمانکار در راستای منافع<решения задач>مشتری، با در نظر گرفتن سایر محدودیت های پروژه (به ویژه هزینه، که اغلب به عنوان "هزینه کیفیت" نامیده می شود).

شکل "حوزه دانش - کیفیت نرم افزار"

شکل "مدل یک سیستم مدیریت کیفیت"

اصول کیفیت نرم افزار

توافق در مورد الزامات کیفیت، همراه با ارتباط شفاف با مهندسان در مورد آنچه که کیفیت را تشکیل می دهد، حاصل شد<получаемого продукта>، نیاز به بحث و تعریف رسمی بسیاری از جنبه های کیفیت دارد.

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

یک ایده مهم این است که الزامات نرم افزار ویژگی های کیفی نرم افزار مورد نیاز را تعریف می کند و همچنین بر روش های کمی سازی فرموله شده برای ارزیابی این ویژگی ها تأثیر می گذارد.<соответствующие>ملاک پذیرش.

فرهنگ و اخلاق مهندسی نرم افزار

از مهندسان نرم افزار انتظار می رود مسائل مربوط به کیفیت نرم افزار را به عنوان بخشی از مسائل خود بپذیرند<профессиональной>فرهنگ.
ملاحظات اخلاقی می تواند نقش مهمی در کیفیت نرم افزار، فرهنگ و نگرش مهندسان داشته باشد.<к своей работе>. انجمن کامپیوتر IEEE و ACM یک کد اخلاقی و عملکرد حرفه ای را بر اساس هشت اصل برای کمک به مهندسین برای تقویت تعهد خود به کیفیت و استقلال ایجاد کرده اند.<в решении вопросов обеспечения достойного качества создаваемых программных продуктов>در کار روزانه خود

ارزش و هزینه های کیفیت

مفهوم "کیفیت" در واقع آنقدرها هم که در نگاه اول به نظر می رسد واضح و ساده نیست. برای هر محصول مهندسی بسیاری وجود دارد<интерпретаций>کیفیت، بسته به «سیستم مختصات» خاص. بسیاری از این دیدگاه ها باید در مرحله توسعه الزامات یک محصول نرم افزاری مورد بحث و بررسی قرار گیرند. ویژگی های کیفیت ممکن است به درجات مختلف مورد نیاز باشد، ممکن است وجود نداشته باشد، یا ممکن است الزامات خاصی را تعیین کند، که همه آنها ممکن است نتیجه نوعی مصالحه باشد.

هزینه کیفیت را می توان به موارد زیر تقسیم کرد:

  • هزینه اخطار<дефектов>(هزینه پیشگیری)
  • هزینه ارزیابی،
  • هزینه شکست داخلی،
  • هزینه شکست خارجی

نیروی پیشران پروژه های نرم افزاری تمایل به ایجاد نرم افزاری است که دارای ارزش خاصی باشد. ارزش نرم افزار ممکن است به صورت هزینه بیان شود یا نباشد. مشتری معمولا ایده خود را از حداکثر هزینه سرمایه گذاری دارد که در صورت دستیابی به اهداف اصلی ایجاد نرم افزار، بازگشت آن مورد انتظار است. مشتری همچنین ممکن است انتظارات خاصی در مورد کیفیت نرم افزار داشته باشد. گاهی اوقات، مشتریان به مسائل کیفیت و هزینه های مرتبط با آن فکر نمی کنند. آیا ویژگی های کیفی صرفاً تزئینی هستند یا جزء لاینفک نرم افزار هستند؟ پاسخ احتمالاً جایی در میانه است، همانطور که تقریباً همیشه در این موارد وجود دارد، و موضوع بحث در مورد میزان مشارکت مشتری در فرآیند تصمیم گیری و درک کامل مشتری از هزینه ها و منافع است. مرتبط با دستیابی به سطح خاصی از کیفیت. در حالت ایده‌آل، بیشتر این تصمیم‌ها باید در طول فرآیند الزامات اتخاذ شوند، اما این مسائل ممکن است در طول فرآیند ایجاد شوند. چرخه زندگینرم افزار. وجود ندارد<“стандартных”>قوانینی در مورد اینکه دقیقاً چگونه چنین تصمیماتی باید گرفته شود. با این حال، مهندسان باید بتوانند جایگزین های مختلف و هزینه های آنها را تصور کنند.

مدل ها و ویژگی های کیفی

ISO/IEC سه مدل کیفیت نرم افزار مرتبط را تعریف می کند (ISO 9126-01 Software Engineering - Product Quality, Part 1: Quality Model):

  • کیفیت داخلی،
  • کیفیت خارجی و
  • کیفیت در حین کار، و همچنین مجموعه ای از کارهای مرتبط برای ارزیابی کیفیت نرم افزار (ISO14598-98 Software Product Evaluation).

کیفیت فرآیند مهندسی نرم افزار

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

دو استاندارد مهم در زمینه کیفیت نرم افزار وجود دارد.

  • TickIT- در نظر گرفتن نگرانی ها سیستم مشترکمدیریت کیفیت ISO 9001-00 همانطور که در پروژه های نرم افزاری اعمال می شود.
  • استاندارد مهم دیگر CMMI است، که در حوزه دانش فرآیند مهندسی نرم افزار مورد بحث قرار گرفته است، توصیه هایی برای بهبود فرآیند ارائه می دهد. حوزه‌های فرآیند CMMI (حوزه‌های شایستگی) مستقیماً با مدیریت کیفیت مرتبط هستند:
    • تضمین کیفیت فرآیند و محصول (دسته فرآیند CMMI "پشتیبانی")،
    • تأیید (دسته "مهندسی") و
    • گواهینامه (تایید، طبقه بندی "مهندسی").

در همان زمان، CMMI طبقه بندی می کند مرورو حسابرسیبه عنوان روش های تأیید، اما نه به عنوان فرآیندهای مستقل.

این استانداردها هنوز به عنوان مکمل در نظر گرفته می شوند و گواهینامه ISO 9001 به دستیابی به سطوح ارشد بلوغ CMMI کمک می کند.

کیفیت محصول نرم افزاری

اول از همه مهندسان باید تعیین کنند اهداف ایجاد نرم افزاردر این زمینه، به ویژه مهم است که به یاد داشته باشید که نیازهای مشتری اولیه هستند و شامل الزامات کیفیت هستند، و نه فقط عملکرد (نیازهای عملکردی). بنابراین، مهندسان مسئول استخراج الزامات کیفی هستند که همیشه به صراحت ارائه نمی شوند و همچنین در مورد اهمیت آنها و درجه دشواری دستیابی به آنها بحث می کنند. تمام فرآیندهای مرتبط با کیفیت (مانند مونتاژ، بازرسی و بهبود کیفیت) باید با در نظر گرفتن این الزامات طراحی شوند و هزینه های اضافی را متحمل شوند (به عنوان مهم) جزءهزینه نرم افزار).

استاندارد ISO 9126-01 (مهندسی نرم افزار - کیفیت محصول، قسمت 1: مدل کیفیت)برای دو مدل از سه مدلی که در آن توضیح داده شده است، ویژگی‌های مرتبط و «ویژگی‌های فرعی» کیفیت، و همچنین معیارهای مفید برای ارزیابی کیفیت محصولات نرم‌افزاری را تعریف می‌کند.

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

  • مشخصات کامل مورد نیاز سیستم،
  • مشخصات نرم افزار مورد نیاز برای اجزای نرم افزاری سیستم (مشخصات نیازمندی های نرم افزار، SRS)،
  • مدل ها،
  • مستندات آزمون،
  • گزارش های تولید شده در نتیجه کار تجزیه و تحلیل کیفیت.

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

بهبود کیفیت

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

  1. فرآیندهای چرخه زندگی،
  2. فرآیند شناسایی، حذف و جلوگیری از خرابی ها/عیوب و
  3. فرآیندهای بهبود کیفیت

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

رویکردهایی مانند TQM(مدیریت کیفیت جامع – مدیریت کیفیت جامع) و PDCA(Plan, Do, Check, Act – Planning, Action, Check, Reaction/Adjustment) ابزارهایی برای دستیابی به اهداف مرتبط با کیفیت هستند. پشتیبانی مدیریت در اجرای فرآیندها، ارزیابی محصولات و به دست آوردن تمام داده های لازم کمک می کند. علاوه بر این، برنامه بهبود توسعه یافته (برنامه بهبود، معمولاً هدفمند است و کار یک بخش یا سازمان را به عنوان یک کل پوشش می دهد) همه اقدامات و پروژه های بهبود را با جزئیات مشخص می کند.<отдельных аспектов деятельности>در بازه زمانی معینی که طی آن می توان چنین پروژه هایی را با حل موفقیت آمیز مشکلات مربوطه اجرا کرد. در عین حال، حمایت مدیریت به این معنی است که همه پروژه های بهبود دارای منابع کافی برای دستیابی به اهداف خود هستند. پشتیبانی مدیریت ارتباط نزدیکی با اجرای تعامل فعال در تیم دارد و باید از وقوع آن جلوگیری کند مشکلات بالقوه(و مخالفت منفعل یا حتی فعال با اجرای برنامه بهبود یا پروژه های فردی آن). تشکیل گروه های کاری، حمایت از مدیران میانی و منابع اختصاصی در سطح پروژه در حوزه دانش «فرایند مهندسی نرم افزار» مورد بحث قرار می گیرد.

فرآیندهای کیفیت نرم افزار

مدیریت کیفیت نرم افزار (SQM، مدیریت کیفیت نرم افزار)برای تمام جنبه های فرآیندها، محصولات و منابع اعمال می شود. SQM فرآیندها، صاحبان فرآیند، و همچنین الزامات فرآیند، اندازه گیری فرآیندها و نتایج آنها، به علاوه کانال های بازخورد را تعریف می کند.

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

برنامه ریزی کیفیت نرم افزار شامل:

  1. تعریف محصول مورد نیاز از نظر ویژگی های کیفی.
  2. برنامه ریزی فرآیندها برای به دست آوردن محصول مورد نیاز.

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

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

  • فرآیند تضمین کیفیت؛
  • فرآیند تأیید؛
  • فرآیند اعتبار سنجی؛
  • فرآیند بررسی مشترک؛
  • فرآیند حسابرسی

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

فرآیندهای SQM شامل وظایف و تکنیک هایی است کهطراحی شده برای ارزیابی اینکه چگونه برنامه‌های نرم‌افزاری به ثمر می‌رسند و محصولات میانی و نهایی چقدر نیازمندی‌های مشخص شده را برآورده می‌کنند. نتایج این وظایف قبل از انجام اقدامات اصلاحی مناسب به مدیران گزارش می شود. فرآیند SQM با اطمینان از دقیق بودن داده های گزارش مدیریت می شود.
همانطور که در این حوزه دانش توضیح داده شد، فرآیندهای SQM ارتباط نزدیکی با هم دارند. آنها می توانند همپوشانی داشته باشند و گاهی اوقات حتی ترکیب شوند. به نظر می رسد ماهیت آنها واکنشی باشد، به دلیل این واقعیت که آنها فرآیندها را در چارچوب شیوه های آموخته شده و محصولات قبلا تولید شده مشاهده می کنند. با این حال، آنها نقش اصلی را در مرحله برنامه ریزی ایفا می کنند و به عنوان فرآیندها و رویه های لازم برای دستیابی به ویژگی ها و سطوح کیفی مورد نیاز ذینفعان فعال هستند.<проекта>نرم افزار.

مدیریت ریسک نیز می تواند نقش مهمی در ارائه نرم افزار با کیفیت داشته باشد. گنجاندن "معمولا" (به عنوان دائمی، نه دوره ای؛ در اصل - منضبط) تجزیه و تحلیل ریسک و<соответствующих>تکنسین کنترل<рисками>در فرآیندهای چرخه عمر نرم افزار می تواند پتانسیل تولید یک محصول با کیفیت را افزایش دهد. بیشتر اطلاعات دقیقدر مورد مدیریت ریسک را می توان در حوزه دانش "مدیریت مهندسی نرم افزار" یافت.

تضمین کیفیت نرم افزار (SQA)

فرآیندهای SQAارائه شواهدی مبنی بر اینکه محصولات نرم افزاری و فرآیندهای چرخه عمر پروژه الزامات مشخص شده را برآورده می کنند. چنین تأییدی بر اساس برنامه ریزی، تنظیم انجام می شود<работ>اجرای و انجام مجموعه ای از اقدامات با هدف اطمینان از اینکه کیفیت بخشی جدایی ناپذیر از نرم افزار می شود.
این دیدگاه بیانگر یک فرمول روشن و دقیق از مسئله است و همچنین الزامات راه حل مربوطه تعریف شده و به وضوح بیان شده است، کامل و بدون ابهام تفسیر می شود.<программному>تصمیم گیری SQA با انجام فعالیت های مختلف در تمامی مراحل به تضمین کیفیت در فرآیند توسعه و نگهداری دست می یابد<жизненного цикла>، که به شما امکان می دهد مشکلات را در مراحل اولیه شناسایی کنید ، که تقریباً در هر فعالیت پیچیده اجتناب ناپذیر است.

مدیریت ریسکیک ابزار اضافی جدی برای اطمینان از کیفیت نرم افزار است.

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

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

برای دستیابی به این امر، ابتدا لازم است که اهداف کیفیت به وضوح تعریف و درک شوند (و همچنین به وضوح قابل تفسیر باشند، که پيش نيازهر هدف و الزامات مربوطه). این باید در برنامه های مدیریت مربوطه منعکس شود.<проектом>، توسعه و پشتیبانی

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

علاوه بر این، طرح SQA همچنین به مسائل مربوط به فعالیت های تضمین کیفیت مرتبط با انواع دیگر فعالیت های شرح داده شده در آن می پردازد<различных>برنامه هایی برای ایجاد نرم افزار، که همچنین شامل تامین، نصب، نگهداری نرم افزارهای سفارشی و/یا تکراری/آماده می شود. راه حل های نرم افزاری(تجاری خارج از قفسه، COTS) برای این پروژه نرم افزاری مورد نیاز است. طرح SQA ممکن است شامل معیارهای پذیرش نرم افزار و گزارش دهی و فعالیت های مدیریتی لازم برای اطمینان از کیفیت باشد.<и контролю над>آثار.

تأیید و اعتبارسنجی (V&V)

تأیید و صدور گواهینامه نرم افزار یک رویکرد منضبط برای ارزیابی محصولات نرم افزاری است که در کل چرخه عمر اعمال می شود. تلاش های تأیید و صلاحیت با هدف اطمینان از کیفیت به عنوان یک ویژگی جدایی ناپذیر از نرم افزار و برآوردن نیازهای کاربر انجام می شود.
V&V مستقیماً به مسائل مربوط به کیفیت نرم افزار می پردازد و از تکنیک های تست مناسب برای تشخیص عیوب خاص استفاده می کند. V&V را می توان برای محصولات میانی استفاده کرد، با این حال، تا جایی که "مراحل" میانی مطابق با<соответствующих>فرآیندهای چرخه زندگی

فرآیند V&V تعیین می کند که تا چه حد محصول (نتیجه) کارهای توسعه و نگهداری خاص، الزامات فرموله شده در چارچوب این کارها را برآورده می کند و محصول نهایی اهداف مشخص شده و نیازهای کاربر را برآورده می کند.

تایید- تلاش برای اطمینان از اینکه یک محصول به درستی طراحی شده است (محصول به روش صحیح ساخته شده است؛ معمولاً برای محصولات واسطه ای، گاهی اوقات برای محصول نهایی)، به این معنا که محصول تولید شده توسط فعالیت با مشخصات تعیین شده توسط فعالیت قبلی مطابقت دارد. .
گواهینامه- تلاش برای اطمینان از ساخت محصول مناسب (محصول مناسب ساخته می شود؛ معمولاً در چارچوب محصول نهایی) از نظر دستیابی به هدف اعلام شده.

هر دو فرآیند - تأیید و صدور گواهینامه- از مراحل اولیه توسعه و نگهداری شروع شود. آنها تحقیق (تخصص) ارائه می دهند قابلیت های کلیدیمحصول، هم در زمینه نتایج بلافاصله قبل (محصولات میانی) و هم از نظر ارضای مشخصات مربوطه. هدف از برنامه ریزی V&V فراهم کردن فرآیندهای تأیید و صدور گواهینامه با منابع لازم و تعیین واضح نقش ها و مسئولیت ها است. اسناد طرح V&V حاصل و<детально>منابع، نقش ها و فعالیت های مختلف و همچنین تکنیک ها و ابزارهای مورد استفاده را شرح می دهد.
این طرح همچنین به جنبه‌های مدیریت، ارتباطات، سیاست‌ها و رویه‌های فعالیت‌های تأیید و صلاحیت و تعاملات آنها می‌پردازد. علاوه بر این، ممکن است به مسائل مربوط به گزارش نقص و مستندات مورد نیاز رسیدگی کند.

بررسی و ممیزی

پنج نوع ارزیابی و ممیزی:

  • بررسی های مدیریت
  • بررسی های فنی
  • بازرسی ها
  • "پیاده روی"
  • ممیزی ها

بررسی های مدیریت

هدف از ارزیابی های مدیریتی ردیابی توسعه است<проекта/продукта>، تعیین وضعیت برنامه ها و برنامه ها، تصویب الزامات و تخصیص منابع یا ارزیابی اثربخشی رویکردهای مدیریتی مورد استفاده برای دستیابی به اهداف تعیین شده.

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

ارزیابی‌های مدیریت، کفایت برنامه‌ها، برنامه‌ها و الزامات را تعیین می‌کند و در عین حال بر پیشرفت یا عدم انطباق آنها نظارت می‌کند. این ارزیابی‌ها را می‌توان بر روی محصول انجام داد و در قالب گزارش‌های حسابرسی، گزارش‌های وضعیت (توسعه)، گزارش‌های V&V و همچنین ثبت شد. انواع مختلفبرنامه ها - مدیریت ریسک پروژه / مدیریت پروژه، مدیریت پیکربندی، امنیت<использования>نرم افزار (ایمنی)، ارزیابی ریسک و غیره

بررسی های فنی

هدف از ارزیابی های فنی بررسی یک محصول نرم افزاری برای تعیین مناسب بودن آن برای هدف مورد نظر است. هدف شناسایی انحرافات از مشخصات و استانداردهای تایید شده است. برای اطمینان از ارزیابی های فنی، نقش های زیر باید توزیع شوند: تصمیم گیرنده. رهبر بررسی؛ ضبط کننده؛ و همچنین پرسنل فنی که فعالیت های ارزیابی را پشتیبانی می کنند (مستقیماً انجام می دهند).

ارزیابی فنی بدون شکست به داده های ورودی زیر نیاز دارد:

  • بیانیه های هدف
  • یک محصول نرم افزاری خاص (در حال ارزیابی)
  • یک طرح پروژه معین (طرح مدیریت پروژه)
  • لیست مشکلات (سوالات) مرتبط با محصول
  • رویه های ارزیابی فنی

تیم<технической оценки> یک روش ارزیابی مشخص را دنبال می کند. افراد واجد شرایط (از لحاظ فنی) یک نمای کلی از محصول (به نمایندگی از تیم توسعه) ارائه می دهند. مطالعه<продукта> در یک یا چند جلسه (بین کسانی که محصول را ارائه می دهند و کسانی که ارزیابی را ارائه می دهند) انجام می شود. ارزیابی فنی پس از تکمیل تمام فعالیت های بررسی محصول تجویز شده تکمیل می شود.

بازرسی ها

هدف از بازرسی ها شناسایی و شناسایی ناهنجاری ها در یک محصول نرم افزاری است. دو تفاوت عمده بین بازرسی و ارزیابی (مدیریتی و فنی) وجود دارد:

  1. افرادی که پست های مدیریتی (مدیران) را در رابطه با هیچ یک از اعضای تیم بازرسی دارند، نباید در بازرسی ها شرکت کنند.
  2. بازرسی باید توسط یک رهبر بی طرف (مستقل از پروژه و اهداف آن) که در تکنیک های بازرسی آموزش دیده است، هدایت شود.

بازرسی نرم افزار همیشه شامل نویسندگان محصول میانی یا نهایی می شود، برخلاف ارزیابی ها که لزوماً به این نیاز ندارند. بازرسی ها (به عنوان واحدهای سازمانی موقت - گروه ها، تیم ها) شامل یک رهبر، یک ثبت کننده، یک بازرس و چندین (2 تا 5) بازرس می باشد. اعضای تیم بازرسی ممکن است در زمینه های مختلف تخصصی تخصص داشته باشند مناطق مختلفشایستگی ها)، به عنوان مثال، حوزه موضوعی، روش های طراحی، زبان و غیره. به نفع این لحظهبازرسی‌های زمانی (یک دوره زمانی) در رابطه با یک قطعه کوچک از یک محصول انجام می‌شود (در بیشتر موارد، تمرکز بر ویژگی‌های عملکردی یا سایر ویژگی‌های فردی؛ اغلب، با شروع از قوانین تجاری فردی، الزامات عملکردی یا ویژگی‌های کیفیت، یادداشت نویسنده) . هر یک از اعضای تیم باید محصول نرم افزاری و سایر ورودی ها را قبل از جلسه بازرسی بررسی کند، شاید تکنیک های تحلیلی مختلف را در بخش های کوچکی از محصول یا کل محصول به کار گیرد، در مورد دوم تنها به یک جنبه از آن نگاه می کند، مانند رابط ها هر گونه ناهنجاری یافت شده باید مستند شده و اطلاعات به رهبر بازرسی ابلاغ شود. در طول فرآیند بازرسی، رهبر جلسه را رهبری می کند<инспекции>و همه چیز را بررسی می کند<члены команды>برای بازرسی آماده شده است.

ابزار متداول مورد استفاده در بازرسی ها چک لیستی است که حاوی ناهنجاری ها و سوالات مربوط به جنبه ها است<программного продукта>، برانگیختن علاقه برگه به ​​دست آمده اغلب ناهنجاری ها را دسته بندی می کند و از نظر کامل بودن و دقت توسط تیم ارزیابی می شود. تصمیم برای تکمیل بازرسی مطابق با یکی از سه معیار زیر اتخاذ می شود:

  1. فرزندخواندگی<продукта>بدون نیاز یا کمی به پردازش
  2. فرزندخواندگی<продукта>با بررسی قطعات پردازش شده
  3. نیاز به بازرسی مجدد

جلسات بازرسی معمولاً چندین ساعت طول می کشد، برخلاف ارزیابی های فنی و ممیزی ها، که در بیشتر موارد مستلزم کار بیشتر و در نتیجه بیشتر طول می کشد.

پیاده روی

هدف از اجرا ارزیابی محصول نرم افزاری است. آزمون را می توان به منظور آشنایی (آموزش) مخاطبان با محصول نرم افزاری انجام داد.

اهداف اصلی اجرا عبارتند از:

  • به دنبال ناهنجاری است
  • بهبود محصول
  • بحث در مورد راه های جایگزین پیاده سازی
  • ارزیابی انطباق با استانداردها و مشخصات

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

ممیزی ها

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

حسابرسی یک فعالیت رسمی سازمان یافته است که شرکت کنندگان در آن انجام می دهند نقش های خاصمانند حسابرس اصلی، حسابرس دیگر، ضبط کننده و آغازگر. نماینده سازمان/واحد سازمانی مورد ارزیابی در حسابرسی شرکت می کند. در نتیجه ممیزی، موارد عدم انطباق شناسایی شده و گزارش مورد نیاز تیم تهیه می شود.<разработки>اقدام اصلاحی انجام دهد.

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

ملاحظات عملی

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

عوامل تاثیرگذار

برنامه ریزی، مدیریت و انتخاب فعالیت ها و تکنیک های SQM تحت تأثیر عوامل مختلفی از جمله:

  • محدوده سیستمی که نرم افزار در آن کار خواهد کرد (امنیت حیاتی)<людей>) حیاتی تجاری و غیره)
  • سیستم و نرم افزار مورد نیاز
  • چه اجزایی در سیستم استفاده می شود - تجاری (خارجی) یا استاندارد (داخلی)
  • کدام استانداردهای مهندسی نرم افزار در یک زمینه خاص قابل اجرا هستند؟
  • روش ها و ابزار نرم افزاری مورد استفاده برای توسعه و نگهداری و همچنین تضمین کیفیت و بهبود (محصول و فرآیندها) چیست؟
  • بودجه، پرسنل، سازماندهی فعالیت‌های پروژه، برنامه‌ها و زمان‌بندی‌ها برای تمامی فرآیندها
  • کاربران هدف چه کسانی هستند و هدف سیستم چیست
  • سطح یکپارچگی سیستم

اطلاعات مربوط به این عوامل بر نحوه دقیق سازماندهی و مستندسازی فرآیندهای SQM تأثیر می‌گذارد، چه فعالیت‌های SQM انتخاب می‌شوند (استاندارد شده در یک پروژه، تیم، واحد سازمانی، سازمان)، چه منابعی مورد نیاز است، و چه محدودیت‌هایی بر روی تلاش‌های انجام شده اعمال می‌شود. کیفیت را تضمین کند

قابل اعتماد بودن

ضمانت پذیری- ضمانت<высокой>قابلیت اطمینان، محافظت در برابر شکست.
در مواردی که خرابی سیستم می تواند منجر به عواقب بسیار جدی شود (چنین سیستم هایی گاهی اوقات در منابع انگلیسی زبان "با اطمینان بالا" یا "سیستم یکپارچگی بالا" نامیده می شوند، در زبان روسی گاهی اوقات به آنها "سیستم های با قابلیت اطمینان بالا"، "بالا" می گویند. در دسترس بودن» و غیره)، ظرفیت گارانتی کلی (تجمعی) سیستم (به عنوان ترکیبی از سخت افزار، نرم افزار و افراد) نیاز کیفی اصلی و اولویت دار در رابطه با عملکرد اصلی است.<системы>.

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

در بحث این موضوع، ادبیات گسترده در مورد سیستم های با قابلیت اطمینان بالا نقش بسزایی دارد. در عین حال از اصطلاحاتی استفاده می شود که از رشته مکانیک سنتی و سیستم های الکتریکی(از جمله مواردی که شامل نرم افزار نمی شوند) و توصیف مفاهیم خطر، خطرات، یکپارچگی سیستم و غیره.

سطوح یکپارچگی نرم افزار

سطح یکپارچگی نرم افزاربر اساس عواقب احتمالی خرابی نرم افزار و احتمال وقوع چنین شکستی تعیین می شود. هنگامی که جنبه‌های مختلف ایمنی (کاربرد و امنیت اطلاعات) مهم هستند، تکنیک‌های تحلیل خطر (در زمینه ایمنی استفاده) و تحلیل تهدید (در زمینه امنیت اطلاعات) می‌توانند برای توسعه برنامه‌های کاری برای شناسایی نقاط حادثه خیز احتمالی استفاده شوند. . سابقه خرابی سیستم‌های مشابه نیز می‌تواند به شناسایی مفیدترین تکنیک‌ها برای تشخیص خرابی‌ها کمک کند<всесторонней>ارزیابی کیفیت نرم افزار

هنگام نگاه کردن به یکپارچگی نرم افزار با جزئیات بیشتر در زمینه پروژه های خاص، باید توجه ویژه ای (با تخصیص منابع مناسب و انجام کار لازمنه تنها فرآیندهای SQM (به ویژه فرآیندهای رسمی، از جمله ممیزی و صدور گواهینامه)، بلکه جنبه های مدیریت نیازمندی ها (از نظر معیارهای یکپارچگی)، مدیریت ریسک (از جمله برنامه ریزی ریسک هم در مرحله توسعه و هم در مرحله بهره برداری و نگهداری سیستم)، طراحی (که برای افزایش ضمانت، لزوماً شامل تجزیه و تحلیل عمیق و تأیید راه حل های معماری و فناوری برنامه ریزی شده برای استفاده، اغلب از طریق ایجاد پروژه های آزمایشی، غرفه های نمایشی و غیره است) و آزمایش (برای اطمینان از یک جامع مطالعه ویژگی های رفتاری سیستم، از جمله شبیه سازی محیط کاری/پیکربندی که در آن سیستم باید در حین کار استفاده شود).

مشخص کردن نقص

فرآیندهای SQM اطمینان حاصل می کنند که نقص ها پیدا می شوند.توصیف ویژگی‌های نقص نقش اساسی در درک محصول دارد، تنظیمات فرآیند یا محصول را تسهیل می‌کند و مدیران پروژه و مشتریان را از وضعیت فرآیند یا محصول مطلع می‌کند. طبقه بندی های زیادی (طبقه بندی و روش های ساختاری) از نقص ها (شکست ها) وجود دارد. توصیف نقص همچنین در ممیزی و ارزیابی ها استفاده می شود، جایی که رهبر ارزیابی اغلب فهرستی از ناهنجاری ها را که توسط اعضای تیم ارزیابی برای بحث در جلسات مناسب جمع آوری شده است، ارائه می دهد.

در پس زمینه تکامل (و ظهور روش ها و زبان های جدید) طراحی، همراه با جدید فناوری های نرم افزاری، کلاس های جدیدی از نقص ظاهر می شود. این نیاز به تلاش بسیار زیادی برای تفسیر (و تصحیح) طبقات تعریف شده قبلی از نقص (شکست) دارد. هنگام ردیابی عیوب، مهندس نه تنها به تعداد آنها، بلکه به نوع آنها نیز علاقه مند است. توزیع عیوب بر حسب نوع برای شناسایی ضعیف‌ترین عناصر سیستم از نظر فناوری‌ها و راهکارهای معماری مورد استفاده از اهمیت ویژه‌ای برخوردار است که نیاز به مطالعه عمیق آنها، ایجاد پروژه‌های آزمایشی تخصصی، بررسی اضافیمفاهیم (اثبات مفهوم، POC - یک رویکرد پرکاربرد در هنگام استفاده از فناوری های جدید)، مشارکت کارشناسان شخص ثالث و غیره. خود اطلاعات، بدون طبقه بندی، اغلب برای شناسایی علل خرابی ها بی فایده است، زیرا برای تعیین راه های حل مشکلات، لازم است آنها را به انواع مناسب گروه بندی کنیم. سوال این است که یک طبقه بندی نقص را تعریف کنیم که برای مهندسان و سازمان به عنوان یک کل معنادار باشد.

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

تعاریف جزئی مفاهیم از این نوع به شرح زیر است:

  • خطا:«تفاوت ... بین نتیجه صحیح و نتیجه محاسبه شده<полученным с использованием программного обеспечения>”
  • عیب:"تعریف مرحله، فرآیند یا داده نادرست در یک برنامه کامپیوتری."
  • شکست: “<Некорректный>نتیجه ای که در نتیجه نقص به دست می آید»
  • خطای انسانی/کاربر (اشتباه):"عمل انسانی که منجر به نتیجه نادرست شد"

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

بر اساس نتایج کار SQM با هدف شناسایی عیوب، اقداماتی برای حذف عیوب از محصول مورد مطالعه انجام می شود. با این حال، موضوع به همین جا ختم نمی شود. اقدامات احتمالی دیگری نیز برای استفاده کامل از نتایج کار SQM مربوطه وجود دارد. از جمله تجزیه و تحلیل و جمع بندی (خلاصه)<по обнаруженным несоответствиям/дефектам>با استفاده از تکنیک های ارزیابی کمی (به دست آوردن معیارها) برای بهبود محصول و فرآیند، ردیابی عیوب و حذف آنها از سیستم (با مدیریت و کنترل فنیانجام اقدامات اصلاحی لازم). به نوبه خود، منبع اطلاعات برای بهبود فرآیند، به ویژه، فرآیند SQM است.

داده‌های مربوط به ناهماهنگی‌ها و نقص‌های یافت شده در طول اجرای تکنیک‌های SQM مربوطه باید برای جلوگیری از از دست رفتن آنها ثبت شود. برای برخی از تکنیک ها (به عنوان مثال، ارزیابی فنی، ممیزی، بازرسی)، وجود یک ضبط کننده، دقیقا برای ثبت چنین اطلاعاتی، همراه با مسائل (از جمله مواردی که نیاز به بررسی اضافی دارند) الزامی است. تصمیمات اتخاذ شده. در مواردی که از ابزارهای اتوماسیون مناسب استفاده می شود، می توانند اطلاعات خروجی لازم در مورد عیوب را نیز ارائه دهند (مثلاً آمار خلاصه وضعیت نقص، افراد مسئول و غیره). داده‌های نقص را می‌توان در قالب درخواست‌های تغییر نرم‌افزار (SCR) جمع‌آوری و ثبت کرد و متعاقباً می‌توان آن‌ها را در انواع خاصی از پایگاه‌های داده (به عنوان مثال، برای ردیابی آمارهای متقابل پروژه/تاریخی برای تجزیه و تحلیل بیشتر و بهبود فرآیند) وارد کرد. به طور خودکار از ابزارهای تحلیل مناسب (تعدادی از ابزارهای طراحی مدرن و ابزارهای تخصصی به شما امکان می دهد کد و مدل ها را با استفاده از معیارهای مناسب تجزیه و تحلیل کنید که برای اطمینان از کیفیت محصولات و فرآیندها مهم هستند). گزارش نقص به سطح مدیریت سازمان/واحد سازمانی یا ساختار ارسال می شود (برای تصمیم گیری مناسب در مورد پروژه، محصول، فرآیند، پرسنل، بودجه و غیره).

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

تکنیک های SQM را می توان به چند دسته طبقه بندی کرد:

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

تکنیک های استاتیک

تکنیک های استاتیک شامل<детальное>تحقیق (بررسی) اسناد طراحی، نرم افزار و سایر اطلاعات در مورد یک محصول نرم افزاری بدون اجرای آن. این تکنیک‌ها ممکن است شامل سایر ارزیابی‌های «جمعی» یا فعالیت‌های تحلیل «انفرادی» باشد که در زیر مورد بحث قرار گرفته‌اند، صرف‌نظر از میزان استفاده از اتوماسیون.

تکنیک های مردمی فشرده

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

تکنیک های تحلیلی

مهندسان نرم افزار معمولا از تکنیک های تحلیلی استفاده می کنند. از دیدگاه روش ها و رویکردهای Agile، افراد و تعاملات فرض می شود<непосредственное>ارتباط و تعامل مداوم بین اعضای تیم.

گاهی اوقات، چندین مهندس از یک تکنیک استفاده می کنند، اما در قسمت های مختلف محصول. برخی از تکنیک ها بر اساس ویژگی های ابزار مورد استفاده هستند، برخی دیگر شامل کار "دستی" هستند. بسیاری می توانند مستقیماً به یافتن عیوب کمک کنند، اما اغلب از آنها برای پشتیبانی از تکنیک های دیگر استفاده می شود. تعدادی از تکنیک ها نیز شامل انواع مختلف معاینه (ارزیابی) به عنوان یک عنصر جدایی ناپذیر از تجزیه و تحلیل کلی کیفیت هستند. نمونه هایی از این تکنیک ها عبارتند از: تحلیل پیچیدگی، تحلیل منطق کنترل (یا تحلیل جریان کنترل)، و تحلیل الگوریتمی.

هر نوع تحلیل هدف خاصی دارد و همه انواع آن برای هر پروژه قابل اجرا نیستند. نمونه‌ای از تکنیک پشتیبانی، تحلیل پیچیدگی است که برای شناسایی بخش‌هایی از طراحی سیستم که برای پیاده‌سازی، آزمایش یا نگهداری صحیح بسیار پیچیده هستند، مفید است. از نتایج تحلیل پیچیدگی نیز می توان برای توسعه موارد آزمایشی استفاده کرد. تکنیک های تشخیص عیب مانند آنالیز منطقی کنترل را می توان در موارد دیگر نیز مورد استفاده قرار داد. برای نرم افزارهایی با منطق الگوریتمی گسترده، استفاده از تکنیک های الگوریتمی بسیار مهم است، به ویژه در مواردی که یک الگوریتم نادرست (نه اجرای آن، بلکه منطق، یادداشت نویسنده) می تواند منجر به نتایج فاجعه آمیزی شود (مثلاً نرم افزارهای اویونیک، که ایمنی برای آنها وجود دارد. مسائل استفاده - ایمنی نقش تعیین کننده ای دارد).

سایر انواع رسمی‌تر تکنیک‌های تحلیلی به عنوان روش‌های رسمی شناخته می‌شوند. آنها برای تأیید الزامات و طراحی مورد استفاده قرار می گیرند (البته، فقط گاهی اوقات، در عمل واقعی امروزی توسعه نرم افزار صنعتی). بررسی صحت بر روی بخش‌های مهم نرم‌افزار اعمال می‌شود (که، به طور کلی، ارتباط چندانی با روش‌های رسمی ندارد - این یک راه طبیعی برای دستیابی به کیفیت قابل قبول و در عین حال به حداقل رساندن هزینه‌ها است). بیشتر اوقات از آنها برای تأیید بخش‌های خاص مهم سیستم‌های حیاتی مأموریت، به عنوان مثال، الزامات خاص استفاده می‌شود<информационной>ایمنی و قابلیت اطمینان

تکنیک های پویا

در فرآیند توسعه و نگهداری نرم افزار، باید به انواع مختلفی از تکنیک های پویا متوسل شد. اصولاً اینها تکنیک های آزمایش هستند. با این حال، تکنیک‌های شبیه‌سازی، بررسی مدل و «اجرای نمادین» را می‌توان به‌عنوان تکنیک‌های پویا در نظر گرفت (اجرای نمادین، اغلب شامل استفاده از ماژول‌های «ساختگی» از نظر منطق اجرا می‌شود، با ورودی و خروجی شبیه‌سازی شده هنگام در نظر گرفتن سناریوی کلی رفتار سیستم های چند ماژوله؛ گاهی اوقات این اصطلاح بسته به منبع انتخابی، تکنیک های دیگری را نیز شامل می شود.

مرور (خواندن) کد معمولاً یک تکنیک ثابت در نظر گرفته می‌شود، اما یک مهندس باتجربه می‌تواند مستقیماً کد را در حین خواندن آن اجرا کند (به عنوان مثال، با استفاده از ابزارهای تعاملی گام به گام اشکال‌زدایی برای بررسی یا ارزیابی کد شخص دیگری). بنابراین، این تکنیک را می توان به عنوان پویا نیز مورد بحث قرار داد. چنین تناقضاتی در طبقه بندی تکنیک ها به وضوح نشان می دهد که بسته به نقش یک فرد در یک سازمان، ممکن است تکنیک های مشابهی را به طرق مختلف بپذیرد و به کار گیرد.

بسته به سازمان<ведения>پروژه، کارهای آزمایشی خاصی را می توان در طول توسعه سیستم های نرم افزاری در فرآیندهای SQA و V&V انجام داد. از آنجا که طرح SQM به مسائل تست می پردازد، این موضوعشامل برخی از نظرات در مورد آزمایش است.

آزمایش کردن

فرآیندهای تایید<качества> ، در SQA و V&V توضیح داده شده است<планах>، بررسی و ارزیابی هر خروجی (از جمله محصول میانی و نهایی) مرتبط با مشخصات مورد نیاز نرم افزار برای:

  • قابلیت ردیابی
  • ثبات
  • کامل بودن/کامل بودن،
  • صحت
  • و اجرای مستقیم<требований>(کارایی).

چنین تأییدیه ای همچنین هرگونه مصنوعات خروجی از فرآیندهای توسعه و نگهداری، جمع آوری، تجزیه و تحلیل و کمی سازی نتایج را پوشش می دهد. فعالیت‌های SQA تضمین می‌کند که انواع آزمون‌های مناسب (نیاز در زمینه پروژه داده شده) برنامه‌ریزی، طراحی و اجرا می‌شوند و V&V - توسعه طرح‌های تست، استراتژی‌ها، اسکریپت‌ها و رویه‌ها<тестирования>.
مسائل تست به طور مفصل در حوزه دانش تست مورد بحث قرار می گیرد. دو نوع آزمایش از اهداف تعیین شده توسط SQA و V&V پیروی می کنند، زیرا آنها مسئول کیفیت داده های مورد استفاده در پروژه هستند:

  • ارزیابی و تست ابزارهای مورد استفاده در پروژه
  • تست انطباق (یا ارزیابی تست‌های انطباق) اجزا و محصولات COTS (COTS - محصول تجاری، آماده برای استفاده) برای استفاده در محصول در حال ایجاد.

گاهی اوقات، سازمان‌های مستقل V&V ممکن است به توانایی نظارت بر فرآیند آزمایش و در موارد خاص، گواهی (یا اغلب، سند/ثبت) اجرای واقعی نیاز داشته باشند.<тестов>تا اطمینان حاصل شود که آنها طبق رویه های مشخص انجام می شوند. از سوی دیگر، ممکن است برای ارزیابی خود آزمایش یک تماس با V&V برقرار شود: کافی بودن طرح ها و رویه ها، مناسب بودن و دقت نتایج.

نوع دیگری از آزمایش که تحت نظارت سازمان V&V انجام می شود، تست شخص ثالث است. چنین شخص ثالثی خودش توسعه‌دهنده محصول نیست و به هیچ وجه به توسعه‌دهنده محصول وابسته نیست. علاوه بر این، شخص ثالث یک منبع ارزیابی مستقل است که معمولاً دارای اعتبار مناسب است (به عنوان مثال، سازمانی که استاندارد را توسعه داده است، انطباق با آن توسط یک متخصص مستقل ارزیابی می شود و اقدامات آن توسط خالق استاندارد تأیید می شود. ). هدف از این نوع آزمایش بررسی انطباق محصول با مجموعه خاصی از الزامات (مثلاً امنیت اطلاعات) است.

سنجش کیفیت نرم افزار

مدل‌های کیفیت محصول نرم‌افزاری اغلب شامل معیارهایی برای تعیین سطح هر ویژگی کیفی یک محصول می‌شوند.

اگر مشخصه های کیفی به درستی انتخاب شوند، چنین اندازه گیری هایی می توانند کیفیت (سطح کیفیت) را به طرق مختلف پشتیبانی کنند. معیارها می توانند به هدایت فرآیند تصمیم گیری کمک کنند. معیارها می توانند به شناسایی جنبه های مشکل ساز کمک کنند تنگناهادر فرآیندها متریک ها ابزاری برای مهندسان برای ارزیابی کیفیت کار خود هستند - هم برای اهداف تعریف شده توسط SQA و هم از نقطه نظر یک فرآیند بهبود طولانی مدت.<достигаемого>کیفیت
با افزایش پیچیدگی داخلی و پیچیدگی نرم افزار، مسائل کیفیت بسیار فراتر از بیان این واقعیت است که نرم افزار کار می کند یا کار نمی کند. سوال این است که اهداف کیفی کمی چقدر خوب به دست می آیند.

چندین موضوع دیگر وجود دارد که معیارهایی را که مستقیماً از SQM پشتیبانی می کنند بحث می کنند. اینها شامل کمک در تصمیم گیری برای توقف آزمایش می شود. در این زمینه، مدل‌های قابلیت اطمینان و مقایسه با نمونه‌ها (استانداردهای پذیرفته شده به عنوان نمونه‌هایی از یک کیفیت خاص - معیارها) مفید به نظر می‌رسند.

هزینه فرآیند SQM یکی از<проблемных>سوالاتی که همیشه در فرآیند تصمیم گیری درباره نحوه سازماندهی پروژه (کار طراحی) مطرح می شوند. غالباً از مدل‌های هزینه عمومی استفاده می‌شود که بر اساس تعیین دقیق زمان کشف یک نقص و میزان تلاش برای اصلاح آن در مقایسه با وضعیتی که نقص در اوایل چرخه عمر پیدا شده بود، استفاده می‌شود. داده های طراحی می تواند به ارائه تصویر واضح تری از هزینه کمک کند.

در نهایت، گزارش SQM خود اطلاعات مفیدی را نه تنها در مورد خود فرآیندها (که دلالت بر وضعیت فعلی آنها، یادداشت نویسنده دارد)، بلکه در مورد اینکه چگونه می‌توان تمام فرآیندهای چرخه عمر را بهبود بخشید، ارائه می‌کند.

اگرچه، به عنوان برآوردهای کمی (در این مورد ما در مورددر مورد نتایج ارزیابی‌ها و نه در مورد فرآیند اندازه‌گیری) ویژگی‌های کیفیت ممکن است به خودی خود مفید باشند (به عنوان مثال، تعداد الزامات برآورده نشده و نسبت چنین الزاماتی)، ممکن است<эффективно>از تکنیک های ریاضی و گرافیکی برای تسهیل تفسیر مقادیر متریک استفاده کنید. چنین تکنیک هایی کاملاً طبیعی طبقه بندی می شوند، برای مثال، به شرح زیر:

  • بر اساس روش های آماری (به عنوان مثال، تجزیه و تحلیل پارتو، توزیع نرمال و غیره)
  • آزمون های آماری
  • تحلیل روند
  • پیش‌بینی (مثلاً مدل‌های قابلیت اطمینان)

تکنیک‌های مبتنی بر آمار و آزمون‌های آماری اغلب «عکس فوری» از مشکل‌سازترین بخش‌های محصول نرم‌افزاری مورد مطالعه را ارائه می‌دهند (و اتفاقاً، اغلب در مورد فرآیندها نیز همین امر صادق است). نمودارها و نمودارهای به دست آمده به صورت بصری به تصمیم گیرندگان در شناسایی مناطقی که منابع را روی آنها متمرکز می کنند کمک می کند<проекта>. نتایج تجزیه و تحلیل روند ممکن است نشان دهد که برنامه در حال نقض است، به عنوان مثال، در طول آزمایش. یا اینکه خرابی کلاس های خاص به طور فزاینده ای تکرار می شود تا زمانی که اقدامات اصلاحی در طول توسعه انجام شود. تکنیک های پیش بینی به برنامه ریزی زمان آزمون و پیش بینی شکست کمک می کند.

ویژگی های کیفیت نرم افزار

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

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

یادداشت:

  1. هیچ گونه فرسودگی یا پیری نرم افزار وجود ندارد. محدودیت های قابلیت اطمینان به دلیل اشتباهات در الزامات، طراحی و اجرا رخ می دهد. خرابی های ناشی از این خطاها به نحوه استفاده از نرم افزار و نسخه های نرم افزاری که قبلاً انتخاب شده اند بستگی دارد.
  2. ISO 8402 "قابلیت اطمینان" را به عنوان "توانایی یک عنصر برای انجام یک عملکرد مورد نیاز" تعریف می کند. در این استاندارد، عملکرد تنها یکی از ویژگی های کیفیت نرم افزار است. بنابراین، تعریف قابلیت اطمینان برای «حفظ سطح عملکرد آن» به جای «انجام یک عملکرد مورد نیاز» گسترش یافته است.

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

یادداشت:

  1. "کاربران" ممکن است به عنوان اکثر کاربران مستقیم نرم افزار تعاملی تفسیر شود. کاربران ممکن است شامل اپراتورها، کاربران نهایی و کاربران غیرمستقیم باشند که تحت تأثیر یا وابسته به استفاده از نرم افزار هستند. عملی بودن باید در طیف وسیعی از شرایط عملیاتی کاربر در نظر گرفته شود که ممکن است بر نرم افزار تأثیر بگذارد، از جمله آماده سازی برای استفاده و ارزیابی نتایج.
  2. قابلیت استفاده، که در این استاندارد به عنوان مجموعه خاصی از ویژگی های یک محصول نرم افزاری تعریف شده است، از نظر ارگونومی با تعریف متفاوت است، جایی که سایر ویژگی ها مانند کارایی و ناکارآمدی به عنوان اجزای قابلیت استفاده در نظر گرفته می شوند.

قابلیت نگهداری- مجموعه ای از ویژگی های مربوط به محدوده کاری مورد نیاز برای انجام تغییرات خاص (اصلاحات).
توجه: تغییر ممکن است شامل اصلاحات، بهبود یا انطباق نرم افزار با تغییرات در محیط، الزامات و شرایط عملیاتی باشد.

عملکرد- مجموعه ای از ویژگی های مربوط به ماهیت مجموعه توابع و ویژگی های خاص آنها. توابع آنهایی هستند که نیازهای اعلام شده یا پیش بینی شده را برآورده می کنند.

یادداشت:

  1. این مجموعه از ویژگی ها آنچه را که نرم افزار برای برآوردن نیاز انجام می دهد مشخص می کند، در حالی که مجموعه های دیگر در درجه اول زمان و نحوه اجرای آن را مشخص می کنند.
  2. در این مشخصات، یادداشت تعریف کیفیت برای نیازهای اعلام شده و پیش بینی شده در نظر گرفته شده است.

بهره وری- مجموعه ای از ویژگی های مربوط به رابطه بین سطح کیفیت عملکرد نرم افزار و مقدار منابع مورد استفاده در شرایط مشخص.
توجه: منابع ممکن است شامل سایر محصولات نرم افزاری باشد وسایل فنی، مواد (به عنوان مثال، کاغذ چاپ، فلاپی دیسک) و خدمات پرسنل عملیاتی، نگهداری و تعمیرات.

کیفیت محصول نرم افزاری

کیفیت نرم افزار- کل دامنه ویژگی ها و ویژگی های یک محصول نرم افزاری که به توانایی آن در برآوردن نیازهای تعیین شده یا پیش بینی شده مربوط می شود.

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

اهمیت هر ویژگی کیفی نیز بسته به دیدگاه اتخاذ شده متفاوت است.

نمای کاربر

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

کاربر ممکن است به سوالات زیر علاقه مند باشد:

  • آیا نرم افزار امکانات لازم را دارد؟
  • نرم افزار چقدر قابل اعتماد است؟
  • نرم افزار چقدر موثر است؟
  • آیا نرم افزار کاربر پسند است؟
  • انتقال نرم افزار و محیط های دیگر چقدر آسان است؟

نمای توسعه دهنده

فرآیند ایجاد، کاربر و توسعه‌دهنده را ملزم می‌کند تا از همان ویژگی‌های کیفی نرم‌افزار استفاده کنند که برای ایجاد الزامات و پذیرش استفاده می‌شوند. هنگامی که نرم افزار برای فروش توسعه می یابد، الزامات کیفیت باید منعکس کننده نیازهای مورد نظر باشد.

از آنجایی که توسعه دهندگان مسئول ایجاد نرم افزارهایی هستند که باید الزامات کیفیت را برآورده کنند، به همان اندازه که به کیفیت محصول نهایی علاقه مند هستند، به کیفیت محصولات میانی نیز علاقه مند هستند. به منظور ارزیابی کیفیت محصولات میانی در هر مرحله از چرخه توسعه، توسعه‌دهندگان باید از معیارهای متفاوتی برای ویژگی‌های یکسان استفاده کنند، زیرا معیارهای یکسان در تمام مراحل چرخه عمر اعمال نمی‌شود.

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

معرفی مدیر

مدیر ممکن است بیشتر به کیفیت کلی علاقه مند باشد تا به یک ویژگی خاص کیفیت و به همین دلیل باید اهمیت ارزش هایی را تعیین کند که منعکس کننده الزامات تجاری برای ویژگی های فردی است.
مدیر همچنین ممکن است نیاز داشته باشد که بهبودهای کیفیت را با معیارهای کنترل پذیری، مانند تأخیرهای برنامه ریزی شده یا افزایش هزینه ها، سنجید، زیرا او می خواهد کیفیت را در چارچوب محدودیت های هزینه، کار و زمان بهینه کند.

ارزیابی کیفیت محصول نرم افزاری

شکل زیر مراحل اصلی مورد نیاز برای ارزیابی کیفیت نرم افزار را نشان می دهد.

شکل "مدل فرآیند ارزیابی"

فرآیند ارزیابی شامل سه مرحله است:ایجاد (تعریف) الزامات کیفیت، آماده سازی برای ارزیابی و روش ارزیابی. این فرآیند را می توان در هر مرحله مناسب از چرخه عمر برای هر جزء نرم افزار اعمال کرد.
هدف از مرحله اولیه ایجاد الزامات از نظر ویژگی های کیفی است. الزامات بیانگر نیازهای محیط خارجی برای محصول نرم افزاری مورد نظر است و باید قبل از شروع توسعه تعیین شوند.
هدف از مرحله دوم، آماده سازی زمینه برای ارزیابی است.
نتیجه سوم نتیجه گیری در مورد کیفیت محصولات نرم افزاری است. سپس کیفیت کلی با سایر عوامل مانند زمان و هزینه مقایسه می شود. تصمیم نهایی مدیریت بر اساس معیار کنترل پذیری گرفته می شود. نتیجه تصمیم مدیریت برای پذیرش یا رد یا انتشار یا عدم انتشار محصولات نرم افزاری است.

مدل کیفیت فرآیند

ساختار فرآیند توسعه باید به گونه ای باشد که بتوان کیفیت محصول را اندازه گیری کرد. تحقیقات انجام شده نشان می دهد که هر چه کیفیت فرآیند توسعه بالاتر باشد، کیفیت نرم افزار توسعه یافته در این فرآیند نیز بالاتر خواهد بود. کیفیت در هر مرحله از پروژه اولاً به عنوان پیامد مستقیم بلوغ فرآیند افزایش می یابد و ثانیاً به دلیل استفاده بیشتر از یک محصول میانی. کیفیت بالادر مرحله قبل تولید شده است. تأکید می‌شود که اهمیت دلیل دوم، که افزایش کیفیت را در طول چرخه زندگی برای فرآیندهای بالغ تضمین می‌کند، بسیار مهم‌تر است. همه اینها را می توان در قالب یک مدل نشان داد.

شکل "مدل مفهومی کیفیت فرآیند توسعه"

از این امر پیامدهای زیر حاصل می شود:
اول: کیفیت در یک محصول در یک تولید پیچیده به صورت تجمعی انباشته می شود و سهم کیفیت در مراحل اولیه تأثیر قوی تری بر محصول نهایی نسبت به مراحل بعدی دارد. این مورد توسط تمام تمرین های برنامه نویسی تایید شده است؛ برای مثال، مشخص است که کاستی ها در طراحی سیستم را نمی توان با کدنویسی با کیفیت بالا جبران کرد.
بنابراین، برای مدیریت کیفیت ساخت یک سیستم پیچیده، لازم است تولیدکنندگان بر اساس سنجش میزان بلوغ و شفافیت فرآیندهای توسعه مورد استفاده انتخاب شوند. اندازه گیری کیفیت فرآیند توسعه پیمانکاران بخش مهمی است مدیریت عمومیکیفیتی که مهمتر از اندازه گیری کیفیت محصول تولید شده در طول آزمایش پذیرش است.
دوم: آزمایش و اندازه گیری کیفیت باید در تمام مراحل چرخه زندگی اتفاق بیفتد. بازیابی داده‌های با کیفیت که در مراحل اولیه ساخته شده‌اند، می‌تواند بدون نتایج کامل بسیار گران باشد

راهنمای استفاده از ویژگی های کیفیت

1 قابلیت اجرا

2 ایده در مورد کیفیت نرم افزار

2.1 نمای کاربر
2.2 مقدمه توسعه دهنده
2.3 معرفی مدیر

3.1 ایجاد الزامات کیفیت

3.2 آمادگی برای ارزیابی

3.2.1 انتخاب معیارهای کیفیت (شاخص ها)
3.2.2 تعیین سطوح رتبه بندی
3.2.3 تعریف معیار ارزیابی

3.3 روش ارزیابی

3.3.1 اندازه گیری
3.3.2 رتبه بندی
3.3.3 ارزیابی

1. معرفی

2 تعریف شاخص های جامع کیفیت

2.1 عملکرد

2.1.1 مناسب بودن
2.1.2 دقت
2.1.3 قابلیت همکاری
2.1.4 مطابقت
2.1.5 امنیت

2.2 قابلیت اطمینان

2.2.1 ثبات (بلوغ)
2.2.2 تحمل خطا
2.2.3 قابلیت بازیابی

2.3 قابلیت استفاده

2.3.1 قابل درک بودن
2.3.2 یادگیری پذیری
2.3.3 سهولت استفاده (عملکرد)

2.4 کارایی

2.4.1 رفتار زمانی
2.4.2 رفتار منابع

2.5 قابلیت نگهداری

2.5.1 قابل تجزیه و تحلیل
2.5.2 قابلیت تغییر
2.5.3 ثبات
2.5.4 آزمون پذیری

2.6 قابل حمل

2.6.1 سازگاری
2.6.2 سهولت اجرا (نصب پذیری)
2.6.3 انطباق
2.6.4 قابل تعویض

یادداشت:

  1. قابلیت تعویض به جای سازگاری برای جلوگیری از سردرگمی احتمالی با قابلیت همکاری استفاده می شود.
  2. قابلیت تعویض با یک ابزار نرم افزاری خاص به این معنا نیست این درمانقابل تعویض با نرم افزار مورد نظر
  3. قابلیت تعویض ممکن است شامل ویژگی های سهولت اجرا و سازگاری باشد. این مفهوم به دلیل اهمیت آن به عنوان یک ویژگی فرعی جداگانه معرفی شد.

کیفیت پروژه

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

مدیریت کیفیت پروژه

اگر مدیریت کیفیت در بخشی از سازمان متمرکز شود، جهانی نخواهد شد. مدیر پروژه می‌تواند جنبه‌های مدیریت کیفیت را تفویض کند. مدیر پروژه مسئولیت نهایی را بر عهده دارد.

اصول کیفیت (ISO 9000)

  1. تمرکز بر مشتری
  2. مسئولیت مدیریت
  3. درگیر کردن مردم
  4. رویکرد فرآیندی
  5. رویکرد سیستماتیک به مدیریت
  6. پیشرفت مداوم
  7. تصمیم گیری مبتنی بر واقعیت
  8. روابط سودمند متقابل با تامین کنندگان

شکل "تفاوت در درک مدیریت کیفیت در ISO 9000 و PMBoK"

مدیریت کیفیت پروژه (PMI): فرآیندهای فرعی

  • برنامه ریزی با کیفیت
  • تضمین کیفیت
  • کنترل کیفیت

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

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

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

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

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

  • تجزیه و تحلیل سود / هزینه مربوط به بحث در مورد هزینه کیفیت. هدف این ابزار مقایسه هزینه واقعی عدم کیفیت با مزایای تضمین کیفیت است.
  • مقایسه. برای ایجاد ایده هایی برای بهبود از طریق مقایسه با پروژه های دیگر استفاده می شود. زمانی که مقایسه با بهترین ها و نه فقط با سایر پروژه های داخلی انجام شود، بیشترین تأثیر را دارد.
  • نمودارها برای نشان دادن نحوه تعامل عناصر مختلف استفاده می شود. انواع مختلفی از نمودارها از جمله نمودار علت و معلولی وجود دارد.
  • راه اندازی آزمایش ها از سناریوهای what-if برای تعیین اینکه کدام متغیرها بیشترین تأثیر را بر نتیجه نهایی پروژه دارند، استفاده کنید.
  • هزینه کیفیت.

فرآیند برنامه ریزی کیفیت: خروجی ها، نتایج

  • طرح مدیریت کیفیت نحوه اجرای خط مشی کیفیت توسط تیم مدیریت پروژه را شرح می دهد. باید حوزه های زیر را پوشش دهد:
  • کنترل طراحی
  • کنترل مستندات
  • کنترل خرید مواد.
  • بازرسی ها
  • کنترل تست ها (تست).
  • کنترل بر تجهیزات کنترل و اندازه گیری.
  • اقدامات اصلاحی.
  • سوابق کیفیت
  • ممیزی (طرح و رویه)
  • رویه های مستند و دستورالعمل های کاری. آنها به تفصیل فرآیندها و نحوه اندازه گیری کیفیت فرآیند، فرآیند فرعی و اقدامات فردی انجام شده را شرح می دهند.
  • چک لیست ها لیستی از سوالات برای بررسی اینکه چیزی از دست رفته است.

تضمین کیفیت

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

فرآیند کیفیت: ورودی ها

  • دستورالعمل کار. خروجی دیگری از فرآیند برنامه ریزی کیفیت.
  • نتایج اندازه گیری های کنترل کیفیت. خروجی فرآیند کنترل کیفیت

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

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

ممیزی های کیفیت

"اعلام حضور" ساختار یافته که "درس های آموخته شده" را تأیید می کند. انواع ممیزی کیفیت عبارتند از:

  • داخلی خارجی،
  • سیستم / محصول / فرآیند / سازمان،
  • برنامه ریزی شده / منظم،
  • خاص و پیچیده

فرآیند تضمین کیفیت: خروجی ها

بهبود کیفیت.شامل انجام اقداماتی برای افزایش کارایی و بهره وری پروژه برای ارائه مزایای اضافی به صاحبان پروژه است.

کنترل کیفیت

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

فرآیند کنترل کیفیت: ورودی ها

  • نتایج کار. نتایج همیشه در فرآیند همکاری، اجرا و برنامه ریزی مجدد پروژه ظاهر می شود.
  • طرح مدیریت کیفیت خروجی فرآیند برنامه ریزی کیفیت
  • دستورالعمل کار. خروجی فرآیند برنامه ریزی کیفیت
  • چک لیست ها

کنترل کیفیت: ابزارها و تکنیک ها

  • بازرسی ها شامل فعالیت هایی مانند اندازه گیری، آزمایش، آزمایش برای اطمینان از اینکه نتیجه مطابق با الزامات است.
  • نمودارهای کنترل نمودارهای اجرا از نظر آماری حدود بالا و پایین را تعریف می کنند که در هر دو طرف میانگین های فرآیند منعکس می شود.
  • نمودارها: ایشیکاوا، پارتو.
  • نمونه گیری آماری.
  • تحلیل روند.

« هدف از استفاده از ابزار- نتایج یا تغییرات را ثبت کنید، آنها را به صورت گرافیکی نمایش دهید و سپس مشکلات را به روشی مناسب شناسایی و تصحیح کنید.

فرآیند کنترل کیفیت: خروجی ها

  • بهبود کیفیت. خروج از فرآیند تضمین کیفیت
  • تصمیم گیری. تصمیمات بسته به پذیرش یا رد شی مورد بازرسی گرفته می شود.
  • اقدامات اصلاحی. اقدامی که برای مطابقت دادن یک شی ناسازگار انجام می شود.
  • چک لیست های تکمیل شده
  • تنظیم فرآیند

منابع

  • http://sorlik.blogspot.com، سرگئی اورلیک، 2004-2005
  • Genelt A.E. راهنمای آموزشی و روش شناختی برای رشته "مدیریت کیفیت توسعه نرم افزار" 2007، سن پترزبورگ

مفهوم "کیفیت نرم افزار".

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

کیفیت نرم افزار- این مجموعه ای از خواص است که سودمندی یک محصول (برنامه) را برای کاربران مطابق با هدف و الزامات عملکردی تعیین می کند. در عین حال، الزامات را می توان به طور گسترده تفسیر کرد، که باعث ایجاد تعدادی از تعاریف مستقل از مفهوم "کیفیت" می شود. متداول‌ترین تعریفی که استفاده می‌شود ISO 9001 است که بر اساس آن کیفیت عبارت است از «درجه‌ای که ویژگی‌های ذاتی الزامات را برآورده می‌کنند». کیفیت نرم افزار یک مفهوم نسبی است که تنها با در نظر گرفتن شرایط واقعی استفاده از نرم افزار معنا پیدا می کند. بنابراین، الزامات کیفیت نرم افزار مطابق با شرایط و حوزه خاص کاربرد نرم افزار تنظیم می شود.

مدل های کیفیت نرم افزاردارای چهار سطح ارائه زیر است.

سطح اولمطابق با تعریف ویژگی ها (شاخص های) کیفیت نرم افزار است که هر یک دیدگاه کاربر جداگانه ای را در مورد کیفیت منعکس می کند. با توجه به استانداردهای GOST R ISO/IEC 9126-93، GOST R ISO/IEC 12119-2000، GOST 28195-89، مدل کیفیت شامل شش ویژگی یا شش شاخص کیفیت اصلی است که ما به ترتیب اهمیت آنها را برای اکثر افراد فهرست می کنیم. کاربران:

  • عملکرد؛
  • قابلیت اطمینان عملکردی؛
  • راحتی در استفاده؛
  • بهره وری؛
  • همراهی؛
  • قابل حمل بودن

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

بیایید مجموعه ای از ویژگی ها را برای هر یک از شاخص های کیفیت ذکر شده در نظر بگیریم (شکل 3.1).

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

به صفات عملکردمربوط بودن:

  • امنیت- مشخصه ای که توانایی نرم افزار برای جلوگیری را نشان می دهد دسترسی غیرمجاز(تصادفی یا عمدی) به برنامه ها و داده ها؛
  • قابلیت همکاری- ویژگی که نشان دهنده توانایی این نرم افزار در تعامل با سیستم ها و محیط های خاص است ( سیستم عامل, شبکه های کامپیوتر);
  • کامل بودن عملکردی- مشخصه ای که کفایت توابع اساسی را برای حل مسائل مطابق با هدف این نرم افزار نشان می دهد.

قابلیت اطمینان عملکردی ویژگی های قابلیت اطمینان عملکردی نرم افزار عبارتند از:

  • عصمت- مشخصه ای که توانایی نرم افزار را برای عملکرد بدون خطا تعیین می کند.
  • درست- مشخصه ای که معیار دستیابی به نتایج صحیح را نشان می دهد.
  • قابلیت کنترل- مشخصه ای که کامل بودن و کارایی تشخیص خطا را در نتایج میانی و خروجی مشخص می کند.
  • تحمل خطا- مشخصه ای که توانایی نرم افزار را برای انجام صحیح عملکردها در شرایط غیرعادی (شکست سخت افزاری، خطا در داده ها و رابط ها و غیره) مشخص می کند.
  • قابلیت اطمینان- مشخصه ای که توانایی نرم افزار در عدم ایجاد خرابی های عملکردی را مشخص می کند سیستم اطلاعات;
  • مناسب بودن برای ترمیم- ویژگی که توانایی برنامه را برای حذف مشخص می کند خطای نرم افزاریو راه اندازی مجدد برای اجرای مجدد و بازیابی داده ها در صورت خرابی عملکردی؛
  • آمادگی- یک ویژگی که توانایی یک برنامه را برای انجام دقیق تبدیل مورد نیاز در یک درخواست دلخواه نشان می دهد.

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

برنج. 3.1.

ویژگی های قابلیت استفاده عبارتند از:

  • قابل درک بودن- مشخصه ای که تلاش صرف شده برای شناخت مفاهیم و شرایط منطقی برای استفاده از نرم افزار را تعیین می کند.
  • مطالعه پذیری(سهولت یادگیری) - یک ویژگی است که تلاش های کاربران را با هدف تعیین کاربرد نرم افزار از طریق استفاده از کنترل های عملیاتی، تشخیص ها و همچنین رویه ها، قوانین و مستندات مشخص می کند.
  • بهره وری- صفتی که واکنش سیستم را هنگام انجام عملیات و کنترل عملیاتی نشان می دهد.

کارایی مجموعه ای از ویژگی هایی است که رابطه بین سطوح اجرای نرم افزار، استفاده از منابع (امکانات، تجهیزات، مواد - کاغذ برای دستگاه چاپ و غیره) و خدمات انجام شده توسط پرسنل تعمیر و نگهداری منظم و غیره را تعیین می کند.

ویژگی های عملکرد نرم افزار عبارتند از:

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

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

قابلیت نگهداری شامل ویژگی های زیر است:

  • قابل تجزیه و تحلیل- مشخصه ای که تلاش لازم برای تشخیص خرابی ها یا شناسایی قطعاتی که اصلاح خواهند شد را مشخص می کند.
  • ثبات- یک ویژگی که نشان دهنده ثبات ساختار و خطر تغییر آن است.
  • آزمون پذیری- مشخصه ای که نشان دهنده تلاش در حین اعتبارسنجی و تأیید برای تشخیص عدم انطباق با الزامات و همچنین نیاز به اصلاح و صدور گواهینامه نرم افزار است.
  • تغییرپذیری- مشخصه ای که امکان حذف خطاها در نرم افزار یا ایجاد تغییراتی برای حذف آنها و همچنین معرفی ویژگی های جدید به نرم افزار یا محیط عملیاتی را تعیین می کند.

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

قابلیت حمل شامل ویژگی های زیر است:

  • تطبیق پذیری- مشخصه ای که تلاش صرف شده برای سازگاری را تعیین می کند محیط های مختلف;
  • قابل سفارشی سازی(سهولت نصب) - مشخصه ای که تلاش لازم برای اجرای این نرم افزار را در یک محیط خاص تعیین می کند.
  • همزیستی- مشخصه ای که امکان استفاده از نرم افزار خاص را در محیط سیستم عامل تعیین می کند.
  • قابل تعویض- ویژگی که مشخص کننده توانایی انتقال نرم افزار از یک محیط ابزار به محیط دیگر با نصب یا انطباق لازم نرم افزار است.

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

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

1

این کار اطلاعات مختصری در مورد استاندارد ISO 9126 ارائه می دهد. فناوری اطلاعات. ارزیابی محصول نرم افزاری ویژگی های کیفی و دستورالعمل های استفاده از آنها." از آنجایی که طیف سیستم های نرم افزاریگسترده است، گروهی از سیستم ها برای ایجاد آزمایش انتخاب شدند. برای ارزیابی کیفیت این گروه از برنامه ها موارد زیر آورده شده است: توضیح کوتاهبرخی از بسته های نرم افزاری بر اساس ویژگی های این گروه نرم افزار، لیستی از ویژگی هایی که کیفیت برنامه ها را تعیین می کند گردآوری شد. با توجه به توصیه های استاندارد ISO 9126، بررسی ویژگی های گروه منتخبی از ابزارهای نرم افزاری انجام شد. ثبت مشخصات (بله یا خیر) و ارزیابی کارشناسی به عنوان روشی برای تعیین مقادیر شاخص های کیفی استفاده شد. بنابراین، روشی برای ارزیابی کیفیت یک نوع نرم افزار مطابق با استاندارد ISO 9126 پیشنهاد شده است.

استاندارد

مشخصه

کنترل کیفیت

نرم افزار

1. Baranyuk V.V.، Tyutyunnikov N.N. کنترل کیفیت فرهنگ لغت الکترونیکیو دایره المعارف ها // مهندسی نرم افزار. – 2012. – شماره 8. – ص 29–37.

2. Glichev A.V.، Panov V.P.، Azgaldov G.G. کیفیت چیست؟ – م.: اقتصاد، 1968. 135 ص.

3. گورباچنکو I.M. نرم افزار ایجاد سیستم های آموزشی خودکار // مشکلات اطلاع رسانی منطقه ای. PIR-2005: مواد نهم کنفرانس علمی-عملی(کراسنویارسک، 11–12 اکتبر 2005). – کراسنویارسک: IPC KSTU، 2005. – ج 2. – ص 132–135.

4. گورباچنکو I.M. تحلیل تطبیقی سیستم های موجودتست // تست در زمینه آموزش: مشکلات و چشم انداز توسعه: مواد کنفرانس علمی و عملی همه روسی. (کراسنویارسک، 19-21 مه، 2008) / تکرار. ویرایش G.P. کارلوف. – Krasnoyarsk: SibSTU, 2008. – P. 177–183.

5. Lipaev V.V. مشکلات تضمین کیفیت نرم افزارهای پیچیده [منبع الکترونیکی]. – حالت دسترسی: http://quality.eup.ru/MATERIALY4/poksps.htm (تاریخ دسترسی 04/9/2013).

6. Lozinin A.I., Shubinsky I.B. ویژگی های کیفیت نرم افزار و روش های ارزیابی آنها [منبع الکترونیکی]. – حالت دسترسی: http://www.ibtrans.ru/Estimating %20methods.pdf (تاریخ دسترسی 03/12/2013).

بر کامپیوترهای مدرننرم افزارهای مختلف زیادی نصب شده است. و من می خواهم آن را با کیفیت بالا، کارآمد، بدون شکست و غیره کار کند. بیایید تعریف "کیفیت نرم افزار" را در چارچوب استانداردهای بین المللی در نظر بگیریم:

1) کیفیت نرم افزار درجه ای است که نرم افزار دارای ترکیبی از ویژگی های مورد نیاز است. ;

2) کیفیت یک ابزار نرم افزار - مجموعه ای از ویژگی های یک ابزار نرم افزاری (SS) که مناسب بودن آن را برای برآوردن نیازهای مشخص یا ضمنی مطابق با هدف آن تعیین می کند [GOST 28806-90 "کیفیت ابزارهای نرم افزار. اصطلاحات و تعاریف"].

هدف از این کار توسعه روشی برای بکارگیری الزامات استاندارد ISO 9126 برای ارزیابی کیفیت یکی از انواع نرم افزار - سیستم های ایجاد تست است.

استاندارد ISO 9126

در حال حاضر رایج ترین و مورد استفاده ترین مدل کیفیت نرم افزار چند سطحی است که در مجموعه استانداردهای ISO 9126 ارائه شده است. ارزیابی محصول نرم افزاری ویژگی های کیفی و دستورالعمل های استفاده از آنها." این استاندارد توزیع چند سطحی ویژگی های نرم افزار را توصیف می کند. بر مرحله بالاتر 6 ویژگی اصلی کیفیت نرم افزار شناسایی شده است که هر یک توسط مجموعه ای از ویژگی ها تعیین می شود که معیارهای مربوطه برای ارزیابی بعدی را دارند (شکل).

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

مدل کیفیت نرم افزار (ISO 9126)

نرم افزار ایجاد سیستم های تست

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

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

سیستم تست کامپیوتری یک جزء جدایی ناپذیر برای توسعه آینده آموزش از راه دور است.

امروزه ابزارهای آماده برای توسعه برنامه های آموزشی به طور فزاینده ای ظاهر می شوند. علاوه بر این، این تحولات نه تنها خارجی هستند (به عنوان مثال، Adobe Acrobat، Macromedia Authorware، ToolBook II، Quest و دیگران)، اما همچنین موارد داخلی (به عنوان مثال، HyperMethod، "دانشیار"، "Prometheus"، "OROX" پوسته شبکه، CADIS). بدهیم توضیح مختصربرخی از آنها

یکی از سیستم های آزمایش "طراح تست" - سیستم جهانیتست دانش (وب سایت سیستم - http://www.keepsoft.ru/simulator.htm). این برنامه از پنج نوع سوال پشتیبانی می کند: بسته (برای انتخاب یک یا چند پاسخ)، باز (ورود یک پاسخ)، مطابقت و ترتیب. این به شما امکان می دهد هر آزمایشی را انجام دهید. این تست ها قابلیت استفاده از موسیقی، صداها، تصاویر و فیلم ها را دارند. هر داده ای را می توان روی چاپگر چاپ کرد. چندین نفر می توانند به طور مستقل روی یک کامپیوتر آزمایش دهند و با نام خود وارد برنامه شوند.

بسته بعدی سیستم تست INDIGO است (وب سایت - http://indigotech.ru/). در این سیستم همچنین می توانید 5 نوع کار تست ایجاد کنید. اما علاوه بر این، یکی از ویژگی های طراح آزمون INDIGO پشتیبانی آن از گروه بندی سلسله مراتبی چند سطحی سوالات آزمون بر اساس وظایف، موضوعات و غیره است. از این گذشته ، اگر سؤالات آزمون در یک لیست خطی نمایش داده شوند ، در پیمایش و درک اینکه کدام سؤال به چه چیزی مربوط می شود ، مشکلاتی ایجاد می شود. این سیستم قابلیت تنظیم برای هر گروه را دارد تنظیمات فردی(به خصوص ترتیب صدور عناصر تو در تو یا انتخاب تصادفی آنها).

بسته بعدی مورد بررسی VeralTest است - مجموعه ای از برنامه ها برای ایجاد تست های آزمایشی و برای سازماندهی تست رایانه چند کاربره (وب سایت - http://veralsoft.com/veraltest.shtml). در این سیستم می توان انواع تست های پشتیبان زیر را ایجاد کرد - بسته (انتخاب یک پاسخ و انتخاب چند پاسخ)، وارد کردن پاسخ متنی، وارد کردن پاسخ عددی، سوالات مطابقت.

بسته نرم افزاری VeralTest در دو نسخه ارائه شده است:

VeralTest Express. به شما امکان می‌دهد تست‌های مستقل خود اجرا (تست‌های exe) ایجاد کنید که می‌توانند در هر رایانه‌ای بدون اجرا شوند. پیش نصبو تنظیمات بسته VeraTest Express شامل: ویرایشگر تست TestEditor و برنامه ResultViewer برای مشاهده نتایج آزمون می باشد.

VeralTest Professional. پشتیبانی از تمام ویژگی های نسخه اکسپرس. علاوه بر این، این بسته شامل یک سرور تست (برنامه TestServer) است که به شما امکان می دهد تست را در کلاس کامپیوتر یا شبکه محلیشرکت ها در این حالت، دسترسی به تست ها از طریق یک مرورگر وب انجام می شود (به عنوان مثال، اینترنت اکسپلورر, گوگل کروم، موزیلا فایرفاکس). این نسخه همچنین شامل برنامه مدیریت TestAdmin است که با آن می‌توانید کاربران را ثبت نام کنید، آنها را در گروه‌ها ترکیب کنید، آزمایش‌هایی را برای کاربران اختصاص دهید، نتایج آزمایش را مشاهده و چاپ کنید.

علاوه بر سیستم های نرم افزاری فوق، سیستم های بسیار دیگری نیز وجود دارد. برخی از آنها را می توان در وب سایت یافت - http://edu.of.ru/volsch31/default.asp?ob_no = 2300.

جدول لیستی از ویژگی های برخی از ابزارها برای ایجاد سیستم های آزمایشی را ارائه می دهد و آنها را با هم مقایسه می کند.

اعمال شده به این گونهدر نظر گرفتن اثربخشی ابزارهای نرم افزاری بسیار دشوار است، زیرا تأثیر شخص (معلم ایجاد کننده تست ها و دانش آموز پاسخ دهنده به آزمون) بسیار زیاد است. اگر کارایی از نقطه نظر سرعت تست در نظر گرفته شود، این شاخص تا حد زیادی به سرعت انتقال اطلاعات از طریق شبکه کامپیوتری، در مورد تعداد وظایف آزمون.

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

اگر برای حضور هر ویژگی 1 امتیاز بدهید، معلوم می شود که از سیستم های مورد بررسی، MOODLE 22 امتیاز، UniTest System - 15، Test Designer - 11، INDIGO - 14، VeralTest - 12 (نسخه اکسپرس) و 16 (نسخه حرفه ای).

با در نظر گرفتن وجود سیستم تنظیم سفارش آزمون، سیستم تعامل از طریق شبکه کامپیوتری و عوامل دیگر، سیستم‌های MOODLE، INDIGO و VeralTest دارای پیشرفته‌ترین قابلیت‌ها هستند. این سیستم ها هستند که اغلب در عمل هنگام آزمایش دانش آموزان مورد استفاده قرار می گیرند.

نتیجه

ارزیابی شاخص های کیفیت نرم افزار را می توان با استفاده از روش ها و روش های مختلفی انجام داد. روش ارزیابی کیفیت ارائه شده در مقاله، بر اساس اصول استاندارد ISO 9126، به شما امکان می دهد:

ارزیابی کیفیت سیستم های نرم افزاری با استفاده از سیستم های مختلفشاخص های کیفیت؛

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

ویژگی های مقایسه ای برخی از ابزارهای ایجاد دوره های آموزشی

نام

"طراح تست"

VeralTest Express/Professional

قابلیت اطمینان

کامل بودن (احتمال شکست)

پایین بالا

تحمل شکست (عملکرد)

قابلیت بازیابی

در دسترس بودن سیستم کپی رزرو کنید

ذخیره تست ها در فایل جداگانه

راحتی در استفاده

سهولت یادگیری

دسترسی دستورالعمل های روش شناختیدر مورد مطالعه

قابل درک بودن

دسترسی قالب های آمادهتست ها

+ (به انگلیسی)

در دسترس بودن گسترش یافته است سیستم کمکی

راحتی و سهولت استفاده

در دسترس بودن منو (دکمه) برای ایجاد تست

کار با گرافیک

کار با صدا

ایجاد دکمه های کنترل

امکان ارزیابی پاسخ خودکار

تعیین ضرب الاجل برای پاسخگویی به سوالات

در دسترس بودن تابعی برای تعیین زمان پاسخگویی به سوالات

محدودیت زمانی برای پاسخ به هر سوال

محدود کردن کل زمان آزمون

امکان تقسیم سوالات بر اساس سطح دشواری

عملکرد

در دسترس بودن اقدامات امنیتی (به عنوان مثال، رمزگذاری آزمایشی)

توانایی راه اندازی شبکه کامپیوتری محلی

کار در اینترنت

سهولت نگهداری

در دسترس بودن خدمات پشتیبانی فنی

در دسترس بودن ماژول های جداگانه

در دسترس بودن تنظیمات برای مهندس

در دسترس بودن تنظیمات برای معلم

در دسترس بودن تنظیمات برای فرد مورد آزمایش

قابل حمل بودن

در دسترس بودن نسخه شبکه

+ (اینترنت)

حجم اشغال شده

20.8 مگابایت / 60 مگابایت

بر اساس سیستم نصب شدهشاخص های کیفیت، برنامه های مختلف را با هدف یکسان ارزیابی کنید تا بهترین آنها را شناسایی کنید.

هنگام توسعه شاخص هایی که سیستم های ایجاد آزمون را ارزیابی می کنند، ویژگی های این نوع برنامه به عنوان پایه در نظر گرفته شد. در آینده می توانید لیست شاخص های مورد نظر را گسترش دهید و آنها را با توجه به ویژگی های سایر انواع نرم افزار تغییر دهید.

داوران:

Dorrer G.A.، دکترای علوم فنی، استاد، رئیس. گروه، موسسه آموزشی بودجه ایالتی فدرال آموزش عالی حرفه ای "دانشگاه فناوری دولتی سیبری"، کراسنویارسک؛

Levshina V.V.، دکترای علوم فنی، استاد، رئیس. گروه مدیریت کیفیت و روش های ریاضی اقتصاد، دانشگاه فنی دولتی سیبری، کراسنویارسک.

این اثر در تاریخ 1392/05/07 توسط سردبیر دریافت شد.

پیوند کتابشناختی

گورباچنکو I.M. ارزیابی کیفیت نرم افزار برای ایجاد سیستم های تست // تحقیقات بنیادی. – 2013. – شماره 6-4. – ص 823-827;
URL: http://fundamental-research.ru/ru/article/view?id=31642 (تاریخ دسترسی: 2019/07/20). مجلات منتشر شده توسط انتشارات "آکادمی علوم طبیعی" را مورد توجه شما قرار می دهیم.

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

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

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

در نگاه اول، "کیفیت نرم افزار" ممکن است مفهومی انتزاعی به نظر برسد. با این حال، برای مدیران پروژه، برنامه نویسان، آزمایش کنندگان، مهندسان QA و سایر شرکت کنندگان در فرآیند توسعه محصول، معیارهای کیفیت شفاف و قابل اندازه گیری هستند. بیایید ابتدا به تعریف کلی نگاه کنیم.

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

در حال حاضر این شاخص توسط استاندارد بین المللی ISO/IEC 25010:2011 تنظیم می شود. این استانداردیک سیستم ارزیابی کیفیت نرم افزار چند سطحی را بر اساس هشت ویژگی اساسی ایجاد می کند.

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

ویژگی های اصلی کیفیت نرم افزار بر اساس استاندارد ISO/IEC 25010:2011:

  1. عملکرد. نرم افزار در صورتی کاربردی تلقی می شود که وظایف محول شده را انجام دهد و نیازهای مشخص شده کاربر را برآورده کند. این جنبه مستلزم عملکرد صحیح و دقیق و سازگاری تمام اجزای موجود است.
  2. قابلیت اطمینان. قابلیت اطمینان نرم افزار به عملکرد بدون وقفه وظایف محول شده به آن در شرایط مشخص در مدت زمان مشخص اشاره دارد.
  3. قابلیت استفاده (سهولت استفاده). این پارامتر درجه راحتی نرم افزار برای کاربران، وضوح آن، سهولت کار و مطالعه را مشخص می کند.
  4. بهره وری. پارامتر مربوط به درجه ای است که محصول در شرایط معین عملکرد مورد نیاز را ارائه می دهد.
  5. سهولت نگهداری. این شاخص سهولت تجزیه و تحلیل، آزمایش، تصحیح اجزای نرم افزار، نگهداری آن و همچنین درجه انطباق با شرایط جدید را مشخص می کند.
  6. قابل حمل بودن درجه ای که می توان آن را به راحتی به پلتفرم دیگری منتقل کرد. اطمینان از کیفیت نرم افزار شامل بررسی آن برای هر یک از پارامترهای ذکر شده، شناسایی نقاط ضعف و عیب یابی است.
  7. سازگاری. توانایی اجزای نرم افزار در تعامل با یکدیگر.
  8. امنیت، یعنی به حداقل رساندن تهدیدهای مرتبط با خواندن غیرمجاز، تغییر اطلاعات و غیره. تهدیدها همچنین می توانند با استفاده نادرست از نرم افزار، نفوذ خارجی افراد غیرمجاز، شکست ابزارهای فنی همراه باشند.

تضمین کیفیت و تست

اصطلاحات "تست" و "تضمین کیفیت" مطمئناً مرتبط هستند، اما یکسان نیستند. تفاوت در چیست؟

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

وظایف متخصصان QA عبارتند از:

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

آزمایش کردن- بررسی نرم افزار برای مطابقت با الزامات.

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

تست می تواند به صورت خودکار یا دستی انجام شود. می تواند یک چرخه کامل یا با هدف بررسی یک جنبه خاص از کیفیت (ایمنی، عملکرد، قابلیت استفاده و غیره) باشد.

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

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

زنگ

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