Bedste svar
Hvis du vil bruge UML (de mest anvendte diagrammer) til at oprette din softwarearkitektur, Visual Paradigm Community Edition er en helt gratis løsning (til personlig og ikke -Commercial).
Understøtter UML 2.5-diagrammer (her er en MVC Framework-softwarearkitektur ved hjælp af sekvensdiagram)
Model – view – controller ( MVC ) er en af de mest anvendte rammer for softwarearkitektur til udvikling af brugergrænseflader, der opdeler et program i tre sammenkoblede dele (model / visning og controller). Dette gøres for at adskille interne repræsentationer af information fra måder, information præsenteres for og accepteres fra brugeren.
MVC-arkitekturen afkobler disse hovedkomponenter, hvilket muliggør effektiv kodegenbrug og parallel udvikling ved hjælp af begrebet adskillelse af bekymringer, der er velegnet til både web- og desktopapplikationer.
For eksempel: JHispter er MVC-ramme (sammen med REST API) til Webapplikationer, mens den mest populære ramme foråret også hører til MVC til alle slags applikationer.
I UML kan du bruge en sekvens diagram, der repræsenterer din MVC-softwarearkitektur. (Kilde: Visual Paradigm – MVC Framework – Visual Paradigm Community Circle )
- Enheder er objekter, der repræsenterer systemdata: kunde, produkt, transaktion, indkøbskurv osv.
- grænser er objekter, der grænseflader med systemaktører: UserInterface, DataBaseGateway, ServerProxy osv.
- Kontroller er objekter, der formidler mellem grænser og enheder.
De orkestrerer udførelsen af kommandoer kommer fra grænsen ved at interagere med enhed og grænseobjekter. Kontroller svarer ofte til brugsscenarier og ofte repræsenteret af et sekvensdiagram.
Du kan bruge stereotyper til livslinjen i MVC-sekvensdiagrammet for at gøre det visuelt klart, hvilken type objekter du bruger i MVC
For at oprette MVC-sekvensdiagram med gratis UML-værktøj
Forstå mere om UML-diagrammer
Lær mere om sekvensdiagrammer
Svar
Den tilgang på højt niveau, som jeg generelt tager, når jeg dokumenterer arkitekturer (eller endnu mere detaljerede design på lavere niveau) er:
- Identificer designets interessenter. Ingeniør- / udviklingsteamet er en af interessenterne. Dit test- / kvalitetssikringsteam, IT-infrastrukturteam, projektledelse og måske supportmedarbejdere kan også være interessenter i systemet og interesseret i forskellige aspekter af designet.
- Identificer de områder, der er bekymrede i dit system. Hvis dit system har en database, er et synspunkt databasestrukturen. Hvis du har et distribueret system, kan systemadministratorer eller kundeservicemedarbejdere være interesserede i, hvor komponenter er installeret. Hvis du har en offentlig grænseflade, er eksterne udviklere interesseret i, hvad grænsefladen er – filformater, dataformater osv. Hvis du har mange komplekse algoritmer, så er algoritmedesignerne / vedligeholdere interesseret i arbejdsgange og algoritmetrin. Hvert synspunkt, som du identificerer, er et specifikt sæt bekymringer.
- For hvert synspunkt, du har, skal du vælge en passende repræsentation. For dit databasesynpunkt kan måske enhedsforholdsdiagrammer og en datadeksikon være nyttige. For offentlige grænseflader kan XML Schema-dokumenter eller API-dokumentation medtages som en del af din dokumentation. For komplekse algoritmer skal du overveje UML-aktivitets- eller interaktionsoversigtsdiagrammer. Når du vælger en notation, foretrækker jeg kendte og veldefinerede notationer, så jeg ikke behøver at forklare min notation til en anden og simpelthen kan pege dem på eksisterende referencemateriale, hvis de ikke kender de anvendte symboler.
- Tilføj tekstbeskrivelser og rationelle omkring diagrammerne. Forklar ikke kun, hvad de arkitektoniske beslutninger, du har taget, var, men hvad der fik dig til at træffe disse beslutninger.
Arkitektoniske rammer, såsom Zachman Framework, The Open Group Architectural Framework, Department of Forsvarsarkitektoniske rammer og andre arkitektoniske rammer hjælper med at definere vigtige synspunkter og synspunkter, der generelt er anvendelige.
I sidste ende er “den bedste” dokumentation den, der imødekommer interessenternes behov.At identificere, hvem der har brug for informationen, og hvad de præcist har brug for, er det første skridt.