de_DEen_USfa_IRfr_FRhi_INpl_PLpt_PTru_RUvi

Od tekstu do modeli UML: Praktyczny przykład studium przypadku przekształcania opisów problemów w diagramy klas i sekwencji

Wprowadzenie

W nowoczesnej inżynierii oprogramowania umiejętność przekształcania nieprecyzyjnych wymagań biznesowych w dokładne, wykonalne modele systemowe jest kluczowym umiejętnością. Analiza tekstowa stanowi potężny most między problemami sformułowanych w języku naturalnym a formalnymi diagramami UML (Unified Modeling Language). Niniejsze studium przypadku przedstawia kompletny, krok po kroku przepływ pracy pozwalający na wyodrębnienie kandydatów do klas z rzeczywistego opisu problemu, ich poprawę za pomocą systematycznych kryteriów odrzucenia oraz przekształcenie ich w solidne diagramy klas i sekwencji.

Wykorzystując system bezpieczeństwa parkingu Saturn International jako przykład pracy, pokazujemy, jak menedżerowie produktu, analitycy biznesowi i architekci oprogramowania mogą wykorzystać funkcję Analizy tekstowej w Visual Paradigm w celu przyspieszenia odkrywania wymagań, zmniejszenia niepewności i tworzenia utrzymywalnych artefaktów projektowych. Niezależnie od tego, czy modelujesz systemy kontroli dostępu, przepływy pracy w przedsiębiorstwie czy aplikacje skierowane do klientów, przedstawiona tu metodyka zapewnia powtarzalny schemat przekształcania słów w działające modele.

Transforming Problem Descriptions into Class and Sequence Diagrams


Opis problemu

Poniższy opis problemu zostanie wykorzystany w tym poradniku. Spójrzmy na niego.

Zarząd Saturn Int. chce poprawić swoje środki bezpieczeństwa zarówno dla budynku, jak i na terenie. Chciałby zapobiegać osobom niezwiązanych z firmą korzystaniu z ich parkingu.

Saturn Int. zdecydował się wydać karty tożsamości wszystkim pracownikom. Każda karta zawiera imię, dział i numer pracownika oraz zapewnia dostęp do parkingów firmy. Pracownicy są proszeni o noszenie kart podczas przebywania na terenie.

Na wejściu do parkingu znajduje się bariera oraz czytnik karty. Gdy kierowca wjeżdża samochodem na parking, włącza swoją kartę tożsamości do czytnika. Czytnik następnie sprawdza numer karty, aby sprawdzić, czy jest znany dla systemu. Jeśli numer zostanie rozpoznany, czytnik wysyła sygnał, który uruchamia podnoszenie barierki. Kierowca może następnie wjechać samochodem na parking.

Na wyjściu z parkingu znajduje się inna bariera, która automatycznie podnosi się, gdy samochód chce opuścić parking.

Na wejściu znajduje się tablica z napisem „Pełny”, gdy na parking nie ma wolnych miejsc. Tablica jest wyłączana tylko wtedy, gdy samochód opuszcza parking.

Istnieje inny rodzaj karty dla gości, która również umożliwia dostęp do parkingu. Karta zawiera numer i aktualną datę. Takie karty mogą być wysyłane z góry lub pobierane z recepcji. Wszystkie karty gościnne muszą zostać zwrócone do recepcji, gdy gość opuszcza Saturn Int.


Identyfikacja klas z tekstu

Tworzenie analizy tekstowej

  1. Utwórz nowy projekt. Wybierz Projekt > Nowy z głównego menu. W oknie Nowy projekt oknie nazwij projekt Poradnik i kliknij Utwórz pusty projekt aby potwierdzić.

  2. Utwórz nową analizę tekstową. Wybierz Diagram > Nowy z głównego menu.

  3. W oknie Nowy diagram oknie wybierz Analiza tekstowa i kliknij Dalej. Wprowadź Ulepszenie bezpieczeństwa jako nazwę diagramu i kliknij OK.

    Create Textual Analysis

  4. Otwiera się edytor analizy tekstowej. Skopiuj opis problemu podany powyżej i wklej go do edytora. Wklejenie można wykonać, naciskając Ctrl-V lub klikając prawym przyciskiem myszy w edytorze i wybierając Wklej.

    Identify candidate class

Identyfikacja kandydatów do obiektów na podstawie tekstu

Przeczytaj opis problemu, aby zidentyfikować kandydatów do klas. Gdy znajdziesz kandydata, kliknij prawym przyciskiem myszy na fragment tekstu i wybierz Dodaj tekst jako klasę z menu podręcznego.

Problem statement pasted

Poniżej znajduje się lista kandydatów do klasy:

Saturn Int. miary bezpieczeństwa budynek obiekt
Osoby niebędące częścią firmy Parking Karty tożsamości pracownicy
nazwa dział numer Personel firmy
Dostęp bariera czytnik karty kierowca
numer karty system sygnał wyjście
Inny rodzaj karty dla gości recepca Karty gości odwiedzający

Do tej pory edytor analizy tekstowej powinien wyglądać następująco:

Candidate classes identified

Odrzucanie obiektów kandydatów

W tej sekcji kandydatów klasy zostaną przeanalizowane pod kątem listy reguł odrzucenia. Na końcu tej sekcji uzyskamy listę modeli klas.

Teraz przeanalizuj listę kandydatów klas pod kątem poniższych reguł odrzucenia:

  • Zduplikowane: jeśli dwa lub więcej obiektów to po prostu różne nazwy tego samego przedmiotu.

  • Nieistotne: obiekty istniejące w dziedzinie problemu, które nie są przeznaczone.

  • Nieokreślone: gdy dokładnie rozważa się słowa, czasem staje się jasne, że nie mają znaczenia cenowego i nie mogą być podstawą użytecznej w systemie.

  • Ogólne: znaczenie jest zbyt ogólne.

  • Atrybuty: jako atrybut obiektów.

  • Związki: faktycznie reprezentują relacje między obiektami.

  • Rody: czasem obiekty odnoszą się do roli, jaką pełnią w określonej części systemu.

Poniższa tabela zawiera wyniki przeglądu:

Kandydat klasy Zaakceptuj / Odrzuć Powód odrzucenia
Zarządzanie Saturn Int. Odrzuć Nieistotne dla systemu
Miary bezpieczeństwa Odrzucić niejasny
Budynek Odrzucić Nieistotne dla systemu
Obiekt Odrzucić Nieistotne dla systemu
Osoby niebędące częścią firmy Odrzucić Nieistotne dla systemu
Parking Zaakceptować
Karty tożsamości Zaakceptować
Pracownicy Odrzucić Zduplikowane z „Pracownicy firmy”
Nazwa Odrzucić Atrybut
Dział Odrzucić Atrybut
Numer Odrzucić Atrybut
Pracownicy firmy Odrzucić Rola
Dostęp Zaakceptuj
Bariera Zaakceptuj
Skanner kart Zaakceptuj
Kierowca Odrzuć Rola
Numer karty Odrzuć Atrybut
System Odrzuć Zbyt ogólne
Sygnał Zaakceptuj
Wyjście Odrzuć Nie dotyczy systemu
Inny rodzaj karty dla gości Odrzuć Zgodność z kartami gościnnymi
Recepcja Odrzuć Nie dotyczy systemu
Karty gościnne Zaakceptuj
odwiedzający Odrzuć Rola

Aby odróżnić akceptowane i odrzucone klasy kandydatów, zmienimy kolor podświetlenia na zielony dla akceptowanych. Aby to zrobić, kliknij na komórce z żółtym podświetleniem i wybierz zielony kolor z paska wyboru kolorów.

Change highlight color

Teraz pozostała lista klas kandydatów została uzyskana w następujący sposób:

Parking Karty tożsamości Dostęp Bariera
Czytnik kart Sygnał Karty gościnne

Przepisanie zidentyfikowanych klas

Przepiszmy akceptowane kandydaty w następujący sposób: (1) Ujednolit formę rzeczownika między użyciem liczby pojedynczej i mnogiej oraz (2) Dokładnie odzwierciedlić znaczenie wyciągniętego tekstu.

Przeczytaj poniższą tabelę, aby zobaczyć potrzebne zmiany oraz wyjaśnienie tych zmian.

Wyciągnięty tekst Przepisz jako Powód
parking
karty tożsamości karta personelu „Karty tożsamości” dosłownie oznaczają wszystkie rodzaje kart, ale zgodnie z tekstem słowo „karta tożsamości” pochodzi z frazy rzeczownikowej „karty tożsamości dla wszystkich pracowników”, więc w rzeczywistości oznacza kartę personelu. Przepiszmy ją, aby uniknąć nieporozumień.
dostęp
bariera
czytnik kart
sygnał
wyjście
karty gościnne karta gościnna Zmień na liczbę pojedynczą, aby dopasować do pozostałych słów

Zaktualizuj nazwę klas kandydatów odpowiednio:

Renaming candidate

Tworzenie elementów modelu klasy na podstawie tekstu

Zidentyfikowałeś listę klas. Aby użyć ich do budowy modelu, musisz przekształcić je z wyrazów w elementy modelu.

  1. Wybierz siedem klas w tabeli. Aby wykonać wybór wielokrotny, trzymaj wciśnięty klawisz Ctrl i klikaj kolejno w wiersze.

  2. Kliknij prawym przyciskiem myszy na swój wybór i wybierz Utwórz element modelu z menu podręcznego.

    Create element

  3. Zostaniesz poproszony o wizualizację utworzonych elementów na diagramie. Zachowaj opcję Utwórz nowy diagram wybraną. Zmień nazwę diagramu klasy na System parkingowy i kliknij Utwórz.

    Visualize classes into class diagram
    Tworzy to diagram klasy.
    Class diagram formed


Tworzenie modelu klasy – identyfikacja relacji strukturalnych

Posiadasz zestaw klas wizualizowanych na diagramie klasy. Teraz zidentyfikuj ich relacje strukturalne, łącząc je za pomocą łączników relacji, takich jak związek, uogólnienie i zależność. Poniższy rysunek pokazuje wynik. Podczas tego procesu mogą zostać dodane nowe klasy, takie jak dodanie klasy „karta” w tym przykładzie jako klasy nadrzędnej dla klas pochodnych: karta personelu i karta gościa.

Class diagram updated


Tworzenie modelu interakcji – identyfikacja atrybutów i operacji

