• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Diagram klas UML, a struktura

VPS Starter Arubacloud
0 głosów
923 wizyt
pytanie zadane 24 października 2018 w C i C++ przez Kris1992 Nowicjusz (120 p.)
Witam,

jestem w trakcie realizacji diagramu klas do mojego dużego projektu i mam pewien dylemat, ponieważ opracowywany diagram będzie prezentowany w formie urywków. W niektórych przypadkach dość istotnym dla funkcjonowania całego systemu elementem są struktury. Stąd moje pytanie czy mogę taki element jak struktura danych umieścić w diagramie klas tak aby nie naruszyć zasad jego konstruowania?? Jeśli tak to mogę taką strukturę opisać po prostu jako klasę zawierającą liczbę n atrybutów bez żadnej metody czy należy to jakoś specjalnie oznaczyć?? Drugie moje pytanie odnosi się umieszczania konstruktorów i destruktorów w takim diagramie. Na pewnej stronie wyczytałem, iż przyjmuje się praktykę nie umieszczania takich elementów. Jest to zatem jakiś poważny błąd?

Za odpowiedź z góry dziękuję
Krzysztof

2 odpowiedzi

0 głosów
odpowiedź 24 października 2018 przez criss Mędrzec (172,590 p.)

"Struktura" jest klasą. `struct` to tylko słowo kluczowe i służy do deklaracji klasy. Coś takiego jak struktura nie istnieje w c++. Zatem:

Stąd moje pytanie czy mogę taki element jak struktura danych umieścić w diagramie klas tak aby nie naruszyć zasad jego konstruowania??

Wg mnie jak najbardziej.

Jeśli tak to mogę taką strukturę opisać po prostu jako klasę zawierającą liczbę n atrybutów bez żadnej metody czy należy to jakoś specjalnie oznaczyć??

Skoro dla ciebie to będą tylko zbiory powiązanych ze sobą zmiennych, to... możesz sobie oznaczyć innym kolorem, ale myślę że równie dobrze mogłoby nie być żadnych różnic względem klas deklarowanych z użyciem słówka `class` tak jak i w praktyce ich nie ma.

Na pewnej stronie wyczytałem, iż przyjmuje się praktykę nie umieszczania takich elementów. Jest to zatem jakiś poważny błąd?

O ile ten diagram ma służyć tobie, a nie jest to jakiś projekt z wymaganiami typu "tak bo tak", to szczerze nie rozumiem skąd te wszystkie pytania. Rób tak jak ci wygodnie (IMO lepiej, żeby były konstruktory, no bo to dość ważne jednak), a jeśli to jakieś zaliczenie czy zlecenie, to rób tak jak ci każą :P Nie wiem czy jest jakiś dekalog robienia UML-ów, no ale koniec końców to jest tylko diagram i nic nie przestanie działać jeśli coś będzie innego koloru albo będą konstruktory (już prędzej zepsujesz coś przy implementacji jeśli tych konstruktorów na UML-u nie będzie tak swoją drogą...)

0 głosów
odpowiedź 25 października 2018 przez mokrowski Mędrzec (155,460 p.)
Strukturę w UML 2.* oznaczasz z użyciem stereotypu <<struct>> ponad nazwą klasy. Taka klasa posiadać będzie wyłącznie atrybuty opatrzone specyfikacją widoczności public (czyli + "plus").

Konstruktory i destruktory na diagramie możesz umieścić ale nie masz takiego obowiązku bo nie precyzujesz dla jakiego rodzaju platformy wykonania (ang. computation) to robisz. Jeśli jest to poziom modelowania zbliżony do runtime i po wybraniu technologii (PM - platform model czyli nie CIM - computation independent model), masz obowiązek ich umieszczenia.

UML nie odnosi się do kolorów zapisu. Jedynie określa że nazwy klas abstrakcyjnych powinny być zapisane pochyłą czcionką a metody/atrybuty statyczne, czcionką z podkreśleniem. Reszta to pomysły producentów oprogramowania (czego jeszcze raz, standard UML nie zabrania).

Podobne pytania

0 głosów
1 odpowiedź 400 wizyt
pytanie zadane 2 maja 2020 w Rozwój zawodowy, nauka, praca przez gorgonkowa Obywatel (1,810 p.)
0 głosów
1 odpowiedź 771 wizyt
0 głosów
0 odpowiedzi 1,498 wizyt
pytanie zadane 25 czerwca 2018 w Inne języki przez HDRGXS Początkujący (470 p.)

92,453 zapytań

141,262 odpowiedzi

319,085 komentarzy

61,854 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...