Návrh softwarových systémů - architektura softwarových systémů

Podobné dokumenty
Návrh softwarových systémů - architektura softwarových systémů

Vývoj informačních systémů. Obecně o IS

Modelování procesů s využitím MS Visio.

Unifikovaný modelovací jazyk UML

UML a jeho použití v procesu vývoje. Jaroslav Žáček jaroslav.zacek@osu.cz

UML - opakování I N G. M A R T I N M O L H A N E C, C S C. Y 1 3 A N W

Využití SysML pro tvorbu modelů v systémovém inženýrství

Architektury Informačních systémů. Jaroslav Žáček

Vývoj informačních systémů. Přehled témat a úkolů

Vývoj informačních systémů. Přehled témat a úkolů

Informační systémy 2008/2009. Radim Farana. Obsah. UML - charakteristika

Architektury Informačních systémů. Jaroslav Žáček

ADMINISTRACE POČÍTAČOVÝCH SÍTÍ. OPC Server

7 Jazyk UML (Unified Modeling Language)

Informační systémy 2008/2009. Radim Farana. Obsah. Nástroje business modelování. Business modelling, základní nástroje a metody business modelování.

7 Jazyk UML (Unified Modeling Language)

Klasické metodiky softwarového inženýrství I N G M A R T I N M O L H A N E C, C S C. Y 1 3 A N W

Information and Data Management. RNDr. Ondřej Zýka

Datová věda (Data Science) akademický navazující magisterský program

INFORMAČNÍ SYSTÉMY , Ing. Jiří Mráz

Architektura softwarových systémů

Komputerizace problémových domén

Analýza a Návrh. Analýza

Softwarové komponenty a Internet

UML. Unified Modeling Language. Součásti UML

6 Objektově-orientovaný vývoj programového vybavení

SPECIFICKÁ PRAVIDLA PRO ŽADATELE A PŘÍJEMCE

CASE nástroje. Jaroslav Žáček

Specializace Návrhář software na základě analýzy vytváří návrh softwarových aplikací ve formě schémat a diagramů.

Obsah. Zpracoval:

Business Intelligence

CASE. Jaroslav Žáček

Servisně orientovaná architektura Základ budování NGII

Základní informace. Modelování. Notace

1. Integrační koncept

Modelování podnikových procesů

ABBYY Automatizované zpracování dokumentů

X36SIN: Softwarové inženýrství. Životní cyklus a plánování

Metodika analýzy. Příloha č. 1

Modelem řízený vývoj. SWI 1 Jan Kryštof

TECHNIKY A CASE NÁSTROJE VÝVOJE IS

RUP - Disciplíny. Jaroslav Žáček jaroslav.zacek@osu.cz

Globální strategie, IT strategie, podnikové procesy. Jaroslav Žáček

Návrh softwarových systémů - softwarové metriky

Architektura v organizaci

Servisně orientovaná architektura a její aplikace v systémech sledování a řízení výroby

Metodické postupy tvorby architektury

Okruhy z odborných předmětů

Architektura softwarových systémů

Objektově orientované technologie Diagram komponent Implementační náhled (Diagram rozmístění) Pavel Děrgel, Daniela Szturcová

Proces vývoje HRIS Vema (Human Resources Information System) Jaroslav Šmarda

Honeywell & Masarykova univerzita v Brně

Architektury informačních systémů

Architektury informačních systémů

Informační média a služby


GTL GENERATOR NÁSTROJ PRO GENEROVÁNÍ OBJEKTŮ OBJEKTY PRO INFORMATICA POWERCENTER. váš partner na cestě od dat k informacím

Systémy pro podporu rozhodování. Hlubší pohled 2

VERZE 1.1.1, 1.1.2, 1.2 VIVO.LUNDEGAARD.EU

Profilová část maturitní zkoušky 2013/2014

Firemní informační systém

Common Object Request Broker Architecture

Moderní přístup k návrhu produktové nabídky a schvalování úvěrových produktů v reálném čase.

Hynek Cihlář Podnikový architekt Od Indoše ke Cloudu

PŘÍLOHA C Požadavky na Dokumentaci

3 Inženýrství systémů založených na počítačích (Computer-based System Engineering)

Copyright 2001, COM PLUS CZ a.s., Praha

1 Úvod 1.1 Vlastnosti programového vybavení (SW)

Optimalizaci aplikací. Ing. Martin Pavlica

Znalostní systém nad ontologií ve formátu Topic Maps

3 Inženýrství systémů založených na počítačích (Computer-based System Engineering)

Tvorba informačních systémů

01 Teoretické disciplíny systémové vědy

PV207. Business Process Management

2. Modelovací jazyk UML 2.1 Struktura UML Diagram tříd Asociace OCL. 3. Smalltalk 3.1 Jazyk Pojmenování

