Projektowanie systemów informacyjnych

Slides:



Advertisements
Podobne prezentacje
Programowanie obiektowe
Advertisements

Modelowanie przypadków użycia
Projektowanie w cyklu życia oprogramowania
Jarosław Kuchta Dokumentacja i Jakość Oprogramowania
Studia Podyplomowe IT w Biznesie Inżynieria Oprogramowania
Studia Podyplomowe IT w Biznesie Inżynieria Oprogramowania
Wprowadzenie do C++ Zajęcia 2.
Część 2 OiZPI Iteracyjny przyrostowy model cyklu życiowego Rational Unified Process™ w materiałach wykorzystano: K.Subieta: Budowa i integracja systemów.
PROGRAMOWANIE STRUKTURALNE
UML Unified Modeling Language
Propozycja metodyki nauczania inżynierii oprogramowania
Projektowanie systemów informacyjnych
Co UML może zrobić dla Twojego projektu?
Bartosz Walter Prowadzący: Bartosz Walter
Tomasz Jabłoński Michał Ziach
Cykle życia oprogramowania
Inżynieria Oprogramowania dla Fizyków
Diagramy klas w języku UML
Diagram czynności (Activity Diagrams)
Wstęp do programowania obiektowego
Projektowanie i programowanie obiektowe II - Wykład IV
Projektowanie - wprowadzenie
Analiza, projekt i częściowa implementacja systemu obsługi kina
Wykład 4 Analiza i projektowanie obiektowe
Wykład 5 UML - Unified Modeling Language
Analiza i projektowanie systemów informacyjnych
Wykład 2 Cykl życia systemu informacyjnego
C.d. wstępu do tematyki RUP
Unified Modeling Language graficzny język wizualizacji, specyfikowania, tworzenia i dokumentowania systemów informatycznych.
Nadstruktura języka UML w wersji 2.2 Część V Wdrożenie (pakiet UML::Deployments)
Modelowanie w Visual Studio 2010
UML 2.x Robert Pająk.
Model przestrzenny Diagramu Obiegu Dokumentów
Wykład 1 – część pierwsza
- obiektowej metodyki analizy i projektowania SI
Programowanie obiektowe – język C++
Modelowanie obiektowe Diagramy UML – diagram przypadków użycia
(Unified Modeling Language)
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.
Interakcja człowiek – komputer Podstawy metod obiektowych mgr inż. Marek Malinowski Zakład Matematyki i Fizyki Wydz. BMiP PW Płock.
Algorytmika.
Treści multimedialne - kodowanie, przetwarzanie, prezentacja Odtwarzanie treści multimedialnych Andrzej Majkowski 1 informatyka +
Model obiektowy bazy danych
Komputerowe wspomaganie projektowania
Diagram klas Kluczowymi elementami są: klasy (class)
Zarządzanie zagrożeniami
Proces tworzenia oprogramowania Proces tworzenia oprogramowania jest zbiorem czynności i związanych z nimi wyników, które prowadzą do powstania produktu.
Modelowanie obiektowe - system zarządzania projektami.
Podstawy zarządzania projektami Karta projektu
Michał Sipek Piotr Kapciak
UML – Unified Modeling Language (1) Bartosz Baliś, Na podstawie, m.in.: Introduction to UML: Structural and Use Case Modeling, Cris Kobryn Projektowanie.
Projekt modułu Nazwa całego projektu Nazwa modułu Imię i Nazwisko Inżynieria Oprogramowania II dzień, godzina rok akademicki W szablonie na niebiesko zamieszczone.
Projektowanie bazy danych z użyciem diagramów UML Obiektowe projektowanie relacyjnej bazy danych Paweł Jarecki.
Studia Podyplomowe IT w Biznesie Inżynieria Oprogramowania
Wstęp do systemów informatycznych Model przypadków użycia.
E. Stemposz. Wprowadzenie do UML, Wykład 1, Slajd 1/24 Wykład 1 Wprowadzenie do UML dr inż. Ewa Stemposz
E. Stemposz. Rational Unified Process, Wykład 10, Slajd 1 wrzesień 2002 Powrót Studia Podyplomowe IT w Biznesie Rational Unified Process Wykład 10 Przepływ.
Studia Podyplomowe IT w Biznesie Analiza dynamiczna w UML
E. Stemposz. UML, Diagramy komponentów i wdrożeniowe, Wykład 11, Slajd 1/24 Wykład 11 Diagramy komponentów i wdrożeniowe dr inż. Ewa Stemposz
Budowa i integracja systemów informacyjnych Wykład 1 Wprowadzenie do inżynierii oprogramowania mgr inż. Rafał Hryniów P olsko J apońska W yższa S zkoła.
Inżynieria systemów informacyjnych
Budowa i integracja systemów informacyjnych
Wykład 1 – część pierwsza
IEEE SPMP Autor : Tomasz Czwarno
Projektowanie systemów informacyjnych
Projektowanie systemów informatycznych Wykład 1 - Wprowadzenie
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, itd. 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 wspierających proces konstruowania systemu (realizacji projektu). 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ć, język/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 wykorzystywana do dokumentowania wyników poszczególnych faz projektu – pośrednich i końcowych. Notacja służy 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 czy mechanika. Dana notacja może być wykorzystywana w wielu metodykach.

Język do modelowania Język do modelowania, jak każdy inny język, oprócz notacji, 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 UML 1.4 listopad 2000 UML 1.5 2003 UML 1.6 ? UML 2.0 ? 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: "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: OOSE (Jacobson): dobrze podchodzi do kwestii modelowania użytkowników i cyklu życiowego systemu. Nie przykrywa dokładnie ani aspektu modelowania dziedziny przedmiotowej ani aspektu implementacji (konstrukcji). OMT (Rumbaugh): dobry do modelowania dziedziny przedmiotowej. Nie przykrywa dostatecznie dokładnie ani aspektu użytkowników systemu, ani aspektu implementacji (konstrukcji). OOAD (Booch): zajmuje się kwestią modelowania dziedziny przedmiotowej, implementacją (konstrukcją) i związkami 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 (1) 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łych użytkowników (za pomocą diagramów przypadków użycia). Model obiektowy przedstawiający statyczną budowę (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.

Model a diagram; modele w UML (2) Główny obszar działania Podstawowe pojęcia Model Diagramy diagram klas klasa, obiekt, asocjacja, generalizacja, zależność, realizacja, interface model obiektowy struktura diagram obiektów aktor, przypadek użycia, «include», «extend», generalizacja model przypadków użycia diagramy przypadków użycia model implementacji diagramy komponentów komponent, interface, zależność, realizacja diagramy wdrożeniowe węzeł, komponent, zależność, lokacja stan, zdarzenie, przejście, akcja, aktywność dynamika model dynamiczny diagramy stanu

Model a diagram; modele w UML (3) Główny obszar działania Podstawowe pojęcia Model Diagramy stan, aktywność, fork, join, romb decyzyjny model dynamiczny, c.d. diagramy aktywności dynamika, c.d. interakcja, współpraca, komunikat, aktywacja diagramy interakcji zarządzanie model zarządzania diagramy pakietów pakiet, podsystem stereotyp, własność etykietowana, ograniczenie rozszerzalność wszystkie modele wszystkie diagramy

Stereotypy (1) Stereotypy stanowią pierwszy z trzech mechanizmów rozszerzalności UML. Jak każdy mechanizm rozszerzalności, dają możliwość definiowania nowych elementów, co wspomaga przystosowanie UML do modelowania specyficznych procesów, 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 modelu 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 (podobnie jak ograniczenia). Notacja: «nazwa stereotypu» lub ikona.

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

Wartości etykietowane Wartości etykietowane stanowią kolejny mechanizm rozszerzalności UML. Pojedynczą 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ład listy wartości etykietowanych: {autor = “Jan Nowak”, termin zakończenia = “31 Maja 1999”, status = analiza} 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).