В рамките на UML модела всички представяния на системата са фиксирани под формата на специална графика
Лекция 3
Общ преглед на изгледите на UML диаграма
Защо да създавате диаграми
Разработването на модел на всяка система (не само софтуер) винаги предшества нейното създаване или актуализиране. Това е необходимо, за да си представите по-ясно проблема, който се решава. Обмислените модели са много важни както за взаимодействието в екипа за разработка, така и за взаимното разбирателство с клиента.В края на краищата това ви позволява да се уверите, че дизайнът е „архитектурно последователен“, преди да бъде внедрен в код.
Изграждат се модели на сложни системи, защото е невъзможно да се опишат напълно, „да се погледне с един поглед“. Следователно е необходимо да се отделят само свойствата на системата, които са от съществено значение за конкретна задача, и да се изгради нейният модел, който отразява тези свойства.Методът на обектно-ориентирания анализ дава възможност да се опишат реални сложни системи по най-адекватния начин. Но тъй като системите стават по-сложни, има нужда от добра технология за симулация. Тази "стандартна" технология е Unified Modeling Language (UML), който е графичен език за специфициране, визуализиране, проектиране и документиране на системи. Използвайки UML, можете да разработите подробен модел на създаваната система, отразяващ не само нейната концепция, но и специфични характеристики на изпълнение.
В рамките на UML-модела всички представяния на системата са фиксирани под формата на специални графични структури, наречени диаграми
Само набор от диаграми съставлява модела на системата и го описва най-пълно, но нито една диаграма, извадена от контекста.
Типове диаграми
UML 1.5 дефинира дванадесет типа диаграми, разделени в три групи:
- четири типа диаграми представляватстатичната структура на приложението ;
- пет представляватповеденчески аспекти на системата ;
- три представляватфизическите аспекти на работата на системата (диаграми за изпълнение).
Текущата версия на UML 2.1 не е направила твърде много промени. Диаграмите са леко променени на външен вид (появиха се рамки и други визуални подобрения ), нотацията е леко подобрена, някои диаграми са получили нови имена.
Някои от тях ще бъдат разгледани, тъй като броят на типовете диаграми за конкретен модел на конкретно приложение не е строго фиксиран. За прости приложения няма нужда да се изграждат всички диаграми без изключение. Напримерлокалното приложение не изисква диаграма за разполагане.
Важно е да се разбере, че списъкът с диаграми зависи от спецификата на разработвания проект и се определя от самия разработчик. UML стандартът описва всички видове диаграми: (http://www.omg.org/technology/documents/modeling_spec_catalog.htm#UML ).
Задачата на този етап е да се разберат първоначалните идеи за тази технология.
Така че ще разгледаме накратко такива видове диаграми като:
- диаграма на случаи на използване;
- диаграма на класа;
- обектна диаграма;
- диаграма на последователността;
- диаграма на взаимодействие;
- диаграма на състоянието;
- диаграма на дейността;
- диаграма на разполагане.
Основната задача е визуалното възприемане и разграничаване на диаграмите.
Заключение - ООП и последователностидиаграмиране
Могат да се дадат много препоръки за това какви диаграми да се изградят и как, но ние ще бъдем кратки. На първо място, трябва да си отговорите на следните въпроси:
- Какви типове диаграми отразяват най-добре архитектурата на системата и възможните технически рискове, свързани с проекта?
- Коя от диаграмите е най-удобно да се превърне в инструмент за наблюдение на процеса (и прогреса) на развитие на системата?
И още нещо - никога не изхвърляйте дори "отхвърлените" диаграми: те могат да бъдат полезни по-късно при анализиране на посоката на вашата мисъл, търсене на грешки в дизайна и просто за експериментиране с лека промяна в системата.
Диаграмите, както бе споменато по-горе, могат и трябва да бъдат изградени в определена логическа последователност. Но как да изработите тази последователност, ако нямате опит в моделирането? Как да го научим? Ето няколко прости трика, които да ви помогнат (или вашия екип) да развиете своя стил на дизайн.
1. В UML дизайна, както при създаването на всеки друг модел, е важно да можете даабстрахирате от несъществените свойства на системата. В това отношение груповите упражнения за идентифициране и анализ на прецеденти могат да бъдат много полезни. Те ще помогнат за развитието на умения за идентифициране на ясни абстракции.
2. Добър начин да започнете е да моделирате основните абстракции или поведение на една от системите, които вече имате.
3. Изградете модели на проблемна област под формата на класова диаграма! Това е добър начин да разберете как да визуализирате много взаимосвързани абстракции. По същия начин изградете модели на статичната част на задачите.
4. Моделирайте динамичната част на проблема с прости диаграми на последователности и сътрудничество.Добре е да започнете с модела на взаимодействие потребител-система, за да можете лесно да подчертаете най-важните случаи на употреба.
Всичко по-горе се отнася предимно за обектно-ориентирани системи.
Следователно, обобщавайки всичко казано по-рано, можем да предложим следната последователност от диаграми:
- диаграма на случаите на използване,
- диаграма на класа,
- обектна диаграма,
- диаграма на последователността,
- диаграма на сътрудничество,
- диаграма на състоянието,
- диаграма на дейността,
- диаграма на разполагане.
Разбира се, това не е единствената възможна последователност. Може да ви се стори по-удобно да започнете с класова диаграма. Или може би нямате нужда от диаграми на обекти и предпочитате диаграми на последователност пред диаграми за сътрудничество. Това е само един от начините, постепенно ще развиете своя личен дизайнерски стил и своя последователност!
Още няколко съвета за използване на UML:
§ Добро и полезно упражнение е да изградите модели на класове и връзки между тях за кода, който вече сте написали на C++ или Java.
§ Използвайте UML, за да изясните имплицитните детайли на изпълнението на съществуваща система или "сложните механизми за програмиране", използвани в нея.
§ Изграждане на UML модели преди започване на нов проект. Едва когато сте напълно доволни от резултата, започнете да ги използвате като основа за кодиране.
§ Обърнете специално внимание на UML инструментите за моделиране на компоненти, паралелизъм, разпределение,шаблони на дизайна. Повечето от тези въпроси ще бъдат обсъдени по-долу.
§ Освен всичко друго, важен момент тук е изборътUML пакет за моделиране (CASE инструменти), който също може да повлияе на вашия индивидуален стил на проектиране. Ще говорим за това по-подробно в една от следващите лекции, засега отбелязваме, че всички диаграми, които видяхте в тази лекция, са изградени с помощта на TAU G2 на Telelogic.
Окончателни заключения:
- Диаграмите от различни типове ви позволяват да разгледате системата от различни гледни точки.
- UML съдържа три типа диаграми - за моделиране на статичната структура, поведенчески аспекти и подробности за изпълнението на приложение.
Тестови въпроси
Защо е необходимо да се изграждат различни диаграми при моделиране на система?
- Кои диаграми отговарят на статичния изглед на системата?
- Вие разработвате компютърна програма за игра на шах. Коя UML диаграма би била полезна в този случай? Защо?
- Направете списък с въпроси за потенциален потребител на такава програма. Обяснете защо искате да ги попитате.
Лекция 3
Общ преглед на изгледите на UML диаграма
Защо да създавате диаграми
Разработването на модел на всяка система (не само софтуер) винаги предшества нейното създаване или актуализиране. Това е необходимо, за да си представите по-ясно проблема, който се решава. Обмислените модели са много важни както за взаимодействието в екипа за разработка, така и за взаимното разбирателство с клиента.В края на краищата това ви позволява да се уверите, че дизайнът е „архитектурно последователен“, преди да бъде внедрен в код.
Изграждат се модели на сложни системи, защото е невъзможно да се опишат напълно, „да се погледне с един поглед“. Следователно е необходимо да се отделят само свойствата на системата, които са от съществено значение за конкретна задача, и да се изгради нейният модел, който отразява тези свойства.Методът на обектно-ориентирания анализ дава възможност да се опишат реални сложни системи по най-адекватния начин. Но тъй като системите стават по-сложни, има нужда от добра технология за симулация. Тази "стандартна" технология е Unified Modeling Language (UML), който е графичен език за специфициране, визуализиране, проектиране и документиране на системи. Използвайки UML, можете да разработите подробен модел на създаваната система, отразяващ не само нейната концепция, но и специфични характеристики на изпълнение.
В рамките на UML-модела всички представяния на системата са фиксирани под формата на специални графични структури, наречени диаграми