Projekt 2:

Obsah

Zadání

Vytvořte kalkulačku se základními matematickými operacemi (+,-,*,/), faktoriálem, umocňováním s přirozenými exponenty, obecnou odmocninou a jednou další funkcí.

Program lze vytvořit v libovolném programovacím jazyce a bude se skládat z knihovny s matematickými funkcemi (vč. základních operací jako +,-,* apod.), nad kterou bude postaveno grafické uživatelské rozhraní. Součástí uživatelského rozhraní bude i nápověda a k programu bude dodána uživatelská i programová dokumentace (program bude distribuován s otevřenými zdrojovými texty pod licencí GNU GPL v. 1, 2 nebo 3).

V uživatelské dokumentaci bude mimo jiné i postup instalace a odinstalace programu pomocí instalátoru (odinstalátoru). Dále bude uveden návod pro manuální (od)instalaci, tzn. postup překladu ze zdrojových kódů, vytvoření zástupců (ikonek) a dalších akcí, které provádí instalátor.

Doplňující podmínky:

Profiling

Pomocí funkcí z Vaší matematické knihovny vytvořte program pro výpočet výběrové směrodatné odchylky z posloupnosti čísel, kterou program čte ze standardního vstupu (v C např. pomocí funkce scanf). Vzorec pro výběrovou směrodatnou odchylku, který bude využit:

Výběrová směrodatná odchylka

Tento program profilujte se vstupy o velikosti 10, 100 a 1000 číselných hodnot. Odevzdejte protokol obsahující výstup profileru a stručné shrnutí - ve kterých místech program tráví nejvíce času a uveďte, na co se při optimalizaci kódu nejlépe zaměřit.

Doplňující podmínky:

Virtuální prostředí

Uživatelé/hesla do všech virtuálních prostředí: ivs

Pro testování a hodnocení

Pro vývoj

Pro vývoj ve Windows jsme Vám připravili ještě virtuální prostředí s MS Visual studio a Qt. Pro Linux s vývojovými nástroji, které studenti nejčastěji využívali v předchozích letech. Tato prostředí Vám můžou ušetřit práci s instalací, ale jejich využití je volitelné. Finální instalátor však musí fungovat na jednom z prostředí pro testování určených výše.

Všechna virtuální prostředí jsou ke stažení zde

Po rozbalení zip archivu s vybraným virtuálním prostředím přidáte toto prostředí do Virtualboxu pomocí položký Počítač --> Přidat (Machine --> Add), klávesová zkratka CTRL+A.

Pokud budete mít ve virtuálním prostředí problémy se sítí, mělo by být možné je vyřešit tak, že v Nastavení Virtualboxu v části Síť nastavíte, že je karta 1 připojena k síťovému mostu (Bridged adapter) a v pokročilém (Advanced) nastavení zaškrtnete, že je síťový kabel připojen (Cable Connected).

Vyjde-li v průběhu práce na projektu nová verze OS (např. Ubuntu 18.04), neprovádějte aktualizaci distribuce (dist-upgrade).

Doplňky pro hosta

V prostředích nejsou nainstalovány doplňky pro hosta (Guest Additions). Pro Windows je doporučeno je nainstalovat, pro Ubuntu pouze, pokud vyžadujete sdílení zdrojů (schránka, složky, atd.) mezi virtuálním strojem a hostitelským operačním systémem.

Pro jejich instalaci vyberte po spuštění prostředí Zařízení --> Vložit obraz disku CD s přídavky pro hosta (Devices --> Insert Guest Additions CD Image).

POZOR: Obraz disku, který je přiložen k Virtualboxu 5.2.6, případně 5.1.32 nepodporuje 3D akceleraci v Linuxu. Při použití těchto verzí je tedy nutné:

Volitelná rozšíření

Především studentům vyšších ročníků doporučujeme zadání rozšířit tak, aby pro ně projekt měl větší přínos. Příklady rozšíření:

