Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Відповіді КПЗ.doc
Скачиваний:
7
Добавлен:
20.04.2019
Размер:
770.56 Кб
Скачать

27. Якість програмного забезпечення.

Якість програмного забезпечення — характеристика програмного забезпечення, ступінь відповідності ПЗ до вимог. При цьому вимоги можуть трактуватись по-різному, що породжує декілька незалежних визначень терміну. Частіше за все, використовують визначення ISO 9001, згідно з яким якість — це «ступінь відповідності наявних характеристик вимогам».

Якість коду

Якість коду може визначатись різними критеріями. Деякі з них мають значення тільки з точки зору людини. Наприклад, форматування тексту програми — неважливо для комп'ютеру, але може мати велике значення для супроводу. Багато з існуючих стандартів кодування, що визначають специфічні для мови програмування угоди та задають низку правил, мають на меті полегшити супровід ПЗ в майбутньому. Також існують інші критерії, що визначають чи «гарно» написаний код, наприклад, такі, як структурованість — ступінь логічного розділення коду на блоки.

Деякі фактори:

· Читабельність коду

· Легкість підтримки, тестування, відлагодження, виправляння помилок, рефакторингу та портування

· Низька складність коду

· Коректність обробки винятків

· Методи покращення якості коду: рефакторинг.

Фактори якості

Фактори якості — це нефункціональні вимоги до ПЗ, що відносяться до, наприклад, надійності та продуктивності програм.

Деякі з факторів якості:

· Зрозумілість. Призначення ПЗ повинно бути зрозумілим з самої програми та документації.

· Повнота. Всі необхідні частини програми повинні бути представлені та реалізовані.

· Стислість. Відсутність надлишкової інформації та такою, що дублюється. Реалізація принципів DRY.

· Можливість портування. Легкість в адаптації програми до інших умов: архітектури, платформі, операційній системі тощо.

· Узгодженість. Вся документація та код повинні виконуватися за єдиними угодами, використовувати єдині формати та позначення

· Покриття тестуванням.

· Зручність використання.

· Надійність.

· Безпечність.

Точка зору користувача

Окрім технічної точки зору на якість ПЗ, є також оцінка якості з позиції звичайного користувача. Для цього аспекту якості використовують термін «англ. usability». Для оцінки цього аспекту якості, відповідають на наступні питання:

· Чи є інтерфейс користувача інтуїтивно зрозумілим?

· Наскільки легко виконувати прості, часті операції?

· Наскільки легко виконувати складні операції?

· Чи зрозумілі повідомлення про помилки?

· Чи завжди програма поводить себе відповідно до очікувань користувача?

· Чи є документація до ПЗ, наскільки вона повна?

· Чи є інтерфейс користувача само-документуючим?

· Чи завжди затримки відповіді від програми є прийнятними?

28. Рефакторинг.

Рефакторинг или реорганизация – это полное или частичное изменение структуры кода программы с помощью ряда преобразований без изменения функциональности программы.

Цель рефакторинга — сделать код программы легче для понимания; без этого рефакторинг нельзя считать успешным.

Рефакторинг следует отличать от оптимизации производительности. Как и рефакторинг, оптимизация обычно не изменяет поведение программы, а только ускоряет ее работу. Но оптимизация часто затрудняет понимание кода, что противоположно рефакторингу.

ВИДЫ РЕФАКТОРИНГА

составление методов (Extract Method, Inline Method, Introduce Explaining Variable, Substitute Algorithm)

перемещение функций между объектами (Move Method, Move Field, Inline Class, Extract Class)

организация данных ( Replace Data Value with Object, Replace Array with Object, Encapsulate Field)

• упрощение условных выражений (Replace Conditional with Polymorphism, Consolidate Duplicate Conditional Fragments, Remove Control Flag), упрощение вызовов методов (Rename Method, Add Parameter, Hide Method, Replace Exception with Test)

решение задач обобщения (Pull Up Field/Method, Push Down Field/Method, Extract Interface)

крупные рефакторинги (Trease Apart Inheritance, Convert Procedural Design to Object).

Причины применения рефакторинга

Рефакторинг нужно применять постоянно при разработке кода. Основными стимулами его проведения являются следующие задачи:

- необходимо добавить новую функцию, которая недостаточно укладывается в принятое архитектурное решение;

- необходимо исправить ошибку, причины возникновения которой сразу не ясны;

- преодоление трудности в командной разработке, которые обусловлены сложной логикой программы.

29. Задачі етапу тестування програмного забезпечення(Нужно дополнить).

Тестирование – процесс проверки соответствия заявленных к продукту требований и реально реализованной функциональности, осуществляемый путем наблюдения за его работой в искусственно созданных ситуациях и на ограниченном наборе тестов, выбранных определенным образом.

З початку історії розробки ПЗ основна задача тестування змінювалася, так само як і визначення самого процесу тестування. Подамо хронологію означення процесу тестування згідно із задачами, що ставляться до нього:

1980 - Процесс выполнения программы с намерением найти ошибки.

1987 - Процесс наблюдения за выполнением программы в специальных условиях и вынесения на этой основе оценки каких-либо ее аспектов.

1990 - Это не действие. Это интеллектуальная дисциплина, имеющая целью получение надежного программного обеспечения без излишних усилий на его проверку.

1999 - Техническое исследование программы для получения информации о ее качестве с точки зрения определенного круга заинтересованных лиц.

2004 - Проверка соответствия между реальным поведением программы и ее ожидаемым поведением на конечном наборе тестов, выбранном определенным образом.

На даний момент основними задачами тестування є:

  • поиск и документирование дефектов качества;

  • общие рекомендации относительно качества;

  • проверка выполнения основных предположений и требований на конкретных примерах;

  • проверка, что продукт функционирует так, как было запроектировано;

проверка, что требования выполнены соответствующим образом.

Тест — это набор контрольных входных данных совместно с ожидаемыми результатами.

Виды программных ошибок:

• Синтаксические

• Ошибки выполнения, выявляемые автоматически (переполнение, защита памяти; несоответствие типов; зацикливание)

• Программа не соответствует спецификации

• Спецификация не соответствует требованиям

Существующие на сегодняшний день методы тестирования ПО не позволяют однозначно и полностью выявить все дефекты и установить корректность функционирования анализируемой программы, поэтому все существующие методы тестирования действуют в рамках формального процесса проверки исследуемого или разрабатываемого ПО.