Ocena diagramu / modelu
Ocena jakości modelu
- Ujęcie istotnych dla klienta elementów (dane, dokumenty, funkcje, zachowania)
- Poprawa efektywności i jakości pracy użytkowników
- Komunikatywność modelu i przyszłego produktu
- Podatność modelu na zmiany
- Konwencje nazewnicze (nazwy klas, operacji etc.)
- Zdolność do integracji z innymi modelami i produktami; relacje między modelami
- Relacje między elementami przedstawione na różnym poziomie abstrakcji
- Przedstawienie modeli na poziomie konceptualnym (logicznym, implementacyjnym i wystąpieniowym
- Udokumentowane konsultacje, przeglądy, weryfikacje, wprowadzone zmiany, walidacja.
- Poprawny
- Kompletny
- Minimalny
- Czytelny
- Samo-tłumaczący się
- Podatny na modyfikacje
Model / diagram jest poprawny, jeśli wszystkie wsytepujące w nim elementy zostały poprawnie użyte we łasicy sposób. Wyróżnia się dwa rodzaje poprawności
Poprawność syntaktyczna - model diagram jest poprawny syntaktycznie, jeżeli wszystkie użyte w nim pojęcia zostały przedstawione w spsoć zgony z regułami składniowymi języka przy pomocy, którego wykonano jego opis.
Poprawność semantyczną model/diagram jest poprawny symentycznie, jeżeli odpowiada sytuacji rzeczywistej poddanej analizie.
Najważniejsze zagadnienia związane z poprawnym identyfikowaniem klas
Klasy nadmiarowe - jeżeli dwie klasy wyrażają te sama informacje to wówczas powinna wybrana być ta, która jest bardziej informatywn. Naprzyklad, jeżeli dla dziedziny problemowej lini lotniczej zdefiniowano klasę pasażer i klient to należy wybrać klasę pasażer, ponieważ jej nazwa lepiej opisuje byt dziedzinowy.
Klasy, nierewantle - jeżeli klasa ma niewielki związek z rozważanym problemem to należy ja pominąć szczególnie w modelu o wysokim poziomie abstrakcji. Naprzyklad dla dziedziny problemowej szkoła, klasa Tablica może, ale nie musi być klasa nierelewantną.
Klasy niejednoznaczne - nazwy klas powinny być dobrane w taki sposób, aby jednoznacznie określały ich przeznaczenie. Naprzyklad nazwa podmiot obsługi nie jest nazwa wlasciowa gdyż w zależności od dziedziny problemowej i kontekstu może być definiowana, jako klient, bank, pasażer itp.
Atrybuty, - jeżeli atrybut może istnieć niezależnie od obiektu to należy rozważać utworzenie w jego miejsce nowej klasy. Na przykład warto się zastanowić czy nie było by lepiej gdyby informacja o dzieciach pracownika została przedtswiona jako klasa połączona asocja z klasa pracownik a nie jako atrybut np. dzieci pracownika bedacy własnością tej klasy.
Operacje - w niektórych sytuacjach może okazac się ze operacja należy przedstwic w ocenie klasy na przykad termin rozmowa telefoniczna może oznaczac operacje ale może również oznaczacklase z atrybutami takimi jak dlugi, taryfa czas.
Klasa zamiast roli asocjacji - nazwa klasy powinna wyrażać jej ogólny charakter nie role, jaka pełni w danym związku z Inn klasa. Termin określający jako wlasiciel samochodu nie jest wlasciowa nazwa kalsy ponieqwaz jes to rola jaka osoba pelni w stosunku do samochodu co wiecej gdyby dla osoby nie zależało przhcowywac inne dane to np. dane o jej dzieciach to nazwa kalsy kazala by się wlasciwa i niezrozumiała.
Klasy odnoszące się do implementacji - model pojęciowy nie powinien zawierac elementów projektowych co oznacza ze nie należy definiowac w modelu pojęciowym klas nie odnoszących się do dziedziny problemowej.
Klasa zamiast atrybutu - jeżeli pewna własności posiada nie zmienione znaczenie to powinna być modelowana jako klasa - może wówczas brac udzial w związkach z innymi klasami. Dla przykładu adres lepiej modelowac w postaci klasy niż atrybutu z kolei nazwisko jest raczej atrybutem.
Identyfikatory - model obiektowy z definicji zapewnia tożsamość obiektów, dlatego nie istnieje istota wprowadzania atrybutowo pełniących role wewnetrzych identyfikatowrow.
Atrybuty wewnętrzne - jeżeli atrybut ma charakter wenwterzy to z definicji może wykrozystwyac tylko niektóre operacje to raczej należy go usunąć z modelu pojęciowego. Prtzykadem mogą być wewnterze atrybuty dla metody oblicz podatek kt?óej przechowywanie podatek w poprzednich latach.
Atrybuty rozszczepiające - jeżeli zdaniem atrybutu jest podzielenie ekstensji danej klasy na podzbiory to o Wiznej semantyce to należy zamiast niego zdefinowac odpowiednie podklasy.
Atrybuty nieistotne - należy unikac przedstawiania wszelkich niistotnych informacji w modelu pojęciowym.
Arubuty odnoszące się do inplenetacji - nie powinny rozniwez być mieszane w modelu pojęciowym.
Atrybut asocjacji
Asocjacje n-arne - stosowanie asocjacji o arnosciach wiekszych niż 2 jest często najlepszym sposobem na wyrazenie na etapie analizy związków zachodzących w obrebie pewnej grupy obiektów. Takie asocjacje SA jednak w fazie projektowania dekomponowane na asocjacjach binarne.
Asocjacje pochodne - Dodawanie nazw ról dla unikniecia niejednoznaczności diagramu - w pewnych sytuacjach opisanie asocjacji pozwala w niejednoznaczny sposób zdefiniowac charakter związku
KOMPELNTOŚć
Model diagram jest kompletny, jeżeli przedstawia wszystkie rewanże cechy rozważanej dziedziny problemowej.
- Asymetria w asocjach i generalizacjach
- Istnienie rozłaczych grup atrybutów i operacji wewnątrz klasy
- Jeżeli pewna klasa pełni Kika zasadniczo ważnych ról.
- Ścieżka dostepnu do obiektów
- Brak operacji wykorzystujących dana asocjacje
- Redundantna informacja w asocjacji
Minimalność
Model diagram jest minimalnyjezlei każdy z aspektów dziedziny problemowej jest przedstawiony na schemacie dokładnie jeden raz
Czytelność
Samo tłumaczenie
Model/diagram jest samotlumaczacy się jeżeli jego analizowana dziedzina jest proelmowa jest przedstawiona w sposób naturalny zrozumialy i na tyle wczyerpujacy ze nie SA wymagane dodatkowe objascnienia.