Professional Documents
Culture Documents
Case 1&2 Final
Case 1&2 Final
CASE ТЕХНОЛОГИИ
София, 2009 г.
2
3
ВАНЯ ЛАЗАРОВА
CASE ТЕХНОЛОГИИ
Computer-aided software
engineering
Учебник за специалност „Бизнес
информатика”
ISBN: 978-954-410-004-9
5
СЪДЪРЖАНИЕ
1. Определение .......................................................... 11
1.1. Предимства от използването на CASE
инструменти ............................................................ 13
1.2. Недостатъци при използването на
автоматично генериран код ................................... 14
2. UML – общи понятия .............................................. 16
2.1. История на UML ............................................... 17
2.2. Цели и сфери на приложение на UML ............ 19
3. Модели на софтуерните системи и UML
диаграми ..................................................................... 21
3.1. Класификация на моделите и типовете
UML диаграми ......................................................... 21
3.2. Дефиниране на типовете диаграми –
нотации и мета-модели .......................................... 25
4. Типове структурни UML диаграми ......................... 26
4.1. Диаграма на класовете (class diagram)........... 27
4.2. Диаграма на обектите (object diagram) ........... 31
4.3. Диаграма на съставна структура
(Composite structure diagram) ................................. 32
4.4. Диаграми на пакети (package diagram) ........... 34
6
Въведение
Настоящият учебник разглежда
различните CASE технологии, предназначени
за анализ и проектиране на бизнес
информационни системи.
В целия учебник е използвано
английското наименование CASE (Computer-
aided Software Engineering), тъй като то е
придобило известност сред информатиците и
се използва, без да се превежда на български.
Особено внимание в учебника е обърнато
на три технологии: езика UML като основно
технологично средство за автоматизирано
програмиране, на средствата за визуално и
декларативно програмиране и на средствата за
компютърно подпомагане на кодирането.
В глава 1 е дадено определение на CASE
технологиите и са обсъдени предимствата и
недостатъците на използването на UML за
автоматизирано програмиране чрез CASE
инструментите.
В глава 2 е разгледана класификацията
на типовете диаграми, които се дефинират в
UML. Разграничават се два основни класа
диаграми: структурни диаграми и
функционални диаграми.
В глави 3, 4 и 5 е направен обзор на
типовете диаграми, включени в тези два класа.
За всеки тип диаграми е разгледано тяхното
предназначение и са илюстрирани с примери.
По-подробна информация за типовете
диаграми може да бъде намерена онлайн в
сайтовете, посочени в приложение 1.
10
1. Определение
1.1. Предимства от
използването на CASE
инструменти
Някои от основните предимства от
използването на CASE инструментите са:
Увеличават продуктивността на
програмистите. CASE инструментите
осигуряват автоматизация на
програмирането и намаляват времето за
завършване на много задачи.
Програмистът се съсредоточава повече
върху логиката на програмата и по-
малко върху кодирането на тази логика.
Това е валидно само след усвояване на
работата с тези инструменти на
професионално ниво (вж. раздела за
недостатъците).
Повишават прецизността на
програмния код. Използването на
CASE инструменти води до ранното
отстраняване на дефекти. Значението на
ранното отстраняване на грешките е
много важно. По-малко усилия и време
се изразходват, ако корекциите се
направят на по-ранен етап, какъвто е
етапът на проектиране.
Намаляване на времето за
поддръжка. С използване на CASE
инструменти се създава много по-добра
документация на програмния код. Това
от своя страна води до по-бързо и по-
ефективно извършване на определени
14
3. Модели на софтуерните
системи и UML диаграми
3.1. Класификация на
моделите и типовете UML
диаграми
Общият модел на една софтуерна
система се разглежда като изграден от два
взаимодопълващи се модела:
(a) Структурен модел (structural
model), който показва структурата на
системата и подсистемите,
използвайки обекти, атрибути,
операции и връзки.
(b) Функционален модел (Functional
model), наричан още динамичен
модел (Dynamic model), който
показва функционалността на
системата и измененията на
системата във времето.
Всяка UML диаграма е частично
графично представяне на един от двата
системни модела. В UML 1.0 от 1997 г. са
дефинирани 10 типа диаграми. В UML 2.0 от
2004 г. са добавени още три типа диаграми.
Функционален модел и
функционални диаграми
Диаграма на разгръщането
(deployment diagram)
5.4. Диаграми на
взаимодействията
При диаграмите на взаимодействията
се предполага, че дейността на системата може
да се разглежда като колективна дейност на
множество от относително обособени
участници (actors). Като “участници” могат да
се дефинират програмни компоненти. Това
може да са големи подсистеми, но може да са
отделни инстанции на даден клас. Понякога
като “участници” се дефинират и лица,
взаимодействащи със системата (потребители,
администратори). Диаграмите на
взаимодействията представят графично
взаимодействия между различните участници.
“Взаимодействията” най-често са обмяна на
съобщения: заявки към даден участник да
извърши дадено действие и съобщения за
завършване на дадено действие от участник.
UML включва 4 типа диаграми на взаимо-
действията:
o Диаграма на комуникации
(communication diagrams),
o Диаграма на
последователността (Sequence
diagram),
o Времева диаграма (Timing
diagram) [UML2],
o Диаграма за преглед на
взаимодействията (Interaction
overview diagram) [UML2].
48
Диаграма на комуникациите
(communication diagrams)
Диаграмата на комуникациите
(communication diagrams) позволява свободно
разполагане на правоъгълници,
символизиращи участници, чертане на стрелки
за визуализиране на начина на свързване на
участниците и използва номериране за
последователността на съобщенията. В UML
1.x тези диаграми се наричат диаграми на
сътрудничеството (collaboration diagrams).
Диаграма на последователността
(Sequence diagram)
Диаграмата на последователността
(Sequence diagram) показва взаимодействията
между обектите, подредени във времева
последователност. Оста на времето е отгоре–
надолу.
Диаграма за преглед на
взаимодействията (Interaction
overview diagram)
Диаграмата за преглед на
взаимодействията дава възможност за
представяне на връзки между диаграми на
взаимодействията от трите типа: диаграма на
комуникациите, диаграма на последо-
вателността, времева диаграма.
Методът за конструиране на диаграмата е
подобен на този на диаграмата на
дейностите; използват се същите
моделиращи елементи – стрелки за преход,
ромб за условен преход и правоъгълници.
Всеки от правоъгълниците представя една
диаграма на взаимодействията. Диаграмата
или е нарисувана в правоъгълника, или в
правоъгълника е показано името на
диаграмата, а в горния ляв ъгъл има препратка
[ref], чрез която в нов прозорец се показва
съответната диаграма.
51
6. Приложение на UML за
проектиране на
информационни системи
Предимства
При проектиране на високо и средно ниво
на обобщение най-често се използват
структурните и функционалните диаграми. От
структурните диаграми най-често се използват:
Диаграми на пакетите (Package
diagrams),
Диаграмите, които представят
физическата структура на системата
– компонентната диаграма (Component
diagram) и диаграмите за разгръщане на
системата (Deployment diagram).
От функционалните диаграми най-често
се използват:
Диаграмите на случаи на употреба (Use
case diagrams),
53
Диаграма на последователностите
(Sequence diagram).
Диаграмите на случаи на употреба и
диаграмите на последователностите са се
наложили като задължителна част от проектите
на всяка по-голяма софтуерна система. Те
дават лесно разбираема картина на
функционалността на системата от гледна
точка на потребителите (в статичен и в
динамичен аспект).
Недостатъци
Диаграмите представят определена
информация в нагледен и удобен за бързо
възприемане вид, но не могат да заменят
описателната документация.
Например диаграмата за разгръщане на
системата показва къде се разполагат
отделните програми. Но тя не съдържа
информация за това как протича
инсталационният процес, какви са изискванията
към операционната система, към техническите
устройства и други важни данни, които се
описват в едно “ръководство за инсталиране на
системата”.
По отношение на описанието на
системата от потребителска гледна точка
ситуацията е сходна. Use case диаграмите и
диаграмите на последователностите са много
удобни, но не дават пълната информация за
проектираното взаимодействие между
потребителите и системите. Това затруднява
възприемането им от потребителите.
Почти всички съвременни софтуерни
системи са с графичен потребителски
54
Предимства
При проектиране на класовете се
използват от структурните диаграми:
Диаграми на класовете (Class diagrams),
Диаграми на обектите (Object diagrams),
Диаграми на съставна структура
(Composite structure diagrams);
и от функционалните диаграми:
Диаграма на дейностите (Activity
diagram).
Тези диаграми изразяват аспекти на
класовете, които много трудно могат да бъдат
представени “описателно”. Диаграмите са често
единствената документация на класовете освен
коментарите в сорс-кода.
Недостатъци
Диаграмите на класовете представят най-
съществената част от описанието на един клас
– неговите методи и свойства, и затова се
възприемат лесно от програмистите. Но
ситуацията е коренно различна при диаграмите
на обектите (Object diagrams) и диаграмите на
55
7. Пример “Информационна
система за детска градина”
7.4. Диаграми на
последователностите
Administrator Sequence Diagram
Диаграмата на последователностите
представя обработката на заявка към операция
с ограничен достъп, в случая – ModifyUser, но
66
8. Средства за визуално и
декларативно програмиране –
общ преглед
8.1. Увод
До тук разгледахме CASE инструменти,
които са базирани на използването на UML.
Втората голяма група от CASE
инструменти са средства за визуално
програмиране (СВП, на английски Visual
Programming Tools).
При използване на средства за визуално
програмиране, програмистът разработва
програмата в два режима:
- В режим „дизайн” програмистът може да
извършва промени в графични
изображения на компонентите на
програмата.
- В режим „кодиране” програмистът може
да променя кода на програмата,
представен във вид на текст.
Всяка промяна на програмата, направена
при работа с графичните изображения се
отразява автоматично в кода; и обратно – всяка
промяна в кода, която касае визуализацията на
потребителския интерфейс, се отразява в
графичното изображение.
Работата с визуалните средства се
допълва от средства за задаване на стойности
на свойства на компонентите по декларативен
начин, т.е. задаване на стойностите чрез избор
73
9. Визуално и декларативно
програмиране при
разработване на настолни
системи
За да можем да използваме
възможностите на визуалното програмиране,
трябва да приключим в режим Design. Готовият
елемент изглежда по следния начин:
Фиг. 60.
За да се създаде потребителският
интерфейс с NetBeans IDE, се използва
палитрата от готови елементи Palette, чийто
вид е показан на фиг.61. Програмистът има на
разположение бутони, текстови полета,
етикети, които чрез издърпване може да
премести върху работната област.
100
Фиг. 65.
Средствата за подпомагане на
програмирането, основани на визуалния подход
са много ефективни при разработка на
потребителския интерфейс. Но при кодирането
на алгоритмите програмистът трябва да
използва изразните средства на програмния
език.
Третият клас от CASE инструменти, който
ще разгледаме, са средствата за компютърно
подпомагане на кодирането. Тези средства са
насочени към подпомагане на програмирането
на определен програмен език, чрез
“подсказване” на езикови изразни средства по
време на въвеждането на програмен код.
Към този клас се отнасят два типа
инструменти:
А) Средства за извеждане на
контекстна помощ и автоматично дописване
на изрази. Този тип инструменти са известни с
името IntelliSense, което Microsoft използва за
собствените си средства от този тип. За да
различаваме общото понятие от фирмения
термин на Microsoft, ще изписваме общото
понятие с малки букви - intellisense.
Б) Средства за вмъкване на програмни
фрагменти. Програмните фрагменти се
наричат на английски code snippets; от там и
самите инструменти за вмъкване на програмни
фрагменти се наричат понякога snippets
инструменти.
107
Контекстната информация за
параметрите на даден метод не се извежда
автоматично при позициониране върху
109
Фиг. 76
Фиг. 78.
11.3. Обобщение
Няма стандарти за разработването на
инструментите за подпомагане на
програмирането, и би могло да се очаква, че
тези инструменти ще се различават твърде
много. Но както видяхме, противно на това
очакване, обхватът на предлаганите средства
във Visual Studio и NetBeans IDE е
приблизително еднакъв. Нещо повече,
видяхме, че те са сходни дори в подробности от
116
поощряване на сътрудничеството
между авторите.
Публикуването на съдържание може да
бъде контролирано; скрито за предварителен
преглед; или се изискват потребителско име и
парола.
12.2. DotNetNuke
DotNetNuke e с отворен код и е
реализирана на Visual Basic за платформата
ASP.NET.
Това я прави особено удобна за целите на
нашия курс.
Видове модули
Б) Субмодул за настройка
Администраторът на сайта може да
определи кои характеристики да се записват в
профила на потребителите и кои от тях да са
задължителни. Това се извършва чрез формата
показана на следващата фигура.
Б. Субмодул за настройка
Субмодулът за настройка на “Книгата за
гости” е уеб страница представя множество от
129
Include_in_menu = true
Permisions > all_Users.View_Page = true
Указваме следната йерархична
съподчиненост на страниците:
Home [Parent Page = None Specified]
-Home-child1 [Parent Page = Home]
-Home-child2 [Parent Page = Home]
Art [Parent Page = None Specified]
Главното меню на сайта при изпълнение
има вида
За да редактираме съдържанието на
модула, кликваме върху “Edit Text” . Отваря се
форма за редактиране на текста, която работи
по начин аналогичен с HTML редактор MS
Visual Studio в режим Design.
13. Заключение
В настоящия учебник разгледахме
различните CASE технологии за
автоматизирано изграждане на информационни
системи.
В първата час на учебника разгледахме
технологиите основани на приложение на UML.
Разгледани бяха типовете диаграми
(графични модели), както и предимствата и
недостатъците при използването на UML за
проектиране на информационни системи и
автоматизация на програмирането. Някои от
основите изводи са:
Използването на CASE инструменти,
базирани на UML, спомага съществено
за повишаване на качеството на
програмния код.
UML се налага като международен
стандарт и спомага за обмен на
информация и опит между софтуерни
специалисти от различни екипи.
UML осигурява разнообразие от
нотации за представянето на много
аспекти от софтуерните системи.
При проектирането на системите UML
диаграмите позволяват да се опишат
прецизно структурните и
функционалните аспекти на системите,
макар че те само допълват, а не
заменят описателните документи.
Използването на CASE инструменти
прави възможно създаването на много
по-добра документация на програмния
код. Това води до по-бързо и по-
146
ПРИЛОЖЕНИЕ 1
Ресурси, достъпни в интернет
Ръководството за потребителя на
продукта Enterprise Architect (на фирмата
Sparks), което съдържа пълно описание на
всички UML типове диаграми с препратки към
официалната спецификация на OMG.
UML Tools (Drawing & CASE)
http://www.jeckle.de/umltools.html
Сайтът съдържа информация за около
100 CASE продукта. В табличен вид е показано
за всеки продукт: кои типове диаграми
поддържа и код на кои езици за програмиране
генерира.
150
ПРИЛОЖЕНИЕ 2
Речник на използваните
термини
последователностите и диаграми за
дейностите.
Диаграми на разгръщане на
системата (deployment diagrams) – Тип
диаграми в UML, които представят физическите
устройства, върху които се инсталират
компонентите на една софтуерна система.
Диаграми на съставна структура
(composite structure diagrams) – Тип диаграми в
UML, които представят вътрешната структура
на класовете.
Диаграми на състоянията (state
machine diagrams) – Тип диаграми в UML, които
представят през какви състояния преминава
даден обект.
Компонентни диаграми (component
diagrams) – Тип диаграми в UML, които
представят структура и връзки на софтуерни
компоненти, обособени в самостоятелни
файлове.
Мета-модел (meta-model) – Формалното
дефиниране или неформално описание на
основните понятия, използвани в UML
диаграмите.
Множественост (multiplicity) – Свойство
на връзките между класовете. Означение за
това: колко на брой обекта може да реализират
дадена връзка. Използва се в диаграмите на
класовете.
Нотация (notation) – Графичните
елементи, които се използват в моделите; това
е „графичният синтаксис” на езика за
моделиране.
Обектни диаграми (object diagrams) –
Тип диаграми в UML, които представят
153
Използвана литература
Ваня Лазарова
CASE ТЕХНОЛОГИИ
Computer-aided Software Engineering
Учебник за специалност „Бизнес информатика”
Издателство „Фльорир”
Печат: ПБ Верен, София
ISBN: 978-954-410-004-9