💙💛 Класика💙💛 Зарубіжна література💙💛 Дитячі книги💙💛 Сучасна проза💙💛 Фантастика💙💛 Детективи💙💛 Поезія💙💛 Наука, Освіта💙💛 Бойовики💙💛 Публіцистика💙💛 Шкільні підручники💙💛 Фентезі💙💛 Блог💙💛 Любовні романи💙💛 Пригодницькі книги💙💛 Біографії💙💛 Драматургія💙💛 Бізнес-книги💙💛 Еротика💙💛 Романтична еротика💙💛 Легке чтиво💙💛 Бойовик💙💛 Бойове фентезі💙💛 Детектив💙💛 Гумор💙💛 Езотерика💙💛 Саморозвиток, Самовдосконалення💙💛 Психологія💙💛 Дім, Сім'я💙💛 Еротичне фентезі💙💛 Жіночий роман💙💛 Сучасний любовний роман💙💛 Любовна фантастика💙💛 Історичний роман💙💛 Короткий любовний роман💙💛 Детектив/Трилер💙💛 Підліткова проза💙💛 Історичний любовний роман💙💛 Молодіжна проза💙💛 Бойова фантастика💙💛 Любовні романи💙💛 Любовне фентезі💙💛 Інше💙💛 Містика/Жахи💙💛 Різне
всі жанри
Свіжі відгуки
Гість Тетяна
9 листопада 2024 18:08
Інтригуючий детектив. Дуже сподобалася книга
Червона Офелія - Лариса Підгірна
Олена
31 жовтня 2024 19:00
Cучасне українське любовне фентезі - обожнюю 👍 дякую авторці
Неідеальна потраплянка - Ліра Куміра
Таміла
29 вересня 2024 17:14
Любовна фантастика - це топ!
Моя всупереч - Алекса Адлер
Василь
23 вересня 2024 12:17
Батько наш Бандера, Україна Мати…
...коли один скаже: Слава Україні! - Степан Бандера
Сайт україномовних книжок » 💙💛 Інше » Вступ до інженерії програмного забезпечення - Микола Олександрович Сидоров

Вступ до інженерії програмного забезпечення - Микола Олександрович Сидоров

Читаємо онлайн Вступ до інженерії програмного забезпечення - Микола Олександрович Сидоров
у вигляді виконуваного коду. Як найповніше процеси прямої інженерії представлені в життєвому циклі програмного забез­печення (рис. 5.1).

Рис. 5.1. життєвий цикл програмного забезпечення

Доменний аналіз. Компоненти цієї фази життєвого циклу такі:

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

- продукти - архітектура, код, тести, методи;

- ресурси - інструменти доменного аналізу, доменні експерти, доменні інженери.

Специфікування вимог. Компоненти цієї фази життєвого циклу такі:

- процеси - дії зі складання вимог до програмного забезпе­чення;

- продукти - специфікації вимог;

- ресурси - мови специфікацій, інженери вимог, комунікатори із з замовником.

Архітектурне і детальне проектування. Компоненти цієї фази такі:

- процеси - орієнтовані на створений архітектури І детального проекту;

- продукти - архітектура і детальний проект програмного забезпечення;

- ресурси - CASE, архітектура і системні програмісти. Кодування і тестування. Компоненти цієї фази такі:

- процеси - кодування і тестування програм;

- продукти - програми;

- ресурси - засоби програмування, програмісти і тестери. Супровід. Компоненти цієї фази такі:

- процеси - що коригують, адаптують, удосконалюють і онов­люють супровід. Коригуючий супровід - зміна програмного забезпечення з мстою виправлення помилок, допущених на попередніх фазах життєвого циклу. Адаптуючий супровід - зміна програмного забезпечення у відповідь на зміни навколишнього середовища. Вдосконалюючий супровід - зміна програмного забез­печення задля вдосконалення його властивостей. Відновлюючий супровід - зміна програмного забезпечення задля відновлення його працездатності;

- продукти - супроводжуване програмне забезпечення;

