- •Тема 3. Технологічні засоби автоматизованого проектування інформаційних систем
- •1. Принципи проектування інформаційних систем
- •1) Принцип системного підходу
- •2. Поняття життєвого циклу іс
- •3. Етапи розвитку інженерії програмного забезпечення іс
- •1 Етап. Класичний підхід до розроблення програмного забезпечення (пз) іс.
- •2 Етап. Методи програмної інженерії.
- •3 Етап. Case-технологія.
- •4. Класифікація case-засобів за функціональним призначенням
3. Етапи розвитку інженерії програмного забезпечення іс
Термін «програмна інженерія» вперше був застосований у 1968 р. на конференції з цієї проблематики NATO Software Engineering Conference.
Програмна інженерія, або інжиніринг програмного забезпечення, (Software Engineering) – систематичний, дисциплінований, вимірюваний підхід до розроблення використання та підтримки програм.
Тим самим було визначено дисципліну, яка мала пришвидшити створення програмного забезпечення вищої якості, дешевшого за вартістю та легшого у супроводі.
У своєму становленні програмна інженерія пройшла три етапи.
1 Етап. Класичний підхід до розроблення програмного забезпечення (пз) іс.
До 1970-х років процес створення програм розглядався як творчий процес, що не підлягає контролю і не може бути стандартизований.
Характерні риси класичного підходу: неформальні методи, брак стандартизації і мінімум документації, яку розробляли після завершення створення системи.
На початку 1970-х років почали застосовувати методи управління проектами на базі моделей життєвого циклу ІС, що забезпечило деяку впорядкованість розроблення ПЗ. Проект розбивають на кілька стадій, кожна з яких має чіткі цілі і завдання, результати виконання яких можна перевірити, і забезпечує підгрунтя переходу до подальших робіт. Виконання кожної стадії супроводжується оформленням відповідної документації.
Проблеми використання методів життєвого циклу:
недостатній ступінь формалізації, що породжує неузгодженість елементів ПЗ;
відсутність ефективного супроводу розроблення і модернізації ІС.
2 Етап. Методи програмної інженерії.
Наприкінці 1970-х – початку 1980-х рр. з’явились методи програмної інженерії, які поділяють на такі категорії:
евристичні методи, що включають неформалізовані підходи. Це структурно-орієнтовані (функціонально-орієнтовані), об’єктно-орієнтовані, зорієнтовані на дані, та зорієнтовані на область застосування методи;
формальні методи, обгрунтовані математично. До цієї категорії відносять мови специфікацій, зорієнтовані на модель, властивості або поведінку; підходи до уточнення специфікацій (трансформації у кінцевий результат, максимально близький до бажаного – виконуваний програмний продукт); підходи підтвердження точності характеристик (початкових припущень та отримуваного продукту) із використанням теорем і перевіркою точності моделей;
методи прототипування, що включають стилі прототипування (створення тимчасових прототипів, еволюційне прототипування, розроблення виконуваних специфікацій); техніки оцінювання результатів прототипування.
3 Етап. Case-технологія.
Неавтоматизоване (ручне) проектування ІС породжує низку проблем:
Пов’язаних з виконанням проекту:
запізнення реалізації;
суттєве перевищення бюджету проекту.
Пов’язаних з якістю розробленого ПЗ:
неадекватна специфікація вимог;
складність виявлення помилок у проектних рішеннях;
неадекватне виконання і низький рівень надійності ПЗ;
неузгодженість структурних частин системи (підсистем, задач, файлів, баз даних);
висока вартість, трудомісткість і ризикованість модифікації.
Пов’язаних з якістю проектної документації на систему:
неузгодженість, дублювання проектних рішень у різних проектних документах;
неповнота;
неможливість простежити за документацією цілісну реакцію системи на зміну окремого елемента.
Необхідність розв’язання вказаних проблем зумовила, а поширення персональних комп’ютерів у середині 1980-х років уможливило появу спеціалізованих програмно-технологічних засобів – CASE-систем, які реалізують CASE-технології створення і супроводження ІС.
CASE-технологія (Computer-Aided Software/System Engineering) являє собою сукупність методологій аналізу, проектування, розробки й супроводження складних систем програмного забезпечення (ПЗ), підтриману комплексом взаємозв’язаних засобів автоматизації. CASE надає системним аналітикам, проектувальникам і програмістам інструментарій для автоматизації проектування і розробки ПЗ.
До CASE-засобів зазвичай відносять будь-який програмний засіб, що забезпечує автоматичну допомогу в процесі розробки ПЗ, його супроводженні, а також під час управління проектом.
Сучасні CASE-засоби характеризуються такими властивостями:
застосування потужної графіки для представлення і документування систем ПЗ, а також для покращання інтерфейсу з користувачем;
використання комп’ютерного сховища, або репозиторію - бази даних CASE, в якій зберігається вся проектна інформація;
інтеграція інформації і інструментальних засобів, що дає змогу керувати всім процесом проектування і розробки ПЗ, використовуючи засоби планування проекту;
застосування базових програмних засобів різного призначення (бази даних і СКБД, компілятори, налагоджувачі, документатори, текстові редактори, оболонки експертних систем і бази знань, мови четвертого покоління і т.ін.);
автоматична кодогенерація, призначена для одержання виконуваних машинних кодів із специфікацій ПЗ;
обмеження складності з метою одержання керованих компонентів системи з простою структурою і доступних для огляду і розуміння;
гнучкість, яка забезпечує здатність до адаптації при зміні вимог і цілей проекту.
