Podstawy Inżynierii Oprogramowania. Wykład 6 Modele systemu



Podobne dokumenty
Komputerowe Systemy Przemysłowe: Modelowanie - UML. Arkadiusz Banasik arkadiusz.banasik@polsl.pl

UML w Visual Studio. Michał Ciećwierz

Zagadnienia (1/3) Data-flow diagramy przepływów danych ERD diagramy związków encji Diagramy obiektowe w UML (ang. Unified Modeling Language)

Cel wykładu. Literatura. Wyższa Szkoła Menedżerska w Legnicy. Modelowanie wymagań Wykład 2

Diagramy ERD. Model struktury danych jest najczęściej tworzony z wykorzystaniem diagramów pojęciowych (konceptualnych). Najpopularniejszym

Kurs programowania. Wykład 12. Wojciech Macyna. 7 czerwca 2017

SVN. 10 października Instalacja. Wchodzimy na stronę i pobieramy aplikację. Rysunek 1: Instalacja - krok 1

Świat rzeczywisty i jego model

Diagramu Związków Encji - CELE. Diagram Związków Encji - CHARAKTERYSTYKA. Diagram Związków Encji - Podstawowe bloki składowe i reguły konstrukcji

Fazy analizy (modelowania) oraz projektowania FAZA ANALIZY:

Paweł Kurzawa, Delfina Kongo

Modelowanie obiektowe - Ćw. 3.

1 Projektowanie systemu informatycznego

Spis treúci. 1. Wprowadzenie... 13

Podstawy programowania III WYKŁAD 4

Modelowanie i Programowanie Obiektowe

Modelowanie danych, projektowanie systemu informatycznego

Rysunek 1: Przykłady graficznej prezentacji klas.

Baza danych przestrzennych modelowa reprezentacja fragmentu świata rzeczywistego

Projekt systemu informatycznego

Faza analizy (modelowania) Faza projektowania

Analiza i projektowanie obiektowe 2017/2018. Wykład 3: Model wiedzy dziedzinowej

Diagramy przypadków użycia

MODELOWANIE SYSTEMU INFORMATYCZNEGO WSPOMAGAJĄCEGO DZIAŁALNOŚĆ USŁUGOWĄ W ŚRODOWISKU OBIEKTOWO ZORIENTOWANYM.

Analiza i projektowanie oprogramowania. Analiza i projektowanie oprogramowania 1/32

ZARZĄDZANIU. Wykład VI. dr Jan Kazimirski

Podstawy modelowania programów Kod przedmiotu

TENDENCJE ROZWOJU GIS

Architektura Systemu. Architektura systemu umożliwia kontrolowanie iteracyjnego i przyrostowego procesu tworzenia systemu.

Iteracyjno-rozwojowy proces tworzenia oprogramowania Wykład 3 część 1

problem w określonym kontekście siły istotę jego rozwiązania

Analiza i projektowanie obiektowe w UML Kod przedmiotu

Laboratorium modelowania oprogramowania w języku UML. Ćwiczenie 5 Ćwiczenia w narzędziu CASE diagram przypadków uŝycia. Materiały dla nauczyciela

Projektowanie systemów informatycznych. wykład 6

Mariusz Trzaska Modelowanie i implementacja systemów informatycznych

PRZEWODNIK PO PRZEDMIOCIE

Projektowanie oprogramowania cd. Projektowanie oprogramowania cd. 1/34

Zofia Kruczkiewicz - Modelowanie i analiza systemów informatycznych 2

TECHNOLOGIE OBIEKTOWE. Wykład 3

Spis treści. Analiza i modelowanie_nowicki, Chomiak_Księga1.indb :03:08

Język UML w modelowaniu systemów informatycznych

Baza danych przestrzennych modelowa reprezentacja fragmentu świata rzeczywistego

Nazwa przedmiotu: MODELOWANIE I ANALIZA SYSTEMÓW INFORMATYCZNYCH. Modeling and analysis of computer systems Forma studiów: Stacjonarne

Wprowadzenie do UML, przykład użycia kolizja

WPROWADZENIE DO UML-a

Wykład 3 Wymagania. MIS n Inżynieria oprogramowania Październik Kazimierz Michalik Akademia Górniczo-Hutnicza im. S. Staszica w Krakowie

Inżynieria oprogramowania. Jan Magott

Programowanie obiektowe - 1.

Diagramy klas. dr Jarosław Skaruz

