Przejdź do treści
Read this post in: de_DEen_USes_ESfr_FRid_IDjapl_PLpt_PTru_RUvizh_CNzh_TW
Home » UML » Od przypadku użycia do frameworka MVC: Przewodnik po rozwoju systemów zorientowanych obiektowo

Od przypadku użycia do frameworka MVC: Przewodnik po rozwoju systemów zorientowanych obiektowo

Diagramy klassą kluczowym elementem programowania zorientowanego obiektowo, pomagając programistom wizualizować strukturę swojego oprogramowania oraz jego interakcje. W rozwoju oprogramowania ważne jest identyfikowanie klas na podstawie przypadków użycia, aby stworzyć dokładny i skuteczny diagram klas. W tym artykule omówimy kroki prowadzące do identyfikacji klas na podstawie przypadku użycia, a następnie tworzenia diagramu klas. Omówimy również, jak wdrożyć diagram klas do szczegółowego diagramu klas MVC.

MVC framework

Krok 1: Identyfikacja przypadków użycia

Zanim stworzysz diagram klas, konieczne jest zrozumienie dziedziny problemu oraz przypadków użycia, które oprogramowanie ma obsługiwać. Przypadek użycia reprezentuje określoną funkcjonalność, którą system musi zapewnić użytkownikom. Identyfikację przypadków użycia można przeprowadzić poprzez rozmowy z interesariuszami, przeglądanie dokumentów wymagań oraz sesje mózgowego sztormu.

Krok 2: Identyfikacja klas

Po identyfikacji przypadków użycia możesz rozpocząć identyfikację klas, które będą potrzebne do obsługi tych przypadków użycia. Klasa to szablon do tworzenia obiektów, które zawierają właściwości i metody. Klasy mogą reprezentować rzeczywiste istoty lub pojęcia abstrakcyjne.

Na przykład, jeśli przypadek użycia dotyczy zarządzania informacjami o klientach, możesz zidentyfikować klasę Customer, która zawierałaby właściwości takie jak imię, adres i e-mail. Jeśli przypadek użycia dotyczy przetwarzania płatności, możesz zidentyfikować klasę Payment, która zawierałaby właściwości takie jak kwota płatności, sposób płatności i data płatności.

Krok 3: Identyfikacja relacji

Po zidentyfikowaniu klas musisz określić, jak są ze sobą powiązane. Relacje między klasami można przedstawić za pomocą łączenia, agregacji lub kompozycji.

Łączenie reprezentuje relację między dwiema klasami, w której jedna klasa korzysta z usług drugiej klasy. Agregacja reprezentuje relację między dwiema klasami, w której jedna klasa zawiera drugą klasę jako część, ale część może istnieć niezależnie od całości. Kompozycja reprezentuje relację między dwiema klasami, w której jedna klasa zawiera drugą klasę jako część, a część nie może istnieć niezależnie od całości.

Krok 4: Tworzenie diagramu klas

Korzystając z zidentyfikowanych klas i relacji możesz stworzyć diagram klas. Diagram klas to wizualne przedstawienie klas i ich relacji. Pokazuje właściwości i metody każdej klasy oraz relacje między klasami.

W diagramie klas każda klasa jest przedstawiona jako prostokąt, z nazwą klasy na górze prostokąta. Właściwości klasy są wymienione w środku prostokąta, a metody na dole prostokąta. Relacje między klasami są przedstawione za pomocą linii, przy czym różne typy linii reprezentują różne rodzaje relacji.

Krok 5: Wdrożenie diagramu klas do szczegółowego diagramu klas MVC

Po stworzeniu diagramu klas możesz go wdrożyć do szczegółowego diagramu klas MVC. Model-View-Controller (MVC) to wzorzec projektowy oprogramowania, który dzieli aplikację na trzy wzajemnie powiązane komponenty: model, widok i kontroler.

Model reprezentuje dane i logikę biznesową aplikacji. Widok reprezentuje interfejs użytkownika aplikacji. Kontroler obsługuje komunikację między modelem a widokiem.

Aby wdrożyć diagram klas do szczegółowego diagramu klas MVC, musisz zidentyfikować, które klasy reprezentują model, widok i kontroler. Klasy modelu powinny zawierać dane i logikę biznesową aplikacji. Klasy widoku powinny zawierać interfejs użytkownika aplikacji. Klasy kontrolera powinny obsługiwać komunikację między modelem a widokiem.

