Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
конспект 1 модуль СР 2012.doc
Скачиваний:
78
Добавлен:
19.02.2016
Размер:
3.1 Mб
Скачать

2.3. Інженерія програмного забезпечення

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

Інженерія програмного забезпечення – це сфера (галузь), яка забезпечує системне застосування належних методів і засобів для створення і супроводження складних програмних продуктів, що відповідають технічним, економічним, правовим і соціальним вимогам [6, 14].

Методи інженерії програмного забезпечення – це наукові та інженерні методи розв’язування проблем і задач. Засоби – це ресурси, які забезпечують застосування зазначених методів.

За допомогою інженерії програмного забезпечення вдається задовольнити вимоги, що висуваються до програмних продуктів, забезпечивши створення ефективних та якісних програмних продуктів у задані терміни та із заданими ресурсами.

Задовольнивши економічні вимоги, можна створити програмні продукти в рамках заданого фінансового бюджету.

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

Задовольнивши соціальні вимоги, можна створити корисні програмні продукти.

Щодо розробки програмного забезпечення розрізняють дві інженерії програмного забезпечення (рис. 2.1):

  • уперед” (forward), або пряма інженерія - зорієнтована на створення програмного забезпечення;

  • назад” (backward, reverse), або зворотна (реверсивна) інженерія – зорієнтована на створення різнорівневих уявлень про програмне забезпечення.

Реалізація життєвого циклу, що забезпечує створення та використання програмного продукту – це мета прямої інженерії.

Мета зворотньої інженерії – здобути інформацію для якомога кращого розуміння програмного забезпечення, підвищення ефективності його супроводження та переробки або виокремлення з нього компонентів, що відповідають заданим вимогам. Отже, для програмного забезпечення задача зворотної інженерії полягає не у створенні дублікату програмного забезпечення, як це відбувається в разі інших технічних систем, а у відновленні інформації про програмне забезпечення та його компоненти.

Крім цих двох інженерій, для дослідження програмного забезпечення застосовуються методи та засоби третьої інженерії – емпіричної (empirical software engineering).

2.4. Ресурси для створення програмного забезпечення

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

До методів фази кодування належать ті, що застосовуються під час програмування. Усі методи поділяються на дві групи. До першої належать методи, застосовувані в разі програмування в „малому”. Це, скажімо, аналітичний метод розробки програм „згори-вниз із заглушками”, методи структурного та підпрограмного програмування. Методи другої групи застосовують при програмуванні „у великому”. До них належать, наприклад, синтетичний метод розробки програм „знизу-вгору” із роздільною компіляцією методи модульного програмування об’єктно-орієнтованого та мегамодульного програмування. Усі їх буде розглянуто далі.

Отже, засоби фази кодування також поділяються на дві групи: використовувані „в малому” – мови програмування і використовувані „у великому” – середовища програмування.