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