Tvorba informačných systémov 1-AIN-131
Kurz je určený pre študentov 3. ročníka aplikovanej informatiky. Jeho cieľom je podať úvod do formálnej tvorby informačných systémov a nástrojov, ktoré sa pri vývoji informačných systémov používajú. Účastníci predmetu navrhnú, špecifikujú a implementujú skupinový projekt podľa zadania.
Kontakt
Pavel Petrovič, Andrej Jursa, e-mail: tis-teamlists.dai.fmph.uniba.sk
Očakávané výstupy (deliverables)
1. Prihláška na projekty, čím skôr po zverejnení projektov, najneskôr 2.10.span>
Zaradíte sa do 4-členných tímov a každý tím vyplní on-line prihlášku s preferenciami výberu zadaných projektov a popisom skúseností členov tímu
2. Katalóg požiadaviek, všetko hotovo najneskôr do 17. 10.
postupne odovzdáte tri samostatné výstupy:
A. Podrobné poznámky zo stretnutia so zadávateľom - už potvrdené, resp. korigované zadávateľom
B. Neusporiadaný, nie nutne konzistentný, úplný a jednoznačný zoznam požiadaviek, ktoré tím vytvoril na základe poznámok
C. Výsledný katalóg požiadaviek, ktorý odsúhlasil zadávateľ. Kým mal zadávateľ pripomienky, treba ich najskôr zohľadniť a ponúknuť mu na odsúhlasenie aktualizovanú, vylepšenú verziu.
3. Návrh, všetko hotovo najneskôr do 14.11.
návrh vytvoríte podľa dohody s cvičiacim podľa typu projektu, ktorý riešite. V každom prípade však musí obsahovať nasledujúce časti:
A. podrobná špecifikácia vonkajších interfejsov - ak aplikácia komunikuje s inými aplikáciami, súbormi, zariadeniami - tieto musia byť jasne a podrobne definované
B. podrobný dátový model perzistentných údajov, formátov súborov, komunikačných protokolov.
C. návrh používateľského rozhrania (ak projekt má GUI) - nakreslené a popísané všetky dialógy, okná a stránky, ktorými aplikácia komunikuje s používateľom - túto časť treba konzultovať so zadávateľom
D. Zrozumiteľný a jednoznačný návrh implementácie, podľa ktorého sa dá aplikácia vyvinúť a ktorý bude obsahovať aspoň jeden relevantný UML diagram, podľa dohody s cvičiacim, zrozumiteľne vysvetlenú architektúru, rozdelenie na časti, využité technológie, cieľové prostredie nasadenia do prevádzky.
4. Testovacie scenáre, 28. 11. 2017
Na Githube je dokument s testovacími scenármi - ktorý vznikne podľa Katalógu požiadaviek. Jeden scenár môže testovať aj viacero požiadaviek, ale každá požiadavka z katalógu musí byť kompletne pokrytá v nejakom testovacom scenári.
5. Otestovaný hotový zdrojový kód, 23. 12. 2017
Na Githube je prvá funkčná kompletná verzia, ktorá bola aspoň raz predvedená zadávateľovi s podrobným záznamom zo stretnutia so zadávateľom.
6. Technická dokumentácia a výsledný zdrojový kód, 31. 1. 2018
Aplikácia bola odovzdaná zadávateľovi, ktorý s výsledkom súhlasil, potvrdil, že požiadavky uvedené v katalógu požiadaviek boli splnené a výsledná aplikácia je použiteľná. Zdrojový kód je na Githube vrátane jedného kompletného PDF súboru, ktorý obsahuje aj katalóg požiadaviek aj návrh, pričom je aktualizovaná tak, aby bola v súlade s odovzdaným kódom.
Hodnotenie
- Projekt: 50b
- Písomky: 35b
- Midterm (UML diagramy): 15b
Na známku je potrebných aspoň 25b za projekt projekt, 20b za písomky, 10b za midterm, potom: 90-100: A, 80-90: B, 70-80: C, 60-70: D, 55-60: E, < 55: Fx.
Pravidlá
- na riešení projektu sa rovnakou časťou podieľajú všetci členovia tímu; hoci majú rozdelené roly, každý prispieva rovnomerne aj do implementácie zdrojového kódu
- každá skupina musí odovzdať všetky výstupy načas
- ak odovzdaný dokument alebo program nespĺňa ani minimálne požiadavky, odovzdanie sa neuzná a tím má možnosť odovzdať novú verziu (avšak ďalšie oneskoré odovzdanie má za následok príslušné bodové ohodnotenie)
- zdrojové kódy aj odovzdávaná dokumentácia (podadresár docs/) sú priebežne ukladané v tímovom repozitári na Githube (inak za projekt nebudú udelené žiadne body!), všetky projekty sú open-source
- členovia každého tímu sa každý týždeň stretnú na svojom tímovom stretnutí, pričom vopred je v bodoch známa agenda nasledujúceho stretnutia, pričom:
- prediskutujú všetky body agendy
- prvým bodom agendy je zhodnotenie vykonanej práce a splnených úloh od predchádzajúceho stretnutia tímu
- posledným bodom agendy je naplánovanie práce do ďalšieho stretnutia, pričom ku každej položke sa určí, ktorý člen (členovia) je zodpovedný
- priamo na stretnutí si píšu zo svojho stretnutia zápisnicu, priamo na samostatnú wiki-stránku svojho tímového repozitára, zápisnica obsahuje: dátum, zoznam prítomných, plánovaná agenda stretnutia, potom podľa bodov agendy, všetky podstatné informácie a prijaté rozhodnutia, agenda slúži predovšetkým členom tímu na organizáciu ich práce!
Prednášky
- 26.09. Úvodná prednáška, plán na semester
Cvičenia
- 29.09. cvičenie github na H6, tímy sa už zorganizovali do 4-členných skupín
- potom: každý týždeň individuálne stretnutie s cvičiacim v termíne podľa dohody s cvičiacim, z týchto stretnutí píše zápisnicu cvičiaci
Literatúra
- Tvorba informačných systémov 2016/2017
- E.J.Braude, M.E.Bernstein: Software Engineering: Modern Approaches, Wiley, 2011
- E.Gamma, R.Helm, R.Johnson, J.Vlissides: Design Patterns, Elements of Reusable Object-Oriented Software, Addison Wesley, 1995
- M.Cade, H.Shell: Sun Certified Enterprise Architect for Java EE Study Guide, 2nd Edition, Prentice Hall, 2010.
- Ľ.Šešera: Aplikačné architektúry softvérových systémov, STU, 2010
- Ľ.Šešera, P.Grec, P.Návrat: Architektúra softvérových systémov - Architektúra internetových systémov a architektúra orientovaná na služby, STU, 2011
- E.J.Braude: Software Engineering, An Object-Oriented Perspective, Wiley, 2001