Основні принципи та концептуальні засади CASE-технологій

Тенденції сучасних інформаційних технологій ведуть до постійного ускладнення інформаційних систем (ІС), що створюються в різних галузях економіки. Сучасні великі проекти ІС мають, як правило, такі особливості:

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

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

— відсутність прямих аналогів, що обмежує використання якихось типових проектних рішень та прикладних систем;

— необхідність інтеграції додатків, що існують та тільки розробляються;

— функціонування в неоднорідному середовищі на різних апаратних платформах;

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

— істотна тривалість проекту зумовлена, з одного боку, обмеженими можливостями колективу розробників та, з другого боку, масштабами організації замовника і різними рівнями готовності її підрозділів до впровадження ІС.

Для успішного впровадження проекту об’єкт проектування (ІС) має бути, передусім, адекватно описаний, мають бути побудовані повні та несуперечливі функціональні та інформаційні моделі ІС. Накопичений досвід свідчить, що це логічно складна, трудомістка та тривала робота. Вона потребує високої кваліфікації спеціалістів, які беруть у ній участь.

У 70-х та 80-х роках за розроблення ІС досить широко застосовували структурну методологію. Але її використання для проектування ІС викликало ряд проблем, зумовлених, зокрема, значним обсягом ручної роботи:

— неадекватна специфікація вимог;

— нездатність виявляти помилки в проектних рішеннях;

— низька якість документації, що знижує експлуатаційні властивості;

— затяжний цикл та незадовільні результати тестування.

Перераховані вище проблеми спонукали до появи програмно-технологічних засобів спеціального типу — CASE-засобів, що реалізують CASE-технологію створення та супроводження ІС [11, 36]. Термін CASE (Computer Aided Software Engineering (комп’ютерна підтримка інженерії програмного забезпечення), а за іншою версією — Computer Aided System Engineering (комп’ютерна підтримка інженерії систем)) використовується зараз у досить широкому розумінні. Нині під терміном CASE-засоби розуміють програмні засоби, що підтримують процеси створення та супроводження ІС, враховуючи аналіз та формулювання вимог, проектування прикладного ПЗ (додатків) та баз даних, генерування коду, тестування, документування, забезпечення якості, конфігураційне керування та управління проектом, а також інші процеси.

CASE-технологія є методологією проектування ІС, а також набором інструментальних засобів, що уможливлюють у наочній формі моделювання будь-якої проблемної галузі, аналіз цієї моделі на всіх етапах розроблення та супроводження ІС та розроблення додатків відповідно до інформаційних потреб користувачів. Більшість існуючих CASE-засобів ґрунтуються на методо­логіях структурного (головно) та об’єктно орієнтованого аналізу і проектування, що використовують специфікації у вигляді діаграм або текстів для описування зовнішніх вимог, зв’язків між моделями системи, динаміки поведінки системи та структури програмних засобів.

Сучасні CASE-засоби охоплюють широкий діапазон підтримки численних технологій проектування: від простих засобів аналізу і документування до повномасштабних засобів автоматизації. До CASE-засобів належать як відносно дешеві системи для персональних комп’ютерів з дуже обмеженими можливостями, так і дорогі системи для неоднорідних обчислювальних платформ і операційних середовищ. Так, сучасний ринок програмних засобів нараховує близько 300 різних CASE-засобів, найпотужніші з яких певною мірою використовуються практично усіма провідними західними фірмами.

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

· потужні графічні засоби для описування і документування, що забезпечують зручний інтерфейс із розробником і розвивають його творчі можливості;

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

· використання у спеціальний спосіб організованого сховища проектних метаданих (репозиторію).

Інтегрований CASE-засіб (чи комплекс засобів) містить такі компоненти;

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

· графічні засоби аналізу і проектування, що забезпечують створення і редагування ієрархічно зв’язаних діаграм (DFD, ERD тощо);

· засоби розроблення додатків, включаючи мови 4GL і генератори кодів;

· засоби конфігураційного керування;

· засоби документування;

· засоби тестування;

· засоби керування проектом;

· засоби реінжинірингу.

Усі сучасні CASE-засоби можуть бути класифіковані, головно, за типами і категоріями. Класифікація за типами відображує функціональну орієнтацію CASE-засобів на різні процеси моделі. Класифікація за категоріями визначає рівень інтегрованості за функціями, що можуть виконуватися, і включає окремі локальні засоби, які розв’язують невеликі автономні задачі (tools), набір частково інтегрованих засобів, що охоплюють більшість етапів моделювання системи (toolkit) і цілком інтегровані засоби, що підтримують весь цикл аналізу та проектування системи і зв’язані загальним репозиторієм. Крім цього, CASE-засоби можна класифікувати за такими ознаками:

· методологіями і моделями систем та БД, що застосовуються в CASE-засобах;

· рівнем інтегрованості із СУБД;

· доступними платформами.

Класифікація за типами переважно збігається з компонентним складом CASE-засобів та включає такі основні типи:

· засоби аналізу (Upper CASE), призначені для побудови й аналізу моделей проблемної галузі (Design/IDEF (Meta Software), BPwin (Logic Works));

· засоби аналізу і проектування (Middle CASE), що підтримують найрозповсюдженіші методології проектування і, які використовують для створення проектних специфікацій (Vantage Team Builder (Cayenne), Designer/2000 (ORACLE), Silverrun (CSA), PRO-IV (McDonnell Douglas), CASE-Аналітик (Макропроджект)). Виходом таких засобів є специфікації компонентів і інтерфейсів системи, структури системи, алгоритми і структури даних;

· засоби проектування баз даних, що забезпечують моделювання даних і генерування схем баз даних (як правило, мовою SQL) для найрозповсюдженіших СУБД. До них належать ERwin (Logic Works), S-Designor (SDP) і DataBase Designer (ORACLE). Засоби проектування баз даних наявні також у складі CASE-засобів Vantage Team Builder, Designer/2000, Silverrun і PRO-IV;

· засоби розробки додатків. До них належать засоби 4GL (Uniface (Compuware), JAM (JYACC), PowerBuilder (Sybase), Developer/2000 (ORACLE), New Era (Informix), SQL Windows (Gupta), Delphi (Borland) тощо) і генератори кодів, що входять до складу Vantage Team Builder, PRO-IV і частково — до Silverrun;

· засоби реінжинірингу, що забезпечують аналіз програмних кодів і схем баз даних і формування на їхній основі різних моделей і проектних специфікацій. Засоби аналізу схем БД і формування ERD входять до складу Vantage Team Builder, PRO-IV, Silverrun, Designer/2000, ERwin і S-Designor. У сфері аналізу програмних кодів найбільше поширення отримують об’єктно орієнтовані CASE-засоби, що забезпечують реінжиніринг програм
мовою С++ (Rational Rose (Rational Software), Object Team (Cayenne)).

До допоміжних типів належать:

· засоби планування й управління проектом (SE Companion, Microsoft Project тощо);

· засоби конфігураційного управління (PVCS (Intersolv));

· засоби тестування (Quality Works (Segue Software));

· засоби документування (SoDA (Rational Software)).

Нині вітчизняний ринок програмного забезпечення має у своєму розпорядженні такі найкраще розвинуті CASE-засоби:

· Vantage Team Builder (Westmount I-CASE);

· Designer/2000;

· Silverrun;

· ERwin+BPwin;

· S-Designеr;

· CASE-Аналітик.

Крім того, на ринку постійно з’являються як нові для вітчизняних користувачів системи (наприклад, CASE /4/0, PRO-IV, System Architect, Visible Analyst Workbench, EasyCASE), так і нові версії та модифікації названих систем.