WikiDer > Jackson-Systementwicklung
Jackson-Systementwicklung oder JSD ist eine lineare Softwareentwicklungsmethode. Die Methode ist eine Methode zur Entwicklung von einfach zu wartender Software. Es wurde entwickelt von John Cameron und Michael A. Jackson und von letzterem im Buch veröffentlicht Systementwicklung 1983.
Die Entwurfsmethode von Michael A. Jackson geht davon aus, dass der Systementwurf eine Erweiterung des Programmentwurfs ist. JSD basiert auf seiner JSP-Methode, Jackson strukturierte ProgrammierungDies liegt daran, dass die bei der Entwicklung des Programms verwendeten Techniken auch für die Entwicklung von Systemen gelten.
Allgemeines
JSD ist eine strukturierte Analyse- und Designmethode, ähnlich wie SSADM. Es entstand aus der Weiterentwicklung von Jackson Structured Programming (JSP), einer früheren Systementwicklungsmethode von Jackson. JSD ist vor allem als erste objektorientierte Systementwicklungsmethode bekannt. Tatsächlich wurde ein Computersystem als Netzwerk mit kommunizierenden sequentiellen Prozessen (Objekten) dargestellt.
JSD wurde hauptsächlich in den 70er und 80er Jahren verwendet England und Schweden. Darüber hinaus noch viel weniger. Nach 1983 wurde JSD auf Basis praktischer Erfahrungen mit verschiedenen Projekten weiterentwickelt.
Es ist eine der ersten Entwicklungsmethoden, die darauf abzielt, die Anpassungsfähigkeit von Systemen zu fördern. Dabei verwendet JSD keine funktionale Top-Down-Methode, sondern nutzt Objektorientierung. Die Methode enthält nicht Projektmanagement Aktivitäten konzentriert es sich nur auf die technischen Aspekte der Systementwicklung.
- Schreibweise
JSD verwendet die folgenden Techniken:
- Entitätsstrukturdiagramm (ESD)
- Wird verwendet, um Aktionen in chronologischer Reihenfolge zu beschreiben, die Entitäten innerhalb des Systems ausführen.
- System Specification Diagram (SSD), auch bekannt als Netzwerkdiagramm (ND)
- Wird verwendet, um Wechselwirkungen zwischen den Prozessen zu beschreiben.
- Systemimplementierungsdiagramm (SID)
- Die Art der Aufnahme
In JSD werden die folgenden Methoden verwendet, um die Ergebnisse der verschiedenen Phasen aufzuzeichnen:
- Entitätsstrukturdiagramm (ESD)
- Systemimplementierungsdiagramm (SID)
- Systemspezifikationsdiagramm (SSD)
Geschichte der JSD
JSD ist die zweite von Michael Jackson entwickelte Softwareentwicklungsmethode. John Cameron hat einen großen Beitrag zu dieser Methode geleistet. JSD ist eine Systementwicklungsmethode, die nicht nur für einzelne Programme, sondern für ganze Systeme gedacht ist. Sowohl JSD als auch JSP wurden in den 1970er - 1980er Jahren entwickelt.
JSD basiert auf JSP. JSD enthält viele Diagramme von JSP, von denen einige in JSD für andere Zwecke verwendet werden. Zum Beispiel wird es Aktionsstrukturdiagramm in JSP zur Beschreibung von Daten- und Programmstrukturen verwendet. In JSD werden diese Diagramme verwendet, um den Lebenszyklus von Entitäten zu beschreiben.
Darüber hinaus enthält JSD einige neue Diagramme; mag ich Netzwerkstrukturdiagramm und der Systemimplementierungsdiagramm.
Die Grundsätze
Das erste Prinzip hinter dieser Methode ist, dass eine Beschreibung der Welt gemacht wird, für die das System erstellt werden soll. Erst wenn dies abgebildet ist, wird die Funktionsfähigkeit des Systems sorgfältig geprüft. Auf diese Weise wird klar, welche Sichtweise der Benutzer auf das System hat. Es ermöglicht auch eine bessere Kommunikation zwischen Benutzern und Entwicklern.
Wenn bestimmte Dinge in der "realen Welt" sequentiell erledigt werden, dann müssen auch diese Aspekte auf diese Weise modelliert werden. Dies ist das zweite Prinzip. Damit wird deutlich, in welcher Reihenfolge sequentielle Prozesse durchgeführt werden.
Es gibt ein drittes Prinzip, für das diese Methode steht. Es geht um die Umsetzung der Vorgaben. Diese werden in eine Reihe von Prozessen übersetzt, die an die verfügbare Hard- und Software angepasst sind. Es ist sehr wichtig, genau auf die Terminplanung zu achten. Auf diese Weise können die Prozesse auf den verfügbaren Prozessoren effizient genutzt werden.
Arbeitsweise
JSD umfasste zunächst die folgenden sechs Schritte und gliedert sich in 3 Phasen:
Modellierung (Analyse):
- Entität/Aktionsschritt
In diesem und im nächsten Schritt erfolgt eine abstrakte Beschreibung der „realen Welt“ in Form von Entitäten, die Handlungen ausführen oder durchmachen. In diesem Schritt werden die Entitäten und ihre Aktionen beschrieben. - Schritt Entitätsstrukturen Structure
In diesem Schritt wird dann die Reihenfolge der gefundenen Aktionen bestimmt. Sequentielle Strukturen werden auch in Form von Prozessen vorgegeben.
Netzwerkphase (Design):
- Erster Modellschritt
Nun wird eine Simulation der "realen Welt" spezifiziert. - Funktionsschritt
Die Simulation aus dem vorherigen Schritt fügt nun ausführbare Operationen sowie Prozesse hinzu, die erforderlich sind, um die Ausgabe des Systems zu erzeugen. - Schritt System-Timing
Da nun alle Prozesse bekannt sind, wird in diesem Schritt die Synchronisation zwischen diesen Prozessen bestimmt. Dieser Schritt endet mit einer Spezifikation, die tatsächlich auf dem System lauffähig ist.
Umsetzung (Realisierung):
- Implementierungsschritt
Nach dem vorherigen Schritt ist jedoch oft noch eine Art Optimierungsschritt erforderlich. Wenn das System aus vielen Millionen Prozessen besteht, läuft das Ganze nicht reibungslos. Daher kann es dennoch erforderlich sein, einige Prozesse zusammenzuführen, damit es am Ende weniger werden. Im Idealfall gibt es so viele Prozesse wie es Prozessoren gibt, beispielsweise durch Zusammenführen von Prozessen, so dass es für den Prozessor wie ein einzelner Prozess erscheint.
Dieser Stufenplan wurde daher später durch Zusammenführung einiger Schritte in einen 3-Phasen-Plan umgewandelt.
Die Modellierungsstufe (Modellierungsstufe)
In dieser Phase beschreiben die Entwickler die betriebswirtschaftlichen Aspekte, die das System berücksichtigen muss. Um diese Beschreibung zu erstellen, müssen sie die Organisation analysieren und berücksichtigen, was wichtig ist und was nicht. Es muss auch berücksichtigt werden, dass es bei der Gestaltung um die Situation geht, wie sie sein sollte und nicht wie sie im Moment ist. Die Beschreibung sollte so genau wie möglich geschrieben werden, dies zwingt die Entwickler, gute Fragen zu stellen. Dies schafft eine bessere Kommunikation und ein besseres Verständnis zwischen den Entwicklern und den Benutzern des neuen Systems.
Die Modellbeschreibung besteht aus Aktionen, Entitäten und anderen zugehörigen Informationen. Eine Aktion ist ein Ereignis, das für das System relevant ist. Eine Liste von Aktionen mit Definitionen und zugehörigen Attributen wird erstellt. Die Diagramme beschreiben entweder die Reihenfolge oder die Beziehung zwischen den Aktionen. Die Diagramme beschreiben auch die Entitäten, Personen oder Dinge, auf die sich die Aktion bezieht.
In dieser Phase werden auch die für jede Entität gespeicherten Daten bestimmt. Das Ergebnis dieser Phase ist eine Reihe von Listen, Definitionen und Diagrammen, die in Benutzersprache beschreiben, was genau in der Organisation passiert und was vom System aufgezeichnet werden muss.
Die Netzwerkphase (Netzwerkphase)
In der Netzwerkphase wird genau festgelegt, was das System letztendlich leisten und wie es für den Nutzer aussehen soll. Diese Beschreibung ist ein Netzwerk von Programmen. Für jede Entität ist ein Programm im Netzwerk vorhanden, später werden weitere Programme hinzugefügt. Der Zweck dieser Programme besteht darin, Eingaben zu verarbeiten und die Programme der Entität auf dem neuesten Stand zu halten oder Ausgaben zu berechnen. Das Netzwerk wird dann aufgebaut, indem Programme hinzugefügt und mit dem bestehenden Netzwerk verbunden werden. Die meisten neuen Programme können direkt mit den Entity-Programmen verbunden werden.
Das System wird durch eine Reihe von Netzdiagrammen beschrieben. Alle Diagramme repräsentieren das gesamte System. Die Diagramme werden mit Texten unterstützt, die den Inhalt der Datenflüsse und Verbindungen beschreiben. Die Programme werden so kompiliert, dass die JSP-Methode (Jackson Structured Programming) verwendet wird, die Teil von JSD ist.
Die Implementierungsphase (Implementationsphase)
Ziel dieser Phase ist es, das endgültige System zu liefern. Hier werden Datendesigns erstellt (Datenbanken, Dateien). Das Design der Daten ist das Design von Datensätzen von Datendateien. Die Details des Datenbankdesigns hängen vom verwendeten Database Management System (DBMS) ab.
Auch das Netz wird in dieser Phase optimiert. Das Ergebnis der Netzwerkphase ist ein verteiltes Netzwerk von Programmen. Diese Phase bedeutet, dass viele Programme in Unterprogramme umgewandelt werden, um das Netzwerk organisiert zu halten. Dadurch ändert sich das Netzwerk von einer Form für die Spezifikation in eine Form für die Implementierung.
Entwerfen der Diagramme
- Entitätsstrukturdiagramm (ESD)
- Das Diagramm zeigt, wie die Aktionsentitäten mit dem System interagieren.
Notationen im Entitätsstrukturdiagramm (ESD)
- Entität: Eine Entität ist ein Objekt, das auf und vom System ausgeführt wird.
Die Wurzel des Eltern-Kind-Baums von ESD ist eine einzelne Entität. - Aktion: Die Aktionen werden von Entitäten ausgeführt und die Aktionen wirken sich auf andere Entitäten aus.
Sie sind mit der Stammentität und miteinander in einer Eltern-Kind-Hierarchie verknüpft. - Konstrukt - Sequenz: Das JSD-Konstrukt ist identisch mit dem SSADM Entity Life History-Konstrukt.
Verwenden Sie ein Sequenzkonstrukt, um Aktionen zu veranschaulichen, die von links nach rechts ausgeführt werden. - Konstruieren - Auswahl: Um eine Auswahl zwischen zwei oder mehr Aktionen anzuzeigen.
Beachten Sie die Aktionen mit dem kleinen „o“ (Option) in der oberen rechten Ecke. - Konstrukt - Wiederholung: Wenn eine Aktion wiederholt wird, platzieren Sie ein kleines Sternchen (*) in der oberen rechten Ecke.
Normalerweise gibt es nur eine Aktion unter einem Wiederholungskonstrukt. - Nullkomponente: In einer if-else-Anweisung kann eine Null-Klausel bewirken, dass nichts passiert.
- Netzwerkdiagramm (ND)
- Netzdiagramme zeigen die Interaktion zwischen den verschiedenen Prozessen.
Sie werden manchmal auch als System Specification Diagrams (SSDs) bezeichnet.
Notationen im Netzwerkdiagramm (ND)
- Prozess: Prozesse repräsentieren Systemfunktionen.
Ein Modellprozess repräsentiert die primären Systemfunktionen.
Es hat normalerweise eine Beziehung zu einer Außeneinheit über den Datenstrom. - Datenstrom: Datenflüsse schaffen Beziehungen zwischen Prozessen und legen fest, welche Art von Informationen aneinander weitergegeben werden können.
- Statusvektor: Zustandsvektoren sind eine alternative Möglichkeit, eine Beziehung zwischen Prozessen herzustellen. Sie spezifizieren die Merkmale oder den Status der im Prozess verwendeten Entität.
Literatur
- John R. Cameron (1989).Der Jackson-Ansatz zur Softwareentwicklung, IEEE Computer Society Press, Silver Spring.
- Entscheidungssysteme Inc. (2002), Jackson-Systementwicklung[toter Link] .
- Stephen Ferg (2003). Die Jackson Softwareentwicklungsmethoden Method.
- Michael A. Jackson (1982). Eine Systementwicklungsmethode
- Michael A. Jackson (1983). Systementwicklung, Prentice Hall, Englewood Cliffs, New Jersey, 1983. (Herausgegeben 1989 auf Niederländisch von Academec Service unter dem Titel: Systementwicklung nach JSD.)
- Smart Draw (2005). Wie zeichnet man Jackson System Development (JSD)-Diagramme)
- M. Verhelst (1982). Objektorientierte Systementwicklung, Ein praktischer Ansatz mit J.S.D. und MERODE, Kluwer Betriebswirtschaftslehre.
- S.F.N. van't Veld. 16 Systementwicklungsmethoden, Herausgeber Tutein Nolthenius.
Siehe auch
Externe Links
- Entscheidungssysteme Inc. (2002), Jackson-Systementwicklung[toter Link] .
- Smart Draw (2005). Wie zeichnet man Jackson System Development (JSD) Diagramme?