Świat rzeczywisty i jego model

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

Modelowanie danych, projektowanie systemu informatycznego

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

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

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

Projektowanie logiki aplikacji

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

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

Diagramy klas. WYKŁAD Piotr Ciskowski

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

Rysunek 1: Przykłady graficznej prezentacji klas.

Diagramy przypadków użycia. WYKŁAD Piotr Ciskowski

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

Modelowanie i Programowanie Obiektowe

1 Projektowanie systemu informatycznego

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

Diagramy klas. dr Jarosław Skaruz

Podstawy programowania III WYKŁAD 4

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

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

Baza danych przestrzennych modelowa reprezentacja fragmentu świata rzeczywistego

Bazy danych i usługi sieciowe

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

Baza danych przestrzennych modelowa reprezentacja fragmentu świata rzeczywistego

BAZY DANYCH model związków encji. Opracował: dr inż. Piotr Suchomski

Paweł Kurzawa, Delfina Kongo

Modelowanie obiektowe - Ćw. 3.

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

Język UML w modelowaniu systemów informatycznych

UML w Visual Studio. Michał Ciećwierz

Modelowanie obiektowe

Modelowanie przypadków użycia. Jarosław Kuchta Projektowanie Aplikacji Internetowych

Diagramy przypadków użycia

Diagram przypadków użycia

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

Podrozdziały te powinny zawierać informacje istotne z punktu widzenia przyjętego celu pracy

Modelowanie diagramów klas w języku UML. Łukasz Gorzel @stud.umk.pl 7 marca 2014

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

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

Technologie obiektowe

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

Podejście obiektowe - podstawowe pojęcia

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

TECHNOLOGIE OBIEKTOWE. Wykład 3

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

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

Projektowanie oprogramowania cd. Projektowanie oprogramowania cd. 1/34

Systemy informatyczne. Modelowanie danych systemów informatycznych

Język UML. dr inż. Piotr Szwed C3, pok

Programowanie i projektowanie obiektowe

Narzędzia informatyczne wspierające przedsięwzięcia e-commerce

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

z dnia r. w sprawie bazy danych obiektów topograficznych oraz mapy zasadniczej

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

TECHNIKI MODELOWANIA STRUKTURY INFORMACYJNEJ

TECHNOLOGIE OBIEKTOWE WYKŁAD 2. Anna Mroczek

MODELOWANIE OBIEKTOWE

Język UML w modelowaniu systemów informatycznych

UML. zastosowanie i projektowanie w języku UML

Zofia Kruczkiewicz - Modelowanie i analiza systemów informatycznych 2

Projektowanie baz danych

Zalety projektowania obiektowego

Wykład I. Wprowadzenie do baz danych

Projektowanie Zorientowane na Dziedzinę. ang. Domain Driven Design

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

Wykład 1 Inżynieria Oprogramowania

Laboratorium 02: Obiektowe modelowanie dziedziny [2h]

Zofia Kruczkiewicz - Modelowanie i analiza systemów informatycznych 1

Faza analizy (modelowania) Faza projektowania

Lista przykładowych pytań do egzaminu z przedmiotu Inżynieria Oprogramowania

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

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

Laboratorium 6 DIAGRAM KLAS (Class Diagram)

Podstawy modelowania w języku UML

Autor: Joanna Karwowska

Podstawy Programowania Obiektowego

Michał Adamczyk. Język UML

Modelowanie i analiza systemów informatycznych Spis treści

Tworzenie warstwy zasobów projektowanie metodą strukturalną

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

Wykład II Encja, atrybuty, klucze Związki encji. Opracowano na podstawie: Podstawowy Wykład z Systemów Baz Danych, J.D.Ullman, J.

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

Specyfikowanie wymagań przypadki użycia

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

Diagramy czynności Na podstawie UML 2.0 Tutorial

Modelowanie danych Model związków-encji

Programowanie obiektowe - 1.

Systemy baz danych. 1. Plan: 2. Zadania: Projekt Bazy Danych - wybór tematów, wstępna kategoryzacja 8. Projekt Bazy Danych - diagram ER

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

Bazy Danych. Bazy Danych i SQL Podstawowe informacje o bazach danych. Krzysztof Regulski WIMiIP, KISiM,

