VIS - Vývoj Informačních Systémů (cvičení)

Předmět zaměřen na techniky a praktiky při vývoji informačních systémů

Projekt - pokyny (odevzdání do konce zápočtového týdne 20.12.2020)

  • Vize (dokument popisující systém z pohledu zákazníka). (vis_01.pdf slajd 20)
  • Funkční specifikace (use case model -popis jednotlivých případů, use case diagram, diagramy aktivit). (vis_02.pdf slajd 22, vis_03.pdf slajd 9-10)
  • Technická specifikace (první model domény, podklady pro technologická rozhodnutí, zvolené technologie a postupy). (vis_03.pdf slajd 11)
  • Skica (wireframe, prototyp) uživatelského rozhraní. (vis_04.pdf slajd 15)
  • Návrh doménového modelu
  • Popis architektury systému
  • Implementace

Viz https://homel.vsb.cz/~kud007/vis_p.html

K proektu vytvořte krátké video (screenshare) s ukázkou funkcionality systému a základním popisem rysů implementace abych se ve zdrojácích při kontrole rychle zorientoval.

Activity diagram

Kdo ještě nemá hotovo snažte se držet UML notace.

Diagram aktivit přes use-case:

Může např. být popis průběhu provádění činností ve firmě pro kterou děláte IS. Od prvního setkání se zákazníkem po splnění jeho potřeb. Aktivity můžou a nemusí být podpořeny vaším IS, ty které budou podpořeny IS nejspíše budou odpovídat nějakémui Use Case.

Implmentace! Implmentace! Implmentace!!!!!

Postupně pracujte na implementaci ať ji můžeme diskutovat.

Maven kostra pro projekt do VIS

Připravil jsem Maven projekt, který může sloužit jako kostra do předmětu VIS. Projekt se skládá z několika podprojektů (modulů), které umožní správné rozvrstvení aplikace a "přepínání" dvou GUI a dvou dataových vrstev.

Podprojekty:

  • common - společné části jako třeba datové/entitní třídy
  • domainLayer - doménová vrstva
  • dataLayerInterfaces - rozhraní pro přístup k datové vrstvě
  • dataLayerDB - 1. datová vrstva
  • dataLayerOther - 2. datová vrstva
  • viewLayerJavaFX - view vrstva s JavaFX
  • viewLayerSpring - view vrstva se Springem
  • run* - projekty pro spojení jednotlivých kombinací view vrstvy a datové vrstvy, dávky pro spuštění

Projekt dataLayerInterfaces obsahuje mimo jiné mechanizmus ServiceLoader, který v projektech s moduly umí automaticky načíst kdo daný interface implementuje, proto datové vrstvy nepotřebují žádnou inicializaci. Pokud nejsou zapnuty moduly (projekty se springem) musí se vše vyhledat přes reflexi nebo třeba přes Class.forname jako u DB driverů.

JavaFX projekt vyžaduje moduly (module-info.java), Spring naopak.

Run* projekty obsahují dávky, které využívají maven (musí být nainstalován) pro vyčistění a sestavení projektu a vytvoření jar souboru určeného pro spuštění. Jsou tam taky dávky pro spuštění javy s příslušnými parametry.