
- •Основи програмної інженерії Тема 1. Поняття програмної інженерії. Вступ
- •Процес створення програмного забезпечення
- •Моделі технологічного процесу створення пз
- •Моделі процесу розробки по
- •Характеристики якісного пз
- •Тема 2. Види моделей систем. Поняття і класифікація вимог до програмної системи.
- •Способи запису специфікацій вимог.
- •Види моделей систем.
- •Мова моделювання uml.
- •Об'єктні моделі
- •Інструментальні case-засоби.
- •Тема 3. Поняття архітектурного проектування. Архітектурні моделі.
- •Архітектурний шаблон mvc.
- •Особливості шаблону mvc.
- •Модель проблемної сфери.
- •Тема 4. Важливі функціональні засоби мови c#. Автоматично реалізовані властивості.
- •Ініціалізатори об'єктів та колекцій.
- •Автоматичне виведення типу.
- •Анонімні типи.
- •Використання методів розширення Методи розширення
- •Застосування методів розширення до інтерфейсу
- •Створення фільтруючих методів розширення
- •Тема 5. Лямбда-вирази. Мова linq. Лямбда-вирази.
- •Мова linq.
- •Методи розширення linq.
- •Відкладені запити linq.
- •Тема 6. Створення слабо зв'язаних компонентів. Впровадження залежності.
- •Контейнери впровадження залежності.
- •Бібліотека Ninject.
- •Порядок роботи з Ninject.
- •Тема 7. Засоби доступу до даних. Технологія ado.Net.
- •Реалізація доступу до даних.
- •Робота з даними.
- •Тема 8. Тестування пз. Розробка через тестування. Автоматизоване тестування пз та його види.
- •Розробка через тестування. Робочий потік "червоний-зелений-рефакторинг".
- •Модель "організація.Дія.Твердження".
- •Використання бібліотеки Moq
- •Тема 9. Проектування інтерфейсу користувача. Інтерфейс користувача.
- •Переваги графічного інтерфейсу.
- •Процес проектування графічного інтерфейсу.
- •Принципи проектування інтерфейсів користувача.
- •Шаблони.
- •Тема 10. Основи інженерії вимог. Розробка вимог.
- •Формування і аналіз вимог.
- •Опорні точки зору.
- •Сценарії.
- •Атестація вимог.
- •Тема 11. Прототипування програмних систем. Поняття прототипування.
- •Переваги прототипування.
- •Види прототипування.
- •Технології швидкого прототипування.
- •Тема 12. Покомпонентна розробка. Компоненти і класи об'єктів.
- •Компоненти як постачальники послуг.
- •Рівні абстракції компонентів.
- •Вимоги до компонентів.
- •Тема 13. Шаблони проектування. Структурні шаблони.
- •Поняття шаблону проектування.
- •Основні елементи шаблону.
- •Механізми повторного використання.
- •Структурні шаблони проектування.
Тема 10. Основи інженерії вимог. Розробка вимог.
Розробка вимог - це процес, що включає заходи , необхідні для створення і затвердження документа, що містить специфікацію системних вимог.
Розрізняють чотири основних етапи процесу розробки вимог:
аналіз технічної здійсненності створення системи;
формування та аналіз вимог;
специфікування вимог і створення відповідної документації;
атестація вимог.
На рисунку 1 показані взаємозв'язки між цими етапами та документи , що супроводжують кожний етап процесу розробки системних вимог.
Рис. 1 – Процес розробки вимог
Для нових програмних систем процес розробки вимог повинен починатися з аналізу здійсненності. Початком такого аналізу є загальний опис системи та її призначення , а результатом аналізу – звіт, у якому повинна бути чітка рекомендація, продовжувати чи ні процес розробки вимог проектованої системи. Іншими словами, аналіз здійсненності повинен висвітлити такі питання .
Чи відповідає система загальним і бізнес-цілям організації-замовника та організації-розробника?
Чи можна реалізувати систему, використовуючи існуючі на даний момент технології і не виходячи за межі заданої вартості?
Чи можна об'єднати систему з іншими системами, які вже експлуатуються?
Критичним є питання, чи буде система відповідати цілям бізнесу. Якщо система не відповідає цим цілям, вона не представляє ніякої цінності для бізнесу. У той же час багато організації розробляють системи, що не відповідають їх цілям, або не зовсім ясно розуміючи ці цілі, або під впливом політичних чи суспільних факторів.
Виконання аналізу здійсненності включає збір та аналіз інформації про майбутню систему і написання відповідного звіту. Спочатку слід визначити, яка саме інформація необхідна, щоб відповісти на поставлені вище питання. Наприклад, цю інформацію можна отримати, відповівши на наступні запитання.
Що станеться з організацією, якщо система не буде введена в експлуатацію?
Які поточні проблеми існують в організації і як нова система допоможе їх вирішити?
Яким чином система сприятиме цілям бізнесу?
Чи вимагає розробка системи технології, яка до цього не використовувалася в організації?
Як тільки будуть сформульовані подібні питання, необхідно визначити джерела інформації. Це можуть бути менеджери відділів, де система буде використовуватися, розробники програмного забезпечення, які знайомі з типом майбутньої системи, технологи, кінцеві користувачі і т.д.
Після обробки зібраної інформації готується звіт з аналізу здійсненності створення системи. У ньому мають бути дані рекомендації щодо продовження розробки системи . Можуть бути запропоновані зміни бюджету і графіка робіт зі створення системи або пред'явлені більш високі вимоги до системи.
Формування і аналіз вимог.
На цьому етапі команда розробників ПЗ працює з замовником і кінцевими користувачами системи для з'ясування області застосування, опису системних сервісів, визначення режимів роботи системи та її характеристик виконання, апаратних обмежень і т.д.
У процес формування вимог можуть бути залучені люди різних професій. У ньому беруть участь кінцеві користувачі, які будуть працювати з системою, інженери, що розробляють та експлуатують подібні системи, бізнес-менеджери, фахівці з предметної області, де буде експлуатуватися система, і навіть представники профспілок.
Узагальнена модель процесу формування та аналізу вимог показана на рисунку 2 . Кожна організація використовує власний варіант цієї моделі, який залежить від "місцевих" факторів: досвіду роботи колективу розробників, типу розроблюваної системи, що використовуються стандартів і т.д.
Рис. 2 – Процес формування і аналізу вимог
Процес формування та аналізу вимог проходить через ряд етапів.
Аналіз предметної області. Аналітики повинні вивчити предметну область, де буде експлуатуватися система.
Збір вимог. Це процес взаємодії з особами, що формують вимоги. Під час цього процесу триває аналіз предметної області.
Класифікація вимог. На цьому етапі безформний набір вимог перетвориться в логічно пов'язані групи вимог.
Вирішення протиріч. Без сумніву, вимоги численних осіб, зайнятих у процесі формування вимог, будуть суперечливими. На цьому етапі визначаються і вирішуються протиріччя такого роду.
Призначення пріоритетів. У будь-якому наборі вимог одні з них будуть більш важливі, ніж інші. На цьому етапі спільно з особами, що формують вимоги, визначаються найбільш важливі вимоги.
Перевірка вимог. На цьому етапі визначається їх повнота, послідовність і несуперечливість.
Як показано на рисунку 2, процес формування та аналізу вимог циклічний, зі зворотним зв'язком від одного етапу до іншого. Цикл починається з аналізу предметної області і закінчується перевіркою вимог. Розуміння вимог предметної області збільшується в кожному циклі процесу формування вимог.
Існують різні підходи до формування вимог:
метод , заснований на множині опорних точок зору;
сценарії;
етнографічний метод;
методи структурного аналізу;
методи прототипування.
Не існує універсального підходу до формування та аналізу вимог. Зазвичай для розробки вимог одночасно використовується декілька підходів .