Samouczek dotyczący diagramu klas UML: Klasa abstrakcyjna z przykładami

Co to jest klasa na diagramie UML?

A Klasa w UML-u diagram jest planem używanym do tworzenia obiektu lub zestawu obiektów. Klasa definiuje, co obiekt może zrobić. Jest to szablon do tworzenia różnych obiektów i implementowania ich zachowania w systemie. Klasa w UML jest reprezentowana przez prostokąt, który zawiera wiersze z nazwami klas, atrybutami i operacjami.

Co to jest diagram klas?

A Diagram klas w inżynierii oprogramowania jest statyczną strukturą, która daje przegląd systemu oprogramowania poprzez wyświetlanie klas, atrybutów, operacji i ich wzajemnych relacji. Ten diagram obejmuje nazwę klasy, atrybuty i operację w oddzielnych wyznaczonych przedziałach. Diagram klas pomaga konstruować kod do tworzenia aplikacji oprogramowania.

Diagram klas definiuje typy obiektów w systemie i różne typy relacji, jakie istnieją między nimi. Zapewnia ogólny widok aplikacji. Ta metoda modelowania może działać z prawie wszystkimi metodami obiektowymi. Klasa może odnosić się do innej klasy. Klasa może mieć swoje obiekty lub może dziedziczyć z innych klas.

Korzyści ze stosowania diagramu klas

  • Diagram klas Ilustruje modele danych nawet dla bardzo złożonych systemów informatycznych
  • Zapewnia przegląd struktury aplikacji przed zapoznaniem się z rzeczywistym kodem. Może to z łatwością skrócić czas konserwacji
  • Pomaga w lepszym zrozumieniu ogólnych schematów aplikacji.
  • Umożliwia rysowanie szczegółowych wykresów, które wyróżniają kod wymagany do zaprogramowania
  • Pomocne dla programistów i innych interesariuszy.

Zasadnicze elementy diagramu klas UML

Zasadniczymi elementami diagramu klas UML są:

  1. Nazwa klasy
  2. Atrybuty
  3. Specjaliści ds. operacyjnych

Nazwa klasy

Nazwa klasy w UML

Nazwa klasy jest potrzebna tylko w graficznej reprezentacji klasy. Pojawia się w najwyższym przedziale. Klasa jest planem obiektu, który może współdzielić te same relacje, atrybuty, operacje i semantykę. Klasa jest renderowana jako prostokąt, w tym jej nazwa, atrybuty i operacje w osobnych przedziałach.

Podczas reprezentowania klasy należy pamiętać o następujących zasadach:

  1. Nazwa klasy powinna zawsze zaczynać się od dużej litery.
  2. Nazwa klasy powinna zawsze znajdować się pośrodku pierwszej przegródki.
  3. Zawsze należy wpisać nazwę klasy Format.
  4. Nazwę klasy abstrakcyjnej UML należy zapisać kursywą.

Atrybuty

Atrybut to nazwana właściwość klasy opisująca modelowany obiekt. Na diagramie klas ten komponent jest umieszczony tuż pod przedziałem nazwy.

Atrybuty w UML

Atrybut pochodny jest obliczany na podstawie innych atrybutów. Na przykład wiek ucznia można łatwo obliczyć na podstawie jego daty urodzenia.

Atrybuty w UML

Charakterystyka atrybutów

  • Atrybuty są zazwyczaj zapisywane wraz ze współczynnikiem widoczności.
  • Publiczna, prywatna, chroniona i pakietowa to cztery widzialności oznaczone odpowiednio znakami +, -, # lub ~.
  • Widoczność opisuje dostępność atrybutu klasy.
  • Atrybuty muszą mieć znaczącą nazwę opisującą ich użycie w klasie.

Relacje

Istnieją głównie trzy rodzaje relacje w UML-u:

  1. Zależności
  2. Uogólnienia
  3. Wspomnienia

Zależność

Zależność oznacza relację pomiędzy dwiema lub większą liczbą klas, w której zmiana w jednej może wymusić zmiany w drugiej. Jednak zawsze spowoduje to słabszą relację. Zależność wskazuje, że jedna klasa zależy od drugiej.

W poniższych przykładach diagramów klas UML Student jest zależny od College’u

