Projektowanie systemów informacyjnych

Slides:



Advertisements
Podobne prezentacje
7. Metody analizy i modelowania strukturalnego SI
Advertisements

Projektowanie systemów informacyjnych
Studia Podyplomowe IT w Biznesie Inżynieria Oprogramowania
Projektowanie systemów informacyjnych
© K.Subieta. Konstrukcja systemów obiektowych i rozproszonych 3, Folia 1 październik 2004 Konstrukcja systemów obiektowych i rozproszonych Wykładowca:
Kamil Łącki Dominik Strzelichowski
Implementacja asocjacji
Inteligentny System Aktualności
INTELIGENTNY SYSTEM AKTUALNOŚCI Wrzesień 2009 Polsko-Japońska Wyższa Szkoła Technik Komputerowych Praca dyplomowa napisana pod kierunkiem mgr inż. Edgara.
UML Unified Modeling Language
Projektowanie systemów informacyjnych
Co UML może zrobić dla Twojego projektu?
Bartosz Walter Prowadzący: Bartosz Walter
dr inż. Grzegorz Maniarski
Diagramy interakcji Jacek Górski gr
Studia Podyplomowe IT w Biznesie Inżynieria Oprogramowania
Projektowanie systemów informacyjnych
Projektowanie systemów informacyjnych
Animacja Animacja jest procesem automatycznego generowania serii obrazów, gdy kolejny obraz przedstawia pewną zmianę w stosunku do poprzedniego. Ta definicja.
DIAGRAMY KLAS i obiektów
Diagramy klas w języku UML
K.Subieta, E. Stemposz. Projektowanie systemów informacyjnych, Wykład 9, Folia 1 Projektowanie systemów informacyjnych Kazimierz Subieta, Ewa Stemposz.
Projektowanie systemów informacyjnych
Projektowanie systemów informacyjnych
Projektowanie systemów informacyjnych
Projektowanie i programowanie obiektowe II - Wykład IV
Projektowanie i programowanie obiektowe II - Wykład II
PODSUMOWANIE STUDIÓW PODYPLOMOWYCH
Projektowanie - wprowadzenie
Model dziedziny. Świat rzeczywisty i jego model Świat rzeczywisty (dziedzina problemu) Świat obiektów (model dziedziny) Samochód Osoba Dom Modelowanie.
Wykład 4 Analiza i projektowanie obiektowe
Wykład 5 UML - Unified Modeling Language
Nadstruktura języka UML w wersji 2.2 Część V Wdrożenie (pakiet UML::Deployments)
Infrastruktura języka UML w wersji 2.2
Nadstruktura języka UML w wersji 2.2
Diagramy ER (Entity-relationship diagrams)
Automatyka Wykład 3 Modele matematyczne (opis matematyczny) liniowych jednowymiarowych (o jednym wejściu i jednym wyjściu) obiektów regulacji.
Stanisław Jerzy Niepostyn, Ilona Bluemke Instytut Informatyki,
Automatyczne dereferencje w języku SBQL
UML 2.x Robert Pająk.
Kontrola spójności modeli UML za pomocą modelu przestrzennego DOD
- obiektowej metodyki analizy i projektowania SI
OMT - Model obiektów, cz.3.
Podsumowanie metodologii OMT
Programowanie obiektowe 2013/2014
ZWIĄZKI MIĘDZY KLASAMI KLASY ABSTRAKCYJNE OGRANICZENIA INTERFEJSY SZABLONY safa Michał Telus.
Institute of Computer Science PAS Warsaw, The Project is co-financed by the European Union from resources of the European Social Found.
Unified Modeling Language - Zunifikowany Język Modelowania
Wprowadzenie do UML dr hab. inż. Kazimierz Subieta profesor PJWSTK.
Modelowanie obiektowe Diagramy klas
UML W V ISUAL S TUDIO Mateusz Lamparski. UML D EFINICJA Unified Modeling Language (UML) to graficzny język do obrazowania, specyfikowania, tworzenia i.
Treści multimedialne - kodowanie, przetwarzanie, prezentacja Odtwarzanie treści multimedialnych Andrzej Majkowski informatyka +
OCL.
Projektowanie Aplikacji Internetowych Artur Niewiarowski Wydział Fizyki, Matematyki i Informatyki Politechnika Krakowska.
ZINTEGROWANE SYSTEMY ZARZĄDZANIA
Projektowanie bazy danych z użyciem diagramów UML Obiektowe projektowanie relacyjnej bazy danych Paweł Jarecki.
Modelowanie model związków encji
Podstawy Techniki Cyfrowej Dr inż. Marek Mika Państwowa Wyższa Szkoła Zawodowa im. Jana Amosa Komeńskiego W Lesznie Wykład 5: Minimalizacja form boolowskich.
Statyczna kontrola typów w SBQL Rafał Hryniów Polsko-Japońska Wyższa Szkoła Technik Komputerowych, Warszawa
E. Stemposz. Wprowadzenie do UML, Wykład 1, Slajd 1/24 Wykład 1 Wprowadzenie do UML dr inż. Ewa Stemposz
Implementacja asocjacji (z atrybutami i bez) przy użyciu: referencji (kolekcji referencji) tablic asocjacyjnych przygotował: Kamil Kowalczyk.
Wyższa Szkoła Bankowa, Poznań, dr inż. mirosław Loręcki
Projektowanie systemów informacyjnych
Układ ciągły równoważny układowi ze sterowaniem poślizgowym
Sterowanie procesami ciągłymi
Zespół Szkół Ponadgimnazjalnych im. Orła Białego
Projektowanie systemów informacyjnych
IEEE SPMP Autor : Tomasz Czwarno
Zapis prezentacji:

