Analýza a Návrh. Analýza



Podobné dokumenty
Ročníkový projekt. Jaroslav Žáček

Design systému. Komponentová versus procesní architektura

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

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

Obsah. Zpracoval:

MVC (Model-View-Controller)

7 Jazyk UML (Unified Modeling Language)

7 Jazyk UML (Unified Modeling Language)

Architektura softwarových systémů

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

Architektury informačních systémů

Architektury informačních systémů

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

Ročníkový projekt. Jaroslav Žáček

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

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

Tvorba informačních systémů

Project management. Příprava projektu Zahájení High level plánování. Vykonávání Detailní plánování Vykonávání Řízení a monitorování

1. Integrační koncept

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

1. Webové služby. K čemu slouží? 2. RPC Web Service. 3. SOA Web Service. 4. RESTful Web services

SOAP & REST služby. Rozdíly, architektury, použití

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

PŘÍLOHA C Požadavky na Dokumentaci

Tvorba informačních systémů

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

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

PHP framework Nette. Kapitola Úvod. 1.2 Architektura Nette

Analýza a design na reálném projektu. Richard Michalský

Architektura GIS KMA/AGI. Karel Jedlička

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

8 Přehled OO metodik (metod, metodologií)

Semestrální práce ke kurzu 4IT421 Zlepšování procesů budování IS

Budování architektury pomocí IAA

CineStar Černý Most Praha

InternetovéTechnologie

TECHNICKÉ POŽADAVKY NA NÁVRH, IMPLEMENTACI, PROVOZ, ÚDRŽBU A ROZVOJ INFORMAČNÍHO SYSTÉMU

Architektura softwarových systémů

Předmluva 11. Poděkování 11 O autorech 12 Úvodem 12 Komu je tato kniha určena 13 Jak byste měli tuto knihu číst 13 Web 14

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

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

Základy analýzy. autor. Jan Novotný února 2007

Informační systémy ve strojírenství

8 Přehled OO metodik (metod, metodologií)

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

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

Životní cyklus vývoje SW. Jaroslav Žáček

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

ZEMĚMĚŘICKÝ ÚŘAD. Výzkum a vývoj programového aparátu pro generalizaci státního mapového díla. Ing. Přemysl JINDRÁK

Digitální technická mapa ČR

Komponentový návrh SW

Principy UML. Clear View Training 2005 v2.2 1

Jaké technologie využívá Portál občana. Jan Vlasák NAKIT Václav Koudele - Microsoft

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

Analýza a design na reálném projektu. Richard Michalský

Mobile application developent

CASE. Jaroslav Žáček

Manažerská informatika - projektové řízení

IS pro podporu BOZP na FIT ČVUT

XINF1. Jaroslav Žáček

SOFTWAROVÉ INŽENÝRSTVÍ 1

Nástroje na vývoj aplikací pro ios Trocha motivace na úvod Co budete potřebovat Co když nemáte k dispozici počítač s macos? Vývojové prostředí Xcode

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

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

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

Common Object Request Broker Architecture

Prototypování, testování prototypů

RUP - Motivace, principy. Jaroslav Žáček

RUP - MOTIVACE, PRINCIPY JAROSLAV ŽÁČEK

Analýza a modelování dat. Helena Palovská

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

Java/QE Akademie - Osnova

Modelování webových služeb v UML

Business Intelligence

Jan Horák. Pilíře řešení

Testování Java EE aplikací Petr Adámek

Pražská energetika, a.s.

Rezortní registry (ereg) a Jednotná technologická platforma rezortu zdravotnictví

CASE nástroje. Jaroslav Žáček

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

Jak správně psát scénáře k případům užití?

Vývoj řízený testy Test Driven Development

Specifikace předmětu plnění Datová tržiště

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

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

Tvorba informačních systémů

Ing. Jiří Fejfar, Ph.D. Geo-informační systémy

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

Obsah. 1) Rozšířené zadání 2) Teorie zásuvných modulů a) Druhy aplikací používajících zásuvné moduly b) Knihovny c) Architektura aplikace d) Výhody

Michal Krátký, Miroslav Beneš

ÚVOD DO SOFTWAROVÉHO INŽENÝRSTVÍ

Pragmatická filozofie Můj zdrojový kód snědla kočka 20 Přijímání odpovědnosti Entropie softwaru 21 Být schopen uhasit požár 22

Unifikovaný modelovací jazyk UML

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

11 Návrh programového vybavení

(Enterprise) JavaBeans. Lekce 7

