Nejlepší odpověď
Pokud budete pro vytváření používat UML (nejčastěji používané diagramy) vaší softwarové architektury je Visual Paradigm Community Edition zcela zdarma řešení (pro osobní i jiné -Commercial).
Podpora diagramů UML 2.5 (zde je softwarová architektura MVC Framework využívající sekvenční diagram)
Model – view – controller ( MVC ) je jedním z nejpoužívanějších softwarových architekturních rámců pro vývoj uživatelských rozhraní, který rozděluje aplikaci na tři vzájemně propojené části (model / pohled a řadič). To slouží k oddělení interních reprezentací informací od způsobů, jak jsou informace uživateli předávány a přijímány.
Architektura MVC odděluje tyto hlavní součásti, což umožňuje efektivní opětovné použití kódu a paralelní vývoj pomocí konceptu oddělení obav, které je vhodné pro webovou i desktopovou aplikaci.
Například: JHispter je MVC framework (společně s REST API) pro Webové aplikace, i když nejoblíbenější framework Spring patří také k MVC pro všechny druhy aplikací.
V UML můžete použít sekvenci diagram, který představuje vaši softwarovou architekturu MVC. (Zdroj: Visual Paradigm – MVC Framework – Visual Paradigm Community Circle )
- Entity jsou objekty představující systémová data: zákazník, produkt, transakce, košík atd.
- Hranice jsou objekty, které jsou propojeny s aktéry systému: UserInterface, DataBaseGateway, ServerProxy atd.
- Ovládací prvky jsou objekty, které zprostředkovávají mezi hranicemi a entitami.
Organizují provádění příkazů přicházející z hranice interakcí s entitou a hraničními objekty. Ovládací prvky často odpovídají scénáři případů použití a často jsou představovány sekvenčním diagramem.
Můžete použít stereotypy pro záchranné lano v sekvenčním diagramu MVC aby bylo vizuálně jasné, jaký typ objektů používáte v MVC
Vytvoření sekvenčního diagramu MVC pomocí bezplatného nástroje UML
Další informace o diagramech UML
Další informace o sekvenčních diagramech
odpověď
Přístup na vysoké úrovni, který obvykle používám při dokumentaci architektur (nebo dokonce podrobnějších návrhů na nižší úrovni), je:
- Identifikujte zúčastněné strany v oblasti designu. Inženýrský / vývojový tým je jednou ze zúčastněných stran. Váš tým testování / zajišťování kvality, tým IT infrastruktury, řízení projektů a možná i podpůrný personál mohou být také účastníky systému a zajímat se o různé aspekty designu.
- Určete oblasti zájmu ve vašem systému. Pokud má váš systém databázi, jedním hlediskem je struktura databáze. Pokud máte distribuovaný systém, pak by se mohli správci systému nebo pracovníci zákaznických služeb zajímat o to, kde jsou komponenty nainstalovány. Pokud máte veřejné rozhraní, pak externí vývojáře zajímá, co to rozhraní je – formáty souborů, datové formáty atd. Máte-li mnoho složitých algoritmů, pak návrháře / správce algoritmů zajímají pracovní postupy a kroky algoritmu. Každé hledané místo, které identifikujete, je konkrétní sadou obav.
- Pro každý hledisko, které máte, vyberte vhodné zastoupení. Pro vaše databázové hledisko mohou být užitečné diagramy vztahů mezi entitami a datový slovník. U veřejných rozhraní lze jako součást dokumentace zahrnout dokumenty schématu XML nebo dokumentaci API. U složitých algoritmů zvažte diagramy aktivity nebo interakce UML. Když zvolíte notaci, dávám přednost známým a dobře definovaným notacím, abych nemusel vysvětlovat svoji notaci někomu jinému a mohu je jednoduše nasměrovat na existující referenční materiál, pokud nezná použité symboly.
- Přidejte textové popisy a racionálně kolem diagramů. Vysvětlete nejen to, jaká byla architektonická rozhodnutí, která jste udělali, ale také to, co vás k tomu vedlo.
Architektonické rámce, jako je Zachman Framework, The Open Group Architectural Framework, Department of Defence Architectural Framework a další architektonické rámce pomáhají definováním základních hledisek a pohledů, které jsou obecně použitelné.
Nakonec „nejlepší“ dokumentace je ta, která odpovídá potřebám zúčastněných stran.Prvním krokem je zjištění, kdo tyto informace potřebuje a co přesně potřebuje.