====== Checkpoint 1 ====== Odevzdává se SRS systému (viz např. https://krazytech.com/projects/sample-software-requirements-specificationsrs-report-airline-database). **Není nutné vyplňovat všechny sekce**, ovšem přečtení vám pomůže uvědomit si potenciální problémy, které při návrhu systému mohou nastat. Výsledné SRS však musí nutně obsahovat: * Pro jaké uživatele (druhy uživatelů) bude systém určen (je nutné mít alespoň 2 funkčně různé uživatele), * Jaké bude plnit funkce (k čemu bude jednotlivým druhům uživatelů sloužit), * Jaká bude mít systém omezení (k čemu sloužit nebude, ačkoliv by to mohlo být očekáváno), * Objektový model (UML class diagram)*, * Navrhujte s ohledem na očekávané funkce systému, autentizaci do systému a další omezení, * Obsahuje minimálně 5 tříd - několik vazeb 1:N a minimálně jedna vazba M:N (M:N databázové vazebné tabulky se nepočítají do celkového počtu tříd), * **Systém navrhněte dostatečně komplexně - tedy tak, jak byste jej jako uživatelé chtěli používat,** * **V rámci tohoto předmětu stačí implementovat jen část funkcionality. Zamyslete se nad tím (a v dokumentu zřetelně vyznačte), kterou funkcionalitu chcete implementovat vzhledem k [[cp2|požadavkům na odevzdávanou aplikaci]].** Vyplnit relevantní sekce stačí stručně a výstižně (očekáváme cca 1-2 strany vlastního popisu). Dále se odevzdává a prezentuje fungující zárodek aplikace (Projekt kompilovatelný Mavenem) obsahující: * JPA entity odpovídající doménovému modelu * dědičnost (vybrat vhodnou strategii) nebo alespoň ''@MappedSuperClass'', * DAO vrstva, * Netriviální část business logiky propojené pomocí dependency injection (tedy ne pouze čistý CRUD), * Netriviální testy existující části aplikace. To vše musí být přítomno ve Vašem Git repozitáři. * Ke kreslení diagramu lze použít např. Community edici aplikace [[http://astah.net/editions/community|Astah]], nebo open-source nástroj [[https://www.modelio.org/|Modelio]].