Beste svaret
Hvis du skal bruke UML (de mest brukte diagrammer) for å lage programvarearkitekturen din, Visual Paradigm Community Edition er en helt gratis løsning (for personlig og ikke -Commercial).
Støtter UML 2.5-diagrammer (her er en MVC Framework-programvarearkitektur som bruker sekvensdiagram)
Model – view – controller ( MVC ) er et av de mest brukte rammene for programvarearkitektur for utvikling av brukergrensesnitt som deler en applikasjon i tre sammenkoblede deler (modell / visning og kontroller). Dette gjøres for å skille interne representasjoner av informasjon fra måtene informasjon blir presentert for og akseptert fra brukeren.
MVC-arkitekturen frakobler disse hovedkomponentene, noe som muliggjør effektiv gjenbruk av kode og parallell utvikling ved bruk av konseptet separasjon av bekymringer som passer både for web- og skrivebordsprogrammer.
For eksempel: JHispter er MVC-rammeverk (sammen med REST API) for Nettapplikasjoner, mens det mest populære rammeverket også tilhører MVC for alle slags applikasjoner.
I UML kan du bruke en sekvens diagram for å representere din MVC programvarearkitektur. (Kilde: Visual Paradigm – MVC Framework – Visual Paradigm Community Circle )
- Enheter er objekter som representerer systemdata: kunde, produkt, transaksjon, handlevogn osv.
- grenser er objekter som grensesnitt med systemaktører: UserInterface, DataBaseGateway, ServerProxy, etc.
- Kontroller er objekter som formidler mellom grenser og enheter.
De orkestrerer utførelsen av kommandoer kommer fra grensen ved å samhandle med enhet og grenseobjekter. Kontroller tilsvarer ofte brukssituasjon og ofte representert av et sekvensdiagram.
Du kan bruke stereotyper for livlinjen i MVC-sekvensdiagrammet for å gjøre det klart visuelt hvilken type objekter du bruker i MVC
For å lage MVC-sekvensdiagram med gratis UML-verktøy
Forstå mer om UML-diagrammer
Lær mer om sekvensdiagrammer
Svar
Tilnærmingen på høyt nivå som jeg vanligvis tar når jeg dokumenterer arkitekturer (eller enda mer detaljerte design på lavere nivå) er:
- Identifiser designinteressentene. Ingeniør / utviklingsteamet er en av interessentene. Test- / kvalitetssikringsteamet ditt, IT-infrastrukturteamet, prosjektledelsen og kanskje støttepersonalet kan også være interessenter i systemet og interessert i ulike aspekter av designet.
- Identifiser de bekymringsområdene i systemet ditt. Hvis systemet ditt har en database, er ett synspunkt databasestrukturen. Hvis du har et distribuert system, kan systemadministratorene eller kundeservicemedarbeiderne være interessert i hvor komponentene er installert. Hvis du har et offentlig grensesnitt, er eksterne utviklere interessert i hva grensesnittet er – filformater, dataformater osv. Hvis du har mange komplekse algoritmer, er algoritmedesignerne / vedlikeholdere interessert i arbeidsflyter og algoritmetrinn. Hvert synspunkt du identifiserer, er et spesifikt sett med bekymringer.
- For hvert synspunkt du har, velg en passende representasjon. For databasesynpunktet ditt kan kanskje diagrammer for enhetsforhold og en dataordbok være nyttig. For offentlige grensesnitt kan XML Schema-dokumenter eller API-dokumentasjon inkluderes som en del av dokumentasjonen. For komplekse algoritmer, vurder UML-aktivitet eller interaksjonsoversiktsdiagrammer. Når du velger en notasjon, foretrekker jeg kjente og veldefinerte notasjoner slik at jeg ikke trenger å forklare notasjonen min til noen andre, og bare kan peke dem på eksisterende referansemateriale hvis de ikke kjenner symbolene som brukes.
- Legg til tekstbeskrivelser og rasjonelle rundt diagrammene. Forklar ikke bare hva de arkitektoniske beslutningene du tok var, men hva som fikk deg til å ta disse beslutningene.
Arkitektoniske rammer, som Zachman Framework, The Open Group Architectural Framework, Department of Defense Architectural Framework, og andre arkitektoniske rammer hjelper ved å definere viktige synspunkter og synspunkter som generelt er anvendelige.
Til syvende og sist er «den beste» dokumentasjonen den som tilfredsstiller interessentenes behov.Å identifisere hvem som trenger informasjonen og hva de trenger er det første trinnet.