Опис навчальної дисципліни · Навчальний рік 2019/2020...

15

Upload: others

Post on 15-Jul-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Опис навчальної дисципліни · Навчальний рік 2019/2020 Номер(и) семестрів (триместрів): Денна форма Заочна
Page 2: Опис навчальної дисципліни · Навчальний рік 2019/2020 Номер(и) семестрів (триместрів): Денна форма Заочна

Опис навчальної дисципліни

Найменування показника Характеристика дисципліни

Найменування дисципліни Конструювання програмного

забезпечення

Галузь знань 12 «Інформаційні технології»

Спеціальність 121 «Інженерія програмного

забезпечення»

Спеціалізація (якщо є)

Освітня програма Інженерія програмного забезпечення

Рівень вищої освіти Бакалавр

Статус дисципліни Нормативна

Курс навчання 4

Навчальний рік 2019/2020

Номер(и) семестрів (триместрів):

Денна форма Заочна форма

7

Загальна кількість кредитів ЄКТС/годин 4 кредити / 120 годин

Структура курсу:

– лекції

– семінарські заняття (практичні,

лабораторні, півгрупові)

– годин самостійної роботи студентів

Денна форма Заочна форма

15

45

60

Відсоток аудиторного навантаження 40%

Мова викладання українська

Форма проміжного контролю (якщо є)

Форма підсумкового контролю залік

1. Мета, завдання та результати вивчення дисципліни

Мета: виклад і практичне освоєння загальних принципів і сучасних методів

конструювання програмного забезпечення.

Завдання: формування базового уявлення, первинних знань, умінь і навичок

студентів в області конструювання програмного забезпечення як етапу життєвого

циклу програмного забезпечення.

Предмет дисципліни: освоєння загальні принципи і сучасні методи

конструювання програмного забезпечення.

Передумови вивчення дисципліни: дисципліна «Конструювання

програмного забезпечення» базується на засвоєнні матеріалу дисциплін «Основи

програмної інженерії», «Об’єктно-орієнтоване програмування», «Аналіз вимог до

програмного забезпечення».

В результаті вивчення дисципліни студент отримує:

Загальні компетентності:

• ЗК01. Здатність до абстрактного мислення, аналізу та синтезу;

• ЗК02. Здатність застосовувати знання у практичних ситуаціях;

Page 3: Опис навчальної дисципліни · Навчальний рік 2019/2020 Номер(и) семестрів (триместрів): Денна форма Заочна

• ЗК06. Здатність до пошуку, оброблення та аналізу інформації з різних

джерел.

Фахові компетентності спеціальності:

• ФК02. Здатність брати участь у проектуванні програмного забезпечення,

включаючи проведення моделювання (формальний опис) його структури,

поведінки та процесів функціонування;

• ФК11. Здатність реалізовувати фази та ітерації життєвого циклу

програмних систем та інформаційних технологій на основі відповідних

моделей і підходів розробки програмного забезпечення;

• ФК21. Здатність проектувати компоненти архітектури програмного

продукту.

Програмні результати навчання:

• ПР03. Знати основні процеси, фази та ітерації життєвого циклу

програмного забезпечення;

• ПР04 Знати і застосовувати професійні стандарти і інші нормативно-

правові документи в галузі інженерії програмного забезпечення;

• ПР10. Проводити передпроектне обстеження предметної області та

системний аналіз об'єкту проектування;

• ПР23. Вміти документувати та презентувати розробки програмного

забезпечення.

2. Програма навчальної дисципліни

Денна форма: Теми Лекції Практичні

(семінарські,

лабораторні,

півгрупові)

Самостійна робота

1 Введення до конструювання

програмного забезпечення.

Життєвий цикл програмного

забезпечення

4 12 16

2 Введення до проектування

програмного забезпечення.

Основні методи проектування

4

12 16

3 Метрики програмних систем 4 12 16

4 Уніфікований процес

розробки програмного

забезпечення

3 9 12

Всього за курсом 15 45 60

3. Зміст навчальної дисципліни

3.1. План лекцій

лекц.

Тема заняття / план

Page 4: Опис навчальної дисципліни · Навчальний рік 2019/2020 Номер(и) семестрів (триместрів): Денна форма Заочна

1 Лекція №1. Визначення технології конструювання програмного

забезпечення

1) Класичний життєвий цикл;