Projektowanie systemów informacyjnych Wykład 6: OMT - Model obiektów, cz.3 Kazimierz Subieta Instytut Podstaw Informatyki PAN, Warszawa Polsko-Japońska Wyższa Szkoła Technik Komputerowych, Warszawa

OMT - model obiektów Ograniczenia Obiekty, powiązania i atrybuty pochodne Homomorfizm Zalecenia praktyczne Podsumowanie terminologii i notacji Przykłady diagramów

Ograniczenia Zawód Pracownik Okno priorytet zarobek wysokość szerokość Są to zależności pomiędzy bytami (klasy, atrybuty, powiązania i asocjacje) . Ograniczenie (statyczne) ogranicza wartości tych bytów lub kombinacje wartości Ograniczenie (dynamiczne) ogranicza zmianę tych wartości. szef Pracownik zarobek Zawód priorytet Okno wysokość szerokość {zarobek <= szef.zarobek} {priorytet nigdy nie wzrasta} 0.8 <= wysokość/szerokość <= 1.5 Porządek chronologiczny głów państwa Państwo {porządek} Głowa państwa Osoba Członek Osoba Komitet {podzbiór} Przewodniczący

Obiekty, powiązania, atrybuty pochodne Cecha pochodna jest zdefiniowana poprzez funkcję działającą na jednym lub więcej bytach modelu, które też mogą być pochodne. Osoba data_urodzenia /wiek Bieżąca_data {wiek = bieżąca_data - data_urodzenia} Maszyna Zespół Część Położenie Bezwzględne położenie położenie Położenie {Położenie = (Maszyna-Zespół).położenie + (Zespół-Część).położenie}

Homomorfizm Opisuje odwzorowanie pomiędzy asocjacjami. PozycjaKatalogu zawiera Odwzorowuje zawiera PozycjaKatalogu nr modelu Egzemplarz nr seryjny Opisuje A B r Sytuacja ogólna t u {u(b,d) ==> t(b.r, d.s)} C D s Homomorfizm występuje dość często, szczególnie w relacji danych do metadanych.

Zalecenia praktyczne (1) Nie zaczynaj konstrukcji modelu od szkicowania klas, asocjacji i dziedziczenia. Najpierw musisz dokładnie zrozumieć problem. Staraj się utrzymać prostotę modelu, unikaj zbędnych komplikacji. Starannie wybieraj nazwy. Są one ważne i niosą istotne skojarzenia. Nazwy powinny być informatywne, krótkie i jednoznaczne. Nie powinny skłaniać się do jednego aspektu obiektu. Dobry wybór nazw jest najtrudniejszym problemem. Nie wstawiaj wskaźników lub innych referencji do obiektów jako wartości atrybutów. Zamiast tego, użyj asocjacji. Staraj się unikać ternarnych i n-arnych asocjacji. W większości, mogą one być zdekomponowane na asocjacje binarne, ewentalnie z kwlifikatorami i atrybutami powiązań. Nie staraj się być perfekcyjny w odwzorowaniu liczności powiązań na wczesnym etapie rozwoju projektu oprogramowania. Nie wrzucaj atrybutów powiązań do klas.

