Rozwój systemu Jackson - Jackson system development

Jackson System Development ( JSD ) to liniowa metodologia rozwoju oprogramowania opracowana przez Michaela A. Jacksona i Johna Camerona w latach 80-tych.

Historia

JSD został po raz pierwszy zaprezentowany przez Michaela A. Jacksona w 1982 roku w artykule zatytułowanym „Metoda rozwoju systemu”. aw 1983 w System Development . Jackson System Development (JSD) to metoda tworzenia systemu, która obejmuje cykl życia oprogramowania bezpośrednio lub poprzez dostarczenie struktury, do której można dopasować bardziej wyspecjalizowane techniki. Jackson System Development można rozpocząć od etapu projektu, na którym istnieje tylko ogólne zestawienie wymagań. Jednak wiele projektów, które korzystały z Jackson System Development, faktycznie rozpoczęło się nieco później w cyklu życia, robiąc pierwsze kroki w dużej mierze z istniejących dokumentów, a nie bezpośrednio z użytkownikami. Późniejsze kroki JSD tworzą kod ostatecznego systemu. Pierwsza metoda Jacksona, Jackson Structured Programming (JSP), służy do tworzenia ostatecznego kodu. Wynikiem wcześniejszych kroków JSD jest zbiór problemów projektowania programów, których projektowanie jest przedmiotem JSP. Konserwacja jest również rozwiązywana przez przerobienie tego, który z wcześniejszych kroków jest odpowiedni.

JSD nadal ewoluował, a do metody wprowadzono kilka nowych funkcji. Są one opisane w zbiorze artykułów z 1989 r. autorstwa Johna Camerona, JSP i JSD oraz w wersji z 1992 r. (wersja 2) podręcznika LBMS JSD.

Rozwój metody JSD zakończył się na początku lat 90., gdy myślenie Jacksona przekształciło się w podejście Problem Frames Approach wraz z publikacją Software Requirements and Specifications (1995) oraz Problem Frames: Analyzing and Structuring Software Development Problems (2000).

Zasady działania

Trzy podstawowe zasady działania JSD to:

  • Rozwój musi zaczynać się od opisu i modelowania świata rzeczywistego, a nie od określania czy strukturyzowania funkcji pełnionej przez system. System wykonany metodą JSD przeprowadza symulację rzeczywistego świata, zanim zostanie zwrócona bezpośrednia uwaga na funkcję lub przeznaczenie systemu.
  • Adekwatny model świata uporządkowanego w czasie sam musi być uporządkowany w czasie. Głównym celem jest odwzorowanie postępu w świecie rzeczywistym na postęp w systemie, który go modeluje.
  • Sposób wdrożenia systemu opiera się na przekształceniu specyfikacji w wydajny zestaw procesów. Procesy te powinny być zaprojektowane w taki sposób, aby możliwe było ich uruchomienie na dostępnym oprogramowaniu i sprzęcie.

Kroki JSD

Kiedy została pierwotnie zaprezentowana przez Jacksona w 1982 roku, metoda składała się z sześciu kroków:

  1. Krok podmiotu/działania
  2. Początkowy krok modelu
  3. Interaktywna funkcja krok
  4. Krok funkcji informacyjnej
  5. Krok czasowy systemu
  6. Etap wdrożenia systemu

Później połączono niektóre kroki, aby stworzyć metodę składającą się tylko z trzech kroków.

  1. Etap modelowania (analiza): z etapem encji/działania i etapem struktur encji .
  2. Etap sieci (wzór) z początkowym etapem modelu , etap funkcji i etap rozrządu systemu .
  3. Etap wdrożenia (realizacji): etap wdrożenia.

Etap modelowania

Na etapie modelowania projektant tworzy kolekcję diagramów struktury encji i identyfikuje encje w systemie, wykonywane przez nie czynności, kolejność działań w czasie życia encji oraz atrybuty działań i encji. Podmiot schematy struktury użyć diagramów notacji z Jackson Programowanie strukturalne diagramy struktury . Celem tych diagramów jest stworzenie pełnego opisu aspektów systemu i organizacji. Deweloperzy muszą zdecydować, które rzeczy są ważne, a które nie. Bardzo ważna jest dobra komunikacja między programistami a użytkownikami nowego systemu.

Ten etap jest połączeniem poprzedniego etapu encji/działania i etapu struktur encji.

Etap sieci