Podstawy Programowania Obiektowego

Podstawy języka UML UML

INŻYNIERIA OPROGRAMOWANIA. laboratorium

Modelowanie. Wykład 1: Wprowadzenie do Modelowania i języka UML. Anna Kulig

Diagramy UML, przykład problemu kolizji

Laboratorium modelowania oprogramowania w języku UML. Ćwiczenie 2 Ćwiczenia w narzędziu CASE diagram klas. Materiały dla nauczyciela

INFORMATYKA GEODEZYJNO- KARTOGRAFICZNA. Modelowanie danych. Model związków-encji

Modelowanie klas i obiektów. Jarosław Kuchta Projektowanie Aplikacji Internetowych

Wykorzystanie standardów serii ISO oraz OGC dla potrzeb budowy infrastruktury danych przestrzennych

Diagramy klas. WYKŁAD Piotr Ciskowski

UML cz. I. UML cz. I 1/1

ZSE - Systemy baz danych 1 ZASADY PROJEKTOWANIA BAZ DANYCH

Wprowadzenie do systemów informacyjnych

Projektowanie systemów informatycznych. Roman Simiński siminskionline.pl. Modelowanie danych Diagramy ERD

Michał Adamczyk. Język UML

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki

Informatyzacja przedsiębiorstw WYKŁAD

Wykład I. Wprowadzenie do baz danych

Laboratorium modelowania oprogramowania w języku UML. Ćwiczenie 1 Wprowadzenie do narzędzia CASE. Materiały dla nauczyciela

Podstawy inżynierii oprogramowania

Diagramy przepływu danych II model środowiskowy, diagram odpowiedzi na zdarzenia KI AE PSI

UML cz. II. UML cz. II 1/38

Wykład 1 Inżynieria Oprogramowania

Zasady organizacji projektów informatycznych

1. WYMAGANIA WSTĘPNE W ZAKRESIE WIEDZY, UMIEJĘTNOŚCI I INNYCH KOMPETENCJI

Wprowadzenie do UML Rodzaje diagramów Przeglad oprogramowania Zadania Rozwiazania zadań Bibliografia. Warsaw Dziobax

Uniwersytet w Białymstoku Wydział Ekonomiczno-Informatyczny w Wilnie SYLLABUS na rok akademicki 2012/2013

Systemy informatyczne. Modelowanie danych systemów informatycznych

Cechy narzędzi CASE (1):

Projektowanie i wdrażanie systemów informatycznych (materiały do wykładu cz. II)

Projektowanie logiki aplikacji

