DIAGRAMY IMPLEMENTACYJNE



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

Analiza i projektowanie aplikacji Java

Język UML w modelowaniu systemów informatycznych

Projektowanie architektury systemu rozproszonego. Jarosław Kuchta Projektowanie Aplikacji Internetowych

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

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

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

Historia modeli programowania

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

WPROWADZENIE DO UML-a

Wykład 1 Inżynieria Oprogramowania

Michał Adamczyk. Język UML

Język programowania. Andrzej Bobyk

Międzyplatformowy interfejs systemu FOLANessus wykonany przy użyciu biblioteki Qt4

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

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

Programowanie obiektowe

Czym jest Java? Rozumiana jako środowisko do uruchamiania programów Platforma software owa

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

Projektowanie oprogramowania

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

Dokumentacja projektu QUAIKE Architektura oprogramowania

Multimedia JAVA. Historia

Podyplomowe Studium Informatyki w Bizniesie Wydział Matematyki i Informatyki, Uniwersytet Łódzki specjalność: Tworzenie aplikacji w środowisku Oracle

Java jako język programowania

Komunikacja i wymiana danych

Działanie komputera i sieci komputerowej.

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

Wykonać Ćwiczenie: Active Directory, konfiguracja Podstawowa

Programowanie dla początkujących w 24 godziny / Greg Perry, Dean Miller. Gliwice, cop Spis treści

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

1 Wprowadzenie do J2EE

Dokumentacja wstępna TIN. Rozproszone repozytorium oparte o WebDAV

Język UML w modelowaniu systemów informatycznych

UML cz. III. UML cz. III 1/36

DLA SEKTORA INFORMATYCZNEGO W POLSCE

Podstawy modelowania programów Kod przedmiotu

Biorąc udział w projekcie, możesz wybrać jedną z 8 bezpłatnych ścieżek egzaminacyjnych:

Pytania z przedmiotów kierunkowych

Mariusz Trzaska Modelowanie i implementacja systemów informatycznych

Programowanie obiektowe

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

Tutorial prowadzi przez kolejne etapy tworzenia projektu począwszy od zdefiniowania przypadków użycia, a skończywszy na konfiguracji i uruchomieniu.

Unified Modeling Language

Programowanie MorphX Ax

Procesowa specyfikacja systemów IT

Projekt przejściowy 2016/2017 BARTOSZ JABŁOŃSKI

Wybrane działy Informatyki Stosowanej

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

Zofia Kruczkiewicz - Modelowanie i analiza systemów informatycznych 1

Projektowanie oprogramowania cd. Projektowanie oprogramowania cd. 1/34

Wykład I. Wprowadzenie do baz danych

Internet jako środowisko WL OZE/URE Propozycja metodologii badań oraz stanowiska laboratoryjnego

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

Przesłanki powstania książki... xvi Dla kogo przeznaczona jest ta książka?... xvi Co znajdziemy wewnątrz książki?... xvii

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

Początki Javy. dr Anna Łazińska, WMiI UŁ Podstawy języka Java 1 / 8

Modelowanie i Programowanie Obiektowe

A Zasady współpracy. Ocena rozwiązań punktów punktów punktów punktów punktów

Obsługa transakcji rozproszonych Java. Marek Wojciechowski, Maciej Zakrzewicz Instytut Informatyki, Politechnika Poznańska

Warstwa integracji. wg. D.Alur, J.Crupi, D. Malks, Core J2EE. Wzorce projektowe.

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

Wprowadzenie do programowania aplikacji mobilnych

TWÓJ BIZNES. Nasz Obieg Dokumentów

Projektowanie oprogramowania. Warstwa integracji z bazą danych oparta na technologii ORM Platforma Java EE Autor: Zofia Kruczkiewicz

Wspomaganie pracy w terenie za pomocą technologii BlackBerry MDS. (c) 2008 Grupa SPOT SJ

Modelowanie obiektowe - Ćw. 3.

Plan prezentacji. Budowa aplikacji w technologii Enterprise JavaBeans. Przegląd architektur: CORBA. Cele budowy aplikacji rozproszonych

Bazy danych 2. Wykład 1

Projekt INP Instrukcja 1. Autor Dr inż. Zofia Kruczkiewicz

Inżynieria wymagań. Wykład 2 Proces pisania przypadków użycia. Część 6 Wskazówki i sugestie

Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat

Wybrane działy Informatyki Stosowanej

Projektowanie architektury systemu internetowego

Narzędzia i aplikacje Java EE. Usługi sieciowe Paweł Czarnul pczarnul@eti.pg.gda.pl

Programowanie w języku C++ Grażyna Koba

Dokumentacja aplikacji Szachy online

Język Java część 2 (przykładowa aplikacja)

Opracowanie protokołu komunikacyjnego na potrzeby wymiany informacji w organizacji

Uniwersytet Łódzki Wydział Matematyki i Informatyki, Katedra Analizy Nieliniowej. Wstęp. Programowanie w Javie 2. mgr inż.

Podstawy programowania

