Návrh softwarových systém. Návrh softwarových systémů

Podobné dokumenty
Návrh softwarových systémů - úvod, motivace

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

Vývoj informačních systémů. Jak vyvíjet v týmu

SOFTWAROVÉ INŽENÝRSTVÍ Řízení IT projektů

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

Zuzana Šochová MFF Modelování a realizace softwarových projektů

Agile Software Development

SOFTWAROVÉ INŽENÝRSTVÍ Řízení IT projektů

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

KIV/ASWI 2007/2008 Pokročilé softwarové inženýrství. Cíle předmětu Organizační informace Opakování

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

POČÍTAČE A PROGRAMOVÁNÍ

Softwarový proces. Bohumír Zoubek, Tomáš Krátký

Softwarové inženýrství 01. doc. Ing. František Huňka, CSc.

TREND POPIS ODPOVĚDNOSTI PRACOVNÍKA MANAŽER VÝVOJE

Y13ANW ÚVOD DO WEBOVÝCH METODIK. Ing. Martin Molhanec, CSc.

2 Životní cyklus programového díla

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

Novinky v UML 2.5 a agilní modelování

2. Začlenění HCI do životního cyklu software

Unifikovaný proces vývoje

CASE. Jaroslav Žáček

Softwarový proces Martin Hlavatý 4. říjen 2018

XINF1. Jaroslav Žáček

Připravil: Ing. Jiří Lýsek, Ph.D. Verze: AVTK. Úvod. strana 1

METODIKY VÝVOJE SOFTWARE STUDIJNÍ OPORA PRO KOMBINOVANÉ

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

Objektová tvorba SW, Analýza požadavků 2006 UOMO 53

Řízení reálných projektů, agilní metodiky

CASE nástroje. Jaroslav Žáček

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

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

Přehled rolí v jednotlivých metodikách

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

Fakulta elektrotechnická

Agile. nejžádanější způsob vývoje software. Tomáš Tureček. Business consultant, Lean&Agile coach Tieto

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

6INF2. RNDr. Jaroslav Žáček, Ph.D.

Metodiky pro efektivní vývoj software (agilní programování)

Vývoj IS. Vladimíra Zádová, KIN, EF TUL- ISN3

Metodika SCRUM. pro malé IT projekty

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

Improving Effectiveness of ICT Integration Process in University Education

Agilní metodiky a techniky. analýza a vývoj IS

Semestrální práce z předmětu 4IT421 Téma: CMMI-DEV v.1.3 PA Project Monitoring and Control

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

RUP - Motivace, principy. Jaroslav Žáček

RUP - MOTIVACE, PRINCIPY JAROSLAV ŽÁČEK

Životní cyklus produktu (IS / IT služby) Životní cyklus projektu Životní cyklus řízení projektu. Vývoje produktu Implementace produktu

Smysl metodiky IS/IT. Koncentrovaná zkušenost Checklist na nic nezapomeneme

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ů

Česká letecká servisní a. s.

PROJEKTOVÁNÍ A KOMUNIKACE

4IT445 - AGILNÍ VÝVOJ WEBOVÝCH APLIKACÍ AGILNÍ METODIKY VÝVOJE SW ING. JAN ČERNÝ

Normy kvality softwaru a jejich podpora v metodikách budování informačních systémů

SOFT-ENG ACADEMY 2017/2018

Metodiky vývoje software, MDA

VYSOKÁ ŠKOLA POLYTECHNICKÁ JIHLAVA Katedra elektrotechniky a informatiky Obor Aplikovaná informatika. Moderní metody řízení softwarových projektů

MODULU BUSINESS MODELOVÁNÍ

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

Přednáška. Sběr požadavků na SW s použitím metody C.C a nástroje Craft.CASE. e-fractal, s.r.o.

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

Co se chcete dozvědět?

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

Agilní metodiky vývoje softwaru

Efektívne projektové riadenie v zohratom tíme

Úloha 1. Úloha 2. Úloha 3. Text úlohy. Text úlohy. Text úlohy

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

Rozvoj a údržba systémů

Ě Ž

SOFTWAROVÉ INŽENÝRSTVÍ 1