UML (Unified Modeling Language jest to sposób formalnego opisu modeli reprezentujących projekty informatyczne.

Karta opisu przedmiotu Zaawansowane techniki analizy systemowej oparte o modelowanie warsztaty

Procesowa specyfikacja systemów IT

Unified Modeling Language

Zofia Kruczkiewicz - Modelowanie i analiza systemów informatycznych 1

Podstawy języka UML UML

PRZEWODNIK PO PRZEDMIOCIE

E-1IZ s2. Informatyka II stopień (I stopień / II stopień) ogólnoakademicki (ogólno akademicki / praktyczny)

Spis treúci. Księgarnia PWN: Robert A. Maksimchuk, Eric J. Naiburg - UML dla zwykłych śmiertelników. Wstęp Podziękowania...

KATEDRA INFORMATYKI STOSOWANEJ PŁ ANALIZA I PROJEKTOWANIE SYSTEMÓW INFORMATYCZNYCH

PRZEWODNIK PO PRZEDMIOCIE

Technologie obiektowe

Modelowanie i analiza systemów informatycznych

PODSTAWY BAZ DANYCH. 5. Modelowanie danych. 2009/ Notatki do wykładu "Podstawy baz danych"

MODELOWANIE OBIEKTOWE

Egzamin / zaliczenie na ocenę*

Diagramy przepływu danych I

E-I2SG-2010-s1. Informatyka II stopień (I stopień / II stopień) ogólnoakademicki (ogólno akademicki / praktyczny)

Inżynieria oprogramowania. Część 5: UML Diagramy klas

Transkrypt:

Podstawy Inżynierii Oprogramowania Wykład 6 Modele systemu

2

3

4

Dla klienta Dla projektanta 5

6

Agenda Modelowanie pojęciowe Modele kontekstowe Modele zachowania, danych, obiektowe Język UML (ang. Unified Modeling Language) Narzędzia CASE wspierające modelowanie systemu. 7

Modelowanie pojęciowe Projektant i programista muszą dokładnie wyobrazić sobie problem oraz metodę jego rozwiązania. Zasadnicze procesy tworzenia oprogramowania zachodzą w ludzkim umyśle i nie są związane z jakimkolwiek językiem programowania. Pojęcia modelowania pojęciowego (ang. conceptual modeling) oraz modelu pojęciowego (ang. conceptual model) odnoszą się procesów myślowych i wyobrażeń towarzyszących pracy nad oprogramowaniem. Modelowanie pojęciowe jest wspomagane przez środki wzmacniające ludzką pamięć i wyobraźnię. Służą one do przedstawienia rzeczywistości opisywanej przez dane, procesów zachodzących w rzeczywistości, struktur danych oraz programów składających się na konstrukcję systemu. 8

Czy zawsze musimy modelować? Mniej istotne Ważniejsze Papierowy samolot Myśliwiec 9

Dlaczego zespoły programistów nie modelują? Wiele zespołów podchodzi do wytwarzania złożonego oprogramowania jak do budowy papierowego samolociku. Zaczynają pisać kod na podstawie wymagań. Pracują długie godziny i piszą dłuższy kod programu. Architektura nie jest planowana... Mówi się, że nad projektami informatycznymi wisi fatum porażki (ang. doom of failure). Często jest to związane z traktowaniem myśliwca w kategoriach papierowego samolociku. 10

Cztery zasady modelowania Wybór modelu ma wpływ na to jak będziemy postrzegać rzeczywistość. Każdy model może być wyrażony na dowolnym poziomie szczegółowości Najlepsze model są bezpośrednio odnoszą się do rzeczywistości Pojedynczy model jest niewystarczający. 11

Perspektywy w modelowaniu pojęciowym odwzorowanie odwzorowanie...................................................... Percepcja rzeczywistego świata Analityczny model rzeczywistości Model struktur danych i procesów SI Trwałą tendencją w rozwoju metod i narzędzi projektowania oraz konstrukcji SI jest dążenie do minimalizacji luki pomiędzy myśleniem o rzeczywistym problemie a myśleniem o danych i procesach zachodzących na danych. 12

Modelowanie analityczne systemu Modelowanie systemu pomaga analitykowi w zrozumieniu funkcjonalności systemu oraz w komunikacji z klientem. Modele mogą prezentować system z różnych punktów widzenia Zewnętrznego pokazuje kontekst lub środowisko systemu; Zachowania modeluje zachowanie systemu; Strukturalnego modeluje architekturę systemu lub strukturę przetwarzania danych. 13

Typy modeli Model przetwarzania danych jak dane są przetwarzane na różnych etapach pracy systemu. Model kompozycji jak elementy systemu komponowane są z mniejszych fragmentów. Model architektoniczny z jakich zasadniczych podsystemów składa się system. Model klasyfikacji wspólne cechy poszczególnych elementów systemu. Model bodziec-reakcja w jaki sposób system reaguje na zdarzenia zachodzące tak poza nim jak i w jego wnętrzu. 14

Modele kontekstowe Ilustrują operacyjny kontekst systemuotoczenie. Context models Kwestie społeczne i organizacyjne mogą mieć wpływ na ustalenia co do systemu należy a co jest poza jego granicami. Modele architektoniczne pokazują system i jego powiązania z innymi systemami. 15

Kontekst systemu bankomatu System zabezpieczeń System księgowy oddziału System bazy danych kont System bankomatu System obsługi oddziału System bazy danych o użytkowaniu System konserwacji 16

Modele procesu Process models Pokazują czynności wspierane przez system. Uzupełniają model kontekstowy i pomagają w podjęciu decyzji, które czynności będą wykonywane automatycznie. 17

Model procesu zakupu wyposażenia dla firmy Protokół odbioru Wyspecyfikuj potrzebne wyposażenie Specyfikacja wyposażenia Sprawdź specyfikację Sprawdzona specyfikacja Wykonaj oszacowanie kosztów Zaakceptuj protokół odbioru Protokół odbioru Sprawdź dostarczone towary Specyfikacja wyposażenia Lista dostawców Specyfikacja + dostawca + oszacowanie Informacja o zamówieniu Instrukcja montażu Baza danych z dostawcami Znajdź dostawców Wybierz dostawcę Złóż zamówienie Szczegóły zamówienia + czysty formularz zamówienia Zainstaluj wyposażenie Akceptacja instalacji Sprawdzony i podpisany formularz zamówienia Zaakceptuj dostarczone wyposażenie Szczegółowe informacje o wyposażeniu Baza danych o wyposażeniu 18

Modele zachowania Opisują ogólne zachowanie systemu. Typy: Behavioural models Modele przetwarzania (przepływu) danych pokazują sposób w jaki dane są przetwarzane i jak przepływają przez system; Modele stanów (maszyna stanów) pokazujące reakcje systemu na zdarzenia. Pozwalają spojrzeć na zachowanie systemu z różnych punktów widzenia. 19

Model procesu zakupu wyposażenia dla firmy Protokół odbioru Wyspecyfikuj potrzebne wyposażenie Specyfikacja wyposażenia Sprawdź specyfikację Sprawdzona specyfikacja Wykonaj oszacowanie kosztów Zaakceptuj protokół odbioru Protokół odbioru Sprawdź dostarczone towary Specyfikacja wyposażenia Lista dostawców Specyfikacja + dostawca + oszacowanie Informacja o zamówieniu Instrukcja montażu Baza danych z dostawcami Znajdź dostawców Wybierz dostawcę Złóż zamówienie Szczegóły zamówienia + czysty formularz zamówienia Sprawdzony i podpisany formularz zamówienia Zainstaluj wyposażenie Akceptacja instalacji Zaakceptuj dostarczone wyposażenie Szczegółowe informacje o wyposażeniu Baza danych o wyposażeniu 20

Obsługa zamówienia diagram przepływu danych Szczegóły zamówienia + czysty formularz zamówienia Wypełnij blankiet zamówienia Wypełniony formularz zamówienia Sprawdź zamówienie Wypełniony formularz zamówienia Szczegóły zamówienia Zarejestruj zamówienie Podpisany formularz zamówienia Wyślij do dostawcy Podpisany formularz zamówienia Zaktualizuj budżet dostępnych środków Sprawdzenie i podpisanie zamówienia + informacje o zamówieniu Wartość zamówienia + informacje księgowe Plik zamówienia Plik budżetu 21

Maszyny stanów State machine models Opisują zachowanie systemu w reakcji na wewnętrzne lub zewnętrzne zdarzenia. Pokazują odpowiedzi systemu na określone stymulacje, dlatego często wykorzystywane są do modelowania systemów czasu rzeczywistego. Maszyna stanu pokazuje system w postaci zbioru stanów oraz możliwych przejść pomiędzy nimi wraz ze zdarzeniami, które to przejście powodują. Do graficznego przedstawienia maszyny stanów wykorzystuje się diagramy stanów. 22

Diagramy stanów Statecharts Umożliwiają poziomowanie modelu (dekompozycję na pod-modele). W każdym stanie można opisać akcję która jest wykonywana. Mogą być wspomagane tabelami szczegółowo opisującymi stany i pobudzenia. 23

Diagram stanów dla mikrofalówki Połowa mocy pełna moc do/ ustaw moc = 300 Timer Liczba Działanie Oczekiwanie do/ wyświetlaj godzinę Połowa mocypełna moc Timer Ustawianie czasu do/ odczytaj liczbę exit/ ustaw czas Otwarto drzwi Zamknięto drzwi Gotowy Start do/ wyświetlaj "Gotowy" do/ podgrzewaj Wstrzymaj Oczekiwanie do/ wyświetlaj godzinę Połowa mocy do/ ustaw moc = 300 Niegotowy do/ wyświetlaj "Niegotowy" Zamknięto drzwi Otwarto drzwi 24

Poziomowanie - superstan Działanie Sprawdzanie do/ Sprawdź stan OK Gotowanie do/ do/ Praca generatora Awaria talerza obrotowego Alarm do/ wyświetl zdarzenie Awaria źródła fal Koniec czasu Wykonano do/ włącz sygnał dzwiękowy Otwarto drzwi Wstrzymaj Niegotowy Oczekiwanie 25

Modele danych Opisują logiczną strukturę danych, które przetwarza system (np. model Encja-Związek, ang. Entity- Relationship i jego odmiany). Data models Encja koncepcyjnie niezależna jednostka (obiekt) Związek/relacja koncepcyjny związek pomiędzy encjami. Atrybut własność encji Szeroko stosowane w projektowaniu baz danych (mogą być łatwo przekształcone w model relacyjny). 26

Diagram Encja-Związek Entity-Relationship diagram 27

Słowniki danych Alfabetyczna lista nazw używanych w różnych modelach systemu, również elementów modelu danych ( encji, związków, atrybutów) Zalety Wspiera proces zarządzania nazwami i umożliwia unikanie duplikatów; Przechowuje wiedzę nabywaną podczas projektu; wiąże ze sobą różne poziomy modelowania oraz implementację; Proces tworzenia słownika jest często wspierany przez narzędzia CASE. 28

Metodyki modelowania obiektowego Obecnie najbardziej popularne. Oparte o podejście obiektowe. Rozwijane od lat 80-tych, oparte na wyróżnianiu obiektów łącznie z operacjami. Na terenie analizy i projektowania obiektowego istnieje wiele metodyk obiektowych oraz notacji graficznych służących modelowaniu (UML, OODA, OMT, OOSE, Objectory, OOSA, OOA/OOD, Fusion, OSA, OORAM, BON, MOSES/OPEN). 29

Obiektowość Obiektowość zmniejsza lukę pomiędzy myśleniem o rzeczywistości (dziedzinie problemowej) a myśleniem o danych i procesach, które zachodzą na danych. Abstrakcja Modularyzacja Hermetyzacja Hierarchizacja 30

Zasada abstrakcji Eliminacja lub ukrycie mniej istotnych szczegółów rozważanego przedmiotu lub mniej istotnej informacji. Wyodrębnianie cech wspólnych i niezmiennych dla pewnego zbioru bytów i wprowadzanie pojęć lub symboli oznaczających takie cechy. Abstrakcja definiuje granice zależne od perspektywy obserwatora. 31

Przykłady abstrakcji Student Profesor Kurs Ruchomy pojazd silnikowy, transportujący ludzi z miejsca na miejsce. Urządzenie do bezprzewodowego odbioru sygnałów 32

Zasada hermetyzacji ukrywanie informacji Zasada inżynierii oprogramowania (Parnas, 1972): programista ma tyle wiedzieć o obiekcie programistycznym, ile potrzeba, aby go efektywnie użyć. Wszystko, co może być przed nim ukryte, powinno być ukryte. Klient zależy od interfejsu. Hermetyzacja i ukrywanie informacji jest podstawą pojęć modułu, klasy i ADT. 33

Zasada modularyzacji - dekompozycja Rozdzielenie czegoś złożonego na małe łatwiejsze do zarządzania fragmenty. Pomaga w zrozumieniu złożonych systemów. 34

Przykład System Płacowy Katalog Kursów Course Registration System Zarządzanie Studentami 35

Zasada hierarchizacji Porządkowanie (szeregowanie) abstrakcji w strukturę drzewiastą. Rodzaje: hierarcha agregacji, klas, dziedziczenia, typów (Słownik terminów obiektowości, Friesmith, 1995) Byty Ożywione Nieożywione Rośliny Zwierzęta Naturalne Sztuczne 36

Obiekt Nieformalnie, obiekt jest to byt obserwowalny w rzeczywistości (jej wycinku), koncepcyjny obraz tej rzeczywistości lub jednostka oprogramowania. Formalnie, obiekt jest jednostką z dobrze zdefiniowanymi granicami, który hermetyzuje stan (ang. state) oraz zachowanie (ang. behaviour). 37

Podstawowe własności obiektu Obiekt jest charakteryzowany poprzez: Tożsamość, która odróżnia go od innych obiektów. Tożsamość obiektu jest niezależna zarówno od wartości atrybutów obiektu, jak i od lokacji bytu odwzorowywanego przez obiekt w świecie rzeczywistym czy też lokacji samego obiektu w przestrzeni adresowej komputera. W praktyce: tożsamość = trwały wewnętrzny identyfikator obiektu. Stan, który może zmieniać się w czasie (bez zmiany tożsamości obiektu). Stan obiektu w danym momencie jest określony przez aktualne wartości jego atrybutów i powiązań z innymi obiektami. Obiekt ma przypisane zachowanie, tj. zestaw operacji, które wolno stosować do danego obiektu. 38

Przykład obiektu Wpłać Wypłać Sprawdź stan Nalicz procent Numer: 123-4321 Stan konta: 34567 PLN Właściciel: Jan Kowalski Upoważniony:... Podpis:... Porównaj podpis Zlikwiduj konto Obiekt KONTO Upoważnij Podaj osoby upoważnione 39

Modele obiektowe Object models Naturalnie odzwierciedlają elementy rzeczywistości, którymi manipuluje system. Opisują system w terminach klas obiektów i relacji pomiędzy nimi. Obiekty mogą być rzeczywiste lub abstrakcyjne. Identyfikacja klas obiektów jest uważana za trudny proces (wymaga głębokie znajomości dziedziny aplikacji). Klasy opisujące obiekty z dziedziny problemowej mają duży potencjał ponownego użycia. 40

Unified Modeling Language UML 0.8-0.9, styczeń 1995 - wrzesień 1996 UML 1.0, styczeń 1997, przesłany do OMG UML 1.1, koniec 1997, zatwierdzony jako składnik standardu OMG UML 1.3, 1999-2000 UML 1.5, marzec 2003 UML 2.0, 2004 UML 2.1.2 2007 Połączone siły trzech znanych metodologów oprogramowania: Grady Booch Ivar Jacobson James Rumbaugh

UML: Krótka charakterystyka (1) UML cieszy się aktualnie bardzo dużą popularnością. Prawdopodobnie przez wiele najbliższych lat będzie dominował w obszarze analizy i projektowania. UML nie jest metodyką projektowania. Notacja UML, która opiera się o podstawowe pojęcia obiektowości może być wykorzystana w dowolnej metodyce. Pojęcia UML, wynikające z doświadczenia jej twórców, mają w założeniu przykrywać większość istotnych aspektów modelowanych systemów. 42

UML: Krótka charakterystyka (2) Wady i zalety metodyk, których autorami są twórcy UML: OMT (Rumbaugh): dobry do modelowania dziedziny przedmiotowej. Nie przykrywa dostatecznie dokładnie zarówno aspektu użytkowników systemu, jak i aspektu implementacji (konstrukcji). OOSE (Jacobson): dobrze podchodzi do kwestii modelowania użytkowników i cyklu życiowego systemu. Nie przykrywa dokładnie modelowania dziedziny przedmiotowej jak i aspektu implementacji (konstrukcji). OOAD (Booch): dobrze podchodzi do kwestii projektowania, konstrukcji i związków ze środowiskiem implementacji. Nie przykrywa dostatecznie dobrze fazy rozpoznania i analizy wymagań użytkowników. Celem UML jest przykrycie również tych aspektów. 43

Perspektywy modelowania w UML UML jest określany jako język modelowania z 4+1 perspektywą : Perspektywa przypadków użycia opisuje funkcjonalność systemu widzianą przez użytkowników Perspektywa logiczna sposób realizacji funkcjonalności, struktura systemu widziana przez projektanta Perspektywa implementacyjna zawiera moduły i interfejsy, przeznaczona dla programisty Perspektywa procesowa podział systemu na czynności i jednostki wykonawcze (wątki, procesy, współbieżność) służy głównie programistom i instalatorom Perspektywa wdrożeniowa fizyczny podział elementów systemu i ich rozmieszczenie w infrastrukturze, ważna dla instalatorów 44

Diagramy definiowane w UML Diagramy pakietów Diagramy przypadków użycia Diagramy klas Diagramy sekwencji Diagramy obiektów Modele Diagramy współpracy Diagramy komponentów Diagramy stanów Diagramy aktywności Diagramy wdrożeniowe 45

Model a diagram Modele w UML Model - pewna abstrakcja projektowanego systemu, widziana z określonej perspektywy, na określonym poziomie szczegółowości. Diagram - środek służący do opisu modelu. Dany model może być opisany przy pomocy wielu diagramów. Dany element modelu może pojawiać się na wielu diagramach jednego modelu. Dwa najważniejsze modele w UML, wykorzystywane w fazie analizy (modelowania), to: model przypadków użycia opisujący system widziany z perspektywy jego przyszłego użytkownika (za pomocą diagramów przypadków użycia), model obiektowy przedstawiający statyczną budowę, czyli strukturę systemu (za pomocą diagramów klas i diagramów obiektów). Diagram klas może zawierać obiekty. Diagram obiektów nie zawiera klas, ale wyłącznie obiekty. 46

Modele obiektowe a UML Notacja: Klasy obiektów reprezentowane są jako prostokąty Opis podzielony jest na trzy części Nazwa Atrybuty Operacje Powiązania pomiędzy klasami (zwane asocjacjami) reprezentowane są przez linie łączące klasy; Dziedziczenie, określane mianem związku generalizacji modeluje związek jest rodzaju Agregacja modelująca zależności typu całość - część 47

Hierarchia klas w systemie biblioteki Składnik biblioteki Numer katalogowy Data zakupu Cena Typ Stan Liczba kopii Skataloguj() Usuń() Udostępnij() Zwróć() Składnik opublikowany Składnik utrwalony Tytuł Wydawca Tytuł Nośnik Książka Autor Wydanie Data wydania ISBN Czasopismo Rok Numer Film Rezyser Data premiery Dystrybutor Program komputerowy Wersja Platforma 48

Hierarchia klas reprezentujących użytkowników Użytkownik biblioteki Nazwisko Adres Telefon Numer karty Zarejestruj() Wyrejestruj() Czytelnik Przynalezność Wypożyczający Wypozyczone składniki Limit wypozyczeń Pracownik Jednostka Telefon Student Kierunek studiów Adres domowy 49

Dziedziczenie wielokrotne Praco wn ik Oso b a PracującyStu d en t Stu d en t W systemie wspierającym wielokrotne dziedziczenie klasa może dziedziczyć z więcej niż jednej nad-klasy. Może to prowadzić do konfliktów znaczeniowych gdy w nad-klasach znajdują się takie same nazwy atrybutów/usług o różnej semantyce. Dziedziczenie wielokrotne utrudnia ewentualną reorganizację hierarchii. 50

Agregacja obiektów Model agregacji pokazuje jak klasy będące kolekcjami są komponowane z innych klas. Pakiet kształcenia Tytuł wykładu Numer Rok Wykładowca Zadanie Punkty Prezentacje slajdy Tekst Notatki Materiały wizualne -identyfikator Ćwiczenia Liczba zadań Opis Rozwiązania Tekst Diagramy 51

Diagram klas z dziedziczeniem i asocjacjami Osoba * Student Pracownik zapisany na 1..* zapisany na Profesor 0..1 poprzedza * Kurs zawiera 1 1..* 1..* Wykład * prowadzi 1 następuje po * 52

Modelowanie zachowania obiektów Głównym zadaniem pomocniczego modelu dynamicznego (zachowania) w UML jest wypełnienie diagramu klas metodami wynikającymi z analizy zachowania systemu w trakcie wykonywania zadań, gdzie zadaniem może być np. realizacja przypadku użycia czy też jednego konkretnego scenariusza danego przypadku użycia. W UML do modelowania zachowania wykorzystuje się głównie diagramy sekwencji i współpracy wspomagane diagramami stanów. 53

Pobranie składnika elektronicznego : Katalog : Składnik biblioteki : SerwerDostarczania : Użytkownik wyszukaj wyświetl wynik Udostępnij Zarządaj_licencji () Zaakceptuj skompresuj prześlij 54

Słabości modeli Nie modelują wymagań niefunkcjonalnych. Zazwyczaj nie zawierają informacji o tym czy dana metoda rozwiązania jest odpowiednia do problemu. Mogą produkować nadmierną liczbę dokumentacji. Czasami modele są zbyt szczegółowe przez co trudne do zrozumienia przez użytkowników. 55

Narzędzia CASE Spójny zestaw narzędzi zaprojektowany w celu wsparcia określonej aktywności np. analizy, projektowania czy testowania. Narzędzia do analizy i projektowania wspomagają modelowanie systemu tak w procesie inżynierii wymagań jak i w procesie projektowania systemu. Narzędzia takie mogą wspomagać specyficzne metodyki lub udostępniać możliwość tworzenia wielu różnych typów modeli. 56

Struktura narzędzi CASE do analizy i projektowania Słownik danych Narzędzia do rysowania diagramów Generatory raportów Generatory kodu Centralne repozytorium Język zapytań Narzędzia do tworzenia formularzy Narzędzia do analizy i kontroli poprawności modeli Import eksport 57

Do poczytania Sommerville I.: Inżynieria Oprogramowania, rozdział 7. Dąbrowski, Subieta: Podstawy Inżynierii Oprogramowania, rozdział 4. O UML u książek jest dużo Tak na początek, Booch G., Rumbaugh J., Jacobson I.: UML przewodnik użytkownika, WNT, 2002. 58

Internet UML www.uml.org http://www-306.ibm.com/software/rational/uml/ 59