
- •Основи програмної інженерії Тема 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 . Каскадний підхід . Весь процес створення ПЗ розбивається на окремі етапи : формування вимог до ПЗ, проектування і розробка програмного продукту, його тестування і т.д. Перехід до наступного етапу здійснюється тільки після того, як повністю завершуються роботи на попередньому.
2 . Еволюційний підхід . Тут послідовно перемежовуються етапи формування вимог, розробки ПЗ та його атестації . Первісна програмна система швидко розробляється на основі деяких абстрактних ( загальних) вимог. Потім вони уточнюються і деталізуються відповідно до вимог замовника. Далі система допрацьовується і атестується відповідно до нових уточненими вимогами. Така послідовність дій може повторитися кілька разів.
3 . Формальні перетворення. Заснований на розробці формальної математичної специфікації програмної системи і перетворенні цієї специфікації допомогою спеціальних математичних методів у програми . Таке перетворення задовольняє умові " збереження коректності " . Це означає, що отримана програма буде в точності відповідати розробленої специфікації .
4 . Збірка програмного продукту з раніше створених компонентів. Передбачається, що окремі складові частини програмної системи вже існують, тобто створені раніше. У цьому випадку технологічний процес створення ПЗ основну увагу приділяє інтеграції окремих компонентів у загальне ціле, а не створення цих компонентів.
Характеристики якісного пз
Значна кількість Крім функціональних можливостей, властивих програмним продуктам за визначенням, ці продукти володіють і іншими показниками, що характеризують їх якостей Дані показники не випливають безпосередньо з того, які дії може виконувати програмний продукт. Вони характеризують поведінку програми під час виконання нею своїх дій, структуру і організацію вихідного коду програми, її документованість . Прикладом таких показників (які іноді називаються нефункціональними показниками ) може служити час очікування користувачем відповіді на свій запит або зрозумілість програмного коду.
Звичайно, множину тих показників або характеристик, які можна очікувати віт ПЗ, залежить від типу програмної системи . Наприклад, банківська система має бути захищеною, інтерактивна гра повинна бути чутливою до дій користувача-гравця, систему телефонних перемикань насамперед характеризує її надійність і т.д. Але ці специфічні показники, як і безліч інших подібних характеристик, можна узагальнити у вигляді показників якісних програмних систем, наведених у табл. 1.3 .
Таблиця 1.3 . Основні показники якісного програмного забезпечення
Опис |
Показник |
Зручність супроводу |
ПЗ повинно бути таким, щоб існувала можливість його удосконалення у відповідь на змінені вимоги замовника або користувача. Це визначальний показник, оскільки будь-яке ПЗ неминуче піддається модернізації внаслідок змін, що відбуваються в реальному світі. |
Надійність |
Визначається рядом характеристик, таких як безвідмовність, захищеність і безпеку. Надійність ПЗ означає, що можливі збої у роботі системи не приведуть до фізичного або економічного збитку. |
Ефективність |
Робота ПЗ не повинна призводити до марного витрачання таких системних ресурсів, як пам'ять або час зайнятості процесора. Тому ефективність ПО описується такими характеристиками: швидкість виконання, використання процесорного часу, обсяг необхідної пам'яті і т.п. |
Зручність у використанні |
ПЗ повинно бути зручним в експлуатації і не вимагати надмірного напруження зусиль користувача того рівня, на якого воно розраховане. Це означає, що програмна система повинна володіти відповідним користувача інтерфейсом і необхідною документацією |