Projektowanie Systemów Informacyjnych

MiASI. Modele, perspektywy, diagramy UML. Piotr Fulmański. 7 grudnia Wydział Matematyki i Informatyki, Uniwersytet Łódzki, Polska

UML - zarys 2007/2008

PLAN WYKŁADU BAZY DANYCH GŁÓWNE ETAPY PROJEKTOWANIA BAZY MODELOWANIE LOGICZNE

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

Charakterystyka oprogramowania obiektowego

Projektowanie BD Diagramy związków encji

Bazy Danych. Modele danych. Krzysztof Regulski WIMiIP, KISiM,

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

Transkrypt:

2 Świat rzeczywisty i jego model Świat rzeczywisty (dziedzina problemu) Świat obiektów (model dziedziny) Dom Samochód Osoba Modelowanie

3 Byty i obiekty Byt - element świata rzeczywistego (dziedziny problemu), którego dotyczy system informatyczny. Może mieć charakter namacalny (rzecz) lub nienamacalny (pojęcie) Obiekt element modelu dziedziny, będący odwzorowaniem konkretnego bytu ze świata rzeczywistego (dziedziny problemu)

4 Alternatywa obiektowego modelu dziedziny Modele związków encji Modele ontologiczne

5 Modelowanie dziedziny Modelowanie - odwzorowywanie bytów świata rzeczywistego i powiązań między nimi w obiekty i powiązania miedzy obiektami odzwierciedla statyczne aspekty świata rzeczywistego Modelowanie z definicji upraszcza rzeczywistość Modeluje się tylko wybrane aspekty rzeczywistości

6 Model a diagram 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

7 Model a diagram - przykład Model przypadków użycia obejmuje: Scenariusze przypadków użycia Diagram przypadków użycia obejmuje: Diagram klas Diagram obiektów

8 Świat rzeczywisty i jego reprezentacja

9 Co to jest obiekt? Obiekt reprezentuje określony byt ze świata rzeczywistego Byt ze świata rzeczywistego może mieć wiele reprezentacji Byty świata rzeczywistego posiadają zazwyczaj wiele cech Obiekt odwzorowuje tylko te cechy, które mają znaczenie z punktu widzenia projektowanego systemu Obiekt może być złożony, tzn. zawierać inny obiekt

10 Formalna charakterystyka obiektu Tożsamość element wyróżniający dany obiekt pośród innych. W praktyce do wyróżnienia obiektu używa się identyfikatorów Stan zbiór wartości wszystkich cech (atrybutów) obiektu oraz powiązań między obiektami. Stan obiektu może się zmieniać Zachowanie zbiór wszystkich usług, jakie obiekt potrafi wykonać na rzecz innych obiektów

11 Stan obiektu Atrybut cecha (własność) obiektu, przyjmująca określoną wartość. Obiekty mogą posiadać wiele atrybutów. Wartość atrybutu opisuje bieżący stan obiektu Powiązanie - związek (fizyczny lub pojęciowy) miedzy obiektami, odwzorowywujący związek pomiędzy bytami w dziedzinie problemu

12 Model Dziedziny - diagram obiektów Diagram obiektów - przedstawia obiekty i powiązania miedzy nimi w określonej chwili

13 Pojęcie klasy Klasa jest nazwanym opisem (specyfikacją, wzorcem, definicją) obiektów mających identyczną strukturę (atrybuty, powiązania) i zachowanie Obiekt jest instancją (egzemplarzem, wystąpieniem) klasy Klasa może posiadać wiele instancji Klasa nie jest zbiorem obiektów Pomiędzy klasami mogą istnieć związki

14 Powiązanie a Asocjacja Powiązanie - związek (fizyczny lub pojęciowy) miedzy obiektami, odwzorowywujący związek pomiędzy bytami w dziedzinie problemu Asocjacja związek między klasami wynikający z istnienia powiązań między obiektami tych klas

15 Obiekt, klasa, powiązanie, asocjacja obiekt = instancja (wystąpienie) klasy powiązanie = instancja (wystąpienie) asocjacji

16 Cechy asocjacji - nazwa Nazwa - określa znaczenie (istotę) asocjacji w modelu dziedziny Może być uzupełniona o znacznik wskazujący kierunek odczytywania Jako nazw asocjacji używa się fraz czasownikowych Należy unikać zbyt ogólnych nazw

17 Cechy asocjacji - role Rola - powinność jaką pełni obiekt jednej klasy wobec obiektu innej klasy Nazwy ról umieszcza się przy każdej z klas Jako nazw ról używa się rzeczowników lub fraz rzeczownikowych

18 Cechy asocjacji krotność Krotność (liczebność, liczność) przy jednej z klas określa maksymalną i minimalną liczbę obiektów tej klasy powiązanych z jednym obiektem innej klasy Przykłady: 1 dokładnie 1 0..1 co najwyżej 1 1..* przynajmniej 1 2, 4, 6 konkretne wartości (2 lub 4 lub 6) * dowolna liczba

19 Rodzaje asocjacji Asocjacja binarna asocjacja, której wystąpienia łączą 2 obiekty co najwyżej dwóch klas Asocjacje n-arna - asocjacja, której wystąpienia łączą n obiektów co najwyżej n klas

20 Model Dziedziny - diagram klas Diagram klas przedstawia klasy oraz związki pomiędzy klasami (asocjacje)

21 Diagram obiektów i diagram klas Diagram obiektów Diagram klas Wizualizuje statyczne aspekty modelu dziedziny Przedstawia obiekty i powiązania obiektów istniejące w określonej chwili Jest opcjonalny - używa się w celu lepszego zrozumienia diagramu klas Wizualizuje statyczne aspekty modelu dziedziny Przedstawia klasy oraz asocjacje, które są niezależne od czasu Jest obowiązkowym elementem większości projektów UML-owych

22 Analiza a projektowanie Analiza koncentruje się na badaniu dziedziny problemu oraz wymagań stawianych przed systemem. Wynikiem analizy jest model dziedziny problemu, który odzwierciedla ważne z punktu widzenia systemu byty świata rzeczywistego, ich najważniejsze cechy oraz zależności miedzy nimi Projektowanie polega na szukaniu rozwiązania dla problemu, którego dotyczy system informatyczny. W wyniku otrzymujemy model projektowy, będący w istocie zbiorem powiązanych klas, wyposażonych w metody odpowiedzialne za realizacje zidentyfikowanego we wcześniejszej fazie zakresu funkcjonalności

23 Analiza a projektowanie Analiza Zrozumienie problemu Projektowanie = propozycja rozwiązania

24 Rodzaje klas klasy konceptualne (pojęciowe) - faza analizy klasy projektowe - faza projektowania klasy implementacyjne - faza implementacji

25 Proces tworzenia modelu dziedziny 1. Identyfikacja klas konceptualnych i obiektów 2. Identyfikacja związków między klasami konceptualnymi 3. Identyfikacja atrybutów Uwaga: w modelu dziedziny nie specyfikuje się zachowania obiektów, tj. operacji

26 Techniki tworzenia modelu dziedziny Lista typowych klas Analiza dziedziny problemu Identyfikacja fraz rzeczownikowych Komentarz: Najlepsze efekty osiąga się stosując techniki mieszane

27 Lista typowych klas Technika opiera się na obserwacji, że w wielu systemach pojawiają się te same klasy, a problem z którym mamy do czynienia był już wielokrotnie analizowany Lista tych najczęściej spotykanych klas jest dobrym źródłem klas w naszym systemie Proces identyfikacji klas konceptualnych polega na przeglądaniu listy i poszukiwaniu podobnych klas w projektowanym systemie

28 Lista najczęściej spotykanych klas Kategoria Transakcje Pozycje transakcji Przedmiot transakcji Role odgrywane przez osoby Organizacje Katalogi, grupy Instrumenty finansowe Opisy Zdarzenia Dokumenty Przykład Sprzedaż, Rezerwacja, Wynajęcie PozycjaSprzedaży, PozycjaZamówienia Produkt, Usługa, Bilet Sprzedawca, Kupujący, Pracownik Firma, Odział, Uczelnia KatalogProduktów, KatalogOsób Gotówka, Czek, KartaKredytowa OpisProduktu, OpisFilmu Sprzedaż, Płatność, Seans Faktura, Zamówienie

