You are on page 1of 9

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ

ЗАПОРІЗЬКИЙ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ


Математичний факультет
Кафедра програмної інженерії

ЗАТВЕРДЖУЮ
Декан математичного факультету
______________ С.І. Гоменюк
«______» ________________2017

КОНСТРУЮВАННЯ ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ

РОБОЧА ПРОГРАМА НАВЧАЛЬНОЇ ДИСЦИПЛІНИ

підготовки бакалавра
спеціальності 121 – Інженерія програмного забезпечення
освітньо-професійна програма «Програмна інженерія»

Укладач Мильцев О.М., викладач кафедри програмної інженерії

Обговорено та ухвалено Ухвалено науково-методичною


на засіданні кафедри радою математичного факультету
програмної інженерії
Протокол №1 від 01 вересня 2017 р.
Протокол №1 від 28 серпня 2017 р.
Голова науково-методичної ради
Завідувач кафедри факультету
__________________ А.О. Лісняк ______________ О.С. Пшенична
(підпис) (ініціали, прізвище ) (підпис) (ініціали, прізвище )

2017 рік
2
1. Опис навчальної дисципліни

Характеристика навчальної
Галузь знань, дисципліни
Найменування показників спеціальність, освітня програма,
рівень вищої освіти денна форма заочна форма
навчання навчання

Нормативна
Галузь знань
Кількість кредитів – 4 Цикл дисциплін професійної
12 – Інформаційні технології
підготовки
Розділів – 2 Рік підготовки:
Спеціальність:
3-й
Загальна кількість годин 121 – Інженерія програмного
Лекції
– 120 забезпечення
30 год.
Освітньо-професійна програма Лабораторні
Тижневих годин для «Програмна інженерія» 30 год.
денної форми навчання:
Самостійна робота
аудиторних – 4
Рівень вищої освіти: 60 год.
самостійної роботи
бакалаврський Вид підсумкового контролю:
студента – 4
екзамен

2. Мета та завдання навчальної дисципліни

Метою викладання навчальної дисципліни «Конструювання програмного


забезпечення» є ознайомлення студентів з загальними принципами
дисциплінованого детального проектування програмного забезпечення,
формальними методами розробки програмного забезпечення, створення і
повторного використання шаблонів проектування..
Основними завданнями вивчення дисципліни «Конструювання
програмного забезпечення» є оволодіння різними методологіями проектування
програмного забезпечення і навичками їх практичного застосування при
структурному, модульному та об’єктно-орієнтованому підході у процесі розробки
програмного забезпечення.
У результаті вивчення навчальної дисципліни студент повинен
знати:
 етапи та зміст детального проектування програмного забезпечення;
 основні види шаблонів проектування;
 принципи створення власних шаблонів, що придатні для повторного
використання.
вміти:
 використовувати та практиці методи структурного, модульного та
об’єктно-орієнтованого програмування;
 компонувати власні програмні продукти з існуючих компонентів-
шаблонів;
Згідно з вимогами освітньо-професійної програми студенти повинні досягти
таких результатів навчання (компетентностей):
3

 ЗК 8. Здатність працювати в команді, розуміючи розподіл ролей, їхні


функціональні обов’язки та взаємозамінність;
 СК 8. Здатність застосовувати і розвивати фундаментальні і
міждисциплінарні знання для успішного розв’язання завдань інженерії
програмного забезпечення.
 ПРЗ 4. Знати і застосовувати методи розробки алгоритмів, конструювання
програмного забезпечення та структур даних і знань;
 ПРЗ 8. Знати, розуміти і застосовувати відповідні математичні поняття,
методи доменного, системного і об’єктно-орієнтованого аналізів та
математичного моделювання для розробки програмного забезпечення;
 ПРК 1. Вміння спілкуватися в діалоговому режимі в галузі професійної
діяльності з колегами та експертами предметних областей;
 ПРА 1. Вміння аналізувати проблеми щодо створення програмного