Agenda. Docházka Odhadování Neohlášený test Vedení projektů Historie projektů

1. VYMEZENÍ ODBORNÉ STÁŽE

Agilní přístupy k vývoji SW. Jaroslav Žáček

01. Životní cyklus programového díla, analýza, návrh, implementace, provoz a metodiky vývoje SW. (A7B36SIN)

Softwarový proces Bohumír Zoubek 1. říjen 2018

Testování a verifikace softwaru

Mobile application developent

MULTIMEDIÁLNÍ A HYPERMEDIÁLNÍ SYSTÉMY

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

Vzdělávací portál a e-learning, online testy, online dotazníky v terciárním vzdělávání. NET University s.r.o.

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

7.6 Další diagramy UML

IB013 Logické programování I Hana Rudová. jaro 2011

Analýza a Návrh. Analýza

Custom Code Management. Přechod na S/4HANA

Srovnávací analýza metodik vývoje software

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

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

Dokumentace software

7.6 Další diagramy UML

EXIN Agile Scrum Foundation Příručka ke zkoušce. Vydání

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

Úvod do softwarového inženýrství IUS 2009/2010 p.1/40

BI-TIS Případová studie

AGILNÍ METODIKY VÝVOJE SOFTWARE

A5M33IZS Informační a znalostní systémy. O čem předmět bude? Úvod do problematiky databázových systémů

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

Příloha1) Atributy modulu

Transkript:

Návrh softwarových systém ů - úvod, motivace Jiří Šebek Návrh softwarových systémů (B6B36NSS)

Obsah Motivace Integrace s ostatními obory SI Modely, metodiky SI Verzování SW 2

Úvod Motivace SI Velké projekty Údržba, škálovatelnost, modifikovatelnost Lidé přicházejí a odcházejí, ale firma zůstává Udržování know-how Předcházení chybám Komunikace v týmu je základ úspěchu A další 3

Cíl p ř edm ě tu Podobné jako u jiných SI předmětů Spolupracovat v týmu Prezentovat výsledky práce Komunikovat Samostatně studovat Analyzovat projekt a následně řešit problémy... 4

Cíl p ř edm ě tu Specifické Seznámení s SI architekturami a jejich návrhem Různé druhy implementací Umět rozeznat správnou analýzu a návrh architektur.. 5

Organizace Stránky : https://cw.fel.cvut.cz/wiki/courses/b6b36nss/start Požadavky pro absolvování: Předmět je ukončen zápočtem a zkouškou (viz stránky předmětu) 6

Organizace Zápočet: Odevzdat semestrální úlohu Progress Presentation(~ 7.týdnu ) 5b Final Presentation(~ 14.týdnu ) 5b Odevzdání na gitlab 20b (min 10b) Zůčastnit se 2 testů: midterm testu v 6. týdnu 5b závěrečného zápočtového testu 13. týdnu 5b Účast na cvičeních je povinná. Tolerovány budou nejvýše 3 neomluvené absence. 7

Organizace Zkouška: Zkouška se bude skládat ze 2 částí: návrhová 30b (min 15b) analytická 30b (min 15b) K účasti na zkoušce je nutné mít zápočet. Zkouška studentů kombinovaného studia bude probíhat za stejných podmínek, jako zkouška studentů prezenčního studia. 8

Softwarové inženýrství Softwarové inženýrství je systematický, disciplinovaný a kvalifikovaný přístup k vývoji, tvorbě a údržbě softwaru. definice IEEE, 1993 Důležitý proces pro střední a velké projekty (malé projekty se dají odevzdat bez nějakého procesního plánování, ale mají pak problémy s udržovatelností, škálovatelností apod.) 9

Softwarové inženýrství Využívá modely, metodiky... Model popisuje fáze životního cyklu softwaru a vztahy mezi nimi Metodika určuje postupy každé fáze (co se má dělat) určuje také vstupy a výstupy Dělení : Tradiční agilní 10

Softwarové inženýrství Využívá modely, metodiky... Model popisuje fáze životního cyklu softwaru a vztahy mezi nimi Metodika určuje postupy každé fáze (co se má dělat) určuje také vstupy a výstupy Dělení: Tradiční: čas + cena = funkcionalita UP Agilní: funkcionalita => cena + čas XP 11

