Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Програмне забезпечення



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

Вказана множина комп’ютерних програм перебуваючи у комп’ютері називається програмним забезпеченням (software) і являє собою одну з двох найважливіших частин комп’ютерної системи. Друга – це апаратне забезпечення (hardware), що є власне комп’ютером. Нині починає виокремлюватись і третя частина - знання (knowware).

Стандарт ISO/IEC визначає програмне забезпечення (software) як всю сукупність або частину програм, процедур, правил і пов’язаної з ним документації інформаційної обчислювальної системи.

Український стандарт визначає програмне забезпечення (software) як програмний засіб – взаємозв’язану сукупність програм, процедур, правил документації та даних що стосуються функціонування обчислювальної системи.

2.2. Модель життєвого циклу

Життєвий цикл програмного забезпечення – це розгорнута в часі послідовність фаз (стадій), в яких реалізуються програмні процеси [61].

У результаті виконання програмних процесів відповідних фаз життєвого циклу створюються продукти фаз. Продуктом однієї з фаз (кодування та тестування) є програма. Створення продуктів у рамках життєвого циклу відбувається завдяки використанню ресурсів. Зазвичай розглядають три складові життєвого циклу програмного забезпечення – програмні процесі, продукти фаз та ресурси. Кожній фазі життєвого циклу відповідають свої конкретні складові.

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

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

Доменний аналіз:

– процеси зорієнтовано на аналіз доменної інформації (мається на увазі домен розробки програмного забезпечення) із метою виявлення архітектур, конструкцій, методів для використання їх у розроблювальному програмному забезпеченні;

– продукти – архітектури, компоненти, методи;

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

Специфікування вимог:

– процеси зорієнтовано на формулювання та точний опис (специфікування) вимог, яким має відповідати програмне забезпечення з точки зору замовника;

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

– ресурси – мови специфікування вимог, діаграмери, інженери зі специфікуванням вимог, комунікатори для зв’язку із замовником.

Архітектурне та детальне проектування:

– процеси зорієнтовано на створення архітектури та детального проекту програмного забезпечення згідно зі специфікаціями вимог;

– продукти – архітектурний та детальний проекти програми;

– ресурси – системи автоматизованого проектування, документатори, архітектори, системні програмісти.

Кодування та тестування:

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

– продукти – програмне забезпечення, що відповідає вимогам проекту та тести для її тестування;

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

Супроводження:

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

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

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

Ліквідація:

– процеси – це утилізація, що передбачає відновлення, переробку, повторне використання та знищення успадкованого програмного забезпечення. Відновлення – це подовження життєвого циклу програмного забезпечення завдяки відновленню її працездатності. Переробка – це „глибока” зміна програмного забезпечення (архітектури, функцій) або його міграція в іншу операційну систему чи мову програмування. Повторне використання – це створення і застосування на основі успадкованого програмного забезпечення таких компонентів, які можна використати в розробці нового програмного забезпечення. Знищення – це знищення невикористаного (неутилізованого) програмного забезпечення;

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

– ресурси – екстрактори, абстрактори, гранулятори, програмісти, експерти.

У життєвому циклі розрізняють вертикальні і горизонтальні процеси та ресурси. Вертикальні процеси та ресурси – це такі, що належать до однієї фази (наприклад, процес – кодування, ресурс – мова програмування). Горизонтальні процеси та ресурси охоплюють кілька або всі фази життєвого циклу (наприклад, процес – керування якістю, ресурс – середовище Computer Aided Quality Management Environment (CAQME).

2.3. Інженерія програмного забезпечення

Ефективні організацію та реалізацію процесів життєвого циклу програмного забезпечення створює спеціальна галузь – інженерія програмного забезпечення.

Інженерія програмного забезпечення – це сфера (галузь), яка забезпечує системне застосування належних методів і засобів для створення і супроводження складних програмних продуктів, що відповідають технічним, економічним, правовим і соціальним вимогам [6, 14].

Методи інженерії програмного забезпечення – це наукові та інженерні методи розв’язування проблем і задач. Засоби – це ресурси, які забезпечують застосування зазначених методів.

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

Задовольнивши економічні вимоги, можна створити програмні продукти в рамках заданого фінансового бюджету.

Задовольнивши правові вимоги, можна забезпечити законне створення програмних продуктів.

Задовольнивши соціальні вимоги, можна створити корисні програмні продукти.

Щодо розробки програмного забезпечення розрізняють дві інженерії програмного забезпечення (рис. 2.1):

„уперед” (forward), або пряма інженерія - зорієнтована на створення програмного забезпечення;

„назад” (backward, reverse), або зворотна (реверсивна) інженерія – зорієнтована на створення різнорівневих уявлень про програмне забезпечення.

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

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

Крім цих двох інженерій, для дослідження програмного забезпечення застосовуються методи та засоби третьої інженерії – емпіричної (empirical software engineering).





Дата публикования: 2014-11-26; Прочитано: 1211 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.008 с)...