Biuletyn techniczny. CDN OPT!MA 8.5 Wskazówki dotyczące instalacji programu. Copyright 2006 COMARCH SA

Zasady organizacji projektów informatycznych

Dokumentacja techniczna. Młodzieżowe Pośrednictwo Pracy

Typy przetwarzania. Przetwarzanie zcentralizowane. Przetwarzanie rozproszone

Instrukcje instalacji pakietu IBM SPSS Data Access Pack dla systemu Windows

SZKOLENIE: Administrator baz danych. Cel szkolenia

Szczegółowy opis zlecenia Plugin do oprogramowania dlibra. Szczegółowy opis zlecenia dla Pluginu do oprogramowania dlibra.

USŁUGI HIGH PERFORMANCE COMPUTING (HPC) DLA FIRM. Juliusz Pukacki,PCSS

EJB 3.0 (Enterprise JavaBeans 3.0)

INŻYNIERIA OPROGRAMOWANIA

Programowanie sieciowe Network programming PRZEWODNIK PO PRZEDMIOCIE

4 Web Forms i ASP.NET Web Forms Programowanie Web Forms Możliwości Web Forms Przetwarzanie Web Forms...152

Diagram przypadków użycia

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

Programowanie współbieżne i rozproszone

Modelowanie obiektowe - Ćw. 6.

Inżynieria Programowania - Projektowanie architektoniczne

System zarządzający grami programistycznymi Meridius

Transkrypt:

DIAGRAMY IMPLEMENTACYJNE Maciej Patan

Strukturalne diagramy implementacyjne Służą pokazaniu implementacji modelu, włączając w to strukturę kodu źródłowego oraz implementację środowiska wykonania. Typy: diagramy komponentów, diagramy wdrożenia. 1

Diagramy komponentów Komponent element oprogramowania; fizyczna, wymienna część systemu, służąca do dzielenia procesu implementacji i realizująca określony zbiór interfejsów. Rodzaje komponentów: komponenty procesu wytwórczego(pliki z kodem źródłowym oraz z danymi), komponenty wdrożenia podstawa systemu wykonywalnego(np. pliki wykonywalne, biblioteki DLL, kontrolki ActiveX, JavaBeans itp.), komponenty wykonania są efektem działania systemu(np. pliki pomocnicze itp.). 2

Modelowanie komponentowe wyspecjalizowany typ modelowania strukturalnego, służący do modelowania implementacji systemu. pokazuje wzajemne zależności pomiędzy elementami oprogramowania, diagramy wdrożenia mogą zostać użyte do pokazania, które komponenty będą uruchamiane na konkretnych węzłach, stosowane jest do ustalenia jak system będzie budowany w trakcie implementacji, czyli na jakich elementach skoncentrują się działania w czasie tej fazy, zaczyna się na dalszym etapie projektowania, gdy model ogólny jest stosunkowo pełny. 3

Dlaczego modelować komponenty? klienci mogą zobaczyć pełną strukturę systemu, twórcy oprogramowania znają strukturę do której mają dążyć, twórcy dokumentacji i plików pomocy rozumieją o czym piszą, możliwe jest wielokrotne wykorzystanie komponentów lub ich zastępowanie. zgodność interfejsów! dostęp do operacji komponentu. 4

Komponenty i interfejsy Interfejs koncepcja i byt fizyczny, mechanizm wymiany usług pomiędzy komponentami, S³ownik Pisownia Edytor_tekstu.exe Klasy: ProcesorTekstu UstawieniaDruku LicznikS³ów Interfejs eksportowany Tezaurus Synonimy() Antonimy() Interfejs importowany 5

Przykład4.1GraJava Craps (R.Cadenhead,PoznajJava2w24godziny, Infoland 2002). Rzucamy dwoma kośćmi. Wygrywamy zakład jeżeli wypadnie 7 lub 11, przegrywamy gdy 2,3 lub 12. Gra jest zaimplementowana w postaci appletu na stronie www i składa się z następujących plików znajdujących się we wspólnym katalogu o nazwie Crapshoot: craps.html stronawwwzgrą, die.class kod obiektowy rzutu kostką, die.java kod źródłowy rzutu kostką, do którego odwołuje się aplet, craps.html kod obiektowy apletu, craps.java kod źródłowy apletu, w którym implementowany jest jest interfejs ItemListener oczekujący na zdarzenia inicjowane przez użytkownika; w kodzie programu wykorzystywany jest także interfejs ActionListener udostępniający przycisk, którego naciśnięcie powoduje rzut kostką, a który jest implementacją klasy java.awt.awtmeventmulticaster znajdującej się w pakiecie java.awt.event wewnątrz Java Development Kit(JDK). 6

Crapshoot 1. wszystkie pliki znajdują się we wspólnym katalogu 2. craps.html zależy od craps.class i die.class craps.html 3. craps.* używają die.*, a pliki*.java są binarnymi implementacjami*.class die.class craps.class 4. crsps.java udostępnia interfejs ItemListener 5. crsps.java wykorzystuje interfejs ActionListener będący implementacją klasy java.awt.awtmeventmulticaster... die.java craps.java ItemListener 6...znajdującejsięwpakiecie java.awt.event wewnątrz JDK JDK java.awt.event AWTEventMulticaster ActionListener 7