Po zidentyfikowaniu klas reprezentujących model, widok i kontroler możesz zaktualizować diagram klas, aby odzwierciedlić te przypisania. Możesz użyć różnych kolorów lub stylów linii, aby odróżnić klasy modelu, widoku i kontrolera.

Przykład: System wynajmu samochodów

Opis problemu: Firma wynajmu samochodów chce stworzyć system oprogramowania, który pozwoli klientom wynajmować samochody online. Klienci powinni móc przeglądać dostępne samochody, wybierać samochód do wynajęcia i dokonywać rezerwacji. System powinien śledzić dostępność samochodów oraz rezerwacje dokonywane przez klientów.

Krok 1: Identyfikacja przypadków użycia

  • Przeglądaj dostępne samochody
  • Wybierz samochód do wynajęcia
  • Zrób rezerwację

Car Rental Use Case Diagram

Ten diagram przypadków użycia pokazuje trzy główne przypadki użycia zidentyfikowane w kroku 1: Przeglądaj dostępne samochody, Wybierz samochód do wynajęcia i Zrób rezerwację. Aktor Klient współdziała z systemem CarRentalSystem, aby wykonać te czynności.

Krok 2: Identyfikacja klas

  • Klient
  • Samochód
  • Rezerwacja

Krok 3: Zidentyfikuj relacje

  • Klient może dokonać wielu rezerwacji, ale każda rezerwacja jest dokonywana przez jednego klienta. Jest to relacja jeden do wielu, przedstawiona jako powiązanie między klasami Klient i Rezerwacja.
  • Samochód może być wynajmowany przez wielu klientów, ale każdy wynajem dotyczy tylko jednego samochodu. Jest to również relacja jeden do wielu, przedstawiona jako powiązanie między klasami Samochód i Rezerwacja.

Krok 4: Opracuj diagram klas

Car Rental Simple Class Diagram

Ten diagram klas pokazuje trzy główne klasy zidentyfikowane w kroku 2: Klient, Samochód i Rezerwacja. Pokazuje również relacje zidentyfikowane w kroku 3: relację jeden do wielu między Klientem i Rezerwacją oraz relację jeden do wielu między Samochodem i Rezerwacją. Każda klasa zawiera również atrybuty i metody zidentyfikowane w trakcie fazy analizy.

Krok 5: Wyostrz diagram klas do szczegółowego diagramu klas MVC

  • Model: Samochód, Klient, Rezerwacja
  • Widok: Interfejs użytkownika (UI)
  • Sterownik: CarRentalController

Ten diagram klas MVC pokazuje trzy główne komponenty systemu zidentyfikowane w kroku 5: Model, Widok i Sterownik.
Model zawiera klasy Klient, Samochód i Rezerwacja, razem z metodami wyszukiwania samochodów i dokonywania rezerwacji. Widok jest reprezentowany przez interfejs CarRentalView, który definiuje metody wyświetlania samochodów i szczegółów rezerwacji. Sterownik jest reprezentowany przez klasę CarRentalController, która współdziała z Modelem i Widokiem w celu obsługi działań użytkownika i aktualizacji stanu systemu. Diagram zawiera również relacje między klasami zidentyfikowanymi w poprzednich krokach.

Refined Car Rental Class Diagram (MVC)

Zauważ, że:

  • SterownikModelzawiera klasyKlient, Samochód, orazRezerwacjaklasy, razem z metodami wyszukiwania samochodów i dokonywania rezerwacji.
  • WidokWidokjest reprezentowany przez interfejs CarRentalView, który definiuje metody wyświetlania samochodów i szczegółów rezerwacji.
  • SterownikSterownikjest reprezentowany przez klasę CarRentalController, która współdziała z Modelem i Widokiem w celu obsługi działań użytkownika i aktualizacji stanu systemu.
  • Diagram zawiera również relacje między klasami zidentyfikowanymi w poprzednich krokach.

Utwórz diagram ERD na podstawie wyniku modelowania obiektów

Ten diagram ERD pokazuje trzy główne encje identyfikowane w opisie problemu: Klient, Samochód i Rezerwacja. Pokazuje również relacje między tymi encjami: relację jeden do wielu między Klientem a Rezerwacją, relację jeden do wielu między Samochodem a Rezerwacją oraz brak bezpośredniej relacji między Klientem a Samochodem. Każda encja zawiera atrybuty identyfikowane w trakcie fazy analizy.

