Bästa svaret
Om du ska använda UML (de mest använda diagrammen) för att skapa din programvaruarkitektur, Visual Paradigm Community Edition är en helt gratis lösning (för personlig och icke -Commercial).
Stöd UML 2.5-diagram (här är en MVC Framework-programvaruarkitektur med sekvensdiagram)
Model – view – controller ( MVC ) är en av de mest använda ramarna för programvaruarkitektur för att utveckla användargränssnitt som delar upp en applikation i tre sammankopplade delar (modell / vy och styrenhet). Detta görs för att separera interna representationer av information från hur information presenteras för och accepteras från användaren.
MVC-arkitekturen frikopplar dessa huvudkomponenter som möjliggör effektiv kodåteranvändning och parallell utveckling med begreppet separering av problem som är lämpliga för både webb- och skrivbordsapplikationer.
Till exempel: JHispter är MVC-ramverk (tillsammans med REST API) för Webbapplikationer, medan den mest populära ramverk våren också tillhör MVC för alla typer av applikationer.
I UML kan du använda en sekvens diagram för att representera din MVC-programvaruarkitektur. (Källa: Visual Paradigm – MVC Framework – Visual Paradigm Community Circle )
- Enheter är objekt som representerar systemdata: Kund, produkt, transaktion, kundvagn osv.
- Gränser är objekt som gränssnitt med systemaktörer: UserInterface, DataBaseGateway, ServerProxy, etc.
- Kontroller är objekt som förmedlar mellan gränser och enheter.
De ordnar körningen av kommandon kommer från gränsen genom att interagera med entitets- och gränsobjekt. Kontroller motsvarar ofta användningsfallsscenariet och representeras ofta av ett sekvensdiagram.
Du kan använda stereotyper för livlinjen i MVC-sekvensdiagrammet för att göra det tydligt klart vilken typ av objekt du använder i MVC
Skapa MVC-sekvensdiagram med gratis UML-verktyg
Förstå mer om UML-diagram
Läs mer om sekvensdiagram
Svar
Den högnivåstrategi som jag brukar använda när jag dokumenterar arkitekturer (eller ännu mer detaljerade design på lägre nivåer) är:
- Identifiera designintressenterna. Ingenjörs- / utvecklingsteamet är en intressent. Ditt test- / kvalitetssäkringsteam, IT-infrastrukturteam, projektledning och kanske supportpersonal kan också vara intressenter av systemet och intresserade av olika aspekter av designen.
- Identifiera de områden som berörs i ditt system. Om ditt system har en databas är en synvinkel databasstrukturen. Om du har ett distribuerat system kan systemadministratörer eller kundtjänstpersonal vara intresserade av var komponenterna är installerade. Om du har ett offentligt gränssnitt är externa utvecklare intresserade av vad gränssnittet är – filformat, dataformat etc. Om du har många komplexa algoritmer är algoritmdesignerna / underhållarna intresserade av arbetsflöden och algoritmstegen. Varje synvinkel som du identifierar är en specifik uppsättning bekymmer.
- För varje synvinkel du har väljer du en lämplig representation. För din databassynpunkt kan kanske enhetsrelationsdiagram och en datalogg vara användbart. För offentliga gränssnitt kan XML Schema-dokument eller API-dokumentation inkluderas som en del av din dokumentation. För komplexa algoritmer, överväg UML-aktivitet eller interaktionsöversiktsdiagram. När du väljer en notation föredrar jag välkända och väldefinierade notationer så att jag inte behöver förklara min notation för någon annan och helt enkelt kan peka dem på befintligt referensmaterial om de inte vet vilka symboler som används.
- Lägg till textbeskrivningar och rationella runt diagrammen. Förklara inte bara vilka arkitektoniska beslut du fattade, utan vad som drivte dig att fatta dessa beslut.
Arkitektoniska ramar, som Zachman Framework, The Open Group Architectural Framework, Department of Defence Architectural Framework och andra arkitektoniska ramar hjälper till genom att definiera väsentliga synpunkter och åsikter som är allmänt tillämpliga.
I slutändan är ”den bästa” dokumentationen den som tillgodoser intressenternas behov.Att identifiera vem som behöver informationen och vad de behöver är det första steget.