Analiza i projektowanie systemów informatycznych. Analiza systemowa

Podobne dokumenty
Analiza. Semantyka modelu obiektowego (UML to nie wszystko)

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

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

Projektowanie logiki aplikacji

UML w Visual Studio. Michał Ciećwierz

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

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

Podstawy programowania III WYKŁAD 4

Projektowanie oprogramowania cd. Projektowanie oprogramowania cd. 1/34

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

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

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

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

Język UML w modelowaniu systemów informatycznych

Analiza i projektowanie obiektowe 2016/2017. Wykład 10: Tworzenie projektowego diagramu klas

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

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

Rysunek 1: Przykłady graficznej prezentacji klas.

Projektowanie Zorientowane na Dziedzinę. ang. Domain Driven Design

Modelowanie danych, projektowanie systemu informatycznego

Podejście obiektowe - podstawowe pojęcia

Bazy danych. Zachodniopomorski Uniwersytet Technologiczny w Szczecinie. Wykład 3: Model związków encji.

INŻYNIERIA OPROGRAMOWANIA. laboratorium

Podstawy projektowania systemów komputerowych

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

Zofia Kruczkiewicz - Modelowanie i analiza systemów informatycznych 1

1 Projektowanie systemu informatycznego

Wykład 1 Inżynieria Oprogramowania

Laboratorium 6 DIAGRAM KLAS (Class Diagram)

Wybrane problemy z dziedziny modelowania i wdrażania baz danych przestrzennych w aspekcie dydaktyki. Artur Krawczyk AGH Akademia Górniczo Hutnicza

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

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

Modelowanie obiektowe

Zasady organizacji projektów informatycznych

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

Analiza i projektowanie aplikacji Java

Paweł Kurzawa, Delfina Kongo

Świat rzeczywisty i jego model

Analiza i programowanie obiektowe 2016/2017. Wykład 6: Projektowanie obiektowe: diagramy interakcji

UML a kod w C++ i Javie. Przypadki użycia. Diagramy klas. Klasy użytkowników i wykorzystywane funkcje. Związki pomiędzy przypadkami.

Modelowanie i Programowanie Obiektowe

Szczególne problemy projektowania aplikacji internetowych. Jarosław Kuchta Projektowanie Aplikacji Internetowych

Projektowanie obiektowe Wzorce projektowe. Gang of Four Strukturalne wzorce projektowe (Wzorce interfejsów)

UML. zastosowanie i projektowanie w języku UML

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

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

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

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

Baza danych przestrzennych modelowa reprezentacja fragmentu świata rzeczywistego

Inżynieria oprogramowania II

Diagramy obiegu dokumentów a UML w modelowaniu procesów biznesowych. Stanisław Niepostyn, Ilona Bluemke Instytut Informatyki, Politechnika Warszawska

Programowanie obiektowe - 1.

Karta opisu przedmiotu Zaawansowane techniki analizy systemowej oparte o modelowanie warsztaty

Diagramy związków encji. Laboratorium. Akademia Morska w Gdyni

Modelowanie i analiza systemów informatycznych

Zofia Kruczkiewicz - Modelowanie i analiza systemów informatycznych 2

Michał Adamczyk. Język UML

Podejście obiektowe wprowadzenie

Bazy danych. dr inż. Andrzej Macioł

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

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

Charakterystyka oprogramowania obiektowego

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

Wypożyczalnia VIDEO. Technologie obiektowe

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

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

Technologie informacyjne - wykład 12 -

Programowanie obiektowe

Faza analizy (modelowania) Faza projektowania

Systemy baz danych w zarządzaniu przedsiębiorstwem. W poszukiwaniu rozwiązania problemu, najbardziej pomocna jest znajomość odpowiedzi

Bazy Danych i Systemy informacyjne Wykład 7. Piotr Syga

MiASI. Modelowanie analityczne. Piotr Fulma«ski. 18 stycznia Wydziaª Matematyki i Informatyki, Uniwersytet Šódzki, Polska

Projektowanie Graficznych Interfejsów Użytkownika Robert Szmurło

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

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

Wrota Parsęty II o bazie danych przestrzennych - wprowadzenie