29 Analiza dziedziny problemu Technika polega na próbie odkrycia klas konceptualnych poprzez analizę wszelkiej dostępnej dokumentacji Kandydatów na klasy konceptualne wyszukuje się w dokumentach specyfikacji systemu, przypadkach użycia Dobre efekty uzyskuje się korzystając z wiedzy ekspertów lub wiedzy zawartej w literaturze związanej z dziedziną problemu

30 Identyfikacja fraz rzeczownikowych Technika opiera się na opisie (w języku naturalnym) dziedziny problemu sporządzonym przez eksperta posiadającego odpowiednią wiedzę Jako potencjalne klasy konceptualne przyjmuje się rzeczowniki i frazy rzeczownikowe występujące w tekście Ze względu na dużą niejednoznaczność języka naturalnego metoda może prowadzić do nadmiarowości

31 Tworzenie modelu dziedziny uwagi (1) Dobre efekty daje iteracyjnie wykonywanie etapów Kolejność wykonania może być dowolna Warto rozpocząć analizę od próby znalezienia klasy konceptualnej, która pełni rolę nadrzędną (jeśli taka istnieje) W modelu mogą pojawiać się klasy konceptualne, które nie posiadają atrybutów Należy wystrzegać się klas konceptualnych reprezentujących elementy interfejsu użytkownika

32 Tworzenie modelu dziedziny uwagi (2) Z listy potencjalnych klas konceptualnych należy wykreślić te, które w rozpatrywanym kontekście oznaczają to samo oraz te, które wydają się zbyt abstrakcyjne Dane pojęcie z dziedziny problemu jest kandydatem na atrybut, jeśli potrafimy przydzielić mu jakiś prosty typ danych, np. liczba, tekst. Jeśli tego nie da się zrobić, jest to najprawdopodobniej klasa Stosunkowo łatwo identyfikuje się klasy reprezentujące fizyczne przedmioty (Samochód, Piłka, Dom), znacznie trudniej zidentyfikować klasy reprezentujące pojęcia abstrakcyjne (Transakcja, Połączenie, Spotkanie)

33 Przykład: Organizator Organizator - jest aplikacją przeznaczoną do użytku osobistego lub pracy w grupie. W skład aplikacji wchodzi: Książka adresowa Terminarz Rocznice

34 Przykład: Organizator (2) Książka adresowa - służy do przechowywania danych osób, z którymi utrzymujemy kontakt. Wśród tych danych znajdują się m.in. adres domowy, adres miejsca pracy, telefony (stacjonarne, komórkowe, itp. ), adres poczty elektronicznej.

35 Przykład: Organizator (3) Terminarz - służy do przechowywania informacji o zdarzeniach. Zdarzenie informuje nas: (i) co się zdarzy, (ii) gdzie oraz (iii) kiedy. Do zdarzenia można dopisać uczestników, tj. osoby które będą brały udział w tym zdarzeniu. Aplikacja pozwala na automatyczne rozsyłanie poczty o nadchodzącym terminie spotkania. Istnieje również możliwość potwierdzania spotkania dla każdego z uczestników.

36 Przykład: Organizer (4) Terminarz c.d. - Do każdego zdarzenia można dodać alarm, który powiadomi właściciela organizera o nadchodzącym terminie spotkania. Powiadomienie może mieć charakter sygnału dźwiękowego, wywołania określonej aplikacji lub też wysłania SMS-a. Niektóre zdarzenia mogą mieć charakter cykliczny (np. w każdy czwartek). Dla wygody użytkownika aplikacja pozwala definiowanie powtarzalności dla każdego zdarzenia.

37 Lista kandydatów książka adresowa osoba kontakt imię nazwisko książka telefoniczna adres ulica numer domu adres zamieszkania adres miejsca pracy telefon stacjonarny telefon komórkowy

38 Lista kandydatów - analiza książka adresowa i książka telefoniczna w rozpatrywanym kontekście oznaczają to samo kandydat na klasę konceptualną osoba i kontakt również oznaczają to samo kandydat na klasę konceptualną imię, nazwisko, ulica, numer domu, telefon stacjonarny, telefon komórkowy kandydaci na atrybuty (reprezentują podstawowe typy danych zmienne tekstowe) adres kandydat na klasę konceptualną - reprezentuje coś bardziej złożonego

39 książka adresowa

40 - terminarz