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

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

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

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

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

2 Životní cyklus programového díla

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

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

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

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

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

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

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

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

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

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

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

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

XINF1. Jaroslav Žáček

Hodnocení železničních systémů podle Evropských standardů. Doc. Dr. Ing. Tomáš Brandejský Ing. Martin Leso, PhD Fakulta dopravní ČVUT v Praze

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

Agile Software Development

Unifikovaný proces vývoje

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

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

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

SPEM 2.0 úvod, účel. Matoušková Soňa ZS 2013/2014 4IT421 Zlepšování procesů budování IS

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

SOFTWAROVÉ INŽENÝRSTVÍ 1

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

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

Agilní metodiky vývoje softwaru

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

METODIKY VÝVOJE SOFTWARE STUDIJNÍ OPORA PRO KOMBINOVANÉ

Metodika SCRUM. pro malé IT projekty

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

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

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

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

Novinky v UML 2.5 a agilní modelování

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

Jednotný NIS Prezentace k zahájení projektu pro Radu kraje Vysočina. Projektový manažer - Ing. Ivan Sokolov, Ph.D.

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

CASE. Jaroslav Žáček

Analýza a Návrh. Analýza

CASE nástroje. Jaroslav Žáček

Kvalita SW produktů. Jiří Sochor, Jaroslav Ráček 1

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

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

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

ANALÝZA A PROJEKTOVÁNÍ SYSTÉMŮ Řízení projektů zavádění IS

Korporátní systém řízení ÚSC přístup v Liberci. Ing. Jaroslav Bureš

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

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

Česká letecká servisní a. s.

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

Vedení projektů, Odhadování, historie

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

RUP - Motivace, principy. Jaroslav Žáček

RUP - MOTIVACE, PRINCIPY JAROSLAV ŽÁČEK

Okruhy ke státním závěrečným zkouškám Platnost: od leden 2017

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

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

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

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

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

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

POŘÍZENÍ A IMPLEMENTACE INFORMAČNÍCH SYSTÉMŮ

AGILNÍ METODIKY VÝVOJE SOFTWARE

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

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

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

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

Umí HR držet krok s byznysem (zkušenosti z agilního řízení)

7 Jazyk UML (Unified Modeling Language)

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

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

Agilní metodiky vývoje software

Principy UML. Clear View Training 2005 v2.2 1

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

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

PROBLÉMY A SPECIFIKA VÝVOJE SOFTWARE

Metodiky vývoje software, MDA

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

Fakulta elektrotechnická

7 Jazyk UML (Unified Modeling Language)

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

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

ZHODNOCENÍ PROJEKTU A NÁVRH METODIKY PROJEKTOVÉHO ŘÍZENÍ

Testování a verifikace softwaru

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

Architektura softwarových systémů

Přípravné činnosti projektu. Mgr. Lenka Svrčinová Ing. Jan Ministr, Ph.D.

Prezentace 2. Slide 1. Slide 2. Slide 3. Slide 4. Prezentace pdf. nazev projektu jmena atd.. Obsah

Agilní modelování. ing. Alena Buchalcevová, Ph.D. Katedra informačních technologií VŠE Praha nám. W.Churchilla 4, Praha 3

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

Modely softwarových procesů

Co se chcete dozvědět?

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

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

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

Transkript:

ÚVOD DO SOFTWAROVÉHO INŽENÝRSTVÍ Předmětem softwarového inženýrství jsou metodiky pro řízení vývoje softwaru. Proč potřebujeme tyto metodiky? Čím je vývoje softwaru specifický oproti jiným odvětvím? SOFTWAROVÉ INŽENÝRSTVÍ Softwarové inženýrství je zavedení a používání inženýrských principů tak, abychom dosáhli ekonomické tvorby softwaru. Takto vytvořený software je spolehlivý a pracuje na dostupných výpočetních prostředcích. PODMÍNKY ÚSPĚCHU VE VÝVOJI SW Vhodné sestavení vývojového týmu Volba správných nástrojů Úvaha koupit/vyvíjet Nalézt společnou řeč se zadavatelem Řešení budoucí údržby a rozšiřování CO JE TO METODIKA? Metodika vývoje SW zahrnuje všechny etapy řešení, měla by odpovídat na otázky Proč? Kdo? Kdy? Co? Metodika je tedy souhrn postupů vedoucích k dodání funkčního software.

