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

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

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

Рис. 5.6. Методи оберненої інженерії

До цих методів належать такі;

- відновлення проектної інформації;

- реструктуризація;

- редокументування;

- реінженерія.

Поняття реверсивної інженерії стосовно технічних систем викори­стовується для визначення процесів розробки специфікацій системи шляхом дослідження її задля створення безлічі подібних систем.

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

Відновлення проектної інформації (design recovery) - це метод оберненої інженерії, у якому разом з початковим кодом під час від­новлення проектної інформації використовуються всі доступні ві­домості про систему: проектна документація, досвід розробників і експлуатаційників, знання про домен. Головна мета відновлення проектної інформації - розроблення структур, які допоможуть ін­женерові програмного забезпечення зрозуміти програму або прог­рамну систему. Отже, кінцевою метою е не специфікація вимог, яка відповідає аналізованому початковому коду, а проектна інфор­мація.

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

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

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

5.2.2. Інструменти оберненої інженерії

Усі інструменти оберненої інженерії утворюють інтегроване се­редовище - Computer Aided Reverse Software Environment (CARSE). Загальну архітектуру середовища зображено на рис. 5.7.

Рис. 5.7. Архітектура інструментів оберненої інженерії

5.3. Емпірична інженерія програмного забезпечення

Емпіричні методи досліджень відіграють «впливову» роль в ін­женерії програмного забезпечення і їх застосування складають од­ну з інженерій - емпіричну інженерію програмного забезпечення.

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

5.3.1. Методи емпіричної інженерії програмного забезпечення

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

Величина - це певна властивість предмета, з якою можна зіста­вити значення. Для синтезу величини варто визначити властивість (семантику величини), систему значень (шкалу) та спосіб зістав­лення значень з величиною.

У теорії вимірювання виділяють три основні шкали вимірювань - номінальну, порядкову і кількісну. Номінальна (класифікаційна) шкала включає значення, що проявляє себе лише у відношенні еквівалентності або може бути зіставлена з властивістю предмета (не упорядкованих один стосовно іншого). Наприклад, можна зістави­ти з вихідним текстом програми величину «мова програмування», значенням якої може бути назва однієї з мов (наприклад, «С», «С++», «Pascal», «Java» тощо). Такий же тип має шкала класифі­кування призначення модулів програмного забезпечення (наприк­лад, «Бази даних», «Математичні пакети», «Операційні системи» тощо). До номінальних величин застосовується тільки операція пе­ревірки на еквівалентність. Порядкова (ординальна) шкала спосте­рігає за упорядкуванням одного значення стосовно іншого, до яких належать операції порівняння. Порядкову пікапу можна задати для більшості експертних оцінок, наприклад, оцінювання читабельнос­ті тексту програм - «незадовільно», «задовільно», «добре», «від­мінно» або для оцінювання рівня інкапсуляції програмних компо­нентів - «лексичний», «операторний», «процедурний», «класний», «модульний». Кількісна шкала включає в себе значення, що про­явили себе стосовно еквівалентності, порядку і адекватності. Такі величини дають змогу виковувати адекватні і мультиплікативні операції над значеннями (віднімання, множення, ділення). До них належать, наприклад, такі кількість рядків коду, складання коментарю, оцінювання трудозатрат на створення коду.

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

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

Отримане значення величини, виявлене стосовно еквівалентно­сті, зводиться до завдання класифікації стану об'єкта вимірювання, що визначається сукупністю ознак, значення яких дають змогу іден­тифікувати кожен стан. Наприклад, під час визначення мови програмування, яку використано для написання програмного модуля («с», «cpp», «h», «pas», «ada», «htm»). Як датчик ознаки має висту­пати прилад, що виділяє розширення з імені файла. Вирішальний пристрій має реалізувати виявлення значень на основі правил виду: «іf», «розширення» = «.pas» or «.dpr», zen значення = «Pascal». Для тримання значення номінальної величини достатньо, щоб вибрані ознаки також мали властивості еквівалентності.

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

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