inżynieria oprogramowani6 VG62CYTBQVL7PDQUQ7BFJOO5UV2OWMVEHAU5OTY


Inżynieria oprogramowania - 7 Slide 1

Modele systemu

. Abstrakcyjny opis systemów

których wymagania są

analizowane

Inżynieria oprogramowania - 7 Slide 2

Cele

. Wyjaśnienie dlaczego kontekst systemu powinien

być modelowany jako część procesu RE

. Opis modelowania zachowania, modelowania

danych i modelowania obiektowego

. Przedstawienie niektórych notacji

zdefiniowanych w języku UML (Unified

Modeling Language)

Inżynieria oprogramowania - 7 Slide 3

Zawartość

. Modele kontekstowe

. Modele zachowania

. Modele danych

. Modele obiektowe

Inżynieria oprogramowania - 7 Slide 4

Modelowanie systemu

. Modelowanie systemu pomaga zrozumieć

funkcjonalność systemu a modele używane są do

komunikacji z klientem

. żne modele przedstawiają system z różnych

punktów widzenia

. Zewnętrznego - przedstawia kontekst systemu lub jego

środowisko

. Zachowania - przedstawia zachowanie systemu

. Strukturalnego - przedstawia system lub architekturę danych

Inżynieria oprogramowania - 7 Slide 5

Metody strukturalne

. Metody strukturalne uwzględniają modelowanie

systemu jako nieodłączną część metody

. Metody strukturalne definiują zbiór modeli,

proces używany do opracowywania tych modeli

oraz reguły i wskazówki które powinny być

zastosowane do modeli

Inżynieria oprogramowania - 7 Slide 6

Wady metod strukturalnych

. Nie wspomagają modelowania niefunkcjonalnych

wymagań systemu

. Zwykle nie zawierają informacji czy dana metoda

jest odpowiednia dla danego problemu

. Wytwarzają zbyt obszerną dokumentację

. Modele systemu są czasami zbyt szczegółowe i

trudne do zrozumienia dla użytkowników

Inżynieria oprogramowania - 7 Slide 7

Typy modeli

. Model przetwarzania danych przedstawia w jaki

sposób dane są przetwarzane w różnych etapach

. Model składania przedstawia w jaki sposób

jednostki systemu złożone są z innych jednostek

. Model architektoniczny przedstawia zasadnicze

podsystemy

. Model klas przedstawia wspólne cechy jednostek

systemu

. Model bodziec-reakcja przedstawia reakcje

systemu za konkretne zdarzenia

Inżynieria oprogramowania - 7 Slide 8

Modele kontekstowe

. Modele kontekstowe używane są do określenia

granic systemu

. Przyczyny socjalne i organizacyjne mogą

wpływać na decyzje co do położenia granic

systemu

. Modele architektoniczne pokazują system i jego

związek z innymi systemami

Inżynieria oprogramowania - 7 Slide 9

Kontekst systemu bankomatu

Baza danych

kont

Baza danych o

użytkowaniu

System

księgowy

oddziału

System

bankomatu

System

zabezpieczeń

System

konserwacji

System

obsługi

oddziału

Inżynieria oprogramowania - 7 Slide 10

Modele procesu

. Modele procesu przedstawiają ogólny proces lub

procesy które są wspomagane przez system

. Modele przepływu danych mogą być używane do

przedstawienia procesów i przepływu informacji

z jednego procesu do drugiego

Inżynieria oprogramowania - 7 Slide 11

Proces zakupu wyposażenia

Baza danych z

dostawcami

Baza danych o

wyposażeniu

Specyfikacja

wyposażenia

Specyfikacja

wyposażenia Lista

dostawców

Sprawdzona

specyfikacja

Specyfikacja +

dostawca+

oszacowanie

Protokół odbioru

Protokół

odbioru

Informacja o

zamówieniu

Sprawdzony i podpisany

formularz zamówienia

Szczegóły

zamówienia +

czysty blankiet

zamówień

Szczegółowe informacje

o wyposażeniu

Instrukcja

montażu

Akceptacja

instalacji

Wyspecyfikuj

potrzebne

wyposażenie

Sprawdź

specyfikację

Zdobądź

oszacowanie

kosztów

Zaakceptuj

protokół

odbioru

Sprawdź

dostarczone

towary

Zainstaluj

wyposażenie

Zaakceptuj

dostarczone

wyposażenie

Złóż

zamówienie na

wyposażenie

Wybierz

dostawcę

Znajdź

dostawców

Inżynieria oprogramowania - 7 Slide 12