забезпечення.
Міждисциплінарні зв’язки.
Навчальна дисципліна «Конструювання програмного забезпечення»
базується на знаннях, отриманих під час вивчення дисциплін «Об‘єктно-
орієнтоване програмування», «Бази даних», «Аналіз вимог до програмного
забезпечення», «Архітектура та проектування програмного забезпечення».
Знання, отримані після опанування даної навчальної дисципліни, можуть
бути використані при вивченні дисциплін «Моделювання програмного
забезпечення» «Людино-машинний інтерфейс», «Якість програмного
забезпечення та тестування», «Менеджмент проектів програмного забезпечення»,
«Професійна практика програмної інженерії», «Проектний практикум».

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

Розділ 1. Класичні методології розробки програмного забезпечення.

Тема 1. Структурне програмування.
Основні положення структурного програмування. Принцип Бома і
Джакопіні. Конструкції структурного програмування. Реалізація основ
структурного програмування в мовах програмування. Графічне представлення
структурних схем алгоритмів. Метод Дамке. Схеми Нассі–Шнейдермана.
Тема 2. Модульне проектування.
Класичне визначення ідеальної модульної програми. Ознаки модульності
програми. Методи нісходящого проектування. Стратегія пошагового уточнення.
Проектування за допомогою псевдокода. Проектування за допомогою коментарів.
Аналіз повідомлень. Методи восходящого проектування.
Тема 3. Метод JSP Джексона.
Методи розширення ядра. Метод JSP Джексона. Основні конструкції даних.
Конструкція послідовності. Конструкція вибору. Конструкція повтору.
Елементарна конструкція. Побудова структур даних. Побудова структур програм.
Тема 4. Етапи проектування за методом JSP Джексона.
4
Проектування структур вхідних і вихідних даних. Ідентифікація
співвідношень між структурами даних. Створення структури програми. Перелік і
розподіл операцій. Створення тексту програми на метамові структурного опису.
Тема 5. Оцінка структурного розбиття програми на модулі.
Зв’язність модуля. Зчеплення модулів.

Розділ 2. Об’єктно-орієнтовані методології розробки програмного


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

Тема 6. Методології, орієнтовані на дані.


Метод JSD Джексона. Діаграми Варньє–Орра.
Тема 7. Методологія об'єктно-орієнтованого проектування.
Об'єктно-орієнтована декомпозиція. Домени. Особливості, артефакти і
об'єкти. Екземпляр об'єкта, Класи. Підклас/суперкласу. Партиції. Атрибути. Стан
об'єкта. Метод. Повідомлення і поліморфізм. Подія. Життєві цикли об'єкта.
Відносини і ролі. Успадкування. Інкапсуляція і приховування інформації.
Приклади.
Тема 8. Реалізація відношень між класами.
Однонаправлена асоціація. Двонаправлена асоціація. Асоціація з граничною
кратністю. Агрегація. Композиція. Залежність.

4. Структура навчальної дисципліни

Назви тематичних розділів і тем Кількість годин


денна форма заочна форма
усього у тому числі усього у тому числі
л сем./ сам.роб. л сем./ сам.роб.
пр./ пр./
лаб. лаб.
І.З І.З
1 2 3 4 5 6 7 8 9
Розділ 1. Класичні методології розробки програмного забезпечення.
Тема 1. Структурне
2 2 4
програмування.
Тема 2. Модульне проектування. 2 2 4
Тема 3. Метод JSP Джексона. 4 4 8
Тема 4. Етапи проектування за
8 10 16
методом JSP Джексона.
Тема 5. Оцінка структурного
2 0 4
розбиття програми на модулі.
Разом за розділом 1 18 18 36
Розділ 2. Об’єктно-орієнтовані методології розробки програмного забезпечення.
Тема 6. Методології, орієнтовані
2 0 4
на дані.
Тема 7. Методологія об'єктно-
4 6 8
орієнтованого проектування.
Тема 8. Реалізація відношень між
6 6 12
класами.
Разом за розділом 2 12 12 24
5
Усього годин 120 30 30 60

5. Теми лекційних занять