Obsah. O autorech 9 Earle Castledine 9 Myles Eftos 9 Max Wheeler 9 Odborný korektor 10. Předmluva 11 Komu je kniha určena 12 Co se v knize dočtete 12

Nástroje pro průběžnou integraci a testování

PRVNÍ ELASTICKÝ INFORMAČNÍ SYSTÉM : QI

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

Transkript:

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, co všechno návrh obnáší, navrhovali většinou jednoduché aplikace Znají návrh vzhledu webových stránek - tvorba GUI je podle nich to hlavní, co musíme dělat i při návrhu SW Důsledek: omezení návrhu na tvorbu GUI a databáze, čímž také často začínají aniž by vůbec uvažovali požadavky na systém.

Analýza a Návrh Analýza Návrh zaměřuje na pochopení funkčních požadavků na systém, zjednodušeně opomíjí nefunkční požadavky, implementační omezení a prostředí. výsledkem analýzy je téměř ideální obraz budoucího systému ve formě množiny tříd a subsystémů, ale bez vazby na technologii (neuvažujeme knihovny, kolekce, databáze) výsledky analýzy mapovány na implementační prostředí a na omezení plynoucí z nefunkčních požadavků. další krok k výsledné aplikaci, další zjemnění, propracování analýzy. cílem návrhu je mít optimálně navržený systém pokrývající veškeré požadavky, a to jak funkční, tak nefunkční.

Analýza a návrh řízený Use Case Kde jsou požadavky uživatele?

Analysis & Design Transformace požadavků do návrhu budoucího systému. Vývoj robustní architektury systému. Přizpůsobení návrhu implementačnímu prostředí. Architektura (komunikace, vrstvy, subsystémy) Modely druhy, formálnost (user stories, navigační mapy)

Průstup workflow životním cyklem vývoje Inception architekt se spolupodílí na definici a prioritách UC (kritické, nejrizikovější nejdříve) Elaboration návrh těchto UC (a následná implementace jiná disciplína), odstraňování rizik, prototypy Architekt definice a kontrola dodržování mechanismů (komunikace, ukládání, vrstvení) - Guidelines - Workshopy - Review Spolupráce architektů s analytiky a vývojáři

Architektura aplikace Co je to architektura? Důsledky její neexistence/špatného návrhu?

Architektura - modely

Architektura 4+1 2. Konceptuální chování 3. Balíčky, subsystémy +1 Procesy, thready, systémy 4. Model 1. Use Case model nasazení

Testovatelnost a architektura Úzce provázáno, vliv architektonických částí na testování: - Použitá technologie (srovnejte možnosti: Java vs. Pascal) - SW architektura - logické vrstvy (monolitická, 2, 3 vrstvá) - Způsob komunikace (RMI, TCP, SOAP, ) - UI (příkazová řádka, web based GUI, formulářové GUI) Automatizace testování, dostupnost nástrojů - nunit - Ant - Maven - Rational ClearCase

UI - User Stories, mapy User Story - budoucí aplikace a její stručně popsané použití Navigační mapa - webové rozhraní

UC Realizace 1

UC Realizace 2

Artefakty disciplíny Analytický model (analysis model). Návrhový model (design model). Software architecture document - architektura systému - několika rozdílných pohledů (view) na systém - cílem je zachytit různé aspekty systému statický pohled (vrstvy, komponenty, subsystémy), dynamický pohled (jak spolu tyto komunikují), pohled rozmístění komponent/částí systému na HW komponenty. Rozhraní (interface) specifikace rozhraní pro jednotlivé vrstvy a komponenty systému (sada operací bez detailů jejich implementace). Model nasazení (deployment model). Datový model (data model) je-li nezbytně nutný, vidíte, není důležitý, natož abychom s ním začínali implementaci!

Architekt podle Open-up

Architekt podle RUP

Návrh a komponenty Monolitický Vrstvený Ortogonalita systému (nezávislé, co nejméně provázané části systému s přesně definovanými odpovědnostmi = rozhraními) přispívá k lepší údržbě a rozšiřitelnosti kódu, zásadní vliv na výkon systému. Ortogonalita: požadavek na změnu = potřeba provést ji pouze na jednom místě, např. v jedné komponentě (klasicky časté změny v GUI beze změny aplikační logiky).

Cvičení Dejte týmy dohromady. Vzpomeňte si na váš projekt v ROPR. Berme v úvahu koncept 4+1. V týmu si rozdělte jednotlivé pohledy - každý zpracuje jeden pohled z architektury 4+1 (fyzický, programátorský, procesní ). Výsledek prezentujte v podobě diagramu.