Diagram klas - prosze o małą pomoc




trolejbus13.05.2005 20:03:52
#
Dołączył: 13.05.2005

Witam, jestem początkujący w tym temacie i nie moge za bardzo znaleźć odpowiedzi jak na diagramie klas połączyć obiekty nieprogramowe które mozna przedstawić za pomocą klasy, np jakies urzadzenie (dajmy na to drukarka). Jak je połączyć z całym diagramem, czy tez z kalsą jakąś ? czy może tak się nie robi ? Prosze o pomoc, bede wdzięczny.Z góry dzięki za odpowiedz. Pozdro

adrian14.05.2005 13:58:30
#
Dołączył: 20.06.2004

Witam,

Problem jest znany, ale UML nie dostarcza (chyba) zbyt ładnych rozwiązań, by taką sytuację zamodelować.

Proponuję najpierw podejść do sprawy metodą "szkolno-biznesową", tzn. nie wnikając w implementację starać się szukać powiązań pomiędzy obiektami (przysłowiowymi "reczownikami"). Powiesz wówczas np. drukarka drukuje dokumenty, masz klasę [drukarka] i klasę [dokument], pomiędzy nimi jest połączenie. Wnikając nieco bardziej "systemowo" określasz odpowiednie metody (na wyczucie, po tym m.in. się poznaje dobrego analityka ;) ), np. dokument.drukuj(), ewentualne pomocnicze klasy zarządzające, etc.

W tym momencie można zacząć się zastanawiać jaki sens mają poszczególne obiekty i jak mocno wchodzą w skład rozpatrywanego systemu. W momencie, kiedy okaże się np. drukarka jest poza systemem, możesz ją rozbić na 2 powiązane klasy: istniejącą nazwać [drukarka-interfejs], i dodać nową klasę [drukarka-urządzenie]. Pierwsza jest w systemie, a druga poza. Wszystkie pozostałe klasy widzą jedynie klasę [drukarka-interfejs], jakby była rzeczywistą drukarką i korzystają z udostępnionych przez nią metod. W implementacji z klasy [drukarka-interfeks] zrobi się pewnie "sterownik" drukarki, albo nakładka na taki sterownik, i wyjdzie w miarę standardowo :).

Ale do problemu można naprawdę podejść na mnóstwo różnych sposobów, jeżeli ten Ci nie leży, to proszę się nie sugerować.

janki18.05.2005 19:22:17
#
Dołączył: 19.03.2005

Czesc.. To, czy powinienes opisac dokladnie ta czesc twojego systemu, zalezy od tego, na jakim etapie projektowania jestes.. Jesli wykonujesz projekt systemu, nie musisz sie bardzo przejmowac szczegolami... Utworzysz klase drukarka i nie rozpatrujesz tego, czy obiekt tej klasy to fizyczna drukarka, czy obiekt strujacy.

Jesli jestes na etapie projektu obiektowego, to gleboko zastanow sie, jakie klasy bedziesz musial stworzyc. Ja zwykle tworze klase np. "Wydruk", ktorej obiekt przechowuje wszystkie informacje potrzebne do wydruku (zbierane z innych obiektow). Ta tez klase zaznaczam na diagramie obiektowym. Wiadomo, trzeba jeszcze stworzyc polaczenie z drukarka, jednak klasy takie zwykle dostarcza juz srodowisko programistyczne - tu moga wykazac sie juz programisci...:) Nigdy jednak drukowanie nie bylo krytyczna czescia systemow, ktore projektowalem...:)

Pozdrawiam...:)




Kontakt

Jeśli chcesz się z nami skontaktować napisz na adres: info(at)binboy.org lub odwiedź nasz profil na Facebooku!

O Nas

Serwis binboy.org to kopalnia wiedzy dla wszystkich z branży IT, w szczególności dla programistów i webmasterów. To duży zbiór kursów programowania, tutoriali, darmowych ebooków, setki kodów źródłowych itp.

Bądź w kontakcie

Panel użytkownika

Zaloguj się do panelu użytkownika.
Nie masz konta? Zarejestruj się!
Zapomniałeś hasła?