KLASIFIKACE METODIK Tradiční metodiky Model napiš oprav (Build and Fix) Striktní posloupnost fází (Stagewise) Vodopádový model (Waterfall) Spirálový model Další metodiky: RUP, USDP, Agilní metodiky Extrémní programování Crystal SCRUM Aspect Oriented Programming Test Driven Development

TRADIČNÍ METODIKY MODEL NAPIŠ OPRAV (BUILD AND FIX) Implementace -> Dodání -> Opravy chyb STAGEWISE MODEL Tento model vývoje software byl definován v roce1957 Založen na striktní posloupnosti fází: Definice problému Analýza Specifikace požadavků Návrh Architektura Implementace (+testování) Provoz Tato metoda vývoje software je založena na následujících skutečnostech: Absence zpětné vazby, neprovádí se revize žádné fáze, nerevidují se požadavky ani se nehledají rizika. MODEL VODOPÁD (WATERSTAGE) 1970 Winston Royce Každá etapa má stanovený přesný cíl a dokumenty, které musí v jejím průběhu vzniknout Na konci každé etapy dochází k jejímu vyhodnocení a případně přepracování nebo opravení

Možnost vrátit se zpět do předchozí etapy Pokračuje se teprve tehdy, je-li etapa zcela dokončena a schválena (pak již návrat není možný) Výhody: - Jednoduchý - Ideální pro řízení - Vnáší disciplínu do vývoje Nevýhody: - Dodávka formou velkého třesku - Určitá nepružnost - V době mezi analýzou a nasazením se mohou změnit požadavky Začnu-li padat, nezastavím se dříve, než se rozbiji o kámen zvaný předvedení

SPIRÁLOVÝ MODEL 1985, Barry Boehm Zavádí iterativní přístup a opakovanou (důslednou) analýzu rizik Rizika situace nebo události, které mohou způsobit nesplnění cílů projektu. Vychází se z předpokladu, že na začátku je obtížné nebo až nemožné přesně specifikovat všechny funkce. Stanoví se tedy jen obecný rámec. Vyvine se část aplikace -> konzultace se zákazníkem -> pokračuje se dalším krokem. Vývoj probíhá ve spirále, v postupných iteracích.

Výhody Vytváří prostředí pro vývoj znovupoužitelných komponent Je komplexní a vhodný i pro složité projekty (díky důrazu na plánování) Včasné vyloučení nevhodných řešení Nevýhody Celková komplikovanost Software není uvolněn před dokončením posledního cyklu Změna požadavků je možná pouze po dokončení cyklu Pro nové druhy aplikací (např. internetové) je nepružný Je vhodnější pro rozsáhlé projekty! RUP RATIONAL UNIFIED PROCESS Vývoj probíhá v iteracích; dělí se na 4 fáze: zahájení, projektování, realizace, předání (zákazníkovi nebo do další fáze vývoje). Robustní, propracovaná metodika, vhodná pro větší projekty a rozsáhlejší týmy. Komerční produkt Je založen na UML Klíčové principy: Iterativní vývoj softwaru (vychází ze spirálového modelu, průběžná detekce rizik) Správa a řízení požadavků (požadavky se v čase mění) Použití komponentové architektury Vizuální modelování softwaru (za účelem porozumění systému; UML) Průběžné zajišťování a ověřování kvality (po předání je nalezení problému dražší) Řízení změn (počítáme s tím, že změny nastanou, neřízení změn vede k chaosu)

Výhody RUP: Obecnost a mohutnost Iterativní přístup včasné odhalení rizik Snazší správa změn Provázanost s notací UML, dokumentace Výrobce průběžně pracuje na zlepšování metodiky Existence doplňkových nástrojů Nevýhody RUP: Komerční, tj. placený produkt Rozsáhlost RUP může být na škodu u malých týmů tým stráví spoustu času implementací metodiky Její použití vyžaduje hluboké studium, týká se i projektových manažerů Klasické metodiky vývoje SW jsou tedy založeny na striktní definici postupů.