
- •Основи програмної інженерії Тема 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. Шаблони проектування. Структурні шаблони.
- •Поняття шаблону проектування.
- •Основні елементи шаблону.
- •Механізми повторного використання.
- •Структурні шаблони проектування.
Способи запису специфікацій вимог.
Специфікації системних вимог часто пишуться природною мовою. Але використання природної мови може породити певні проблеми при написанні деталізованої специфікації. Застосування природної мови має на увазі, що ті, хто пише специфікацію, і ті , хто її читає, одні й ті ж слова і вирази розуміють однаково. Однак насправді це не так, оскільки природній мові притаманна певна розмитість понять. Внаслідок цього одна і та ж вимога може трактуватися різними людьми по-різному.
Щоб уникнути подібних проблем, розроблені методи опису вимог, які структурують специфікацію і зменшують розмитість визначень.
Таблиця 1. Способи запису специфікацій вимог
Система запису |
Опис |
Структурована природня мова |
Використання стандартних форм і шаблонів для написання специфікації |
Мови опису програм |
Використання спеціальних структурованих мов, подібних до мов програмування, де специфікація вимог будується на основі обраної операційної моделі системи |
Графічні нотації |
Графічний мова , що використовує для опису функціональних вимог діаграми і блок-схеми, які доповнені текстовими поясненнями. |
Математичні специфікації |
Системи нотацій, що базуються на математичних концепціях, таких як теорія кінцевих автоматів або теорія множин. |
Види моделей систем.
Однією з широко використовуваних методик документування системних вимог є побудова ряду моделей системи. Ці моделі використовують графічні представлення, які є більш зрозумілими, ніж детальний опис системних вимог природньою мовою. Моделі є сполучною ланкою між процесом аналізу вихідної задачі і процесом проектування системи.
Моделі можуть представити систему в різних аспектах.
Зовнішнє подання, коли моделюється оточення або робоче середовище системи.
Опис поведінки системи, коли моделюється її поведінка.
Опис структури системи, коли моделюється системна архітектура або структури даних, що оброблюються системою.
Найбільш важливим аспектом системного моделювання є те, що воно опускає деталі. Модель є абстракцією системи і легше піддається аналізу, ніж будь-яке інше представлення цієї системи. В ідеалі представлення системи повинне зберігати всю інформацію щодо репрезентованого об'єкта. Абстракція є спрощенням і визначається вибором найбільш важливих характеристик системи.
Різні типи системних моделей базуються на різних підходах до абстракції. Наприклад , модель потоків даних концентрує увагу на проходженні даних через систему і на функціональних перетвореннях цих даних. Модель залишає без уваги структуру даних. І навпаки, модель "сутність-зв'язок " передбачає документування системних даних та їх взаємозв'язок, не торкаючись системних функцій.
Наведемо типи системних моделей , які можуть створюватися в процесі аналізу систем.
Модель обробки даних. Діаграми потоків даних показують послідовність обробки даних в системі.
Композиційна модель. Діаграми "сутність - зв'язок "показують, як системні сутності складаються з інших сутностей.
Архітектурна модель. Ці моделі показують основні підсистеми, з яких будується система.
Класифікаційна модель. Діаграми успадкування класів показують, які об'єкти мають загальні характеристики.
Модель "стимул-відповідь". Діаграми зміни станів показують, як система реагує на внутрішні і зовнішні події.