You are on page 1of 40

ІПЗ

Лекції 7-8
Проектування (розробка) - design
- перед тим як створювати програмне забезпечення, потрібно побудувати
його модель
- програмне забезпечення стає чим раз складнішим, тому важливо
напрацювати якісь техніки, стандарти, рекомендації щодо проектування,
які будуть зрозумілі більшості розробників
- оскільки програми складнішають, ми маємо використовувати якийсь
систематизуючий підхід, наприклад концепцію ООП або структурного
програмування.
Високорівневі паттерни
- меню-орієнтована система
- подіє-орієнтована система
- система, залежна від станів та дій
- система, залежна від вхідних токенів
- система в якій здійнюється пошук великої кількості даних
- система, яка може мати багато цілей, але для роботи над конкретною
задачею потрібне її налаштування
- система, залежна від конкретного алгоритму
- розподілена система, яка паралельно виконує багато операцій
Класифікація паттернів
- паттерни створення
- паттерни структури
- паттерни поведінки
Патерни створення
- абстрактна фабрика
- будівельник
- фабричний метод
- прототип
- сінглтон
Абстрактна фабрика
Будівник (будівельник)
Фабричний метод
Прототип
Сінглтон
Структурні паттерни
- Адаптер
- Міст
- Композит
- Декоратор
- Факада
- Легковаговик
- Проксі
Адаптер
Міст
Композит (компонувальник)
Декоратор
Факади (фасад)
Легковаговик
Проксі
Поведінкові патерни
- Ланцюг відповідальності
- команда
- інтерпретатор
- ітератор
- медіатор
- мементо
- оглядач
- стан
- стратегія
- метод-шаблон
- відвідувач
Ланцюжок відповідальностей
Команда
Інтерпретатор
Ітератор
Медіатор
Мементо (знімок)
Наглядач
Стан
Стратегія
Шаблонний метод
Відвідувач
Принципи опису та (відповідно) реалізації ПЗ
1. Опис послідовності дії, які реалізовує програмне забезпечення
2. Опис послідовності дій, що відбуваються із даними під час роботи ПЗ
3. Опис процедур, які виконуються в системі
4. Опис об’єктів, над якими здійснюються операції в системі
Принцип опису команд та операцій
- лінійні програми - послідовність дій, які відбуваються в програмі
- розгалуження - умови, при яких виконується той чи інший блок команд

якщо (умова) goto мітка 1


(код, який виконується, коли команда goto не пройшла)
goto мітка 2
мітка 1 (код, який виконується, коли умова пройшла)
мітка 2 (продовження програми)

Приклад умовної команди jnz мітка1;


Принцип опису команд та операцій
- ітерації
мітка1: (код, який повторюється)
….
якщо виконується умова виходу з циклу: goto мітка2
goto мітка1
мітка2: (продовження коду після завершення циклу)

m1: …

loop m1
Репрезентація такого підходу - блок-схема
Еволюція програмування - структури даних
struct Person{
str name;
bool isAdult;
int taxCode;
}

P1=Person(‘Marian’,true,12903103135);
Діаграма потоків даних
Процедурний підхід
Об’єктно-орієнтоване програмування
Діаграма класів
ER-діаграма

You might also like