Diagramy sekwencji tworzone są w celu wizualizacji interakcji między obiektami, tzn. instancjami tych klas, które zostały wcześniej zidentyfikowane. Podczas tego procesu zostaną zidentyfikowane atrybuty i operacje, które w efekcie sprawią, że model klasy będzie kompletny. Stwórzmy diagram sekwencji, aby wizualizować sytuację, gdy pracownik firmy prowadzi swój samochód na parking.

  1. Utwórz diagram sekwencji. Wybierz Diagram > Nowy z głównego menu.

  2. W oknie Nowy diagram wybierz Diagram sekwencji i kliknij Dalej. Wybierz Pusty jako szablon i kliknij Dalej. Wprowadź Parking samochodowy (z kartą pracowników) jako nazwa diagramu i kliknij OK.

    Create sequence diagram

  3. Scenariusz rozpoczyna się od kierowcy, który włącza swoją kartę pracowników do czytnika karty. Stwórzmy aktora Pracownicy. Aby utworzyć aktora, wybierz narzędzie Aktora z paska narzędzi diagramu i przeciągnij je na diagram.

    Create actor

  4. Musimy pokazać czytnik karty jako obiekt. Zamiast tworzyć linie życia, stwórzmy instancję obiektu z klasy czytnik karty klasy. Istnieje kilka sposobów osiągnięcia tego efektu. Jednym z nich jest ponowne użycie klasy za pomocą Eksplorator modelu. Kliknij na Eksplorator modelu karcę przypiętą do lewej strony okna aplikacji (lub wybierz Widok > Panele > Eksplorator modelu jeśli karta nie jest widoczna). Następnie przeciągnij klasę czytnik karty na diagram.

    Drag reader class onto diagram

  5. Wybierz Linia życia aby utworzyć, gdy zostaniesz poproszony o wybór typu.

  6. Linia życia jest automatycznie nazywana „czytnik karty”, zgodnie z nazwą klasyfikatora. Ponieważ nazwa jest opcjonalna, usuniemy ją. To również ułatwia odczytywanie diagramu.

    Card reader lifeline created

  7. Połącz pracownik z : czytnik karty. Przenieś wskaźnik myszy nad aktora personel. Naciśnij na Katalog zasobów przycisk i przeciągnij go do linii życia : czytnik kart.

    To create sequence message

  8. Zwolnij wskaźnik myszy i wybierz WiadomośćKatalog zasobów.

    Selecting sequence message to create

  9. Wprowadź włożyć kartę personelu aby nazwą wiadomości.

    Sequence message created

  10. Jako urządzenie wejściowe, czytnik odbiera kartę, a następnie prosi system o jej weryfikację. Stwórzmy linię życia dla systemu. Ponieważ nie mamy takiej klasy, tworzymy linię życia bezpośrednio. Przeciągnij Linia życia z paska narzędzi diagramu na diagram. Nadaj linii życia nazwę system parkingowy.

    Create car parking system lifeline

  11. Utwórz wiadomość verify card(): czytnik kart do system parkingowy.

    Verify card message created

  12. Istnieją dwa możliwe wyniki: powodzenie lub niepowodzenie. Zamodelujemy oba przypadki. W diagramie sekwencji UML można użyć fragmentu połączonego alternatywnego do modelowania wielu możliwych przebiegów. Utwórz fragment połączony alternatywny obejmujący aktora i linie życia. Zmniejszymy go, aby obejmował więcej linii życia, w miarę dodawania kolejnych linii życia.

    Alternative combined fragment created

  13. W przypadku powodzenia system załaduje rekord karty personelu. Utwórz wiadomość samodzielna load staff(). Aby to zrobić, przesuń wskaźnik myszy nad system parkingowy samochodów i kliknij na Katalog zasobów, a następnie wybierz Wiadomość własna -> Linia życia z Katalog zasobów. Wprowadź nazwę wiadomości własnej.

    Create self message

  14. Postępuj zgodnie z krokiem 4, aby wizualizować klasę karta personelu jako linię życia. Ponownie usuń jej nazwę.

    Staff card class visualized

  15. Załóżmy, że ostatni czas dostępu zostanie ustawiony na rekord karty personelu. Przedstaw to za pomocą wiadomości ustawienia ustaw ostatni dostęp().

    Sequence message created

  16. Zostanie utworzony rekord dostępu. Wizualizujmy klasę dostęp na diagramie jako linię życia, a następnie połącz ją wiadomością tworzenia. Nie zapomnij rozszerzyć fragmentu połączonego alternatywnego, aby obejmował linię życia.

    Create message created

  17. Zostanie również utworzona sygnał, aby wywołać podniesienie barierki. Wizualizujmy klasę sygnał na diagramie, a następnie połącz ją wiadomością tworzenia. Do tej pory twój diagram sekwencji powinien wyglądać podobnie do poniższego rysunku.

    Sequence diagram updated

  18. Podnieś barierkę. Wizualizuj klasę barierka jako linię życia i połącz ją wiadomością podnieś() wiadomości. Tutaj nadajemy nazwę linii życia wejście ponieważ w miejscu wejścia i wyjścia znajduje się barierka, a my odnosimy się do barierki na wejściu na tym diagramie.

    Barrier class visualized

  19. Na końcu poproś czytnik karty o wyświetlenie wiadomości potwierdzającej pomyślną weryfikację karty personelu. Utwórz wiadomość sekwencji show success message łączącą system parkingowy samochodów i : czytnik karty.

    Show success message

  20. Co się stanie, gdy karta nie może zostać zweryfikowana? Zamodelujmy to w dolnej części fragmentu połączonego alt. Załóżmy, że system poprosi czytnik karty o wyświetlenie komunikatu o niepowodzeniu weryfikacji. Utwórz taki komunikat na diagramie.

    Show fail message

  21. Nie ma znaczenia, czy weryfikacja się powiedzie, czy nie, karta personelu zostanie wyrzucona po zakończeniu procesu weryfikacji. Utwórzmy komunikat sekwencjiwyrzucić kartę który łączy system parkingowy i : czytnik karty.

    Eject card message created

  22. Na końcu utwórz komunikat zwrotny z karty zwróconej z : czytnik karty do aktora personelu. Aby to zrobić, utwórz komunikat, a następnie kliknij prawym przyciskiem myszy i wybierz Typ (nieokreślony) > Odpowiedź z menu podręcznego.

    Card returned message created

  23. Dwa compartmenty fragmentu połączonego alt. nazywane są operandami. Wprowadź warunki operandów jako ograniczenia. Kliknij prawym przyciskiem myszy etykietę alt w lewym górnym rogu fragmentu połączonego i wybierz Operand > Zarządzaj operandami z menu podręcznego. W oknie podręcznym ustaw ograniczenia dwóch operandów na Karta zaakceptowana i Karta odrzucona odpowiednio.

