Architektura softwarových systémů

Podobné dokumenty
Úvod do softwarového inženýrství a týmového vývoje

Analýza problémové domény

Ing. Přemysl Brada, MSc., Ph.D. Ing. Martin Dostal. Katedra informatiky a výpočetní techniky, FAV, ZČU v Plzni

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

Analýza a Návrh. Analýza

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

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

Aplikace je program určený pro uživatele. Aplikaci je možné rozdělit na části:

Modelování požadavků

Databáze II. 1. přednáška. Helena Palovská

Databázové a informační systémy

Technologie Java Enterprise Edition. Přemek Brada, KIV ZČU

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

IS pro podporu BOZP na FIT ČVUT

Modelování obchodních procesů

Architektura GIS KMA/AGI. Karel Jedlička

Student s Life. Návrhová dokumentace (Design) Lukáš Barák, Jakub Ječmínek, Jaroslav Brchel, Jiří Zmeškal

Business Intelligence

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

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

11 Návrh programového vybavení

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

Tvorba informačních systémů

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

DATABÁZOVÉ SYSTÉMY. Metodický list č. 1

Softwarové komponenty a Internet

Ukládání a vyhledávání XML dat

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

Návrh - návrhové třídy a vzory

Tvorba informačních systémů

7 Jazyk UML (Unified Modeling Language)

Využití OOP v praxi -- Knihovna PHP -- Interval.cz

Úvod do tvorby internetových aplikací

Michal Krátký, Miroslav Beneš


DBS Konceptuální modelování

Vývoj informačních systémů. Architektura, návrh Vzory: Doménová logika

Tvorba WWW stránek. přehled technologií používaných na webu principy jednotlivých technologií a možnosti jejich vzájemného kombinování

VÝVOJ INTERNETOVÝCH APLIKACÍ - VIA

Komputerizace problémových domén

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

7 Jazyk UML (Unified Modeling Language)

Microsoft Access tvorba databáze jednoduše

Unifikovaný modelovací jazyk UML

Architektury informačních systémů

Vývoj informačních systémů. Architektura, návrh Vzory: Doménová logika

Databázové systémy úvod

Databázové systémy úvod

Tvorba informačních systémů

Fyzické uložení dat a indexy

předměty: ukončení: Zápočet + Zkouška / 5kb např. jméno, název, destinace, město např. student Jan Novák, narozen

Použití databází na Webu

1 Webový server, instalace PHP a MySQL 13

Současný svět Projekt č. CZ.2.17/3.1.00/32038, podpořený Evropským sociálním fondem v rámci Operačního programu Praha adaptabilita

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

VYSOKÁ ŠKOLA BÁŇSKÁ TECHNICKÁ UNIVERZITA OSTRAVA FAKULTA STROJNÍ DATABÁZOVÉ SYSTÉMY ARCHITEKTURA DATABÁZOVÝCH SYSTÉMŮ. Ing. Lukáš OTTE, Ph.D.

Okruhy z odborných předmětů

A7B39WPA Webové podnikové aplikace. Zdeněk Kouba Petr Aubrecht Petr Křemen

Maturitní otázky z předmětu PROGRAMOVÁNÍ

Architektury informačních systémů

Semináˇr Java X J2EE Semináˇr Java X p.1/23

SYLABUS IT V. Jiří Kubica. Ostrava 2011

VZOROVÝ STIPENDIJNÍ TEST Z INFORMAČNÍCH TECHNOLOGIÍ

Databáze s tisíci uložených procedur. Pavel Bláhovec, DiS pavel@blahovec.cz

programátor vs. vývojář

Střední průmyslová škola elektrotechnická Praha 10, V Úžlabině 320

Obsah. Kapitola 1. Kapitola 2. Kapitola 3. Úvod 9

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

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

Problémové domény a jejich charakteristiky

Obsah přednášky. Představení webu ASP.NET frameworky Relační databáze Objektově-relační mapování Entity framework

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

Obsah. Zpracoval:

Databázové systémy úvod

Úvod. Petr Aubrecht (CA) Martin Ptáček (Wincor Nixdorf) Je 10 typů lidí: ti, kteří znají binární kód, a ti, kteří ne.

IB111 Programování a algoritmizace. Programovací jazyky

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

Návrh IS - UML. Jaroslav Žáček

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY

Řešení Technologických center

Komponentově orientované webové frameworky. Jiří Stránský twitter.com/jistr

Návrh IS - UML. Jaroslav Žáček

PHP framework Nette. Kapitola Úvod. 1.2 Architektura Nette

Obsah přednášky. 12. Dokumentace zdrojového kódu Tvorba elektronické dokumentace UML. Co je diagram tříd. Ing. Ondřej Guth

Nové jazykové brány do Caché. Daniel Kutáč

Kritéria hodnocení praktické maturitní zkoušky z databázových systémů

5 Požadavky a jejich specifikace

Hiearchical MVC (Model-view-controller) vs. PAC (Presentation-abstraction-control)

PA165: Úvod do Java EE. Petr Adámek


Jiří Mašek BIVŠ V Pra r ha

SQL - trigger, Databázové modelování

Mobile application developent

Případová studie: Adresářové řešení pro webhosting pomocí ApacheDS. Lukáš Jelínek

Archivace relačních databází

Kritéria hodnocení praktické maturitní zkoušky z databázových systémů

Implementace informačního systému pro knihovnu Jiřího Mahena v Brně

Principy UML. Clear View Training 2005 v2.2 1

Kurz je rozdělen do čtyř bloků, které je možné absolvovat i samostatně. Podmínkou pro vstup do kurzu je znalost problematiky kurzů předešlých.

Transkript:

Architektura softwarových systémů Ing. Jiří Mlejnek Katedra softwarového inženýrství Fakulta informačních technologií České vysoké učení technické v Praze Jiří Mlejnek, 2011 jiri.mlejnek@fit.cvut.cz Softwarové inženýrství BI-SI1 LS 2011/ Před. 5 Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

Obsah Přechod od analýzy k návrhu Návrhová rozhodnutí Architektury Třívrstvá architektura Ing. Jiří Mlejnek (FIT ČVUT) BI-SI1, 2011 Před. 5 - Architektura softwarových systémů 2

Přechod od analýzy k návrhu Analýza Co? Analytik Analytická dokumentace Návrh (Design) Jak? Solution Architekt Návrhová dokumentace (prováděcí) Ing. Jiří Mlejnek (FIT ČVUT) BI-SI1, 2011 Před. 5 - Architektura softwarových systémů 3

Přechod od analýzy k návrhu Pracovní postupy Volba a popis architektury Volba a popis způsobu uložení dat Vytvoření návrhového modelu tříd Upřesnění atributů datové typy Přiřazení zodpovědností softwarovým třídám Mapování případů užití na komunikaci softwarových tříd Sekvenční diagramy Diagramy spolupráce Ing. Jiří Mlejnek (FIT ČVUT) BI-SI1, 2011 Před. 5 - Architektura softwarových systémů 4

Přechod od analýzy k návrhu Návrh Architektura Způsob uložení dat Návrhový model tříd Model komunikace Analýza Vize, obecné požadavky Analytický doménový model Analytický doménový model Model případů užití Ing. Jiří Mlejnek (FIT ČVUT) BI-SI1, 2011 Před. 5 - Architektura softwarových systémů 5

Přechod od analýzy k návrhu Dotazy? Ing. Jiří Mlejnek (FIT ČVUT) BI-SI1, 2011 Před. 5 - Architektura softwarových systémů 6

Návrhová rozhodnutí Technologie - implementační jazyk Způsob ukládání dat Frameworky Architektura Ing. Jiří Mlejnek (FIT ČVUT) BI-SI1, 2011 Před. 5 - Architektura softwarových systémů 7

Návrhová rozhodnutí Volba implementačního jazyka Procedurální C Skriptovací jazyky Objektově orientované Java C# C++ Ing. Jiří Mlejnek (FIT ČVUT) BI-SI1, 2011 Před. 5 - Architektura softwarových systémů 8

Návrhová rozhodnutí Volba implementačního jazyka Procedurální Vhodné pro nízkoúrovňové programování Pro rozsáhlé IS nevhodné Objektově orientované jazyky Většina dnes vyvíjených systémů Dále se budeme zabývat pouze OO přístupem Ing. Jiří Mlejnek (FIT ČVUT) BI-SI1, 2011 Před. 5 - Architektura softwarových systémů 9

Návrhová rozhodnutí Volba implementačního jazyka Znalosti vývojového týmu Dostupnost potřebných frameworků Požadavky na přenositelnost (Java) Zaměření na OS Windows (.NET) Nízké nároky na webhosting (PHP) Ing. Jiří Mlejnek (FIT ČVUT) BI-SI1, 2011 Před. 5 - Architektura softwarových systémů 10

Návrhová rozhodnutí Volba způsobu uložení dat Relační databáze MySQL PostgreSQL OracleSQL Objektová databáze Soubory Gemstone Caché Versant Ing. Jiří Mlejnek (FIT ČVUT) BI-SI1, 2011 Před. 5 - Architektura softwarových systémů 11

Návrhová rozhodnutí Volba způsobu uložení dat Relační databáze Výhody Nevýhody Nejrozšířenější způsob Mnoho výrobců Standard SQL Nutnost mapování objektů do relační databáze Ing. Jiří Mlejnek (FIT ČVUT) BI-SI1, 2011 Před. 5 - Architektura softwarových systémů 12

Návrhová rozhodnutí Volba způsobu uložení dat Objektové databáze Odpadá problematika mapování objektů do relací Prozatím málo rozšířené Objektově relační Relační databáze rozšířená o objektové rysy Uživatelsky definované typy Kolekce Ing. Jiří Mlejnek (FIT ČVUT) BI-SI1, 2011 Před. 5 - Architektura softwarových systémů 13

Návrhová rozhodnutí Podklady pro rozhodování Obecné (nefunkční) požadavky Možný budoucí rozvoj systému Znalosti dostupných lidských zdrojů Rozpočet (licence, robustnost řešení) Ing. Jiří Mlejnek (FIT ČVUT) BI-SI1, 2011 Před. 5 - Architektura softwarových systémů 14

Návrhová rozhodnutí Dotazy? Ing. Jiří Mlejnek (FIT ČVUT) BI-SI1, 2011 Před. 5 - Architektura softwarových systémů 15

Architektury Logické Organizace softwarových tříd do balíčků, jmenných prostorů Uspořádání balíčků do vrstev, podsystémů Fyzické (nasazení) Rozložení komponent na výpočetní uzly Tenký klient Tlustý klient Bude probíráno později Ing. Jiří Mlejnek (FIT ČVUT) BI-SI1, 2011 Před. 5 - Architektura softwarových systémů 16

Architektury Notace diagram balíčků UML Balíček Závislost pkg Package diagram Balíček A Balíček B Ing. Jiří Mlejnek (FIT ČVUT) BI-SI1, 2011 Před. 5 - Architektura softwarových systémů 17

Architektury Diagram balíčků způsoby zobrazení vnoření pkg Package diagram vnoření Balíček B Balíček A Balíček C pkg Package diagram vnoření pkg Balíček A Balíček A Balíček B Balíček C Balíček A + Balíč ek B + Balíč ek C Ing. Jiří Mlejnek (FIT ČVUT) BI-SI1, 2011 Před. 5 - Architektura softwarových systémů 18

Architektury Roury a filtry (Pipes and filters) Servisně orientovaná architektura (SOA) Vícevrstvé Monolitická aplikace Dvouvrstvá Třívrstvá Vícevrstvá Ing. Jiří Mlejnek (FIT ČVUT) BI-SI1, 2011 Před. 5 - Architektura softwarových systémů 19

Architektury Roury a filtry Rozdělení na nezávislé komponenty Každá komponenta provádí specifickou transformaci dat Příklad - unixové filtry Ing. Jiří Mlejnek (FIT ČVUT) BI-SI1, 2011 Před. 5 - Architektura softwarových systémů 20

Architektury Servisně orientovaná architektura Orientována na služby Integrace nezávislých systémů Bude popsáno později Ing. Jiří Mlejnek (FIT ČVUT) BI-SI1, 2011 Před. 5 - Architektura softwarových systémů 21

Architektury Vícevrstvé Monolitická (jednovrstvá) Prototypy Rychlý počáteční rozvoj Složitá udržovatelnost Ing. Jiří Mlejnek (FIT ČVUT) BI-SI1, 2011 Před. 5 - Architektura softwarových systémů 22

Architektury Vícevrstvé - monolitická (jednovrstvá) <html> <body> <div> <? $link = mysql_connect("localhost","root","") $result = mysql_query("select * from Zprava,$link); while ($row = mysql_fetch_array($result)) { echo ("<h4>$row["nadpis"]</h4>"); echo ("<div> $row["text"]<br></div>"); } mysql_close($link);?> </div> </body> </html> Ing. Jiří Mlejnek (FIT ČVUT) BI-SI1, 2011 Před. 5 - Architektura softwarových systémů 23

Architektury Vícevrstvé - dvouvrstvá architektura Vhodná pro CRUD aplikace Vrstvy Prezentační Datová Ing. Jiří Mlejnek (FIT ČVUT) BI-SI1, 2011 Před. 5 - Architektura softwarových systémů 24

Architektury Dvouvrstvá architektura prezentační vrstva <body> <div> <? $zpravadao = new ZpravyDAO(); $zpravy = $zpravadao->vratzpravy(); foreach ($zpravy as $zprava){ echo "<h1>".$zprava->vratnadpis()."</h4>"; echo "<div>".$zprava->vrattext()."</div>"; }?> </div> </body> Ing. Jiří Mlejnek (FIT ČVUT) BI-SI1, 2011 Před. 5 - Architektura softwarových systémů 25

Architektury Dvouvrstvá architektura datová vrstva class ZpravaDAO { public function vratzpravy(){ $result = mysql_query("select * from Zprava",getLink()); $i=0; while ($row = mysql_fetch_array($result)) { $zpravy[$i]=new Zprava($row["Nadpis"],$row["Text"]); $i++; } return $zpravy; } } Ing. Jiří Mlejnek (FIT ČVUT) BI-SI1, 2011 Před. 5 - Architektura softwarových systémů 26

Architektury Třívrstvá architektura Vhodná pro složitější (enterprise) aplikace Vrstvy Prezentační Business (doménová) Datová Ing. Jiří Mlejnek (FIT ČVUT) BI-SI1, 2011 Před. 5 - Architektura softwarových systémů 27

Architektury Třívrstvá architektura - striktní Závislost vždy směrem dolů Pouze o jednu úroveň pkg Třív rstv á architektura Prezentační Business Datov á Ing. Jiří Mlejnek (FIT ČVUT) BI-SI1, 2011 Před. 5 - Architektura softwarových systémů 28

Architektury Třívrstvá architektura relaxovaná Závislost vždy směrem dolů Přes libovolný počet úrovní pkg Třív rstv á architektura Prezentační Business Datov á Ing. Jiří Mlejnek (FIT ČVUT) BI-SI1, 2011 Před. 5 - Architektura softwarových systémů 29

Třívrstvá architektura Výhody Oddělení business logiky od prezentační vrstvy Nezávislost business logiky na způsobu uložení Snadná výměna jednotlivých vrstev Jednoduché testování Více různých prezentačních vrstev Znovupoužitelnost Ing. Jiří Mlejnek (FIT ČVUT) BI-SI1, 2011 Před. 5 - Architektura softwarových systémů 30

Třívrstvá architektura Dotazy? Ing. Jiří Mlejnek (FIT ČVUT) BI-SI1, 2011 Před. 5 - Architektura softwarových systémů 31

Děkuji za pozornost. Ing. Jiří Mlejnek (FIT ČVUT) BI-SI1, 2011 Před. 5 - Architektura softwarových systémů 32