Кількість
теми Назва теми
з/прогр годин
1 Тема 1. Структурне програмування. 2
2 Тема 2. Модульне проектування. 2
3 Тема 3. Метод JSP Джексона. 4
4 Тема 4. Етапи проектування за методом JSP Джексона. 8
5 Тема 5. Оцінка структурного розбиття програми на модулі. 2
6 Тема 6. Методології, орієнтовані на дані. 2
7 Тема 7. Методологія об'єктно-орієнтованого проектування. 4
8 Тема 8. Реалізація відношень між класами. 6
Разом 30

6. Теми лабораторних занять


Кількість
теми Назва теми
з/прогр годин
Тема 1. Структурне програмування. Метод Дамке. Схеми Нассі–
1 2
Шнейдермана.
2 Тема 2. Модульне проектування. Методи нісходящого проектування. 2
Тема 3-4. Метод JSP Джексона. Етап 1. Проектування структур вхідних і
3 4
вихідних даних
Тема 3-4. Метод JSP Джексона. Етап 2. Ідентифікація співвідношень між
4 2
структурами даних.
5 Тема 3-4. Метод JSP Джексона. Етап 3. Створення структури програми. 4
6 Тема 3-4. Метод JSP Джексона. Етап 4. Перелік і розподіл операцій. 2
Тема 3-4. Метод JSP Джексона. Етап 5. Створення тексту програми на
7 2
метамові структурного опису.
8 Тема 7. Методологія об'єктно-орієнтованого проектування. 6
9 Тема 8. Реалізація відношень між класами. 6
Разом 30

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


Кількість
теми Назва теми
з/прогр годин
1 Тема 1. Структурне програмування. 4
6

2 Тема 2. Модульне проектування. 4
3 Тема 3. Метод JSP Джексона. 8
4 Тема 4. Етапи проектування за методом JSP Джексона. 16
5 Тема 5. Оцінка структурного розбиття програми на модулі. 4
6 Тема 6. Методології, орієнтовані на дані. 4
7 Тема 7. Методологія об'єктно-орієнтованого проектування. 8
8 Тема 8. Реалізація відношень між класами. 12
Разом 60

8. Види контролю і система накопичення балів

Вид контролю Кількість балів


Розділ 1 Лабораторна робота №1 5
Лабораторна робота №2 5
Лабораторна робота №3 6
Лабораторна робота №4 6
Лабораторна робота №5 6
Лабораторна робота №6 6
Лабораторна робота №7 6
Разом за розділом 1 40
Розділ 2 Лабораторна робота №8 10
Лабораторна робота №9 10
Разом за розділом 2 20
Екзамен 40
Всього за семестр 100

Критерії оцінювання кожного з проведених видів контролю:


1) Захист лабораторної роботи відбувається після виконання завдання та
завантаження відповідного звіту до СЕЗН Moodle. Один завантажений звіт без
захисту лабораторної роботи може бути оцінений не вище, ніж 75% від
максимального можливого значення балів. Під час захисту студент має відповісти
на питання викладача та пояснити деякі етапи виконання завдання.
2) Екзамен складається з 8 питань, кожне з яких оцінюється в 5 балів.

Шкала оцінювання: національна та ECTS

ЗА За національною шкалою
За шкалою
ШКАЛОЮ
університету Екзамен Залік
ECTS
90 – 100 Зараховано
A 5 (відмінно)
(відмінно)
85 – 89 4 (добре)
B
(дуже добре)
C 75 – 84
(добре)
7
70 – 74
D
(задовільно)
3 (задовільно)
60 – 69
E
(достатньо)
35 – 59
FX (незадовільно – з можливістю
повторного складання)
2 (незадовільно) Не зараховано
1 – 34
F (незадовільно – з обов’язковим
повторним курсом)

9. Рекомендована література

