Характеристики якості програмного продукту - life-prog
Для того щоб програмний продукт міг успішно витримувати конкуренцію, він повинен мати певні якісні характеристики. Нижче перераховані основні з них.
Правильність програми. Програма повинна працювати і вирішувати поставлене перед нею завдання. Тестування може довести тільки наявність помилок в програмі, але не правильність її роботи. У сучасних системах передбачається вбудований інтегрований відладчик, який оцінює результати контрольних точок, швидко і ефективно знаходить помилки в програмі, дозволяє виправляти їх і тестувати різні фрагменти.
Зрозумілість програми. Складні програмні комплекси створюються для їх багаторазового використання різними користувачами. У цих умовах на перший план висуваються такі характеристики:
Розробка програм регламентується Єдиною системою програмної документації (ЕСПД). Введення стандартів в процес створення програм спрощує процес розробки, полегшує читання і розуміння їх користувачами, спрощує користування та експлуатацію, покращує випробуваного, мобільність, документовані.
Стандартами визначаються стадії і етапи розробки програм і програмної документації. Так, наприклад, ГОСТ встановлює наступні стадії розробки програмної документації: технічне завдання, ескізний проект, робочий проект, впровадження. Цими ж документами визначено роботи, виконані на кожній стадії.
Мобільність. Тісно пов'язані такі характеристики, як мобільність програми і зручність її експлуатації. Під мобільністю розуміється властивість програми, що дозволяє переносити її з одного середовища функціонування в іншу з мінімальними витратами. Мобільність програми досягається за рахунок використання мов програмування високого рівня і мобільних операційних систем, а також орієнтації на поширені технічні засоби.
Гнучкість програми іліудобство експлуатації означає, перш за все, можливість подальшого поліпшення програми без великих переробок, з тим, щоб експлуатація програми здійснювалася з мінімальними витратами.
Ефективність програми залежить від її призначення, конфігурації технічних засобів і системи програмного забезпечення ЕОМ. З достатнім ступенем наближення за ефективність можна прийняти характеристику програми, значення якої прямо пропорційно швидкодії і обернено пропорційно обсягу використовуваних ресурсів технічних засобів. Ці ресурси включають в себе оперативну пам'ять, зовнішні пристрої, що запам'ятовують, кількість і типи зовнішніх пристроїв і т. П. Однак прагнення за всяку ціну скоротити час обчислень, обсяг використовуваної пам'яті не виправдовує себе. Сучасна тенденція програмування полягає в тому, щоб після розробки програми з використанням спеціальних методик виявити вузькі місця і постаратися їх поліпшити.
Модульність. Кожну програму бажано розбивати на модулі. Встановлено, що добре сприймаються модулі, що містять 20-50 рядків тексту і не більше 10 змінних. При розбитті на модулі необхідно прагнути, щоб модуль здійснював закінчила дію, добре проглядається. Таке розбиття на модулі полегшує не тільки розуміння програми, але і внесення виправлень у неї, так як кожен модуль може виправлятися і регламентуватиме окремо.
Надійність програми полягає в тому, що програма повинна забезпечувати отримання розумних результатів в разі виникнення непередбачених ситуацій. Від того, наскільки добре захищена програма, залежить її цінність.
Сумісність. Важливою характеристикою є сумісність, під якою розуміється придатність програм до об'єднання для вирішення більш складних завдань і створення пакетів прикладних програм (ППП).
Піддослідним. Характеристика, пов'язана з випробовуваних, передбачає наявність можливості досить просто оцінювати правильність функціонування програми в умовах конкретного середовища (технічні та програмні засоби, реальні вихідні дані).
Поліпшення перерахованих характеристик позначається на вартості програми. У зв'язку з цим повинен досягатися компроміс між ступенем поліпшення цікавить нас характеристики і збільшенням вартості програми.
Щоб задовольнити більшості зазначених вимог, програміст повинен дотримуватися суворої дисципліни програмування. Сьогодні технологія програмування спирається на структурний підхід, який забезпечує отримання хороших програм.