Modely Vodopád (sekvenční) Spirála (iterativní) Prototype (iterativní) Inkrementální (agilní) Paralelní (agilní) 12

13 Model vodopád

Model vodopád vlastnosti Jeden z nejznámějších modelů je vodopád (existují různé adaptace) Jedná se o posloupnost fází, které na sebe navazují V základu tohoto modelu se postupuje vždy o jeden krok dopředu nebo dozadu Nevýhody: Velký časový úsek mezi zadáním a prvním releasem definice všech požadavků už zezačátku vývoje Při změně zadání je potřeba schválit výstupy všech fází 14

15 Model spirála

Model spirála vlastnosti cyklické opakování jednotlivých kroků vývoje iterativní typ modelu Je odpovědí na nevýhody vodopádu Duležitá vlastnost modelu je analýzu rizik v každém cyklu 16

17 Model prototype

Model prototype popis Prvotní sběr a analýza požadavků. Rychlý návrh. Tvorba prototypu. Vyhodnocení prototypu zákazníkem. Pokud je zákazník spokojen, posun Zpracování připomínek zákazníka a posun Specifikace systému na základě prototypu. Návrh a implementace systému. 18

Model prototype U UI softwaru dělíme prototypy na : Low fidelity High fidelity 19

Model prototype U UI softwaru dělíme prototypy na : Low fidelity 20

Model prototype U UI softwaru dělíme prototypy na : High fidelity 21

Metodiky Tradiční Funkcionalita čas + peníze Agilní čas + peníze Funkcionalita Příklady : Unified Proces (UP), Rational Unified Proces (RUP) placená verze podobná UP, Extrémní programování (XP), SCRUM, test driven development (TDD), Model driven development (MDD) 22

23 UP

UP 4 fáze: zahájení projektování realizace předání Každá fáze obsahuje: sběr/revize požadavků analýza návrh implementace 24 Zdroj:https://en.wikipedia.org/wiki/Unified_Process

XP 4 hodnoty: Komunikace Jednoduchost Zpětná vazba Odvaha 25 Zdroj: https://cs.wikipedia.org/wiki/extr%c3%a9mn%c3%ad_programov%c3%a1n%c3%ad

XP 12 praktik: Business praktiky Plánování hry Zákazník na pracovišti Vydávání malých verzí Metafora Týmové praktiky Párové programování Společné vlastnictví kódu Standardy kódu Udržitelné tempo = 40 hodin týdně Programovací praktiky Neustálá integrace Jednoduchý návrh Refaktorizace kódu a testování 26 Zdroj: https://cs.wikipedia.org/wiki/extr%c3%a9mn%c3%ad_programov%c3%a1n%c3%ad

TDD Definice funkcionality napsat test implementace Cyklus : Napsat test Spustit testy a ujistit se, že všechny neprojdou Napsat vlastní kód Kód automatickými testy prochází Refaktorace 27 Zdroj: https://cs.wikipedia.org/wiki/programov%c3%a1n%c3%ad_%c5%99%c3%adzen%c3%a9_testy

Verzování softwaru Čísla verzí se skládá většinou z 3 čísel : X.Y.Z První číslo je hlavní (X), druhému se říká vedlejší (Y) a třetímu se číslo revize (Z) Pokud se zvýší nějaké číslo tak čísla nižší se resetují (př. : 1.0.1 se zvýší na 1.1.0) Číslo revize se zvyšuje po pár commitech (opravy menších chyb) Pokud už je velké množství revizí, tj. zásahů, při kterých se pouze opravuje kód, přijde doba, kdy je kód potřeba celý přepsat, zpřehlednit a něco málo upravit zde se zvyšuje vedlejší číslo Hlavní číslo se zvyšuje při kompletně přepracované programu, který již ma odlišnou podobu od předchozí verze 28 Zdroj: http://programujte.com/clanek/2005070702-teorie-programovani-verze-softwaru/

D ě kuji za pozornost Jiří Šebek 29