Modele zachowania

. Modele zachowania używane są do opisu

ogólnego zachowania systemu

. Dwa typy modeli zachowania :

. Modele przepływu danych przedstawiają w jaki sposób dane są

przetwarzane w miarę ich przesyłania przez system

. Modele maszyn stanowych przedstawiają odpowiedź systemu

na zdarzenia

. Oba modele są wymagane dla opisu zachowania

systemu

Inżynieria oprogramowania - 7 Slide 13

Modele przepływu danych

. Diagramy przepływu danych używane są do modelowania

przetwarzania danych systemowych

. Przedstawiają kroki przetwarzania w miarę przepływu

danych przez system

. Nieodłączna część wielu metod

. Prosta i intuicyjna notacja którą klienci potrafią

zrozumieć

. Pokazują przetwarzanie danych od końca do końca (end-

to-end)

Inżynieria oprogramowania - 7 Slide 14

Diagram przepływu danych

(DFD) dla obsługi zamówień

Plik

budżetu

Plik

zamówień

Szczegóły

zamówienia +

czysty blankiet

Wypełniony blankiet

zamówienia

Podpisany

formularz

zamówienia

Szczegóły

zamówienia

Podpisany

formularz

zamówienia

Podpisany

formularz

zamówienia

Sprawdzone i

podpisane

zamówienie +

informacja o

zamówieniu

Wartość

zamówienia +

informacje

księgowe

Wypełnij

blankiet

zamówienia

Sprawdź

zamówienie

Zarejestruj

zamówienie

Wyślij do

dostawcy

Zaktualizuj

budżet

dostępnych

środków

Inżynieria oprogramowania - 7 Slide 15

Diagramy przepływu danych

. DFD modelują system z funkcjonalnego punktu

widzenia

. Śledzenie i dokumentowanie jak przepływają

dane skojarzone z procesem są pomocne w

ogólnym zrozumieniu systemu

. Diagramy przepływu danych mogą być także

używane w celu przedstawienia wymiany danych

pomiędzy systemem a innymi systemami w ich

środowisku

Inżynieria oprogramowania - 7 Slide 16

CASE toolset DFD

Design

editor

Design

cross checker

Design

analyser

Report

generator

Design

database

Code skeleton

generator

Design

database

Input

design

Valid

design

Checked

design

Design

analysis

User

report

and

Referenced

designs

Checked

design Output

code

Inżynieria oprogramowania - 7 Slide 17

Modele maszyn stanowych

. Służą do modelowania zachowania systemu w

odpowiedzi na zewnętrzne i wewnętrzne zdarzenia

. Pokazują odpowiedzi systemu na bodźce więc są

często stosowane do modelowania systemów czasu

rzeczywistego

. Modele maszyn stanowych przedstawiają stany

systemu jako węzły i zdarzenia jako połączenia między

tymi węzłami. Kiedy określone zdarzenie ma miejsce,

system przechodzi z jednego stanu do drugiego

. Wykres stanów jest integralną częścią języka UML

Inżynieria oprogramowania - 7 Slide 18

Model kuchenki mikrofalowej

Full power

Enabled

do: operate

oven

Full

power

Half

power

Half

power

Full

power

Number

Timer

Door

open

Door

closed

Door

closed

Door

open

Start

do: set power

= 600

Half power

do: set power

= 300

Set time

do: get number

exit: set time

Disabled

Operation

Timer

Cancel

Waiting

do: display

time

Waiting

do: display

time

do: display

'Ready'

do: display

'Waiting'

Oczekiwanie

do: wyświetlaj

godzinę

Oczekiwanie

do: wyświetlaj

godzinę

Działanie

do:

podgrzewanie

Gotowy

do: wyświetlaj

.Gotowy.

Niegotowy

do: wyświetlaj

.Czekam.

Ustawianie czasu

do:odczytaj liczbę

exit: ustaw czas

Pełna moc

do: ustaw moc

= 600

Oczekiwanie

do: wyświetlaj

godzinę

Połowa mocy

do: ustaw moc

= 300

Zatrzymaj

Początek

Otworzono

drzwiczki

Zamknięto

drzwiczki

Otworzono

drzwiczki

Zamknięto

drzwiczki

Liczba

Stoper

Pełna

moc

Połowa

mocy Połowa

mocy

Pełna

moc

Inżynieria oprogramowania - 7 Slide 19

Opis stanów kuchenki mikrofalowej

Stan Opis

Oczekiwanie

Połowa mocy

Pełna moc

Ustawianie czasu

