М. Сидоров - ВСТУП ДО ІНЖЕНЕРІЇ ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ
- Название:ВСТУП ДО ІНЖЕНЕРІЇ ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ
- Автор:
- Жанр:
- Издательство:неизвестно
- Год:неизвестен
- 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
ВСТУП ДО ІНЖЕНЕРІЇ ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ - читать онлайн бесплатно полную версию (весь текст целиком)
Интервал:
Закладка:
- визнання важливості фаз аналізу і проектування зажадало розробки нових методів;
- нові методи потребували відповідної інструментальної підтримки.
Тому в 1970р. зусилля дослідників були спрямовані на уточнення поняття процесу і розробку відповідних методів, а, починаючи з 1980-х, почали розроблятися інструменти для реалізації процесів на основі нових методів.
Типи інструментів. Інструменти поділяють на два типи: вертикальні або окремі, горизонтальні або інтегральні.
Вертикальні інструменти призначені для виконання окремих дій або процесів у життєвому циклі програмного забезпечення. Наприклад, таких: створення людино-машинних інтерфейсів; створення баз даних і знань; специфікація вимог; виконання доменного аналізу; кодування (програмування); тестування; супровід; документування; реструктурування.
Вертикальні інструменти можуть бути таких типів: синтаксичні, семантичні, структурні.
Синтаксичні інструменти - принцип їх дії ґрунтується на використанні синтаксичного аспекту представлення інформації. Це сканери, синтаксичні аналізатори, реструктуризатори і мовно-орієнтовані редактори.
Семантичні інструменти - принцип їх дії ґрунтується на використанні семантичного аспекту представлення інформації, Це інтерпретатори, компілятори, верифікатори і валідатори.
Структурні інструменти - принцип їх дії ґрунтується на структурному представленні інформації. Це контролери версій, діаграмери.
Горизонтальні інструменти призначені для виконання всіх процесів життєвого циклу або лише декількох процесів (стадій) у певному аспекті. Наприклад, таких:
- аналіз і проектування - інструменти Computer Aided Software Engineering-Analysis and Design (CASE-AD);
- управління проектом - інструменти CASE - Project Management (CASE-PM);
- управління якістю - інструменти CASE - Quolity Management (CASE-QM);
- реверсивна інженерія - інструменти Computer Aided Reverse Engineering (CARE).
Горизонтальні інструменти, як правило, складаються з декількох інструментів, об'єднаних методологією побудови. Розрізняють такі методології побудови інтегральних інструментів: мовно-орієнтована, структурно-орієнтована, методо-орієнтована, набір інструментів.
Мовно-орієнтована методологія. Відповідно до неї, весь набір інструментів побудований, орієнтуючись на конкретну мову. Зазвичай, це мова програмування зі своїм середовищем програмування. Особливістю таких середовищ є те, що вони, як правило, орієнтовані на швидку розробку. Середовище містить всі інструменти, що необхідні для створення, тестування, налагодження і швидкої зміни коду. Інструмент будується як монолітна система і працює в інтерактивному режимі. До того ж у середовищі зберігається вся синтаксична і семантична інформація (результат синтаксичного розбирання, структура і семантичний опис), що забезпечує розуміння програми.
Структурно-орієнтована методологія. Спочатку суть методології полягала в тому, щоб дати користувачеві інтерактивний інструмент, наприклад! синтаксично орієнтований редактор для введення програм у термінах мовних конструкцій. Потім ця ідея була поширена на інтерактивну підтримку семантичного аналізу, виконання і налаштування програм. У кінцевому результаті ця методологія заснована на маніпулюванні програмними структурами І забезпечує різні погляди на програми, які генеруються з однієї і тієї ж програмної структури, стеження за інформацією, важливою для користувача. Тому структурно-орієнтована методологія забезпечує такі аспекти:
- багаторівневий погляд на програмні структури;
- семантичні обчислення;
- генерацію структурно-орієнтованих середовищ. Методо-орієнтована методологія. Ця методологія орієнтує на
використання одного методу при побудові середовища. Розглядають методи двох типів:
- розробки - орієнтовані на реалізацію робочого процесу;
- управління - орієнтовані на реалізацію макро- і мікро-процесів,
Прикладами методів першого типу є SREM, SADT, OOD, PSL/PSA, а також діаграми даних і управління, ER-діаграми, мережі Петрі, мови специфікацій, PDL. Методи другого типу використовуються для побудови CASE, які зазвичай бувають двох типів, орієнтовані на виконання декількох або всіх робочих процесів і на ви конання процесів управління проектом.
Методологія - набір інструментів. Суть її полягає у відсутності якої-небудь методології. Середовища будуються з сукупності невеликих інструментів, орієнтованих на виконання фази кодування (редактор, компілятор, налагоджувальник, лінкер). Сюди можуть Входити інструменти контролю версій і управління конфігураціями.
Середовища розробки програмного забезпечення. Важливу роль в інструментальній підтримці процесів життєвого циклу відіграють середовища розробки. Середовище розробки (Software Development Environment - SDE) - це сукупність апаратних іпрограмних інструментів, використовуваних для розробки програм і програмних продуктів. Розрізняють середовища програмування, орієнтовані на реалізацію окремих процесів (вертикальні) ісередовища розробки програмного забезпечення, орієнтовані на весь життєвий цикл (горизонтальні). Раніше розглядалися методології побудови середовищ розробки програмного забезпечення. Далі розглянемо їх моделі.
Загальна схема SDE моделі така:
SDE Model = ( {Структури},
{Механізми},
{Управління}).
Структури - це об'єкти і агрегати об'єктів, на які впливають механізми в процесі розробки програмного забезпечення.
Прості структури - файлові. Складніші будуються на основі абстрактних синтаксичних дерев, графів, баз даних. Основні функції структур такі:
- підтримувати інтеграцію інструментів у SDE;
- мати достатньо інформації, необхідної для роботи механізмів І виконання управління;
- забезпечувати управління змінами програмного забезпечення, що розробляється.
Зазвичай, для вирішення завдань у SDE пропонується використовувати різні типи структур.
Механізми - це мови, інструменти і фрагменти інструментів, які маніпулюють структурами в SDE. Стосовно програміста, механізми можуть бути видимі і приховані.
Якщо детальніше вивчені механізми, то більше вони мають тенденцію вбудовуватися всередину середовища і складати основу генераторної частини інструментів. Наприклад, Jass - генератор синтаксичних аналізаторів. До того ж, чим більш узгоджуються механізми і структури, тим глибшим єаналіз взаємозв'язків між частинами програмного забезпечення і вірогідніша поява адекватної методології, наприклад, аналіз діаграм даних, використовуваний для управління змінами або програмно-базоване тестування.
Управління - це вимоги, що впливають на користувача SDE у процесі розробки програмного забезпечення. Виражаються вимоги у формі правил, стратегій, методик. Зазвичай інструменти і структури, створюючи SDE, визначають управління. Розрізняють типи управління: підтримуване і захищене.
Читать дальшеИнтервал:
Закладка: