Урок за UML диаграма на класа с примери

Съдържание:

Anonim

Какво е клас?

Класът е план, който се използва за създаване на обект. Класът определя какво може да направи обектът.

Какво е диаграма на класа?

UML CLASS DIAGRAM дава преглед на софтуерна система, като показва класове, атрибути, операции и техните взаимоотношения. Тази диаграма включва името на класа, атрибутите и работата в отделни обособени отделения.

Диаграмата на класовете дефинира видовете обекти в системата и различните видове връзки, които съществуват между тях. Той дава изглед на високо ниво на приложение. Този метод на моделиране може да работи с почти всички обектно-ориентирани методи. Класът може да се отнася за друг клас. Един клас може да има своите обекти или да наследява от други класове.

Диаграмата на класа помага да се изгради кодът за разработване на софтуерно приложение.

В този урок ще научите:

  • Какво е клас?
  • Какво е диаграма на класа?
  • Предимства на класа диаграма
  • Основни елементи на диаграма на класа на UML
    • Име на класа
    • Атрибути:
    • Връзки
  • Агрегация срещу състав
  • Абстрактни класове
  • Пример за UML диаграма на класа:
  • Диаграма на класа в жизнения цикъл на разработката на софтуер:
  • Най-добри практики за проектиране на диаграмата на класа

Предимства на класа диаграма

  • Диаграма на класа Илюстрира модели на данни за дори много сложни информационни системи
  • Той предоставя общ преглед на това как е структурирано приложението преди изучаване на действителния код. Това може лесно да намали времето за поддръжка
  • Помага за по-добро разбиране на общите схеми на приложение.
  • Позволява изготвяне на подробни диаграми, които подчертават кода, който трябва да бъде програмиран
  • Полезно за разработчици и други заинтересовани страни.

Основни елементи на диаграма на класа на UML

Основни елементи на диаграмата на UML клас са:

  1. Име на класа
  2. Атрибути
  3. Операции

Име на класа

Името на класа е необходимо само в графичното представяне на класа. Той се появява в най-горното отделение. Класът е план на обект, който може да споделя едни и същи връзки, атрибути, операции и семантика. Класът се изобразява като правоъгълник, включително неговото име, атрибути и операции в пространствени отделения.

При представяне на клас трябва да се внимава за следните правила:

  1. Името на класа винаги трябва да започва с главна буква.
  2. Името на класа винаги трябва да бъде в центъра на първото отделение.
  3. Името на класа винаги трябва да се изписва с получер шрифт .
  4. Абстрактно име на клас трябва да бъде написано в курсив.

Атрибути:

Атрибутът е наименовано свойство на клас, който описва обекта, който се моделира. В диаграмата на класа този компонент е поставен точно под отделението за имена.

Производният атрибут се изчислява от други атрибути. Например, възрастта на ученика може лесно да бъде изчислена от неговата / нейната дата на раждане.

Характеристики на атрибутите

  • Атрибутите обикновено се пишат заедно с фактора видимост.
  • Публично, частно, защитено и пакетно са четирите видимости, които са означени съответно със знаци +, -, # или ~.
  • Видимостта описва достъпността на атрибут на клас.
  • Атрибутите трябва да имат смислено име, което описва използването му в клас.

Връзки

В UML има главно три вида връзки:

  1. Зависимости
  2. Обобщения
  3. Асоциации

Зависимост

Зависимост означава връзката между два или повече класа, в която промяна в единия може да предизвика промени в другия. Винаги обаче ще създаде по-слаба връзка. Зависимостта показва, че един клас зависи от друг.

В следващия пример Student има зависимост от колежа

Обобщение:

Обобщението помага да се свърже подклас с неговия суперклас. Подкласът се наследява от суперкласа си. Взаимоотношенията за генерализация не могат да се използват за моделиране на изпълнение на интерфейс. Диаграмата на класовете позволява наследяване от множество суперкласове.

В този пример класът Student се обобщава от клас Person.

Асоциация:

Този вид връзка представлява статични връзки между класове А и В. Например; служител работи за организация.

Ето някои правила за асоцииране:

  • Асоциацията е предимно глагол или глаголна фраза или съществително или съществително словосъчетание.
  • Той трябва да бъде наименуван, за да посочи ролята, която играе класът, прикрепен в края на пътя на асоцииране.
  • Задължително за рефлексивни асоциации

В този пример е показана връзката между студент и колеж, което е проучване.

Кратност

Множествеността е фактор, свързан с атрибут. Той указва колко екземпляра от атрибути се създават при инициализиране на клас. Ако кратността не е посочена, по подразбиране една се счита за множественост по подразбиране.

Да кажем, че в един колеж има 100 студенти. Колежът може да има няколко студенти.

Агрегиране

Агрегацията е специален тип асоциация, която моделира цялостна връзка между съвкупността и нейните части.

Например класният колеж се състои от един или повече ученици. В обобщение съдържащите се класове никога не са напълно зависими от жизнения цикъл на контейнера. Тук колежът ще остане, дори ако студентът не е на разположение.

Състав:

Съставът е специален тип агрегиране, който обозначава силна собственост между два класа, когато един клас е част от друг клас.

Например, ако колежът е съставен от класове студент. Колежът може да съдържа много студенти, докато всеки студент принадлежи само на един колеж. Така че, ако колежът не функционира, всички студенти също се отстраняват.

Агрегация срещу състав

Агрегиране

Състав

Агрегирането показва връзка, при която детето може да съществува отделно от родителския си клас. Пример: Автомобил (родител) и автомобил (дете). Така че, ако изтриете Автомобила, детето Car все още съществува.

Отношение на композицията, при което детето никога няма да съществува независимо от родителя. Пример: Къща (родител) и Стая (дете). Стаите никога няма да се разделят на къща.

Абстрактни класове

Това е клас с прототип на операция, но не и изпълнението. Също така е възможно да има абстрактен клас, в който да не са декларирани операции. Резюмето е полезно за идентифициране на функционалностите в класовете. Нека разгледаме пример за абстрактен клас. Да предположим, че имаме абстрактен клас, наречен като движение с метод или операция, декларирана вътре в него. Методът, деклариран вътре в абстрактния клас, се нарича move () .

Този метод на абстрактния клас може да се използва от всеки обект като кола, животно, робот и др. За промяна на текущата позиция. Ефективно е да се използва този метод на абстрактен клас с обект, тъй като не е предвидена реализация за дадената функция. Можем да го използваме по всякакъв начин за множество обекти.

В UML абстрактният клас има същите обозначения като този на класа. Единствената разлика между клас и абстрактен клас е, че името на класа е строго написано с курсив.

Абстрактен клас не може да бъде инициализиран или инстанциран.

Абстрактна нотация на клас

В горната нотация на абстрактния клас има единственият абстрактен метод, който може да се използва от множество обекти на класове.

Пример за UML диаграма на класа

Създаването на диаграма на класа е лесен процес. Той не включва много технически характеристики. Ето пример:

Системата за банкомати е много проста, тъй като клиентите трябва да натиснат някои бутони, за да получат пари в брой. Въпреки това, има множество слоеве за сигурност, които всяка ATM система трябва да премине. Това помага да се предотвратят измами и да се предоставят пари в брой или подробности за клиентите на банките.

По-долу е даден пример за диаграма на UML клас:

Диаграма на класа в жизнения цикъл на разработката на софтуер

Диаграмите на класовете могат да се използват в различни фази на разработване на софтуер. Помага при моделирането на диаграми на класовете в три различни перспективи.

1. Концептуална перспектива: Концептуалните диаграми описват нещата в реалния свят. Трябва да нарисувате диаграма, която представя концепциите в изследваната област. Тези понятия са свързани с класа и той винаги е независим от езика.

2. Перспектива на спецификацията: Перспектива на спецификацията описва софтуерни абстракции или компоненти със спецификации и интерфейси. Той обаче не поема ангажимент за конкретно изпълнение.

3. Перспектива за внедряване: Този тип диаграми на класове се използва за внедряване на определен език или приложение. Перспектива за внедряване, използване за внедряване на софтуер.

Най-добри практики за проектиране на диаграмата на класа

Диаграмите на класовете са най-важните UML диаграми, използвани за разработване на софтуерни приложения. Има много свойства, които трябва да се имат предвид при изчертаването на диаграма на класа. Те представляват различни аспекти на софтуерно приложение.

Ето някои моменти, които трябва да имате предвид при изготвянето на диаграма на класа:

  • Името, дадено на диаграмата на класа, трябва да има смисъл. Освен това трябва да описва реалния аспект на системата.
  • Връзката между всеки елемент трябва да бъде идентифицирана предварително.
  • Отговорността за всеки клас трябва да бъде идентифицирана.
  • За всеки клас трябва да се посочи минимален брой свойства. Следователно нежеланите свойства могат лесно да усложнят диаграмата.
  • Потребителските бележки трябва да се включват винаги, когато трябва да дефинирате някакъв аспект на диаграмата. В края на чертежа трябва да е разбираемо за екипа за разработка на софтуер.
  • И накрая, преди да създадете окончателната версия, диаграмата трябва да бъде нарисувана на обикновена хартия. Освен това той трябва да бъде преработен, докато не е готов за окончателно подаване.

Заключение

  • UML е стандартният език за определяне, проектиране и визуализиране на артефактите на софтуерни системи
  • Класът е план за обект
  • Диаграмата на класа описва видовете обекти в системата и различните видове връзки, които съществуват между тях
  • Тя позволява анализ и дизайн на статичния изглед на софтуерно приложение
  • Диаграмите на класовете са най-важните UML диаграми, използвани за разработване на софтуерни приложения
  • Основни елементи на диаграмата на UML клас са 1) Клас 2) Атрибути 3) Връзки
  • Диаграмата на класа предоставя общ преглед на това как е структурирано приложението преди изучаване на действителния код. Със сигурност намалява времето за поддръжка
  • Диаграмата на класа е полезна за картографиране на обектно-ориентирани програмни езици като Java, C ++, Ruby, Python и др.