Na etapie sieciowym opracowywany jest model systemu jako całości i przedstawiany jako diagram specyfikacji systemu (SSD) (znany również jako diagram sieci ). Diagramy sieciowe pokazują procesy (prostokąty) i sposób, w jaki komunikują się ze sobą, za pośrednictwem połączeń wektora stanu (romby) lub połączeń strumienia danych (kółka). Na tym etapie definiowana jest funkcjonalność systemu. Każda jednostka staje się procesem lub programem na diagramie sieci. Programy zewnętrzne są później dodawane do diagramów sieciowych. Celem tych programów jest przetwarzanie danych wejściowych, obliczanie wyników i aktualizowanie procesów jednostki. Cały system jest opisany tymi schematami sieci i uzupełniony opisami danych i połączeń między procesami i programami.

Wstępny krok modelu określa symulację świata rzeczywistego. Krok funkcji dodaje do tej symulacji dalsze wykonywalne operacje i procesy potrzebne do wytworzenia danych wyjściowych systemu. Krok czasowy systemu zapewnia synchronizację między procesami, wprowadza ograniczenia. Ten etap jest kombinacją poprzedniego etapu „modelu początkowego”, etapu „funkcji” i etapu „czasu systemowego”.

Etap realizacji

Na etapie implementacji abstrakcyjny model sieciowy rozwiązania przekształcany jest w system fizyczny, reprezentowany w postaci diagramu implementacji systemu (SID). SID przedstawia system jako proces planujący , który wywołuje moduły, które implementują procesy. Strumienie danych są reprezentowane jako wywołania odwróconych procesów. Symbole bazy danych reprezentują kolekcje wektorów stanu encji i istnieją specjalne symbole dla buforów plików (które muszą być zaimplementowane, gdy procesy są zaplanowane do działania w różnych odstępach czasu).

Głównym celem etapu wdrożenia jest optymalizacja systemu. Konieczna jest redukcja liczby procesów, ponieważ nie da się zapewnić każdemu procesowi, który jest zawarty w specyfikacji, własnego procesora wirtualnego. Za pomocą transformacji procesy łączy się w celu ograniczenia ich liczby do liczby procesorów.

Projektowanie diagramów

Schemat struktury podmiotu (ESD)

Diagram pokazuje, jak encje akcji współpracują z systemem. Notacje diagramu struktury encji (ESD):

  • Jednostka : jednostka to obiekt używany w systemie i przez system.
  • Akcja : akcje wykonywane przez jednostki oraz akcje, które mają wpływ na inne jednostki.
  • Sekwencja konstrukcji : konstrukcja JSD jest identyczna z konstrukcją historii życia jednostki SSADM. Użyj SequenceConstruct, aby zilustrować akcje, które są stosowane od lewej do prawej.
  • Wybór konstrukcji : odzwierciedla wybór między dwoma lub więcej akcjami. Zaznacz opcje w prawym górnym rogu literą „o” (opcja).
  • Construct-recurrence : gdy akcja się powtarza, umieść małą gwiazdkę (*) w prawym górnym rogu.

Zwykle pod RecurringConstruct znajduje się tylko jedna akcja.

  • Składnik Null : Składnik o wartości Null może zapewnić, że w instrukcji IF-ELSE nic się nie stanie.
Schemat sieci (ND)

Diagramy sieciowe pokazują interakcje między procesami. Czasami są one nazywane diagramami specyfikacji systemu (SSD). Notacje diagramu sieciowego (ND):

  • Proces : procesy reprezentują funkcje systemu. Model procesu reprezentuje podstawowe funkcje systemu. Na ogół ma związek z podmiotem zewnętrznym poprzez strumień danych.
  • Połączenie strumienia danych : w połączeniu strumienia danych proces A (jednostka, która zapisuje strumień danych) aktywnie wysyła informacje do innego procesu B.
  • Kontrola wektora stanu : W połączeniu wektora stanu proces B (podmiot, który odczytuje informacje o wektorze stanu) odczytuje informacje o wektorze stanu innego podmiotu A.

Różnica między połączeniem wektora stanu a połączeniem strumienia danych polega na tym, który proces jest aktywny. W połączeniu strumienia danych proces z informacją A jest procesem aktywnym; aktywnie wysyła komunikat do czytnika strumienia danych B w wybranym przez siebie czasie (A, nadawca). W inspekcji wektora stanu proces z informacją A jest pasywny; nie robi nic poza pozwoleniem czytelnikowi procesowi B na sprawdzenie swojego wektora stanu (A). B, proces przeprowadzający inspekcję, jest procesem aktywnym; decyduje, kiedy odczyta informacje od A. Z grubsza mówiąc, połączenie strumienia danych jest abstrakcją przekazywania wiadomości, podczas gdy inspekcja wektora stanu jest abstrakcją dla odpytywania (i pobierania bazy danych).

Bibliografia

Dalsza lektura

Linki zewnętrzne