2) Макетування стратегії конструювання ПЗ;

3) Інкрементна модель;

4) Спіральна модель;

5) Компонентно-орієнтована модель;

6) Важковагові і полегшені процеси;

7) Моделі якості процесів конструювання.

2 Лекція №2. Керівництво програмним проектом

1) Процес керівництва проектом;

2) Планування проектних завдань;

3) Розмірно-орієнтовані та функціонально-орієнтовані метрики;

4) Виконання оцінки в ході керівництва проектом;

5) Конструктивна модель вартості;

6) Попередня оцінка програмного проекту;

7) Аналіз чутливості проекту.

3 Лекція №3. Основи проектування програмних систем

1) Особливості процесу синтезу програмних систем;

2) Особливості етапу проектування;

3) Структурування системи;

4) Моделювання управління;

4 Лекція №4. Класичні методи проектування

1) Метод структурного проектування;

2) Метод проектування Джексона;

3) Декомпозиція підсистем на модулі;

4) Можливості підключення модуля;

5) Характеристики ієрархічної структури програмної системи.

5 Лекція №5. Метрики об'єктно-орієнтованих програмних систем (частина 1)

1) Метричні особливості об'єктно-орієнтованих програмних систем;

2) Еволюція заходів зв'язку для об'єктно програмних систем;

3) Набір метрик Чідамбера і Кемерера;

4) Використання метрик Чідамбера і Кемерера.

6 Лекція №6. Метрики об'єктно-орієнтованих програмних систем (частина 2)

1) Метрики Лоренца і Кідда;

2) Набір метрик Фернандо Абреу;

3) Метрики для об'єктно-орієнтованого тестування.

7 Лекція №7. Уніфікований процес розробки об'єктно-орієнтованих ПС

1) Еволюційно-інкрементна організація життєвого циклу розробки управління

ризиком;

2) Етапи уніфікованого процесу розробки;

3) Приклад об'єктно-орієнтованої розробки;

4) Розробка в стилі екстремального програмування.

8 Лекція №8. Об'єктно-орієнтоване тестування

1) Розширення сфери застосування об'єктно-орієнтованого тестування;

2) Зміна методики при об'єктно тестуванні;

3) Проектування об'єктно-орієнтованих тестових варіантів;

4) Способи тестування змісту класу.

3.2. План практичних (семінарських, лабораторних, півгрупових) занять

Page 5: Опис навчальної дисципліни · Навчальний рік 2019/2020 Номер(и) семестрів (триместрів): Денна форма Заочна

зан.

№ зан. К-ть

год.

Тема заняття

1 1 2 Практична робота №1. Етапи розробки програмного забезпечення

при структурному підході до програмування. Написання технічного

завдання

2 2, 3 4 Практична робота №2. Структурний підхід до програмування.

Стадія "Ескізний проект". Мережевий графік виконання робіт.

3 4-6 6 Практична робота №3. Виконання оцінки проекту на основі loc- і fp-

метрик

4 7-9 6 Практична робота №4. Аналіз чутливості програмного проекту на

основі моделі COCOMO II

5 10-12 6 Практична робота №5. Метрики зв'язності за даними

6 13-15 6 Практична робота №6. Метрики зв'язності за методами

7 16-18 6 Практична робота №7. Метрики Чидамбера та Кемерера

8 19, 20 4 Практична робота №8. Метрики Лоренца та Кідда

9 21 2 Практична робота №9. Організація таблиць в трансляторах і робота

з ними

10 22, 23 3 Захист самостійних робіт №1 та №2

3.3. Завдання для самостійної роботи

Самостійна робота №1. Сертифікація програмного забезпечення

Самостійна робота №2. Забезпечення якості і надійності в процесі розробки

складних програмних засобів

3.4. Забезпечення освітнього процесу

Практичні заняття проводяться у студентів 4 курсу в комп’ютерному класі, де

студенти виконують завдання практичних робіт і здають за комп’ютером

програмне забезпечення самостійних робіт, а також отримують консультації з

питань використання конкретних програмних продуктів.

Комп’ютерний клас має бути оснащеним відповідним програмним

забезпеченням :

- Windows 7/Windows 8/Windows 8.1/Windows 10.

4. Підсумковий контроль

Залік

У кінці семестру передбачений залік. Залік складається із завдань у вигляді тесту, у якому

