Ten rozdział opisuje kontrolę modelu oprogramowania: metody kontroli oraz przepisy używane przy kontroli.
- Weryfikacja Modelu
- Reguły Dobrego Formułowania
Weryfikacja Modelu
Użytkownicy mogą popełniać dużo błędów podczas modelowania oprogramowania. Takie błędy mogą być groAone jeśli nie zostaną poprawione przed końcowym etapem programowania. W celu zapobiegania temu problemowi, StarUML? pozwala na weryfikację modelu oprogramowania poprzez stosowanie podstawowych przepisów UML.
Procedura Weryfikacji Modelu:
- Wybierz [Model] -> [Verify Model?] menu.
- W oknie Weryfikacji Modelu kliknij przycisk [Verify].
- Gdy weryfikacja zostanie zakończona sekcja [Messages] wyświetla nazwy elementów, które nie przeszły pomyślnie weryfikacji, oraz z dlaczego. Kliknij dwukrotnie na wiadomość aby zobaczyć szczegóły.
Reguły Dobrego Formułowania
Do weryfikacji modelu zdefiniowano trzydzieści osiem reguł. Te definicje są głównie przebudowane na podstawie Reguł Dobrego Formułowania w specyfikacji UML.
Lista Przepisów Weryfikacji Modelu
Lp. | Zawartość Przepisów | Elementy Zaaplikowane |
---|---|---|
1 |
Końce Powiązania w obrębie Powiązania muszą posiadać unikalne nazwy. |
Powiązanie |
2 |
Dwie lub więcej Agregacji lub Złożonych końców Powiązań nie może istnieć w obrębie Powiązania. |
Powiązanie |
3 |
Parametry muszą posiadać unikalne nazwy. |
Cecha Behavioralna |
4 |
Atrybuty o tych samych nazwach nie mogą istnieć w jednym Klasyfikatorze. |
Klasyfikator |
5 |
Końce Powiązania po drugiej stronie muszą posiadać unikalne nazwy. |
Klasyfikator |
6 |
Atrybut nie może posiadać takiej samej nazwy jak Powiązanie po drugiej stronie, albo jak elementy zawarte w Klasyfikatorze. |
Klasyfikator |
7 |
AssociationEnd on the other side cannot have the same name as elements included in Classifier or its Attribute name. |
Klasyfikator |
8 |
Root element cannot have elements that are more generalized than itself. |
Element Generalizacyjny |
9 |
Leaf element cannot have elements that are more specialized than itself. |
Element Generalizacyjny |
10 |
Looped inheritance structure is not allowed. |
Element Generalizacyjny |
11 |
All features of interfaces must be public. |
Interfejs |
12 |
ComponentInstance must accurately assign a component as its origin. |
Instancja Komponentów |
13 |
NodeInstance must accurately assign a node as its origin. |
Instancja Węzła |
14 |
AssociationEndRole must be connected with ClassifierRole. |
Rola Końca Asocjacji |
15 |
Rola Klasyfikatora nie może mieć własnych cech. |
Rola Klasyfikatora |
16 |
Rola Klasyfikatora nie może stać się Rolą Klasyfikatora dla innej Roli Klasyfikatora. |
Rola Klasyfikatora |
17 |
Sender and receiver of a message must participate in the collaboration that constitutes the interaction context. |
Wiadomość |
18 |
Actor can only have associations that are connected to UseCase, Class or Subsystem. |
Aktor |
19 |
CompositeState can have a maximum of one initial state only. |
CompositeState |
20 |
CompositeState can have a maximum of one deep history only. |
CompositeState |
21 |
CompositeState can have a maximum of one shallow history only. |
CompositeState |
22 |
Concurrent composite state must contain a minimum of two composite states. |
CompositeState |
23 |
Concurrent state can only have composite state as its sub state. |
CompositeState |
24 |
Final state cannot have outgoing transition. |
FinalState |
25 |
Initial state can have a maximum of one outgoing transition and cannot have incoming transition. |
PseudoStan |
26 |
History state can have a maximum of one outgoing transition. |
PseudoStan |
27 |
Junction vertex must have a minimum of one incoming transition and one outgoing transition each. |
PseudoStan |
28 |
Choice vertex must have a minimum of one incoming transition and one outgoing transition each. |
PseudoStan |
29 |
StateMachine może być zintegrowany albo z Klasyfikatorem lub z Cechą Behawioralną. |
StateMachine |
30 |
Stan główny musi być zawsze stanem złożonym. |
StateMachine |
31 |
A?aden stan nie może zawierać stanu głównego. |
StateMachine |
32 |
Stan główny nie może mieć wychodzących przejść. |
StateMachine |
33 |
>SubmachineStates nie może posiadać zbieżności. |
SubmachineState |
34 |
Przejście, które wskazuje PseudoStan nie może posiadać Wyzwalacza. |
Przejście |
35 |
GrafAktywności może wyrażać dynamiczne zachowanie Pakietu, Klasyfikatora lub CechyBehawioralnej. |
GrafAktywności |
36 |
StanAkcji nie może mieć wewnętrznej akcji przejścia, wyjścia lub wykonywać akcji. |
StanAkcji |
37 |
Outgoing transition of ActionState cannot have trigger event. |
StanAkcji |
38 |
Stan PodAktywności musi być połączony z GrafemAktywności. |
Stan PodAktywności |
Dodawanie komentarzy zostało zablokowane.