Diagramy wdrożenia Węzeł fizyczny obiekt środowiska wykonania przedstawiający zasób obliczeniowy. Modelowanie wdrożenia wyspecjalizowany typ modelowania strukturalnego, służący do budowy(fizycznego) środowiska implementacji systemu. w odróżnieniu do modelowania komponentów, model wdrożenia przedstawia zewnętrzne zasoby wymagane przez komponenty, pokazuje konfiguracje przetwarzających elementów uruchomieniowych oraz komponentów oprogramowania, procesów i obiektów, które na nich funkcjonują, diagramy wdrożenia mogą zostać użyte do pokazania, które komponenty będą uruchamiane na konkretnych węzłach, stosowane jest wówczas, gdy potrzebne jest ustalenie w jaki sposób wdrożenie udostępni system użytkownikom, zaczynasięwówczas,gdymodelogólnyjestjużdośćpełny. 8

Węzły i połączenia Asocjacja(komunikacyjna) trasa komunikacji pomiędzy węzłami zrealizowana przy użyciu fizycznego połączenia. Wêze³ AdminSerwer:SUN Baza danych Program steruj¹cy wyszukiwaniem Wyniki Serwer Wdra a: Algorytm wyszukiwania danych Po³¹czenie Komputer Andrzeja:PC GUI 9

Przykład 4.2 Sieć ARCnet(Attached Resources Computing network) o topologii gwiazdy, korzystająca z tokena przechodzącego od komputera do komputera, zgodnie z określoną numeracją. Każdy komputer jest połączony interfejsem RG-62U z koncentratorem aktywnym wzmacniającym sygnał(max. do 600m)lub pasywnym(każde połączenie max. do 30 m). Narysować przykładowy diagram wdrożenia dla 5 terminali. PC #1 {max. odleg³oœæ = 30m} <<device>> Koncentrator pasywny PC #2 {max. odleg³oœæ = 30m} <<device>> Koncentrator aktywny PC #5 {max. odleg³oœæ = 600m} RG-62U PC #3 PC #4 10

Zależności(1) Zależność rezydowania zachodzi między komponentem a elementem UML(pakiet, podsystem lub dowolna klasa); oznacza, że komponent jest klientem elementu, który z kolei jest uważany za dostawcę, i że element rezyduje w komponencie; element może rezydować w dowolnej liczbie komponentów. IPrzetwarzanie <<subsystem>> Przetwarzanie biznesowe <<reside>> Przetwarzanie biznesowe <<reside>> Narzêdzia 11

Zależności(2) Zależność użycia komponentu klienta od komponentu dostawcy oznacza, że komponent klienta używa(jest zależny od) komponentu dostawcy. Zależność ta jest równoważna użyciu przez klienta interfejsu udostępnianego przez dostawcę. Interfejs uzytkownika <<use>> Dane IPrzetwarzanie <<use>> IProdukt Przetwarzanie biznesowe Bezpieczeñstwo 12

Zależności(3) Zależność wdrożenia pomiędzy komponentem klienckim i węzłem dostawcy oznacza, że komponent kliencki jest wdrożony(uruchamiany) w węźle dostawcy. Serwer baz danych Przeszukiwanie Dane <<deploy>> Serwer baz danych Dane 13

Kiedy modelować strukturę? gdy możliwa jest adaptacja uniwersalnego podejścia hierarchicznego do modelowanej struktury, specyfikacja bardziej ogólnych wyższych poziomów struktury(ang. top-level modelling) przy użyciu klasyfikatorów uzasadnionych z punktu widzenia architektury systemu oraz elementów zarządzających(pakiety, podsystemy, modele), specyfikacja szczegółowych niższych poziomów(ang. lower-level modelling) w momencie odkrywania detali klasyfikatorów i wzajemnych relacji występujących między nimi, jeżeli dysponujemy sporą wiedzą w dziedzinie systemu można często rozpocząć od modelowania strukturalnego, w przeciwnym razie jeżeli wychodzimy od modelu przypadków użycia lub modelu kolaboracji należy upewnić się, że nowo powstały model strukturalny jest spójny z danymi przypadkami użycia/kolaboracjami 14

Wskazówki przy modelowaniu strukturalnym służy do zdefiniowania szkieletu systemu, który może być łatwo poszerzany i ulepszany w miarę jak nabywamy wiedzy w danej dziedzinie, należy się skupić na użyciu prostych konstrukcji, a zaawansowane i złożone konstrukty i/lub notację stosować tylko w razie konieczności, w procesie modelowania implementację należy odroczyć na możliwie jak najdalsze etapy, Diagramy strukturalne powinny: podkreślać szczególny aspekt modelu strukturalnego, zawierać klasyfikatory(klasy, komponenty, węzły, itd.) o tym samym poziomie abstrakcji, duża liczba klasyfikatorów powinna być zorganizowana w pakiety. 15