Car Rental ERD

Diagram ERD odpowiada wyłącznie za modelowanie warstwy trwałości danych systemu, podczas gdy diagram klas modeluje cały system, w tym warstwy Model, Widok i Kontroler.

Innymi słowy, diagram ERD reprezentuje schemat bazy danych i relacje między tabelami/encjami, podczas gdy diagram klas reprezentuje klasy oraz ich relacje, atrybuty i metody tworzące cały system.

 

Jak identyfikować brakujące obiekty w celu wdrożenia diagramu klas

Podczas tworzenia początkowego diagramu klas MVC ważne jest, aby wziąć pod uwagę kluczowe obiekty, które będą uczestniczyć w zachowaniu systemu. Jednak w miarę jak zaczynamy tworzyć scenariusze przypadków użycia i odpowiadające im diagramy sekwencji, możemy odkryć dodatkowe obiekty, które należy uwzględnić w diagramie klas, aby w pełni przedstawić system. Ten proces iteracyjny pozwala nam doskonalić diagram klas, gdy zyskujemy lepsze zrozumienie zachowania systemu i jego wymagań.

Car Rental MVC Sequence Diagram

Doskonalenie diagramu klas MVC za pomocą brakujących obiektów odkrytych w scenariuszu przypadku użycia

Podczas przejścia przez proces diagramu sekwencji MVC możemy odkryć dodatkowe obiekty, które należy uwzględnić w diagramie klas MVC, aby w pełni przedstawić zachowanie systemu. Aby doskonalić diagram klas MVC, możemy postępować według następujących kroków:

  1. Zidentyfikuj brakujące obiekty: podczas tworzenia diagramu sekwencji MVC możemy zidentyfikować niektóre brakujące obiekty wymagane do ukończenia interakcji między istniejącymi obiektami. Te brakujące obiekty mogą obejmować nowe encje, usługi lub kontrolery, które początkowo nie zostały uwzględnione w pierwotnym diagramie klas MVC.
  2. Dodaj brakujące obiekty do diagramu klas MVC: po zidentyfikowaniu brakujących obiektów możemy je dodać do istniejącego diagramu klas MVC. Możemy również zmodyfikować relacje między istniejącymi obiektami a nowymi obiektami, jeśli to konieczne.
  3. Przejrzyj i doskonal relacje: po dodaniu brakujących obiektów do diagramu klas MVC powinniśmy przejrzeć relacje między obiektami i upewnić się, że poprawnie odzwierciedlają zachowanie systemu. Może się okazać, że należy zmodyfikować relacje między obiektami, aby uwzględnić nowe obiekty i zapewnić, że diagram nadal jest łatwy do zrozumienia.
  4. Powtarzaj, gdy to konieczne: jeśli podczas procesu diagramu sekwencji odkryjemy dodatkowe brakujące obiekty, możemy powtórzyć powyższe kroki, aby doskonalić diagram klas MVC, aż będzie on poprawnie odzwierciedlał zachowanie systemu.

Ogólnie rzecz biorąc, doskonalenie diagramu klas MVC poprzez proces diagramu sekwencji jest procesem iteracyjnym, który pozwala nam upewnić się, że diagram poprawnie odzwierciedla zachowanie systemu i jego wymagania.

Car Rental Class Diagram Refined (Miss objs discovered)

Wnioski

Proces identyfikowania klas i tworzenia diagramów klas jest ważnym krokiem w projektowaniu i rozwoju systemów oprogramowania. Pomaga zapewnić, że system jest dobrze zorganizowany, łatwy w utrzymaniu i spełnia wymagania użytkowników.

Śledząc kroki opisane w tym artykule – od analizy przypadków użycia po utworzenie diagramu klas MVC – programiści mogą zapewnić, że ich systemy oprogramowania są odpowiednio zaprojektowane, z jasno zdefiniowanymi klasami, relacjami i odpowiedzialnościami dla każdego komponentu systemu.

Ogólnie rzecz biorąc, proces identyfikowania klas i tworzenia diagramów klas może być trudny, ale jest niezbędnym krokiem w budowaniu wysokiej jakości systemów oprogramowania spełniających potrzeby użytkowników i interesariuszy.

Dodaj komentarz