Zalecenia praktyczne (2) Użyj kwalifikowanych asocjacji, jeżeli jest to możliwe. Unikaj zbyt głębokich generalizacji. Bądź podejrzliwy w stosunku do powiązań 1:1. Często jeden lub oba końce są opcjonalne, czyli liczność {0,1} jest bardziej właściwa. Nie bądź zaskoczony, jeżeli twój model będzie wymagał gruntownej przeróbki. Proces rafinacji nazw, reperowania błędów, dodawania szczegółów, itd. może wymagać wielu iteracji. Skomplikowane, wielostronicowe modele wymagają ich nawet pół tuzina. Staraj się zainteresować inne osoby twoim modelem, dla uzyskania krytycznego spojrzenia. Zawsze rób dokumentację do modelu. Diagram określa strukturę modelu, ale nie odwzorowuje powodów decyzji. Pisanie wyjaśnień jest istotne dla innego czytelnika. Dotyczy to szczególnie znaczenia użytych nazw. Nie staraj się użyć wszystkich notacji, jakie oferuje OMT. Jest on idealizacją; nie wszystkie konstrukcje są potrzebne dla konkretnego problemu. Wiele konstrukcji jest sprawą wyczucia. Używaj ich tylko wtedy, gdy problem tego wymaga.

Podsumowanie terminologii CAD (1) Byty lub pojęcia wyróżnialne w rzeczywistości Obiekty Identyfikowane poprzez sformułowanie zakresu SI oraz ograniczone do obiektów danej dziedziny zastosowań. Klasy Modelują powiązania pomiędzy obiektami. Identyfikowane poprzez sformułowanie zakresu SI i niejawne zależności między klasami. Asocjacje Asocjacja pochodna Asocjacja, która może być opisana w terminach innych asocjacji Część asocjacji (nazwana), ustalająca semantykę klasy w ramach tej asocjacji Rola Identyfikowane z “fraz posiadania” w sformułowaniu zakresu SI, uszczegóławiane podczas projektowania Atrybuty Atrybut pochodny Atrybut, który może być wyliczony z innych atrybutów

Podsumowanie terminologii CAD (2) Agregacje Specyficzne asocjacje dla związków typu całość-część. Generalizacje Podklasy dziedziczą wszystkie własności ich nad-klas, bez wyjątków Przekazywanie atrybutów i operacji pomiędzy klasami oparte o hierarchię klas Dziedziczenie Przypisanie zachowania do obiektów. Zachowanie ustala powiązanie z modelem dynamicznym Operacje Metody Implementacja operacji; zachowują sygnaturę operacji Ograniczenia Nieformalne adnotacje tekstowe Klasa abstrakcyjna Klasa, która nie posiada wystąpień; nie może być liściem w drzewie hierarchii dziedziczenia klas. Klasa konkretna Klasa, która posiada wystąpienia

Podsumowanie notacji CAD (1) Asocjacja: Klasa: Nazwa klasy Klasa-1 Klasa-2 Nazwa Asocjacji rola-1 rola-2 Nazwa klasy atrybut atrybut: typ_danej atrybut: typ_danej=wartość_pocz ... operacja operacja(lista_arg):typ_wyniku Asocjacja kwalifikowana: Klasa-1 Nazwa Asocjacji Klasa-2 kwalifikator rola-1 rola-2 Wielokrotność asocjacji: Klasa Dokładnie jeden raz Generalizacja (dziedziczenie): Klasa Wiele (zero lub więcej) Superklasa Klasa Opcyjna (zero lub jeden raz) 1+ Klasa Jeden raz lub więcej 1-2,4 Podklasa-1 Podklasa-2 Klasa Wyspecyfikowana liczbowo

Podsumowanie notacji CAD (2) Uporządkowanie: Agregacja: Klasa {uporządkowana} Klasa zespołu Klasa-części-1 Klasa-części-2 Atrybuty powiązania: Klasa-1 Klasa-2 atrybut powiązania ... Nazwa Asocjacji Agregacja (alternatywnie): Klasa zespołu Klasa-części-1 Klasa-części-2 Asocjacje ternarne: Klasa-1 Klasa-2 Nazwa Asocjacji rola-1 rola-2 Klasa-3 rola-3 Wystąpienia obiektów: Związek wystąpienia z klasą: (Nazwa klasy) nazwa_atrybutu=wartość (Nazwa klasy) (Nazwa klasy)

Podsumowanie notacji CAD (3) Operacja abstrakcyjna: Asocjacja jako klasa: Superklasa operacja {abstrakcyjna} Klasa-1 Klasa-2 Operacja jest abstrakcyjna w ramach superklasy Nazwa Asocjacji atrybut powiązania ... operacja powiązania Podklasa-1 operacja Podklasa-2 operacja Więcej podklas: Niepuste przecięcie podklas: Podklasy mają niepuste przecięcie (zachodzą na siebie) Superklasa Superklasa Istnieje więcej podklas . . . Podklasa-1 Podklasa-2 Podklasa-1 Podklasa-2

