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



Podobné dokumenty
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

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

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

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

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

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

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

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

10 Metody a metodologie strukturované analýzy

Modely datové. Další úrovní je logická úroveň Databázové modely Relační, Síťový, Hierarchický. Na fyzické úrovni se jedná o množinu souborů.

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

Metody popisu systému, základy UML

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

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

Strukturované metody Jan Smolík

6 Objektově-orientovaný vývoj programového vybavení

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

Komputerizace problémových domén

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

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

Program a životní cyklus programu

Unifikovaný proces vývoje

Analýza a návrh webových aplikací 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é inženýrství 01. doc. Ing. František Huňka, CSc.

CASE nástroje. Jaroslav Žáček

CASE. Jaroslav Žáček

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ů

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

Testování a verifikace softwaru

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

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

IB111 Úvod do programování skrze Python Přednáška 13

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

7 Jazyk UML (Unified Modeling Language)

2 Životní cyklus programového díla

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

Databázové modelování. Analýza Návrh konceptuálního schématu

Databázové systémy úvod

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.

POČÍTAČE A PROGRAMOVÁNÍ

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

7 Jazyk UML (Unified Modeling Language)

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

MANAŽERSKÉ INFORMAČNÍ SYSTÉMY

MANAŽERSKÉ INFORMAČNÍ SYSTÉMY

Masterský studijní obor datové & webové inženýrství

Úvod. Programovací paradigmata

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

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

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

MODELOVÁNÍ DAT V INFORMAČNÍCH SYSTÉMECH. Jindřich Kaluža Ludmila Kalužová

Teorie síťových modelů a síťové plánování

Agile Software Development

Databázové systémy úvod

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

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

UML - Unified Modeling Language

Principy UML. Clear View Training 2005 v2.2 1

Soulad studijního programu. Aplikovaná informatika

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

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

METODIKY VÝVOJE SOFTWARE STUDIJNÍ OPORA PRO KOMBINOVANÉ

XINF1. Jaroslav Žáček

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

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

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

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

Databázové systémy BIK-DBS

TÉMATICKÝ OKRUH Teorie zpracování dat, Databázové a informační systémy a Teorie informačních systémů

KRITIKA NĚKTERÝCH VÝKLADŮ OBJEKTOVĚ ORIENTOVANÉHO PARADIGMATU

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

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

Databázové systémy úvod

Objektově orientované technologie Dynamický náhled Sekvenční diagram (Realizace UC) Daniela Szturcová

Obsah přednášky. Databázové systémy RDBMS. Fáze návrhu RDBMS. Coddových 12 pravidel. Coddových 12 pravidel

Programovací jazyky. imperativní (procedurální) neimperativní (neprocedurální) assembler (jazyk symbolických instrukcí)

Bakalářský studijní obor informatika

Metodiky vývoje software, MDA

V t í á t V á V s ČVU V T v v P r P a r ze

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

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

Úvod do databázových systémů 6. cvičení

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

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

Okruhy z odborných předmětů

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

Nový bakalářský studijní obor Biomedicínská informatika na Fakultě biomedicínského inženýrství v Kladně

Metody tvorby ontologií a sémantický web. Martin Malčík, Rostislav Miarka

VÝUKOVÝ MATERIÁL. Bratislavská 2166, Varnsdorf, IČO: tel Číslo projektu

Programovací jazyky. imperativní (procedurální) neimperativní (neprocedurální) assembler (jazyk symbolických instrukcí)

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

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

IB111 Programování a algoritmizace. Programovací jazyky

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

Harmonogram kombinovaného studia PEF na akademický rok 2018/2019

Harmonogram kombinovaného studia PEF akademický rok 2016/2017

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

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

Vývoj IS - strukturované paradigma II

Transkript:

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

Osnova přednášky Co to je softwarové inženýrství Softwarový proces Metodika a metoda Evoluce softwarových metodik a metod Vyhodnocení Odkazy

Co je to softwarové inženýrství

Co je to softwarové inženýrství Je to technický obor, který se zabývá naukou o vytvářený softwarových produktů Programy Databáze Informační systémy Webové aplikace,... Vznikl přibližně v 70 letech, při vzniku prvních opravdu rozsáhlých programových produktů. Wikipedie Softwarové inženýrství je činnost zahrnující inženýrství, informatiku a management, jejímž cílem je návrh, tvorba a údržba počítačových programů.

Co je to softwarové inženýrství Dnes se rozlišuje Computer Science Počítačová věda teoretické základy informatiky, grafy, algebry, kompilátory, teorie operačních systémů Computer Engineering HW i SW, programování, programovací jazyky, zejména jejich užití a znalosti Software Engineering Věda o tom, jak vytvářet programové produkty a informační systémy. Zejména metody a metodiky. Wikipedie Softwarové inženýrství je činnost zahrnující inženýrství, informatiku a management, jejímž cílem je návrh, tvorba a údržba počítačových programů.

Softwarové inženýrství Jeho základy Filozofie Ontologie, konceptuální modelování Matematika Formální popis systémů Management Zejména projektový management, dále management lidských zdrojů, ekonomický management, Technika Metody, metodiky, diagramy,

Softwarové inženýrství a webové metodiky Softwarové inženýrství Jeho cílem je softwarový produkt Program Informační systém Způsob, jak toho docílíme je popsán pomocí Metodik softwarového inženýrství Jeho cílem je softwarová produkt Webový informační systém, webový portál, webové sídlo Softwarový produkt využívající webové technologie a existující v kontextu webu Způsob, jak tento produkt vytvoříme je popsán pomocí Webových metodik softwarového inženýrství

Softwarový proces

