Modelowanie i język UML

Post on 05-Jan-2016

72 views 0 download

description

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. - PowerPoint PPT Presentation

Transcript of Modelowanie i język UML

Copyright © Jerzy R. Nawrocki

Modelowanie i język UML Modelowanie i język UML

Jerzy.Nawrocki@put.poznan.plwww.cs.put.poznan.pl/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ć?