Relacje w UML-u

Uogólnienie:

Relacje w UML-u

Uogólnienie pomaga połączyć podklasę z jej nadklasą. Podklasa jest dziedziczona ze swojej nadklasy. Relacji generalizacji nie można używać do modelowania implementacji interfejsu. Diagram klas umożliwia dziedziczenie z wielu nadklas.

W tym przykładzie klasa Student jest uogólniona z klasy Person.

Stowarzyszenie:

Ten rodzaj relacji reprezentuje statyczne relacje pomiędzy klasami A i B. Na przykład; pracownik pracuje dla organizacji.

Oto kilka zasad stowarzyszenia:

  • Stowarzyszenie to głównie czasownik lub fraza czasownikowa, rzeczownik lub fraza rzeczownikowa.
  • Należy ją nazwać, aby wskazać rolę, jaką pełni klasa dołączona na końcu ścieżki asocjacji.
  • Obowiązkowe dla skojarzeń refleksyjnych

W tym przykładzie pokazano relację między studentem a uczelnią, którą są studia.

Relacje w UML-u

Wielość

Relacje w UML-u

Wielość jest czynnikiem powiązanym z atrybutem. Określa, ile instancji atrybutów jest tworzonych podczas inicjowania klasy. Jeśli nie określono krotności, domyślnie jest ona traktowana jako domyślna krotność.

Załóżmy, że w jednej uczelni jest 100 studentów. Uczelnia może mieć wielu studentów.

Zbiór

Agregacja to szczególny typ powiązania, który modeluje relację całość-część pomiędzy agregatem i jego częściami.

Relacje w UML-u

Na przykład kolegium klasowe składa się z jednego lub większej liczby uczniów. W agregacji zawarte klasy nigdy nie są całkowicie zależne od cyklu życia kontenera. Tutaj zajęcia z college'u pozostaną, nawet jeśli student nie będzie dostępny.

Skład:

Relacje w UML-u

Kompozycja jest szczególnym rodzajem agregacji, który oznacza silną współwłasność między dwiema klasami, gdy jedna klasa jest częścią innej klasy.

Na przykład, jeśli uczelnia składa się z klas studenckich. W uczelni może znajdować się wielu studentów, podczas gdy każdy student należy tylko do jednej uczelni. Tak więc, jeśli uczelnia nie działa, wszyscy studenci również zostali usunięci.

Agregacja a kompozycja

Zbiór Kompozycja
Agregacja wskazuje relację, w której element podrzędny może istnieć oddzielnie od swojej klasy nadrzędnej. Przykład: Samochód (rodzic) i samochód (dziecko). Tak więc, jeśli usuniesz Samochód, Samochód podrzędny nadal będzie istniał. Relacja wyświetlania kompozycji, w której dziecko nigdy nie będzie istnieć niezależnie od rodzica. Przykład: Dom (rodzic) i Pokój (dziecko). Pokoje nigdy nie zostaną rozdzielone na Dom.

Klasy abstrakcyjne

Jest to klasa z prototypem operacji, ale nie implementacją. Możliwe jest również posiadanie klasy abstrakcyjnej bez zadeklarowanych w niej operacji. Abstrakcja jest przydatna do identyfikowania funkcjonalności w obrębie klas. Rozważmy przykład klasy abstrakcyjnej. Załóżmy, że mamy klasę abstrakcyjną nazywaną jako ruch z metodą lub operacją zadeklarowaną w jej wnętrzu. Metoda zadeklarowana wewnątrz klasy abstrakcyjnej nazywa się przenosić ().

Ta metoda klasy abstrakcyjnej może być używana przez dowolny obiekt, taki jak samochód, zwierzę, robot itp., do zmiany aktualnej pozycji. Efektywne jest użycie tej metody klasy abstrakcyjnej z obiektem, ponieważ dla danej funkcji nie jest dostępna żadna implementacja. Możemy go używać w dowolny sposób dla wielu obiektów.

W języku UML klasa abstrakcyjna ma taką samą notację jak klasa. Jedyna różnica między klasą a klasą abstrakcyjną polega na tym, że nazwa klasy jest pisana kursywą.