Niegotowy

Gotowy

Działanie

Kuchenka czeka na dane wejściowe. Wyświetlacz pokazuje aktualną godzinę

Moc kuchenki ustawiono na 300 watów. Wyświetlacz pokazuje napis

.Połowa mocy.

Moc kuchenki ustawiono na 600 watów. Wyświetlacz pokazuje napis .Pełna

moc.

Czas trwania gotowania jest ustawiany na wartość wprowadzoną przez

użytkownika. Wyświetlacz pokazuje wybrany czas gotowania i jest

aktualizowany w miarę wprowadzania danych

Kuchenka nie może działać ze względów bezpieczeństwa. Wewnętrzne

światło kuchenki jest włączone. Wyświetlacz pokazuje napis .Niegotowy.

Kuchenka jest gotowa do działania. Wewnętrzne światło jest wyłączone.

Wyświetlacz pokazuje napis .Gotowy.

Kuchenka działa. Wewnętrzne światło jest włączone. Wyświetlacz odlicza

zmniejszający się czas pozostały do zakończenia gotowania. Po zakończeniu

brzęczyk włącza się na 5 sekund. Światło kuchenki jest wtedy włączone.

Wyświetlacz pokazuje napis .Gotowanie zakończone. w czasie działania

brzęczyka.

Inżynieria oprogramowania - 7 Slide 20

Bodźce kuchenki mikrofalowej

Bodziec Opis

Połowa mocy

Pełna moc

Stoper

Liczba

Otworzono

drzwiczki

Zamknięto

drzwiczki

Początek

Użytkownik nacisnął przycisk .Połowa mocy.

Użytkownik nacisnął przycisk .Pełna moc.

Użytkownik nacisnął przycisk .Stoper.

Użytkownik nacisnął przycisk z liczbą

Przełącznik drzwiowy nie jest zamknięty

Przełącznik drzwiowy jest zamknięty

Użytkownik nacisnął przycisk .Początek.

Zatrzymaj Użytkownik nacisnął przycisk .Zatrzymaj.

Inżynieria oprogramowania - 7 Slide 21

Wykresy stanów

. Pozwala na dekompozycję modelu na podmodele

. Krótki opis akcji zawarty jest w każdym stanie

po słowie .do.

. Mogą być uzupełnione poprzez tabele opisujące

stany i bodźce

Inżynieria oprogramowania - 7 Slide 22

Działanie kuchenki mikrofalowej

Wykonano

do: włącz

brzęczyk na 5

sekund

Alarm

do: wyświetl

zdarzenie

Gotowanie

do: praca

generatora

Sprawdzanie

do: sprawdź

stan

Działanie

Niegotowy Oczekiwanie

OK

Awaria źródła

fal

Awaria

talerza

obrotowego

Koniec czasu

Otworzono

drzwiczki

Zatrzymaj

Czas

Inżynieria oprogramowania - 7 Slide 23

Modele danych

. Używane do opisu logicznej struktury

przetwarzania danych przez system

. Jednostka-relacja-atrybut modeluje zbiór

jednostek w systemie, relacje między tymi

jednostkami i ich atrybuty

. Szeroko stosowane w projektowaniu baz danych.

Mogą być implementowane używając

relacyjnych baz danych

. UML nie dostarcza specjalnych notacji lecz

wykorzystuje obiekty i ich związki

Inżynieria oprogramowania - 7 Slide 24

Znaczeniowy model danych

projektu oprogramowania

Projekt

nazwa

opis

data-u

data-m

Węzeł

nazwa

typ

Wiązanie

nazwa

typ

Etykieta

nazwa

treść

ikona

1 1

1

1 n

1 1

1

1 2

n

n n

n

jest

ma-węzły ma-wiązania

ma-wiązania

wiązania

ma-etykietki ma-etykietki

Inżynieria oprogramowania - 7 Slide 25

Słowniki danych

. Słowniki danych to listy wszystkich nazw

używanych w modelach systemu. Opisy

jednostek, związków między nimi oraz atrybuty

są także zawarte

. Zalety

. Wspomaga zarządzanie nazwami i zapobiega duplikowaniu

nazw

. Składnica informacji o przedsiębiorstwie która umożliwia

scalenie analizy, projektu i implementacji

Inżynieria oprogramowania - 7 Slide 26

Przykład haseł słownika danych

Nazwa Opis

ma-etykietki

Etykietka

Wiązanie

Nazwa (etykietki)

Nazwa (węzła)

Związek 1:N między jednostkami typu Węzeł

