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 |



Możliwość komentowania została wyłączona.