Nie można zainicjować ani utworzyć instancji klasy abstrakcyjnej.

Notacja klas abstrakcyjnych
Notacja klas abstrakcyjnych

W powyższym notacja klasy abstrakcyjnej, istnieje tylko jedna metoda abstrakcyjna, która może być używana przez wiele obiektów klas.

Przykład diagramu klas UML

Tworzenie diagramu klas jest prostym procesem. Nie obejmuje wielu szczegółów technicznych. Oto przykład:

System bankomatów jest bardzo prosty, ponieważ klienci muszą nacisnąć kilka przycisków, aby otrzymać gotówkę. Istnieje jednak wiele warstw bezpieczeństwa, które każdy system bankomatów musi przejść. Pomaga to zapobiegać oszustwom i dostarczać gotówkę lub potrzebne dane klientom bankowym.

Poniżej podano przykładowy diagram klas UML:

Przykład diagramu klas UML

Przykład diagramu klas UML

Sprawdź również: - Diagramy UML: historia, typy, charakterystyka, wersje, narzędzia

Diagram klas w cyklu życia oprogramowania

Diagramy klas można wykorzystać na różnych etapach tworzenia oprogramowania. Pomaga w modelowaniu diagramów klas w trzech różnych perspektywach.

1. Perspektywa koncepcyjna: Diagramy koncepcyjne opisują rzeczy w świecie rzeczywistym. Powinieneś narysować diagram, który przedstawia koncepcje w badanej domenie. Te koncepcje odnoszą się do klasy i zawsze są niezależne od języka.

2. Perspektywa specyfikacji: Perspektywa specyfikacji opisuje abstrakcje oprogramowania lub komponenty wraz ze specyfikacjami i interfejsami. Nie daje jednak żadnego zobowiązania do konkretnej realizacji.

3. Perspektywa wdrożenia: Ten typ diagramów klas jest używany do implementacji w określonym języku lub aplikacji. Perspektywa wdrożenia, zastosowanie przy wdrażaniu oprogramowania.

Najlepsze praktyki projektowania diagramu klas

Diagramy klas są najważniejszymi diagramami UML używanymi do tworzenia aplikacji oprogramowania. Istnieje wiele właściwości, które należy wziąć pod uwagę podczas rysowania diagramu klas. Reprezentują one różne aspekty aplikacji oprogramowania.

Oto kilka punktów, które należy mieć na uwadze podczas rysowania diagramu klas:

  • Nazwa nadana diagramowi klas musi być znacząca. Ponadto powinien opisywać rzeczywisty aspekt systemu.
  • Należy wcześniej określić powiązania pomiędzy każdym elementem.
  • Należy określić odpowiedzialność każdej klasy.
  • Dla każdej klasy należy określić minimalną liczbę właściwości. Dlatego niepożądane właściwości mogą łatwo skomplikować diagram.
  • Notatki użytkownika powinny być dołączone, gdy trzeba zdefiniować jakiś aspekt diagramu. Na końcu rysunku musi być on zrozumiały dla zespołu programistów.
  • Na koniec, przed utworzeniem ostatecznej wersji, diagram należy narysować na zwykłym papierze. Co więcej, należy go przerobić, aż będzie gotowy do ostatecznego przesłania.

Podsumowanie

  • UML to standardowy język służący do określania, projektowania i wizualizacji artefaktów systemów oprogramowania
  • Klasa jest planem obiektu
  • Diagram klas opisuje typy obiektów w systemie i różne rodzaje relacji, jakie istnieją między nimi
  • Umożliwia analizę i projektowanie widoku statycznego aplikacji
  • Diagramy klas to najważniejsze diagramy UML używane do tworzenia aplikacji
  • Zasadniczymi elementami diagramu klas UML są: 1) klasa 2) atrybuty 3) relacje
  • Diagram klas zapewnia przegląd struktury aplikacji przed zapoznaniem się z rzeczywistym kodem. Z pewnością skraca to czas konserwacji
  • Diagram klas jest przydatny do mapowania obiektowych języków programowania, takich jak Java, C++, Rubin, Python, itp.

Sprawdź również: - Samouczek dotyczący diagramów UML dla początkujących: Ucz się języka UML online ZA DARMO