
- •1. Мета викладання курсу
- •2. Завдання вивчення курсу
- •3. Дисципліни, засвоєння яких необхідне при вивченні курсу
- •4. Характеристика курсу
- •1. Термінологія індустрії ПЗ
- •3. Про предмет
- •5. Виникнення Технології розробки ПЗ
- •6. Огляд технологій програмування
- •1. Програмна інженерія, основні поняття
- •2. Цілі програмних інженерів
- •3. Забезпечення надійності розробки ПЗ
- •4. Складність програмної системи
- •5. Моделі якості процесів конструювання
- •Лекція 3. Організація технологічного процесу розробки ПЗ
- •1. Процес створення програмного забезпечення
- •2. Життєвий цикл та моделі процесу розробки ПЗ
- •3. “Важкі” і “полегшені” процеси
- •3.1. ХР-процесс
- •1. Процес управління проектом
- •2. Планування проектних завдань
- •Лекція 5. Проектування програмних систем
- •1. Особливості процесу синтезу програмних систем
- •2. Особливості етапу проектування
- •3. Структуризація системи
- •4. Моделювання управління
- •5. Декомпозиція підсистем на модулі
- •6. Модульність
- •7. Інформаційна закритість
- •8. Зв'язність модуля
- •9. Зчеплення модулів
- •10. Складність програмної системи
- •11. Характеристики ієрархічної структури програмної системи
- •1. Поняття архітектури програмного засобу.
- •Лекція 7. Розробка Програми, Модульне Програмування
- •1. Поняття модульного програмування
- •2. Розроблення програмних модулів
- •2.1.1. Контроль програмного модуля.
- •1. Основні поняття тестування і відлагодження
- •2. Основні підходи і принципи відлагодження.
- •3. Організація процесу тестування ПЗ
- •4. Види Тестування
Лекція 2. Елементи програмної інженерії.
Лекція 2.Елементи програмної інженерії
Приведено основні поняття програмної інженерії, показана роль програмної інженерії в сучасній системі розробки ПЗ. Розкриті цілі роботи програмних інженерів. Вводиться загальне поняття процесу створення програмного продукту, поняття моделей процесу створення програмного продукту
1.Програмна інженерія, основні поняття
•Інженери і програмні інженери
Кажучи про програмну інженерію, необхідно з'ясувати, хто такі інженери.
За відповіддю звернемося до Великої Радянської Енциклопедії: Інженер (франц. ingenieur, від латів. ingenium - здатність, винахідливість), фахівець з вищою технічною освітою. Спочатку - назва осіб, що управляли військовими машинами.
Поняття цивільний інженер з'явилося в 16 в. у Голландії стосовно будівельників мостів і доріг, потім в Англії і ін. країнах. З ІХХ ст. за кордоном почали розрізняти інженерів-практиків, або професійних інженерів (по суті фахівців, що мали кваліфікацію техніка), і дипломованих інженерів, що здобули вищу технічну освіту (Civil Engineer) .
Отже, інженер - дипломований фахівець, що має вищу технічну освіту. А програмний інженер
– це інженер в області розробки програмного забезпечення.
•Програмна інженерія як інженерна дисципліна
Програмна інженерія (інженерія програмного забезпечення, software engineering) - інженерна дисципліна, пов'язана з теорією, методами і засобами професійної розробки ПЗ.
Як було з'ясовано раніше, програмне забезпечення є власне програмами плюс вся супутня документація. Впродовж останніх десятиліть вартість розробки ПЗ неухильно ростає і стає дуже високою. Програмна інженерія сприяє вирішенню цієї проблеми.
•Область дії програмної інженерії
Програмна інженерія має справу зі всіма аспектами створення ПЗ. У західній літературі часто використовуються терміни: software engineering, system engineering і computer science. У чому різниця?
Computer science має справу з теорією і основами розробки ПЗ.
System engineering пов'язане з питаннями розробки систем за участю комп'ютерів (архітектура, дизайн, інтеграція, ПЗ...).
Software engineering - частина System engineering, що має справу з розробкою ПЗ.
Отже, computer science надає собою безумовно важливий, але переважно теоретичний базис. На практиці його недостатньо. До відкритих можна віднести наступні проблеми:
1.Пошук фінансування.
2.Робота із замовником.
3.Підбір персоналу.
4.Етичні питання. Мікроклімат в колективі. Команда.
5.Забезпечення якості програмного продукту.
6. ...
Всім цим займається програмна інженерія і програмні інженери.
14