m
m
(16 intermediate revisions by the same user not shown)
Line 11: Line 11:
  
 
Pavel Petrovič, pavel.petrovic[[Image:zavinac.gif|@]]fmph.uniba.sk<br>
 
Pavel Petrovič, pavel.petrovic[[Image:zavinac.gif|@]]fmph.uniba.sk<br>
Andrej Jursa, andrej.jursa[[Image:zavinac.gif|@]]fmph.uniba.sk<br>
+
<!-- e-mail: tis-team[[Image:zavinac.gif|@]]lists.dai.fmph.uniba.sk -->
e-mail: tis-team[[Image:zavinac.gif|@]]lists.dai.fmph.uniba.sk  
+
  
  
Line 18: Line 17:
  
 
* [[Course:Information Systems Development - Projekty/sk|plán]]
 
* [[Course:Information Systems Development - Projekty/sk|plán]]
* [http://kempelen.ii.fmph.uniba.sk/vyber/public/projects Projekty a skupiny]
+
* [[Course:Information Systems Development 2018 - Groups/sk|skupiny]]
* [[Course:Information Systems Development - Priradení cvičiaci/sk|priradení cvičiaci]]
+
* [http://kempelen.ii.fmph.uniba.sk/vyber/public/projects projekty]
 +
<!-- * [[Course:Information Systems Development - Priradení cvičiaci/sk|priradení cvičiaci]] -->
  
  
 
== Očakávané výstupy (deliverables) ==
 
== Očakávané výstupy (deliverables) ==
  
'''1. Prihláška na projekty''', <span style="color:green">čím skôr po zverejnení projektov, najneskôr 2.10.</span>
+
'''1. Prihláška na projekty''', <span style="color:green">čím skôr po zverejnení projektov, najneskôr 1.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
 
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''', <span style="color:green">všetko hotovo najneskôr do 17. 10.</span>
+
'''2. Katalóg požiadaviek''', <span style="color:green">všetko hotovo najneskôr do 16. 10.</span>
  
 
postupne odovzdáte tri samostatné výstupy: <br>A. Podrobné poznámky zo stretnutia so zadávateľom - už potvrdené, resp. korigované zadávateľom<br>B. Neusporiadaný, nie nutne konzistentný, úplný a jednoznačný zoznam požiadaviek, ktoré tím vytvoril na základe poznámok<br>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.
 
postupne odovzdáte tri samostatné výstupy: <br>A. Podrobné poznámky zo stretnutia so zadávateľom - už potvrdené, resp. korigované zadávateľom<br>B. Neusporiadaný, nie nutne konzistentný, úplný a jednoznačný zoznam požiadaviek, ktoré tím vytvoril na základe poznámok<br>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''', <span style="color:green">všetko hotovo najneskôr do 14.11.</span>
+
'''3. Návrh''', <span style="color:green">všetko hotovo najneskôr do 13.11.</span>
  
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: <br>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é<br>B. podrobný dátový model perzistentných údajov, formátov súborov, komunikačných protokolov.<br>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<br>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.  
+
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: <br>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é<br>B. podrobný dátový model perzistentných údajov, formátov súborov, komunikačných protokolov.<br>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<br>D. Zrozumiteľný a jednoznačný návrh implementácie, podľa ktorého sa dá aplikácia vyvinúť a ktorý bude obsahovať: UML component diagram, UML class diagram, a aspoň jeden z dvojice UML state a UML sequence diagram, zrozumiteľne vysvetlenú architektúru, rozdelenie na časti (moduly) a ich interfejsy, využité technológie, cieľové prostredie nasadenia do prevádzky.  
  
'''4. Testovacie scenáre''',  <span style="color:green">28. 11. 2017</span>
+
'''4. Testovacie scenáre''',  <span style="color:green">27. 11. 2017</span>
  
 
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.  
 
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.  
Line 52: Line 52:
  
 
# Projekt:  50b
 
# Projekt:  50b
# Písomky: 35b [http://dai.fmph.uniba.sk/courses/tvorbaIS/prvy_test.png prvá], [http://dai.fmph.uniba.sk/courses/tvorbaIS/druhy_test.png druhá], [http://dai.fmph.uniba.sk/courses/tvorbaIS/sien_slavy_po_druhej.png po druhej],  [http://dai.fmph.uniba.sk/courses/tvorbaIS/midterm.png midterm], [http://dai.fmph.uniba.sk/courses/tvorbaIS/treti_test.png tretia], [http://dai.fmph.uniba.sk/courses/tvorbaIS/sien_po_tretej.png po tretej], [http://dai.fmph.uniba.sk/courses/tvorbaIS/stvrty_test.png štvrtá], [http://dai.fmph.uniba.sk/courses/tvorbaIS/sien_po_stvrtej.png po štvrtej], [http://dai.fmph.uniba.sk/courses/tvorbaIS/piaty_test.png piata], [http://dai.fmph.uniba.sk/courses/tvorbaIS/sien_po_piatej.png po piatej], [http://dai.fmph.uniba.sk/courses/tvorbaIS/siesty_test.png šiesty], [http://dai.fmph.uniba.sk/courses/tvorbaIS/sien_po_siestej.png sieň slávy]
+
# Písomky: 35b  
# Midterm (UML diagramy) 13.11. miestnosť B, 14:00-16:30: 15b, pozri príklad [http://dai.fmph.uniba.sk/courses/tvorbaIS/tis/new.html#uml-priklad kap. 3.11. v materiáloch] a tiež [http://dai.fmph.uniba.sk/courses/tvorbaIS/diagramy/ vzorové riešenie z predchádzajúceho roka]. Najlepší spôsob prípravy na midterm je vyriešiť [[cvicne zadanie midtermu TIS|cvičné zadanie]] a poslať mi riešenie do nedele 18:00, dám Vám k nemu ešte spätnú väzbu.
+
# [http://dai.fmph.uniba.sk/courses/tvorbaIS/midterm2018.pdf Midterm (UML diagramy)] 12.11. 14:00-16:30: 15b, pozri príklad [http://dai.fmph.uniba.sk/courses/tvorbaIS/tis/new.html#uml-priklad kap. 3.11. v materiáloch] a tiež [http://dai.fmph.uniba.sk/courses/tvorbaIS/diagramy/ vzorové riešenie z predchádzajúceho roka]. Najlepší spôsob prípravy na midterm je vyriešiť [[cvicne zadanie midtermu TIS|cvičné zadanie]] a poslať mi riešenie vopred, dám Vám k nemu ešte spätnú väzbu. [[Media:midterm_tis_2018.png|Výsledky]].
  
 
Na známku je potrebných aspoň 25b za 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.
 
Na známku je potrebných aspoň 25b za 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.
Line 86: Line 86:
  
 
* 25.09. Úvodná prednáška, plán na semester
 
* 25.09. Úvodná prednáška, plán na semester
 
+
* 02.10. Špecifikácia, z materiálov sme prebrali kap. 0 - 1.4; 2. (treba sa to do budúcej prednášky naučiť)
 +
* 09.10. [http://dai.fmph.uniba.sk/courses/tvorbaIS/sl/gantt_example.pdf Ganttov diagram], [http://dai.fmph.uniba.sk/courses/tvorbaIS/sl/tis3new.pdf Modely vývoja sw], [http://dai.fmph.uniba.sk/courses/tvorbaIS/sl/use_cases.pdf Use Case Diagramy], kap. 1.5, 1.6, 3.1.
 +
* 16.10. [http://dai.fmph.uniba.sk/courses/tvorbaIS/sl/tis4new.pdf Úvod do návrhu]: <b>ciele návrhu</b>, entitno-relačný diagram, data-flow diagram, princípy OOP - vzťah objekt-trieda, kap. 3.0, 4, 4.2, 4.4.1
 +
* 23.10. [http://dai.fmph.uniba.sk/courses/tvorbaIS/sl/tis4new.pdf  Návrh - UML diagramy, normalizácia objektového návrhu, SDD, Architektonické štýly]
 +
* 6.11. [http://dai.fmph.uniba.sk/courses/tvorbaIS/sl/tis5new.pdf Návrhové vzory]
 +
* 13.11. [http://dai.fmph.uniba.sk/courses/tvorbaIS/sl/tis9.pdf Čistý kód] a [http://dai.fmph.uniba.sk/courses/tvorbaIS/sl/tis11.pdf pokračovanie] - využije sa v domácej úlohe
 +
* 20.11. [http://dai.fmph.uniba.sk/courses/tvorbaIS/sl/tis6.pdf Integrácia aplikácií]
 +
* 27.11. [http://dai.fmph.uniba.sk/courses/tvorbaIS/sl/tis8.pdf Agilné metódy vývoja IS]. Pozrite si zaujímavú [https://www.youtube.com/watch?v=ffkIQrq-m34 prednášku prof. Meyera], v ktorej hodnotí myšlienky agilných metód.
 +
* 4.12. [http://dai.fmph.uniba.sk/courses/tvorbaIS/buchta.pdf pozvaná prednáška: Big Data] (Daniel Buchta, Softec) ([http://dai.fmph.uniba.sk/courses/tvorbaIS/sl/BIG_DATA-FMFI-20181204.pptx prezentácia])
 +
* 11.12. pozvaná prednáška: Informatizácia štátnej a verejnej správy, (Ľuboš Cibák, VŠEMvs)
 +
* 18.12. [http://dai.fmph.uniba.sk/courses/tvorbaIS/sl/tis10.pdf Soft skills]
 
* [[Course:Information_Systems_Development_Lectures2017/sk|minulá sezóna]]
 
* [[Course:Information_Systems_Development_Lectures2017/sk|minulá sezóna]]
  
Line 92: Line 102:
 
== Cvičenia ==
 
== Cvičenia ==
  
* 29.09. [http://dai.fmph.uniba.sk/courses/tvorbaIS/ex/git/new.html cvičenie github] na H6, tímy sa už zorganizovali do 4-členných skupín
+
* 28.09. [http://dai.fmph.uniba.sk/courses/tvorbaIS/ex/git/new.html 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
 
* 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 ==
 
== Literatúra ==
  
 +
* [http://dai.fmph.uniba.sk/courses/tvorbaIS/tis/new.html Materiál na zopakovanie]
 
* [http://dai.fmph.uniba.sk/courses/tvorbaIS Tvorba informačných systémov 2016/2017]
 
* [http://dai.fmph.uniba.sk/courses/tvorbaIS Tvorba informačných systémov 2016/2017]
 
* E.J.Braude, M.E.Bernstein: Software Engineering: Modern Approaches, Wiley, 2011
 
* E.J.Braude, M.E.Bernstein: Software Engineering: Modern Approaches, Wiley, 2011

Revision as of 09:26, 18 December 2018

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č, pavel.petrovic@fmph.uniba.sk


Projekty


Očakávané výstupy (deliverables)

1. Prihláška na projekty, čím skôr po zverejnení projektov, najneskôr 1.10.

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 16. 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 13.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ť: UML component diagram, UML class diagram, a aspoň jeden z dvojice UML state a UML sequence diagram, zrozumiteľne vysvetlenú architektúru, rozdelenie na časti (moduly) a ich interfejsy, využité technológie, cieľové prostredie nasadenia do prevádzky.

4. Testovacie scenáre, 27. 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) 12.11. 14:00-16:30: 15b, pozri príklad kap. 3.11. v materiáloch a tiež vzorové riešenie z predchádzajúceho roka. Najlepší spôsob prípravy na midterm je vyriešiť cvičné zadanie a poslať mi riešenie vopred, dám Vám k nemu ešte spätnú väzbu. Výsledky.

Na známku je potrebných aspoň 25b za 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!


Roly členov tímu

Všetci členovia tímu sa zdokumentovateľne podieľajú na všetkých činnostiach (implementácia, dokumentácia, testovanie, komunikácia, manažment), ale hlavná zodpovednosť je rozdelená do 4 rolí:

  • dokumentácia: tento človek zodpovedá za to, že dokumentácia bude, bude taká ako má byť a bude hotová načas, má rozhodujúce slovo pri plnení úloh týkajúcich sa dokumentácie
  • implementácia: zodpovedá za to, že implementácia bude, bude taká ako má byť a bude hotová načas, má rozhodujúce slovo pri plnení úloh týkajúcich sa implementácie
  • manažment práce: stará sa o to, aby práca napredovala, dobre sa plánovala a rozdeľovala medzi členov tímu, aby sa pracovalo podľa dohodnutého režimu, zodpovedá za neustále napredovanie celého projektu a jeho úspešné dokončenie včas, má rozhodujúce slovo pri plánovaní a pri riešení konfliktov v kompetenciách v tíme, píše zápisnice, alebo tým poveruje iného člena tímu
  • manažment komunikácie (internej aj externej): stará sa o plánovanie stretnutí, komunikáciu s cvičiacim, zadávateľom a hlavne medzi členmi tímu má rozhodujúce slovo a zodpovednosť za správnosť, primeranosť, plynulosť komunikácie

Vysvetlenie: napr. ak je niekto zodpovedný za dokumentáciu, neznamená to, že on bude robiť celú dokumentáciu, ale že rozdeľuje prácu na dokumentácii osatným členom podľa toho, ako manažer komunikácie a manažer práce nastavia komunikáciu a spôsob rozdeľovania práce. T.j. tento človek musí mať dôkladný prehľad o tom, aká dokumentácia už existuje a aká dokumentácia je ešte potrebná a musí mať predstavu, ako tá dokumentácia vznikne.


Prednášky


Cvičenia

  • 28.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

  • Materiál na zopakovanie
  • 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