Цю статтю треба для відповідності Вікіпедії. |
Програмна інженерія — це застосування системного, вимірного підходу до розроблення, використання та супроводу програмного забезпечення, та дослідження цих підходів, тобто застосування принципів інженерії до програмного забезпечення. Вперше термін «програмна інженерія (англ. software engineering)» був використаний в 1968 році на конференції з програмної інженерії, що була організована Науковим комітетом NATO.
Дисципліни
Програмна інженерія може бути розділена на такі дисципліни:
- Вимоги: виявлення, аналіз, специфікація, перевірка вимог.
- Проєктування: процес визначення архітектури, складу компонентів, інтерфейсів та інших характеристик до системи.
- (Конструювання): кодування, модульне та інтеграційне тестування, відлагодження.
- Тестування: перевірка поведінки системи на відповідність до специфікації, пошук дефектів.
- Супровід програмного забезпечення: поліпшення, оптимізація системи та процесів роботи з нею після вводу до експлуатації.
- Конфігураційне керування: систематизує зміни до системи, що роблять розробники в процесі розробки та супроводу. Попереджують небажані та непередбачені ефекти.
- Менеджмент: застосування методів та практик менеджменту для керування учасниками процесу розробки ПЗ.
- Цикл розробки ПЗ: визначення, реалізація, оцінювання, вимірювання, керування та покращення як такого.
- Інструменти комп'ютерних наук: різні комп'ютерні системи що допомагають та дозволяють проводити процес розробки.
- Якість програмного забезпечення: відповідність програмного продукту вимогам.
Вимоги до програмного забезпечення
Вимоги - це властивості, якими має володіти ПЗ для адекватного визначення функцій, умов і обмежень виконання ПЗ, а також обсягів даних, технічного забезпечення та середовища функціонування;
Цей розділ потребує доповнення. (травень 2016) |
Типи моделей життєвого циклу
Розглянуті підходи щодо побудови різних видів моделей життєвого циклу програмного забезпечення базуються на процесному підході до виконання програмних проєктів. Вони використовувалися на практиці під час створення різних типів моделей життєвого циклу програмного забезпечення, до яких належать такі моделі: каскадна, спіральна, інкрементна, еволюційна та ін.
Керування конфігурацією
Керування конфігурацією — це ідентифікація компонентів системи, визначення функціональних, фізичних характеристик системи, апаратного і програмного забезпечення для контролю виконання, внесення змін і трасування конфігурації. Процес керування визначено як один з допоміжних процесів життєвого циклу (ISO/IEC 12207), що виконується технічним і адміністративним менеджментом проєкту. При цьому складаються звіти про зміни, внесені у конфігурацію, і ступінь їхньої реалізації, а також проводиться перевірка відповідності внесених змін заданим вимогам.
Конфігурація системи — це склад функцій, програмного і технічного забезпечення системи, можливі їх комбінації залежно від наявності устаткування, загальносистемних засобів і вимог до продукту.
Конфігурація ПЗ складається з набору функціональних і технічних характеристик ПЗ, заданих у технічній документації і реалізованих у готовому продукті. Це сполучення різних елементів продукту з заданими процедурами збирання компонентів і настроювання на середовище. Вхідними елементами конфігурації є графік розробки, проєктна документація, вихідний виконуваний код, бібліотека компонентів, інструкції з установки і розгортання системи.
Область знань «Керування конфігурацією ПЗ (Software Configuration Management — SCM)» складається з таких розділів:
- керування процесом конфігурації (Management of SMC Process),
- ідентифікація конфігурації ПЗ (Software Configuration Identification),
- контроль конфігурації ПЗ (Software Configuration Control),
- облік статусу (поведінка або стани) конфігурації ПЗ (Software Configuration Status Accounting),
- аудит конфігурації ПЗ (Software Configuration Auditing),
- керування версіями ПЗ і доставкою (Software Release Management and Delivery).
Керування процесом конфігурації. Це діяльність з контролю еволюції і цілісності продукту при ідентифікації, змінах і забезпеченні звітною інформацією, що стосується конфігурації. Вона містить у собі:
- систематичне відстеження внесених змін в окремі складові частини конфігурації, виконання аудита змін і автоматизованого контролю за внесенням змін у конфігурацію системи або в ПЗ;
- підтримку цілісності конфігурації, її аудит і забезпечення внесення змін в елементи конфігурації;
- ревізію конфігурації з метою перевірки наявності розроблених програмних або апаратних засобів і узгодження версії конфігурації з заданими вимогами;
- трасування змін у конфігурації на процесах супроводу й експлуатації ПЗ.
Ідентифікація конфігурації ПЗ полягає в документуванні функціональних і фізичних характеристик елементів конфігурації, а також в оформленні технічної документація на елементи конфігурації.
Контроль конфігурації ПЗ — це роботи з координації, затвердження або відкидання реалізованих змін в елементах конфігурації після ідентифікації, а також з аналізу вхідних компонентів конфігурації.
Облік статусу або стану конфігурації ПЗ — комплекс заходів для визначення ступеня зміни конфігурації, а також правильності внесених змін у систему при супроводі. Інформація і кількісні показники накопичуються у відповідній БД і використовуються при складанні звітності, оцінюванні якості і виконанні процесів життєвого циклу.
Аудит конфігурації — це діяльність, що виконується для оцінки відповідності продукту і процесів стандартам, інструкціям, планам і процедурам. Аудит визначає ступінь задоволення конфігурації функціональним і фізичним (апаратним) характеристикам системи.
Керування версіями ПЗ — це відстеження наявної версії компонентів конфігурації; складання компонентів; створення нових версій системи на основі існуючих шляхом внесення змін у конфігурацію; узгодження версії продукту з вимогами і проведеними змінами на процесах ЖЦ; забезпечення оперативного доступу до інформації про елементи конфігурації і системи, до яких вони належать. Дане керування містить у собі такі основні поняття.
Базис (baseline) — формально позначений набір елементів ПЗ, зафіксований на процесах життєвого циклу.
Бібліотека ПЗ — колекція об'єктів ПЗ і документації, призначена для полегшення процесу розроблення, використання і супроводження.
Складання ПЗ — об'єднання коректних елементів і конфігураційних даних у єдину виконувану програму.
Керування інженерією програмного забезпечення
Керування інженерією ПЗ (Software Engineering Management) — керування роботами команди розробників ПЗ у процесі виконання плану проєкту, визначення критеріїв ефективності роботи цієї команди й оцінка процесів і продуктів проєкту з використанням загальних методів планування і контролю робіт.
Як будь-яке керування, воно полягає у плануванні, координації, контролі, вимірі й обліку виконаних робіт у процесі розроблення програмного проєкту. Координацію людських, фінансових і технічних ресурсів виконує менеджер проєкту аналогічно до того, як це робиться в технічних проєктах. У його обов'язки входить дотримання запланованих бюджетних і часових характеристик і обмежень, стандартів і сформульованих вимог.
Загальні питання керування проєктом містяться в ядрі знань PMBOK [12], а також у стандарті ISO/IEC 12207 — Software life cycle processes, де керування проєктом розглядається як організаційний процес ЖЦ.
Область знань «Керування інженерією ПЗ (Software Engineering Management)» складається з таких розділів:
- організаційне керування (Organizational Management),
- керування процесом/проєктом (Process/Project Management),
- інженерія вимірювання ПЗ (Software Engineering Measurement).
Організаційне керування — це планування і складання графіка робіт, підбір і керування персоналом, контроль виконання й оцінка вартості робіт згідно з прийнятими стандартами і договорами з замовником. Головним об'єктом організаційного керування проєктом є персонал (навчання, мотивація й ін.), комунікації між співробітниками (зустрічі, презентації й ін.), а також попередження й усунення ризику невиконання проєкту. Для керування проєктом створюється спеціальна структура колективу. Фахівці розподіляються за видами робіт і розв'язують задачі проєкту під керуванням менеджера з урахуванням заданої вартості і термінів розробки. Для реалізації задач проєкту підбираються необхідні програмні, інструментальні й апаратні засоби.
Керування проєктом/процесом — це складання плану проєкту, побудова графіків робіт (мережних або часових діаграм) з урахуванням наявних ресурсів, розподіл персоналу за видами робіт у проєкті, виходячи з заданих термінів і вартості їх виконання. Для ефективного керування проєктом проводиться аналіз фінансової, технічної, операційної і соціальної політики організації-розробника для вибору правильної стратегії виконання робіт і контролю плану, а також проміжних продуктів (проєктних рішень, діаграм UML, алгоритмів і ін.).
У задачі керування проєктом входять також уточнення вимог, перевірка їх відповідності заданим специфікаціям характеристик якості, а також верифікація функцій проєкту. Процес керування базується на планових термінах, що відображені мережними діаграмами PERT (Program Evaluation and Review Technique), СРМ (Critical Path Method). У них указуються роботи, зв'язки між ними і час виконання.
На сьогоднішній день найбільш поширена мережна діаграма PERT — граф, у вершинах якого розміщуються роботи, а дуги задають взаємні зв'язки між цими роботами. Інший тип мережної діаграми — СРМ — є становим. У його вершинах указують події, а роботи задають лініями між двома вузлами-подіями. Очікуваний час виконання робіт за допомогою мережних діаграм оцінюється середнім ваговим значенням трьох оцінок: оптимістичної, песимістичної й очікуваної, тобто імовірнісної. Ці оцінки надають експерти, що враховують обсяги виконаної роботи і відведений на неї час.
Коректно складений план забезпечує виконання вимог і цілей проєкту. Контроль здійснюється при виконанні і внесенні змін у проєкт з урахуванням ризиків і прийнятих рішень щодо їх мінімізації.
Під ризиком розуміють імовірність виникнення несприятливих обставин, що можуть негативно вплинути на керування розробкою (наприклад, звільнення співробітника і відсутність заміни для продовження робіт і ін.). При складанні плану проєкту проводиться ідентифікація й аналіз ризику, планування непередбачених ситуацій щодо ризиків. Запобігання ризику полягає у виконанні дій, що знімають ризик (наприклад, збільшення часу розробки й ін.). Причиною появи ризику може бути реорганізація проєкту, БД або транзакцій, а також помилки при виконанні ПЗ.
Інженерія вимірювання ПЗ проводиться з метою визначення окремих характеристик продуктів і процесів (наприклад, кількість рядків у продукті, помилок у специфікаціях тощо). Попередньо проводяться роботи з вибору метрик процесів і продуктів з урахуванням обставин, що впливають на вимірювання характеристик програмного продукту.
Інженерії вимірювання — удосконалювання процесів керування проєктом; оцінювання часових витрат і вартості ПЗ, їх регулювання; визначення категорій ризиків і відстеження чинників для регулярного розрахунку ймовірностей їх виникнення; перевірка заданих у вимогах показників якості окремих продуктів і проєкту в цілому.
Проведення різного роду вимірювань — важливий принцип будь-якої інженерної діяльності. У програмному проєкті результати вимірювань необхідні замовнику і споживачу для встановлення правильності реалізації проєкту. Без вимірювань в інженерії ПЗ процес керування стає неефективним і перетворюється в самоціль.
Прикладне (систематичне) програмування
До методів систематичного програмування відносять такі методи:
— структурний;
— об'єктно-орієнтований;
— UML-метод;
— компонентний;
— аспектно-орієнтований;
— генерувальний;
— сервісний;
— агентний й ін.
Кожен з цих методів має свою множину понять й операцій для проведення процесу розроблення окремих компонентів, сервісів або ПС. Метод генеруючого програмування використовує можливості об'єктно-орієнтованого, компонентного, аспектно-орієнтованого методів й ін.
Сутність структурного підходу до розробки ПС полягає в декомпозиції (розподілі) системи на функції, що підлягають автоматизації, які у свою чергу, діляться на підфункції й задачі. Процес декомпозиції триває до визначення конкретних процедур. При цьому система, що автоматизується, зберігає цілісне подання, у якому всі складові компоненти взаємозалежні .
Основу структурного програмування становлять:
— розподіл системи на множину незалежних задач, доступних для розуміння і розв'язання;
— впорядкування й організація складових частин проблеми в ієрархічні деревоподібної структури з додаванням нових деталей на кожному рівні.
До головних принципів належать:
— абстрагування, тобто відокремлення істотних аспектів системи й нехтування несуттєвими;
— формалізація, тобто загальне методологічне вирішення проблеми;
— обґрунтування й узгодження елементів системи і перевірка їх на несуперечність;
— утворення ієрархічної структури даних.
При структурному аналізі застосовуються три найпоширеніші моделі структурного проєктування ПС:
SADT (Structured Analysis and Design Technique) — метод структурного аналізу й техніка проєктування моделі системи за допомогою функціональних діаграм ; SSADM (Structured Systems Analysis and Design Method) — метод структурного аналізу й проєктування систем ; IDEF (Integrated Definition Functions) — метод визначення функціональної моделі, IDEF1 — інформаційної моделі, IDEF2 — динамічної моделі й ін. Розглянемо ці методи детальніше.
Метод функціонального моделювання SADT. Цей метод запропоновано Д.Россом і покладено в основу методології IDEF0 (Icam DEFinition), що є головною частиною програми ICAM (Інтеграція комп'ютерних і промислових технологій), проведеної з ініціативи ВПС США.
На стадії проєктування моделі системи зображуються у вигляді діаграм або екранних форм і відображають структуру або архітектуру системи, а також схеми програм.
SADT — це сукупність правил і процедур, призначених для побудови функціональної моделі предметної області, яка відображає функціональну структуру, функції і дії, а також зв'язки між ними.
Метод SADT базується на наступних концепціях:
— графічне зображення структури з поданням функцій блоками, а інтерфейсів дугами, що, відповідно, входять у блок і виходять з нього (рис.5);
- Рис. 5. Структура моделі
— блоків може бути від 3 до 6 на кожному рівні декомпозиції;
— взаємодія блоків описується обмеженнями, які визначають умови керування й виконання функцій;
— унікальність позначок і найменувань;
— незалежність функціональної моделі від організаційної структури колективу розробників.
Метод SADT застосовується при моделюванні широкого кола систем, для яких визначаються вимоги й функції, а потім проводиться їхня реалізація. Засоби SADT можуть застосовуватися при аналізі функцій у діючій ПС, а також при визначенні способів їхньої реалізації.
Результат проєктування в методі SADT — модель, що складається з діаграм, фрагментів текстів і глосарію з посиланнями один на одного. Всі функції й інтерфейси зображуються діаграмами у вигляді блоків і дуг. Місце з'єднання дуги з блоком визначає тип інтерфейсу. Керуюча інформація позначається дугою, яка входить у блок зверху, у той час як інформація, що піддається обробці, вказується з лівої сторони блоку, а результати виходу — з правої сторони. Механізм, що здійснює операцію (людина або автоматизована система), задається дугою, що входить у блок знизу.
Одна з найбільш важливих переваг методу SADT — поступова деталізація моделі системи в міру додавання функцій і діаграм, що уточнюють цю модель.
Метод SSADM базується на таких структурах: послідовність, вибір й ітерація. Об'єкт моделювання задається відповідними структурними діаграмами, які відображають послідовність операторів, вибір елементів із групи й циклічне виконання операторів за цими елементами.
Загальна діаграма системи згідно з цим методом має ієрархічну структуру і містить у собі: список компонентів модельованого об'єкта; ідентифіковані групи вибраних і повторюваних компонентів; послідовність використовуваних компонентів.
Таке програмування передбачає наявність моделі ЖЦ із послідовними процесами розроблення програмного проєкту, починаючи з аналізу і формування вимог для ПрО (рис. 6).
До процесів ЖЦ належать:
— стратегічне проєктування та вивчення можливості виконання проєкту;
— детальне дослідження предметної області, що містить у собі аналіз і специфікацію вимог;
— логічне проєктування та специфікація компонентів системи;
— фізичне проєктування структур даних відповідно до вибраної структури БД (реляційної, об'єктно-орієнтованої й ін.) та конструювання окремих компонентів, їх тестування і тестування системи в цілому;
— виготовлення продукту і документації з нього для замовника.
- Рис.6. Життєвий цикл SSADM
Детальне дослідження предметної області проводиться для того, щоб вивчити її особливості, розглянути потреби й пропозиції замовника, провести аналіз вимог з різних документів, специфікувати їх і погодити із замовником.
Мета стратегічного проєктування — визначення сфери дії проєкту, аналіз інформаційних потоків, формування загальної архітектури системи, визначення витрат на розробку і підтвердження можливості подальшої реалізації проєкту. Результат — це специфікація вимог, що застосовується при розроблені логічної структури системи.
Логічне проєктування — це визначення функцій, діалогу, методу побудови і відновлення БД. У логічній моделі відображаються вхідні й вихідні дані, проходження запитів і встановлення взаємозв'язків між сутностями та подіями.
Фізичне проєктування — це визначення типу СКБД і подання даних у ній з урахуванням специфікації логічної моделі даних, обмежень на пам'ять і час обробки, а також визначення механізмів доступу, розміру логічної БД, зв'язків між елементами системи.
Фізична специфікація містить у собі:
— специфікацію функцій і схеми реалізації компонентів функцій,
— опис процедурних і непроцедурних компонентів й інтерфейсів,
— визначення логічних і фізичних груп даних з урахуванням обмежень устаткування на розробку й стандарти розробки,
— визначення груп подій, які обробляються як єдине ціле з видачею повідомлень про завершення обробки й ін.
Процеси, які виконуються у SSADM, пов'язані з роботами, що керують потоками інформації трьох типів: потік робіт; санкціоновані потоки за контролем або керуванням; звіти про хід розроблення.
Конструювання — це побудова конструкцій і елементів системи, їхнє тестування на наборах даних, які підбираються на ранніх процесах ЖЦ розробки системи.
Життєвий цикл містить у собі процес керування і контролю, який базується на сітковому графіку, що враховує роботи з розробки системи, витрати і строки. Спостереження і контроль виконання плану проводить організаційний відділ. У графіку містяться роботи й взаємозв'язки між ними і їхніми виконавцями, а також проєктні документи, які розроблюються виконавцями. Результати кожного з процесів ЖЦ контролюються і передаються на наступний етап у вигляді, зручному для подальшої реалізації іншими виконавцями.
Згідно з методом SADM створюється структурна модель системи і модель потоків даних. У діаграмах структурної моделі впорядкування процесів наведено зліва направо і віддзеркалює розвиток у часі, а не інтервали часу.
Модель потоків даних (Data Flow Model — DFM) використовується для опису процесів обробки даних у системі й містить у собі:
— ієрархічний набір діаграм потоків даних (Data Flow Diagram — DFD);
— опис елементарних процесів, потоків даних, сховищ даних і зовнішніх сутностей.
Кожна DFD відбиває проходження даних через систему залежно від рівня та призначення діаграми. DFD перетворює вхідні потоки даних (входи) у вихідні потоки даних (виходи). Як правило, процеси, що виконують такі перетворення, створюють і використовують дані зі сховища даних.
До об'єктів моделювання системи в SSADM належать:
1. Функції, які створюються на основі DFM і моделювання взаємозв'язків подій і сутностей для дослідження обробки даних у системі;
2. Події — деякі прикладні дії, які ініціюють процеси для занесення й відновлення даних системи. Подія приводить до виклику процесу і досліджується за допомогою моделювання її впливу на сутності;
3. Дані зображаються спочатку логічною моделлю, потім фізичною, яка відображається у реляційну або об'єктно-орієнтовану БД, залежно від вибраної для проєкту СКБД.
Найпоширеніші засоби моделювання даних — діаграми «сутність-зв'язок» (ER-діаграми), запропоновані Баркером, як застосування класичної ER-моделі Чена. В ER-діаграмах визначаються сутності (множини однотипних об'єктів) ПрО, їхні властивості (атрибути) і залежності (зв'язки). Сутність (Entity) — реальний або уявлюваний об'єкт, що має істотне значення для області. Кожна сутність й її екземпляр мають унікальні імена. Сутність має такі властивості:
— один або кілька атрибутів, які або належать сутності, або успадковуються через зв'язок (Relationship);
— довільну кількість зв'язків з іншими сутностями моделі.
Зв'язок — це асоціація між двома сутностями ПрО. У загальному випадку кожен екземпляр сутності-батька асоційований з довільною кількістю екземплярів успадкованої сутності (нащадка), а кожен екземпляр сутності-нащадка асоційований з одним екземпляром сутності-батька. Таким чином, екземпляр сутності-нащадка може існувати тільки при наявності сутності-батька. Для зв'язків можуть встановлюватися обмеження на кількість екземплярів сутності, що беруть участь у зв'язку. Наприклад, одному екземпляру однієї сутності може відповідати не більше ніж один екземпляр іншої.
Метод IDEF1 базується на концепції ER-моделювання і призначений для побудови інформаційної моделі подібно до реляційної моделі. Даний метод постійно розвивається й удосконалюється (наприклад, методологія IDEF1X-проєктування, орієнтована на автоматизацію — ERwin, Design/IDEF). Основна особливість полягає в тому, що кожен екземпляр сутності може бути однозначно ідентифікований без визначення відношення з іншими сутностями. Якщо ідентифікація екземпляра сутності залежить від його відношення до іншої сутності, то сутність є залежною. Кожній сутності присвоюється унікальне ім'я і номер, які розділяють косою рискою «/» і розміщують над блоком, який позначає сутність. Обмеження на множинність зв'язку можуть означати, що для кожного екземпляра сутності-батька існує:
— нуль, один або більше пов'язаних з ним екземплярів сутності-нащадка;
— не менше ніж один або не більше ніж один пов'язаний з ним екземпляр сутності-нащадка;
— зв'язок з деяким фіксованим числом екземплярів сутності-нащадка.
Якщо екземпляр сутності-нащадка однозначно визначається своїм зв'язком із сутністью-батьком, то зв'язок є ідентифікований, інакше — неідентифікований. Сутність-батько в ідентифікованому зв'язку може бути як незалежною, так і залежною від зв'язків з іншими сутностями. Сутність-нащадок у неідентифікованому зв'язку буде незалежною, якщо вона не є також сутністю-нащадком у якому-небудь ідентифікованому зв'язку.
Атрибути зображуються у вигляді списку імен усередині блока сутності, первинний ключ розміщується нагорі списку і відокремлюється від інших атрибутів горизонтальною рискою. Сутності можуть мати також зовнішні ключі, як частина або ціле первинного ключа або неключового атрибуту.
Засобами IDEF1 проводиться збирання і вивчення різних сфер діяльності підприємства, визначення потреб в інформаційному менеджменті, а також:
— інформації й структури потоків, що властиві діяльності підприємства;
— правил і законів руху інформаційних потоків і принципів керування ними;
— взаємозв'язків між існуючими інформаційними потоками на підприємстві;
-проблем, що виникають при неякісному інформаційному менеджменті і потребують усунення.
Одна з особливостей даної методології — забезпечення структурованого процесу аналізу інформаційних потоків підприємства і можливості зміни неповної й неточної структури інформації на процесі моделювання інформаційної структури підприємства.
Інструментальна підтримка SSADM. Головний інструмент структурного проєктування відповідно до процесів ЖЦ — комплекс програмних, методичних й організаційних засобів системи SSADM. Ця система прийнята державними органами Великої Британії як основний системний засіб і використовується багатьма державними організаціями і в межах, і за межами країни. SSADM містить у собі п'ять головних модулів підтримки, як процесів ЖЦ з проєктування ПП :
1) вивчення можливості виконання проєкту (Feasibility Study Module);
2) аналіз вимог (Requirements Analysis Module);
3) специфікація вимог (Requirements Specification Module);
4) логічна специфікація системи (Logical System Specification Module);
5) фізичне проєктування (Physical Design Module).
Проєктування за допомогою системи SSADM передбачає сукупність заходів з розробки набору проєктних документів в умовах використання відповідних ресурсів при заданих обмеженнях на вартість розробки. Для керування ходом розробки проєкту розглядаються проєктні роботи і документи, організація і плани розробки, заходи щодо керування проєктом та забезпечення якості. Розрізняються два типи проєктних робіт:
— забезпечення вимог користувача до якості системи;
— керування розробкою проєкту.
Структурна модель охоплює всі модулі й стадії технології SSADM, забезпечує одержання одних документів на підставі інших шляхом логічних перетворень. Іншими словами, одна сукупність документів перетворюється на іншу. Для встановлення послідовності робіт і заходів з забезпечення якості розробляється сітковий графік робіт.
Забезпечення якості реалізується групою якості, що відповідає за підтримку цілісності проєкту. В ній працюють фахівці, відповідальні за функціонування організації (плановики, економісти), користувачі системи й розробники, які беруть участь у проєкті від початку до кінця. Плановики й економісти слідкують за своєчасним виконанням і фінансуванням робіт, користувачі — висувають вимоги та пропозиції, а розробники виражають їхні потреби в рамках своєї компетенції.
Для керування проєктом створюється служба підтримки проєкту, що виконує ряд адміністративних функцій або спеціальних робіт. Вона здійснює експертизу при оцінюванні, плануванні і керуванні проєктом, а також проводить заходи з керування конфігурацією, сутність яких полягає у відстеженні проєктних документів і забезпеченні інформації про їхній стан у процесі розроблення.
Проблема якості стосується двох основних аспектів:
1) сукупності функцій, що повинні задовольняти задані вимоги до функцій, надійності й продуктивності;
2) способу реалізації системи.
Якість забезпечується шляхом перевірки зазначених у вимогах показників якості (економічність, гнучкість, здатність до зміни, модульність, правильність, надійність, переносність, ефективність).
Контроль якості продукту — це перевірка відповідності заданим стандартам і вимогам. Він містить у собі дії, які дозволяють перевірити і виміряти показники якості. Висока якість продукту означає, що система конструювалася відповідно до встановлених стандартів, які полегшують процес її розроблення, супроводження та модифікації при зміні вимог або внесенні виправлень у систему з мінімумом витрат.
Ідеологія структурного проєктування втілена в ряді CASE-засобів (SilverRun, Oracle Disigner, ErWin й ін.), що активно використовується на практиці.
UML-метод моделювання
Освіта
У 2004 році IEEE запропонувало спільноті проєкт SWEBOK, цей проєкт визначає набір знань, які повинен мати інженер з програмного забезпечення, що вчився 4 роки. Багато інженерів попадають в професію, отримавши профільну вищу освіту, або освіту в різних навчальних центрах. Окрім університетських програм, студенти мають можливість потрапити на практику та навчання до багатьох IT-компаній. Під час таких практик студенти отримують досвід роботи з реальними завданнями.
Методи об'єктного аналізу і моделювання
Проєктування архітектури програмних систем
Проєктування архітектури програмного забезпечення — це процес розроблення, що виконується після етапу аналізу і формування вимог. Задача такого проєктування — перетворення вимог до системи у вимоги до ПЗ і побудова на їхній основі архітектури системи.
Архітектура системи — це структурна схема компонентів системи, взаємодіючих між собою через інтерфейси. Компоненти можуть складатися з послідовності більш дрібних компонентів та інтерфейсів. Розроблення архітектури ґрунтується на загальних довідниках, класифікаторах та ін. У ній ідентифікуються загальні частини системи, у тому числі готові програмні продукти і заново розроблені компоненти, а також багаторазово використовувані в інших застосуваннях.
Побудова архітектури системи здійснюється шляхом визначення цілей системи, її вхідних і вихідних даних, декомпозиції системи на підсистеми, компоненти або модулі та розроблення її загальної структури.
Основні розв'язки щодо структури системи приймаються групою архітекторів і аналітиків. Вони передають окремі частини системи для реалізації невеликим групам розробників.
Архітектуру системи визначають також як множину представлень, кожне з яких відбиває деякий аспект, що цікавить групу учасників проєкту — аналітиків, проєктувальників, кінцевих користувачів та ін. Представлення фіксують проєктні рішення щодо структури і поділу ПС(програмні системи) на окремі компоненти та визначення зв'язків між ними. На ці рішення впливають вимоги до функцій і середовища.
Проєктування архітектури системи може проводитися різними методами (стандартизованим, об'єктно-орієнтованим, компонентним і ін.), кожний з яких пропонує свій шлях побудови архітектури, а саме, визначення концептуальної, об'єктної й інших моделей за допомогою відповідних конструктивних елементів (блок-схем, графів, структурних діаграм тощо).
При застосуванні об'єктно-орієнтованого підходу компонентами є окремі об'єкти, а процес конструювання об'єктної структури перетворюється в процес виявлення наявних у ПрО(предметна область) об'єктів і визначення сценарію їхнього виконання і взаємодії. Стандартизований і об'єктно-орієнтований підходи до проєктування використовують відповідні сформовані технології проєктування програмних систем.
Примітки
- SWEBOK executive editors, Alain Abran, James W. Moore ; editors, Pierre Bourque, Robert Dupuis. (2004). Pierre Bourque and Robert Dupuis (ред.). Guide to the Software Engineering Body of Knowledge - 2004 Version. IEEE Computer Society. с. 1—1. ISBN .
- Laplante, Phillip (2007). What Every Engineer Should Know about Software Engineering. Boca Raton: CRC. ISBN . Процитовано 21 січня 2011.
- Peter, Naur; Brian Randell (7–11 October 1968). Software Engineering: Report of a conference sponsored by the NATO Science Committee (PDF). Garmisch, Germany: Scientific Affairs Division, NATO. Процитовано 26 грудня 2008.
- (10 серпня 2001). The 1968/69 NATO Software Engineering Reports. Brian Randell's University Homepage. The School of the Computer Sciences, Newcastle University. Архів оригіналу за 16 липня 2013. Процитовано 11 жовтня 2008.
The idea for the first NATO Software Engineering Conference, and in particular that of adopting the then practically unknown term "software engineering" as its (deliberately provocative) title, I believe came originally from Professor Fritz Bauer.
- Лаврищева К. М. «Програмна інженерія» http://www.programsfactory.univ.kiev.ua/content/books/2/29 [ 26 лютого 2012 у Wayback Machine.]
- Лаврищева К. М. «Програмна інженерія» http://www.programsfactory.univ.kiev.ua/content/books/2/30 [ 26 лютого 2012 у Wayback Machine.]
Література
- Методы программирования. Теория, практика, инженерия.-/Лаврищева Е. М.-Наукова думка.-2006.-471с. (рос.)
- Методы и средства инженерии программного обеспечения.-/Лаврищева Е. М., Петрухин В. А. Москва, МФТИ.-2007.-415 с. (рос.)
- Основы инженерии качества программных систем.-Андон Ф. И., Коваль Г. И., Коротун Т. М., Лаврищева Е. М., Суслов В. Ю.-Киев: Академпериодика, 2007.-680 с. (рос.)
- Становление и развитие модульно -компонентной инженерии програм -мирования в Украине /Лаврищева Е. М.-Препринт 2008-1.-Ин-т кибернетики им. В. М. Глушкова, 33 с. (рос.)
- Визначення предмету-програмна інженерія.-/Лавріщева К. М.-Проблеми програмування.-Спецвипуск.-2008.-№ 2-3.-с.191-204.
- Програмна інженерія.-/Лавріщева К. М.-Підручник.-К.: Академперіодика, 2008.-319 с.
- Инженерия программного обеспечения. 6 издание. Соммервилл И.: Москва, Вильямс 2002. (рос.)
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Cyu stattyu treba vikifikuvati dlya vidpovidnosti standartam yakosti Vikipediyi Bud laska dopomozhit dodavannyam dorechnih vnutrishnih posilan abo vdoskonalennyam rozmitki statti Programna inzheneriya ce zastosuvannya sistemnogo vimirnogo pidhodu do rozroblennya vikoristannya ta suprovodu programnogo zabezpechennya ta doslidzhennya cih pidhodiv tobto zastosuvannya principiv inzheneriyi do programnogo zabezpechennya Vpershe termin programna inzheneriya angl software engineering buv vikoristanij v 1968 roci na konferenciyi z programnoyi inzheneriyi sho bula organizovana Naukovim komitetom NATO DiscipliniProgramna inzheneriya mozhe buti rozdilena na taki disciplini Vimogi viyavlennya analiz specifikaciya perevirka vimog Proyektuvannya proces viznachennya arhitekturi skladu komponentiv interfejsiv ta inshih harakteristik do sistemi Konstruyuvannya koduvannya modulne ta integracijne testuvannya vidlagodzhennya Testuvannya perevirka povedinki sistemi na vidpovidnist do specifikaciyi poshuk defektiv Suprovid programnogo zabezpechennya polipshennya optimizaciya sistemi ta procesiv roboti z neyu pislya vvodu do ekspluataciyi Konfiguracijne keruvannya sistematizuye zmini do sistemi sho roblyat rozrobniki v procesi rozrobki ta suprovodu Poperedzhuyut nebazhani ta neperedbacheni efekti Menedzhment zastosuvannya metodiv ta praktik menedzhmentu dlya keruvannya uchasnikami procesu rozrobki PZ Cikl rozrobki PZ viznachennya realizaciya ocinyuvannya vimiryuvannya keruvannya ta pokrashennya yak takogo Instrumenti komp yuternih nauk rizni komp yuterni sistemi sho dopomagayut ta dozvolyayut provoditi proces rozrobki Yakist programnogo zabezpechennya vidpovidnist programnogo produktu vimogam Vimogi do programnogo zabezpechennya Dokladnishe Analiz vimog ta Vimogi do programnogo zabezpechennya Vimogi ce vlastivosti yakimi maye voloditi PZ dlya adekvatnogo viznachennya funkcij umov i obmezhen vikonannya PZ a takozh obsyagiv danih tehnichnogo zabezpechennya ta seredovisha funkcionuvannya Cej rozdil potrebuye dopovnennya traven 2016 Tipi modelej zhittyevogo ciklu Dokladnishe zhittyevij cikl programnogo zabezpechennya Rozglyanuti pidhodi shodo pobudovi riznih vidiv modelej zhittyevogo ciklu programnogo zabezpechennya bazuyutsya na procesnomu pidhodi do vikonannya programnih proyektiv Voni vikoristovuvalisya na praktici pid chas stvorennya riznih tipiv modelej zhittyevogo ciklu programnogo zabezpechennya do yakih nalezhat taki modeli kaskadna spiralna inkrementna evolyucijna ta in Keruvannya konfiguraciyeyu Keruvannya konfiguraciyeyu ce identifikaciya komponentiv sistemi viznachennya funkcionalnih fizichnih harakteristik sistemi aparatnogo i programnogo zabezpechennya dlya kontrolyu vikonannya vnesennya zmin i trasuvannya konfiguraciyi Proces keruvannya viznacheno yak odin z dopomizhnih procesiv zhittyevogo ciklu ISO IEC 12207 sho vikonuyetsya tehnichnim i administrativnim menedzhmentom proyektu Pri comu skladayutsya zviti pro zmini vneseni u konfiguraciyu i stupin yihnoyi realizaciyi a takozh provoditsya perevirka vidpovidnosti vnesenih zmin zadanim vimogam Konfiguraciya sistemi ce sklad funkcij programnogo i tehnichnogo zabezpechennya sistemi mozhlivi yih kombinaciyi zalezhno vid nayavnosti ustatkuvannya zagalnosistemnih zasobiv i vimog do produktu Konfiguraciya PZ skladayetsya z naboru funkcionalnih i tehnichnih harakteristik PZ zadanih u tehnichnij dokumentaciyi i realizovanih u gotovomu produkti Ce spoluchennya riznih elementiv produktu z zadanimi procedurami zbirannya komponentiv i nastroyuvannya na seredovishe Vhidnimi elementami konfiguraciyi ye grafik rozrobki proyektna dokumentaciya vihidnij vikonuvanij kod biblioteka komponentiv instrukciyi z ustanovki i rozgortannya sistemi Oblast znan Keruvannya konfiguraciyeyu PZ Software Configuration Management SCM skladayetsya z takih rozdiliv keruvannya procesom konfiguraciyi Management of SMC Process identifikaciya konfiguraciyi PZ Software Configuration Identification kontrol konfiguraciyi PZ Software Configuration Control oblik statusu povedinka abo stani konfiguraciyi PZ Software Configuration Status Accounting audit konfiguraciyi PZ Software Configuration Auditing keruvannya versiyami PZ i dostavkoyu Software Release Management and Delivery Keruvannya procesom konfiguraciyi Ce diyalnist z kontrolyu evolyuciyi i cilisnosti produktu pri identifikaciyi zminah i zabezpechenni zvitnoyu informaciyeyu sho stosuyetsya konfiguraciyi Vona mistit u sobi sistematichne vidstezhennya vnesenih zmin v okremi skladovi chastini konfiguraciyi vikonannya audita zmin i avtomatizovanogo kontrolyu za vnesennyam zmin u konfiguraciyu sistemi abo v PZ pidtrimku cilisnosti konfiguraciyi yiyi audit i zabezpechennya vnesennya zmin v elementi konfiguraciyi reviziyu konfiguraciyi z metoyu perevirki nayavnosti rozroblenih programnih abo aparatnih zasobiv i uzgodzhennya versiyi konfiguraciyi z zadanimi vimogami trasuvannya zmin u konfiguraciyi na procesah suprovodu j ekspluataciyi PZ Identifikaciya konfiguraciyi PZ polyagaye v dokumentuvanni funkcionalnih i fizichnih harakteristik elementiv konfiguraciyi a takozh v oformlenni tehnichnoyi dokumentaciya na elementi konfiguraciyi Kontrol konfiguraciyi PZ ce roboti z koordinaciyi zatverdzhennya abo vidkidannya realizovanih zmin v elementah konfiguraciyi pislya identifikaciyi a takozh z analizu vhidnih komponentiv konfiguraciyi Oblik statusu abo stanu konfiguraciyi PZ kompleks zahodiv dlya viznachennya stupenya zmini konfiguraciyi a takozh pravilnosti vnesenih zmin u sistemu pri suprovodi Informaciya i kilkisni pokazniki nakopichuyutsya u vidpovidnij BD i vikoristovuyutsya pri skladanni zvitnosti ocinyuvanni yakosti i vikonanni procesiv zhittyevogo ciklu Audit konfiguraciyi ce diyalnist sho vikonuyetsya dlya ocinki vidpovidnosti produktu i procesiv standartam instrukciyam planam i proceduram Audit viznachaye stupin zadovolennya konfiguraciyi funkcionalnim i fizichnim aparatnim harakteristikam sistemi Keruvannya versiyami PZ ce vidstezhennya nayavnoyi versiyi komponentiv konfiguraciyi skladannya komponentiv stvorennya novih versij sistemi na osnovi isnuyuchih shlyahom vnesennya zmin u konfiguraciyu uzgodzhennya versiyi produktu z vimogami i provedenimi zminami na procesah ZhC zabezpechennya operativnogo dostupu do informaciyi pro elementi konfiguraciyi i sistemi do yakih voni nalezhat Dane keruvannya mistit u sobi taki osnovni ponyattya Bazis baseline formalno poznachenij nabir elementiv PZ zafiksovanij na procesah zhittyevogo ciklu Biblioteka PZ kolekciya ob yektiv PZ i dokumentaciyi priznachena dlya polegshennya procesu rozroblennya vikoristannya i suprovodzhennya Skladannya PZ ob yednannya korektnih elementiv i konfiguracijnih danih u yedinu vikonuvanu programu Keruvannya inzheneriyeyu programnogo zabezpechennya Keruvannya inzheneriyeyu PZ Software Engineering Management keruvannya robotami komandi rozrobnikiv PZ u procesi vikonannya planu proyektu viznachennya kriteriyiv efektivnosti roboti ciyeyi komandi j ocinka procesiv i produktiv proyektu z vikoristannyam zagalnih metodiv planuvannya i kontrolyu robit Yak bud yake keruvannya vono polyagaye u planuvanni koordinaciyi kontroli vimiri j obliku vikonanih robit u procesi rozroblennya programnogo proyektu Koordinaciyu lyudskih finansovih i tehnichnih resursiv vikonuye menedzher proyektu analogichno do togo yak ce robitsya v tehnichnih proyektah U jogo obov yazki vhodit dotrimannya zaplanovanih byudzhetnih i chasovih harakteristik i obmezhen standartiv i sformulovanih vimog Zagalni pitannya keruvannya proyektom mistyatsya v yadri znan PMBOK 12 a takozh u standarti ISO IEC 12207 Software life cycle processes de keruvannya proyektom rozglyadayetsya yak organizacijnij proces ZhC Oblast znan Keruvannya inzheneriyeyu PZ Software Engineering Management skladayetsya z takih rozdiliv organizacijne keruvannya Organizational Management keruvannya procesom proyektom Process Project Management inzheneriya vimiryuvannya PZ Software Engineering Measurement Organizacijne keruvannya ce planuvannya i skladannya grafika robit pidbir i keruvannya personalom kontrol vikonannya j ocinka vartosti robit zgidno z prijnyatimi standartami i dogovorami z zamovnikom Golovnim ob yektom organizacijnogo keruvannya proyektom ye personal navchannya motivaciya j in komunikaciyi mizh spivrobitnikami zustrichi prezentaciyi j in a takozh poperedzhennya j usunennya riziku nevikonannya proyektu Dlya keruvannya proyektom stvoryuyetsya specialna struktura kolektivu Fahivci rozpodilyayutsya za vidami robit i rozv yazuyut zadachi proyektu pid keruvannyam menedzhera z urahuvannyam zadanoyi vartosti i terminiv rozrobki Dlya realizaciyi zadach proyektu pidbirayutsya neobhidni programni instrumentalni j aparatni zasobi Keruvannya proyektom procesom ce skladannya planu proyektu pobudova grafikiv robit merezhnih abo chasovih diagram z urahuvannyam nayavnih resursiv rozpodil personalu za vidami robit u proyekti vihodyachi z zadanih terminiv i vartosti yih vikonannya Dlya efektivnogo keruvannya proyektom provoditsya analiz finansovoyi tehnichnoyi operacijnoyi i socialnoyi politiki organizaciyi rozrobnika dlya viboru pravilnoyi strategiyi vikonannya robit i kontrolyu planu a takozh promizhnih produktiv proyektnih rishen diagram UML algoritmiv i in U zadachi keruvannya proyektom vhodyat takozh utochnennya vimog perevirka yih vidpovidnosti zadanim specifikaciyam harakteristik yakosti a takozh verifikaciya funkcij proyektu Proces keruvannya bazuyetsya na planovih terminah sho vidobrazheni merezhnimi diagramami PERT Program Evaluation and Review Technique SRM Critical Path Method U nih ukazuyutsya roboti zv yazki mizh nimi i chas vikonannya Na sogodnishnij den najbilsh poshirena merezhna diagrama PERT graf u vershinah yakogo rozmishuyutsya roboti a dugi zadayut vzayemni zv yazki mizh cimi robotami Inshij tip merezhnoyi diagrami SRM ye stanovim U jogo vershinah ukazuyut podiyi a roboti zadayut liniyami mizh dvoma vuzlami podiyami Ochikuvanij chas vikonannya robit za dopomogoyu merezhnih diagram ocinyuyetsya serednim vagovim znachennyam troh ocinok optimistichnoyi pesimistichnoyi j ochikuvanoyi tobto imovirnisnoyi Ci ocinki nadayut eksperti sho vrahovuyut obsyagi vikonanoyi roboti i vidvedenij na neyi chas Korektno skladenij plan zabezpechuye vikonannya vimog i cilej proyektu Kontrol zdijsnyuyetsya pri vikonanni i vnesenni zmin u proyekt z urahuvannyam rizikiv i prijnyatih rishen shodo yih minimizaciyi Pid rizikom rozumiyut imovirnist viniknennya nespriyatlivih obstavin sho mozhut negativno vplinuti na keruvannya rozrobkoyu napriklad zvilnennya spivrobitnika i vidsutnist zamini dlya prodovzhennya robit i in Pri skladanni planu proyektu provoditsya identifikaciya j analiz riziku planuvannya neperedbachenih situacij shodo rizikiv Zapobigannya riziku polyagaye u vikonanni dij sho znimayut rizik napriklad zbilshennya chasu rozrobki j in Prichinoyu poyavi riziku mozhe buti reorganizaciya proyektu BD abo tranzakcij a takozh pomilki pri vikonanni PZ Inzheneriya vimiryuvannya PZ provoditsya z metoyu viznachennya okremih harakteristik produktiv i procesiv napriklad kilkist ryadkiv u produkti pomilok u specifikaciyah tosho Poperedno provodyatsya roboti z viboru metrik procesiv i produktiv z urahuvannyam obstavin sho vplivayut na vimiryuvannya harakteristik programnogo produktu Inzheneriyi vimiryuvannya udoskonalyuvannya procesiv keruvannya proyektom ocinyuvannya chasovih vitrat i vartosti PZ yih regulyuvannya viznachennya kategorij rizikiv i vidstezhennya chinnikiv dlya regulyarnogo rozrahunku jmovirnostej yih viniknennya perevirka zadanih u vimogah pokaznikiv yakosti okremih produktiv i proyektu v cilomu Provedennya riznogo rodu vimiryuvan vazhlivij princip bud yakoyi inzhenernoyi diyalnosti U programnomu proyekti rezultati vimiryuvan neobhidni zamovniku i spozhivachu dlya vstanovlennya pravilnosti realizaciyi proyektu Bez vimiryuvan v inzheneriyi PZ proces keruvannya staye neefektivnim i peretvoryuyetsya v samocil Prikladne sistematichne programuvannyaDo metodiv sistematichnogo programuvannya vidnosyat taki metodi strukturnij ob yektno oriyentovanij UML metod komponentnij aspektno oriyentovanij generuvalnij servisnij agentnij j in Kozhen z cih metodiv maye svoyu mnozhinu ponyat j operacij dlya provedennya procesu rozroblennya okremih komponentiv servisiv abo PS Metod generuyuchogo programuvannya vikoristovuye mozhlivosti ob yektno oriyentovanogo komponentnogo aspektno oriyentovanogo metodiv j in Strukturne programuvannya Sutnist strukturnogo pidhodu do rozrobki PS polyagaye v dekompoziciyi rozpodili sistemi na funkciyi sho pidlyagayut avtomatizaciyi yaki u svoyu chergu dilyatsya na pidfunkciyi j zadachi Proces dekompoziciyi trivaye do viznachennya konkretnih procedur Pri comu sistema sho avtomatizuyetsya zberigaye cilisne podannya u yakomu vsi skladovi komponenti vzayemozalezhni Osnovu strukturnogo programuvannya stanovlyat rozpodil sistemi na mnozhinu nezalezhnih zadach dostupnih dlya rozuminnya i rozv yazannya vporyadkuvannya j organizaciya skladovih chastin problemi v iyerarhichni derevopodibnoyi strukturi z dodavannyam novih detalej na kozhnomu rivni Do golovnih principiv nalezhat abstraguvannya tobto vidokremlennya istotnih aspektiv sistemi j nehtuvannya nesuttyevimi formalizaciya tobto zagalne metodologichne virishennya problemi obgruntuvannya j uzgodzhennya elementiv sistemi i perevirka yih na nesuperechnist utvorennya iyerarhichnoyi strukturi danih Pri strukturnomu analizi zastosovuyutsya tri najposhirenishi modeli strukturnogo proyektuvannya PS SADT Structured Analysis and Design Technique metod strukturnogo analizu j tehnika proyektuvannya modeli sistemi za dopomogoyu funkcionalnih diagram SSADM Structured Systems Analysis and Design Method metod strukturnogo analizu j proyektuvannya sistem IDEF Integrated Definition Functions metod viznachennya funkcionalnoyi modeli IDEF1 informacijnoyi modeli IDEF2 dinamichnoyi modeli j in Rozglyanemo ci metodi detalnishe Metod funkcionalnogo modelyuvannya SADT Cej metod zaproponovano D Rossom i pokladeno v osnovu metodologiyi IDEF0 Icam DEFinition sho ye golovnoyu chastinoyu programi ICAM Integraciya komp yuternih i promislovih tehnologij provedenoyi z iniciativi VPS SShA Na stadiyi proyektuvannya modeli sistemi zobrazhuyutsya u viglyadi diagram abo ekrannih form i vidobrazhayut strukturu abo arhitekturu sistemi a takozh shemi program SADT ce sukupnist pravil i procedur priznachenih dlya pobudovi funkcionalnoyi modeli predmetnoyi oblasti yaka vidobrazhaye funkcionalnu strukturu funkciyi i diyi a takozh zv yazki mizh nimi Metod SADT bazuyetsya na nastupnih koncepciyah grafichne zobrazhennya strukturi z podannyam funkcij blokami a interfejsiv dugami sho vidpovidno vhodyat u blok i vihodyat z nogo ris 5 Ris 5 Struktura modeli blokiv mozhe buti vid 3 do 6 na kozhnomu rivni dekompoziciyi vzayemodiya blokiv opisuyetsya obmezhennyami yaki viznachayut umovi keruvannya j vikonannya funkcij unikalnist poznachok i najmenuvan nezalezhnist funkcionalnoyi modeli vid organizacijnoyi strukturi kolektivu rozrobnikiv Metod SADT zastosovuyetsya pri modelyuvanni shirokogo kola sistem dlya yakih viznachayutsya vimogi j funkciyi a potim provoditsya yihnya realizaciya Zasobi SADT mozhut zastosovuvatisya pri analizi funkcij u diyuchij PS a takozh pri viznachenni sposobiv yihnoyi realizaciyi Rezultat proyektuvannya v metodi SADT model sho skladayetsya z diagram fragmentiv tekstiv i glosariyu z posilannyami odin na odnogo Vsi funkciyi j interfejsi zobrazhuyutsya diagramami u viglyadi blokiv i dug Misce z yednannya dugi z blokom viznachaye tip interfejsu Keruyucha informaciya poznachayetsya dugoyu yaka vhodit u blok zverhu u toj chas yak informaciya sho piddayetsya obrobci vkazuyetsya z livoyi storoni bloku a rezultati vihodu z pravoyi storoni Mehanizm sho zdijsnyuye operaciyu lyudina abo avtomatizovana sistema zadayetsya dugoyu sho vhodit u blok znizu Odna z najbilsh vazhlivih perevag metodu SADT postupova detalizaciya modeli sistemi v miru dodavannya funkcij i diagram sho utochnyuyut cyu model Metod SSADM bazuyetsya na takih strukturah poslidovnist vibir j iteraciya Ob yekt modelyuvannya zadayetsya vidpovidnimi strukturnimi diagramami yaki vidobrazhayut poslidovnist operatoriv vibir elementiv iz grupi j ciklichne vikonannya operatoriv za cimi elementami Zagalna diagrama sistemi zgidno z cim metodom maye iyerarhichnu strukturu i mistit u sobi spisok komponentiv modelovanogo ob yekta identifikovani grupi vibranih i povtoryuvanih komponentiv poslidovnist vikoristovuvanih komponentiv Take programuvannya peredbachaye nayavnist modeli ZhC iz poslidovnimi procesami rozroblennya programnogo proyektu pochinayuchi z analizu i formuvannya vimog dlya PrO ris 6 Do procesiv ZhC nalezhat strategichne proyektuvannya ta vivchennya mozhlivosti vikonannya proyektu detalne doslidzhennya predmetnoyi oblasti sho mistit u sobi analiz i specifikaciyu vimog logichne proyektuvannya ta specifikaciya komponentiv sistemi fizichne proyektuvannya struktur danih vidpovidno do vibranoyi strukturi BD relyacijnoyi ob yektno oriyentovanoyi j in ta konstruyuvannya okremih komponentiv yih testuvannya i testuvannya sistemi v cilomu vigotovlennya produktu i dokumentaciyi z nogo dlya zamovnika Ris 6 Zhittyevij cikl SSADM Detalne doslidzhennya predmetnoyi oblasti provoditsya dlya togo shob vivchiti yiyi osoblivosti rozglyanuti potrebi j propoziciyi zamovnika provesti analiz vimog z riznih dokumentiv specifikuvati yih i pogoditi iz zamovnikom Meta strategichnogo proyektuvannya viznachennya sferi diyi proyektu analiz informacijnih potokiv formuvannya zagalnoyi arhitekturi sistemi viznachennya vitrat na rozrobku i pidtverdzhennya mozhlivosti podalshoyi realizaciyi proyektu Rezultat ce specifikaciya vimog sho zastosovuyetsya pri rozrobleni logichnoyi strukturi sistemi Logichne proyektuvannya ce viznachennya funkcij dialogu metodu pobudovi i vidnovlennya BD U logichnij modeli vidobrazhayutsya vhidni j vihidni dani prohodzhennya zapitiv i vstanovlennya vzayemozv yazkiv mizh sutnostyami ta podiyami Fizichne proyektuvannya ce viznachennya tipu SKBD i podannya danih u nij z urahuvannyam specifikaciyi logichnoyi modeli danih obmezhen na pam yat i chas obrobki a takozh viznachennya mehanizmiv dostupu rozmiru logichnoyi BD zv yazkiv mizh elementami sistemi Fizichna specifikaciya mistit u sobi specifikaciyu funkcij i shemi realizaciyi komponentiv funkcij opis procedurnih i neprocedurnih komponentiv j interfejsiv viznachennya logichnih i fizichnih grup danih z urahuvannyam obmezhen ustatkuvannya na rozrobku j standarti rozrobki viznachennya grup podij yaki obroblyayutsya yak yedine cile z vidacheyu povidomlen pro zavershennya obrobki j in Procesi yaki vikonuyutsya u SSADM pov yazani z robotami sho keruyut potokami informaciyi troh tipiv potik robit sankcionovani potoki za kontrolem abo keruvannyam zviti pro hid rozroblennya Konstruyuvannya ce pobudova konstrukcij i elementiv sistemi yihnye testuvannya na naborah danih yaki pidbirayutsya na rannih procesah ZhC rozrobki sistemi Zhittyevij cikl mistit u sobi proces keruvannya i kontrolyu yakij bazuyetsya na sitkovomu grafiku sho vrahovuye roboti z rozrobki sistemi vitrati i stroki Sposterezhennya i kontrol vikonannya planu provodit organizacijnij viddil U grafiku mistyatsya roboti j vzayemozv yazki mizh nimi i yihnimi vikonavcyami a takozh proyektni dokumenti yaki rozroblyuyutsya vikonavcyami Rezultati kozhnogo z procesiv ZhC kontrolyuyutsya i peredayutsya na nastupnij etap u viglyadi zruchnomu dlya podalshoyi realizaciyi inshimi vikonavcyami Zgidno z metodom SADM stvoryuyetsya strukturna model sistemi i model potokiv danih U diagramah strukturnoyi modeli vporyadkuvannya procesiv navedeno zliva napravo i viddzerkalyuye rozvitok u chasi a ne intervali chasu Model potokiv danih Data Flow Model DFM vikoristovuyetsya dlya opisu procesiv obrobki danih u sistemi j mistit u sobi iyerarhichnij nabir diagram potokiv danih Data Flow Diagram DFD opis elementarnih procesiv potokiv danih shovish danih i zovnishnih sutnostej Kozhna DFD vidbivaye prohodzhennya danih cherez sistemu zalezhno vid rivnya ta priznachennya diagrami DFD peretvoryuye vhidni potoki danih vhodi u vihidni potoki danih vihodi Yak pravilo procesi sho vikonuyut taki peretvorennya stvoryuyut i vikoristovuyut dani zi shovisha danih Do ob yektiv modelyuvannya sistemi v SSADM nalezhat 1 Funkciyi yaki stvoryuyutsya na osnovi DFM i modelyuvannya vzayemozv yazkiv podij i sutnostej dlya doslidzhennya obrobki danih u sistemi 2 Podiyi deyaki prikladni diyi yaki iniciyuyut procesi dlya zanesennya j vidnovlennya danih sistemi Podiya privodit do vikliku procesu i doslidzhuyetsya za dopomogoyu modelyuvannya yiyi vplivu na sutnosti 3 Dani zobrazhayutsya spochatku logichnoyu modellyu potim fizichnoyu yaka vidobrazhayetsya u relyacijnu abo ob yektno oriyentovanu BD zalezhno vid vibranoyi dlya proyektu SKBD Najposhirenishi zasobi modelyuvannya danih diagrami sutnist zv yazok ER diagrami zaproponovani Barkerom yak zastosuvannya klasichnoyi ER modeli Chena V ER diagramah viznachayutsya sutnosti mnozhini odnotipnih ob yektiv PrO yihni vlastivosti atributi i zalezhnosti zv yazki Sutnist Entity realnij abo uyavlyuvanij ob yekt sho maye istotne znachennya dlya oblasti Kozhna sutnist j yiyi ekzemplyar mayut unikalni imena Sutnist maye taki vlastivosti odin abo kilka atributiv yaki abo nalezhat sutnosti abo uspadkovuyutsya cherez zv yazok Relationship dovilnu kilkist zv yazkiv z inshimi sutnostyami modeli Zv yazok ce asociaciya mizh dvoma sutnostyami PrO U zagalnomu vipadku kozhen ekzemplyar sutnosti batka asocijovanij z dovilnoyu kilkistyu ekzemplyariv uspadkovanoyi sutnosti nashadka a kozhen ekzemplyar sutnosti nashadka asocijovanij z odnim ekzemplyarom sutnosti batka Takim chinom ekzemplyar sutnosti nashadka mozhe isnuvati tilki pri nayavnosti sutnosti batka Dlya zv yazkiv mozhut vstanovlyuvatisya obmezhennya na kilkist ekzemplyariv sutnosti sho berut uchast u zv yazku Napriklad odnomu ekzemplyaru odniyeyi sutnosti mozhe vidpovidati ne bilshe nizh odin ekzemplyar inshoyi Metod IDEF1 bazuyetsya na koncepciyi ER modelyuvannya i priznachenij dlya pobudovi informacijnoyi modeli podibno do relyacijnoyi modeli Danij metod postijno rozvivayetsya j udoskonalyuyetsya napriklad metodologiya IDEF1X proyektuvannya oriyentovana na avtomatizaciyu ERwin Design IDEF Osnovna osoblivist polyagaye v tomu sho kozhen ekzemplyar sutnosti mozhe buti odnoznachno identifikovanij bez viznachennya vidnoshennya z inshimi sutnostyami Yaksho identifikaciya ekzemplyara sutnosti zalezhit vid jogo vidnoshennya do inshoyi sutnosti to sutnist ye zalezhnoyu Kozhnij sutnosti prisvoyuyetsya unikalne im ya i nomer yaki rozdilyayut kosoyu riskoyu i rozmishuyut nad blokom yakij poznachaye sutnist Obmezhennya na mnozhinnist zv yazku mozhut oznachati sho dlya kozhnogo ekzemplyara sutnosti batka isnuye nul odin abo bilshe pov yazanih z nim ekzemplyariv sutnosti nashadka ne menshe nizh odin abo ne bilshe nizh odin pov yazanij z nim ekzemplyar sutnosti nashadka zv yazok z deyakim fiksovanim chislom ekzemplyariv sutnosti nashadka Yaksho ekzemplyar sutnosti nashadka odnoznachno viznachayetsya svoyim zv yazkom iz sutnistyu batkom to zv yazok ye identifikovanij inakshe neidentifikovanij Sutnist batko v identifikovanomu zv yazku mozhe buti yak nezalezhnoyu tak i zalezhnoyu vid zv yazkiv z inshimi sutnostyami Sutnist nashadok u neidentifikovanomu zv yazku bude nezalezhnoyu yaksho vona ne ye takozh sutnistyu nashadkom u yakomu nebud identifikovanomu zv yazku Atributi zobrazhuyutsya u viglyadi spisku imen useredini bloka sutnosti pervinnij klyuch rozmishuyetsya nagori spisku i vidokremlyuyetsya vid inshih atributiv gorizontalnoyu riskoyu Sutnosti mozhut mati takozh zovnishni klyuchi yak chastina abo cile pervinnogo klyucha abo neklyuchovogo atributu Zasobami IDEF1 provoditsya zbirannya i vivchennya riznih sfer diyalnosti pidpriyemstva viznachennya potreb v informacijnomu menedzhmenti a takozh informaciyi j strukturi potokiv sho vlastivi diyalnosti pidpriyemstva pravil i zakoniv ruhu informacijnih potokiv i principiv keruvannya nimi vzayemozv yazkiv mizh isnuyuchimi informacijnimi potokami na pidpriyemstvi problem sho vinikayut pri neyakisnomu informacijnomu menedzhmenti i potrebuyut usunennya Odna z osoblivostej danoyi metodologiyi zabezpechennya strukturovanogo procesu analizu informacijnih potokiv pidpriyemstva i mozhlivosti zmini nepovnoyi j netochnoyi strukturi informaciyi na procesi modelyuvannya informacijnoyi strukturi pidpriyemstva Instrumentalna pidtrimka SSADM Golovnij instrument strukturnogo proyektuvannya vidpovidno do procesiv ZhC kompleks programnih metodichnih j organizacijnih zasobiv sistemi SSADM Cya sistema prijnyata derzhavnimi organami Velikoyi Britaniyi yak osnovnij sistemnij zasib i vikoristovuyetsya bagatma derzhavnimi organizaciyami i v mezhah i za mezhami krayini SSADM mistit u sobi p yat golovnih moduliv pidtrimki yak procesiv ZhC z proyektuvannya PP 1 vivchennya mozhlivosti vikonannya proyektu Feasibility Study Module 2 analiz vimog Requirements Analysis Module 3 specifikaciya vimog Requirements Specification Module 4 logichna specifikaciya sistemi Logical System Specification Module 5 fizichne proyektuvannya Physical Design Module Proyektuvannya za dopomogoyu sistemi SSADM peredbachaye sukupnist zahodiv z rozrobki naboru proyektnih dokumentiv v umovah vikoristannya vidpovidnih resursiv pri zadanih obmezhennyah na vartist rozrobki Dlya keruvannya hodom rozrobki proyektu rozglyadayutsya proyektni roboti i dokumenti organizaciya i plani rozrobki zahodi shodo keruvannya proyektom ta zabezpechennya yakosti Rozriznyayutsya dva tipi proyektnih robit zabezpechennya vimog koristuvacha do yakosti sistemi keruvannya rozrobkoyu proyektu Strukturna model ohoplyuye vsi moduli j stadiyi tehnologiyi SSADM zabezpechuye oderzhannya odnih dokumentiv na pidstavi inshih shlyahom logichnih peretvoren Inshimi slovami odna sukupnist dokumentiv peretvoryuyetsya na inshu Dlya vstanovlennya poslidovnosti robit i zahodiv z zabezpechennya yakosti rozroblyayetsya sitkovij grafik robit Zabezpechennya yakosti realizuyetsya grupoyu yakosti sho vidpovidaye za pidtrimku cilisnosti proyektu V nij pracyuyut fahivci vidpovidalni za funkcionuvannya organizaciyi planoviki ekonomisti koristuvachi sistemi j rozrobniki yaki berut uchast u proyekti vid pochatku do kincya Planoviki j ekonomisti slidkuyut za svoyechasnim vikonannyam i finansuvannyam robit koristuvachi visuvayut vimogi ta propoziciyi a rozrobniki virazhayut yihni potrebi v ramkah svoyeyi kompetenciyi Dlya keruvannya proyektom stvoryuyetsya sluzhba pidtrimki proyektu sho vikonuye ryad administrativnih funkcij abo specialnih robit Vona zdijsnyuye ekspertizu pri ocinyuvanni planuvanni i keruvanni proyektom a takozh provodit zahodi z keruvannya konfiguraciyeyu sutnist yakih polyagaye u vidstezhenni proyektnih dokumentiv i zabezpechenni informaciyi pro yihnij stan u procesi rozroblennya Problema yakosti stosuyetsya dvoh osnovnih aspektiv 1 sukupnosti funkcij sho povinni zadovolnyati zadani vimogi do funkcij nadijnosti j produktivnosti 2 sposobu realizaciyi sistemi Yakist zabezpechuyetsya shlyahom perevirki zaznachenih u vimogah pokaznikiv yakosti ekonomichnist gnuchkist zdatnist do zmini modulnist pravilnist nadijnist perenosnist efektivnist Kontrol yakosti produktu ce perevirka vidpovidnosti zadanim standartam i vimogam Vin mistit u sobi diyi yaki dozvolyayut pereviriti i vimiryati pokazniki yakosti Visoka yakist produktu oznachaye sho sistema konstruyuvalasya vidpovidno do vstanovlenih standartiv yaki polegshuyut proces yiyi rozroblennya suprovodzhennya ta modifikaciyi pri zmini vimog abo vnesenni vipravlen u sistemu z minimumom vitrat Ideologiya strukturnogo proyektuvannya vtilena v ryadi CASE zasobiv SilverRun Oracle Disigner ErWin j in sho aktivno vikoristovuyetsya na praktici UML metod modelyuvannya Dokladnishe Unified Modeling LanguageOsvitaU 2004 roci IEEE zaproponuvalo spilnoti proyekt SWEBOK cej proyekt viznachaye nabir znan yaki povinen mati inzhener z programnogo zabezpechennya sho vchivsya 4 roki Bagato inzheneriv popadayut v profesiyu otrimavshi profilnu vishu osvitu abo osvitu v riznih navchalnih centrah Okrim universitetskih program studenti mayut mozhlivist potrapiti na praktiku ta navchannya do bagatoh IT kompanij Pid chas takih praktik studenti otrimuyut dosvid roboti z realnimi zavdannyami Metodi ob yektnogo analizu i modelyuvannyaProyektuvannya arhitekturi programnih sistem Proyektuvannya arhitekturi programnogo zabezpechennya ce proces rozroblennya sho vikonuyetsya pislya etapu analizu i formuvannya vimog Zadacha takogo proyektuvannya peretvorennya vimog do sistemi u vimogi do PZ i pobudova na yihnij osnovi arhitekturi sistemi Arhitektura sistemi ce strukturna shema komponentiv sistemi vzayemodiyuchih mizh soboyu cherez interfejsi Komponenti mozhut skladatisya z poslidovnosti bilsh dribnih komponentiv ta interfejsiv Rozroblennya arhitekturi gruntuyetsya na zagalnih dovidnikah klasifikatorah ta in U nij identifikuyutsya zagalni chastini sistemi u tomu chisli gotovi programni produkti i zanovo rozrobleni komponenti a takozh bagatorazovo vikoristovuvani v inshih zastosuvannyah Pobudova arhitekturi sistemi zdijsnyuyetsya shlyahom viznachennya cilej sistemi yiyi vhidnih i vihidnih danih dekompoziciyi sistemi na pidsistemi komponenti abo moduli ta rozroblennya yiyi zagalnoyi strukturi Osnovni rozv yazki shodo strukturi sistemi prijmayutsya grupoyu arhitektoriv i analitikiv Voni peredayut okremi chastini sistemi dlya realizaciyi nevelikim grupam rozrobnikiv Arhitekturu sistemi viznachayut takozh yak mnozhinu predstavlen kozhne z yakih vidbivaye deyakij aspekt sho cikavit grupu uchasnikiv proyektu analitikiv proyektuvalnikiv kincevih koristuvachiv ta in Predstavlennya fiksuyut proyektni rishennya shodo strukturi i podilu PS programni sistemi na okremi komponenti ta viznachennya zv yazkiv mizh nimi Na ci rishennya vplivayut vimogi do funkcij i seredovisha Proyektuvannya arhitekturi sistemi mozhe provoditisya riznimi metodami standartizovanim ob yektno oriyentovanim komponentnim i in kozhnij z yakih proponuye svij shlyah pobudovi arhitekturi a same viznachennya konceptualnoyi ob yektnoyi j inshih modelej za dopomogoyu vidpovidnih konstruktivnih elementiv blok shem grafiv strukturnih diagram tosho Pri zastosuvanni ob yektno oriyentovanogo pidhodu komponentami ye okremi ob yekti a proces konstruyuvannya ob yektnoyi strukturi peretvoryuyetsya v proces viyavlennya nayavnih u PrO predmetna oblast ob yektiv i viznachennya scenariyu yihnogo vikonannya i vzayemodiyi Standartizovanij i ob yektno oriyentovanij pidhodi do proyektuvannya vikoristovuyut vidpovidni sformovani tehnologiyi proyektuvannya programnih sistem PrimitkiSWEBOK executive editors Alain Abran James W Moore editors Pierre Bourque Robert Dupuis 2004 Pierre Bourque and Robert Dupuis red Guide to the Software Engineering Body of Knowledge 2004 Version IEEE Computer Society s 1 1 ISBN 0 7695 2330 7 Laplante Phillip 2007 What Every Engineer Should Know about Software Engineering Boca Raton CRC ISBN 9780849372285 Procitovano 21 sichnya 2011 Peter Naur Brian Randell 7 11 October 1968 Software Engineering Report of a conference sponsored by the NATO Science Committee PDF Garmisch Germany Scientific Affairs Division NATO Procitovano 26 grudnya 2008 10 serpnya 2001 The 1968 69 NATO Software Engineering Reports Brian Randell s University Homepage The School of the Computer Sciences Newcastle University Arhiv originalu za 16 lipnya 2013 Procitovano 11 zhovtnya 2008 The idea for the first NATO Software Engineering Conference and in particular that of adopting the then practically unknown term software engineering as its deliberately provocative title I believe came originally from Professor Fritz Bauer Lavrisheva K M Programna inzheneriya http www programsfactory univ kiev ua content books 2 29 26 lyutogo 2012 u Wayback Machine Lavrisheva K M Programna inzheneriya http www programsfactory univ kiev ua content books 2 30 26 lyutogo 2012 u Wayback Machine LiteraturaMetody programmirovaniya Teoriya praktika inzheneriya Lavrisheva E M Naukova dumka 2006 471s ros Metody i sredstva inzhenerii programmnogo obespecheniya Lavrisheva E M Petruhin V A Moskva MFTI 2007 415 s ros Osnovy inzhenerii kachestva programmnyh sistem Andon F I Koval G I Korotun T M Lavrisheva E M Suslov V Yu Kiev Akademperiodika 2007 680 s ros Stanovlenie i razvitie modulno komponentnoj inzhenerii program mirovaniya v Ukraine Lavrisheva E M Preprint 2008 1 In t kibernetiki im V M Glushkova 33 s ros Viznachennya predmetu programna inzheneriya Lavrisheva K M Problemi programuvannya Specvipusk 2008 2 3 s 191 204 Programna inzheneriya Lavrisheva K M Pidruchnik K Akademperiodika 2008 319 s Inzheneriya programmnogo obespecheniya 6 izdanie Sommervill I Moskva Vilyams 2002 ros