Podsumowanie notacji CAD (4) Wielokrotne dziedziczenie: Dyskryminator: Dyskryminator jest atrybutem, którego wartość pozwala rozróżnić podklasy Superklasa-1 Superklasa dyskryminator . . . Podklasa . . . Podklasa-1 Podklasa-2 Atrybut pochodny: Klasa pochodna: Atrybut klasy, operacja klasy: Nazwa klasy $atrybut $operacja Ograniczenia na obiektach Klasa atryb_1 atryb_2 {atryb_1 >= 0} Nazwa klasy /atrybut Nazwa klasy Asocjacja pochodna: Klasa-1 Klasa-2 Ograniczenie pomiędzy asocjacjami: Propagacja operacji: A1 Klasa-1 Klasa-2 Klasa-1 operacja Klasa-2 operacja {podzbiór} operacja A2

Budowa Modelu Obiektowego- Ćwiczenie Założenia systemu transportu lotniczego: Mają być rejestrowane są informacje o wszystkich lotach konkretnych, odbytych i planowanych (data, numer lotu, samolot, pilot, itd ). Powinna istnieć możliwość zmiany danych o locie. Mają być rejestrowane dane o dostępnej flocie powietrznej (typ samolotu, nr_seryjny, rok produkcji, przeleciane godziny), z możliwością określenia, czy samolot spełnia warunki techniczne niezbędne do eksploatacji. Mają być rejestrowane informacje o pilotach, ich przypisaniu do poszczególnych lotów, miejsce ich zatrudnienia. Mają być rejestrowane informacje o liniach lotniczych, zatrudnianych przez nich pilotów i posiadanych przez nich maszynach Mają być rejestrowane informacje o przylotach i odlotach, portach i miastach Mają być rejestrowane informacje o pasażerach, rezerwacjach i wykupionych biletach an poszczególne loty

Przykład: (częściowy) model systemu transportu lotniczego Miasto nazwa Linia lotnicza nazwa Pilot nazwisko kwalifikacje obsługuje posiada Samolot model nr seryjny rok_produkcji godziny_przeleciane czy_posiada_atest odlot Lot data nr lotu zmień_lot Port lotniczy nazwa przypisany przylot Pasażer nazwisko rezerwacja bilet Miejsce lokalizacja

Budowa diagramu klas - Ćwiczenie (1) Wymagania W Systemie BAZY DANYCH UCZELNI zbierane są informacje o studentach, profesorach i prowadzonych wykładach. Każdy student opisywany jest następującymi informacjami: imię, nazwisko, data urodzenia, miejsce urodzenia (miasto, województwo), miejsce zamieszkania, aktualny semestr. Każdy student ma ustalony plan wykładów na cały okres studiów. Każdy zaliczony wykład na danym semestrze kończy się wystawieniem oceny końcowej. Studenci, którzy są dyplomantami tzn ukończyli wszystkie zaplanowane wykłady piszą pracę dyplomową, której tytuł musi być zapamiętany. Praca dyplomowa prowadzona jest pod opieką jednego z profesorów uczelni. Po zdaniu egzaminu dyplomowego informacje o studencie uzupełniane są o datę obrony pracy oraz ocenę końcową. ......

Budowa diagramu klas - Ćwiczenie (2) Wymagania, cd. Każdy profesor pracujący na uczelni związany jest z jednym wydziałem, którego nazwa i telefon muszą być znane, oraz opisywany jest następującymi informacjami: imię, nazwisko, data urodzenia, tytuł, specjalność. Uczelnia zatrudnia również profesorów kontraktowych. W takim przypadku dodatkowo należy pamiętać daty rozpoczęcia i zakończenia kontraktu. Każdy profesor prowadzi przynajmniej jeden i co najwyżej 3 różne wykłady na uczelni, przy czym ten sam wykład może być prowadzony przez jednego tylko profesora. Każdy profesor może prowadzić dowolną liczbę dyplomantów. Wykład ma określony swój numer, temat, dzień oraz godzinę rozpoczęcia i zakończenia oraz odbywa się w jednym z wielu pomieszczeń uczelni, które znajdują się w różnych budynkach.

Diagram klas - Ćwiczenie OSOBA Nazwisko Imię Data_ur Nr_ewiden MIASTO Nazwa Województwo WYDZIAŁ Nazwa Telefon urodziła się jest_zatrudniony_na mieszka w 1+ STUDENT Semestr_stud PROFESOR Specjalność Tytuł plan_ uczęszcza_ uczęszczał DYPLOMANT Tytuł_pracy Data_obrony Ocena_końcowa opiekuje_się Status Semestr Oceny PROF_KONTRAKTOWY Pocz_kontraktu Kon_kontraktu WYKŁAD Ident_wykładu Nazwa_wykładu prowadzony_przez 1-3 KALENDARZ Rok Dzień SALA Id_budynku Nr_sali odbywa się godz_pocz godz_kon Baza Danych Uczelni