Якість програмного забезпечення — характеристика програмного забезпечення, ступінь відповідності ПЗ до вимог. При цьому вимоги можуть трактуватись по-різному, що породжує декілька незалежних визначень терміну. Якість ПЗ – набір властивостей продукту (сервісу або програм), що характеризують його здатність задовольнити встановлені або передбачувані потреби замовника. Поняття якості має різні інтерпретації залежно від конкретної програмної системи і вимог до неї.
Якість коду
Якість коду може визначатись різними критеріями. Деякі з них мають значення тільки з точки зору людини. Наприклад, форматування тексту програми — неважливо для комп'ютеру, але може мати велике значення для супроводу. Багато з існуючих стандартів кодування, що визначають специфічні для мови програмування угоди та задають низку правил, мають на меті полегшити супровід ПЗ в майбутньому. Також існують інші критерії, що визначають чи «гарно» написаний код, наприклад, такі, як структурованість — ступінь логічного розділення коду на блоки.
Деякі фактори:
- Прочитність коду
- Легкість підтримки, тестування, відлагодження, виправляння помилок, рефакторингу та портування
- Низька складність коду
- Коректність обробки винятків
Методи покращення якості коду: рефакторинг.
Характеристики якості ПЗ
Стандарт ISO/IEC 9126 регламентує зовнішні і внутрішні характеристики якості. Перші відображають вимоги до функціонування програмного продукту. Для кількісного встановлення критеріїв якості, за якими буде здійснюватися перевірка і підтвердження відповідності ПЗ заданим вимогам, визначаються відповідні зовнішні вимірювані властивості (зовнішні атрибути) ПЗ, метрики (наприклад, час виконання окремих компонентів), діапазони зміни значень і моделі їх оцінки. Метрики використовуються на стадії тестування або функціонування і називаються зовнішніми метриками. Вони являють собою моделі оцінки атрибутів.
Внутрішні характеристики якості і внутрішні атрибути ПЗ використовуються для складання плану досягнення необхідних зовнішніх характеристик якості продукту. Для квантифікації внутрішніх характеристик якості застосовують внутрішні метрики, як інструмент перевірки відповідності проміжних продуктів внутрішнім вимогам до якості, які формулюються на процесах, що передують тестуванню.
Зовнішні і внутрішні характеристики якості відображають властивості самого ПЗ (працюючого або не працюючого), а також погляд замовника і розробника на таке ПЗ. Безпосереднього кінцевого користувача ПЗ цікавить експлуатаційна якість ПЗ – сукупний ефект від досягнення характеристик якості, що виміряється строком результату, а не властивістю самого ПЗ. Це поняття ширше, ніж будь-яка окрема характеристика (наприклад, зручність використання або надійність).
Моделі якості ПЗ
Моделі мають різну кількість рівнів і повністю або частково збігаються щодо набору характеристик якості. Наприклад, модель якості МакКолла на найвищому рівні має три характеристики: функціональність, модифікованість і переносність, а на нижчих рівнях моделі – 11 підхарактеристик якості і 18 критеріїв (атрибутів) якості. Стандарт ISO 9126 пропонує використовувати для опису внутрішнього та зовнішнього якості ПЗ багаторівневу модель. На верхньому рівні виділено 6 основних характеристик якості ПЗ. Кожна характеристика описується за допомогою кількох вхідних у неї атрибутів. Для кожного атрибута визначається набір метрик, що дозволяють його оцінити. Множина характеристик і атрибутів якості згідно з ISO 9126.
Визначення цих характеристик і атрибутів за стандартом ISO 9126:2001 (на сьогоднішній день вже існує оновлений стандарт ISO/IEC 25010 [ 11 липня 2020 у Wayback Machine.]):
- Функціональність (functionality). Здатність ПЗ в певних умовах вирішувати задачі, потрібні користувачам. Визначає, що саме робить ПЗ, які задачі воно вирішує.
- Функціональна придатність (suitability). Здатність вирішувати потрібний набір задач.
- Точність (accuracy). Здатність видавати потрібні результати.
- Здатність до взаємодії (interoperability). Здатність взаємодіяти з потрібним набором інших систем.
- Відповідність стандартам і правилам (compliance). Відповідність ПЗ наявним індустріальним стандартам, нормативним і законодавчим актам, іншим регулюючим нормам.
- Захищеність (security). Здатність запобігати неавторизованому, тобто без вказівки особи, що намагається його здійснити, і недозволеному доступу до даних і програм.
- Надійність (reliability). Здатність ПЗ підтримувати визначену працездатність у заданих умовах.
- Зрілість, завершеність (maturity). Величина, зворотна частоті відмов ПЗ. Звичайно виміряється середнім часом роботи без збоїв і величиною, зворотною імовірності виникнення відмови за даний період часу.
- Стійкість до відмов (fault tolerance). Здатність підтримувати заданий рівень працездатності при відмовах і порушеннях правил взаємодії з середовищем.
- Здатність до відновлення (recoverability). Здатність відновлювати визначений рівень працездатності та цілісність даних після відмови, необхідні для цього час і ресурси.
- Відповідність стандартам надійності (reliability compliance). Цей атрибут доданий в 2001 році.
- Зручність використання (usability) або практичність. Здатність ПЗ бути зручним у навчанні та використанні, а також привабливим для користувачів.
- Зрозумілість (understandability). Показник, зворотний до зусиль, які затрачаються користувачами на сприйняття основних понять ПЗ та усвідомлення їх застосовності для розв'язання своїх задач.
- Зручність навчання (learnability). Показник, зворотний зусиллям, затрачуваним користувачами на навчання роботі з ПЗ.
- Зручність роботи (operability). Показник, зворотний зусиллям, що вживається користувачами для розв'язання своїх задач за допомогою ПЗ.
- Привабливість (attractiveness). Здатність ПЗ бути привабливим для користувачів. Цей атрибут доданий в 2001 році.
- Відповідність стандартам зручності використання (usability compliance). Цей атрибут доданий в 2001 році.
- Продуктивність (efficiency) або ефективність. Здатність ПЗ при заданих умовах забезпечувати необхідну працездатність стосовно виділюваного для цього ресурсам. Можна визначити її і як відношення одержуваних за допомогою ПЗ результатів до затрачуваних на це ресурсів усіх типів.
- Часова ефективність (time behaviour). Здатність ПЗ видавати очікувані результати, а також забезпечувати передачу необхідного об'єму даних за відведений час.
- Ефективність використання ресурсів (resource utilisation). Здатність вирішувати потрібні задачі з використанням певних об'ємів ресурсів певних видів. Маються на увазі такі ресурси, як оперативна й довгострокова пам'ять, мережні з'єднання, пристрої вводу та виводу та ін.
- Відповідність стандартам продуктивності (efficiency compliance). Цей атрибут доданий в 2001 році.
- Зручність супроводу (maintainability). Зручність проведення всіх видів діяльності, пов'язаних із супроводом програм.
- Аналізованість (analyzability) або зручність проведення аналізу. Зручність проведення аналізу помилок, дефектів і недоліків, а також зручність аналізу необхідності змін і їх можливих наслідків.
- Зручність внесення змін (changeability). Показник, зворотний трудозатратам на виконання необхідних змін.
- Стабільність (stability). Показник, зворотний ризику виникнення несподіваних ефектів при внесенні необхідних змін.
- Зручність перевірки (testability). Показник, зворотний трудозатратам на проведення тестування і інших видів перевірки того, що внесені зміни привели до потрібних результатів.
- Відповідність стандартам зручності супроводу (maintainability compliance). Цей атрибут доданий в 2001 році.
- Переносимість (portability). Здатність ПЗ зберігати працездатність при перенесенні з одного оточення в інше, включаючи організаційні, апаратні й програмні аспекти оточення.
- Адаптованість (adaptability). Здатність ПЗ пристосовуватися різним оточенням без проведення для цього дій, крім заздалегідь передбачених.
- Зручність установки (installability). Здатність ПЗ бути встановленим або розгорнутим у певному оточенні.
- Здатність до співіснування (coexistence). Здатність ПЗ співіснувати з іншими програмами у загальному оточенні, ділячи з ними ресурси.
- Зручність заміни (replaceability) іншого ПЗ даним. Можливість застосування даного ПЗ замість інших програмних систем для вирішення тих же задач у певному оточенні.
- Відповідність стандартам переносимості (portability compliance). Цей атрибут доданий в 2001 році.
Стандарт ISO/IEC 25010 (затверджений у грудні 2019 року) включає 8 характеристик якості:
- функціональна придатність (Functional Suitability);
- ефективність роботи (Performance efficiency);
- сумісність (Compatibility);
- зручність використання (Usability);
- надійність (Reliability);
- безпека (Security);
- зручність супроводу (Maintainability);
- переносимість (Portability).
Точка зору користувача
Окрім технічної точки зору на якість ПЗ, є також оцінка якості з позиції звичайного користувача. Для цього аспекту якості використовують термін «англ. usability». Для оцінки цього аспекту якості, відповідають на наступні питання:
- Чи є інтерфейс користувача інтуїтивно зрозумілим?
- Наскільки легко виконувати прості, часті операції?
- Наскільки легко виконувати складні операції?
- Чи зрозумілі повідомлення про помилки?
- Чи завжди програма поводить себе відповідно до очікувань користувача?
- Чи є документація до ПЗ, наскільки вона повна?
- Чи є інтерфейс користувача само-документуючим?
- Чи завжди затримки відповіді від програми є прийнятними?
Див. також
Посилання
- Якість коду має значення [ 16 липня 2013 у Wayback Machine.]
- Тестування оточення методів оцінки якості ПЗ [ 13 серпня 2013 у Wayback Machine.]
- Тестування програмного забезпечення [ 5 жовтня 2021 у Wayback Machine.]
- . iso25000.com. Архів оригіналу за 11 липня 2020. Процитовано 11 липня 2020.
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Yakist programnogo zabezpechennya harakteristika programnogo zabezpechennya stupin vidpovidnosti PZ do vimog Pri comu vimogi mozhut traktuvatis po riznomu sho porodzhuye dekilka nezalezhnih viznachen terminu Yakist PZ nabir vlastivostej produktu servisu abo program sho harakterizuyut jogo zdatnist zadovolniti vstanovleni abo peredbachuvani potrebi zamovnika Ponyattya yakosti maye rizni interpretaciyi zalezhno vid konkretnoyi programnoyi sistemi i vimog do neyi Yakist koduYakist kodu mozhe viznachatis riznimi kriteriyami Deyaki z nih mayut znachennya tilki z tochki zoru lyudini Napriklad formatuvannya tekstu programi nevazhlivo dlya komp yuteru ale mozhe mati velike znachennya dlya suprovodu Bagato z isnuyuchih standartiv koduvannya sho viznachayut specifichni dlya movi programuvannya ugodi ta zadayut nizku pravil mayut na meti polegshiti suprovid PZ v majbutnomu Takozh isnuyut inshi kriteriyi sho viznachayut chi garno napisanij kod napriklad taki yak strukturovanist stupin logichnogo rozdilennya kodu na bloki Deyaki faktori Prochitnist kodu Legkist pidtrimki testuvannya vidlagodzhennya vipravlyannya pomilok refaktoringu ta portuvannya Nizka skladnist kodu Korektnist obrobki vinyatkiv Metodi pokrashennya yakosti kodu refaktoring Harakteristiki yakosti PZStandart ISO IEC 9126 reglamentuye zovnishni i vnutrishni harakteristiki yakosti Pershi vidobrazhayut vimogi do funkcionuvannya programnogo produktu Dlya kilkisnogo vstanovlennya kriteriyiv yakosti za yakimi bude zdijsnyuvatisya perevirka i pidtverdzhennya vidpovidnosti PZ zadanim vimogam viznachayutsya vidpovidni zovnishni vimiryuvani vlastivosti zovnishni atributi PZ metriki napriklad chas vikonannya okremih komponentiv diapazoni zmini znachen i modeli yih ocinki Metriki vikoristovuyutsya na stadiyi testuvannya abo funkcionuvannya i nazivayutsya zovnishnimi metrikami Voni yavlyayut soboyu modeli ocinki atributiv Vnutrishni harakteristiki yakosti i vnutrishni atributi PZ vikoristovuyutsya dlya skladannya planu dosyagnennya neobhidnih zovnishnih harakteristik yakosti produktu Dlya kvantifikaciyi vnutrishnih harakteristik yakosti zastosovuyut vnutrishni metriki yak instrument perevirki vidpovidnosti promizhnih produktiv vnutrishnim vimogam do yakosti yaki formulyuyutsya na procesah sho pereduyut testuvannyu Zovnishni i vnutrishni harakteristiki yakosti vidobrazhayut vlastivosti samogo PZ pracyuyuchogo abo ne pracyuyuchogo a takozh poglyad zamovnika i rozrobnika na take PZ Bezposerednogo kincevogo koristuvacha PZ cikavit ekspluatacijna yakist PZ sukupnij efekt vid dosyagnennya harakteristik yakosti sho vimiryayetsya strokom rezultatu a ne vlastivistyu samogo PZ Ce ponyattya shirshe nizh bud yaka okrema harakteristika napriklad zruchnist vikoristannya abo nadijnist Modeli yakosti PZModeli mayut riznu kilkist rivniv i povnistyu abo chastkovo zbigayutsya shodo naboru harakteristik yakosti Napriklad model yakosti MakKolla na najvishomu rivni maye tri harakteristiki funkcionalnist modifikovanist i perenosnist a na nizhchih rivnyah modeli 11 pidharakteristik yakosti i 18 kriteriyiv atributiv yakosti Standart ISO 9126 proponuye vikoristovuvati dlya opisu vnutrishnogo ta zovnishnogo yakosti PZ bagatorivnevu model Na verhnomu rivni vidileno 6 osnovnih harakteristik yakosti PZ Kozhna harakteristika opisuyetsya za dopomogoyu kilkoh vhidnih u neyi atributiv Dlya kozhnogo atributa viznachayetsya nabir metrik sho dozvolyayut jogo ociniti Mnozhina harakteristik i atributiv yakosti zgidno z ISO 9126 Viznachennya cih harakteristik i atributiv za standartom ISO 9126 2001 na sogodnishnij den vzhe isnuye onovlenij standart ISO IEC 25010 11 lipnya 2020 u Wayback Machine Funkcionalnist functionality Zdatnist PZ v pevnih umovah virishuvati zadachi potribni koristuvacham Viznachaye sho same robit PZ yaki zadachi vono virishuye Funkcionalna pridatnist suitability Zdatnist virishuvati potribnij nabir zadach Tochnist accuracy Zdatnist vidavati potribni rezultati Zdatnist do vzayemodiyi interoperability Zdatnist vzayemodiyati z potribnim naborom inshih sistem Vidpovidnist standartam i pravilam compliance Vidpovidnist PZ nayavnim industrialnim standartam normativnim i zakonodavchim aktam inshim regulyuyuchim normam Zahishenist security Zdatnist zapobigati neavtorizovanomu tobto bez vkazivki osobi sho namagayetsya jogo zdijsniti i nedozvolenomu dostupu do danih i program Nadijnist reliability Zdatnist PZ pidtrimuvati viznachenu pracezdatnist u zadanih umovah Zrilist zavershenist maturity Velichina zvorotna chastoti vidmov PZ Zvichajno vimiryayetsya serednim chasom roboti bez zboyiv i velichinoyu zvorotnoyu imovirnosti viniknennya vidmovi za danij period chasu Stijkist do vidmov fault tolerance Zdatnist pidtrimuvati zadanij riven pracezdatnosti pri vidmovah i porushennyah pravil vzayemodiyi z seredovishem Zdatnist do vidnovlennya recoverability Zdatnist vidnovlyuvati viznachenij riven pracezdatnosti ta cilisnist danih pislya vidmovi neobhidni dlya cogo chas i resursi Vidpovidnist standartam nadijnosti reliability compliance Cej atribut dodanij v 2001 roci Zruchnist vikoristannya usability abo praktichnist Zdatnist PZ buti zruchnim u navchanni ta vikoristanni a takozh privablivim dlya koristuvachiv Zrozumilist understandability Pokaznik zvorotnij do zusil yaki zatrachayutsya koristuvachami na sprijnyattya osnovnih ponyat PZ ta usvidomlennya yih zastosovnosti dlya rozv yazannya svoyih zadach Zruchnist navchannya learnability Pokaznik zvorotnij zusillyam zatrachuvanim koristuvachami na navchannya roboti z PZ Zruchnist roboti operability Pokaznik zvorotnij zusillyam sho vzhivayetsya koristuvachami dlya rozv yazannya svoyih zadach za dopomogoyu PZ Privablivist attractiveness Zdatnist PZ buti privablivim dlya koristuvachiv Cej atribut dodanij v 2001 roci Vidpovidnist standartam zruchnosti vikoristannya usability compliance Cej atribut dodanij v 2001 roci Produktivnist efficiency abo efektivnist Zdatnist PZ pri zadanih umovah zabezpechuvati neobhidnu pracezdatnist stosovno vidilyuvanogo dlya cogo resursam Mozhna viznachiti yiyi i yak vidnoshennya oderzhuvanih za dopomogoyu PZ rezultativ do zatrachuvanih na ce resursiv usih tipiv Chasova efektivnist time behaviour Zdatnist PZ vidavati ochikuvani rezultati a takozh zabezpechuvati peredachu neobhidnogo ob yemu danih za vidvedenij chas Efektivnist vikoristannya resursiv resource utilisation Zdatnist virishuvati potribni zadachi z vikoristannyam pevnih ob yemiv resursiv pevnih vidiv Mayutsya na uvazi taki resursi yak operativna j dovgostrokova pam yat merezhni z yednannya pristroyi vvodu ta vivodu ta in Vidpovidnist standartam produktivnosti efficiency compliance Cej atribut dodanij v 2001 roci Zruchnist suprovodu maintainability Zruchnist provedennya vsih vidiv diyalnosti pov yazanih iz suprovodom program Analizovanist analyzability abo zruchnist provedennya analizu Zruchnist provedennya analizu pomilok defektiv i nedolikiv a takozh zruchnist analizu neobhidnosti zmin i yih mozhlivih naslidkiv Zruchnist vnesennya zmin changeability Pokaznik zvorotnij trudozatratam na vikonannya neobhidnih zmin Stabilnist stability Pokaznik zvorotnij riziku viniknennya nespodivanih efektiv pri vnesenni neobhidnih zmin Zruchnist perevirki testability Pokaznik zvorotnij trudozatratam na provedennya testuvannya i inshih vidiv perevirki togo sho vneseni zmini priveli do potribnih rezultativ Vidpovidnist standartam zruchnosti suprovodu maintainability compliance Cej atribut dodanij v 2001 roci Perenosimist portability Zdatnist PZ zberigati pracezdatnist pri perenesenni z odnogo otochennya v inshe vklyuchayuchi organizacijni aparatni j programni aspekti otochennya Adaptovanist adaptability Zdatnist PZ pristosovuvatisya riznim otochennyam bez provedennya dlya cogo dij krim zazdalegid peredbachenih Zruchnist ustanovki installability Zdatnist PZ buti vstanovlenim abo rozgornutim u pevnomu otochenni Zdatnist do spivisnuvannya coexistence Zdatnist PZ spivisnuvati z inshimi programami u zagalnomu otochenni dilyachi z nimi resursi Zruchnist zamini replaceability inshogo PZ danim Mozhlivist zastosuvannya danogo PZ zamist inshih programnih sistem dlya virishennya tih zhe zadach u pevnomu otochenni Vidpovidnist standartam perenosimosti portability compliance Cej atribut dodanij v 2001 roci Standart ISO IEC 25010 zatverdzhenij u grudni 2019 roku vklyuchaye 8 harakteristik yakosti funkcionalna pridatnist Functional Suitability efektivnist roboti Performance efficiency sumisnist Compatibility zruchnist vikoristannya Usability nadijnist Reliability bezpeka Security zruchnist suprovodu Maintainability perenosimist Portability Tochka zoru koristuvachaOkrim tehnichnoyi tochki zoru na yakist PZ ye takozh ocinka yakosti z poziciyi zvichajnogo koristuvacha Dlya cogo aspektu yakosti vikoristovuyut termin angl usability Dlya ocinki cogo aspektu yakosti vidpovidayut na nastupni pitannya Chi ye interfejs koristuvacha intuyitivno zrozumilim Naskilki legko vikonuvati prosti chasti operaciyi Naskilki legko vikonuvati skladni operaciyi Chi zrozumili povidomlennya pro pomilki Chi zavzhdi programa povodit sebe vidpovidno do ochikuvan koristuvacha Chi ye dokumentaciya do PZ naskilki vona povna Chi ye interfejs koristuvacha samo dokumentuyuchim Chi zavzhdi zatrimki vidpovidi vid programi ye prijnyatnimi Div takozhProgramna inzheneriya Testuvannya programnogo zabezpechennya Metriki programnogo zabezpechennyaPosilannyaYakist kodu maye znachennya 16 lipnya 2013 u Wayback Machine Testuvannya otochennya metodiv ocinki yakosti PZ 13 serpnya 2013 u Wayback Machine Testuvannya programnogo zabezpechennya 5 zhovtnya 2021 u Wayback Machine iso25000 com Arhiv originalu za 11 lipnya 2020 Procitovano 11 lipnya 2020