ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 20.11.2019
Просмотров: 519
Скачиваний: 1
Міністерство освіти і науки України
КИЇВСЬКА ДЕРЖАВНА АКАДЕМІЯ ВОДНОГО ТРАНСПОРТУ
імені гетьмана Петра Конашевича-Сагайдачного
ЗАТВЕРДЖУЮ
Проректор КДАВТ
_____________________ Зорька О.В.
“ ____ “ ________________ 2010 р.
НАВЧАЛЬНА ПРОГРАМА
з дисципліни: "Основи програмної інженерії"
галузь знань: 0501 "Інформатика та обчислювальна техніка"
напрям підготовки: 6.050103 „Програмна інженерія”
факультет: Економіки транспорту
кафедра: Інформаційних технологій
Програму рекомендовано кафедрою
інформаційних технологій,
протокол № 1 від 28 серпня 2010 р.
Завідувач кафедри ІТ
_______________________Бадаєв Ю.І.
1. ЗАГАЛЬНІ ВІДОМОСТІ
Дисципліна “Основи програмної інженерії” відноситься до професійно-орієнтованих дисциплін підготовки студентів за фахом „Програмна інженерія”. У ній розглядаються сучасні методології та технології розробки програм. Дисціпліна “Основи програмної інженерії” узагальнює результати вивчення дисциплін, пов`язаних з використанням комп`ютерної техніки та створенням нових інформаційних технологій.
2. МЕТА І ЗАВДАННЯ ДИСЦІПЛІНИ
Мета дисципліни:
Мета дисципліни “Основи програмної інженерії” – ознайомити студентів з базовими процесами проектування та розробки програм, підготувати фахівців з розробки інформаційних технологій за допомогою сучасних інструментальних засобів проектування та реалізації програмного забезпечення.
Матеріал дисципліни може бути використоний для вдосконалення комп”ютерної освіти за фахом “Програмна інженерия”, а також подальшої професіональної діяльності випускників у сфері розробки програмних виробів.
Завдання дисципліни:
В результаті вивчення курсу “Основи програмної інженерії” студенти повинні придбати такі знання та уміння:
Знання:
-
Методологій та технологій програмування;
-
Методів формування вимог до програмного забезпечення;
-
Моделей життєвого циклу розробки програмного забезпечення;
-
Прнципів проектування програмного забезпечення;
-
Методів тестування програм;
-
Методів оцінки ефективності програм.
Уміння:
-
Формування вимог до програмного забезпечення;
-
Вибору найбільш адекватної методології та технології програмування;
-
Вибору методів проектування програмного забезпечення;
-
Вибору методів та засобів реалізації програм;
-
Вибору методів тестування програм;
-
Методів оцінки ефективності програм.
ІІІ. ЗМІСТ НАВЧАЛЬНОГО МАТЕРІАЛУ ДИСЦИПЛІНИ
Тема 1. Вступ до програмної інженерії
Поняття програмної інженерії. Місце програмної інженерії серед інших інженерних дисциплін. Системотехніка обчислювальних систем. Моделювання систем. Професійні та етичні вимоги до спеціалістів з програмного забезпечення.
Тема 2. Розвиток програмної інженерії в історичному аспекті.
Поняття парадигми програмування. Методології та технології програмування. Етапи розвитку програмної інженерії: стихійне програмування, структурне програмування. об’єктно – орієнтоване програмування, компонентне програмування.
Тема 3. Інженерія розробки програмних продуктів. Основні визначення і підходи.
Класифікація програмного забезпечення. Системне програмне забезпечення. Інструментарій технологій програмування. Пакети прикладних програм..
Тема 4. Особливості створення програмного продукту.
Принципи роботи з вимогами до програмного забезпечення. Оцінка вартості помилок. Керування вимогами. Послідовність роботи з вимогами. Аналіз проблеми. Перешкоди на шляху виявлення вимог.
Тема 5. Оцінка якості процесів створення програмного забезпечення.
Серії стандартів ІSO 9000 та СММ. Процес сертифікації програм на базі інформації про їхнє використання.
Тема 6. Поняття життєвого циклу розробки програми.
Поняття технології розробки програм. Моделі життєвого циклу та їх етапи (каскадна, спіральна, рекурсивна). Поняття про модель життєвого цикла Rational Objectory Process та UML. Специфікування і планування. Процес розробки. Випуск продукту і механізми зворотного зв'язку.
Тема 7. Структури програм та даних
Вибір архітектури програмного забезпечення.
Структура і формат даних. Статичні, полустатичні та динамічні структури даних.
Модульне програмування. Поняття модуля. Основні характеристики програмного модуля. Модульна структура програмних продуктів. Методи розробки при модульному програмуванні.
Тема 8. Аналіз вимог і визначення специфікацій програмного забезпечення.
Визначення вимог до програмних продуктів. Функціональні вимоги. Експлуатаційні вимоги. Аналіз вимог і визначення специфікацій при структурному підході. Специфікації процесів. Діаграми переходів станів (SDT). Функціональні діаграми. Діаграми потоків даних (DFD). Діаграми суть—св’язок..
Тема 9. Проектування програмного забезпечення.
Проектування програмного забезпечення при структурному підході. Структурна схема розроблювального програмного забезпечення. Функціональна схема. Метод покрокової деталізації при складанні алгоритмів та проектуванні. CASE-технології. Прискорена розробка програмного забезпечення за методологією RAD.
Екстремальне програмування. Головні практики ХР. Переваги простого дизайну. Рефакторінг і принцип YAGNI. Нарощування архітектури. UML та ХР. Суть проектування. Програмуванне та тестування при екстремальному програмуванні.
Тема 10. Розробка програмного забезпечення.
Інструментальні засоби розробки програм. Вибір мови програмування. Вибір середовища програмування. Технології програмування та засоби автоматизації етапів технологічного процесу розробки програм (кодування, редагування зв’язків, переміщення та завантаження, налагодження програм) .
Стиль програмуваниня. Основні принципи форматування. Способи форматування.
Тема 11. Тестування і налагодження програм.
Терміни і визначення. Тестування методами "білої шухляди" і "чорної шухляди". Порядок розробки тестів. Автоматизація тестування. Модульне тестування. Інтеграційне тестування. Системне тестування. Ефективність і оптимізація програм. Налагодження програм.
Тема 12. Верифікація та атестація програмного забезпечення
Планування верифікації та атестації. Інспектування програмних систем. Автоматичний статистичний аналіз програм. Метод «чиста кімната».
Тема 13. Супровід програм.
Види програмних документів. Пояснювальна записка. Керівництво користувача. Керівництво системного програміста.
Тема 14. Захист програмних продуктів.
Основні відомості про захист програмних продуктів. Криптографічні методи захисту інформації. Програмні системи захисту від несанкціонованого копіювання. Правові методи захисту програмних продуктів і баз даних.
Тема 15. Колективна розробка програмного забезпечення
Принципи формування колективів для розробки програмного забезпечення. Пакети прикладних программ. Системи контролю версій.
Тема 16. Надійність програмного забезпечення
Кількісні характеристики надійності програм. Методи оцінки і виміру характеристик надійності. Переваги парного програмування
Тема 17. Економічні аспекти розробки і використання програмних продуктів.
Оцінка вартості розробки програмного забезпечення. Лінійний метод. Метод функціональних крапок. Методи оцінки ефективності ПО на етапі експлуатації.
IV. ТЕМАТИЧНИЙ ПЛАН
4.1. Тематичний план лекцій.
|
І семестр. |
|
|
Модуль 1. Базові основи програмної інженерії |
|
|
Лекція 1 |
Вступ до програмної інженерії |
|
Лекція 2 |
Професійні та етичні вимоги до спеціалістів з програмного забезпечення. |
|
Лекція 3 |
Розвиток програмної інженерії в історичному аспекті |
|
Лекція 4 |
Парадигми програмування. Методології та технології програмування. |
|
Лекція 5 |
Інженерія розробки програмних продуктів. Основні визначення і підходи |
|
Лекція 6 |
Класифікація програмного забезпечення. Системне програмне забезпечення. Інструментарій технологій програмування. Пакети прикладних програм |
|
Лекція 7. |
Особливості створення програмного продукту. |
|
Лекція 8 |
Керування вимогами. Послідовність роботи з вимогами. |
|
Лекція 9 |
Оцінка якості процесів створення програмного забезпечення |
|
Лекція 10 |
Серії стандартів ІSO 9000 та СММ. |
|
Лекція 11 |
Поняття технології розробки програм. Моделі життєвого циклу та їх етапи (каскадна, спіральна, рекурсивна). |
|
Лекція 12 |
Поняття про модель життєвого цикла Rational Objectory Process та UML. Специфікування і планування. Процес розробки. Випуск продукту і механізми зворотного зв'язку. |
|
Лекція 13 |
Структура і формат даних. Статичні, полустатичні та динамічні структури даних |
|
Лекція 14 |
Модульне програмування. Поняття модуля. Основні характеристики програмного модуля. Модульна структура програмних продуктів. Методи розробки при модульному програмуванні. |
|
Лекція 15 |
Аналіз вимог і визначення специфікацій програмного забезпечення.. |
|
Лекція 16 |
Визначення вимог до програмних продуктів. Функціональні вимоги. Експлуатаційні вимоги. Аналіз вимог і визначення специфікацій при структурному підході. |
|
Лекція 17 |
Специфікації процесів. Діаграми переходів станів (SDT). Функціональні діаграми. Діаграми потоків даних (DFD). Діаграми суть—св’язок.. |
|
ІІ семестр. |
|
|
Модуль 2. Процес розробки і керування прогамним забезпеченням |
|
|
Лекція 1 |
Проектування програмного забезпечення при структурному підході. |
|
Лекція 2 |
Метод покрокової деталізації при складанні алгоритмів та проектуванні. |
|
Лекція 3 |
Прискорена розробка програмного забезпечення за методологією RAD. |
|
Лекція 4. |
Екстремальне програмування. Головні практики ХР. |
|
Лекція 5 |
Інструментальні засоби розробки програм. Вибір мови програмування. Вибір середовища програмування. |
|
Лекція 6 |
Стиль програмуваниня. Основні принципи форматування. Способи форматування |
|
Лекція 7 |
Тестування і налагодження програм. Терміни і визначення. |
|
Лекція 8 |
Тестування методами "білої шухляди" і "чорної шухляди". |
|
Лекція 9 |
Верифікація та атестація програмного забезпечення |
|
Лекція 10 |
Супровід програм. Види програмних документів |
|
Лекція 11 |
Захист програмних продуктів. Основні відомості про захист програмних продуктів |
|
Лекція 12 |
Криптографічні методи захисту інформації. Програмні системи захисту від несанкціонованого копіювання. Правові методи захисту програмних продуктів і баз даних. |
|
Лекція 13 |
Колективна розробка програмного забезпечення. Принципи формування колективів для розробки програмного забезпечення. |
|
Лекція 14 |
Надійність програмного забезпечення. Кількісні характеристики надійності програм. |
|
Лекція 15 |
Методи оцінки і виміру характеристик надійності. |
|
Лекція 16 |
Економічні аспекти розробки і використання програмних продуктів. Оцінка вартості розробки програмного забезпечення. |
|
Лекція 17 |
Лінійний метод. Метод функціональних крапок. |
|
Лекція 18 |
Методи оцінки ефективності ПО на етапі експлуатації. |
4.2. Тематичний план лабораторних занять.
|
№ заняття |
Тема лабораторного заняття |
|
|
Етапи розробки програмного забезпечення при структурному підході до програмування. Стадія "Технічне завдання" |
|
|
Структурний підхід до програмування. Стадія "Ескізний проект" |
|
|
Структурний підхід до програмування. Стадія "Технічний проект" |
|
|
Етапи розробки програмного забезпечення. Стадія "Реалізація" |
|
|
Тестування програм методами "білої шухляди" |
4.4. – 4.6. Проведення семінарських, практичних занять, виконання індивідуальних завдань при вивченні дисципліни «Процес розробки і керування прогамним забезпеченням» не передбачено.
4.7. Курсова робота при вивченні дисципліни «Процес розробки і керування прогамним забезпеченням» не передбачена.
4.8. Контрольні роботи
Модульні контрольні роботи при вивченні дисципліни «Процес розробки і керування прогамним забезпеченням та алгоритмічні мови» передбачені, методичні вказівки щодо виконання контрольних робіт та теми контрольних робіт викладені у документі «Методичні вказівки до виконання контрольних робіт з дисципліни “Процес розробки і керування прогамним забезпеченням”».
4.9. Самостійна робота студента (СРС)
За розподілом часу 36годин відведено на самостійне поглиблене вивчення студентами окремих тем (див. пункт 4.1).
Студентами виконується робота по вивченню мов програмування, інструментальних середовищ розробки програм на відповідній мові і розділів навчально-методичної літератури (див. список рекомендованих джерел). Цей матеріал, що передбачається для самостійного опрацювання студентом, виноситься на підсумковий контроль разом з навчальним матеріалом, що вивчався при проведенні аудиторних занять.
V. Система поточного і підсумкового контролю.
критерії оцінювання знань, умінь і навичок студентів
5.1. Форми контролю
Кредитно-модульна система організації навчального процесу передбачає 100-бальну шкалу оцінювання знань студентів. Оцінка знань студентів здійснюється за результатами поточного та підсумкового модульного контролю.
Поточний контроль
Об'єктом поточного контролю студентів є системність та активність роботи студента на лабораторних заняттях та при виконанні завдань для самостійного виконання.
При контролі систематичності та активності роботи на лабораторних заняттях оцінці можуть підлягати: розуміння та запам'ятовування студентами програмного матеріалу, рівень знань, продемонстрований у відповідях при захисті виконаних лабораторних робіт, уміння самостійно опрацьовувати навчальну та наукову літературу, уміння усно чи письмово представити певний матеріал по темі лабораторного заняття, результати експрес-контролю.
Кожний вид роботи студента оцінюється за 5-бальною шкалою, після чого оцінки переводяться до вигляду, прийнятного для 100-бальної шкали.
В кінці навчального року підраховується середній бал за результатами всіх оцінювань. Якщо студент набрав менше 45 балів він не допускається до іспиту.
Для отримання оцінки з дисципліни визначається середній бал всіх модулів.
Підсумковий контроль знань студентів проводиться у формі іспиту
Іспит проводиться у письмовій формі. Перелік питань, які виносяться на іспит, форма і зміст екзаменаційного білета, затверджується кафедрою. Результати іспиту оцінюються за бальною системою.
5.2. Оцінка результатів роботи студентів при вивченні дисципліни
Загальне оцінювання знань, умінь і навичок студентів складається з балів за результатами поточного контролю за семестр та результатами іспиту.
Результати поточної роботи за семестр оцінюються в балах наступним чином:
|
Вид роботи |
Кількість балів |
|
1. Поточний модульний контроль: |
|
|
0-5 |
|
0-5 |
|
0-5 |
|
0-10 |
|
0-10 |
|
0-10 |
|
Максимальна сума балів за цими видами роботи (для кожного модулю) становить 25 балів, мінімальна – 10 балів, а за семестр, відповідно, максимальна сума – 50, а мінімальна – 20 балів. |
|
|
2. Підсумковий модульний контроль: |
|
|
0-10 |
|
0-2 |
|
0-20 |
|
Максимальна сума балів за цими видами роботи становить 50 балів, мінімальна – 30 балів. |
|
Загальне оцінювання знань, умінь і навичок студентів складається з суми балів за результатами поточного контролю за семестр та результатами підсумкового контролю у формі іспиту.
Максимальна сума балів – 100, мінімальна - 50.
Ранжування результатів, одержаних за 100-бальною шкалою оцінювання, у національну 4-х бальну шкалу та шкалу ЕСТS здійснюється за такою схемою:
|
Оцінка за 100-бальною шкалою факультету |
Оцінка за національною шкалою |
Оцінка за шкалою ECTS |
|
|
Оцінка |
Пояснення |
||
|
90-100 балів |
відмінно |
А |
Відмінно (відмінне виконання лише з незначною кількістю помилок) |
|
82-89 балів |
добре |
В |
Дуже добре (вище середнього рівня з кількома помилками) |
|
75-81 балів |
добре |
С |
Добре (в загальному вірне виконання з певною кількістю суттєвих помилок) |
|
67-74 балів |
задовільно |
D |
Задовільно (непогано, але зі значною кількістю недоліків) |
|
60-66 балів |
задовільно |
Е |
Достатньо (виконання задовольняє мінімальним критеріям) |
|
35-59 балів |
незадовільно |
FX |
Незадовільно (з можливістю повторного складання) |
|
0-34 балів |
незадовільно |
F |
Незадовільно (з обов’язковим повторним курсом) |