Modelowanie i język UML

34
Copyright © Jerzy R. Nawrocki Modelowanie i język UML [email protected] www.cs.put.poznan.pl/jnawrocki/wsb-asi Analiza systemów informatycznych Wykład 4

description

Analiza systemów informatycznych Wykład 4. Modelowanie i język UML. [email protected] 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. - PowerPoint PPT Presentation

Transcript of Modelowanie i język UML

Page 1: Modelowanie i język UML

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

Page 2: Modelowanie i język UML

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

Page 3: Modelowanie i język UML

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

Page 4: Modelowanie i język UML

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

Page 5: Modelowanie i język UML

J.Nawrocki, Modelowanie i język UML

Diagram kontekstu

Kierownik sali

Makler Sprzedawca

System księgowy

System maklerski

Page 6: Modelowanie i język UML

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

Page 7: Modelowanie i język UML

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

Page 8: Modelowanie i język UML

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

Page 9: Modelowanie i język UML

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

Page 10: Modelowanie i język UML

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.

Page 11: Modelowanie i język UML

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

Page 12: Modelowanie i język UML

J.Nawrocki, Modelowanie i język UML

Diagram sekwencji odpowiadający przypadkowi użycia

Rejestrator System

wprowadzenie REGON-u IO

REGON jest niepoprawny

Page 13: Modelowanie i język UML

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

Page 14: Modelowanie i język UML

J.Nawrocki, Modelowanie i język UML

Klasy i obiekty

TransakcjaNazwa klasy

WalutaIlośćKursDataGodzKlient

Atrybuty

WartośćPLN(): floatOperacje

Page 15: Modelowanie i język UML

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

Page 16: Modelowanie i język UML

J.Nawrocki, Modelowanie i język UML

Jakie atrybuty i operacje?

Obywatel

NIPPodatekZaliczka. . .DoZwrotu(): float. . .

Obywatel

PESELPunktyKarany. . .

DodajPkt(int): floatWyzerujPkt()

Page 17: Modelowanie i język UML

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()

Page 18: Modelowanie i język UML

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()

Page 19: Modelowanie i język UML

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)

Page 20: Modelowanie i język UML

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)

Page 21: Modelowanie i język UML

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)

Page 22: Modelowanie i język UML

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)

Page 23: Modelowanie i język UML

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

Page 24: Modelowanie i język UML

J.Nawrocki, Modelowanie i język UML

Asocjacje

Człowiek

Imię: stringNazwisko: stringRokUrodz: int

NoweNazwisko(string)

Żona

DataŚlubu: string

Mąż

1 1..4

Page 25: Modelowanie i język UML

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

Page 26: Modelowanie i język UML

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

Page 27: Modelowanie i język UML

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

Page 28: Modelowanie i język UML

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}

Page 29: Modelowanie i język UML

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}

Page 30: Modelowanie i język UML

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

Page 31: Modelowanie i język UML

J.Nawrocki, Modelowanie i język UML

Obiekty ze stanami

Człowiek

Imię: stringNazwisko: stringStanCywilny: {K, Ż, R, W}

Ślub()Rozwód()Owdowienie()

Page 32: Modelowanie i język UML

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

Page 33: Modelowanie i język UML

J.Nawrocki, Modelowanie i język UML

Podsumowanie

Diagramy przypadków użyciaDiagramy sekwencjiDiagramy klasDiagramy stanów

Page 34: Modelowanie i język UML

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ć?