Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
191
Добавлен:
12.02.2016
Размер:
1.64 Mб
Скачать

Лекція 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