lub Wiązanie i jednostkami typu Etykietka

Przechowuje strukturalną lub niestrukturalną

informację o węzłach lub wiązaniach.

Etykietki są przedstawione jako ikona (która

może być przezroczystym prostokątem) i treść

Związek 1:1 między bytami projektu

reprezentowanymi jako węzły. Wiązania maja

typ i mogą być nazwane

Każda etykietka ma nazwę, która określa typ

etykietki. Nazwa musi być unikatowa w

zbiorze typów etykietek w ramach jednego

projektu

Każdy węzeł ma nazwę, która musi być

unikatowa w ramach projektu. Nazwa może

mieć najwyżej 64 znaki

Data Typ

Związek

Jednostka

Związek

Atrybut

Atrybut

5.10.1998

8.12.1998

8.12.1998

8.12.1998

15.11.1998

Inżynieria oprogramowania - 7 Slide 27

Modele obiektowe

. Modele obiektowe opisują system za pomocą klas

obiektów

. Klasa obiektu jest abstrakcją zbioru obiektów

która identyfikuje ich wspólne atrybuty oraz

usługi (operacje) oferowane przez te obiekty

. Rozróżnia siężne modele obiektowe

. Modele dziedziczenia

. Modele agregacji

. Modele interakcji

Inżynieria oprogramowania - 7 Slide 28

Modele obiektowe

. Naturalny sposób odzwierciedlania jednostek

świata rzeczywistego manipulowanych przez

system

. Im bardziej abstrakcyjna jednostka tym trudniej

ją modelować używając tego podejścia

. Identyfikacja klas obiektów jest trudnym

procesem wymagającym dogłębnego zrozumienia

domeny aplikacji

. Klasy obiektów odzwierciedlają domenę

jednostek wielokrotnie używanych w systemie

Inżynieria oprogramowania - 7 Slide 29

Modele dziedziczenia

. Organizacja klas obiektów w hierarchię

. Klasy będące na szczycie hierarchii

odzwierciedlają wspólne cechy wszystkich klas

. Klasy obiektów dziedziczą atrybuty i usługi z

jednej lub kilku super klas

. Projektowanie hierarchii klas jest procesem

trudnym zwłaszcza gdy chce się uniknąć

duplikowania w różnych dziedzinach

Inżynieria oprogramowania - 7 Slide 30

UML- Unified Modeling Language

. Wymyślony przez projektantów

wykorzystujących metody analizy i budowy

systemów obiektowo zorientowane

. Stał się efektywnym standardem dla

modelowania obiektowego

. Notacja

. Klasy obiektów są prostokątami z nazwą na samej górze,

atrybutami w środkowej sekcji i działaniami w sekcji dolnej

. Związki pomiędzy klasami obiektów (zwane skojarzeniami)

pokazane są jako linie łączące obiekty

. Zamiast pojęcia dziedziczenia jest pojęcie uogólnienia które

obrazuje się .w górę. a nie .w dół.

Hierarchia klas

biblioteki

Składnik biblioteki

Numer katalogowy

Data zakupu

Cena

Typ

Stan

Liczba kopii

Nabądź()

Skataloguj()

Usuń()

Udostępnij()

Zwróć()

Składnik

opublikowany

Tytuł

Wydawca

Składnik

utrwalony

Tytuł

Nośnik

Książka

Autor

Wydanie

Data wydania

ISBN

Czasopismo

Rok

Numer

Film

Reżyser

Data ukazania się

Dystrybutor

Program

komputerowy

Wersja

Platforma

Hierarchia klasy

użytkownika

Użytkownik

biblioteki

Nazwisko

Adres

Telefon

Numer karty

Zarejestruj()

Wyrejestruj()

Czytelnik

Przynależność

Wypożyczający

Wypożyczone składniki

Limit wypożyczeń

Pracownik

Dział

Telefon działu

Student

Główny kierunek

studiów

Adres domowy

Inżynieria oprogramowania - 7 Slide 33

Dziedziczenie wielokrotne

. Zamiast dziedziczenia atrybutów i usług z

pojedynczej klasy, system który wspiera

dziedziczenie wielokrotne pozwala klasom

obiektów na dziedziczenie z kilku super klas

. Może prowadzić do konfliktów znaczeniowych

gdzie atrybuty/usługi z tą samą nazwą w różnych

super klasach majążne znaczenie

. Prowadzi do bardziej złożonej reorganizacji

hierarchii klas

Inżynieria oprogramowania - 7 Slide 34

Dziedziczenie wielokrotne