Baza danych przestrzennych modelowa reprezentacja fragmentu świata rzeczywistego

Analiza i projektowanie obiektowe 2016/2017. Wykład 8: Przypisywanie obiektom odpowiedzialności (2)

Diagramy klas. WYKŁAD Piotr Ciskowski

Programowanie obiektowe

Podstawy inżynierii oprogramowania

Programowanie obiektowe

Technologie obiektowe

030 PROJEKTOWANIE BAZ DANYCH. Prof. dr hab. Marek Wisła

Systemy baz danych. mgr inż. Sylwia Glińska

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

Laboratorium z przedmiotu: Inżynieria Oprogramowania INP

Transformacja wiedzy w budowie i eksploatacji maszyn

Wykład I. Wprowadzenie do baz danych

Diagramy klas. dr Jarosław Skaruz

Programowanie obiektowe

Zagadnienia egzaminacyjne INFORMATYKA. Stacjonarne. I-go stopnia. (INT) Inżynieria internetowa STOPIEŃ STUDIÓW TYP STUDIÓW SPECJALNOŚĆ

KATEDRA INFORMATYKI STOSOWANEJ PŁ INŻYNIERIA OPROGRAMOWANIA

koniec punkt zatrzymania przepływów sterowania na diagramie czynności

Podstawy modelowania programów Kod przedmiotu

Projektowanie oprogramowania

Diagram klas UML jest statycznym diagramem, przedstawiającym strukturę aplikacji bądź systemu w paradygmacie programowania obiektowego.

Metody symulacji komputerowych Modelowanie systemów technicznych

Diagram przypadków użycia

Transkrypt:

Analiza i projektowanie systemów informatycznych Analiza systemowa

Istota analizy systemowej Analiza ma na celu opracowanie takiej struktury systemu i mechanizmów współdziałania elementów tej struktury, aby zrealizować wymagania funkcjonalne. Z jednej strony model analityczny odnosi się do przypadków użycia opisując ich realizację. Z drugiej strony jest pierwszym szkicem modelu projektowego. APSI 2

Model analityczny a model UC Model UC zawiera opis przypadków użycia opisywany językiem branżowym zewnętrzny widok systemu strukturalizacja przypadków użycia Model analityczny zawiera opis realizacji przypadków użycia opisywany językiem informatycznym wewnętrzny kształt systemu strukturalizacja przez klasy i pakiety APSI 3

Model analityczny a model UC Model UC może zawierać niezgodności i niespójności w wymaganiach tworzony dla komunikacji z użytkownikami, projektantami, testerami co system ma robić zawiera zebrane wymagania funkcjonalne Model analityczny nie zawiera niezgodności i niespójności w wymaganiach tworzony dla projektantów z czego system ma się składać opisuje, jak zrealizować wymagania funkcjonalne APSI 4

Zawartość modelu analitycznego realizacje przypadków użycia: diagram klas stereotypowych: <<boundary>> <<control>> <<entity>> diagramy interakcji (sekwencji / współpracy) diagramy klas warstw systemu: model danych model aplikacji (model interfejsu) zweryfikowane szczegółowe opisy wymagań APSI 5

Diagramy klas związki generalizacji-specjalizacji opisują hierarchie pojęć związki asocjacji opisują logiczne powiązania pomiędzy pojęciami związki agregacji opisują zasady wewnętrznej konstrukcji obiektów złożonych APSI 6

Generalizacja-specjalizacja związek pomiędzy klasami, a nie obiektami klas możliwe dowolne rozbudowywanie drzew specjalizacji, ale dla zapewnienia odpowiedniej jakości modelu konieczne zachowanie odpowiedniego poziomu czytelności konieczność zapewnienia równowagi pomiędzy prostotą a precyzją modelu modelujemy rzeczywiste, a nie przypadkowe związki APSI 7

Generalizacja-specjalizacja wskazania do specjalizacji klas: odmienna struktura (atrybuty), odmienne zachowanie (operacje), odmienne asocjacje, związki pomiędzy specjalizacjami, stabilność przynależności obiektów poprawne zależności pomiędzy operacjami klasy specjalizacji i ogólnej: ukonkretnienie operacji abstrakcyjnej, rozwinięcie, uszczegółowienie, rozszerzenie, ograniczenie APSI 8

