====== Doporučená osnova technické zprávy ====== * řiďte se body v zadání - pokud bude každému bodu zadání odpovídat jedna samostatná kapitola, nic tím nepokazíte - **Úvod** * motivace, vize (čím chcete //zlepšit svět//) * proč má smysl danou práci řešit (např. existuje díra na trhu, byznys stránka věci, ...) * cíl, očekávané výstupy * popis řešení práce - stručný popis kapitol - **Teorie** * dle zaměření práce - mělo by se jednat o 1-3 unikátní kapitoly, která čtenáři představí odvětví/oblast, v které práci řešíte; pojmy a principy spjaté s daným odvětvím/oblastí a problematikou. - popis oblasti/odvětví * specifická, mnohdy //ne-IT// věc, kterou bylo nutné nastudovat * příklady: * [[https://www.fit.vut.cz/study/thesis/22889/|Kristýna Zaklová]] popisovala problematiku čipování psů * [[https://www.fit.vut.cz/study/thesis/23127/|Robin Skaličan]] popisoval problematiku hledání s detektory kovů a hlášení nálezů archeologům * [[https://www.fit.vut.cz/study/thesis/21710/|David Hél]] popisoval problematiku výběru daní a podávání daňových přiznání * [[https://www.fit.vut.cz/study/thesis/20467/|Andrej Hučko]] popisoval problematiku EET, účtenkových loterií a OCR * [[https://www.fit.vut.cz/study/thesis/18410/|Do Long Thanh]] popisoval problematiku Erasmu a koordinaci zahraničních studentů, kteří přijedou na stáž * [[http://www.fit.vutbr.cz/~ihynek/wiki/doku.php?id=dp:dp#obhajene_prace|další práce...]] - popis existujících řešení * systémy, které se současně používají pro daný nebo podobný účel * nezaujaté porovnání - popis metod, technik * např. dělám použitelný informační systém: Co je to použitelný IS? Jaké jsou charakteristiky takového systému? Jaké techniky/nástroje je možné použít pro analýzu, návrh, tvorbu a testování takového systému? * zaměřte se především na to, co jste doopravdy použili, ostatní zmiňte okrajově a citujte - popis technologií * __kapitoly simulující manuál/dokumentaci nějaké technologie nejsou vhodné__ - příklad: student implementuje informační systém a do teorie dá kapitolu o HTML, PHP, CSS, JavaScriptu, ... dále přidá kapitolu o zvoleném frameworku (Nette, Laravel, ..., React, Bootstrap, ...) - snaží se popsat, co je již popsáno výrazně lépe někde v dokumentaci/knize (představte si, že by toto udělal každý student, co implementuje IS) * vhodné: * v situacích, kdy je cílem vaší práce rozšiřovat konkrétní technologii * při průzkumech dostupných technologií (nepopisujete je po implementační stránce, ale po stránce jejich použití (výhody/nevýhody) - jejich použití bude dále uvedeno v kapitole Implementace * dostatečně citujte * používejte [[https://scholar.google.com/|google scholar]], [[https://books.google.cz/|google books]], [[dp:public:faq|jak vyhledávat, stahovat a citovat zdroje?]] * jednotlivá fakta by měla být podložená zdrojem * nepište vaše názory, názor si udělá čtenář - pouze nezaujatě shrňte, jak si jednotlivé pojmy vykládají různé zdroje * pokud potřebujete citovat online zdroje, není to nutně problém, ale hleďte na autora daného dokumentu, zda má nějakou váhu v dané komunitě (často se stává, že neexistuje mnoho knih a odborných publikací z dané oblasti, jelikož se jedná o značně novou oblast, rozumí jí jenom pár lidí na světě a své poznatky uvádí třeba někde na svém webu / případně se může jednat o informace z nějaké komunity) * odkazy na domovské stránky nástrojů/technologií uvádějte do footnote (nečerpáte z nich informace, pouze referujete) * umím si také představit, že byste popis metod a technik dali na začátek kapitol Analýza, Návrh, Implementace a Testování (o to by byly delší tyto kapitoly a teoretická část by se pak skládala pouze z jedné kapitoly popisující danou oblast) - **Analýza problému** * analýza problému a požadavků (dotazníkové šetření, rozhovory) * analýza cílových uživatelů (persony a jejich potřeby) * analýza možnosti využití existujících řešení - např. zde se můžete odkázat na teorii, kde jste představili existující systémy a můžete zhodnotit, jak jsou tyto systémy vhodné pro řešení konkrétních problémů -> měla by z toho vyplynout jakási //díra na trhu// * analýza proveditelnosti * vyvození závěru -> definování problémů (co je potřeba řešit? čeho chceme dosáhnout?) - **Návrh řešení** * jakým způsobem je možné problém, který vyvstal z analýzy řešit? * forma řešení (mobilní/webová/skript/knihovna/...) * návrh architektury - schéma (např. backend, frontend, rozhraní, ...) * návrh datového modelu (např. ER diagram) * návrh UI (skica) * definování funkcionality (případy užití), případně rozhraní, jakým způsobem bude řešení použitelné (API, parametry skriptu, ...) - **Implementace** * jak bylo navržené řešení naimplementované? * jaké technologie byly využity, jakým způsobem * zaměřit se na konkrétní netriviální podproblémy (popsat jejich řešení) * algoritmy, využité funkce knihoven, ... * není nutné podrobně popisovat kód jednotlivých tříd/funkcí * raději používat schémata, obrázky, screeny - **Testování** * splňuje implementované řešení problém definovaný analýzou problému? do jaké míry? * jak bylo testování provedeno? * co bylo testováním zjištěn/ohaleno? výsledky testování (výkonnost, použitelnost, ...) * jaké úpravy a vylepšení bylo/bude nutné provést? - **Závěr** * zopakování, co bylo cílem * dosažené výsledky (podařilo se cíl naplnit a do jaké míry?) * reálné využití (pochlubit se) * možná vylepšení do budoucna * nepsat subjektivní dojmy ("bavilo mě to...", "naučil jsem se...")