Architektura Vedení sesterské dokumentace
Tým Lorem Ipsum Verze 1.1
29.3.2015
Obsah 1 Kontext.............................................................................................................................................3 1.1 Cíle projektu.............................................................................................................................3 2 Technologie.......................................................................................................................................3 2.1 Zvolená alternativa tvorby GUI................................................................................................3 3 Datové schéma..................................................................................................................................4 4 Navržená architektura.......................................................................................................................5 4.1 Fyzický pohled..........................................................................................................................5 4.2 Procesní pohled.........................................................................................................................5 4.3 Logický pohled.........................................................................................................................5 4.4 Vývojový pohled.......................................................................................................................6 4.5 Scénáře užití..............................................................................................................................7
Verze dokumentu Verze
Popis změn
Datum
Autor
1.0
Sepsání dokumentu
21.3.2015
Kateřina Štollová
1.1
Úpravy na podnět mentora.
29.3.2015
Kateřina Štollová
Tým Lorem Ipsum
Vedení sesterské dokumentace
1 Kontext 1.1
Cíle projektu
Cílem projektu je vytvořit aplikaci pro tablety s OS Windows 8.1, pomocí níž budou sestry moci vzdáleně přistupovat ke stávajícími informačnímu systému nemocnice. Jedná se o aplikaci, která bude používaná na jednotkách intenzivní péče (JIP). Aplikace poskytne informace o bilanci tekutin, invazivních přístupech a ordinovaných lécích pro každého pacienta na oddělení.
2 Technologie Technologie byly dané ze zadání. Aplikace komunikuje s existující Oracle databází. Zákazník vyžadoval implementaci pomocí jazyka C#, protože aplikaci hodlá převzít pod svou správu. Pro vývoj jsme zvolili Visual Studio 2013, které je přímo uzpůsobeno vývoji pomocí jazyka C# i pro mobilní platformy a se kterým má celý tým zkušenosti. Nástrojovou sadu, Git a Redmine, určil mentor.
2.1 Zvolená alternativa tvorby GUI Existují dvě možnosti vývoje aplikace pro tablet s Windows 8.1, a to Windows Presentation Forms aplikace (tzv. WPF) nebo Windows Store aplikace (tzv. Metro). WPF aplikace je standardní desktopová aplikace s uživatelským rozhraním definovaným mimo kód v XAML souborech. Přestože je předně určena pro počítače, lze ji spustit i na tabletu. Metro aplikace je klasická aplikace pro Windows 8, která přebírá i nový grafický styl této verze Windows. Pro vývoj Metro aplikací je třeba vlastnit Windows 8.1, protože na nižších verzích Windows nelze pro Metro vyvíjet. Pro vývoj jsme zvolili WPF aplikaci, a to z několika důvodů. Především se jednalo o zkušenost členů týmů s WPF a poté potřeba vlastnit Windows 8.1 pro vývoj Metro aplikace. Metro aplikaci lze navíc publikovat pouze přes Windows Store, což pro zákazníka představuje překážku navíc. Posledním důvodem je požadavek zákazníka, aby uživatelské rozhraní co nejvíce odpovídalo aktuálnímu, na které jsou zaměstnanci nemocnice zvyklí. Tento požadavek lépe splňuje WPF aplikace. Vybranou alternativu jsme konzultovali se zákazníkem a ten souhlasil.
Verze 1.1
3/7
Poslední úprava: 29.3.2015
Tým Lorem Ipsum
Vedení sesterské dokumentace
3 Datové schéma Následující obrázek zobrazuje schéma části databáze, se kterou bude aplikace pracovat. Skutečná databáze je mnohem rozsáhlejší. Pro komunikaci s databází budeme využívat Entity Framework 6.1.3.
Ilustrace 1: Schéma databáze Verze 1.1
4/7
Poslední úprava: 29.3.2015
Tým Lorem Ipsum
Vedení sesterské dokumentace
4 Navržená architektura Pro popis architektury bude použit systém 4+1 pohledů na softwarový produkt.
4.1 Fyzický pohled Aplikace fyzicky poběží na tabletu, resp. na několika tabletech. Vzdáleně bude komunikovat s Oracle databází verze 11g. Diagram nasazení je zobrazen na obrázku 2.
Ilustrace 2: Diagram nasazení
4.2 Procesní pohled Aplikace bude na každém tabletu běžet v jednom procesu s jedním vláknem. Pokud by se ukázalo, že bude třeba provádět delší výpočty a vlákno uživatelského rozhraní nebude dostačující, bude vytvořeno jedno pomocné pracovní vlákno.
4.3 Logický pohled Pro vývoj aplikace jsme zvolili architekturu MVVM (Model-View-Viewmodel). Jedná se o třívrstvou architekturu, která odděluje data (model), uživatelské rozhraní (view) a logiku aplikace (viewmodel). Pro zobrazování dat v uživatelském rozhraní je využito tzv. bindování. Aplikace bude dále členit do logických celků podle funkčnosti. Požadované funkčnosti zobrazuje podrobně obrázek 4. Každé funkčnosti odpovídá jedna obrazovka GUI – tj. bude vytvořena jedna třída ve vrstvě view a příslušná třída ve vrstvě viewmodel. Třídy vrstvy model odpovídají databázovému schématu na obrázku 1. Logický pohled na aplikaci zobrazuje obrázek 3.
Verze 1.1
5/7
Poslední úprava: 29.3.2015
Tým Lorem Ipsum
Vedení sesterské dokumentace
Ilustrace 3: Schéma architektury MVVM
4.4 Vývojový pohled Jak bylo zmíněno výše, jedná se o trojvrstvou architekturu. Komunikace probíhá mezi sousedícími vrstvami, z čehož plyne, že nižší vrstva poskytuje některé své metody vyšší vrstvě. Konkrétně datová vrstva poskytuje některé frekventované dotazy nad databází logické vrstvě za použití návrhového vzoru jedináček.
4.4.1 Komentování kódu Komentáře v kódu jsou požadovány ze strany zákazníka, protože zákazník bude aplikaci dále udržovat. Kód se komentuje česky. Není nutné komentovat zřejmé konstrukce, např. třídy model odpovídají zcela databázi, kterou má zákazník ve správě, takže by jim měl rozumět. Naopak je nutné komentovat klíčové části kódu, které zákazník vidí poprvé.
Verze 1.1
6/7
Poslední úprava: 29.3.2015
Tým Lorem Ipsum
Vedení sesterské dokumentace
4.5 Scénáře užití Následující obrázek zobrazuje případy užití.
Ilustrace 4: Scénáře užití
Verze 1.1
7/7
Poslední úprava: 29.3.2015