випадковим чином генерується 30 питань, за правильну відповідь кожного з яких можна

отримати по1 балу. Максимальна кількість балів за залік – 30.

Приклади залікових тестових завдань

1. Чи вірні наступні твердження:

1) У спіральній моделі кожна стадія починається після повного завершення попередньої.

Page 6: Опис навчальної дисципліни · Навчальний рік 2019/2020 Номер(и) семестрів (триместрів): Денна форма Заочна

2) Процес в водоспадної моделі розбивається на послідовне виконання стадій: аналіз,

проектування, кодування, тестування, використання.

а) Вірні обидва судження;

б) Вірно тільки 1;

в) Вірно тільки 2.

2. Об'єднання і стандартизація всіх поточних процесів в рамках компанії, це. . . процес.

а) стандартний;

б) універсальний;

в) конкретний.

3. Розташуйте у вірній послідовності фази створення проекту: 1) уточнення; 2) введення в

дію; 3) початкова; 4) конструювання.

а) 3, 4, 1, 2;

б) 1, 3, 4, 2;

в) 3, 1, 4, 2.

4. Яка модель є двовимірною:

а) спіральна;

б) формальна;

в) каскадна.

5. Чи вірні наступні судження:

1) Малі програми підлягають сертифікації.

2) Малі програми не мають конкретного замовника.

а) Обидва судження не вірні ;

б) Вірно тільки 1;

в) Вірно тільки 2.

6. Проект системи, який дає можливість спланувати систему до її створення - це ...

а) нотація;

б) план;

в) модель.

7. Сутності, діаграми, відношення - це основні поняття:

а) технології об'єктного моделювання (ОМТ);

б) уніфікованої мови моделювання (UML);

в) метод Буча.

8. Дана модель передбачає складання продукту з заздалегідь написаних частин. Це ...

а) формальна модель;

б) спіральна модель;

в) компонентна.

9. Програмні продукти з точки зору програмної інженерії поділяються на:

а) ігри, офісні застосунки, спеціалізовані програми;

Page 7: Опис навчальної дисципліни · Навчальний рік 2019/2020 Номер(и) семестрів (триместрів): Денна форма Заочна

б) коробкові, замовні продукти;

в) рентабельні і нерентабельні програмні продукти.

10. У життєвому циклі замовного ПЗ максимальну вартість має:

а) складання ТЗ;

б) розробка;

в) супровід;

г) тестування.

11. Чи вірні наступні твердження:

1) Основна мета сучасних технологій програмної інженерії полягає в забезпеченні

ефективності всього життєвого циклу, комплексів програм для ЕОМ в різних проблемно-

орієнтованих областях.

2) Діяльність розробників повинна бути спрямована на задоволення вимог замовників при

застосуванні розроблених програмних засобів за прямим призначенням.

а) вірні обидва судження;

б) вірно тільки 1;

в) вірно тільки 2.

12. Методологія СММ заснована на формалізації і використанні:

а) восьми рівнів зрілості;

б) трьох рівнів зрілості;

в) п'яти рівнів зрілості.

13. Виділіть вірні характеристики рівнів зрілості:

1) ступінь формалізації;

2) адекватність вимірювання і документування продуктів в життєвому циклі;

3) наявність і глибина реалізації системи якості технологічних процесів:

а) 1 і 2;

б) 2 і 3;

в) 1, 2 і 3.

14. Чи вірні наступні твердження:

1) Методи розробки ПЗ в основному орієнтуються на поетапне перетворення деякої моделі

ПО в програму.

2) Методи не включають в себе компонент опису моделі системи і нотацію.

а) вірні обидва судження;

б) вірно тільки 1;

в) вірно тільки 2.

15. Метод структурного аналізу і проектування розробив:

а) Том Де Марко;

б) Петер Пін-Шен Чен;

в) Буч Г. І Рамбо Дж.

16. Виберіть компоненти, які включає в себе метод:

Page 8: Опис навчальної дисципліни · Навчальний рік 2019/2020 Номер(и) семестрів (триместрів): Денна форма Заочна

1) рекомендації;

2) правила;

3) обмеження;

4) опис моделі системи;

5) нотація;

6) керівництво по застосуванню методу.

а) 1, 2, 5, 6;

б) 2, 3, 5, 6;

в) 1, 2, 3, 4, 5, 6.