Funkcionalita volitelných rozšíření není součástí hodnocení, ale může k ní být přihlédnuto při hodnocení jiné části projektu.

Tipy pro zlepšení výsledného hodnocení:

Týmy

Přihlašování

Registrace týmu musí být provedena do 6. 3. 2018.

Přihlašování týmů bude realizováno v IS FIT. Bude-li s přihlášením problém, lze jej provést e-mailem, který vedoucí týmu zašle na adresu dytrych@fit.vutbr.cz: Ostatní členové týmu budou uvedeni také v seznamu příjemců kopie zprávy, aby věděli, že jsou přihlášeni.

Struktura repozitáře

Kostra repozitáře ke stažení je k dispozici zde. Nezapomeňte ukázkové soubory nahradit svými - pokud se soubor bude shodovat s ukázkovým, bude se počítat jako kdyby nebyl odevzdán. Kapitoly dokumentace jsou rovněž ukázkové (nemusí být správně) - udělejte svoji dokumentaci podle přednášky.
mockup/
  *.png|jpg|svg|pdf
plan/
profiling/
  vystup.*
  zprava.txt|pdf
src/
  zdrojový kód a testy
  Makefile
  Doxyfile
  zdrojový kód pro profiling
debugging.png|jpg|pdf|txt
dokumentace.pdf
screenshot.png|jpg
skutecnost.txt
hodnoceni.txt
README.md|txt
.gitignore
.editorconfig

Soubor hodnoceni.txt

Soubor hodnoceni.txt bude obsahovat osobní ohodnocení jednotlivých členů týmu v rozsahu 0 - 300% či 0 - 400% (dle počtu členů týmu a dle aktivity člena týmu a jeho přínosu pro projekt). Součet všech osobních ohodnocení musí být max. stonásobek počtu členů týmu. Hodnocení musejí odsouhlasit všichni členové týmu. Soubor bude ve formátu (X je počet procent od 0 do 400):

xlogin01 X (skutečně řešená část projektu)
xlogin02 X (skutečně řešená část projektu)
xlogin03 X (skutečně řešená část projektu)
xlogin04 X (skutečně řešená část projektu)

Příklad:

xlogin01 100 (základ GUI a základní mat. operace)
xlogin02 100 (pokročilé mat. operace)
xlogin03 90 (profiling, instalátor)
xlogin04 110 (testy, dokumentace)

Pokud by student přerozdělením bodů přesáhl maximum za celý projekt, body se oříznou na maximum 52 bodů.

Tento soubor je zpracováván automaticky, nedodržení struktury může vést na hodnocení nula bodů.

Soubor README.md nebo README.txt

Soubor bude v patičce povinně obsahovat alespoň následující informace. V části “Prostředí” uveďte pouze řádky s vybranými prostředími, ve kterých je projekt plně funkční (při hodnocení bude náhodně vybráno jedno z uvedených prostředí).

Prostredi
---------

Ubuntu 64bit
Windows 64bit

Autori
------

Nazev tymu
- xlogin01 jmeno prijmeni 
- xlogin02 jmeno prijmeni 
- xlogin03 jmeno prijmeni 
- xlogin04 jmeno prijmeni 

Licence
-------

Tento program je poskytovan...

Odevzdání

Věnujte prosím pozornost postupu odevzdání a dodržujte názvy souborů a další stanovené podmínky. Pro desítky projektů není v našich silách za pomoci správce prohledávat domovské adresáře na serveru ivs (častá chyba z předchozích let je odevzdání na toto místo) a jiná umístění, kde by se mohly nacházet odevzdané soubory. Značnou komplikací jsou i nesprávné názvy složek apod. Při hodnocení budou využívány i automatické skripty.

Do 20. 3. 2018 vedoucí týmu v IS FIT odevzdá předběžný plán projektu v souboru xlogin01_xlogin02_xlogin03_xlogin04_plan.txt. Soubor bude obsahovat:

Alternativně lze odevzdat archiv xlogin01_xlogin02_xlogin03_xlogin04_plan.zip, který bude obsahovat libovolný počet souborů xlogin01_xlogin02_xlogin03_xlogin04_plan* ("*" zastupuje libovolný počet libovolných znaků, tedy např. ".mpp" či "01.jpg"), přičemž plán zde může být vytvořený v MS Projectu či jiném programu (není-li daný program ve škole dostupný, je nutno odevzdat i exportovanou verzi v PDF či jpg).

Repozitář bude průběžně kontrolován vyučujícími/cvičícími, aby Vám bylo možné poskytnout zpětnou vazbu, zda jste jej využívali správným způsobem. Máte-li repozitář na serveru ivs.fit.vutbr.cz, vyučující se do něj dostanou bez problémů. Využijete-li github, gitlab či bitbucket, je třeba přidělit oprávnění pro uživatele ivskontrola (e-mail má ivs.kontrola@gmail.com, ale na tento e-mail prosím nic nezasílejte - byl vytvořen pouze pro účely vytvoření účtu na výše uvedených serverech). Při vytváření repozitáře na serveru merlin.fit.vutbr.cz je nutné k Vašim loginům přidat loginy všech cvičících: “dytrych, ispanhel, iwiglasz, ibartl, iveigend, ivaverka, ifajcik, igrochol”

Do 24. 4. 2018 vedoucí týmu odevzdá: Zkontrolujte, zda repozitář obsahuje vše potřebné:

Struktura adresáře v odevzdávaném archivu

doc/
  vygenerovaná programová dokumentace
install/
  instalátory
repo/
  repozitář (musí být pracovní kopie i historie, tedy např. i složka .git)

Archiv se odevzdává do adresáře /ivs-proj2/odevzdane/xlogin01 (kde xlogin01 je login vedoucího týmu) na serveru ivs.fit.vutbr.cz. Odevzdání do jiného adresáře (např. do /home/xlogin01 či /home/xlogin01/ivs-proj2/...) bude značně penalizováno. Je-li vedoucí neaktivní, zvolte si včas nového a oznamte změnu cvičícím, aby mu mohl být vytvořen adresář pro odevzdání.

Do IS FIT uložíte archiv, který bude obsahovat

Každý člen týmu do 30. 4. 2018 v IS FIT odevzdá soubor xloginNN_problemy.txt, který bude obsahovat seznam problémů, které podle daného člena týmu tým měl, včetně pravděpodobných příčin a navrhovaných řešení (co jste mohli udělat lépe). Pokud tým žádné problémy neměl, budou zde uvedeny pouze návrhy, co by bylo možné při příštím týmovém projektu řešit lépe. Povinně je nutné uvést nejméně 3 problémy či návrhy seřazené od nejdůležitějšího po nejméně důležitý. Zaměřte se při tom na následující oblasti:

Instalace u zákazníka

Instalace letos probíhají poprvé a to v reakci na problémy z předchozího roku, kdy se asi 4 produkty z 82 cvičícím nepodařilo zprovoznit (většinou z důvodu, že bylo nutné provést nějaký nezdokumentovaný krok, nainstalovat nějakou závislost apod.) a u pár dalších se projevily problémy způsobené tím, že program očekával jinou verzi knihoven apod. Reklamace pak probíhaly po obhajobách na noteboocích za podmínek, které byly nekomfortní pro studenty i cvičící. Využijte proto možnost svůj produkt sami předvést a předejděte případným reklamacím. Dobře udělaný produkt lze nainstalovat a předvést během 10 - 15 minut.

Obhajoby

Hodnocení projektu

Části projektu hodnocené pro celý tým dohromady

Celý tým může získat 43 * počet členů týmu = 129 nebo 172 bodů.

Hodnocení každého člena týmu

Celkem může každý člen týmu za projekt získat 52b.

Dotazy a konzultace