Co je to softwarový proces? Způsob vytváření softwarových produktů Programů Informačních systémů Webových sídel Softwarový proces udává posloupnost jednotlivých kroků, jak vytvořit softwarový produkt Metodika = softwarový proces Dnes zahrnuje celý životní cyklus produktu

Evoluce softwarových procesů Sériový vývoj (vodopád) Nevýhodou je malá pružnost Inkrementální (spirálový) U velkých projektů je náročný na zdroje Iterativní Vývoj se děje po kouskách Paralelní Vývoj se děje současně Bude podrobněji

Vodopád Analýza Návrh Implementace Testování Hlavní nevýhoda. Nedá se vracet.

Hlavní nevýhoda. Každá iterace musí být celá aplikace. Iterace Testování Analýza Implementace Návrh

Inkrementální vývoj Hlavní výhoda. Aplikace se nabaluje postupně novými vlastnostmi. Modul C Modul B Modul A Jádro

Hlavní výhoda. Aplikace se složí z nezávislých částí. Paralelní vývoj Modul A Modul B Modul C

Evoluce softwarových procesů Sériový vývoj (vodopád) Nevýhodou je malá pružnost Inkrementální (spirálový) U velkých projektů je náročný na zdroje Iterativní Vývoj se děje po kouskách Paralelní Vývoj se děje současně Dobrá cesta Agilní metodiky

Softwarový proces a webové metodiky Existují dva přístupy Některé webové metodiky, které se primárně soustřeďují na analýzu a návrh doplňují jejich autoři tak, aby pokrývali celý životní cyklus vývoje webového softwarového produktu. Jiné webové metodiky se dají použít v rámci daného softwarového procesu, například: RUP, OOSP,

Metodika a metoda

Metodika a metoda Metodologie Je věda o metodách Metodika Je postup, jak něco udělat. Využívá různé metody. Říká, jak tyto metody spolu souvisí a v jakém pořadí je máme vykonávat. Metoda Je jeden konkrétní postup. Můžeme také mluvit o technice. V oblasti modelování se jedná většinou o různé diagramy, například konceptuální, datový, aktivity, stavový,... Ale jsou i metody (techniky) negrafické, například normalizace, matice afinit, formální popis predikátovou logikou, aj.

Evoluce softwarových metod a metodik

Evoluce softwarových metod a metodik Datové metody 60 léta Metoda entitně-vztahového diagramu podle Chena Metoda relačního databázového modelu podle Codda Metoda datové normalizace Metoda funkčních vztahů Žádná ucelená metodika nebyla vlastně vytvořena. Jednotlivé metody se soustřeďovaly na hlavní problém tehdejší doby. Správný návrh složité databáze. Programovací jazyky tehdejší doby, byly například COBOL a FORTRAN

Evoluce softwarových metod a metodik Datové metody 60 léta Metoda entitně-vztahového diagramu podle Chena Metoda relačního databázového modelu podle Codda Metoda datové normalizace Metoda funkčních vztahů POZOR! Relation-Ship = vztah Relation = relace

Evoluce softwarových metod a metodik Strukturované metodiky 70 léta Moderní strukturovaná metodika podle Yourdona Zahrnuje celou řadu metod ERD DFD STD SCH DD - entitně vztahový diagram - diagram datových toků - stavový diagram - diagram struktury programu - datový slovník minispecifikace Strukturované metodiky se soustředily na komplexní analýzu a návrh softwarového produktu z jeho různých stránek - datových i funkčních. Odrážejí dobu dávkového zpracování na mainframech a vzniku strukturovaného programování Pascal, PL/I, ADA, Modula, aj.

Evoluce softwarových metod a metodik Objektové metodiky 90 léta OOA/OOD Coad-Yourdona OMT Rumbough OOSE Jacobson Booch Zahrnují celou řadu metod Diagram tříd Stavový diagram Aktivity diagram Objektové metodiky reflektují vznik objektově orientovaného programování, respektive objektově orientovaného paradigmatu. Nástup objektově orientovaných jazyků: Smalltalk, C++, Object Pascal, aj.

Evoluce softwarových metod a metodik Objektové metodiky 90 léta OOA/OOD Coad-Yourdona OMT Rumbough OOSE Jacobson Booch Výsledkem snahy o co nejdokonalejší a standardní grafickou modelovací techniku vzniká UML. Zahrnují celou řadu metod Diagram tříd Stavový diagram Aktivity diagram Objektové metodiky reflektují vznik objektově orientovaného programování, respektive objektově orientovaného paradigmatu. Nástup objektově orientovaných jazyků: Smalltalk, C++, Object Pascal, aj.

Agilní metodiky Klasické metodiky byly sice propracované, ale výsledkem byla jejich rigidnost a jejich důsledné uplatnění celý vývojový proces zpomalovalo a zdražovalo AGILE MANIFESTO 2001 proklamace 17 významných softwarových odborníků, ve kterém definovaly nové agilní principy softwarového procesu. Výsledkem je vznik celé řady nových agilních metodik, které odtraňují nevýhody klasických metodik. Jsou pružné, méně nákladné a dovolují rychlejší vývoj softwarového produktu. Příklady Agilních metodik XP extrémní programování OOSP Objektově orientovaný softwarový proces a další.

Odkazy Softwarové inženýrství na Wikipedii http://cs.wikipedia.org/wiki/softwarov%c3%a9_in%c5%bee n%c3%bdrstv%c3%ad http://en.wikipedia.org/wiki/software_engineering Unified Process http://en.wikipedia.org/wiki/unified_process RUP (Rational unified process) http://en.wikipedia.org/wiki/rational_unified_process Agile manifesto http://en.wikipedia.org/wiki/agile_manifesto