17. Чи вірні наступні судження:

1) До нефункціональних вимог відносять тільки дві вимоги: супроводжуваність і

надійність.

2) Відмовостійкість - це можливість відновлення програми і даних в разі збоїв в роботі.

а) Обидва судження не вірні;

б) Вірно тільки 2;

в) Вірні обидва судження.

18. Відмовостійкість, безпека, захищеність є показниками:

а) ефективності;

б) надійності;

в) зручності використання.

19. Виберіть показники ефективності:

1) час відгуку;

2) час виконання коду;

3) обсяг необхідної пам'яті;

4) завантаженість процесу.

а) 2, 4;

б) 1, 2, 3, 4;

в) 1, 2, 4.

20. Виберіть пункт, який не включає в себе методи:

а) опис моделей системи і нотації;

б) рекомендації до проекту;

в) правила і обмеження;

г) керівництво по застосуванню методу.

21. До нефундаментальних вимог належать:

а) різнорідність;

б) ефективність;

в) супроводжуваність;

г) надійність;

д) успадкування;

е) стійкість;

є) зручність використання.

Page 9: Опис навчальної дисципліни · Навчальний рік 2019/2020 Номер(и) семестрів (триместрів): Денна форма Заочна

22. Виберіть схожість між великими і малими програмами:

а) гарантія якості;

б) створюються для отримання конкретних результатів;

в) наявність кваліфікованих менеджерів проекту;

г) застосування регламентованих стандартами процеси, етапи та документи.

23. Що таке проектування?

а) процес визначення архітектури, компонентів, інтерфейсів, інших характеристик

системи;

б) організація процесу розробки;

в) попередній макет, ескіз, план системи на папері;

г) розробка вимог.

24. Що таке життєвий цикл?

а) етапи розвитку від моменту зародження до припинення функціонування;

б) процес побудови ПО;

в) реалізація і тестування системи;

г) сукупність процесів і етапів розвитку.

25. Виберіть з нижчеперелічених пунктів основні етапи моделі ЖЦ:

а) визначення потреб;

б) створення і виробництво;

в) створення всієї документації;

г) випробування системи;

д) поширення і продаж;

е) супровід і моніторинг;

є) зняття з експлуатації.

26. Виберіть схожість між великими і малими програмами:

а) гарантія якості;

б) створюються для отримання конкретних результатів;

в) наявність кваліфікованих менеджерів проекту;

г) застосування регламентованих стандартами процеси, етапи та документи.

27. Чи вірні наступні вимоги до технології проектування?

1) Технологія повинна бути підтримана комплексом зумовлених CASE-засобів.

2) Технологія повинна підтримувати повний життєвий цикл ПЗ.

а) вірні обидва судження;

б) вірно тільки 1;

в) вірно тільки 2.

28. Виберіть вірне продовження твердження:

«Стандарт проектування ...».

1) Повинен встановлювати набір необхідних моделей на кожному етапі проектування та

ступінь їх деталізації.

2) Не встановлює правила фіксації проектних рішень на діаграмах.

Page 10: Опис навчальної дисципліни · Навчальний рік 2019/2020 Номер(и) семестрів (триместрів): Денна форма Заочна

3) Повинен встановлювати механізм спільної роботи над проектом.

а) 1, 2, 3;

б) 1, 3;

в) 1, 2.

29. Що повинен встановлювати стандарт інтерфейсу користувача:

1) правила оформлення екранів;

2) правила використання клавіатури і миші;

3) правила оформлення текстів допомоги;

4) перелік стандартних повідомлень;

5) правила обробки реакції користувача.

а) 1, 3, 5;

б) 2, 3, 4, 5;

в) 1, 2, 3, 4, 5.

30. Стандарт оформлення проектної документації повинен встановлювати:

1) вимоги до оформлення документації;

2) вимоги до налаштувань видавничої системи;

3) вимоги до налаштування CASE-засобів;

4) комплектність, склад і структуру документації.

а) 1, 2, 3, 4;

б) 1, 2, 3;

в) 2, 3.

31. Чи вірні наступні твердження:

А) Методологія RAD - швидка розробка застосунків;

Б) Методологія RAD використовується в рамках каскадної моделі життєвого циклу.

а) Чи вірні обидва судження;

б) Вірно тільки 1;

в) Обидва судження не вірні.

