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

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

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

Język UML w modelowaniu systemów informatycznych

12) Wadą modelu kaskadowego jest: Zagadnienia obowiązujące na egzaminie z inżynierii oprogramowania: 13) Wadą modelu opartego na prototypowaniu jest:

Projektowanie oprogramowania cd. Projektowanie oprogramowania cd. 1/34

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

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

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

Wykład 1 Inżynieria Oprogramowania

KARTA PRZEDMIOTU. 1) Nazwa przedmiotu: INŻYNIERIA SYSTEMÓW I ANALIZA SYSTEMOWA. 2) Kod przedmiotu: ROZ-L3-20

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

Michał Adamczyk. Język UML

PROJEKTOWANIE. kodowanie implementacja. PROJEKT most pomiędzy specyfikowaniem a kodowaniem

Inżynieria Programowania - Projektowanie architektoniczne

DIAGRAMY IMPLEMENTACYJNE

Unified Modeling Language

<Nazwa firmy> <Nazwa projektu> Specyfikacja wymagań projektu. Wersja <1.0>

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

Podstawy modelowania programów Kod przedmiotu

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

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

Wzorce projektowe. dr inż. Marcin Pietroo

Diagramy sekwencji. wymienianych między nimi

Model przestrzenny Diagramu Obiegu Dokumentów. Stanisław Niepostyn, Ilona Bluemke Instytut Informatyki, Politechnika Warszawska

Podstawy programowania III WYKŁAD 4

Modelowanie i Programowanie Obiektowe

Grupy pytań na egzamin magisterski na kierunku Informatyka (dla studentów dziennych studiów II stopnia)

Dotacje na innowacje. Inwestujemy w waszą przyszłość.

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

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

Rysunek 1: Przykłady graficznej prezentacji klas.

DOBRE PRAKTYKI W PROCESIE BUDOWY INFRASTRUKTURY INFORMACJI PRZESTRZENNEJ DLA TEMATU ZAGOSPODAROWANIE PRZESTRZENNE.

Co to jest jest oprogramowanie? 8. Co to jest inżynieria oprogramowania? 9. Jaka jest różnica pomiędzy inżynierią oprogramowania a informatyką?

Temat: Ułatwienia wynikające z zastosowania Frameworku CakePHP podczas budowania stron internetowych

Projekt architektury systemów informatycznych Uniwersytetu Warszawskiego w oparciu o metodykę TOGAF. Tomasz Turski

Projektowanie, tworzenie aplikacji mobilnych na platformie Android

Programowanie obiektowe

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

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

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

Zofia Kruczkiewicz - Modelowanie i analiza systemów informatycznych 2

Podstawy inżynierii oprogramowania

Testowanie I. Celem zajęć jest zapoznanie studentów z podstawami testowania ze szczególnym uwzględnieniem testowania jednostkowego.

Modelowanie obiektowe - Ćw. 3.

Kontrola spójności modeli UML za pomocą modelu. Stanisław Jerzy Niepostyn, Ilona Bluemke Instytut Informatyki, Politechnika Warszawska

Modelowanie systemów w architekturze J2EE z wykorzystaniem notacji UML

DLA SEKTORA INFORMATYCZNEGO W POLSCE

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

Analiza i projektowanie aplikacji Java

Spring Framework - wprowadzenie i zagadnienia zaawansowane

Historia modeli programowania

Omówienie wzorców wykorzystywanych w Prism 5.0. Dominika Różycka

ZARZĄDZANIE WYMAGANIAMI ARCHITEKTONICZNYMI

Faza analizy (modelowania) Faza projektowania

UPEDU: Analiza i projektowanie (ang. analysis and design discipline)


Wykład 3 Wymagania. MIS n Inżynieria oprogramowania Październik Kazimierz Michalik Akademia Górniczo-Hutnicza im. S. Staszica w Krakowie

Technologie obiektowe

TWÓJ BIZNES. Nasz Obieg Dokumentów

Zintegrowany model struktury

Język programowania. Andrzej Bobyk

Dokument Detaliczny Projektu

Wprowadzenie do systemów informacyjnych

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

STUDIA STACJONARNE I STOPNIA Przedmioty kierunkowe

Dokumentacja projektu QUAIKE Architektura oprogramowania

SOA Web Services in Java

Projektowanie systemów informatycznych. Roman Simiński programowanie.siminskionline.pl. Cykl życia systemu informatycznego

poziom: Core wersja: 2.6 moduł: B : Wytwarzanie SYLLABUS

Dr Katarzyna Grzesiak-Koped

Dokument Detaliczny Projektu

Oprogramowanie o wysokiej jakości to oprogramowanie spełniające następujące kryteria:

Komunikacja i wymiana danych

Projektowanie i wdrażanie systemów informatycznych (materiały do wykładu cz. II)

Programowanie obiektowe

Bazy danych 2. Wykład 1

Referat pracy dyplomowej

Wstęp [2/2] Wbrew częstemu przekonaniu, nie są one gotowymi rozwiązaniami, to tylko półprodukty rozwiązania.

Grupy pytań na egzamin magisterski na kierunku Informatyka (dla studentów dziennych studiów II stopnia)

Sposoby projektowania systemów w cyfrowych

Projektowanie Urządzeń Cyfrowych

2016 Proget MDM jest częścią PROGET Sp. z o.o.

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

Delphi podstawy programowania. Środowisko Delphi

Unified Modeling Language. Referat na seminarium magisterskie Zagadnienia Programowania Obiektowego Dymitr Pszenicyn

Programowanie obiektowe

Modelowanie i analiza systemów informatycznych

Grupy pytań na egzamin magisterski na kierunku Informatyka (dla studentów niestacjonarnych studiów II stopnia)

Wykład 4. Projektowanie. MIS n Inżynieria oprogramowania Październik 2014

Wprowadzenie do programowania aplikacji mobilnych

Feature Driven Development

PROJEKT Z BAZ DANYCH

Programowanie obiektowe

Analiza i projekt systemu pracy grupowej z zastosowaniem metodyki SCRUM w technologii SharePoint Karolina Konstantynowicz

Wykład I. Wprowadzenie do baz danych

Analiza i projektowanie obiektowe w UML Kod przedmiotu

Spis treści. Wykaz ważniejszych skrótów Wprowadzenie Rdzeń Cortex-M Rodzina mikrokontrolerów XMC

Liczba godzin Punkty ECTS Sposób zaliczenia. ćwiczenia 16 zaliczenie z oceną

Transkrypt:

Architektura Systemu Architektura systemu umożliwia kontrolowanie iteracyjnego i przyrostowego procesu tworzenia systemu. Architektura jest zbiorem decyzji dotyczących: organizacji systemu komputerowego, wyboru elementów strukturalnych i ich interfejsów, z których system jest zbudowany, składania elementów strukturalnych i czynnościowych w coraz większe podsystemy, Architektura oprogramowania oprócz jego struktury i zachowania, dotyczy także jego funkcjonalności, efektywności i możliwości ponownego użycia. Obejmuje także ograniczenia ekonomiczne i technologiczne oraz elementy estetyki.

Architektura Systemu Perspektywa projektowa Perspektywa implementacyjna Perspektywa przypadków użycia Perspektywa procesowa Perspektywa wdrożeniowa Rys.1 Zobrazowanie architektury systemu

Architektura Systemu Podobnie jak w klasycznej architekturze, także dla systemów informatycznych istnieją style architektoniczne oraz wzorce dla konkretnych detali. Przykładami stylów są: model z centralną bazą danych model warstwowy model klient-serwer model przetwarzania potokowego model obiektowy W pojedynczym systemie można stosować wiele stylów.

Architektura Systemu Architektura systemu składa się z następujących elementów, które są nazwane : podsystemami jeśli chce się zwrócić uwagę na podział całego systemu ze względu na funkcjonalność oraz na niezależność działania składników modułami jeśli chce się zwrócić uwagę na niezależne tworzenie składników, ich wymienność i wzajemne interakcje (wymianę komunikatów) komponentami jeśli chce się zwrócić uwagę na montowanie z gotowych składników (a także ścisłe określenie interfejsów)

Architektura Systemu Elementy graficznej reprezentacji architektury systemu: przedstawienie struktury systemu (podziału na podsystemy) ukazanie wzajemnych interakcji podsystemów ukazanie fizycznej dystrybucji podsystemów na węzły Graficzna reprezentacja architektury jest jednym z etapów modelowania systemu.

Komponent Wymienny moduł oprogramowania systemu, realizujący określone usługi za pośrednictwem interfejsów Komponentem nazywany jest fragment oprogramowania nadający się do niezależnego montowania w większe programy. Komponenty mają wiele wspólnych cech z klasami m.in. :realizują pewien zbiór interfejsów, mogą brać udział w zależnościach, powiązaniach, mogą być zagnieżdżone. Komponent jest fragmentem nadającym się bezpośrednio do użycia, co zakłada że jest tworzony i kompilowany niezależnie od reszty programu Komponent powinien realizować taki zestaw usług, aby dobrze nadawać się do ponownego użycia

Tworzenie komponentów Tworząc komponenty należy starać się aby: realizować w nich funkcjonalność uwzględnić w interfejsie wszelkie aspekty użycia komponentu uniezależnić stosowanie komponentu od zmienności sprzętu i oprogramowania systemowego uczynić komponent maksymalnie samowystarczalnym

Oparcie na komponentach Tworząc oprogramowanie oparte na komponentach należy zmodyfikować podstawowe czynności: w trakcie ustalania wymagań należy wyszukać komponenty nadające się do wykorzystania w systemie, w fazie implementacji należy uwzględnić odpowiednio zwiększone zasoby przeznaczone na integrację komponentów (dostosowanie do ich interfejsów) w każdej z faz należy uwzględnić ryzyko, że komponent okaże się jednak nieodpowiedni

Stereotypy komponentów Stereotypy Definiują nowe rodzaje komponentów. executable - określa komponent, który można wykonać na węźle library - określa dynamiczną lub statyczną bibliotekę obiektów table - określa komponent reprezentujący tabelę bazy danych file - określa komponent reprezentujący dokument zawierający kod źródłowy lub dane document - określa komponent reprezentujący dokument

Widoki Widok komponentów Zewnętrzny (external, black box) przedstawia komponenty z ukrytymi szczegółami Wewnętrzny (internal, white box) -przedstawia komponenty wraz z ich wewnętrzną budową Przykład zewnętrznego komponentu

Interfejs Interfejs to zestaw operacji, który wyznacza usługi oferowane przez komponent. Interfejsy służą komponentom do prezentowania komunikacji pomiędzy komponentami

Możliwości oznaczania interfejsów Rodzaje interfejsów dostarczony umożliwia pozyskanie danych z komponentu wymagany wymaga dostarczenia określonych danych do wykonania operacji

Techniki łączenia komponentów za pomocą interfejsów

Możliwości oznaczania interfejsów Porty pozwalają łączyć interfejsy wewnętrzne z odpowiedzialnymi za nie fragmentami wewnętrznymi komponentu. Port jest cechą komponentu, która określa jego punkt interakcji pomiędzy komponentami a jego otoczeniem.

Przykład wykorzystania portów

Diagramy komponentów Służy do ilustracji organizacji i zależności pomiędzy komponentami i interfejsami. Diagramy komponentów służą do określania szczegółów niezbędnych do budowy systemu. diagram komponentów dzieli system na fizyczne elementy oprogramowania: pliki, biblioteki, wykonywalne programy itp.

Zależności pomiędzy komponentami Komponenty są między sobą powiązane relacją zależności, ponieważ wymagają do ich realizacji własnej funkcjonalności. Zależność między A i B oznacza, że komponent A korzysta z komponentu B i zmiana w komponencie B może spowodować konieczność zmiany w A.

Przykład zależności pomiędzy komponentami

Wykorzystane źródła: 1. http://www.michalwolski.pl/diagramy-uml/diagramkomponentw/ 2. http://zasoby.open.agh.edu.pl/~10sdczerner/page/architektura_ systemu 3. http://wazniak.mimuw.edu.pl/index.php?title=io-6-wyk-toc 4. http://www.erudis.pl/pl/node/96

Pytania: Do czego służy architektura systemu? Co to jest interfejs? Typy połączeń interfejsu. Z jakich podstawowych elementów składa się diagram komponentów? Opisz każdy z nich.