Projektowanie systemów informacyjnych

Slides:



Advertisements
Podobne prezentacje
Projektowanie systemów informacyjnych
Advertisements

Unified Modeling Language - Zunifikowany Język Modelowania
Wprowadzenie do UML dr hab. inż. Kazimierz Subieta profesor PJWSTK.
Blok I: PODSTAWY TECHNIKI Lekcja 7: Charakterystyka pojęć: energia, praca, moc, sprawność, wydajność maszyn (1 godz.) 1. Energia mechaniczna 2. Praca 3.
Modele biznesowe. Podręcznik Model biznesowy to w pewnym sensie szkic strategii, która ma zostać wdrożona w ramach struktur, procesów i systemów organizacji.
Postanowienie Śląskiego Kuratora Oświaty w Katowicach z dnia 29 stycznia 2016 r. w sprawie terminów składania dokumentów i terminów rekrutacji uczniów.
ŚRODOWISKO PONAD WSZYSTKO Mała bateria-duży problem.. Co roku w Polsce sprzedaje się około 300 mln baterii. Wyrzucanie ich do kosza negatywnie wpływa.
InMoST, Analiza architektury metodą ATAM Jerzy Nawrocki
Teoria gry organizacyjnej Każdy człowiek wciąż jest uczestnikiem wielu różnych gier. Teoria gier zajmuje się wyborami podejmowanymi przez ludzi w warunkach.
CO TO SĄ PROJEKTY INNOWACYJNE? PROJEKTY INNOWACYJNE WYTYCZNE EFS NIE WSKAZUJĄ ODRĘBNEJ DEFINICJI INNOWACYJNOŚCI.
Wyszukiwanie informacji w Internecie. Czym jest wyszukiwarka? INTERNET ZASOBY ZAINDEKSOWANE PRZEZ WYSZUKIWARKI Wyszukiwarka to mechanizm, który za pomocą.
Umowy Partnerskie w projektach zbiór najważniejszych składników Uwaga! Poniżej znajdują się jedynie praktyczne wskazówki dotyczące tworzenia umów. Dokładne.
ZASTOSOWANIE FUNKCJI WYKŁADNICZEJ I LOGARYTMICZNEJ DO OPISU RUCHU DRGAJĄCEGO Agnieszka Wlocka Agnieszka Szota.
Metodologia tworzenia strategii wg Mirosława Gębskiego Euroinvestment.
Cel analizy statystycznej. „Człowiek –najlepsza inwestycja”
Projekt Regulaminu Działania Komitetu Monitorującego Regionalny Program Operacyjny Województwa Pomorskiego na lata
EWALUACJA PROJEKTU WSPÓŁFINANSOWANEGO ZE ŚRODKÓW UNII EUROPEJSKIE J „Wyrównywanie dysproporcji w dostępie do przedszkoli dzieci z terenów wiejskich, w.
… przemy ś lenia pedagogiczne. „Najważniejszym okresem w życiu nie są lata studiowania na wyższej uczelni, ale te najwcześniejsze, czyli okres od narodzenia.
Wykład 1.  w zn. wąskim – nauki prawne  w zn. szerokim – wszelkie „znawstwo prawa”, obejmujące obok prawoznawstwa w zn. wąskim także praktyczne umiejętności.
Wyższa Szkoła Informatyki i Zarządzania w Bielsku-Białej Wydział Informatyki Kierunek: Informatyka Specjalność: Systemy Informatyczne PRACA DYPLOMOWA INŻYNIERSKA.
Finansowanie wybranych działań w parkach narodowych przy udziale środków funduszu leśnego - zakres merytoryczny Warszawa, 06 kwietnia 2016 r.
S PÓR O UNIWERSALIA. Spór o uniwersalia - filozoficzny problem dotyczący statusu pojęć ogólnych (uniwersaliów, powszechników), historycznie przybierał.
 Informatyk jest to osoba, która wykształciła się na specjalistę w dziedzinie nowych technologii, posiadająca wiedzę i umiejętności na temat ogółu metod.