Książka

Autor

Wydanie

Data wydania

ISBN

Zapis mowy

Mówca

Czas trwania

Data zapisu

Mówiąca książka

Liczba taśm

Inżynieria oprogramowania - 7 Slide 35

Agregacja obiektów

. Model agregacji przedstawia jak klasy które są

zbiorami są złożone z innych klas

. Podobna do relacji .jest częścią. w

semantycznych modelach danych

Inżynieria oprogramowania - 7 Slide 36

Agregacja obiektów

Zadanie

Punkty

Przezrocza

Przezrocza

Notatki

Tekst

Kaseta wideo

Id kasety

Ćwiczenia

Liczba zadań

Opis

Rozwiązania

Tekst

Diagramy

Pakiet do nauki

Tytuł wykładu

Numer

Rok

Wykładowca

Inżynieria oprogramowania - 7 Slide 37

Modelowanie zachowania obiektów

. Model zachowania przedstawia interakcje

pomiędzy obiektami pokazując poszczególne

zachowania systemu które określane są mianem

przypadków użycia

. Diagramy przebiegu (lub diagramy kooperacji) w

UML używane są do modelowania interakcji

pomiędzy obiektami

Inżynieria oprogramowania - 7 Slide 38

Prośba o składnik elektroniczny

:Library User

Ecat:

Catalog

Lookup

Issue

Display

:Library Item Lib1:

NetServer

Issue licence

Accept licence

Compress

Deliver

Ekat:

Katalog

: Składnik

biblioteki

Lib1:

Serwer sieciowy

Wyszukaj

Wyświetl

Zamów Zaakceptuj

warunki

Wyślij warunki

Skompresuj

Dostarcz

:Użytkownik biblioteki

Inżynieria oprogramowania - 7 Slide 39

Główne tezy

. Model jest abstrakcyjnym obrazem systemu.

Uzupełniające się typy modeli dostarczajążnych

informacji o systemie

. Modele kontekstowe przedstawiają pozycję systemu

w środowisku innych systemów i procesów

. Modele przepływu danych mogą służyć do

specyfikowania przetwarzania danych w systemie

. Modele maszyn stanowych używane są do

modelowania zachowania systemu w odpowiedzi na

wewnętrzne lub zewnętrzne zdarzenia

Inżynieria oprogramowania - 7 Slide 40

Główne tezy

. Znaczeniowe modele danych opisują logiczną

strukturę danych importowanych lub

eksportowanych przez system

. Modele obiektowe opisują logiczne jednostki

systemu, ich klasyfikację i agregację



Wyszukiwarka

Podobne podstrony:
Inzynieria oprogramowania w ujeciu obiektowym UML wzorce projektowe i Java iowuje
ZadanieNaZaliczenie, WAT, semestr IV, Inżynieria oprogramowania
Rafał Polak 12k2 lab8, Inżynieria Oprogramowania - Informatyka, Semestr III, Systemy Operacyjne, Spr
zagadnienia egzaminacyjne z przedmiotu inżynieria oprogramowania zIO
Inżynieria oprogramowania Diagramy ERD
2006 06 Wstęp do Scrum [Inzynieria Oprogramowania]
sciąga moja, Informatyka SGGW, Semestr 4, Inżynieria oprogramowania, Od starszego rocznika
Tworzenie oprogramowania, Semestr 5, Inżynieria oprogramowania
2007 05 Mechanizm koncepcji w języku C nowe oblicze szablonów [Inzynieria Oprogramowania]
Inżynieria oprogramowania syllabus IV niestac 07 08, Prywatne, WAT, SEMESTR IV, IO, io, Materiały od
Rafał Polak 12k2 lab9, Inżynieria Oprogramowania - Informatyka, Semestr III, Systemy Operacyjne, Spr
inżynieria oprogramowani5s 3D2LFW6JYNMO6D276CSZQV5ONUNVXOTKWFXHA3A
inżynieria oprogramowani1 2EM7Y2ON72DKTCAQF3UOSCLXHY5636FZE7C7PUQ
inżynieria oprogramowani5 G46UQE27RE6UDINZWBW2TXNEOUUYOYV2MMVZ2NI
2008 06 Java Microedition – metody integracji aplikacji [Inzynieria Oprogramowania]
Inżynieria oprogramowania II
Opracowanie na Inżynierie Oprogramowania
Przykład diagramu sekwencji, Inżynieria oprogramowania
Inżynieria oprogramowania, Studia, Informatyka, Informatyka, Informatyka

więcej podobnych podstron