CASE-технології розробки програмного забезпечення
Размещено на http://www.
МІНІСТЕРСТВО ОСВІТИ ТА НАУКИ УКРАЇНИ
Київський національний університет технологій та дизайну
Реферат
на тему
«CASE-технології розробки програмного забезпечення»
Виконала: студентка IV курсу
факультету ІЕ гр. БІЕ-4-07
Брусенська Катерина Валентинівна
Київ 2011
Тенденції розвитку сучасних інформаційних технологій призводять до постійного зростання складності інформаційних систем (ІС), створюваних у різних галузях.
Для успішної реалізації проекту об'єкт проектування повинен бути насамперед адекватно описаний, повинні бути побудовані повні і несуперечливі функціональні й інформаційні моделі ІС. Крім того, у процесі створення і функціонування ІС інформаційні потреби користувачів можуть змінюватися чи уточнюватися, що ще більш ускладнює розробку і супровід таких систем.
Приблизно чверть століття тому швидко зростаючий обсяг і складність систем вступили в явне протиріччя з відсутністю єдиного підходу до їх аналізу і проектування, неучастю користувача в процесі розробки, непогодженістю різних етапів розробки. Помилок було багато й обходилися вони дуже дорого. Модульне і структурне програмування, логічне моделювання структур баз даних, схеми потоків даних і проектування "зверху вниз" при всій початковій ейфорії, узагалі ж, залишилися внутрішньою справою розроблювачів. Проблема була глибше - потрібно було якось об'єднати замовників, розроблювачів, програмістів, користувачів - причому в умовах постійно мінливої ситуації. А для того, щоб про щось домовитися, потрібна якась спільна мова. Природна мова в силу малої наочності, неоднозначності, надмірності і багатослівності для цієї ролі не пасувала, і, зрештою, почалися спроби створення чіткої графічної мови.
Перераховані фактори сприяли появі програмно-технологічних засобів спеціального класу - CASE-засобів, що реалізують CASE-технологію створення і супроводу ІС. Термін CASE (Computer Aided Software Engineering) використовується в даний час у дуже широкому сенсі. Первісне значення терміна CASE, обмежене питаннями автоматизації розробки тільки лише програмного забезпечення (ПЗ), у даний час набуло нового сенсу, що охоплює процес розробки складних ІС у цілому. Тепер під терміном CASE-засобу розуміються програмні засоби, що підтримують процеси створення і супроводу ІС, включаючи аналіз і формулювання вимог, проектування прикладного ПЗ (додатків) і баз даних, генерацію коду, тестування, документування, забезпечення якості, конфігураційне управління і управління проектом, а також інші процеси. CASE-засоби разом із системним ПЗ і технічними засобами утворять повне середовище розробки ІС.
Появі CASE-технології і CASE-засобів передували дослідження в області методології програмування. Програмування знайшло риси системного підходу з розробкою і впровадженням мов високого рівня, методів структурного і модульного програмування, мов проектування і засобів їх підтримки, формальних і неформальних мов описів системних вимог і специфікацій і т.д. Крім того, появі CASE-технології сприяли і такі фактори, як:
· підготовка аналітиків і програмістів, сприйнятливих до концепцій модульного і структурного програмування;
· широке впровадження і постійний ріст продуктивності комп'ютерів, що дозволили використовувати ефективні графічні засоби й автоматизувати більшість етапів проектування;
· упровадження мережної технології, що надала можливість об'єднання зусиль окремих виконавців у єдиний процес проектування шляхом використання поділюваної бази даних, що містить необхідну інформацію про проект.
CASE-технологія являє собою методологію проектування ІС, а також набір інструментальних засобів, що дозволяють у наочній формі моделювати предметну область, аналізувати цю модель на всіх етапах розробки і супроводу ІС і розробляти додатка відповідно до інформаційних потреб користувачів. Більшість існуючих CASE-засобів засновано на методологіях структурного (в основному) чи об'єктно-орієнтованого аналізу і проектування, що використовують специфікації у виді чи діаграм текстів для опису зовнішніх вимог, зв'язків між моделями системи, динаміки поводження системи й архітектури програмних засобів.
При використанні методологій структурного аналізу з'явився ряд обмежень (складність розуміння, велика трудомісткість і вартість використання, незручність внесення змін у проектні специфікації і т.д.) Із самого початку CASE-технології і розвивалися з метою подолання цих обмежень шляхом автоматизації процесів аналізу й інтеграції підтримуючих засобів. Вони мають достоїнства і можливостями, перерахованими нижче.
Єдина графічна мова. CASE-технології забезпечують всіх учасників проекту, включаючи замовників, єдиною строгою, наочною і інтуїтивно зрозумілою графічною мовою, що дозволяє одержувати доступні для огляду компоненти з простій і ясну структуру. При цьому програми представляються двовимірними схемами (які простіше використовувати, ніж багато сторінок текстового опису), що дозволяють замовнику брати участь у процесі розробки, а розроблювачам - спілкуватися з експертами предметної області, розділяти діяльність системних аналітиків, проектувальників і програмістів, полегшуючи їм захист проекту перед керівництвом, а також забезпечуючи легкість супроводу і внесення змін у систему.
Єдина БД проекту. Основа CASE-технології - використання бази даних проекту (репозиторію) для збереження всієї інформації про проект, що може розділятися між розроблювачами відповідно до їхніх прав доступу.. Уміст репозиторію включає не тільки інформаційні об'єкти різних типів, але і відносини між їх компонентами, а також правила чи використання обробки цих компонентів..Репозиторій може зберігати понад 100 типів об'єктів: структурні діаграми, визначення екранів і меню, проекти звітів, опису даних, логіка обробки, моделі даних, їхні організації й обробки, вихідні коди, елементи даних і т.п..
Інтеграція засобів. На основі репозиторію здійснюється інтеграція CASE-засобів і поділ системної інформації між розроблювачами.. При цьому можливості репозиторію забезпечують кілька рівнів інтеграції: спільний користувальницький інтерфейс по всіх засобах, передачу даних між засобами, інтеграцію етапів розробки через єдину систему представлення фаз життєвого циклу, передачу данихх и средств между различными платформами.
Підтримка колективної розробки й управління проектом. CASE-технологія підтримує групову роботу над проектом, забезпечуючи можливість роботи в мережі, експорт-імпорт будь-яких фрагментів проекту для їхнього розвитку і/чи модифікації, а також планування, контроль, адміністрування і взаємодія, тобто функції, необхідні в процесі розробки і супроводу проектів. Ці функції також реалізуються на основі репозиторію. Зокрема, через репозиторій може здійснюватися контроль безпеки (обмеження і привілеї доступу), контроль версій і змін і ін.
Макетування. CASE-технологія дає можливість швидко будувати макети (прототипи) майбутньої системи, що дозволяє замовнику на ранніх етапах розробки оцінити, наскільки вона прийнятна для майбутніх користувачів і влаштовує його.
Генерація документації. Уся документація у проекті генерується автоматично на базі репозиторію (як правило, відповідно до вимог діючих стандартів). Безсумнівне достоїнство CASE-технології полягає в тім, що документація завжди відповідає поточному стану справ, оскільки будь-які зміни в проекті автоматично відбиваються в репозиторії (відомо, що при традиційних підходах до розробки ПО документація в кращому випадку запізнюється, а ряд модифікацій узагалі не знаходить у ній відображення).
Верифікація проекту. CASE-технологія забезпечує автоматичну верифікацію і контроль проекту на повноту і переконливість на ранніх етапах розробки, що впливає на успіх розробки в цілому - по статистичним даним аналізу п'яти великих проектів фірми TRW (США) помилки проектування і кодування складають відповідно 64% і 32% від спільного числа помилок, а помилки проектування в 100 разів сутужніше знайти на етапі супроводу ПО, чим на етапі аналізу вимог.
case інформаційна технологія програмне забезпечення
Автоматична генерація об'єктного коду. Генерація програм у машинному коді здійснюється на основі репозиторію і дозволяє автоматично побудувати до 85-90% об'єктного чи коду текстів на мовах високого рівня.
Супровід і реінжинірінг. Супровід системи в рамках CASE-технології характеризується супроводом проекту, а не програмних кодів. Засоби реінжинірінга і зворотного інжиніринга дозволяють створювати модель системи з її кодів і інтегрувати отримані моделі в проект, автоматично обновляти документацію при зміні кодів, автоматично змінювати специфікації при редагуванні кодів і т.п.
У випадку взаємодії розроблювачів системи з користувачами, основною на етапі аналізу є проблема, пов'язана з взаємодією з замовником, тому що вони розмовляють "на різних мовах", що мають надто багато подробиць, що є несуттєвими для іншої сторони. У цьому відношенні неоціненною перевагою CASE-підходу є надання "універсальної" графічної мови різного роду діаграм, що підпорядковані певним нотаціям. Застосування стандартних нотацій забезпечує читабельність програм, а також можливість переносу частин (чи всього проекту) в інші CASE-засоби. Таким чином, кінцевому користувачу продукту (замовнику) зовсім не обов'язково володіти всіма премудростями розроблювача, за допомогою CASE-підходу і замовник і розроблювач будуть розуміти один одного однозначно.
У структурному аналізі використовуються в основному три групи засобів, що ілюструють функції, виконувані системою і відносини між даними. Кожній групі засобів відповідають певні види моделей (діаграм), найбільш розповсюдженими серед який є наступні:
· SADT (Structured Analysis and Design Technique) моделі і відповідні функціональні діаграми;
· DFD (Data Flow Diagrams) діаграми потоків даних;
· STD (State Transition Diagrams) діаграми переходів станів;
· ERD (Entity-Relationship Diagrams) діаграми "сутність-зв'язок".
У залежності від спрямованості CASE-продукту, він може підтримувати різного роду діаграми.
На стадії проектування ІС моделі розширюються, уточнюються і доповнюються діаграмами, що відбивають структуру програмного забезпечення: архітектуру ПЗ, структурні схеми програм і діаграми екранних форм.
Перераховані моделі в сукупності дають повний опис ІС незалежно від того, чи є вона існуючої чи знову розроблювальної. Склад діаграм у кожнім конкретному випадку залежить від необхідної повноти опису системи.
Для рішення задачі функціонального моделювання на базі структурного аналізу традиційно застосовуються два типи моделей: SADT-діаграми і діаграми потоків даних.
DFD - показують зовнішні джерела і стоки даних, визначають процеси обробки і потоки даних, ідентифікують сховища даних (накопичувачі). Структура потоків даних зберігається в Словнику даних. Будь-яка DFD може бути деталізована DFD нижнього рівня і т.д. поки доцільна деталізація.
У випадку наявності в модельованій системі програмної частини (тобто практично завжди) перевага, як правило, віддається DFD по наступним розуміннях.
1) DFD із самого початку створювалися як засіб проектування програмних систем (тоді як SADT - як засіб проектування систем узагалі) і мають більш багатий набір елементів, що адекватно відбивають їхню специфіку (наприклад, сховища даних є прообразами файлів чи баз даних).
2) Наявність міні-специфікацій DFD-процесів нижнього рівня дозволяє перебороти логічну незавершеність SADT (а саме обрив моделі на деякому досить низькому рівні, коли подальша її деталізація стає безглуздою) і побудувати повну функціональну специфікацію розроблювальної системи.
3) Існують (і підтримуються поруч CASE-пакетів) алгоритми автоматичного перетворення ієрархії DFD у структурні карти, що демонструють міжмодульні і внутрімодульні зв'язки, а також ієрархію модулів, що в сукупності з міні-специфікаціями є завершеним завданням для програміста.
Нарешті, у частині автоматизованої підтримки моделей приблизно 85-90% існуючих CASE-пакетів підтримують DFD і лише 2-3% - SADT.
Традиційний підхід до моделювання аспектів поведінки системи ґрунтується на розширенні діаграм потоків даних за рахунок введення керуючих потоків (сигналів) і керуючих процесів, що фактично є інтерфейсом між DFD і специфікаціями управління, власне моделююче поводження. Найбільше часто специфікації управління формалізуються за допомогою діаграм переходів станів (STD - state transition diagrams), що дозволяють задавати стану різних об'єктів системи (наприклад, особовий рахунок може мати стану ВІДКРИТИЙ, ЗАКРИТИЙ, ЗАБЛОКОВАНИЙ і т.п.), умови переходів з одного стану в інше (як зовнішні стосовно системи, так і внутрішні, виникаючі в самій системі), а також чинені при переходах дії.
Для цілей інформаційного моделювання на сьогоднішній день не існує альтернативи діаграмам "сутність-зв'язок" (ERD - entity-relationship diagrams).
Вміст накопичувача даних зберігається в Словнику даних і розкривається за допомогою ERD (даної діаграми в основному використовуються при проектуванні БД, зокрема продуктом Logic Works - ERWin- засобом для розробки моделей даних). У випадку наявності реального часу DFD доповнюються STD.
Сучасні CASE-засоби охоплюють велику галузь підтримки численних технологій проектування ІС: від простих засобів аналізу і документування до повномасштабних засобів автоматизації, що покривають весь життєвий цикл ПЗ.
У разряд CASE-засобів попадають як відносно дешеві системи для персональних комп'ютерів з дуже обмеженими можливостями, так і дорогі системи для неоднорідних обчислювальних платформ і операційних середовищ. Так, сучасний ринок програмних засобів нараховує близько 300 різних CASE-засобів, найбільш могутні з який так чи інакше використовуються практично усіма ведучими західними фірмами.
Звичайно до CASE-засобів відносять будь-який програмний засіб, що автоматизує ту чи іншу сукупність процесів життєвого циклу ПЗ та мають наступні основні характерні риси:
· могутні графічні засоби для опису і документування ІС, що забезпечують зручний інтерфейс із розроблювачем і розвиваючі його творчі можливості;
· інтеграція окремих компонентів CASE-засобів, що забезпечує керованість процесом розробки ІС;
· використання спеціальним образом організованого сховища проектних метаданих (репозиторію).
Інтегрований CASE-засіб (чи комплекс засобів, що підтримують повний ЖЦ ПЗ) містить наступні компоненти;
· репозиторій, що є основою CASE-засобу. Він повинен забезпечувати збереження версій проекту і його окремих компонентів, синхронізацію надходження інформації від різних розроблювачів при груповій розробці, контроль метаданих на повноту і несуперечність;
· графічні засоби аналізу і проектування, що забезпечують створення і редагування ієрархічно зв'язаних діаграм (DFD, ERD і ін.), що утворять моделі ІС;
· засоби розробки додатків, включаючи мови 4GL і генератори кодів;
· засоби конфігураційного управління;
· засоби документування;
· засоби тестування;
· засоби управління проектом;
· засоби реінжинірінга.
Усі сучасні CASE-засоби можуть бути класифіковані в основному за типами і категоріями. Класифікація по типах відбиває функціональну орієнтацію CASE-засобів на ті чи інші процеси ЖЦ. Класифікація по категоріях визначає ступінь інтегрованості по виконуваних функціях і включає окремі локальні засоби, що вирішують невеликі автономні задачі (tools), набір частково інтегрованих засобів, що охоплюють більшість етапів життєвого циклу ІС (toolkit) і цілком інтегровані засоби, що підтримують весь ЖЦ ІС і пов'язані спільним репозиторієм. Крім цього, CASE-засоби можна класифікувати за наступними ознаками:
· застосовуваним методологіям і моделям систем і БД;
· ступенем інтегрованості із СУБД;
· доступним платформам.
Класифікація по типах в основному збігається з компонентним складом CASE-засобів і включає наступні основні типи:
· засоби аналізу (Upper CASE), призначені для побудови й аналізу моделей предметної галузі (Design/IDEF, BPwin);
· засоби аналізу і проектування (Middle CASE), що підтримують найбільш розповсюджені методології проектування і, що використовуються для створення проектних специфікацій (Vantage Team Builder, Designer/2000, Silverrun, PRO-IV, CASE.Аналітик). Виходом таких засобів є специфікації компонентів і інтерфейсів системи, архітектури системи, алгоритмів і структур даних;
· засоби проектування баз даних, що забезпечують моделювання даних і генерацію схем баз даних (як правило, мовою SQL) для найбільш розповсюджених СУБД. До них відносяться ERwin, S-Designor і DataBase Designer (ORACLE). Засобу проектування баз даних маються також у складі CASE-засобів Vantage Team Builder, Designer/2000, Silverrun і PRO-IV;
· засоби розробки додатків. До них відносяться засоби 4GL (Uniface, JAM, PowerBuilder, Developer/2000, New Era, SQLWindows, Delphi і ін.) і генератори кодів, що входять до складу Vantage Team Builder, PRO-IV і частково - у Silverrun;
· засоби реінжинірінга, що забезпечують аналіз програмних кодів і схем баз даних і формування на їхній основі різних моделей і проектних специфікацій. Засобу аналізу схем БД і формування ERD входять до складу Vantage Team Builder, PRO-IV, Silverrun, Designer/2000, ERwin і S-Designor. У галузі аналізу програмних кодів найбільше поширення одержують об'єктно-орієнтовані CASE-засоби, що забезпечують реінжинірінг програм мовою C++ (Rational Rose, Object Team).
Допоміжні типи включають:
· засоби планування й управління проектом (SE Companion, Microsoft Project і ін.);
· засоби конфігураційного управління (PVCS, SCCS і ін.);
· засоби тестування (Quality Works і ін.).
На сьогоднішній день ринок програмного забезпечення має у своєму розпорядженні наступними найбільш розвинені CASE-засоби:
· Vantage Team Builder (Westmount I-CASE);
· Designer/2000;
· Silverrun;
· ERwin+BPwin;
· S-Designor;
· CASE.Аналітик;
· Rational Rose.
Література
Ананьєв, О.М. Інформаційні системи і технології в комерційній діяльності / Навчальний посібник / О. М. Ананьєв, В. М. Білик, Я. А. Гончарук. - Львів: Новий Світ-2000, 2006. - 584 с.
Антонов, В.М. Фінансовий менеджмент: сучасні інформаційні технології: навчальний посібник / В. М. Антонов, Г. К. Яловий; ред. В. М. Антонов; Мін-во освіти і науки України, КНУ ім.Т.Г.Шевченка. - К.: ЦНЛ, 2005. - 432 с.
Олійник, А.В. Інформаційні системи і технології у фінансових установах: навчальний посібник / А. В. Олійник, В. М. Шацька. - Львів: Новий Світ-2000, 2006. - 436 с.
Черняк, О.І. Системи обробки економічної інформації: підручник / О. І. Черняк, А. В. Ставицький, Г. О. Чорноус. - К.: Знання, 2006. - 447 с.
Білик В.М., Костирко В.С. Інформаційні технології та системи: навч. посібник. – К.: Центр навчальної літератури, 2006. – 232 с.