Основна:
1. Основы программной инженерии (по SWEBOK) [Електронний ресурс] //
Режим доступу: http://swebok.sorlik.ru/software_engineering.html
2. Басс Л., Клементс П., Кацман Р. Архитектура программного обеспечения
на практике. 2-е издание.- СПб.: Питер, 2006.
3. Спинеллис Д., Гycuoc Г. Идеальная архитектура. Ведущие специалисты о
красоте проrраммных архитектур. Пер. с анrл. СПб.: Символ-Плюс, 2010.
4. Брукс Ф. Мифический человеко-месяц или как создаются программные
системы. - Пер. с анrл. СПб.: Символ-Плюс, 1999.
5. Соммервил Иан. Инженерия программного обеспечения6-е издание. :
Пер. с анrл. – М. : Издательский дом «Вильямс», 2002.

Додаткова:
1. Йодан Э. Структурное проектирование и конструирование программ. –
Пер. с англ. – М.: Мир, 1979.
2. Скотт Кендалл. UML. Основные концепции. : Пер.с англ. - М.:
Издательский дом «Вильямс», 2002. - 144с.
3. Фаулер М., Скотт К. UML. Основы. - Пер.с англ. - СПб: Символ-Плюс,
2002. – 192 с.
4. Киммел Пол. UML. Основы визуального анализа и проектирования =
UML. Универсальный язык программирования / пер. с англ. Кедрова Е.А. – М.:
НТ Пресс, 2008. – 272 с.
5. Буч Г., Рамбо Д., Якобсон И. Язык UML. Руководство пользователя. 2-е
изд.: Пер. с англ. Мухин Н. – М.: ДМК Пресс, 2006. – 496 с.: ил.
6. Г.Буч. Объектно-ориентированный анализ и проектирование с
примерами на C++, 2-е изд. / Пер.с англ. – М.: „Издательство Бином”, СПб:
„Невський диалект”, 1998г. – 560 с.
7. Уэнди Боггс, Майкл Боггс. UML и Rational Rose. М.: Лори, 2002. – 582 с.
8. Хаммер М., Чампи Д. Реинжиниринг корпорации : Манифест революции
в бизнесе / Пер.с англ. – М.: Манн, Иванов и Фербер, 2006. – 304 с.
9. КСІКОМ-СЕРВІС. Офіційний сайт [Електронний ресурс] // Режим
доступу: http://www.delopro.com.ua
8
10.Ґрід. Матеріал з Вікіпедії — вільної енциклопедії. [Електронний
ресурс] // Режим доступу: http://uk.wikipedia.org/wiki/Ґрід.
11.Дж.Хьюз, Дж.Мичтом. Структурный подход к программированию. – М.:
Мир, 1980. – 278 с.
12.Джон Макгрегор, Девид Сайкс. Тестирование объектно-
ориентированного программного обеспечения. Практическое пособие: Пер.с англ.
– К.: ООО „ТИД „ДС”, 2002. – 432 с.
13.А. А. Рыбанов. Инструментальные средства автоматизированного
проектирования баз данных. учебное пособие по дисциплине «Базы данных» для
студентов направления 552800 «Информатика и вычислительная техника» /
Волгоград: РПК «Политехник», 2007. – 97 с.
14.Вендров А.М. CASE-технологии. Современные методы и средства
проектирования информационных систем. [Електронний ресурс] // Режим
доступу: http://www.twirpx.com/ - 82 с.
Інформаційні ресурси:
1. Основы программной инженерии (по SWEBOK) [Електронний ресурс] //
Режим доступу: http://swebok.sorlik.ru/software_engineering.html
2. КСІКОМ-СЕРВІС. Офіційний сайт [Електронний ресурс] // Режим
доступу: http://www.delopro.com.ua
3. Ґрід. Матеріал з Вікіпедії — вільної енциклопедії. [Електронний
ресурс] // Режим доступу: http://uk.wikipedia.org/wiki/Ґрід.
4. Вендров А.М. CASE-технологии. Современные методы и средства
проектирования информационных систем. [Електронний ресурс] // Режим
доступу: http://www.twirpx.com/ - 82 с.

Погоджено _____________
навчальний відділ
«_____»________________ 20___ р.
9
Додаток

Доповнення та зміни до робочої програми навчальної дисципліни


«Конструювання програмного забезпечення»

Протокол
засідання Підпис завідувача
Внесені зміни
кафедри (дата кафедри, дата
та номер)

You might also like