Інформаційні системи і технології на підприємствах - Плескач В.Л. -
Розділ 3. Cучасні підходи до розроблення -і впровадження інформаційних систем

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

Основні проблеми, що постають перед програмною інженерією, пов'язані з інтеграцією створеного раніше програмного забезпечення (ПЗ) у нові розробки (legacy challenge), роботою в розподіленому гетерогенному середовищі (heterogeneity challenge) та обмеженнями часу, що відводиться на розроблення інформаційних продуктів (delivery challenge).

Основні розділи програмної інженерії:

o аналіз вимог до ІС, яку треба створити;

o детальний проект ІС;

o кодування;

o тестування системи;

o процес супроводження програмного продукту;

o керування конфігурацією;

o Забезпечення якості розроблення;

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

o процес удосконалення отриманого програмного продукту.

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

тичну, прогнозну тощо. Інформацію для економічного аналізу поділяють на кілька типів: факти, оцінки, прогнози, узагальнені зв'язки, конфіденційна інформація, чутки тощо.

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

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

Поняття життєвого циклу програмного забезпечення (ЖЦ ПЗ) є одним з базових у програмній інженерії (ПІ).

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

На кожній фазі відбувається певна сукупність процесів, кожний з яких породжує певний продукт, використовуючи необхідні ресурси. Стандарт міжнародної організації ISO/IEC 12207:1995 "Information Technology - Software Life Cycle Processes" визначає структуру ЖЦ, що містить процеси, дії і задачі, які мають бути виконані під час створення ПЗ.

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

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

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

Відповідно до стандарту ISO/IEC 12207 усі процеси ЖЦ ПЗ поділяються на три групи (рис. 3.1):

o основні процеси (придбання, доставка, розроблення, експлуатація, супровід);

o організаційні процеси (управління, удосконалення, навчання);

o допоміжні процеси (документування, забезпечення якості, верифікація, атестація, аудит, загальна оцінка тощо).

Процеси придбання й доставки - це процедури, що передбачають виконання замовлення та постачання продукту замовнику.

Рис. 3.1. Процеси життєвого циклу розроблення ПЗ

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

Основні процеси включають:

o процес придбання, що ініціює життєвий цикл ІС та визначає її покупця;

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

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

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

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

Процес розроблення ПЗ має забезпечити шлях від усвідомлення потреб замовника до передачі йому готового продукту (рис. 3.2). Він складається з таких етапів:

o визначення вимог - збір та аналіз вимог замовника виконавцем та подання їх у нотації, що зрозуміла як замовнику, так і виконавцю;

Рис. 3.2. Процеси розроблення програмного забезпечення

o проектування - перетворення вимог до розроблення у послідовність проектних рішень щодо способів реалізації вимог: формування загальної архітектури програмної системи та принципів її прив'язки до конкретного середовища функціонування; визначення детального складу модулів кожної з архітектурних компонент;

o реалізація - перетворення проектних рішень у програмну систему, що реалізує означені рішення;

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

o експлуатація та супроводження готової системи. Підготовча робота починається з вибору моделі ЖЦ ПЗ,

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

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

Проектування архітектури системи полягає у визначенні компонентів її устаткування, ПЗ й операцій, що виконуються персоналом.

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

Проектування архітектури ПЗ включає такі задачі (для кожного компонента ПЗ):

а) трансформацію вимог до ПЗ в архітектуру, що визначає структуру ПЗ і склад його компонентів;

б) розроблення і документування програмних інтерфейсів ПЗ і БД;

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

г) розроблення і документування попередніх вимог до тестів і плану інтеграції ПЗ.

Детальне проектування ПЗ включає такі задачі:

а) опис компонентів ПЗ й інтерфейсів між ними на нижчому рівні, що достатній для їх подальшого самостійного кодування і тестування;

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

в) відновлення (за необхідності) документації;

г) розроблення і документування вимог до тестів і плану тестування компонентів ПЗ;

д) відновлення плану інтеграції ПЗ. Кодування і тестування ПЗ охоплюють такі задачі:

а) розроблення (кодування) і документування кожного компонента ПЗ і бази даних, а також сукупності тестових процедур і даних для їхнього тестування;

б) тестування кожного компонента ПЗ і БД на відповідність вимогам. Результати тестування компонентів мають бути документовані;

в) відновлення (за необхідності) документації користувачів;

г) відновлення плану інтеграції ПЗ.

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

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

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

Встановлення ПЗ здійснюється розробником відповідно до плану в тому операційному середовищі і на тому обладнанні, що передбачені замовленням.

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

Процес експлуатації охоплює дії і задачі оператора - організації, що експлуатує систему. Цей процес включає такі етапи: 1) підготовчу роботу; 2) експлуатаційне тестування; 3) експлуатацію системи; 4) підтримку користувачів.

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

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

Експлуатація системи здійснюється у призначеній для цього ОС відповідно до документації користувачів.

Підтримка користувачів полягає в наданні допомоги і консультацій при виявленні помилок у процесі експлуатації ПЗ.

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

Зміни, внесені в наявне ПЗ, не повинні порушувати його цілісність. Процес супроводу включає перенесення ПЗ в інше середовище (міграцію) і закінчується зняттям ПЗ з експлуатації. Цей процес охоплює такі дії: 1) підготовчу роботу; 2) аналіз проблем і запитів на модифікацію ПЗ; 3) модифікацію ПЗ; 4) перевірку і приймання; 5) міграцію ПЗ в інше середовище; 6) зняття ПЗ з експлуатації.

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

Аналіз проблем і запитів на модифікацію ПЗ" що виконуються службою супроводу, включає такі задачі:

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

o оцінка доцільності та можливих варіантів проведення модифікації;

o затвердження обраного варіанта модифікації. Модифікація ПЗ передбачає визначення компонентів ПЗ,

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

Перевірка і приймання полягають у перевірці цілісності модифікованої системи і затвердженні внесених змін.

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

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

Життєвий цикл програмного забезпечення
Моделі життєвого циклу ПЗ
3.1. Інженерія вимог
3.2. Автоматизація проектування ІС
Структурний підхід до розроблення ПЗ
Методичні основи технологій створення програмного забезпечення
Методи структурного аналізу і проектування ПЗ
Методи об'єктно орієнтованого аналізу і проектування ПЗ. Мова UML
CASE-засоби
Класифікація САSЕ -засобів