Manage operand

  1. Utwórzmy operacje na podstawie komunikatów sekwencji. Najpierw utwórz klasę z linii życia systemu parkingowego. Kliknij prawym przyciskiem myszy linię życia i wybierz Select Klasa > Utwórz klasę „system parkingowy” z menu podręcznego.

    Create class from lifeline

  2. Zobacz następujący obrazek. Dla każdego wyróżnionego połączenia kliknij prawym przyciskiem myszy i wybierz Wpisz > Wywołaj > Utwórz operacjęz menu podręcznego.

    Create operations

  3. Wróć do diagramu klasy. Operacje są automatycznie przedstawiane w modelu klasy.

    Class model updated

Tworząc coraz więcej diagramów sekwencji dla różnych scenariuszy, model klasy stopniowo ulegnie wzbogaceniu poprzez uwzględnienie wszystkich operacji i atrybutów, które system potrzebuje.


Wnioski

Przekształcanie wymagań w języku naturalnym w dokładne modele UML to zarówno sztuka, jak i nauka. Ten przykład pokazuje, że przy dyscyplinowanym podejściu – zaczynając od analizy tekstowej, stosując systematyczne kryteria odrzucania, przepisując dla jasności oraz iteracyjnie doskonaląc poprzez diagramy klas i sekwencji – zespoły mogą przekształcać niepewne sformułowania problemów w solidne, wykonalne projekty systemów.

Przykład parkingu Saturn International ilustruje, jak nawet pozornie proste wymagania zawierają warstwy złożoności: wiele typów aktorów, przepływy warunkowe, interakcje z sprzętem oraz zarządzanie stanami. Korzystając z zintegrowanego środowiska modelowania Visual Paradigm, praktycy mogą zapewnić śledzenie od pierwszego tekstu do ostatecznego kodu, zapewnić spójność między diagramami oraz skutecznie współpracować z osobami technicznymi i nie-technicznymi.

Kluczowe wnioski dla praktyków:

  • Zacznij od szerokiego wyodrębniania kandydatów, a następnie wyostrz poprzez jasne zasady odrzucania

  • Używaj pojedynczych, spójnych konwencji nazewnictwa, aby zmniejszyć niepewność

  • Wykorzystaj diagramy sekwencji do odkrycia ukrytych operacji i atrybutów

  • Traktuj modelowanie jako proces iteracyjny – każdy scenariusz wzbogaca model klasy

  • Zachowuj dwukierunkową śledzenie między wymaganiami, modelami i implementacją

Niezależnie od tego, czy projektujesz systemy kontroli dostępu, przepływy wewnętrzne w przedsiębiorstwach czy aplikacje skierowane do klientów, przedstawiona tu metodyka zapewnia powtarzalny, skalowalny framework przekształcania słów w działające modele oprogramowania.


