350 likes | 663 Views
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. Klasyfikacja dobrych praktyk. Podst. Pośred. Zaaw. 36. 21. 9. 8. -. -. 6. 6. 1. 5. 2. 1. 4. 1. -. 3. 3. -. 4. 3. 1. 4. 3. 2. 2.
E N D
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
Klasyfikacja dobrych praktyk Podst. Pośred. Zaaw. 36 21 9 8 - - 6 6 1 5 2 1 4 1 - 3 3 - 4 3 1 4 3 2 2 3 4 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
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 System księgowy Kierownik sali Makler Sprzedawca System maklerski J.Nawrocki, Modelowanie i język UML
Diagram przypadków użycia Aktualizacja rachunków Ustalenie limitów Analiza ryzyka << zawiera >> Określenie wartości << zawiera >> Wycena kontraktu Rejestracja transakcji Przekroczony limit System księgowy Kierownik sali Makler Sprzedawca J.Nawrocki, Modelowanie i język UML
Diagram przypadków użycia Aktualizacja rachunków Ustalenie limitów System księgowy Kierownik sali 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 Aktualizacja rachunków Ustalenie limitów System księgowy Kierownik sali Analiza ryzyka << zawiera >> Określenie wartości << zawiera >> Wycena kontraktu Rejestracja transakcji Makler Sprzedawca 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 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 wprowadzenie REGON-u IO REGON jest poprawny pozostałe dane IO dane są poprawne dane jednostek IO Rejestrator System J.Nawrocki, Modelowanie i język UML
Diagram sekwencji odpowiadający przypadkowi użycia wprowadzenie REGON-u IO REGON jest niepoprawny Rejestrator System 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 Nazwa klasy Transakcja Waluta Ilość Kurs Data Godz Klient Atrybuty Operacje WartośćPLN(): float Klasa J.Nawrocki, Modelowanie i język UML
Klasy i obiekty Transakcja Transakcja Waluta USD Ilość 1000 Kurs 3.41 Data 2005.10.13 Godz 13:15 Klient Amica Waluta EUR Ilość 1500 Kurs 4.22 Data 2005.10.14 Godz 11:14 Klient Tivoli WartośćPLN(): float WartośćPLN(): float Obiekt Obiekt Transakcja Waluta Ilość Kurs Data Godz Klient WartośćPLN(): float Klasa J.Nawrocki, Modelowanie i język UML
Jakie atrybuty i operacje? Obywatel Obywatel PESEL Punkty Karany . . . NIP Podatek Zaliczka . . . DodajPkt(int): float WyzerujPkt() DoZwrotu(): float . . . Policja Urząd Skarbowy J.Nawrocki, Modelowanie i język UML
Dziedziczenie 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
Dziedziczenie 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
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
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
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
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
Asocjacje Człowiek Imię: string Nazwisko: string RokUrodz: int NoweNazwisko(string) Mąż Żona DataŚlubu: string DataŚlubu: string 1 1 J.Nawrocki, Modelowanie i język UML
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
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
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
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
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ę: string Nazwisko: string StanCywilny: {K, Ż, R, W} Ślub() Rozwód() Owdowienie() J.Nawrocki, Modelowanie i język UML
Diagram stanów / Narodziny Kawaler Znalazł wybrankę [wiek > 18] / Ślub Żonaty Znalazł wybrankę / Ślub / Rozwód Śmierć żony / Owdowienie Znalazł wybrankę / Ślub Rozwodnik Wdowiec J.Nawrocki, Modelowanie i język UML
Podsumowanie Diagramy przypadków użycia Diagramy sekwencji Diagramy klas Diagramy stanów Wreszcie! 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ć? J.Nawrocki, Modelowanie i język UML