32. Зі скількох фаз складається життєвий цикл програмного забезпечення за методологією

RAD?

а) 4;

б) 5;

в) 8.

33. Чи вірні наступні твердження:

1) Основна мета сучасних технологій програмної інженерії полягає в забезпеченні

ефективності всього життєвого циклу, комплексів програм для ЕОМ в різних проблемно-

орієнтованих областях.

2) Діяльність розробників повинна бути спрямована на задоволення вимог замовників при

застосуванні розроблених програмних засобів за прямим призначенням.

а) Чи вірні обидва судження;

б) Вірно тільки 1;

в) Вірно тільки 2.

Page 11: Опис навчальної дисципліни · Навчальний рік 2019/2020 Номер(и) семестрів (триместрів): Денна форма Заочна

34. Методологія CMM заснована на формалізації і використанні:

а) восьми рівнів зрілості;

б) трьох рівнів зрілості;

в) п'яти рівнів зрілості.

35. Виділіть вірні характеристики рівнів зрілості:

1) ступінь формалізації;

2) адекватність вимірювання і документування процесових продуктів в життєвому циклі;

3) наявність і глибина реалізації системи якості технологічних процесів.

а) 1 і 2;

б) 2 і 3;

в) 1, 2 і 3.

36. У системі СММ визначені основи адміністративного управління життєвим циклом і

якістю програмних засобів в ...

а) восьми базових принципах;

б) п'яти базових принципах;

в) семи базових принципах.

37. Базові принципи в системі СММ декларовані в стандартах:

а) ISO 9000: 2000;

б) ISO 15504: 1-9;

в) вірні обидва варіанти (а і б).

38. Чи вірні наступні судження:

1) Заява про відповідність є гарантією на відповідність стандарту.

2) Сертифікація відповідності передбачає обов'язкову участь третьої сторони.

а) Вірно тільки 1;

б) Вірні обидва судження;

в) обидва судження не вірні.

39. Виберіть вірні варіанти: «Систему сертифікації складають ...»

1) центральний керуючий орган;

2) правила і порядок проведення сертифікації;

3) нормативні документи;

4) процедури сертифікації;

5) порядок інспекційного контролю.

а) 2, 3, 4;

б) 1, 2, 3, 4;

в) 1, 2, 3, 4, 5.

40. Розробка програмного коду передує:

а) Узгодженням в усіх вищих інстанціях;

б) Попереднім аналізом і проектуванням;

в) Збором технічних і матеріальних засобів;

Page 12: Опис навчальної дисципліни · Навчальний рік 2019/2020 Номер(и) семестрів (триместрів): Денна форма Заочна

г) Авансом.

41. Що з перелічених нижче пунктів в себе включає програмування:

а) створення різної документації;

б) системотехніка;

в) розробка вимог;

г) тестування;

д) термін виконання;

е) структурне проектування;

є) проектний менеджмент.

42. Що таке проектування?

а) процес визначення архітектури, компонентів, інтерфейсів, інших характеристик

системи;

б) організація процесу розробки;

в) попередній макет, ескіз, план системи на папері;

г) розробка вимог.

43. Кількісна характеристика, що показує наскільки ефективно ПС працює в екстремальних

умовах. ПС як об'єкти характеризуються:

а) Областю застосування ПС, призначення ПС в народному господарстві.

б) Типом вирішуваних завдань з певною областю застосування, ступенем зв'язку

вирішуваних завдань з масштабом часу або з допустимою тривалістю очікування

результатів рішення.

в) Обсягом і складністю сукупності програм, вирішальну єдине завдання, необхідним

складом і необхідними значеннями характеристик якості функціонування програм

і величиною допустимого збитку через недостатню якість.

г) Прогнозованими значеннями тривалості експлуатації і можливості розвитку безлічі

версій програм, передбачуваним тиражем виробництва і застосування програм.

д) Ступенем необхідної документованої ПС.

44. Функціональні критерії якості ПС відображають:

а) Специфіку областей застосування ПС.

б) Ступінь відповідності ПС їх основним цільовим призначенням.

в) Кількість різноманітних функцій, які виконує програма.

г) Всі вище наведені відповіді.

45. Конструктивні критерії якості ПС відображають:

а) Ефективність використання програмами ресурсів обчислювальних засобів.

б) Кількість підключаються до програми модулів.

в) Надійність функціонування ПС.