Bibliografia

  1. Funkcje narzędzia Visual Paradigm UML: Kompleksowy przegląd możliwości modelowania UML w Visual Paradigm, w tym wsparcie dla wszystkich 14 typów diagramów UML 2.x oraz funkcji modelowania wspomaganych przez sztuczną inteligencję.
  2. Przegląd 14 typów diagramów UML: Szczegółowy przewodnik wyjaśniający diagramy strukturalne i zachowaniowe UML oraz ich odpowiednie zastosowania w projektowaniu oprogramowania.
  3. Podręcznik użytkownika Visual Paradigm PDF: Oficjalna dokumentacja obejmująca instalację, nawigację po interfejsie oraz podstawowe przepływy modelowania w Visual Paradigm.
  4. Dokumentacja modelowania UML: Krok po kroku instrukcje tworzenia, edytowania i zarządzania diagramami UML w środowisku Visual Paradigm.
  5. Co to jest diagram UML?: Przyjazny dla początkujących wprowadzenie do koncepcji UML, typów diagramów oraz ich roli w architekturze oprogramowania i komunikacji projektowej.
  6. Zbieraj wymagania za pomocą przypadków użycia: Prawdopodobne wskazówki dotyczące używania diagramów przypadków użycia i analizy tekstowej do wyłuskania, dokumentowania i weryfikacji wymagań systemu.
  7. Generator diagramów klas UML wspomagany przez sztuczną inteligencję: Przegląd funkcji Visual Paradigm opartych na sztucznej inteligencji, które automatycznie generują diagramy klas na podstawie opisów w języku naturalnym.
  8. Poradnik PlantUML do diagramów wizualnych: Poradnik wideo pokazujący, jak przekształcić kod skryptu PlantUML w interaktywne, edytowalne diagramy UML w Visual Paradigm.
  9. Co to jest UML?: Podstawowe wyjaśnienie zasad języka Unified Modeling Language, jego historii oraz znaczenia w współczesnych praktykach inżynierii oprogramowania.
  10. Narzędzia inżynierii kodu: Opis możliwości inżynierii dwukierunkowej, wspierających generowanie kodu i inżynierię wsteczną dla wielu języków programowania.
  11. Mapowanie baz danych z wykorzystaniem ORM: Przewodnik dotyczący generowania schematów baz danych i warstw trwałości z diagramów klas UML przy użyciu technik mapowania obiektowo-relacyjnego.
  12. Zalety inżynierii baz danych: Wyjaśnienie, jak zintegrowane modelowanie baz danych poprawia spójność danych, skraca czas rozwoju i wspiera iteracje agile.
  13. Galeria Visual Paradigm: Pokaz projektów próbkowych, szablonów diagramów oraz przykładów modelowania specyficznych dla branży stworzonych za pomocą Visual Paradigm.
  14. Instalacja Visual Paradigm: Oficjalny przewodnik instalacyjny obejmujący wymagania systemowe, aktywację licencji oraz kroki początkowej konfiguracji.
  15. Integracja UML z Eclipse: Dokumentacja dotycząca wbudowy narzędzi modelowania Visual Paradigm bezpośrednio w środowisku IDE Eclipse w celu zapewnienia płynnych przepływów pracy programistycznej.
  16. Opcje darmowych narzędzi UML: Porównanie funkcji wersji społecznościowej Visual Paradigm z możliwościami profesjonalnymi dla zespołów oceniających rozwiązania modelowania.
  17. Proces oprogramowania do modelowania UML: Przegląd, jak narzędzia UML pasują do procesów iteracyjnych rozwoju, w tym metodologii agile, wodospadowej i hybrydowych.
  18. Funkcje narzędzia do modelowania wizualnego: szczegółowy wykaz funkcji podkreślający inteligentne ponowne wykorzystanie elementów, weryfikację składni oraz możliwości katalogu zasobów, które wyróżniają profesjonalne narzędzia modelowania.
  19. Narzędzie UML dla rozwiązań korporacyjnych: Opis skoncentrowany na potrzebach korporacyjnych, podkreślający skalowalność Visual Paradigm, funkcje współpracy oraz integrację z narzędziami zarządzania wymaganiami i planowaniem agile.
  20. Strona główna Visual Paradigm: Główne strony internetowe Visual Paradigm, oferujące pobieranie produktów, poradniki, fora społecznościowe oraz zasoby wsparcia dla praktyków modelowania.
  21. Zbiór poradników UML: Wybór poradników krok po kroku obejmujących podstawowe do zaawansowanych technik modelowania UML na różnych typach diagramów.
  22. Poradnik narzędzia UML w języku chińskim tradycyjnym: Zasób dostosowany do lokalizacji, oferujący przewodniki modelowania UML oraz informacje o produkcie dla użytkowników i zespołów mówiących po chińsku tradycyjnym.

Ten post dostępny jest również w Deutsch, English, فارسی, Français, English, Portuguese, Ру́сский and Việt Nam