POČÍTAČE A PROGRAMOVÁNÍ

Podobné dokumenty
POČÍTAČE A PROGRAMOVÁNÍ

POČÍTAČE A PROGRAMOVÁNÍ

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

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

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

CÍLOVÝ KONCEPT. Ghoul Wars. pro. Jihočeskou univerzitu Pedagogickou fakultu Předmět: TDSA

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

Střední škola pedagogická, hotelnictví a služeb, Litoměříce, příspěvková organizace

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

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

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

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

Proces vývoje HRIS Vema (Human Resources Information System) Jaroslav Šmarda

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

Analýza a Návrh. Analýza

2 Strukturované datové typy Pole Záznam Množina... 4

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

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

Úvod Game designer Struktura hry Formální a dramatické elementy Dynamika her Konec. Úvod do game designu 1 / 37

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

NPRG030 Programování I, 2015/16 1 / :25:32

Úvod do programování - Java. Cvičení č.4

Čtvrtek 8. prosince. Pascal - opakování základů. Struktura programu:

6 Příkazy řízení toku

Vzdělávací oblast: Informatika a informační a komunikační technologie Vzdělávací obor: Programování. Předmět: Programování

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

Real Time programování v LabView. Ing. Martin Bušek, Ph.D.

Iterační výpočty. Dokumentace k projektu č. 2 do IZP. 24. listopadu 2004

Pascal. Katedra aplikované kybernetiky. Ing. Miroslav Vavroušek. Verze 7

PHP framework Nette. Kapitola Úvod. 1.2 Architektura Nette

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

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

Úvodem... 9 Kapitola 1 Karetních

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

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

ČESKÉ VYSOKÉ UČENÍ TECHNIKÉ Fakulta elektrotechnická. Microsoft Sharepoint 2007 Workflows Průmyslové informační systémy

Program a životní cyklus programu

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

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

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

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

Pointery II. Jan Hnilica Počítačové modelování 17

Obsah. Zpracoval:

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

umenugr JEDNOTKA PRO VYTVÁŘENÍ UŽIVATELSKÝCH GRAFICKÝCH MENU Příručka uživatele a programátora

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

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

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

Návrh IS - UML. 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

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

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

InternetovéTechnologie

Dobré UX jako nejlepší marketingový nástroj mobilních aplikací. Vladimír Korbel

Programování a implementace Microsoft SQL Server 2014 databází

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

EMBARCADERO TECHNOLOGIES. Jak na BYOD chytře? Možnosti zapojování různých mobilních zařízení do podnikových informačních systémů.

Motivace - inovace - zkušenost a vzdělávání

2 Životní cyklus programového díla

ČSN ISO/IEC P D. Informační technologie - Bezpečnostní techniky Systémy managementu bezpečnosti informací - Požadavky. Struktura normy ISO 27001

Komprimace/Dekomprimace

Inovace výuky prostřednictvím ICT v SPŠ Zlín, CZ.1.07/1.5.00/ Vzdělávání v informačních a komunikačních technologií

RBAC (ROLE BASED ACCESS CONTROL) Martin Zukal

Relační DB struktury sloužící k optimalizaci dotazů - indexy, clustery, indexem organizované tabulky

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

Návrh databázového modelu

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

Procesy a vlákna (Processes and Threads)

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

7 Formátovaný výstup, třídy, objekty, pole, chyby v programech

Unifikovaný proces vývoje

Registrační číslo projektu: CZ.1.07/1.5.00/ Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost

Krajská koncepce e-gov

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

Vlastnosti algoritmu. elementárnost. determinovanost. rezultativnost. konečnost. hromadnost. efektivnost

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

Testování softwaru. 10. dubna Bořek Zelinka

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

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

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

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

Obsah ZÁKLADNÍ DESKA. O autorech 11 Úvod 13

Rozhodovací procesy 3

Architektura softwarových systémů

Vzdělávací oblast: Informatika a informační a komunikační technologie Vzdělávací obor: Programování Předmět: Programování

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

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

Lenka Fialová Martina Procházková Ondřej Soukup Martin Valenta Cyril Vojáček

Vzdělávací obsah předmětu

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

Algoritmizace, základy programování, VY_32_INOVACE_PRG_ALGO_01

Vývojové diagramy 1/7

8 Třídy, objekty, metody, předávání argumentů metod

Webový interakční designer

Projektování informačních systémů - Restaurace

BI-TIS Případová studie

Základy programování. Úloha: Eratosthenovo síto. Autor: Josef Hrabal Číslo: HRA0031 Datum: Předmět: ZAP

NUMERICKÝ MODEL NESTACIONÁRNÍHO PŘENOSU TEPLA V PALIVOVÉ TYČI JADERNÉHO REAKTORU VVER 1000 SVOČ FST 2014

Vyhledávání. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 12.

Transkript:

POČÍTAČE A PROGRAMOVÁNÍ Moderní metody vývoje softwaru, Demontrační příklad piškvorky Miroslav Vavroušek PPI 09 V1.0

Opakovaní z minulé přednášky Vícerozměrná statická a dynamická pole Pole polí Datový typ Indexu 1 a 2: Integer Datový typ buňky: Integer Index 2 Index 1 1 2.. 200 1 8 5.. 29 2 11 14.. 41 : : : : 500 82 21.. 6 Datový typ Indexu: Integer Datový typ buňky: Pole string Index 1 2 Data : : 200 Datový typ Indexu: Integer Datový typ buňky: String Index Data 1 'Ahoj' : : n 1 Datový typ Indexu: Integer Datový typ buňky: String Index '!' Data 1 'Dalsi pole' : : n 2 Datový typ Indexu: Integer Datový typ buňky: String Index 'Stringu!' Data 1 'Posledni' : : n 200 'v poli!'

Vícerozměrná statická a dynamická pole Využívají dvou a vice indexů Indexy v hranatých závorkách jsou odděleny čárkami Mají dva a více rozměru pro každý rozměr daný index Dvourozměrné pole lze reprezentovat tabulkou První index je většinou řádek (Matematická konvence) Volba je na programátorovi Datový typ Indexu 1 a 2: Integer Datový typ buňky: Integer Index 2 Index 1 1 2.. 200 1 8 5.. 29 2 11 14.. 41 : : : : 500 82 21.. 6

Pole polí Lze vytvořit pole, jehož prvky jsou pole Statické i dynamické Jedno i více rozměrné Prvky mohou být pole Statické i dynamické Jedno i více rozměrné Jednorozměrné pole indexované číslem (Integer), prvky jsou pole textů (Stringu) indexované číslem Datový typ Indexu: Integer Datový typ buňky: Pole string Index 1 2 Data : : 200 Datový typ Indexu: Integer Datový typ buňky: String Index Data 1 'Ahoj' : : n 1 Datový typ Indexu: Integer Datový typ buňky: String Index '!' Data 1 'Dalsi pole' : : n 2 Datový typ Indexu: Integer Datový typ buňky: String Index 'Stringu!' Data 1 'Posledni' : : n 200 'v poli!'

Obsah přenášky Moderní metody vývoje softwaru Složení softwaroveho vývojového týmu Metody řízení vývoje projektu Možnosti popisu a dokumentace projektu Demostrační úloha piškvorky Návrh a implementace aplikace realizující hru piškvorky pro dva hrače X O

Složení softwaroveho vývojového týmu

Moderní metody vývoje softwaru Složení softwaroveho vývojového týmu (ilustrace) Vývojář Jedinec Manažer Hlavní manager Finační manager Marketingový manager Specialita v oboru Specialista v oblasti I. Specialista v oblasti II. Vývojář Malý tým Specialita pro zpracování dat Programátor Designer databáze Softwarový architekt Grafik (2D,3D) Implementační Kodér Sytemový analytik Velký tým Rozsáhlý tým

Moderní nástroje pro vývoj softwaru

Kooperace vývojového týmu Udržování projektu v aktuální verzi Verzování Projekt je označen verzí Nutnost implementace změn od vývojářu Konflikty řešení a změn Specializované nástroje pro spravu projektu Team Foundation Server, atd. Distribuce aktuální verze projektu Sdílené disky Vývojářské servery Team Foundation Server

Nastroje pro usnadnění vývoje Refaktorování Změny v aplikaci, které nemají vliv na její chovaní Provaděny automaticky vývojovým prostředím Změna nazvů atd. (všude kde se vyskytují) Urdžují projekt srozumitelný a dobře čitelný

Nastroje pro usnadnění vývoje Našeptávače Usnadňují a urychlují zápis kodu Při zapsání prvních písmen nabízí možné volby Volby se kontextově mění podle aktuálního kódu

Nastroje pro usnadnění vývoje Dynamická kontrola syntaxe Neustale kontroluje kód a označuje chyby Chyby nejsou oznámeny až při kompilaci U některých chyb nabýzí automatickou opravu

Nastroje pro usnadnění vývoje Optimalizace kódu Vyvojové prostředí nabýzí optimalizaci kódu Nevyužité proměnné Nedosažitelné části kódu, atf. Nepoužívané knihovny

Metody řízení vývoje projektu

Zdroj: www.wikipedia.cz Metody řízení vývoje projektu Příprava projektu Plánování projektu Realizace projektu Ukončení projektu Poprojektová fáze

Metody řízení vývoje projektu Programování shora-dolů (prototypování) Řešení úlohy rozkladem na podúlohy (podproblemy) Využívá (zatím neexistujících) podprogramů Programování zdola-nahoru (designování) vytváření podprogramů (řešení podúloh), Které budeme potřebovat Následně z nich skládáme řešení větších podúloh, až k hlavní úloze

Metody řízení vývoje projektu Sběr a formulace požadavků Zhodnocení stavu Analýza a návrh Testování Implementace

Metody řízení vývoje projektu Vodopádový přístup Projekt je rozdělen na fáze jdoucí postupně za sebou Některé se mohou překrývat Důraz je kladen na plánování, časové rozvrhy, termíny, rozpočty Realizace celého systému najednou Přísná kontrola je udržována po celou dobu životnosti projektu Prostřednictvím využití rozsáhlých písemných dokumentů Prostřednictvím revizí Schvalování uživatelem a managmentem na konci fází Zdroj: www.wikipedia.cz

Metody řízení vývoje projektu Vodopádový přístup Zdroj: www.wikipedia.cz

Zdroj: www.wikipedia.cz Metody řízení vývoje projektu Inkrementální (přírůstkový) přístup Kombinace sekvenčních a iteračních metodik vývoje Omezeni projektových rizik rozdělením projektu na menší segmenty Zjednodušuje možnost zavedení změn během procesu vývoje Jsou prováděny série malých vodopádů Každý vodopád je prováděn pro malou část systému a je dokončen před pokračováním na další přírůstek, nebo Prvotní koncept, analýza požadavků, design architektury a systémové jádro Jsou definovány vodopádovým přístupem Následuje iterativní prototypový přístup

Metody řízení vývoje projektu Spirálový přístup Kombinuje prvky designového přístupu a prototypového přístupu Zaměřuje se na analýzu minimalizaci projektových rizik rozdělením projektu Umožnění změn během procesu vývoje Vyhodnocení rizik v průběhu vývoje Každý cyklus spirály spouští stejný sled kroků pro každou část produktu Pro každou úroveň elaborace (od konceptuálních dokumentů až po programování jednotlivých programů) Během každého cyklu spirály jsou spouštěny čtyři základní fáze (kvadranty): Analýza stanovení cílů, alternativ a rozsahu iterace Vyhodnocení vyhodnocení alternativ, identifikace a řešení rizik Vývoj vývoj produktu a kontrola očekávaných výsledků Plánování plán pro příští iteraci V počátku každého cyklu se identifikují zainteresované subjekty a jejich podmínky kladené na úspěch iterace, na konci každého cyklu se provádí revize a předání. Zdroj: www.wikipedia.cz

Metody řízení vývoje projektu Spirálový přístup Zdroj: www.wikipedia.cz

Metody řízení vývoje projektu Vývoj pomocí prototypů Není samostatným a kompletním přístupem k vývoji Vývoj neúplných verzí software, tzv. prototypů Snaha snížit nebezpečí projektových rizik rozdělením projektu na menší části a zjednodušit tak možnost změn Uživatel je zapojen v celém procesu vývoje To zvyšuje pravděpodobnost přijetí konečné implementace Malé ukázky systému jsou vyvíjeny iterativním procesem Dokud se prototyp nesplňuje požadavky uživatele

Možnosti popisu a dokumentace projektu

Možnosti popisu a dokumentace projektu Dokumentace Popisuje realizaci a chovaní softwaru Textové dokumenty, prezentace atd. Referenční příručky Popisuje možnosti a chovaní vniřních částí https://www.freepascal.org/docs-html/ref/ref.html Digramy UML Datové digramy, procesní (vývojové) diagramy

Demontrační příklad piškvorky

Piškovorky Prvotní sběr a formulace požadavků Jak se to hraje? https://cs.wikipedia.org/wiki/piškvorky Naše pravidla: Herní pole má předem danou velikost Hrají dva hrači Prvotní sběr a formulace požadavků Provotní analýza a návrh Milníky Hraje se na pět stejných symbolů v řadě Naše požadavky Jednoduchá (krátky potřebný čas pro dokončení) Intuitivní (uživatel dokaže aplikaci využívat samostatně) Prenositelná v ramci platformy MS Windows

Piškovorky Prvotní analýza a návrh Prvotní sběr a formulace požadavků Provotní analýza a návrh Rozhodnutí: Milníky Vyvojové prostředí FreePascal Hráč zadává tah udáním řádku a sloupce Hra musí provádět pouze korektní tahy Hra nebude kontrolovat vyhru (ponechano na hračích) Procesní graf hry: Inicializace Vykreslení hry Zadání tahu Konec Další tah