- ресурси - засоби програмування, програмісти, інженери з супроводу.

Ліквідація. Компоненти цієї фази такі:

- процеси - відновлення, переробка, повторне використання І знищення програмного забезпечення. Відновлення - це віднов­лення працездатності програмною забезпечення. Переробка - це реінженерія або міграція програмного забезпечення. Повторне використання - це виділення з програмного забезпечення частин компонентів, які можна використовувати знову в розробці нового програмного забезпечення.

Знищення - це знищення неутилізованих залишків програмного забезпечення;

- продукти - повторно використані компоненти;

- ресурси — екстрактори, програмісти, експерти.

5.1.1. Інструменти прямої інженерії

Computer Aided Software Environment (CASE) - це інструментарій, призначений для автоматизації виконання процесів життєвого циклу програмного забезпечення. CASE відіграє, таку ж роль у програмно­му забезпеченні, як CAD/САМ в інженерії фізичних систем. Функці­онування CASE ґрунтується на моделі процесів життєвого циклу (рис. 5.2).

Рис. 5.2. Зв'язок CASE моделі процесів ;життєвого циклу

До того ж, використання CASE в організації може розглядатися як шлях до отримання несуперечливих, повторюваних і визначува­них процесів. Це веде до того, що визначення CASE може виводити організацію на другий (повторюваний) або третій (визначуваний) рівень зрілості по моделі CMML

Таким чином, CASE повніша орієнтуватися на виконання всіх процесів життєвого циклу, що задаються відповідною моделлю (рис. 5.3.)

Рис. 5.3. Процеси, що автоматизують CASE

Крім моделі процесів розробки програмного забезпечення CASE повинна включати інструменти розробки і модель програмного продукту (рис. 5.4).

Рис. 5.4. Модель основи CASE

Очевидно, що CASE належать до інструментів горизонтального типу. Прикладами CASE є IBM Rational, Doors (Telelogic).

5.2. Обернена інженерія

Виконання процесів супроводу програмного забезпечення і ви­ділення з нього програмних компонентів призвело до необхідності реконструювання програм і розробки відповідного розділу про­грамної інженерії, який називається реверсивною (reverse) або оберненою (backward) інженерією. Традиційний, низхідний підхід до розробки програмного забезпечення (від вимог до коду) назива­ється прямим або інженерією вперед (forward).

Завдання оберненої інженерії протилежне прямій і полягає в за­безпеченні процесів низькорівневого представлення програмного забезпечення (частіше початкового і рідше об'єктного коду), високо рівневого його уявлення, наприклад, проектної інформації або специфікацій вимог

Загалом, обернена інженерія забезпечує два такі процеси:

- ідентифікацію системних компонентів і відношень між ними;

- створення високорівневих представлень компонентів і програмного продукту в цілому.

- Тому в оберненій інженерії доводиться вирішувати два завдання;

- вибір відповідного рівня представлення абстракцій, стандартів і уявлень дня інформації про програмну інженерію;

- створення інструментів, що полегшують розпізнавання відповідної інформації в існуючому початковому коді.

Досвід показує, що тієї інформації, яка є в низькорівневому пред­ставленні програмного забезпечення, як правило, недостатньо для по­будови високорівневого опису, тому процеси оберненої інженерії складні і потребують значного інформаційного і інструментального забезпечення,

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

Рис. 5.5. Відмінність прямої та оберненої інженерії

Потреба в оберненій інженерії натепер виникає в трьох випадках:

- у разі створення компонентів з існуючого програмного забезпечення;

- під час відновлення програмного забезпечення, наприклад, у процесі супроводу;

- у процесі переробки програмного забезпечення, наприклад, під час міграції.

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

5.2.1. Методи оберненої програмної інженерії

Місце методів, використовуваних у рамках оберненої інженерії в життєвому циклі,

Відгуки про книгу Вступ до інженерії програмного забезпечення - Микола Олександрович Сидоров (0)
Ваше ім'я:
Ваш E-Mail: