KnigaRead.com/
KnigaRead.com » Компьютеры и Интернет » Программирование » М. Сидоров - ВСТУП ДО ІНЖЕНЕРІЇ ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ

М. Сидоров - ВСТУП ДО ІНЖЕНЕРІЇ ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ

На нашем сайте KnigaRead.com Вы можете абсолютно бесплатно читать книгу онлайн М. Сидоров, "ВСТУП ДО ІНЖЕНЕРІЇ ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ" бесплатно, без регистрации.
Перейти на страницу:

4.3. Ресурси

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

4.3.1. Інструменти

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

Перехід від «програмування в малому» до «програмування у великому» розширив погляд на розробку програмного забезпечення в двох напрямах:

- визнання важливості фаз аналізу і проектування зажадало розробки нових методів;

- нові методи потребували відповідної інструментальної підтримки.

Тому в 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, визначають управління. Розрізняють типи управління: підтримуване і захищене.

Підтримуване управління припускає наявність у SDE механізмів і структур, що забезпечують підтримку управління. Наприклад, низхідна розробка програмного забезпечення - управління, яке підтримується в багатьох SDE.

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

Розрізняють типи управління: спрямовані на механізми і структури і спрямовані на управління.

Другий тип управління називається високорівневим або метауправ-лінням. Наприклад, усі проект повинні бути реалізовані мовою ADA.

4.3.2. Методи

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

В інженерії програмного забезпечення доводиться розробляти і описувати в різних аспектах велику і різноманітну кількість компонентів, використовуючи такі засоби:

Перейти на страницу:
Прокомментировать
Подтвердите что вы не робот:*