Agregacja związek określający sposób budowy złożonych obiektów z elementów składowych (związek części z całością) pełny opis agregacji wymaga dodatkowej dokumentacji poza diagramem, który nie jest w stanie pokazać większości aspektów związku APSI 9

Rodzaje agregacji komponent całość materiał produkt porcja obiekt miejsce obszar element komplet element formacja członek grupa członek zespół APSI 10

Komponent całość Najbardziej intuicyjny rodzaj agregacji zależność strukturalna lub funkcjonalna opisująca konstrukcję obiektów o złożonej strukturze. Przykłady: koła, silnik, skrzynia biegów są częściami samochodu, sceny są częściami filmu, geometria jest częścią matematyki Całość jest strukturą złożoną z części w ściśle określony sposób. Najczęściej bardzo istotne są również związki pomiędzy komponentami. Części pełnią konkretna funkcję w całości, mogą być odłączane, dołączane, wymieniane. APSI 11

Materiał produkt Związek pomiędzy produktem, a materiałami, z których jest wykonany. Przykłady: cappuccino składa się częściowo z mleka, samochód zbudowany jest częściowo ze stali, chleb zrobiony jest częściowo z mąki Elementy (materiały) nie mogą być odłączane od całości, chociaż czasem mogą być dołączane. Z reguły nie ma struktury i nie istnieją związki pomiędzy elementami. APSI 12

Porcja obiekt Związek pomiędzy całym obiektem, a jego powtarzalnymi częściami (porcjami, segmentami). Przykłady: kromka jest częścią bochenka chleba, odcinek (kilometr) drogi jest częścią drogi Porcje są identyczne lub bardzo podobne i mają niektóre cechy wspólne z całością. Dzięki temu możliwe jest utrzymywanie tych cech wyłącznie na poziomie całości ma miejsce propagacja atrybutów. Elementy nie tworzą struktury. Porcje mogą być zliczane, dodawane i odłączane. APSI 13

Miejsce obszar Związek pomiędzy obiektami w przestrzeni. Przykłady: Warszawa leży w Polsce, szczyt jest częścią góry, pole karne jest częścią boiska Obiekty składowe zawierają się przestrzennie w całości, mają pewne cechy wspólne (propagacja atrybutów). Możliwe jest określenie struktury. Części z reguły nie mogą być odłączane. APSI 14

Element komplet Związek określający przynależność obiektu do kompletu, zestawu stanowiącego pewną całość wyłącznie wtedy, gdy zawiera wszystkie elementy składowe. Przykłady: złoty medal jest elementem kompletu medali za bieg na 100m mężczyzn IO XXIX Olimpiady w Pekinie kupon nr 123456 należy do losowania dużego lotka 21.02.2009r. 1. tercja jest częścią meczu o MŚ w hokeju Obiekty składowe są podobne do siebie (choć nie identyczne). Elementy tworzą zbiór (zwykle uporządkowany), lecz nie tworzą struktury. Elementy nie mogą być ani odłączane, ani dołączane. APSI 15

Element formacja Związek określający przynależność obiektu do zorganizowanej formacji, organizmu. Przykłady: gałąź jest elementem korony drzewa piksel jest elementem obrazu Obiekty składowe są podobne do siebie mają wiele cech wspólnych. Elementy tworzą strukturę (często liniową lub fraktalną). Elementy mogą być odłączane i przeważnie też dołączane. APSI 16

Członek grupa Związek określający przynależność obiektów do grupy określana na podstawie pewnej metryki lub nawet arbitralnego przyporządkowania. Przykłady: drzewo należy do lasu, statek należy do floty, student należy do organizacji studenckiej Kolekcja składa się z wielu obiektów, które mogą być zupełnie różne. Obiekty składowe raczej nie tworzą struktury. Brak związków pomiędzy poszczególnymi elementami. Elementy mogą być dodawane lub odłączane od grupy. APSI 17

