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-teamZavinac.giflists.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

  1. Projekt: 50b
  2. Písomky: 35b
  3. 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