Modelowanie i język UML J.Nawrocki Wykł. 3 Analiza systemów informatycznych Wykład 4 Modelowanie i język UML Jerzy.Nawrocki@put.poznan.pl www.cs.put.poznan.pl/jnawrocki/wsb-asi Analiza systemów inf.
Klasyfikacja dobrych praktyk Podst. Pośred. Zaaw. 8 6 5 4 3 2 36 - 6 2 1 3 21 - 1 2 4 9 Dokument SRS Zbieranie wymagań Analiza i negocjacja wymag. Opisywanie wymagań Modelowanie systemu Walidacja wymagań Zarządzanie wymaganiami IW dla systemów krytycznych J.Nawrocki, Modelowanie i język UML
1. Opracuj komplementarne modele systemu. 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
Diagramy przypadków użycia Diagramy sekwencji Diagramy klas J.Nawrocki Plan wykładu Wykł. 3 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 Analiza systemów inf.
System maklerski Diagram kontekstu Kierownik sali System księgowy Sprzedawca J.Nawrocki, Modelowanie i język UML
Diagram przypadków użycia Ustalenie limitów Aktualizacja rachunków Kierownik sali System księgowy Analiza ryzyka Określenie wartości << zawiera >> << zawiera >> Wycena kontraktu Rejestracja transakcji Makler Sprzedawca Przekroczony limit J.Nawrocki, Modelowanie i język UML
Diagram przypadków użycia Ustalenie limitów Aktualizacja rachunków Kierownik sali System księgowy Analiza ryzyka << zawiera >> Określenie wartości << zawiera >> Wycena kontraktu Rejestracja transakcji Makler Sprzedawca Uogólnienie Przekroczony limit J.Nawrocki, Modelowanie i język UML
Diagram przypadków użycia jako zakres funkcjonalny systemu Ustalenie limitów Aktualizacja rachunków Kierownik sali System księgowy Analiza ryzyka << zawiera >> Określenie wartości << zawiera >> Wycena kontraktu Rejestracja transakcji Makler Sprzedawca J.Nawrocki, Modelowanie i język UML
Diagramy przypadków użycia Diagramy sekwencji Diagramy klas J.Nawrocki Plan wykładu Wykł. 3 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 Analiza systemów inf.
Przypadek użycia Zarejestruj IO Aktor: Rejestrator Główny scenariusz Rejestrator wprowadza REGON IO. System sprawdza poprawność wprowadzonego REGONu. Rejestrator wprowadza pozostałe dane IO. System weryfikuje poprawność składniową wprowadzonych danych. Rejestrator wprowadza dane dotyczące jednostek IO. Rozszerzenia 2a. REGON jest niepoprawny 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
Diagramy przypadków użycia Diagramy sekwencji Diagramy klas J.Nawrocki Plan wykładu Wykł. 3 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 Analiza systemów inf.
Klasa Klasy i obiekty Nazwa klasy Transakcja Waluta Ilość Kurs Data Godz Klient Atrybuty WartośćPLN(): float Operacje Klasa J.Nawrocki, Modelowanie i język UML
Obiekt Obiekt Klasa Klasy i obiekty Transakcja Transakcja Waluta USD Ilość 1000 Kurs 3.41 Data 2005.10.13 Godz 13:15 Klient Amica WartośćPLN(): float Obiekt Transakcja Waluta EUR Ilość 1500 Kurs 4.22 Data 2005.10.14 Godz 11:14 Klient Tivoli WartośćPLN(): float Obiekt Waluta Ilość Kurs Data Godz Klient WartośćPLN(): float Klasa J.Nawrocki, Modelowanie i język UML
Jakie atrybuty i operacje? Obywatel PESEL Punkty Karany . . . DodajPkt(int): float WyzerujPkt() Policja Obywatel NIP Podatek Zaliczka . . . DoZwrotu(): float Urząd Skarbowy J.Nawrocki, Modelowanie i język UML
Dziedziczenie Etatowy Godzinowy Konto: string Pensja: float NoweKonto(string) NowaPensja(float) Wypłata() Konto: string Stawka: float Godz: float NoweKonto(string) NowaStawka(float) NoweGodz(float) Wypłata() J.Nawrocki, Modelowanie i język UML
Dziedziczenie Etatowy Godzinowy Konto: string Pensja: float Stawka: float Godz: float NoweKonto(string) NowaPensja(float) Wypłata() NoweKonto(string) NowaStawka(float) NoweGodz(float) Wypłata() J.Nawrocki, Modelowanie i język UML
Pracownik Etatowy Godzinowy Dziedziczenie Pracownik Konto: string NoweKonto(string) Etatowy Godzinowy Konto: string Pensja: float Konto: string Stawka: float Godz: float NoweKonto(string) NowaPensja(float) Wypłata() NoweKonto(string) NowaStawka(float) NoweGodz(float) Wypłata() J.Nawrocki, Modelowanie i język UML
Pracownik Etatowy Godzinowy Dziedziczenie Pracownik Konto: string NoweKonto(string) Etatowy Godzinowy Pensja: float Stawka: float Godz: float NowaPensja(float) Wypłata() NowaStawka(float) NoweGodz(float) Wypłata() J.Nawrocki, Modelowanie i język UML
Pracownik Etatowy Godzinowy Dziedziczenie Pracownik Konto: string NoweKonto(string) Etatowy Godzinowy Pensja: float Stawka: float Godz: float NowaPensja(float) Wypłata() NowaStawka(float) NoweGodz(float) Wypłata() J.Nawrocki, Modelowanie i język UML
Pracownik Etatowy Godzinowy Dziedziczenie Pracownik Konto: string NoweKonto(string) Etatowy Godzinowy Pensja: float Stawka: float Godz: float NowaPensja(float) Wypłata() NowaStawka(float) NoweGodz(float) Wypłata() J.Nawrocki, Modelowanie i język UML
NoweNazwisko(string) Asocjacje Człowiek Imię: string Nazwisko: string RokUrodz: int NoweNazwisko(string) Mąż DataŚlubu: string Żona DataŚlubu: string 1 1 J.Nawrocki, Modelowanie i język UML
NoweNazwisko(string) Asocjacje Człowiek Imię: string Nazwisko: string RokUrodz: int NoweNazwisko(string) Mąż Żona 1 1..4 DataŚlubu: string J.Nawrocki, Modelowanie i język UML
NoweNazwisko(string) Asocjacje Człowiek Imię: string Nazwisko: string RokUrodz: int NoweNazwisko(string) Mąż Żona 1 * DataŚlubu: string 0 .. nieskończoności J.Nawrocki, Modelowanie i język UML
Nawigowalność = możliwość przejścia od obiektu do obiektu Człowiek Imię: string Nazwisko: string RokUrodz: int NoweNazwisko(string) Mąż Żona 1 1..4 DataŚlubu: string J.Nawrocki, Modelowanie i język UML
Nawigowalność = możliwość przejścia od obiektu do obiektu Człowiek Imię: string Nazwisko: string RokUrodz: int NoweNazwisko(string) Mąż Żona 1 1 DataŚlubu: string DataŚlubu: string J.Nawrocki, Modelowanie i język UML
NoweNazwisko(string) Ograniczenia Człowiek Imię: string Nazwisko: string RokUrodz: int NoweNazwisko(string) Mąż Żona 1 1 DataŚlubu: string DataŚlubu: string {Mąż.DataŚlubu == Mąż.Żona.DataŚlubu} J.Nawrocki, Modelowanie i język UML
NoweNazwisko(string) Ograniczenia Człowiek Imię: string Nazwisko: string RokUrodz: int NoweNazwisko(string) Mąż Żona 1 1..4 DataŚlubu: string {Żona.RokUrodz > Żona.Mąż.RokUrodz – 50} J.Nawrocki, Modelowanie i język UML
Diagramy przypadków użycia Diagramy sekwencji Diagramy klas J.Nawrocki Plan wykładu Wykł. 3 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 Analiza systemów inf.
Obiekty ze stanami Człowiek Imię: string Nazwisko: string StanCywilny: {K, Ż, R, W} Ślub() Rozwód() Owdowienie() J.Nawrocki, Modelowanie i język UML
Kawaler Żonaty Rozwodnik Wdowiec Diagram stanów Kawaler / Narodziny Żonaty Znalazł wybrankę [wiek > 18] / Ślub Znalazł wybrankę / Ślub Znalazł wybrankę / Ślub / Rozwód Rozwodnik Wdowiec Śmierć żony / Owdowienie J.Nawrocki, Modelowanie i język UML
Wreszcie! Podsumowanie Diagramy przypadków użycia Diagramy sekwencji Diagramy klas Diagramy stanów Wreszcie! J.Nawrocki, Modelowanie i język UML
3. Czy dowiedziałeś się czegoś ważnego? 4. Co i jak poprawić? 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ć? J.Nawrocki, Modelowanie i język UML