Professional Documents
Culture Documents
Відповіді:
Етап проектування програмного забезпечення (ПЗ) полягає у розробці детального плану того,
як буде реалізовано ПЗ, яке відповідатиме вимогам технічного завдання та вимогам замовника.
Розробляється чіткий план дій, вибір представлення даних, стилів та шаблонів архітектури,
визначення стратегій вирішення завдань. Складається технічна документація, визначаються основні
правила документування програмного забезпечення, вибираються методики тестування.
Вивчення вимог до ПЗ
Розробка технічного завдання
Розробка загальної структури ПЗ та його компонентів
Розробка детального плану реалізації ПЗ
Розробка алгоритмів та структур даних
Розробка інтерфейсу користувача
Вибір технологій та інструментів
Оцінка ризиків та планування заходів щодо їх управління
Підготовка документації, що описує проект
Каскадна модель - модель процесу розробки програмного забезпечення, в якій процес розробки
виглядає як потік, що послідовно проходить фази аналізу вимог, проектування, реалізації, тестування,
інтеграції та підтримки. Інкрементна модель — це метод, у якому проект проектується, реалізується
та тестується інкрементно (тобто щоразу з невеликими додаваннями) до закінчення розробки.
Інкрементна модель передбачає розбиття життєвого циклу проекту на послідовність ітерацій, кожна з
яких ж невеликим проектом, включаючи всі стадії життєвого циклу в застосуванні до створення
менших фрагментів функціональності, в порівнянні з проектом в цілому. Спіральна модель —
генератор моделі процесу керування ризиками для проєктів програмного забезпечення. У спіральній
моделі життєвий шлях продукту, що розробляється, зображується у вигляді спіралі, яка,
розпочавшись на етапі планування, розкручується з проходженням кожного наступного кроку.
5. Назвіть шари, які може бути виділено в сучасній архітектурі програмного забезпечення?
Шар інтерфейсу користувача (UI) - цей шар містить усі компоненти, які відповідають за
взаємодію з користувачем, такі як віджети, форми, кнопки тощо.
Шар додаткової логіки - цей шар містить компоненти, які відповідають за бізнес-логіку
програми, такі як правила валідації, обробка даних та інші логічні компоненти.
Шар доступу до даних (Data Access Layer) - цей шар містить компоненти, які відповідають за
доступ до даних та їх збереження, такі як об'єктно-реляційні відображення, запити до бази
даних та інші компоненти.
Шар послуг (Services Layer) - цей шар містить компоненти, які відповідають за надання послуг
віддаленим клієнтам, такі як веб-служби, API-інтерфейси та інші компоненти.
Шар інфраструктури - цей шар містить компоненти, які відповідають за роботу інфраструктури
програмного забезпечення, такі як сервери додатків, мережеві компоненти, безпеку та інші.
Аналіз вимог до надійності. Необхідно провести аналіз вимог до системи та визначити, які
параметри надійності є критичними для додатку.
Проектування архітектури системи. Необхідно проектувати архітектуру системи так, щоб було
можливо досягти потрібних параметрів надійності.
Тестування. Проведення різних видів тестування, що допоможе виявити та виправити
помилки, зменшить кількість вразливостей та збільшить надійність системи.
Застосування патернів проектування. Використання патернів проектування може допомогти
збільшити надійність системи та знизити ймовірність виникнення помилок.
Використання відкритих стандартів та практик. Використання відкритих стандартів та практик
допоможе забезпечити більшу стабільність та надійність системи.
Резервне копіювання. Збереження резервних копій даних є дуже важливим аспектом
забезпечення надійності системи, оскільки дозволяє відновити дані у випадку їх втрати.
Моніторинг та логування. Система моніторингу та логування може допомогти виявити
вразливості та помилки в системі, збільшити надійність та швидкість реагування на проблеми.
7. Назвіть діаграми UML, які доцільно застосовувати для аналізу вимог? З якої діаграми доцільно
починати?
Для початку аналізу вимог доцільно використовувати діаграму випадкових величин оскільки вона
дозволяє ідентифікувати акторів системи та їх взаємодію з нею. Після цього можна використовувати
інші.
8. У чому полягає зміст процесу тестування? Назвіть методи тестування. Поясніть значення термінів
"чорна скринька", "біла скринька".
Коли проводиться тестування «чорного ящика», то мається на увазі те, що тестувальник не має
доступу до вихідного коду програми. Тестування «білого ящика» дозволяє тестувальнику
використовувати вихідний код програми. Тестування «білого ящика» передбачає активне
використання початкового коду.
Валідація – це процес оцінки системи/компоненту під час або після закінчення процесу
розробки з метою визначити, чи задовольняє вона/він заданим вимогам. Для перевірки правильності
проводяться приймально-здавальні випробування, які містять 8 документів: 1) План
тестування(як,хто, що, скільки) 2) Критерії успішності тестування. 3) Дані для тестування. 4) Сценарії
тестування, включаючи передумови і кроки тестів. 5)Звіт про переходи між етапами тестування. 6)
Протокол тестування. 7) Звіт про інциденти 8) Звіт про тестування
11. Визначте мету і завдання супроводження програмного забезпечення. Які види діяльності
розрізняють при виконанні супроводження?
12. Назвіть основні аспекти і рівні моделі якості програмного забезпечення. Наведіть
характеристики якості й визначте їхній зміст.
Аспекти і рівні:
функціональна придатність
ефективність роботи
сумісність
зручність використання
надійність
безпека
зручність супроводу
переносимість
Характеристики якості:
13.Назвіть основну мету і завдання системи керування якістю. У чому суть інженерії якості?
Основною метою системи керування якістю є забезпечення високої якості продукції чи послуг,
що надаються компанією. Це досягається завдяки розробці та впровадженню стандартів та процедур,
які дозволяють контролювати якість продукції на різних етапах її створення та постачання. Завдання:
Встановлення стандартів та процедур, які дозволяють забезпечувати високу якість продукції;
Контроль якості продукції на різних етапах її створення та постачання.
Аутсорсинг програмних проектів - це процес передачі частини або всієї розробки програмного
забезпечення третій стороні, яка має відповідні знання та досвід у цій галузі. Зазвичай, аутсорсинг
програмних проектів використовується компаніями для зменшення витрат на розробку програмного
забезпечення та забезпечення високої якості продукту. Може полегшити процес розробки,
забезпечуючи компанії доступ до більш широкого кола фахівців та забезпечуючи професійний підхід
до керування проектами. Також може допомогти компаніям зменшити ризик, пов'язаний з
розробкою програмного забезпечення, забезпечуючи професійний підхід до керування проектами та
забезпечуючи більшу відповідальність за результати.
Відкрита ліцензія: цей тип ліцензії надає користувачам більшу вільність при використанні
програмного продукту. Відкрита ліцензія зазвичай дозволяє користувачам переглядати, змінювати та
розповсюджувати вихідний код програмного продукту.