г) Складність взаємодії між модулями.

46. Критерії етапу проектування – це:

а) Складність проектування;

б) Коректність;

Page 13: Опис навчальної дисципліни · Навчальний рік 2019/2020 Номер(и) семестрів (триместрів): Денна форма Заочна

в) Трудомісткість розробки;

г) Всі вищенаведені відповіді вірні.

47. Критерії етапу експлуатації - це

а) Функціональна складність і надійність;

б) Ефективність використовуваних ресурсів;

в) Обсяг вихідних і результуючих даних;

г) Жоден з вище наведених відповідей не відображає повною мірою.

48. Критерії етапу супроводу - це

а) модернізованого і складність ПС;

б) мобільність і віддаленість від користувача;

в) модернізованого, мобільність;

г) трудомісткість модифікації програм.

49. До функціональної придатності ПС відноситься:

а) Коректність роботи;

б) Різноманітність виконуваних функцій;

в) Захищеність від збоїв і несанкціонованих дій;

г) Здатність до взаємодії;

д) Функціональна коректність, здатність до взаємодії;

е) мобільність.

50. Критерії зручності використання ПС:

а) Чіткість і здатність до навчання;

б) Простота використання;

в) Комфортна експлуатація;

г) Всі вище перераховані відповіді.

51. Структурний підхід до створення ПЗ, як високоякісного продукту, економічно

ефективним способом – це:

а) аналіз ПЗ;

б) моделювання;

в) метод програмної інженерії.

52. Чи вірні наступні твердження:

1) Методи розробки ПЗ в основному орієнтуються на поетапне перетворення деякої моделі

ПО в програму;

2) Методи не включають в себе компонент опису моделі системи і нотацію;

а) Вірні обидва судження;

б) Вірно тільки 1;

в) вірно тільки 2.

53. Метод структурного аналізу і проектування розробив:

а) Том Де Марко;

б) Петер Пін-Шен Чен;

Page 14: Опис навчальної дисципліни · Навчальний рік 2019/2020 Номер(и) семестрів (триместрів): Денна форма Заочна

в) Буч Г. і Рамбо Дж.

54. Виберіть компоненти, які включає в себе метод:

1) рекомендації;

2) правила;

3) обмеження;

4) опис моделі системи;

5) нотація;

6) керівництво по застосуванню методу

а) 1, 2, 5, 6;

б) 2, 3, 5, 6;

в) 1, 2, 3, 4, 5, 6.

5. Критерії оцінювання та засоби діагностики результатів навчання

№ Вид діяльності

(завдання)

Максимальна кількість

балів

1 Практична робота №1 6

2 Практична робота №2 6

3 Практична робота №3 6

4 Практична робота №4 6

5 Практична робота №5 6

6 Практична робота №6 6

7 Практична робота №7 6

8 Практична робота №8 6

9 Практична робота №9 6

10 Самостійна робота №1 8

11 Самостійна робота №2 8

12 Залік 30

Всього 100

6. Рекомендовані джерела інформації

6.1. Основні:

1. Грейди Буч, Джеймс Рамбо, Айвар Джекобсон UML руководство пользователя- М. Изд-

во ДМК. 2000. - 430с.

2. Дин Леффингуэлл, Дон Уидриг Принципы работы с требованиями к программному

обеспечению - Изд-во “Вильямс”, 2002г - 440с

3. Дэвид С. Платт Знакомство с Microsoft .NET / М.: Из-во Русская редакция 2001, - 218 с.

4. Липаев В.В. Проектирование программных средств. М. Высшая школа, 1990.

6.2. Додаткові:

Page 15: Опис навчальної дисципліни · Навчальний рік 2019/2020 Номер(и) семестрів (триместрів): Денна форма Заочна

5. Алистэр Коуберн, Лори Вильямс “Парное программирование: преимущества и

недостатки

6. Гагарина Л.Г., Кокорева Е.В., Виснадул Б.Д. Технология разработки программного

обеспечения. М.: Форум-ИНФРА-М, 2008.

7. Гагарина Л.Г., Игошин А.В., Виснадул Б.Д. Основы технологии разработки программных

продуктов. М.: Форум, 2006.

8. Жоголев Е.А. Введение в технологию программирования. М.: Научный мир, 2004.

9. Липаев В.В. Проектирование программных средств. М.: Высшая школа, 1990.