Copyright © Jerzy R. Nawrocki
Modelowanie i język UML Modelowanie i język UML
[email protected]/jnawrocki/wsb-asi
Analiza systemów informatycznych
Wykład 4
J.Nawrocki, Modelowanie i język UML
Klasyfikacja dobrych praktyk
Dokument SRS
Zbieranie wymagań
Analiza i negocjacja wymag.
Opisywanie wymagań
Modelowanie systemu
Walidacja wymagań
Zarządzanie wymaganiami
IW dla systemów krytycznych
Podst. Pośred. Zaaw.
8
6
54
3
4
4
2
36
-
6
21
3
3
3
3
21
-
1
1-
-
1
2
4
9
J.Nawrocki, Modelowanie i język UML
Modelowanie systemu
1. Opracuj komplementarne modele systemu.
2. Modeluj środowisko systemu
3. Modeluj architekturę systemu
4. Modeluj system przy użyciu metod strukturalnych
5. Wykorzystuj słownik danych
6. Dokumentuj połączenia między wymaganiami a modelami systemu
Sommerville & Sawyer’97
J.Nawrocki, Modelowanie i język UML
Plan wykładu
•Diagramy przypadków użycia •Diagramy sekwencji•Diagramy klas•Diagramy stanów
•Kontrola jakości•Szacowanie rozmiaru i•Standardy serii ISO 9000•Modele CMM/CMMI•Inżynieria wymagań•Zarządzanie projektami •Personal Software Process•Team Software Process•Zwinne metodyki•Rational Unified Process•Projekty dyplomowe
J.Nawrocki, Modelowanie i język UML
Diagram kontekstu
Kierownik sali
Makler Sprzedawca
System księgowy
System maklerski
J.Nawrocki, Modelowanie i język UML
Diagram przypadków użycia
Kierownik sali
Ustalenie limitów
Makler
Wycena kontraktu
Analiza ryzyka
Rejestracja transakcji
Sprzedawca
Przekroczony limit
Określenie wartości
<< zawiera >>
<< zawiera >>
Aktualizacja rachunków
System księgowy
J.Nawrocki, Modelowanie i język UML
Diagram przypadków użycia
Kierownik sali
Ustalenie limitów
Analiza ryzyka
Wycena kontraktu
Rejestracja transakcji
Przekroczony limit
Makler Sprzedawca
Określenie wartości
<< zawiera >>
<< zawiera >>
Aktualizacja rachunków
System księgowy
Uogólnienie
J.Nawrocki, Modelowanie i język UML
Diagram przypadków użycia jako zakres funkcjonalny systemu
Kierownik sali
Ustalenie limitów
Analiza ryzyka
Wycena kontraktu
Rejestracja transakcji
Makler Sprzedawca
Określenie wartości
<< zawiera >>
<< zawiera >>
Aktualizacja rachunków
System księgowy
J.Nawrocki, Modelowanie i język UML
Plan wykładu
•Diagramy przypadków użycia •Diagramy sekwencji•Diagramy klas•Diagramy stanów
•Kontrola jakości•Szacowanie rozmiaru i•Standardy serii ISO 9000•Modele CMM/CMMI•Inżynieria wymagań•Zarządzanie projektami •Personal Software Process•Team Software Process•Zwinne metodyki•Rational Unified Process•Projekty dyplomowe
J.Nawrocki, Modelowanie i język UML
Przypadek użycia
Zarejestruj IOZarejestruj IOAktorAktor: RejestratorGłówny scenariuszGłówny scenariusz1.1. RejestratorRejestrator wprowadza REGON IO.2.2. SystemSystem sprawdza poprawność wprowadzonego REGONu.3.3. RejestratorRejestrator wprowadza pozostałe dane IO.4.4. SystemSystem weryfikuje poprawność składniową wprowadzonych
danych.5.5. RejestratorRejestrator wprowadza dane dotyczące jednostek IO.RozszerzeniaRozszerzenia2a.2a. REGON jest niepoprawny 2a1.2a1. System wyświetla komunikat i wracamy do kroku 1.
J.Nawrocki, Modelowanie i język UML
Diagram sekwencji odpowiadający przypadkowi użycia
Rejestrator System
wprowadzenie REGON-u IO
REGON jest poprawny
pozostałe dane IO
dane są poprawne
dane jednostek IO
J.Nawrocki, Modelowanie i język UML
Diagram sekwencji odpowiadający przypadkowi użycia
Rejestrator System
wprowadzenie REGON-u IO
REGON jest niepoprawny
J.Nawrocki, Modelowanie i język UML
Plan wykładu
•Diagramy przypadków użycia •Diagramy sekwencji•Diagramy klas•Diagramy stanów
•Kontrola jakości•Szacowanie rozmiaru i•Standardy serii ISO 9000•Modele CMM/CMMI•Inżynieria wymagań•Zarządzanie projektami •Personal Software Process•Team Software Process•Zwinne metodyki•Rational Unified Process•Projekty dyplomowe
J.Nawrocki, Modelowanie i język UML
Klasy i obiekty
TransakcjaNazwa klasy
WalutaIlośćKursDataGodzKlient
Atrybuty
WartośćPLN(): floatOperacje
J.Nawrocki, Modelowanie i język UML
Klasy i obiekty
Transakcja
WalutaIlośćKursDataGodzKlient
WartośćPLN(): float
Transakcja
Waluta USDUSDIlość 10001000Kurs 3.413.41Data 2005.10.132005.10.13Godz 13:1513:15Klient AmicaAmica
WartośćPLN(): float
Transakcja
Waluta EUREURIlość 15001500Kurs 4.224.22Data 2005.10.142005.10.14Godz 11:1411:14Klient TivoliTivoli
WartośćPLN(): float
J.Nawrocki, Modelowanie i język UML
Jakie atrybuty i operacje?
Obywatel
NIPPodatekZaliczka. . .DoZwrotu(): float. . .
Obywatel
PESELPunktyKarany. . .
DodajPkt(int): floatWyzerujPkt()
J.Nawrocki, Modelowanie i język UML
Dziedziczenie
Konto: stringPensja: float
NoweKonto(string)NowaPensja(float)Wypłata()
Etatowy Godzinowy
Konto: stringStawka: floatGodz: float
NoweKonto(string)NowaStawka(float)NoweGodz(float)Wypłata()
J.Nawrocki, Modelowanie i język UML
Dziedziczenie
Etatowy
Konto: stringPensja: float
NoweKonto(string)NowaPensja(float)Wypłata()
Godzinowy
Konto: stringStawka: floatGodz: float
NoweKonto(string)NowaStawka(float)NoweGodz(float)Wypłata()
J.Nawrocki, Modelowanie i język UML
Dziedziczenie
Etatowy
Konto: stringPensja: float
NoweKonto(string)NowaPensja(float)Wypłata()
Godzinowy
Konto: stringStawka: floatGodz: float
NoweKonto(string)NowaStawka(float)NoweGodz(float)Wypłata()
Pracownik
Konto: stringNoweKonto(string)
J.Nawrocki, Modelowanie i język UML
Dziedziczenie
Etatowy
Pensja: float
NowaPensja(float)Wypłata()
Godzinowy
Stawka: floatGodz: float
NowaStawka(float)NoweGodz(float)Wypłata()
Pracownik
Konto: stringNoweKonto(string)
J.Nawrocki, Modelowanie i język UML
Dziedziczenie
Etatowy
Pensja: float
NowaPensja(float)Wypłata()
Godzinowy
Stawka: floatGodz: float
NowaStawka(float)NoweGodz(float)Wypłata()
Pracownik
Konto: stringNoweKonto(string)
J.Nawrocki, Modelowanie i język UML
Dziedziczenie
Etatowy
Pensja: floatNowaPensja(float)Wypłata()
Godzinowy
Stawka: floatGodz: float
NowaStawka(float)NoweGodz(float)Wypłata()
Pracownik
Konto: stringNoweKonto(string)
J.Nawrocki, Modelowanie i język UML
Asocjacje
Człowiek
Imię: stringNazwisko: stringRokUrodz: int
NoweNazwisko(string)
Mąż
DataŚlubu: string
Żona
DataŚlubu: string
1 1
J.Nawrocki, Modelowanie i język UML
Asocjacje
Człowiek
Imię: stringNazwisko: stringRokUrodz: int
NoweNazwisko(string)
Żona
DataŚlubu: string
Mąż
1 1..4
J.Nawrocki, Modelowanie i język UML
Asocjacje
Człowiek
Imię: stringNazwisko: stringRokUrodz: int
NoweNazwisko(string)
Żona
DataŚlubu: string
Mąż
1 *
0 .. nieskończoności
J.Nawrocki, Modelowanie i język UML
Nawigowalność = możliwość przejścia od obiektu do obiektu
Człowiek
Imię: stringNazwisko: stringRokUrodz: int
NoweNazwisko(string)
Żona
DataŚlubu: string
Mąż
1 1..4
J.Nawrocki, Modelowanie i język UML
Nawigowalność = możliwość przejścia od obiektu do obiektu
Człowiek
Imię: stringNazwisko: stringRokUrodz: int
NoweNazwisko(string)
Żona
DataŚlubu: string
Mąż
DataŚlubu: string
1 1
J.Nawrocki, Modelowanie i język UML
Ograniczenia
Człowiek
Imię: stringNazwisko: stringRokUrodz: int
NoweNazwisko(string)
Żona
DataŚlubu: string
Mąż
DataŚlubu: string
1 1
{Mąż.DataŚlubu == Mąż.Żona.DataŚlubu}
J.Nawrocki, Modelowanie i język UML
Ograniczenia
Człowiek
Imię: stringNazwisko: stringRokUrodz: int
NoweNazwisko(string)
Żona
DataŚlubu: string
Mąż
1 1..4
{Żona.RokUrodz > Żona.Mąż.RokUrodz – 50}
J.Nawrocki, Modelowanie i język UML
Plan wykładu
•Diagramy przypadków użycia •Diagramy sekwencji•Diagramy klas•Diagramy stanów
•Kontrola jakości•Szacowanie rozmiaru i•Standardy serii ISO 9000•Modele CMM/CMMI•Inżynieria wymagań•Zarządzanie projektami •Personal Software Process•Team Software Process•Zwinne metodyki•Rational Unified Process•Projekty dyplomowe
J.Nawrocki, Modelowanie i język UML
Obiekty ze stanami
Człowiek
Imię: stringNazwisko: stringStanCywilny: {K, Ż, R, W}
Ślub()Rozwód()Owdowienie()
J.Nawrocki, Modelowanie i język UML
Diagram stanów
Żonaty
Znalazł wybrankę [wiek > 18] / Ślub/ R
ozwó
d
Rozwodnik
Znala
zł wy
bran
kę / Ś
lub
Wdowiec
Śmierć żony /
OwdowienieZnalazł wybrankę / Ślub
Kawaler
/ Narodziny
J.Nawrocki, Modelowanie i język UML
Podsumowanie
Diagramy przypadków użyciaDiagramy sekwencjiDiagramy klasDiagramy stanów
J.Nawrocki, Modelowanie i język UML
Ocena wykładu
1. Wrażenie ogólne (1 - 6)2. Za szybko czy za wolno?3. Czy dowiedziałeś się czegoś ważnego?4. Co i jak poprawić?
Top Related