Najlepsza odpowiedź
Jeśli zamierzasz używać UML (najczęściej używanych diagramów) do tworzenia Twoja architektura oprogramowania, Visual Paradigm Community Edition to całkowicie bezpłatne rozwiązanie (do użytku osobistego i nie -Commercial).
Obsługa diagramów UML 2.5 (tutaj jest architektura oprogramowania MVC Framework wykorzystująca diagram sekwencji)
Model – widok – kontroler ( MVC ) to jedna z najczęściej używanych struktur architektury oprogramowania do tworzenia interfejsów użytkownika, która dzieli aplikację na trzy połączone ze sobą części (model / widok i kontroler). Ma to na celu oddzielenie wewnętrznej reprezentacji informacji od sposobu, w jaki informacje są przedstawiane użytkownikowi i przez niego akceptowane.
Architektura MVC oddziela te główne komponenty, umożliwiając wydajne ponowne wykorzystanie kodu i równoległe tworzenie przy użyciu koncepcji oddzielenie problemów, które jest odpowiednie zarówno dla aplikacji internetowej, jak i komputerowej.
Na przykład: JHispter to framework MVC (razem z REST API) dla Aplikacje internetowe, podczas gdy najpopularniejsze framework Spring również należą do MVC dla wszystkich rodzajów aplikacji.
W UML można użyć sekwencji diagram przedstawiający architekturę oprogramowania MVC. (Źródło: Visual Paradigm – MVC Framework – Visual Paradigm Community Circle )
- Podmioty to obiekty reprezentujące dane systemowe: klient, produkt, transakcja, koszyk itp.
- Granice to obiekty, które łączą się z aktorami systemu: UserInterface, DataBaseGateway, ServerProxy itp.
- Kontrolki to obiekty, które pośredniczą między granicami i jednostkami.
Organizują wykonywanie poleceń pochodzące z granicy poprzez interakcję z bytem i obiektami granicznymi. Kontrolki często odpowiadają scenariuszom przypadków użycia i często są reprezentowane przez diagram sekwencji.
Możesz użyć stereotypów dla linii życia na diagramie sekwencji MVC aby wizualnie wyjaśnić, jakiego typu obiektów używasz w MVC
Tworzenie diagramu sekwencji MVC za pomocą bezpłatnego narzędzia UML
Dowiedz się więcej o diagramach UML
Dowiedz się więcej o diagramach sekwencji
Odpowiedź
Podejście wysokiego poziomu, które zazwyczaj stosuję podczas dokumentowania architektur (lub nawet bardziej szczegółowych projektów niższego poziomu) to:
- Zidentyfikuj interesariuszy projektu. Zespół inżynierów / programistów to jeden z interesariuszy. Twój zespół ds. Testowania / zapewnienia jakości, zespół infrastruktury IT, kierownictwo projektu i być może personel pomocniczy również mogą być interesariuszami systemu i być zainteresowani różnymi aspektami projektu.
- Zidentyfikuj obszary, których dotyczy Twój system. Jeśli twój system ma bazę danych, jednym punktem widzenia jest struktura bazy danych. Jeśli masz system rozproszony, administratorzy systemu lub pracownicy obsługi klienta mogą być zainteresowani lokalizacją komponentów. Jeśli masz interfejs publiczny, zewnętrzni programiści są zainteresowani tym, czym jest ten interfejs – formatami plików, formatami danych itp. Jeśli masz wiele złożonych algorytmów, projektanci / opiekunowie algorytmów są zainteresowani przepływem pracy i krokami algorytmu. Każdy zidentyfikowany punkt widzenia to określony zestaw obaw.
- Dla każdego posiadanego punktu widzenia wybierz odpowiednią reprezentację. W przypadku punktu widzenia bazy danych przydatne mogą być diagramy relacji encji i słownik danych. W przypadku interfejsów publicznych dokumenty schematu XML lub dokumentacja API mogą być dołączone jako część dokumentacji. W przypadku złożonych algorytmów należy rozważyć diagramy przeglądu aktywności lub interakcji UML. Kiedy wybierasz notację, wolę dobrze znane i dobrze zdefiniowane notacje, więc nie muszę wyjaśniać swojej notacji nikomu i mogę po prostu wskazać istniejący materiał odniesienia, jeśli nie znają użytych symboli.
- Dodaj opisy tekstowe i racjonalne wokół diagramów. Wyjaśnij nie tylko, jakie były decyzje architektoniczne, które podjąłeś, ale także co skłoniło Cię do podjęcia tych decyzji.
Ramy architektoniczne, takie jak Zachman Framework, The Open Group Architectural Framework, Departament Defence Architectural Framework i inne ramy architektoniczne pomagają w definiowaniu podstawowych punktów widzenia i poglądów, które mają zastosowanie.
Ostatecznie „najlepszą” dokumentacją jest ta, która spełnia potrzeby interesariuszy.Rozpoznanie, kto potrzebuje informacji i czego dokładnie potrzebuje, to pierwszy krok.