В рамките на 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-модела всички представяния на системата са фиксирани под формата на специални графични структури, наречени диаграми