Professional Documents
Culture Documents
ІПЗ лекція 7-8
ІПЗ лекція 7-8
Лекції 7-8
Проектування (розробка) - design
- перед тим як створювати програмне забезпечення, потрібно побудувати
його модель
- програмне забезпечення стає чим раз складнішим, тому важливо
напрацювати якісь техніки, стандарти, рекомендації щодо проектування,
які будуть зрозумілі більшості розробників
- оскільки програми складнішають, ми маємо використовувати якийсь
систематизуючий підхід, наприклад концепцію ООП або структурного
програмування.
Високорівневі паттерни
- меню-орієнтована система
- подіє-орієнтована система
- система, залежна від станів та дій
- система, залежна від вхідних токенів
- система в якій здійнюється пошук великої кількості даних
- система, яка може мати багато цілей, але для роботи над конкретною
задачею потрібне її налаштування
- система, залежна від конкретного алгоритму
- розподілена система, яка паралельно виконує багато операцій
Класифікація паттернів
- паттерни створення
- паттерни структури
- паттерни поведінки
Патерни створення
- абстрактна фабрика
- будівельник
- фабричний метод
- прототип
- сінглтон
Абстрактна фабрика
Будівник (будівельник)
Фабричний метод
Прототип
Сінглтон
Структурні паттерни
- Адаптер
- Міст
- Композит
- Декоратор
- Факада
- Легковаговик
- Проксі
Адаптер
Міст
Композит (компонувальник)
Декоратор
Факади (фасад)
Легковаговик
Проксі
Поведінкові патерни
- Ланцюг відповідальності
- команда
- інтерпретатор
- ітератор
- медіатор
- мементо
- оглядач
- стан
- стратегія
- метод-шаблон
- відвідувач
Ланцюжок відповідальностей
Команда
Інтерпретатор
Ітератор
Медіатор
Мементо (знімок)
Наглядач
Стан
Стратегія
Шаблонний метод
Відвідувач
Принципи опису та (відповідно) реалізації ПЗ
1. Опис послідовності дії, які реалізовує програмне забезпечення
2. Опис послідовності дій, що відбуваються із даними під час роботи ПЗ
3. Опис процедур, які виконуються в системі
4. Опис об’єктів, над якими здійснюються операції в системі
Принцип опису команд та операцій
- лінійні програми - послідовність дій, які відбуваються в програмі
- розгалуження - умови, при яких виконується той чи інший блок команд
m1: …
…
loop m1
Репрезентація такого підходу - блок-схема
Еволюція програмування - структури даних
struct Person{
str name;
bool isAdult;
int taxCode;
}
P1=Person(‘Marian’,true,12903103135);
Діаграма потоків даних
Процедурний підхід
Об’єктно-орієнтоване програмування
Діаграма класів
ER-діаграма