5.15 INFORMATIKA A VÝPOČETNÍ TECHNIKA

1/1 ČESKÁ ZEMĚDĚLSKÁ UNIVERZITA V PRAZE PROVOZNĚ EKONOMICKÁ FAKULTA PŘIJÍMACÍ ŘÍZENÍ 2017/2018

Obsah: Základní pojmy, definice Informační systémy IT architektura Typické aplikační komponenty Implementace aplikací

Využití JBoss Fuse ve skandinávské energetice

Business Process Modeling Notation

Systémy pro podporu. rozhodování. 2. Úvod do problematiky systémů pro podporu. rozhodování

Cíle a metodika průzkumu

Řízení procesů ICT prostřednictvím Architektury

Úvod do informačních a řídicích systémů. lení

Modelování řízené případy užití

Vrstvy programového vybavení Klasifikace Systémové prostředky, ostatní SW Pořizování Využití

TÉMATICKÝ OKRUH Softwarové inženýrství

RELAČNÍ DATABÁZE. Cíl:

Hospodářská informatika

Tranzitní telefonní ústředna xphonet a Experimentální telefonní síť xprotel

Stav řešení Enterprise Architektury na Moravskoslezském kraji

Profilová část maturitní zkoušky 2017/2018

Enterprise Architecture na MPSV

Informační systémy. Jaroslav Žáček

Novinky v UML 2.5 a agilní modelování

Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

Architektura informačních systémů. - dílčí architektury - strategické řízení taktické řízení. operativní řízení a provozu. Globální architektura

Modelování informačních systémů s využitím jazyka UML. Jaroslav Šmarda

MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 PROGRAMOVÉ VYBAVENÍ POČÍTAČŮ

Produkty třídy BYZNYS

Transkript:

Návrh softwarových systémů - architektura softwarových systémů Martin Tomášek, Jiří Šebek Návrh softwarových systémů (B6B36NSS) Převzato z přednášky X36AAS M. Molhanec

Co je to architektura Využívá se v různách oborech (architektura, computer science,.) Původní význam skládání staveb = skládání struktur Později začal být chápan jako uměni (věda, obor, disciplína) skládání libovolných složitých struktur Čím větší projekt tím důležitější 2

Co je to architektura U softwaru dělíme na architekturu: Software Hardware Databáze Informačního systémů 3

Co je to architektura Slouží pro různé účely: Pro pochopení Pro evoluci myšlenek Pro dorozumění mezi vývojáři, ale i s uživateli Pro dokumentaci Pro simulaci a validaci 4

Co je to architektura Další důvody : neopakovat chyby využívat již jednou nalezená řešení (nevymýšlet znovu kolo) popsat v různých úrovních a úhlech pohledu 5

Důležité pojmy u softwaru Existuje spousta definic, není důležité umět nazpamět ale rozumět rozdílům! 6

7 Softwarová architektura

Co je to softwarová architektura (SA) SA je struktura, která se skládá z komponent a vztahů mezi nimi. (komponenty, konektory a konfigurace!) Není zcela libovolná, ale je omezená pravidly, účelem a prostředím. Je určená různým aktorům (aktor = osoba, která je nějakým způsobem zainteresovaná do procesu tvorby softwaru): Analytikovi, managementu, přímým uživatelům, architektu, vývojáři, grafikovi, správci, testerovi (QA tester)... 8

SA Příklady SA : SoC (Separation of Concerns) Call and return Objektové paradigma Klient-Server Vzory Komponenty Roura (pipes and filters) 9

Jak popsat architekturu? Pomoci jazyků, pohledů a frameworků Jazyky : ADL Pohledy : Funkční, datový, fyzický, uživatelský, Frameworky : TOGAF 10 Převzato z přednášky X36AAS M. Molhanec

Informační systém 11 Převzato z přednášky X36AAS M. Molhanec

Informační architektura Informační systém je systém složený z osob, datových záznamů a aktivit, které zpracovávají data a informace v organizaci, což zahrnuje jak manuální tak automatizované procesy model, který zahrnuje všechny aspekty informačního systému dané organizace, např. software, hardware, organizaci, procesy Samotné UML není na této abstrakci již dostačující Informační systém nejsou jen počítače, ale i celá organizace získávání, zpracování a distribuce údajů (užitečných informací) k uživatelům. 12 Převzato z přednášky X36AAS M. Molhanec

Informační systém Jiné definice : Informační systém je pro uživatele! Správná informace v co nejkratší době do správných rukou! Koupě počítače a programu nic nevyřeší! Vyšší abstrakce : IA (architektura informačního systému = SA + hardware, procesy..) 13 Převzato z přednášky X36AAS M. Molhanec

14 Enterprise architektura

Enterprise architektura (EA) Mnoho definicí, problémy s překladem Jedná se o organizační logiku podnikových procesů a IT infrastruktury odrážející integraci a standardizaci požadavků firemního operačního modelu. (MIT definice) Pojem EA představuje architekturu systému na nejvyšší úrovni. Její součástí (nervovou soustavou) je informační architektura. Vyjádření architektury softwarových komponent ze kterých se informační systém podniku skládá je pak softwarová architektura. SA IA EA a BA 15 Převzato z přednášky X36AAS M. Molhanec

Business architektura (BA) Reprezentuje model, který popisuje tok informací a práce mezi autoritami (velmi obecné) Je založená na business strategii dané firmy Využívá různé principy/frameworky : Object Management Group (OMG), including the Unified Modeling Language (UML), Model Driven Architecture (MDA), Business Motivation Model (BMM), Semantics of Business Vocabulary and Rules (SBVR) and the Business Process Modeling Notation (BPMN) Tato architektura nám musí odpovědět na základní otázky : Co děláme, Kdo to dělá, Kterou informaci, Kde je to uděláno? 16 Převzato z http://www.businessdictionary.com/definition/business-architecture.html

Business architektura (BA) 17 Převzato z https://en.wikipedia.org/wiki/business_architecture

Další dělení architektury Statická Dynamická Mobilní 18

Statická Statická = nemění se Zachycuje pevnou danou strukturu softwaru Nemění se za běhu Je potřeba znát kontext při analýze, nemůžeme spoléhat na učení za běhu (machine learning apod.) 19

Dynamická Dynamická = mění se (vznik a zánik) Oproti statické architektuře navíc podporuje vznik a zánik komponent a vazeb za běh systému podle pravidel určených při návrhu, struktura systému se dynamicky mění (např. architektura distribuované aplikace, která si dynamicky alokuje v síti dostupné zdroje během výpočtu), tj. architektura se sice mění, ale je dopředu daná, 20 Převzato z Flavio Oquendo. π-adl: an Architecture Description Language based on the higher-order typed π- calculus for specifying dynamic and mobile software architectures. ACM SIGSOFT Software Engineering Notes, 29(3):1 14, 2004.

Mobilní Mobilní = mění se (vznik, zánik + pohyb) Rozšiřuje dynamickou architekturu o mobilní prvky, kdy se komponenty a vazby přesouvají za běhu systému podle stavu výpočtu (např. aplikace s multiagentní architekturou, kde je změna struktury součástí výpočtu), tj. architektura se mění a není dopředu předvídatelná 21 Převzato z Flavio Oquendo. π-adl: an Architecture Description Language based on the higher-order typed π- calculus for specifying dynamic and mobile software architectures. ACM SIGSOFT Software Engineering Notes, 29(3):1 14, 2004.

Co je to architektura Využívá se v různách oborech (architektura, computer science,.) Původní význam skládání staveb = skládání struktur Později začal být chápan jako uměni (věda, obor, disciplína) skládání libovolných složitých struktur Čím větší projekt tím důležitější 22

Co je ADL? Google nám neradí správně :-) 23

Co je ADL? Google nám neradí správně :-) Architecture description language (ADL) Jedná se o jazyk pro popis softwarové, technické nebo systémové architektury Systémová architektura je konceptuální (pojmový) popis struktury a chování systému. Technická architektura je struktura HW komponent systému a SW komponent na nich běžících. Softwarová architektura je struktura systému složeného ze softwarových komponent, jejich vlastností a vztahů mezi nimi. 24

Co je ADL? Opět i zde existuje více definic Má větší potenciál než samotné UML Má podobně vlastnosti jako UML : prostředek pro vyjádření softwarové architektury srozumitelný pro všechny aktory Musí umět vyjadřovat komponenty, konektory a konfigurace systému (důležité!) Podpora grafické formy a generování kódu 25

Co musí umět vyjadřovat? Základní elementy architektury Komponenty části dekomponovaného systému s daným rozhraním Konektory komunikační kanály pro propojení komponent s daným rozhraním Konfigurace konkrétní způsob vzájemného propojení komponent pomocí konektorů 26

Co musí umět vyjadřovat? U dynamických a mobilních navíc události, na které systém reaguje (vnější podněty) akce, které systém vykonává (reakce na podněty), vztahy mezi akcemi udávající, na jaké události systém reaguje jakými akcemi, chování systému, tj. komponent, konektorů a změn konfigurace, tedy tím, jak se mění softwarová architektura v důsledku akcí, je dáno vztahy mezi událostmi a akcemi 27

Dělení ADL jazyků Formální Využívají matematické, algebraické nástroje, grafy apod. Jsou přesné Horší na používání a pochopení Př. Wright Neformální/obecné Čitelnější, některé jsou omezenější například jen na embedded systémy Př. ACME, AADL, Archimate 28

Děkuji za pozornost Martin Tomášek 29