Członek zespół Związek określający silny i trwały związek członków tworzących zespół. Przykłady: Flip i Flap, Bolek i Lolek W odróżnieniu od związku członek grupa nie jest tu możliwe odłączenie członka od zespołu. Czasem możliwe jest osłabienie związku dopuszczając np. wymianę członka zespołu. APSI 18

Charakterystyka agregacji Rodzaj Jednor. Odłącz. Struktur. komponent całość + + materiał produkt członek zespół + członek grupa + porcja obiekt + + miejsce obszar + + element komplet + element formacja + + + APSI 19

Przechodniość relacji agregacji Agregacje są przechodnie jeśli zachowany jest rodzaj agregacji, np.: silnik jest częścią samochodu (komponent całość) i tłok jest częścią silnika (komponent całość) => tłok jest częścią samochodu Mazowsze leży w Polsce (miejsce obszar) i Warszawa leży na Mazowszu (miejsce obszar) => Warszawa leży w Polsce Przy różnych rodzajach agregacji brak przechodniości. Dla agregacji tranzytywnych naturalna jest propagacja operacji. APSI 20

Istotne cechy agregacji W ramach opisu agregacji konieczne jest określenie następujących cech związku, aby w pełni go opisać. Cechy te nie występują na diagramie! propagacja operacji, propagacja atrybutów, instancjonowanie składowych i powiązań, wymuszanie niezmienności powiązań, zarządzanie składowymi i powiązaniami, dostępność (widoczność) składowych, destrukcja składowych. APSI 21

Związki nie będące agregacjami Zawieranie topologiczne (tymczasowe) klient jest w sklepie, spotkanie jest w czwartek może być mylone z agregacją typu miejsce obszar. Klasyfikacja samochód jest pojazdem, Java jest językiem obiektowym, student jest członkiem grupy studenckiej to w istocie specjalizacja, może być mylona z agregacją członek grupa APSI 22

Związki nie będące agregacjami Cechy, atrybuty osoba ma adres, samochód ma prędkość maksymalną zależność mylona z agregacją komponent całość Dodatki kolczyki są w uszach asocjacja, nadinterpretacja agregacji komponent całość Własność Ala ma kota, statek należy do armatora po prostu asocjacja, mylona czasem z agregacją członek grupa (zespół) APSI 23

Diagramy stanów Diagramy stanów są elementem dodatkowym do diagramu klas. Służą do zwiększenia precyzji opisu klas. Stosuje się do opisu tych klas, których obiekty mają pewien nietrywialny cykl życia. APSI 24

Pojęcie stanu Stan zbiór wartości atrybutów i/lub związków wśród atrybutów klasy jest jeden lub kilka atrybutów (ewentualnie związków), których wartości określają stan, w którym znajduje się obiekt. Przykłady: winda: piętro (1 atrybut), aparat: tryb, przysłona, czas (zbiór atrybutów), kurier: przesyłka (związek) APSI 25

Pojęcie stanu Stan zbiór typów obiektowych, do których obiekt przynależy obiekt w danej chwili może przyjmować typ lub typy, które określają stan, w którym znajduje się obiekt. Przykład: osoba: pracująca / bezrobotna właściciel samochodu APSI 26

Istota stanu Ograniczenie zmienności atrybutów dodatkowe dookreślenie definicji atrybutu, kiedy dziedzina to nie wszystko: nr piętra w windzie może się zmieniać tylko co 1 Określenie dopuszczalności operacji w każdym ze stanów mogą być dopuszczalne inne operacje na obiekcie na dokumencie nie można wykonać operacji publikuj, jeśli nie jest on w stanie zatwierdzony te same operacje w zależności od stanu mogą dawać inne efekty jednokrotne naciśnięcie klawisza powoduje wolne przewijanie, kolejne - szybkie APSI 27

Istota stanu Ilustracja znaczenia atrybutu, dyskretyzacja wartości Jeśli atrybut ma wartość ciągłą lub zbiór wartości jest duży, można podzielić zbiór wartości na podzbiory o znaczeniu istotnym dla problemu. ciśnienie w kotle: 0 1 = za małe, 1 3 = robocze, 3 5 = nadmierne, > 5 = awaria! Stan jako miejsce w sterowaniu APSI 28