Reguła biznesowa - omówienie

Nasza ocena:

3
Pobrań: 56
Wyświetleń: 882
Komentarze: 0
Notatek.pl

Pobierz ten dokument za darmo

Podgląd dokumentu
Reguła biznesowa - omówienie - strona 1

Fragment notatki:

OCL:
Reguła biznesowa jest stwierdzeniem, które definiuje lubogranicza pewne elementy/aspekty biznesu.Opisuje operacje definicje i ograniczenia, które stosuje się doorganizacji zapewniając osiągnięcie jej celów; jest abstrakcją politykii praktyk stosowanych w organizacji.
Kategorie reguł:
• Definicja terminów biznesowych (np. obywatelpolski, posiadający adres zam. w POLSCE…)
• Fakty pokazujące relacje między terminami (Czytelnik może wypozyczyćksiązkę)
• Ograniczenia (określenie zachowania, wartość; mozna miećwypozycz. max 5 ksiązek w jednym czasie.)
• Wnioskowania (wiedza z jednej postaci przekształcona w innąwiedzę- Czytelnik musi mieć PESEL)
stereotypy : Element klasyfikacyjny, używany do specjalizacji(uzupełnienia) semantyki elementu modelu jużzdefiniowanegow języku np.: ()
wartosci znakowane : Bezpośredni opis właściwości elementu modelu w postaci parynazwa - wartość (Name = Value ;Name)
Ograniczenia : Semantyczny warunek lub zawęzenienałozone na element modelu/restrykcja nałozona na jedną lub więcej wartości (części) modelu lubsystemu obiektowego
Składnia : Zdefiniowana przez OCL - Object Constraint Languagezapisywane w nawiasach klamrowych {ograniczenie}
Przykłady
{ subset } { x.a 10 } { ordered }
Dzięki ograniczeniom uzyskuje się:
• poprawienie jakości dokumentacji
• zwiększenie precyzji diagramów
• polepszenie zrozumienia miedzy klientem a projektantami
Dowolne elementy modelu UML (klasy, atrybuty, operacje) mogąbyć opatrzone ograniczeniami, zapisywanymi w nawiasach {}.
Ograniczenia na model system mogą przyjąć postać:
1. niezmienników dla atrybutów klasy
2. niezmienników dla asocjacji klasy
3. określenia warunków początkowych i końcowych realizacji operacji
4. ograniczeń dla relacji generalizacji
5. precyzowania sposobu postępowania z kolekcjami
W UML są zdefiniowane 3 stereotypy odpowiadające pojęciom 1-3:
«invariant», «precondition» oraz «postcondition
Język OCL -podstawy
Charakterystyka języka OCL:
- język deklaratywny
- kontekstowy język wyrażeń
- silnie typizowany z rozbudowaną hierarchią typów
- bez tzw. efektów ubocznych (nie zmienia stanu modelu)
- prosty (zgodnie z deklaracją autorów)
Wyrazenia OCL są wykorzystywane m.in. do definicji:
1) inwariantów (niezmienników) klas,
2) warunków pre i post dla operacji
3) specyfikacji wyrażeń nawigacyjnych
Ograniczenie OCl jest wyrażeniem OCL typu Boolean.


(…)

… przez nawigacjęza pomocą notacji kropkowej. Drugi koniec jest identyfikowany przez nazwę roli lub, gdy jej brak,przez nazwę klasy (pisaną małą literą).
context Rezerwacja inv:czytelnik.nazwa<> `' -- czytelnik musi mieć nazwę;
Ograniczenia: Nawigowanie po modelu - kolekcje
Jeśli występuje powiązanie obiektu z wieloma obiektami klasy, toodwołania dotyczą kolekcji obiektów.
Do własności kolekcji odwołuje się poprzez notację „->”,
np. jeżeli X jest kolekcją,to X->size() jest wywołaniem funkcji zwracającej rozmiarkolekcji.
Przykład:
context Czytelnik inv:
self.rezerwacja->size() < 3
-- czytelnik ma najwyżej 3 rezerwacje
Typy języka OCL (cd)
Predefiniowane typy kolekcyjne Collection(T) to
• zbiory - Set(T)
• ciągi - Sequence(T)
• wielozbiory - Bag(T)
Typy specjalne
• OclAny -- nadtyp wszystkich innych typów OCL…
… jestinstancja (wartość) typu t2, może ona zastąpiona przez instancjętypu t1.
Każdy typ jest zgodny ze swoim nadtypem.
Relacja zgodności typów jest przechodnia.
Typ jest zgodny zInteger Real
Set(T) Collection(T)
Sequence(T) Collection(T)
Bag(T) Collection(T)
Collection(T1) Collection(T2), gdy T1 jest podtypem T2
Operacje kolekcji
Podstawowe operacje dla kolekcji
collection->isEmpty() : Boolean
- sprawdza czy kolekcja jest pusta,
collection->size() : Integer
- zwraca rozmiar kolekcji (ilość jejelementów),
collection->includes(object : OclAny) : Boolean
- sprawdza czy obiektobject jest w danej kolekcji
collection->sum() : T - zwraca sumę wszystkich elementów kolekcji,
collection->exists(expr : OclExpression) : Boolean
collection->forAll (expr : OclExpression) : Boolean
operacje reprezentujące kwantyfikatory
… czy kolekcja jest pusta,
collection->size() : Integer
- zwraca rozmiar kolekcji (ilość jejelementów),
collection->includes(object : OclAny) : Boolean
- sprawdza czy obiektobject jest w danej kolekcji
collection->sum() : T - zwraca sumę wszystkich elementów kolekcji,
collection->exists(expr : OclExpression) : Boolean
collection->forAll (expr : OclExpression) : Boolean
operacje reprezentujące kwantyfikatory
... zobacz całą notatkę



Komentarze użytkowników (0)

Zaloguj się, aby dodać komentarz