М. Сидоров - ВСТУП ДО ІНЖЕНЕРІЇ ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ
- Название:ВСТУП ДО ІНЖЕНЕРІЇ ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ
- Автор:
- Жанр:
- Издательство:неизвестно
- Год:неизвестен
- ISBN:978-966-598-626-3
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
М. Сидоров - ВСТУП ДО ІНЖЕНЕРІЇ ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ краткое содержание
МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ Національний авіаційний університет
М. О. Сидоров
ВСТУП ДО ІНЖЕНЕРІЇ ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ
Курс лекцій Київ
Видавництво Національного авіаційного університету «НАУ-друк» 2010
УДК 004.4(042.4) ББК з 973.20-018.2я7 С 347
Рецензент: S. А. Резніченко- канд.фіз.-мат.наук (Інститут програмних систем HAH України); В, А. Дерецький - канд.фіз.-мат.наук (Інститут програмних систем HAH України); В. А. Хоменко - канд.техн. наук, доц. (Національний авіаційний університет)
Затверджено методично-редакційною радою Національного авіаційного університету (протокол № 14 від 03.07.2008p.).
Сидоров М. О.
С 347 Вступ до інженерії програмного забезпечення : курс лекцій / М.О.Сидоров. - К.: Вид-во Нац. авіац. ун-ту «НАУ-друк», 2010. -112 с.
ISBN 978-966-598-626-3
У курсі лекцій викладено основні положення інженерії програмного забезпечення.
Для студентів напряму 6.050103 "Програмна інженерія".
УДК 004.4(042.4) ББК з 973.20-018.2я7
ISBN 978-966-598-266-3 © Сидоров М.О.. 2010
ВСТУП ДО ІНЖЕНЕРІЇ ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ - читать онлайн бесплатно полную версию (весь текст целиком)
Интервал:
Закладка:
- техніка програмування і процеси, що були ефективні в 50-х і ранніх 60-х pp. XX ст. («програмування в малому») для розробки невеликих програм малими колективами, стали неефективними при розробці великого за обсягом, складного програмного забезпечення, що складається з мільйонів рядків коду, та вимагає декількох років роботи сотень фахівців різних спеціальностей. Були потрібні нові технології, що почали вважати «програмуванням у великому».
Почали з'являтися нові процеси, що потребували певної організації (табл.1.1). Таким чином, склалася ситуація, яка призвела до кризи в програмному забезпеченні і необхідності пошуку шляхів виходу з неї, так званої «срібної кулі». Виходом з цієї ситуації стало обговорення на конференції NATO в 1968 р. нової дисципліни, яку назвали «інженерія програмного забезпечення» (software engineering). До того ж, уперше акценти в методах, засобах і процесах розробки програмного забезпечення були зміщені: по-перше, з кодування програм на інші процеси їх розробки, а по-друге, з якісних аспектів у бік кількісних, інженерних. Окрім цього, додатковий стимул отримали ті, хто виконував наукові і практичні роботи з економічного напряму і менеджменту проектів програмного забезпечення.
Таблиця 1.1
Періоди розвитку | 1960±5 років програмування "any-wich-way" | 1970±5 років «програмування в малому» | 1980±5 років «програмування у великому» |
Об'єкти порівняння | |||
Об'єкти | Маленькі програми | Алгоритми і програми | Системна структура |
Дані | Неструктурована інформація | Структури даних | Бази даних |
і типи | |||
Управління | Елементарне розуміння діаграм управління | Програми виконуються і закінчуються | Програми, що безперервно виконуються |
Простір етанів | Стан, що погано розуміється окремо від управління | Маленькі, прості | Великі, |
структуризовані | |||
Організаційне управління | Немає | Індивідуальні зусилля | Колективні |
зусилля, | |||
супровід | |||
Інструмент» | Асемблери | Компілятори, редактори, завантажувачі | Середовища, інтегровані інструменти |
1.2. Інженерія програмного забезпечення - інженерна галузь
Інженерна галузь характеризується діяльністю, що ґрунтується на таких принципах :
- ефективність - результати отримують за допомогою заданих ресурсів, які відповідають висунутим вимогам і стандартам;
- практичність - результати мають конкретних замовників;
- фундаментальність - результати отримують на основі знань фундаментальних наук;
- успадкованість - результати отримують на основі нагромадженого досвіду, виключаючи діяльність «з нуля»;
- відчутність - результати є відчутними продуктами, які можна застосовувати, руйнувати, а також досліджувати за допомогою емпіричних методів пізнання;
- супроводження - результати, знаходячись в експлуатації, обов'язково супроводжуються (обслуговуються),
У процесі розвитку людства з'явилося багато інженерних галузей, але їх становлення проходило один і той же шлях, у якому розрізняють три фази (рис. 1.1),
Рис. 1.1. Фази розвитку інженерної галузі
У кожній фазі мають місце виконавці, ресурси, методи реалізації і використання продуктів галузі. Для фаз характерне:
- фаза І: виконавці - віртуози і талановиті одинаки; ресурси - інтуїція і груба сила; методи - випадкова передача досвіду, екстравагантне застосування матеріалі»; використання - виробництво для себе;
- фаза II: виконавці - майстерні-виробники; ресурси - окремі інструменти; методи - механічний тренінг, облік економічних чинників у виборі матеріалів; використання - виробництво для продажу, утворення ринку;
- фаза III: виконавці - досвідчені професіонали; ресурси - машини і комплекси, що використовуються в технологіях ;методи - теоретичні і емпіричні, передавання знані, шляхом диференційованого навчання, супровід; використання - сегментація ринку.
Для інженерії програмного забезпечення характеристика зазначених фаз наводиться в табл. 1.2.
Інженерна діяльність реалізується інженерами в Контексті технологій. Технологія - це організована сукупність процесів, спрямованих на отримання з початкових матеріалів кінцевих продуктів за допомогою методів і засобів технологій. Інженери - це професіонали, чия освіта дозволяє їм, використовуючи знання фундаментальних наук і конкретних технологій, реалізовувати процеси, застосовуючи методи і засоби технологій для створення надійних, широко використовуваних продуктів.
Таблиця 1.2
Аспекти розглядання | Фаза (початок) | ||
І | II | III (1980) | |
(1960) | (1970) | ||
Особливості програмування | Програмування «абияк» | Програмування «в малому» | Програмування «у великому» |
Підготовка кадрів | Майже відсутня | Прикладна математика | Комп'ютерні науки |
Ресурси | Асемблери, машинні дампи | Транслятори, лінкери, завантажувачі, системи програмування | Середовища розробки програм |
Відсутні | НІРО, формалізовані технічні завдання | R -Технологія , PSL/PSA, SREM, SADT | |
Економіко | Відсутня | Інтуїтивна | PRICE-S, SCEP, SLIM |
Ринок | Відсутній, замовлення на програмне забезпечення | Виробництво для продажу | Сегментація ринку |
Нині інженерія програмного забезпечення - це систематизований, регламентований і кількісний (інженерний) підхід до вирішення завдань розробки, експлуатації, супроводу й утилізації програмного забезпечення. До того ж, процеси і програмне забезпечення мають відповідати заданим технічним, економічним, соціальним і правовим вимогам.
Технічні вимоги обов'язково відображають відповідність процесів і продуктів життєвого циклу вимогам, специфікованим замовником.
Економічні вимоги обов'язково містять вимоги щодо виконання проекту в рамках заданого фінансового бюджету.
Соціальні вимоги обов'язково відображають те, що створювані Програмні продукти повинні мати властивості корисності.
Правові вимоги обов'язково відображають те, що виконання програмного проекту повинне здійснюватися законними методами. Особливо це важливо, коли під час розробки застосовується успадковане програмне забезпечення або компоненти багаторазового використання.
Як і інші інженерні дисципліни, інженерія програмного забезпечення характеризується такими аспектами:
Читать дальшеИнтервал:
Закладка: