KIV/ASWI 2007/2008 Návrh: třídy a struktury pro efektivní implementaci
|
|
- Marie Mašková
- před 9 lety
- Počet zobrazení:
Transkript
1 KIV/ASWI 2007/2008 Návrh: třídy a struktury pro efektivní implementaci
2 Obsah a cíl této části Jak rozpracovat výsledky analýzy» tak, aby šly jednoznačně implementovat v konkrétním programovacím jazyce a provozní platformě» tak aby implementaci mohlo provádět více lidí, aby byla efektivní (co do výkonu i tvorby) a výsledek byl snadno udržovatelný Dát návod jak poznat rozumný návrh od chybného ASWI 2006/ Návrh implementace 2
3 Aspekty návrhu Postup návrhu tříd Architektura, konvence Vzory řešení typických situací Jazykové idiomy ASWI 2006/ Návrh implementace 3
4 Klíčová rozhodnutí před detailním návrhem (jestli vize) (co požadavky) Architektura technologie struktura pravidla, konvence (jak návrh) ASWI 2006/ Návrh implementace 4
5 Architektura
6 Architektura systému Klíčové aspekty organizace» jak systém členit hrubé členění na subsystémy a balíky rozhraní a závislosti mezi nimi přiřazení tříd do balíků/subsystémů the highest-level concept of a system in its environment Aspekty prolínající celou implementací (konvence)» jak systém navrhovat jednotný přístup k tvorbě objektů lokalizace ASWI 2006/ Návrh implementace 6
7 Výběr technologie Postup tvorby návrhu i jeho konečnou podobu ovlivňují/omezují vlastnosti prostředí Programovací jazyk, databáze, knihovny Použití frameworků a hotových komponent Ovlivňující faktory stávající systém efektivita vývoje marketing ASWI 2006/ Návrh implementace 7
8 Logické členění balíky Motivace: logický objektový model velký Členění pro získání přehledu o systému rozdělení implementace mezi členy týmu Co je balík skupina souvisejících tříd, tvoří organizační celek mapování do jazyka (balík vytváří jmenný prostor) hierarchické vnořování Třídy balíku funkčně příbuzné, v jedné vrstvě aplikace nebo kdekoli ASWI 2006/ Návrh implementace 8
9 Komunikace mezi balíky ROZHRANÍ ROZHRANÍ ROZHRANÍ ASWI 2006/ Návrh implementace 9
10 Funkční členění subsystémy Motivace: monolitická aplikace nepraktická Subsystém = skupina souvisejících balíků a/nebo tříd tvořících funkční celek vícenásobně použitelných, volně vázaných částí celků vhodných pro vývoj a údržbu Třídy subsystému funkčně soudržné (lokalita změn) často vázané na jednoho aktéra Třídy mimo stejně silná vazba na více subsystémů zakreslené na úrovni subsystémů horizontální vrstvy vs. vertikální domény (finance, personalistika, řízení, utility, ) ASWI 2006/ Návrh implementace 10
11 Konvence a politiky Architectural policies obecná pravidla pro návrh v libovolné části aplikace musí dodržovat všichni vývojáři Správa paměti Synchronizace, transakce Defenzivní programování Lokalizace (L10N, I18N) ASWI 2006/ Návrh implementace 11
12 Jak najít balíky, subsystémy Rozdělení dopředu zřejmé jednoduché a/nebo standardní aplikace vodítko: použití architektonických stylů Na základě objektového modelu nutno vidět všechny třídy a vztahy shluk těsně vázaných tříd = kandidát Na základě případů použití potlačit nepodstatné případy použití pro zbylé zkusit vyjmout klíčovou třídu závislé třídy napomohou řídící objekty ASWI 2006/ Návrh implementace 12
13 Kdy začít členit do subsystémů Členění ovlivňuje plánování a postup prací Standardní projekty možno odhadnout nebo stanovit předem Menší systémy rozdělení na základě analýzy Velké projekty (analýza trvá dlouho) nahrubo předem rozfázování prací včetně analýzy vodítko: aktéři, znalost struktury fyzického systému, možnosti reuse, vývojové kapacity přesně až během návrhu architektury ASWI 2006/ Návrh implementace 13
14 Klient-server tlustý klient Základní architektonické styly 3vrstvé a vícevrstvé [BUS96] defines an architectural pattern as: "An architectural pattern expresses a fundamental structural organization schema for software systems. It provides a set of predefined subsystems, specifies their responsibilities, and includes rules and guidelines for organizing the relationships between them." oddělení prezentace, business logiky a datové části dnes standard Vrstvená delegování na podřízené prezentace / řízení / doména / business služby / technická infrastruktura / knihovní třídy / systémové Image from IBM RUP 2005 Concept: Architecture 14
15 Další architektonické styly SOA (Service-oriented architecture) Pipes and filters ( kolona ) Blackboard Broker Image from ASWI 2006/ Návrh implementace 15
16 Komponentový přístup Dotažení zapouzdření a rozhraní do konce aplikace jako Lego skládačka (teoreticky) Komponenta black-box implementace nedůležitá a nedosažitelná rozhraní rozlišena na poskytovaná a vyžadovaná vazby» provides/exports, requires/imports/depends explicitní specifikace rozhraní a vlastností Technologie» manifest, deployment descriptor CORBA, EJB (částečně), portlety, OSGi IoC containers: Spring, PicoContainer Přístup Inversion of Control (IoC) a Dependency Injection (DI) ASWI 2006/ Návrh implementace 16
17 UML reprezentace komponent Rozdíl UML1 a UML2 ASWI 2006/ Návrh implementace 17
18 ORM Objektově relační mapování aplikace chce objekty, perzistentní data chceme v relační DB Ručně: data access objects + relační model třídy (atributy) označené «persistent» tabulky (sloupce) object ID primární klíč 1:1 asociace FK vazba; agregace obrácená FK vazba generalizace sada tabulek s FK, join pro získání potomka Knihovny / rámce pro persistenci Java JDBC, Hibernate PHP PEAR MDB, ADOdb, Scrubs, Metastorage ASWI 2006/ Návrh implementace 18
19 UML struktura architektury com.foo.nextgen. ui.swing com.foo.nextgen. domain.sales com.foo.nextgen. domain.payments com.foo.util com.foo.nextgen. domain.posruleengine «subsystem» POSRuleEngine POSRuleEngineFacade not a subsystem Pricing «subsystem» Persistence DBFacade «subsystem» Jess ASWI 2006/ Návrh implementace 19
20 Dokumentace architektury Referenční architektura dokument kostra aplikace Dokument RUP Artifact: Software Architecture Document Modely UML» implementation view (komponenty), logical view (třídy, balíky), process view (interakce, stavový model) ad-hoc diagramy ASWI 2006/ Návrh implementace 20
21 Třívrstvý model
22 MVC struktura aplikace 3vrstvá architektura v malém oddělení vrstev, které se nejčastěji mění typicky uživatelské rozhraní Základ: návrhový vzor Model-View-Controller Realizace pomocí tříd/objektů hraniční rozhraní řídící mechanismy datové perzistence údajů + knihovní, systémové ASWI 2006/ Návrh implementace 22
23 Hraniční třídy Obsahují funkčnost přímo závislou na okolí dialog s uživateli komunikace s externími systémy aktéři přistupují k systému pouze přes hraniční objekty Úlohy hraničních objektů prezentace / čtení informací zapouzdření externích prvků předávání dat od / k interním objektům zpracování informací, jejich uchovávání Podle toho základní atributy a metody ASWI 2006/ Návrh implementace 23
24 Hledání hraničních tříd Objekty zřejmé z popisu rozhraní v PU specifikace požadavků, znalost systému odraz v prototypu (možno přímo převzít) Alespoň jeden H objekt pro každého aktéra nemusí platit pro abstraktní aktéry Rozbor případů použití vyznačit místa s rozhraním na systém H objekt obsahuje primárně funkčnost závislou na podobě rozhraní (ne zpracování) Obvykle kombinace konsolidace výsledků ASWI 2006/ Návrh implementace 24
25 Datové (entitní) třídy Zapouzdřují informace uchovávané delší dobu typicky přežívají mezi případy použití Atributy uchovávaná informace, jednoduché i strukturované Metody» samostatně zpracovávaná data separátní objekty funkčnost svázaná s přístupem k informacím životní cyklus objektu, přístup k datům, zpracování dat, složitější přímo související analýzy apod. ASWI 2006/ Návrh implementace 25
26 Hledání datových objektů Zřejmé z výsledků analýzy často doménové objekty data vstupující do systému Rozbor případů použití vyznačit data používaná při zpracování vyhledat přímo svázané operace zapouzdřit do objektů Úpravy separovat společné vlastnosti dědičnost Realizace v SQL/RDBMS až později ASWI 2006/ Návrh implementace 26
27 Řídící třídy Řízení aplikace stavové přechody, mechanismy (business rules) funkčnost, která se může změnit nezávisle na datech některé nelze nebo není dobré svázat s hraničními / datovými třídami komplexní kontroly nebo zpracování koordinace více objektů jejich vyčlenění do specielních tříd Vlastnosti řídících tříd obvykle jen pro daný případ použití obvykle poměrně malé, těžiště v několika metodách ASWI 2006/ Návrh implementace 27
28 Hledání řídících objektů Typicky v rozborech případů použití transakční operace izolování hraničních a datových objektů zajištění komunikace mezi objekty Technika pro začátek jeden případ použití jeden řídící objekt hledat typické chování, přiřadit řídícímu objektu více různých vyrobit potřebné další řídící objekty typické chování nenalezeno řídící objekt zbytečný ASWI 2006/ Návrh implementace 28
29 Systémové a knihovní třídy Realizace nízkoúrovňových úloh komunikace soubory zobrazování Cíl: reuse (využití již hotového) znalost knihoven namapování hraničních, případně datových tříd ASWI 2006/ Návrh implementace 29
30 Úvaha o strategiích alokace řízení Hraniční datové řídící objekty každý může obsahovat řídící mechanismy Cíl: minimalizace dopadu, lokalita změn uživatelské / systémové rozhraní reprezentace a předávání informace malá změna požadavků lokální změna implementace Druhy aplikací podle typu řízení výpočetní a řídící systémy, dialogové, kombinované vyvážené ASWI 2006/ Návrh implementace 30
31 Získávání detailů pro návrh
32 Metody tříd Cíl: interní funkčnost jednoznačně odvozená od požadované vnější trasovatelnost požadavků (údržba!) Rozbor případů použití zodpovědnost metoda návrh, implementace rozvíjí logický objektový model» jakmile je dost informací (může potřebovat 0..3 iterace)» obvykle Z:M = 1:N ASWI 2006/ Návrh implementace 32
33 Mechanismy spolupráce tříd Mechanismy = spolupráce více tříd na realizaci funkčnosti ideální stav: zobecnitelné Rámují jednotlivé zodpovědnosti rozbor scénáře případu užití správně identifikovat spouštěcí událost návrh postupu předávání zpráv (zodpovědnosti) využití návrhových vzorů (Listener, Strategy, ) ASWI 2006/ Návrh implementace 33
34 Vztah PU metody Scénář jednoho PU Realizace případu užití popisuje konkrétní interakci instancí mechanismy generuje metody jejich tříd Soubor scénářů vytváří celkový souhrn chování třídy při vhodném výběru její úlohu rozhraní Výsledek: tvorba/doplňování objektového modelu algoritmy, třídy, metody, parametry ASWI 2006/ Návrh implementace 34
35 Stavové modely objektů Přechody mezi stavy na základě volání metod podmíněné částmi interního stavu Objekty řízené podněty nezávislost na stavu: volání metod v libovolném pořadí časté pro datové objekty Objekty řízené stavem stav určuje možná volání: pořadí metod tvoří protokol přechody mezi stavy chráněné podmínkami časté pro řídící objekty ASWI 2006/ Návrh implementace 35
36 Souvislost analýzy struktury a dynamických aspektů Iterativnost = základní vlastnost objektové analýzy a návrhu Objekty pro případy užití jednotnost pojmů jména tříd v popisu instance ve scénářích Případy užití pro objekty nalezení tříd odvození metod definice mechanismů ASWI 2006/ Návrh implementace 36
37 Nutnost konsolidovat model Z analýzy scénářů pohled na jednu roli třídy některé metody třídy ze souboru scénářů všechny metody třídy potřebné pro realizaci jednotlivých případů použití Výsledek: nekonzistence rozhraní názvy metod, syntaxe volání duplikáty, podobnosti, rozpory v sémantice příčiny: různé scénáře, různí autoři ASWI 2006/ Návrh implementace 37
38 Úpravy vnitřku tříd Konsolidace syntaxe a sémantiky tříd komplementarita metod (Create Destroy) znalost domény a implementace další atributy a metody snaha o minimalitu, reuse viditelnost vlastností (public, private) Následné zpětné úpravy scénářů ASWI 2006/ Návrh implementace 38
39 Úpravy celkového chování třídy Role třídy (zodpovědnosti, mechanismy) sady metod, rozhraní diagram tříd, komponent, kompozitů Postup implementačního mechanismu pořadí volání metod, protokol entity s životní cyklem, řídící objekty, akční členy, obvykle stavové modely Dohromady kontrakt třídy důležitá součást specifikace návrhu ASWI 2006/ Návrh implementace 39
40 Úpravy vztahů a modelu Úpravy objektového modelu vyhledání opakujících se prvků rodičovské třídy vyjasnění vztahů (asociace agregace, c-s, ) nové řídící objekty, nové vztahy mezi třídami ASWI 2006/ Návrh implementace 40
41 Vzory řešení standardních problémů
42 Návrhové vzory pro řešení standardních problémů Cíl: rozvinout esenciální model tříd z analýzy systematický přístup k řešení Základní prostředky návrhářská / programátorská zkušenost návrhové vzory GoF patterns, J2EE patterns, jazykové idiomy, jmenné konvence ASWI 2006/ Návrh implementace 42
43 Multiobjekty, kompozity Cíl: implementovat násobné vazby pracovat se složenými objekty Kolekce flexibilní implementace 1:N vazby přistupovat přes interface, implementační třída dle výkonnosti Composite objekt s (rekurzivní) heterogenní strukturou práce s kompozitem stejná jako s jeho prvky ASWI 2006/ Návrh implementace 43
44 Tvorba instancí Cíl řízené vytváření instancí (oproti new operátoru) flexibilita Factory vytváří instance jiných tříd obecné rozhraní, konkrétní implementace polymorfní new Factory method getinstance() na třídě zabraňuje vytvářet objekty kýmkoli ASWI 2006/ Návrh implementace 44
45 Komunikace mezi subsystémy Cíl: zapouzdřit implementaci, poskytnout rozhraní Fasáda jedna třída / rozhraní pro subsystém deleguje na implementační objekty Singleton (Jedináček) globální objekt v čistě objektové implementaci sdílená data, nastavení ASWI 2006/ Návrh implementace 45
46 Přenos dat mezi MVC objekty Cíl: odstínit vrstvy od implementačně závislých věcí Hraniční řídící asociativní pole value object, Transfer Object, JavaBean jazykový / jmenný idiom Front Controller, Application Controller separování správy událostí a řízení aplikace Session Facade sloučení business logiky do větších celků pro klienty ASWI 2006/ Návrh implementace 46
47 Přenos dat mezi MVC objekty (2) Řídící datové Business Object reprezentace doménové třídy v implementaci Data Access Object (+ Transfer Object) Factory pro value object odstínění aplikace od databázové vrstvy vzor Observer / Listener reakce na změny dat v jiných částech aplikace ASWI 2006/ Návrh implementace 47
48 Přístup k externím prvkům Cíl: odstínit business logiku od nízkoúrovňových protokolů zamezit propagaci změn v prostředí Metoda: zapouzdřit do rozhraní Adapter přizpůsobení rozhraní prostředí pro aplikaci mapování dat Proxy přístup ke vzdáleným zařízením / objektům lokální cache, pozdní zápis ASWI 2006/ Návrh implementace 48
49 Rekapitulace
50 Návrh: rekapitulace Známe (skoro) všechny detaily implementace rozpracovaná funkčnost vazba na konkrétní technologie vyřešený způsob komunikace na okolní prostředí» zejména způsob uložení persistentních dat struktura aplikace a rozhraní mezi částmi používané konvence a návrhové vzory Co dál naprogramovat co zbývá otestovat, opravit naučte se programovat do rozhraní ASWI 2006/ Návrh implementace 50
Vývoj informačních systémů. Architektura, návrh Vzory: Doménová logika
Vývoj informačních systémů Architektura, návrh Vzory: Doménová logika Zachman Framework Zdroje Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides. Design Patterns: Elements of Reusable Object-Oriented
Analýza a Návrh. Analýza
Analysis & Design Návrh nebo Design? Design = návrh Není vytváření použitelného uživatelského prostředí (pouze malinká podmnožina celého návrhu) Často takto omezeně chápáno studenty nedokáží si představit,
Architektura softwarových systémů
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é
Návrhové vzory. Jakub Klemsa, Jan Legerský. 30. října Objektově orientované programování.
Jakub Klemsa Jan Legerský Objektově orientované programování klemsjak@fjfi.cvut.cz jan.legersky@gmail.com 30. října 2012 návrhový vzor (design pattern) obecné řešení problému, které se využívá při návrhu
Architektury informačních systémů
Architektury informačních systémů doc. Ing. Miroslav Beneš, Ph.D. katedra informatiky FEI VŠB-TUO A-1007 / 597 324 213 http://www.cs.vsb.cz/benes/vyuka/tis Miroslav.Benes@vsb.cz Obsah přednášky Co je to
Architektury informačních systémů
Architektury informačních systémů doc. Ing. Miroslav Beneš, Ph.D. katedra informatiky FEI VŠB-TUO A-1007 / 597 324 213 http://www.cs.vsb.cz/benes/vyuka/tis Miroslav.Benes@vsb.cz Obsah přednášky Co je to
(Enterprise) JavaBeans. Lekce 7
(Enterprise) JavaBeans Lekce 7 JavaBeans vs. Enterprise JavaBeans (EJB) JavaBeans technologie: jedná se o tzv. komponentní architekturu určenou pro JSE platformu určená pro tvorbu JSE GUI programů pomocí
Tvorba informačních systémů
Tvorba informačních systémů Michal Krátký 1, Miroslav Beneš 1 1 Katedra informatiky VŠB Technická univerzita Ostrava Tvorba informačních systémů, 2005/2006 c 2006 Michal Krátký, Miroslav Beneš Tvorba informačních
Vývoj informačních systémů. Architektura, návrh Vzory: Doménová logika
Vývoj informačních systémů Architektura, návrh Vzory: Doménová logika Zachman Framework Zdroje Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides. Design Patterns: Elements of Reusable Object-Oriented
MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 PROGRAMOVÉ VYBAVENÍ POČÍTAČŮ
MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 PROGRAMOVÉ VYBAVENÍ POČÍTAČŮ 1) PROGRAM, ZDROJOVÝ KÓD, PŘEKLAD PROGRAMU 3 2) HISTORIE TVORBY PROGRAMŮ 3 3) SYNTAXE A SÉMANTIKA 3 4) SPECIFIKACE
Komponentový návrh SW
Komponentový návrh SW Komponentový návrh SW Komponenty jsou kompletně specifikované pomocí interface Jejich funkčnost je nezávislá na programovacím jazyku a mohou být integrované do toho samého systému
Tvorba informačních systémů
Tvorba informačních systémů Michal Krátký 1, Miroslav Beneš 1 1 Katedra informatiky VŠB Technická univerzita Ostrava Tvorba informačních systémů, 2006/2007 c 2005-2007 Michal Krátký, Miroslav Beneš Tvorba
Semináˇr Java X J2EE Semináˇr Java X p.1/23
Seminář Java X J2EE Seminář Java X p.1/23 J2EE Složitost obchodních aplikací robusní, distribuované, spolehlivé aplikace s transakcemi na straně serveru, klientské aplikace co nejjednodušší Snaha : Návrh,
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ů Organizace výuky doc. Mgr. Miloš Kudělka, Ph.D. EA 439, +420 597 325 877 homel.vsb.cz/~kud007 milos.kudelka@vsb.cz Přednáška Znalosti Schopnosti Cvičení
Design Patterns. Tomáš Herceg Microsoft MVP (ASP.NET) www.dotnetcollege.cz
Design Patterns Tomáš Herceg Microsoft MVP (ASP.NET) www.dotnetcollege.cz Základní návrhové vzory Kategorie Creational Patterns starají se o vytváření instancí Structural Patterns struktura komponent v
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ů Organizace výuky doc. Mgr. Miloš Kudělka, Ph.D. EA 439, +420 597 325 877 homel.vsb.cz/~kud007 milos.kudelka@vsb.cz Přednáška Teorie Praxe Cvičení Diskuze
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í.
3 Vysoká škola báňská Technická univerzita Ostrava Fakulta strojní, Katedra automatizační techniky a řízení 2008/2009 Radim Farana 1 Obsah Business modelling, základní nástroje a metody business modelování.
Informační systémy 2008/2009. Radim Farana. Obsah. Obsah předmětu. Požadavky kreditového systému. Relační datový model, Architektury databází
1 Vysoká škola báňská Technická univerzita Ostrava Fakulta strojní, Katedra automatizační techniky a řízení 2008/2009 Radim Farana 1 Obsah Požadavky kreditového systému. Relační datový model, relace, atributy,
Bridge. Známý jako. Účel. Použitelnost. Handle/Body
Bridge Bridge Známý jako Handle/Body Účel odděluje abstrakci (rozhraní a jeho sémantiku) od její konkrétní implementace předchází zbytečnému nárůstu počtu tříd při přidávání implementací používá se v době
Obsah. Zpracoval:
Zpracoval: houzvjir@fel.cvut.cz 03. Modelem řízený vývoj. Doménový (business), konceptuální (analytický) a logický (návrhový) model. Vize projektu. (A7B36SIN) Obsah Modelem řízený vývoj... 2 Cíl MDD, proč
Úvod do principů objektově orientovaného programování
OBSAH DISTANČNÍHO E-LEARNINGOVÉHO KURZU PROFESNÍ RŮST ANALYTIKA OD ZÁKLADŮ (BASE) ÚVOD DO TECHNOLOGIÍ INFORMAČNÍCH SYSTÉMŮ Jak funguje počítač na základní úrovni Základy HTML Skripty ve webovských technologiích
Návrhové vzory OMO, LS 2014/2015
Návrhové vzory OMO, LS 2014/2015 Motivace Cílem objektového návrhu je strukturu aplikace navrhnout tak, aby splňovala následující kritéria: snadná rozšiřitelnost účelnost testovatelnost dokumentovatelnost
Obsah přednášky. Představení webu ASP.NET frameworky Relační databáze Objektově-relační mapování Entity framework
Web Jaroslav Nečas Obsah přednášky Představení webu ASP.NET frameworky Relační databáze Objektově-relační mapování Entity framework Co to je web HTTP protokol bezstavový GET POST HEAD Cookies Session HTTPS
TÉMATICKÝ OKRUH Softwarové inženýrství
TÉMATICKÝ OKRUH Softwarové inženýrství Číslo otázky : 24. Otázka : Implementační fáze. Postupy při specifikaci organizace softwarových komponent pomocí UML. Mapování modelů na struktury programovacího
ČÁST 1. Zahřívací kolo. Co je a k čemu je návrhový vzor 33
Stručný obsah Část 1: Zahřívací kolo Kapitola 1 Co je a k čemu je návrhový vzor 33 Kapitola 2 Zásady objektově orientovaného programování 39 Kapitola 3 Co konstruktor neumí (Jednoduchá tovární metoda Simple
Technologie Java Enterprise Edition. Přemek Brada, KIV ZČU 8.6.2011
Technologie Java Enterprise Edition Přemek Brada, KIV ZČU 8.6.2011 Přehled tématu Motivace a úvod Infrastruktura pro velké Java aplikace (Java základní přehled) Části třívrstvé struktury servlety, JSP
Architektury Informačních systémů. Jaroslav Žáček jaroslav.zacek@osu.cz http://www1.osu.cz/~zacek/
Architektury Informačních systémů Jaroslav Žáček jaroslav.zacek@osu.cz http://www1.osu.cz/~zacek/ Nutné pojmy Co je to informační systém? Jaké oblasti zahrnuje? Jaká je vazba IS na podnikovou strategii?
Softwarové komponenty a Internet
Softwarové komponenty a Internet Doc. Dr. Ing. Miroslav Beneš Katedra informatiky FEI VŠB-TU Ostrava Miroslav.Benes@vsb.cz Obsah přednášky Motivace Vývoj přístupů k tvorbě programů Definice komponenty
IS pro podporu BOZP na FIT ČVUT
IS pro podporu BOZP na FIT ČVUT Závěrečná zpráva pro 2. iteraci 21. dubna 2011 Zadavatel: Ing. Jiří Chludil Řešitelský tým: Jiří Kopecký Jan Kratochvíl Milan Matějček Štefan Pinďák Kristýna Streitová Úvod
Architektura softwarových systémů
Architektura softwarových systémů Definice, Strukturní a Procesní doporučení Ing. Tomáš Černý, MSCS Pojem softwarové architektury (SA) Obvyklé způsoby vysvětlování pojmu SA komponenty a vazby celková struktura
Objekty, třídy, vazby 2006 UOMO 30
Objekty, třídy, vazby 2006 UOMO 30 Osnova Vymezení pojmu objekt Objekt a základní objektové koncepty Třídy, třída vs. objekt Vztahy mezi objekty, vazby mezi třídami Polymorfismus 2006 UOMO 31 Vymezení
MVC (Model-View-Controller)
MVC vs PAC MVC (Model-View-Controller) Architektonický vzor zabývající se uživatelským rozhraním Odděluje doménovou (bussiness) logiku a uživatelské rozhraní do tří nezávislých komponent: Model View Controller
Architektury Informačních systémů. Jaroslav Žáček
Architektury Informačních systémů Jaroslav Žáček jaroslav.zacek@osu.cz http://www1.osu.cz/~zacek/ Nutné pojmy Co je to informační systém? Jaké oblasti zahrnuje? Jaká je vazba IS na podnikovou strategii?
Informační systémy 2008/2009. Radim Farana. Obsah. UML - charakteristika
2 Vysoká škola báňská Technická univerzita Ostrava Fakulta strojní, Katedra automatizační techniky a řízení 2008/2009 Radim Farana 1 Obsah Jazyk UML, základní modely, diagramy aktivit, diagramy entit.
Common Object Request Broker Architecture
Common Object Request Broker Architecture Tvorba aplikací, jejichž komponenty budou komunikovat přes počítačovou síť Programátor jedné aplikace volá metody vzdálených objektů podobně jako u sebe lokální
Principy UML. Clear View Training 2005 v2.2 1
Principy UML Clear View Training 2005 v2.2 1 1.2 Co je touml? Unified Modelling Language (UML) je univerzálníjazyk pro vizuální modelování systémů Podporuje všechny životní cykly Mohou jej implementovat
Úvod do Web Services
Úvod do Web Services Základy webových služeb a jejich implementace na platformě OS/2 Jarda Kačer jarda@kacer.biz Český Warpstock 2008 Brno, 20.-21.9.2008 Co je to webová služba? Část business logiky přístupná
Tvorba informačních systémů
Tvorba informačních systémů Michal Krátký 1, Miroslav Beneš 1 1 Katedra informatiky VŠB Technická univerzita Ostrava Tvorba informačních systémů, 2005/2006 c 2006 Michal Krátký, Miroslav Beneš Tvorba informačních
Smysl metodiky IS/IT. Koncentrovaná zkušenost Checklist na nic nezapomeneme
Smysl metodiky IS/IT Koncentrovaná zkušenost Checklist na nic nezapomeneme Přínosy metodik Větší produktivita a kooperace týmů Komunikační standard Specializace projektových týmů Nezávislost na konkrétních
TÉMATICKÝ OKRUH Softwarové inženýrství
TÉMATICKÝ OKRUH Softwarové inženýrství Číslo otázky : 25. Otázka : Komponentní technologie - základní pojmy a principy, metody specifikace komponent. Obsah : 1. Základní pojmy 1.1 Komponenta Komponenta
Spring framework 2.0. Roman Pichlík http://sweb.cz/pichlik/ CZJUG http://java.cz/jug
Spring framework 2.0 Spring framework 2.0 Roman Pichlík http://sweb.cz/pichlik/ Nejdůležitejší slide http://springframework.org/ http://www.springframework.org/documen Historie 2002 - Rod Johnson kniha
7 Jazyk UML (Unified Modeling Language)
7 Jazyk UML (Unified Modeling Language) 7.1 Základní charakteristika jazyka Motivace - vznik řady OO metod a metodologií (konec 80. let a první polovina 90.let) podobné notace vyjadřující totéž, komplikující
7.5 Diagram tříd pokročilé techniky
7.5 Diagram tříd pokročilé techniky Stereotypy - jeden ze základních prostředků rozšiřitelnosti UML - pro modelovací konstrukce neexistující v UML, ale podobné předdefinované v UML definované uživatelem
Design systému. Komponentová versus procesní architektura
Design systému Komponentová versus procesní architektura Architektura : třídy statické aspekty propojení logický pohled struktura popisu systému Architektura procesů: objekty dynamické aspekty koordinace
Databázové a informační systémy
Databázové a informační systémy doc. Ing. Miroslav Beneš, Ph.D. katedra informatiky FEI VŠB-TUO A-1007 / 597 324 213 http://www.cs.vsb.cz/benes Miroslav.Benes@vsb.cz Obsah Jak ukládat a efektivně zpracovávat
7 Jazyk UML (Unified Modeling Language)
7 Jazyk UML (Unified Modeling Language) 7.1 Základní charakteristika jazyka Motivace - vznik řady OO metod a metodologií (konec 80. let a první polovina 90.let) podobné notace vyjadřující totéž, komplikující
SOAP & REST služby. Rozdíly, architektury, použití
SOAP & REST služby Rozdíly, architektury, použití Obsah Srovnání SOAP a REST služeb Service Oriented Architecture Microservice Architecture Příklady použití Nástroje pro vývoj SOAP a REST služeb (v Java)
Databázové systémy trocha teorie
Databázové systémy trocha teorie Základní pojmy Historie vývoje zpracování dat: 50. Léta vše v programu nevýhody poměrně jasné Aplikace1 alg.1 Aplikace2 alg.2 typy1 data1 typy2 data2 vytvoření systémů
Úvod do problematiky vývoje Vývoj informačních systémů
Úvod do problematiky vývoje informačních systémů Vývoj informačních systémů Management Klasický management - slouží k udržování a rozvíjení zavedených systémů, které jsou prostředkem pro nepřetržitou,
EXTRAKT z mezinárodní normy
EXTRAKT z mezinárodní normy Extrakt nenahrazuje samotnou technickou normu, je pouze informativním ICS 03.220.01; 35.240.60 materiálem o normě. Inteligentní dopravní systémy Požadavky na ITS centrální datové
6 Objektově-orientovaný vývoj programového vybavení
6 Objektově-orientovaný vývoj programového vybavení 6.1 Co značí objektově-orientovaný - organizace SW jako kolekce diskrétních objektů, které zahrnují jak data tak chování objekt: OMG: Objekt je věc (thing).
Tvorba informačních systémů
Tvorba informačních systémů Michal Krátký, Miroslav Beneš Katedra informatiky VŠB Technická univerzita Ostrava Tvorba informačních systémů, 2007/2008 c 2005-2008 Michal Krátký, Miroslav Beneš Tvorba informačních
3. Je defenzivní programování technikou skrývání implementace? Vyberte jednu z nabízených možností: Pravda Nepravda
1. Lze vždy z tzv. instanční třídy vytvořit objekt? 2. Co je nejčastější příčinou vzniku chyb? A. Specifikace B. Testování C. Návrh D. Analýza E. Kódování 3. Je defenzivní programování technikou skrývání
Michal Krátký, Miroslav Beneš
Tvorba informačních systémů 1/32 Tvorba informačních systémů Michal Krátký, Miroslav Beneš Katedra informatiky VŠB Technická univerzita Ostrava Tvorba informačních systémů, 2008/2009 Tvorba informačních
Unifikovaný modelovací jazyk UML
Unifikovaný modelovací jazyk UML Karel Richta katedra počíta tačů FEL ČVUT Praha richta@fel fel.cvut.czcz Motto: Komunikačním m prostředkem informační komunity se postupem času stala angličtina. Chcete-li
ADMINISTRACE POČÍTAČOVÝCH SÍTÍ. OPC Server
ADMINISTRACE POČÍTAČOVÝCH SÍTÍ OPC Server Funkce a využití v průmyslové automatizaci Jiří NOSEK 2011 Co je OPC Server? OPC = Open Process Control (původně OLE for Process Control) sada specifikací průmyslového
Aplikace je program určený pro uživatele. Aplikaci je možné rozdělit na části:
Aplikace Aplikace je program určený pro uživatele. Aplikaci je možné rozdělit na části: prezentační vrstva vstup dat, zobrazení výsledků, uživatelské rozhraní, logika uživatelského rozhraní aplikační vrstva
Zpracoval: houzvjir@fel.cvut.cz
Zpracoval: houzvjir@fel.cvut.cz 15. Návrhové vzory. Komponentový návrh, volná vazba versus těsná vazba. Oddělení politiky od mechanismu. Doménově specifické jazyky (DSL). (A7B36OMO) Obsah Návrhové vzory...
1. Webové služby. K čemu slouží? 2. RPC Web Service. 3. SOA Web Service. 4. RESTful Web services
13. Webové služby. K čemu slouží? Popis a vyhledávání služeb. Co je a k čemu slouží orchestrace a choreografie služeb. Technologie pro implementaci služeb 1. Webové služby. K čemu slouží? Definice WS -
PA165: Úvod do Java EE. Petr Adámek
PA165: Úvod do Java EE Petr Adámek Obsah přednášky Organizace předmětu Formy výuky Hodnocení Osnova Java EE aplikace Architektury Java EE aplikací Technologie Java EE Základní koncepty PA165: Úvod do Java
3 druhy UML diagramů
UML grafický jazyk se pro vizualizaci, specifikaci, navrhování a dokumentaci programových systémů zjednodušuje komunikaci mezi zadavatelem a řešitelem projektu UML podporuje objektově orientovaný přístup
Databáze II. 1. přednáška. Helena Palovská palovska@vse.cz
Databáze II 1. přednáška Helena Palovská palovska@vse.cz Program přednášky Úvod Třívrstvá architektura a O-R mapování Zabezpečení dat Role a přístupová práva Úvod Co je databáze Mnoho dat Organizovaných
UML a jeho použití v procesu vývoje. Jaroslav Žáček jaroslav.zacek@osu.cz
UML a jeho použití v procesu vývoje Jaroslav Žáček jaroslav.zacek@osu.cz Různé pohledy na modelování Různé pohledy na modelování Unified Modeling Language UML není metodikou ani programovacím jazykem,
Základy objektové orientace I. Únor 2010
Seminář Java Základy objektové orientace I Radek Kočí Fakulta informačních technologií VUT Únor 2010 Radek Kočí Seminář Java Základy OO (1) 1/ 20 Téma přednášky Charakteristika objektově orientovaných
PHP framework Nette. Kapitola 1. 1.1 Úvod. 1.2 Architektura Nette
Kapitola 1 PHP framework Nette 1.1 Úvod Zkratka PHP (z anglického PHP: Hypertext Preprocessor) označuje populární skriptovací jazyk primárně navržený pro vývoj webových aplikací. Jeho oblíbenost vyplývá
Vyřešené teoretické otázky do OOP ( )
Vyřešené teoretické otázky do OOP (16. 1. 2013) 1) Vyjmenujte v historickém pořadí hlavní programovací paradigmata a stručně charakterizujte každé paradigma. a) Naivní chaotičnost, špatná syntaxe a sémantika
7.5 Diagram tříd pokročilé techniky
7.5 Diagram tříd pokročilé techniky Stereotypy - jeden ze základních prostředků rozšiřitelnosti UML - pro modelovací konstrukce neexistující v UML, ale podobné předdefinované v UML definované uživatelem
KIV/PIA 2013 Jan Tichava
KIV/PIA 2013 Jan Tichava Java EE JSF, PrimeFaces Spring JPA, EclipseLink Java Platform, Enterprise Edition Persistence Zobrazovací vrstva Interakce aplikací Deployment Java Persistence API Enterprise
2. Modelovací jazyk UML 2.1 Struktura UML 2.1.1 Diagram tříd 2.1.1.1 Asociace 2.1.2 OCL. 3. Smalltalk 3.1 Jazyk 3.1.1 Pojmenování
1. Teoretické základy modelování na počítačích 1.1 Lambda-kalkul 1.1.1 Formální zápis, beta-redukce, alfa-konverze 1.1.2 Lambda-výraz jako data 1.1.3 Příklad alfa-konverze 1.1.4 Eta-redukce 1.2 Základy
UML. Unified Modeling Language. Součásti UML
UML Unified Modeling Language 1995 počátek 1997 verze 1.0 leden dnes verze 2.0 (vývoj stále nedokončen) Standardní notace OMG podpora velkých firem (Microsoft, IBM, Oracle, HP ) popisuje struktury popisuje
Principy OOP při tvorbě aplikací v JEE. Michal Čejchan
Principy OOP při tvorbě aplikací v JEE Michal Čejchan Témata přednášky Principy OOP - připomenutí Úvod - co nás vede k používání OOP Reálný svět - jak (ne)používáme OOP Nedostatky na úrovni programovacích
Nástroje a frameworky pro automatizovaný vývoj. Jaroslav Žáček jaroslav.zacek@osu.cz http://www1.osu.cz/~zacek/
Nástroje a frameworky pro automatizovaný vývoj Jaroslav Žáček jaroslav.zacek@osu.cz http://www1.osu.cz/~zacek/ Proces vývoje webové aplikace Předepsaná adresářová struktura. Kompilace zdrojových kódů.
Modelování informačních systémů s využitím jazyka UML. Jaroslav Šmarda
Modelování informačních systémů s využitím jazyka UML Jaroslav Šmarda Využití jazyka UML při vývoji IS na příkladu jednoduché aplikace pro evidenci knih Model IS Modelování případů užití Diagram případů
Objektové programování
Objektové programování - přináší nové možnosti a styl programování - vytváří nový datový typ, který umí vše co standardní datové typy + to co ho naučíme - překladač se k tomuto typu chová stejně jako k
NetBeans platforma. Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti
NetBeans platforma Aplikační programování v Javě (BI-APJ) - 7 Ing. Jiří Daněček Katedra softwarového inženýrství Fakulta informačních technologií ČVUT Praha Evropský sociální fond Praha & EU: Investujeme
Návrhové vzory pro J2EE
Návrhové vzory pro J2EE Miroslav Beneš Obsah přednášky Význam návrhových vzorů Klasické návrhové vzory GoF Návrh prezentační vrstvy Business vrstva Vzory pro práci s daty Příklady dalších vzorů Záporné
Návrh IS - UML. Jaroslav Žáček
Návrh IS - UML Jaroslav Žáček jaroslav.zacek@osu.cz http://www1.osu.cz/~zacek/ UML UML není metodikou ani programovacím jazykem, je to pouze vizuální modelovací nastroj pro objektově orientované systémy.
Návrhové vzory pro J2EE. Miroslav Beneš
Návrhové vzory pro J2EE Miroslav Beneš Obsah přednášky Význam návrhových vzorů Klasické návrhové vzory GoF Návrh prezentační vrstvy Business vrstva Vzory pro práci s daty Příklady dalších vzorů Záporné
Ruční návrh Připravíme si odpovědi na základní otázky Co chceme řešit (projektovat) a proč Komu to bude sloužit Jaký užitek z toho bude mít uživatel I
Návrh řešení IS Vývoj informačních systémů Ruční návrh Připravíme si odpovědi na základní otázky Co chceme řešit (projektovat) a proč Komu to bude sloužit Jaký užitek z toho bude mít uživatel IS a jaký
10 Balíčky, grafické znázornění tříd, základy zapozdření
10 Balíčky, grafické znázornění tříd, základy zapozdření Studijní cíl Tento studijní blok má za cíl pokračovat v základních prvcích jazyka Java. Konkrétně bude věnována pozornost příkazům balíčkům, grafickému
Návrh IS - UML. Jaroslav Žáček
Návrh IS - UML Jaroslav Žáček jaroslav.zacek@osu.cz http://www1.osu.cz/~zacek/ Trochu historie neuškodí Do roku 1994 chaos ve světě objektově orientovaných metod (několik jazyků pro vizuální modelování,
Návrh programu v Black Box Component Builderu s využitím architektury Model View Controller
Návrh programu v Black Box Component Builderu s využitím architektury Model View Controller Gustav Hrudka Katedra měřicí a řídicí techniky, VŠB Technická univerzita v Ostravě, tř. 17. listopadu, 708 33
DATABÁZOVÉ SYSTÉMY. Metodický list č. 1
Metodický list č. 1 Cíl: Cílem předmětu je získat přehled o možnostech a principech databázového zpracování, získat v tomto směru znalosti potřebné pro informačního manažera. Databázové systémy, databázové
VZOROVÝ STIPENDIJNÍ TEST Z INFORMAČNÍCH TECHNOLOGIÍ
VZOROVÝ STIPENDIJNÍ TEST Z INFORMAČNÍCH TECHNOLOGIÍ 1. Dědičnost v OOP umožňuje: a) dědit vlastnosti od jiných tříd a dále je rozšiřovat b) dědit vlastnosti od jiných tříd, rozšiřovat lze jen atributy
Tvorba informačních systémů
Tvorba informačních systémů Michal Krátký 1 1 Katedra informatiky VŠB Technická univerzita Ostrava Tvorba informačních systémů, 2005/2006 c 2006 Michal Krátký Tvorba informačních systémů 1/35 Konceptuální
Vývoj informačních systémů. Obecně o IS
Vývoj informačních systémů Obecně o IS Informační systém Informační systém je propojení informačních technologií a lidských aktivit směřující k zajištění podpory procesů v organizaci. V širším slova smyslu
Business Intelligence
Business Intelligence Josef Mlnařík ISSS Hradec Králové 7.4.2008 Obsah Co je Oracle Business Intelligence? Definice, Od dat k informacím, Nástroj pro operativní řízení, Integrace informací, Jednotná platforma
Požadavky pro výběrová řízení TerraBus ESB/G2x
Dokument: Převod dat TerraBus ESB/G2x Požadavky pro výběrová řízení TerraBus ESB/G2x Obsah 1. Účel dokumentu... 2 2. Použité termíny a zkratky... 2 3. Požadavky... 3 Účel dokumentu Účelem tohoto dokumentu
Objektově orientované databáze. Miroslav Beneš
Objektově orientované databáze Miroslav Beneš Obsah přednášky Motivace Vlastnosti databázových systémů Logické datové modely Nevýhody modelů založených na záznamech Co potřebujeme modelovat? Identifikace
Maturitní otázky z předmětu PROGRAMOVÁNÍ
Wichterlovo gymnázium, Ostrava-Poruba, příspěvková organizace Maturitní otázky z předmětu PROGRAMOVÁNÍ 1. Algoritmus a jeho vlastnosti algoritmus a jeho vlastnosti, formy zápisu algoritmu ověřování správnosti
Okruhy z odborných předmětů
VYŠŠÍ ODBORNÁ ŠKOLA INFORMAČNÍCH STUDIÍ A STŘEDNÍ ŠKOLA ELEKTROTECHNIKY, MULTIMÉDIÍ A INFORMATIKY Novovysočanská 280/48, 190 00 Praha 9 Pracoviště VOŠ: Pacovská 350/4, 140 00 Praha 4 Okruhy z odborných
MULTIMEDIÁLNÍ A HYPERMEDIÁLNÍ SYSTÉMY
MULTIMEDIÁLNÍ A HYPERMEDIÁLNÍ SYSTÉMY 1) Úvod do problematiky Petr Lobaz, 18. 2. 2004 ORGANIZACE PŘ EDMĚ TU POŽADAVKY KE ZKOUŠCE vypracování semestrální práce (max. 70 bodů) napsání testu (max. 30 bodů)
Architektura orientovaná na služby Návrh orientovaný na služby. Ing. Petr Weiss. VUT v Brně,, FIT, UIFS
Architektura orientovaná na služby Návrh orientovaný na služby Webové služby Ing. Petr Weiss VUT v Brně,, FIT, UIFS 3. 12. 2007 Obsah Architektura orientovaná na služby Základní pojmy Koncepce architektury
VÝVOJ INTERNETOVÝCH APLIKACÍ - VIA
Metodický list č. 1 Způsob zakončení : Úvod Technologie webových aplikací Protokol HTTP Po zvládnutí tématického celku bude student mít základní přehled o problematice programování internetových (webových)
Ondřej Bothe, Richard Dobiš
Portfolio PM - "What-if" analýza v plánovací aplikaci Ondřej Bothe, Richard Dobiš 2.2.2011 PM systém : Je to systém, zajišťující komplexní proces práce s daty pro koncového uživatele 1. Plánuj Plán nákladů
Semin aˇr Java N avrhov e vzory Radek Ko ˇc ı Fakulta informaˇcn ıch technologi ı VUT Duben 2009 Radek Koˇc ı Semin aˇr Java N avrhov e vzory 1/ 25
Seminář Java Návrhové vzory Radek Kočí Fakulta informačních technologií VUT Duben 2009 Radek Kočí Seminář Java Návrhové vzory 1/ 25 Znovupoužitelnost Dědičnost implementace třídy pomocí jiné (již existující)
Národní architektonický plán a ostatní metody řízení veřejné správy ČR
Národní architektonický plán a ostatní metody řízení veřejné správy ČR Ing. Pavel Hrabě, Ph.D. externí konzultant a metodik Odbor hlavního architekta egov Ministerstvo vnitra ČR Stručně Motto: Pokud nevíte,
11 Návrh programového vybavení
11 Návrh programového vybavení - technické jádro procesu vývoje programového systému, existuje u všech modelů životního cyklu - Jackson: Začínající moudrost programátora (softwarového inženýra) spočívá
Úvod. Petr Aubrecht (CA) Martin Ptáček (Wincor Nixdorf) Je 10 typů lidí: ti, kteří znají binární kód, a ti, kteří ne.
Úvod Petr Aubrecht (CA) Martin Ptáček (Wincor Nixdorf) Je 10 typů lidí: ti, kteří znají binární kód, a ti, kteří ne. Organizace předmětu Materiály k předmětu -Web stránky: http://cw.felk.cvut.cz/doku.php/courses/x33eja/start