Menu Jednomiany Wyrażenia algebraiczne -definicja Mnożenie i dzielenie sum algebraicznych przez jednomian Mnożenie sum algebraicznych Wzory skróconego.
Czym jest gramofon DJ-ski?. Gramofon DJ-ski posiada suwak Pitch służący do płynnego przyspieszania bądź zwalniania obrotów talerza, na którym umieszcza.
Wieloaspektowa analiza czasowo- kosztowa projektów ze szczególnym uwzględnieniem kryterium jakości rozwiązań projektowych AUTOR: ANNA MARCINKOWSKA PROMOTOR:
Metody sztucznej inteligencji - Technologie rozmyte i neuronowe 2015/2016 Perceptrony proste nieliniowe i wielowarstwowe © Kazimierz Duzinkiewicz, dr hab.
Definiowanie i planowanie zadań typu P 1.  Planowanie zadań typu P  Zadania typu P to zadania unikalne służące zwykle dokonaniu jednorazowej, konkretnej.
Wprowadzenie do baz danych. Terminologia Specyfika baz danych (1) 1.Trwałość danych –Długi czas życia – kilka, kilkadziesiąt, kilkaset lat –Niezależność.
Jak tworzymy katalog alfabetyczny? Oprac.Regina Lewańska.
Projektowanie prezentacji multimedialnych Piotr Rakowski Gliwice 2006.
Moduł II. Obszar formułowania Programów i Projektów.
O PARADOKSIE BRAESSA Zbigniew Świtalski Paweł Skałecki Wydział Matematyki, Informatyki i Ekonometrii Uniwersytet Zielonogórski Zakopane 2016.
ANALIZA WYNIKÓW DIAGNOZY WSTĘPNEJ
wspomaganej systemem komputerowym NABÓR 2017
Systemy eksperckie i sztuczna inteligencja
Schematy blokowe.
SYSTEM KWALIFIKACJI, AWANSÓW I SPADKÓW
System wspomagania decyzji DSS do wyznaczania matematycznego modelu zmiennej nieobserwowalnej dr inż. Tomasz Janiczek.
Czynności prawne Mgr Aleksandra Spisz Instytut Prawa Cywilnego Wydział Prawa, Administracji i Ekonomii Uniwersytetu Wrocławskiego.
Wykład 1 SSE Podstawowe pojęcia prawa i prawoznawstwa
Nazwa firmy Plan biznesowy.
„Prawa Ceteris Paribus i socjo-ekonomiczne mechanizmy”
Hermeneutyka i hermeneutyczne ujęcie prawa
Rekursje Tak jak w innych językach funkcje mogą odwoływać się same do siebie Możemy regulować głębokość przed stwierdzeniem błędu (MaxRecursion, $RecursionLimit,
Funkcja – definicja i przykłady
Programowanie obiektowe
Wstęp do Informatyki - Wykład 3
Budowa, typologia, funkcjonalność
- Krajowe Repozytorium Obiektów Nauki i Kultury
CEL: - Osiągnąć równość płci oraz wzmocnić pozycję kobiet
Inżynieria Oprogramowania Laboratorium
Git - system kontroli wersji
Bezpieczeństwo dostępu do danych w systemie Windows
Języki programowania.
Rekrutacja elektroniczna DO SZKÓŁ PONADGIMNAZJALNYCH w roku 2018
wspomaganej systemem komputerowym NABÓR 2018
Zgłoszenie do konkursu
Prezentacja planu biznesowego
Podstawy informatyki Zygfryd Głowacz.
Modelowanie i analiza systemów informatycznych
MATEMATYKAAKYTAMETAM
Implementacja rekurencji w języku Haskell
Nazwa firmy Biznesplan.
Czym powinien charakteryzować się innowacyjny projekt?
Program na dziś Wprowadzenie Logika prezentacji i artykułu
Rozwój kompetencji kluczowych uczniów i ich kształcenie przez szkoły
DEFINICJA KLASYCZNA. ĆWICZENIA
Zapis prezentacji:

Projektowanie systemów informacyjnych Wykład 3 Wprowadzenie do UML Ewa Stemposz, Kazimierz Subieta Instytut Podstaw Informatyki PAN, Warszawa Polsko-Japońska Wyższa Szkoła Technik Komputerowych, Warszawa

Zagadnienia Cykl życiowy produktu informatycznego Modelowanie pojęciowe Metodyka UML: Krótka charakterystyka Modele i diagramy Mechanizmy rozszerzalności

Cykl życiowy produktu informatycznego Fazy cyklu życiowego produktu informatycznego: Faza strategiczna Faza specyfikacji i analizy wymagań --> projektowanie (modelowanie) pojęciowe Faza projektowania --> projektowanie logiczne Faza konstrukcji (implementacji) --> projektowanie fizyczne Faza testowania Faza konserwacji czas

Modelowanie pojęciowe Pojęcia: modelowanie pojęciowe (conceptual modeling) oraz model pojęciowy (conceptual model) odnoszą się do procesów myślowych, do wyobrażeń towarzyszących pracy nad oprogramowaniem. Projektant, programista, itp. muszą dokładnie wyobrazić sobie problem oraz metodę jego rozwiązania. Zasadnicze procesy tworzenia oprogramowania zachodzą więc w ludzkim umyśle i nie są związane z jakimkolwiek językiem programowania czy jakimkolwiek narzędziem w ogóle. Modelowanie pojęciowe może być (i powinno być) wspomagane przez środki wzmacniające ludzką pamięć i wyobraźnię, służące do opisu odwzorowywanej rzeczywistości w postaci: struktur danych, operacji na danych czy zachodzących procesów.

Metodyka (1) Metodyka (metodologia), w inżynierii oprogramowania, jest zestawem pojęć, oznaczeń, języków, modeli, diagramów, technik i sposobów postępowania służących do modelowania dziedziny problemowej stanowiącej przedmiot projektowanego systemu. Metodyka jest wykorzystywana zarówno do projektowania pojęciowego, jak i logicznego czy fizycznego. role uczestników projektu, scenariusze postępowania, reguły przechodzenia do następnej fazy, modele, które powinny być wytworzone, dokumentację, która powinna powstać, notację, którą należy używać. Metodyka ustala fazy realizacji projektu, a ponadto dla każdej z faz projektu wyznacza:

Metodyka (2) Notacja, czyli zbiór oznaczeń, jest tu wykorzystywana do dokumentowania wyników poszczególnych faz projektu - pośrednich i końcowych. Notacja służy więc jako środek wspomagający ludzką pamięć i wyobraźnię, a także jako środek ułatwiający komunikację zarówno między członkami zespołu projektowego, jak i między zespołem projektowym a klientem. tekstowa specyfikacje - ustrukturalizowany zapis tekstowy i numeryczny notacje graficzne Rodzaje notacji: Szczególne znaczenie mają notacje graficzne, ich zalety potwierdzają badania psychologiczne. Inżynieria oprogramowania wzoruje się tu na innych dziedzinach techniki, takich jak np. elektronika i mechanika. Dana notacja może być wykorzystywana w innych metodykach.

Pragmatyka języka do modelownia Język do modelowania, jak każdy inny język, oprócz semantyki i składni posiada jeszcze jeden ważny aspekt: pragmatykę. Semantyka określa, co należy rozumieć pod przyjętymi oznaczeniami (notacją). Składnia określa, jak wolno łączyć ze sobą przyjęte oznaczenia. Pragmatyka określa, w jaki sposób należy używać przyjętych oznaczeń, jak do konkretnej sytuacji dopasować pewien wzorzec notacyjny - zgodnie z intencją autorów języka. Język niewiele znaczy bez znajomości sposobów wykorzystywania go w procesie wytwarzania produktu programistycznego. W metodykach pragmatyka stosowanego języka jest sprawą podstawową. Jest ona zazwyczaj trudna do objaśnienia: można to robić wyłącznie na przykładach przypominających realne sytuacje. Niestety, realne sytuacje są zazwyczaj bardzo skomplikowane, czego efektem jest pewien infantylizm przykładów zamieszczanych w podręcznikach.

Unified Modeling Language (UML) RATIONAL SOFTWARE CORPORATION http://www.rational.com/uml (dokumentacja on line) 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, kwiecień 1999 (mówi się o wersji 1.4, ale brak danych) 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 jest metodyką projektowania ? Definicja podana przez Rational [http://www.rational.com/uml] : "The Unified Modeling Language (UML) is a language for specifying, constructing, visualizing, and documenting the artifacts of a software-intensive system." 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. UML jest składową standardu OMG (CORBA). Nie wszyscy są zachwyceni UML. Niektórzy specjaliści uważają go za twór przereklamowany: niestabilny, zbyt ciężki, źle zdefiniowany. UML ma konkurentów w postaci metodyki i notacji OPEN, “design by contracts” oraz innych.

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. Istnieje wiele aspektów projektowania systemów, które nie zostały przykryte przez żadną z wyżej wymienionych metodyk, np. włączenie prototypowania w cykl życiowy, rozproszenie i komponenty, przystosowanie notacji do preferencji projektantów i inne. Celem UML jest przykrycie również tych aspektów.

Diagramy definiowane w UML Diagramy przypadków użycia (use case) Diagramy klas Diagramy dynamiczne (behavior): Diagramy stanów Diagramy aktywności Diagramy interakcji: Diagramy sekwencji Diagramy współpracy (collaboration) Diagramy implementacyjne: Diagramy komponentów Diagramy wdrożeniowe (deployment) Diagramy pakietów Diagramy te zapewniają uzyskanie wielu perspektyw projektowanego systemu w trakcie jego budowy.

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, 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. Głównym zadaniem pomocniczego modelu dynamicznego (zachowań) jest wypełnienie diagramu klas metodami wynikłymi 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.

Stereotypy (1) Stereotypy stanowią jeden z mechanizmów rozszerzalności UML. Jak każdy mechanizm rozszerzalności, dają możliwość definiowania nowych elementów, co ułatwia przystosowanie UML do modelowania specyficznego procesu, do specyficznych preferencji użytkownika czy też pozwala na uszczegóławianie semantyki modelu: Stereotypy są wyrażeniami językowymi umożliwiającymi metaklasyfikację elementów modelu. Istnieje lista stereotypów dla każdego rodzaju elementów UML. Element modelu może mieć co najwyżej jeden stereotyp. Są stereotypy predefiniowane, ale użytkownicy mogą też definiować własne stereotypy. Stereotypy mogą mieć implikacje semantyczne (ograniczenia). Notacja: «nazwa stereotypu» lub ikona.

Stereotypy (2) «include» «extend» «aktor» Przykłady stereotypów: P1 P2 Klient jest równoważne Klient

Wartości etykietowane Wartości etykietowane są następnym z mechanizmów rozszerzalności UML Wartość etykietowaną stanowi ciąg znaków o postaci: słowo kluczowe = wartość. Listę wartości etykietowanych (oddzielonych przecinkami) umieszcza się w {}. Dowolny element modelu może być skojarzony z listą wartości etykietowanych. Przykłady list wartości etykietowanych: {autor = “Jan Nowak”, termin zakończenia = “31 Maja 1999”, status = analiza} {abstract = TRUE} można skrócić do {abstract} W ten sposób można na diagramach umieścić dowolną dodatkową informację. Zakłada się, że narzędzia CASE umożliwią odszukanie odpowiedniego elementu na podstawie słowa kluczowego i skojarzonej z nim wartości. Uwaga! Wartości etykietowane służą raczej do opisu pojedynczego elementu modelu niż do metaklasyfikcji (patrz: stereotypy).