Systeemontwikkeling volgens JSD|Michael A Jackson 9062331971

€ 24,00
Enlèvement ou Envoi
Verzenden voor € 4,94
180depuis 3 mai. '24, 19:18
Partager via
ou

Caractéristiques

ÉtatComme neuf
Année (orig.)1988
Auteurzie beschrijving

Description

||boek: Systeemontwikkeling volgens JSD||Academic Service

||door: Michael A Jackson

||taal: nl
||jaar: 1988
||druk: ?
||pag.: 454p
||opm.: hardcover|zo goed als nieuw

||isbn: 90-6233-197-1
||code: 1:000563

--- Over het boek (foto 1): Systeemontwikkeling volgens JSD ---

Jackson System Development of JSD is een lineaire softwareontwikkelmethode. De methode is er een voor het ontwikkelen van makkelijk te onderhouden software. Ze is ontwikkeld door John Cameron en Michael A. Jackson en gepubliceerd door deze laatste in het boek System Development in 1983.

Michael A. Jacksons ontwerpmethode gaat ervan uit dat het ontwerp van het systeem een extensie is van het programmaontwerp. JSD is gebaseerd op zijn JSP-methode, Jackson Structured Programming, dit omdat de gebruikte technieken bij het ontwikkelen van het programma ook van toepassing zijn op het ontwikkelen van systemen.

JSD is een gestructureerde analyse- en ontwerpmethode, vergelijkbaar met SSADM. Het is ontstaan uit het verder ontwikkelen van Jackson Structured Programming (JSP), een eerdere systeemontwikkelingsmethode van Jackson. JSD is vooral bekend vanwege het feit dat dit de eerste objectgeoriënteerde systeemontwikkelmethode was. Een computersysteem werd namelijk voorgesteld als een netwerk met communicerende sequentiële processen (objecten).

JSD werd vooral veel toegepast in de jaren 70 en 80 in Engeland en Zweden. Daarbuiten veel minder. Na 1983 is JSD nog verder ontwikkeld op basis van ervaringen in de praktijk met verschillende projecten.

Het is een van de eerste ontwikkelingsmethoden die als doel heeft de aanpasbaarheid van systemen te bevorderen. Hiervoor hanteert JSD geen functionele top-down methode, maar maakt het gebruik van Object-oriëntatie. De methode bevat geen projectmanagement activiteiten, het is alleen gericht op de technische aspecten van systeemontwikkeling.

JSD hanteert de volgende technieken:

  • Entity Structure Diagram (ESD)

Wordt gebruikt voor het beschrijven van acties in chronologische volgorde die entiteiten binnen het systeem uitvoeren.

  • System Specification Diagram (SSD), ook bekend als network diagram (ND)

Wordt gebruikt voor het beschrijven van interacties tussen de processen.

  • System Implementation Diagram (SID)

Bij JSD worden de volgende methodes gebruikt om de resultaten van de verschillende stages vast te leggen:

  • Entity Structure Diagram (ESD)
  • System Implementation Diagram (SID)
  • System Specification Diagram (SSD)

Geschiedenis van JSD

JSD is de tweede software ontwikkelingsmethode die Michael Jackson heeft ontworpen. John Cameron is een grote bijdrager geweest aan deze methode. JSD is een systeemontwikkelingsmethode die niet alleen is bedoeld voor individuele programma's, maar voor complete systemen. Zowel JSD als JSP zijn ontwikkeld in de jaren 1970 - 1980.

JSD is gebaseerd op JSP. JSD bevat vele van JSP's diagrammen, waarvan er enkele voor een ander doeleinde worden gebruikt bij JSD. Zo wordt bijvoorbeeld het action structure diagram in JSP gebruikt voor het beschrijven van data en programma structuren. In JSD worden deze diagrammen gebruikt om de levenscyclus van entiteiten te beschrijven.

Hiernaast bevat JSD nog enkele nieuwe diagrammen; zoals het network structure diagram en het system implementation diagram.

De principes

Het eerste principe achter deze methode is dat er een beschrijving wordt gemaakt van de wereld waarvoor het systeem gemaakt moet worden. Pas als dit in kaart is gebracht, wordt goed gekeken naar de functionaliteit van het systeem. Op deze manier wordt goed duidelijk wat de kijk van de gebruiker is op het te maken systeem. Ook is op deze manier betere communicatie mogelijk tussen gebruikers en ontwikkelaars.

Wanneer bepaalde dingen in de "echte wereld" sequentieel achter elkaar worden gedaan, dan moeten deze aspecten ook op deze manier worden gemodelleerd. Hieruit bestaat het tweede principe. Het wordt zodoende duidelijk in welke volgorde sequentiële processen worden uitgevoerd.

Er is nog een derde principe waar deze methode voor staat. Het gaat om het implementeren van de specificaties. Deze worden vertaald naar een set met processen die zijn aangepast aan de beschikbare hardware en software. Erg belangrijk hierbij is om goed aandacht te besteden aan scheduling. Zodoende kunnen de processen efficiënt worden ingezet op de beschikbare processoren.

JSD omvatte eerst de volgende zes stappen en is onderverdeeld in 3 fases:

Modellering (analyse):

  • Entity/Action step
  • In deze en de volgende stap wordt een abstracte beschrijving van de "echte wereld" gegeven, in termen van entiteiten die acties uitvoeren of ondergaan. In deze stap worden de entiteiten en hun acties beschreven.
  • Entity Structures step
  • In deze stap wordt vervolgens de sequentiële volgorde van de gevonden acties bepaald. Ook worden sequentiële structuren gespecificeerd in de vorm van processen.

Network Stage (Ontwerp):

  • Initial Model step
  • Nu wordt een simulatie van de "echte wereld" gespecificeerd.
  • Function step
  • Aan de simulatie van de vorige stap worden nu uitvoerbare operaties toegevoegd, evenals processen die nodig zijn om de output van het systeem te produceren.
  • System Timing step
  • Nu alle processen bekend zijn, wordt in deze stap de synchronisatie tussen deze processen bepaald. Deze stap eindigt met een specificatie die eigenlijk al klaar is om uitgevoerd te kunnen worden op het systeem.

Implementation (Realisatie):

  • Implementation step
  • Vaak is na de vorige stap echter nog een soort optimalisatiestap nodig. Wanneer het systeem bestaat uit vele miljoenen processen, dan zal het geheel niet vloeiend draaien. Daarom kan het nog nodig zijn om sommige processen samen te voegen zodat er uiteindelijk minder zijn. In het ideale geval zijn er evenveel processen als dat er processoren aanwezig zijn, door bijvoorbeeld processen zo samen te voegen dat het voor de processor lijkt alsof het één enkel proces is.

Dit stappenplan is dus later aangepast tot een 3-fasenplan door sommige stappen samen te voegen.

De modelleringsfase (Modelling stage)

In deze fase maken de ontwikkelaars een beschrijving van de zakelijke aspecten waar het systeem rekening mee moet gaan houden. Om deze beschrijving te maken moeten ze de organisatie analyseren en rekening houden met wat er belangrijk is en wat niet. Ook moet er rekening worden gehouden dat het ontwerp over de situatie gaat zoals die moet worden en niet zoals die op dit moment is. De beschrijving moet zo nauwkeurig mogelijk geschreven worden, dit dwingt de ontwikkelaars goede vragen te stellen. Hierdoor ontstaat er betere communicatie en begrip tussen de ontwikkelaars en de gebruikers van het nieuwe systeem.

De modelbeschrijving bestaat uit acties, entiteiten en overige aanverwante informatie. Een actie is een gebeurtenis die voor het systeem relevant is. Er wordt een lijst met acties met definities en bijbehorende attributen gemaakt. De diagrammen beschrijven of het opdracht geven tot of het verband tussen de acties. De diagrammen beschrijven ook de entiteiten, mensen of dingen waarop de actie betrekking heeft.

De gegevens die voor elke entiteit worden opgeslagen worden ook in deze fase bepaald. Het resultaat van deze fase is een reeks lijsten, definities en diagrammen die in gebruikerstermen beschrijven wat er precies in de organisatie gebeurt en wat er moet worden geregistreerd door het systeem.

De netwerkfase (Network stage)

In de netwerkfase wordt er precies opgesteld wat het systeem uiteindelijk moet doen en hoe het eruit moet komen te zien voor de gebruiker. Deze beschrijving is een netwerk van programma's. Voor elke entiteit is er een programma aanwezig in het netwerk, later worden er meerdere programma's aan toegevoegd. Deze programma's hebben als doel input te verwerken en de entiteitenprogramma's up-to-date te houden of om output te berekenen. Het netwerk wordt dan opgebouwd door programma's toe te voegen en te verbinden met het bestaande netwerk. De meeste nieuwe programma's kunnen rechtstreeks met de entiteitenprogramma's worden verbonden.

Het systeem wordt beschreven door een reeks netwerkdiagrammen. Alle diagrammen vertegenwoordigen het gehele systeem. De diagrammen worden ondersteund met teksten die de inhoud van de gegevensstromen en verbindingen beschrijven. De programma's worden opgesteld op een manier die gebruikmaakt van de methode JSP (Jackson Structured Programming), wat onderdeel is van JSD.

De implementatiefase (Implementation stage)

Het doel van deze fase is het opleveren van het uiteindelijke systeem. Hier worden dataontwerpen gemaakt (databases, files). Het ontwerp van de data is het ontwerp van dossiers van gegevensbestanden. De details van het gegevensbestandontwerp hangen af van het DBMS (Database Management System) dat wordt gebruikt.

Ook wordt in deze fase het netwerk geoptimaliseerd. Het resultaat van de netwerkfase is een verdeeld netwerk van programma's. Deze fase wil zeggen dat veel programma's worden omgezet naar subroutines om het netwerk overzichtelijk te houden. Hierdoor verandert het netwerk van een vorm voor specificatie naar een vorm voor implementatie.

Het ontwerpen van de diagrammen

Enitity Structure Diagram (ESD)

  • Het diagram laat zien hoe de acties entiteiten met het systeem samenwerken.

Entity Structure Diagram (ESD) notaties

  • Entiteit: Een entiteit is een object dat op en door het systeem gedraaid wordt.
  • De root van ESD de parent-child tree is één enkele entiteit.
  • Actie: De acties worden uitgevoerd door entiteiten en de acties beïnvloeden andere entiteiten.
  • Zij zijn verbonden aan de rootentiteit en elkaar in een parent-childhiërarchie.
  • Construct - Opeenvolging: De JSD-construct is identiek aan de SSADM Entity Life History construct.
  • Gebruik een opeenvolgingsconstruct om acties te illustreren die in orde van links naar rechts worden uitgevoerd.
  • Construct - Selectie: Om een keus tussen twee of meer acties aan te geven.
  • Merk de acties met kleine "o" (option) in de rechterbovenhoek.
  • Construct - Herhaling: Als een actie wordt herhaald, plaats een kleine asterisk (*) in de rechterbovenhoek.
  • Er is normaal gesproken slechts één actie onder een herhalingsconstruct.
  • Null component: In een if-else statement, kan een null component ervoor zorgen dat er niets gebeurt.

Network Diagram (ND)

  • Netwerkdiagrammen laten interactie tussen de verschillende processen zien.
  • Soms wordt er naar verwezen als System Specification Diagrams (SSDs).

Network Diagram (ND) notaties

  • Proces: Processen representeren systeemfuncties.
  • Een modelproces representeert de primaire systeem functies.
  • Het heeft meestal een relatie met een buitenentiteit via de datastroom.
  • Datastroom: Datastromen maken relaties tussen processen en specificeren wat voor een informatie naar elkaar kan worden doorgegeven.
  • Statusvector: Statusvectoren zijn een alternatieve manier voor het maken van een relatie tussen processen. Zij specificeren de karakteristieken of de status van de entiteit die gebruikt wordt bij het proces.

[bron: https--www.wikiwand.com/nl/Jackson_System_Development]

--- Over (foto 2): Michael A Jackson ---

Michael Anthony Jackson (born 16 February 1936) is a British computer scientist, and independent computing consultant in London, England. He is also a visiting research professor at the Open University in the UK.

Born in Birmingham to Montagu M. Jackson and Bertha (Green) Jackson, Jackson was educated at Harrow School in Harrow, London, England. There he was taught by Christopher Strachey and wrote his first program under Strachey's guidance. From 1954 to 1958, he studied classics (known as "Greats") at Merton College, Oxford; a fellow student, two years ahead of him, was C. A. R. Hoare. They shared an interest in logic, which was studied as part of Greats at Oxford.

After his graduation in 1961, Jackson started as computer science designer and consultant for Maxwell Stamp Associates in London. Here he designed, coded and tested his first programs for IBM and Honeywell computers, working in assembler. There Jackson found his calling, as he recollected in 2000: "Although I was a careful designer - drawing meticulous flowcharts before coding - and a conscientious tester, I realised that program design was hard and the results likely to be erroneous..." Information system design was in need of a structured approach.

In 1964, Jackson joined the new consultancy firm John Hoskyns and Company in London, before founding his own company Michael Jackson Systems Limited in 1971. In the 1960s, he had started his search for "more reliable and systematic way of programming." He contributed to the emerging modular programming movement, meeting Larry Constantine, George H. Mealy and several others on a 1968 symposium. In the 1970s, Jackson developed Jackson Structured Programming (JSP). In the 1980s, with John Cameron, he developed Jackson System Development (JSD). Then, in the 1990s, he developed the Problem Frames Approach.

As a part-time researcher at AT&T Labs Research, in collaboration with Pamela Zave, Jackson created "Distributed Feature Composition", a virtual architecture for specification and implementation of telecommunication services.

Jackson received the Stevens Award for Software Development Methods in 1997. and British Computer Society Lovelace Medal in 1998.

In 1961, Jackson married Judith Wendy Blackburn; they have four sons, one of whom, Daniel, is also a computer scientist based at MIT.

Jackson has developed a series of methods. Each of these methods covers a wider scope than the previous one, and builds on ideas that appeared, but were not fully developed, in the previous one. Reading his books in sequence allows you to follow the evolution of his thinking.

Jackson Structured Programming (JSP) was the first software development method that Jackson developed. It is a program design method, and was described in his book Principles of Program Design. JSP covers the design of individual programs, but not systems.
Jackson System Development

The Jackson System Development (JSD) was the second software development method that Jackson developed. JSD is a system development method not just for individual programs, but for entire systems. JSD is most readily applicable to information systems, but it can easily be extended to the development of real-time embedded systems. JSD was described in his book System Development.
Problem Frames Approach

Problem Analysis or the Problem Frames Approach was the third software development method that Jackson developed. It concerns itself with aspects of developing all kinds of software, not just information systems. It was first sketched in his book Software Requirements and Specifications, and described much more fully in his book Problem Frames. The First International Workshop on Applications and Advances in Problem Frames was held as part of ICSE'04 held in Edinburgh, Scotland.

Michael Jackson's books include:

  • 1975. Principles of Program Design ISBN 0-12-379050-6.
  • 1983. System Development ISBN 0-13-880328-5.
  • 1995. Software Requirements & Specifications ISBN 0-201-87712-0.
  • 1997. Business Process Implementation
  • 2001. Problem Frames: Analysing and Structuring Software Development Problems ISBN 0-201-59627-X.

Many of his essays have been collected, along with research papers relating to his work, in the book:

  • 2010. Software Requirements and Design: The Work of Michael Jackson, Bashar Nuseibeh and Pamela Zave, editors. ISBN 978-0-557-44467-0

[source: wikipedia]

Areas of interest

  • Software & engineering
  • Requirements
  • Specifications
  • Software system design
  • Dependable systems
  • Problem analysis
  • Problem & solution structures
  • Feature interaction

Activities

  • I work as an independent consultant in London, England, and I participate in research projects
  • I also offer consultancy and seminars on requirements, specification and design of software-intensive systems

Professional Activities

  • Editorial Board Member: IEEE Transactions on Software Engineering
  • Editorial Board Member: Automated Software Engineering
  • Editorial Board Member: Requirements Engineering Journal
  • Editorial Board Member: Science of Computer Programming
  • Editorial Board Member: Software and Systems Modeling

  • Member of IFIP Working Group 2.3 on Programming Methodology
  • Member of IFIP Working Group 2.9 on Requirements Engineering

Current Research Topics

  • Software Engineering and Engineering
  • Problem Frames
  • Problem Frame Composition
  • Relating Problems and Solutions
  • Extending the Problem Frames Approach
  • Requirements and Specifications

Past Research Topics

  • Telecommunications System Architecture
  • Information System Development
  • Sequential Program Design

Colleagues

Over the years I have worked with many different people in business, industry, government and academia, and learned much from them. Here are the names of a few of them. Not all have home pages on the web.

  • Leonor Barroca
  • Brian Boulter
  • John Cameron
  • Barry Dwyer
  • Steve Ferg
  • José Fiadeiro
  • Rainer Gmehlich
  • Katrin Grau
  • Carl Gunter
  • Elsa Gunter
  • Charles Haley
  • Anthony Hall
  • Jon Hall
  • Ian Hayes
  • Daniel Jackson
  • Cliff Jones
  • Ben Kovitz
  • Robin Laney
  • Felix Loesch
  • Bashar Nuseibeh
  • Ashley McNeile
  • Lucia Rapanotti
  • Thein Than Tun
  • Roel Wieringa
  • Yijun Yu
  • Pamela Zave

Books

  • Problem Frames: Analysing and Structuring Software Development Problems (Addison-Wesley, 2001) - Describes the use of problem frames and the associated principles of analysis and structure.

  • Business Process Implementation (Addison-Wesley and ACM Press, 1997) - Co-authored with Graham Twaddle of the Sherwood Group. Describes that company's approach to specifying and building workflow systems for insurance and other applications.

  • Software Requirements & Specifications (Addison-Wesley and ACM Press, 1996) - A lexicon of principles, practices and prejudices. Describes some ideas relevant to the earlier stages of software development. These are chiefly ideas about problem analysis and description of the problem context. Introduces the idea of problem frames.

  • System Development (Prentice-Hall, 1983) - Describes the JSD method of system specification and design.

  • Principles of Program Design (Academic Press, 1975) - Describes the program design method that later became known as JSP and was adoped as a UK Government standard.

[source: http--mcs.open.ac.uk/mj665]

Michael Anthony Jackson (1936) is een Brits informaticus en IT consultant. Hij is werkzaam bij AT&T Research in Florham Park, New York, en visiting professor aan de Universiteit van Newcastle en de Open University in het Verenigd Koninkrijk. Hij is bekend van de softwareontwikkelingsmethoden Jackson Structured Programming en Jackson System Development.

Michael A. Jackson werd geboren in 1936, en volgde de Harrow School in Harrow, waar de informaticus Christopher Strachey hem de beginselen van het programmeren bijbracht. Aan de Oxford University studeerde hij de Literae Humaniores (de klassieken), waar hij medestudent was van de informaticus Tony Hoare. Ze hebben een gemeenschappelijke interesse in logica, die werd bestudeerd als deel van de klassieken in Oxford.

Begin jaren 1960 ontwikkelde hij zijn eerste programma's in assembler op machines van IBM en Honeywell, waarbij hij zijn ontwerpen nauwlettend in stroomschema's optekende. Hij ervoer hier echter al dat programmaontwerp een zware klus is en de resultaten verkeerd kunnen uitpakken. In 1964 ging hij werken bij John Hoskyns and Company, een nieuw consultancybureau in Londen, waar hij veel aandacht besteedde aan de problemen van het programmaontwerp.

Eind 1970 verliet Jackson Hoskyns en startte hij zijn eigen onderneming, Michael Jackson Systems Limited. In 1971 werd hij uitgenodigd een seminar te verzorgen voor de Amerikaanse Association for Computing Machinery gesteund door de British Computing Society. In de ontwikkeling van het cursusmateriaal en het verdere cursusverloop legde hij de basis voor Jackson Structured Programming. In 1977 nam hij John Cameron in dienst en gezamenlijk ontwikkelden zij de Jackson System Development.

In de jaren 1970 ontwikkelde Jackson de softwareontwikkelingsmethode Jackson Structured Programming (JSP), in de jaren 1980 ontwikkelde hij samen met John Cameron een methode voor systeemontwikkeling, de zogenaamde Jackson System Development (JSD), en in de jaren 1990 ontwikkelde hij de Problem Frames, een aanzet om problemen te analyseren en te structureren.

Jackson schreef verder onder andere over softwareontwikkeling in het algemeen, telecommunicatiesysteemarchitectuur, requirements en specificaties, informatiesysteemontwikkeling en sequentieel programmaontwerp.

Jackson Structured Programming (JSP) was de eerste softwareontwikkelingsmethode van Jackson, die hij in 1974 presenteerde in het boek Principles of Program Design. Deze methode is gericht op het ontwerp van individuele programma's, maar niet op systemen.

Jackson System Development (JSD) was de tweede methodologie, die Jackson met John Cameron en verschillende anderen ontwikkelde. Het is een ontwikkelingsmethode niet alleen voor afzonderlijke programma's maar voor hele systemen. JSD is een lineaire softwareontwikkelmethode, vooral ook gericht op het ontwikkelen van makkelijk te onderhouden software. JSD bestaat uit een gestructureerde analyse- en ontwerpmethode, vergelijkbaar met SSADM, en bouwt hierbij voort op de Jackson Structured Programming. JSD is vooral bekend vanwege het feit dat dit de eerste objectgeoriënteerde systeemontwikkelmethode was.

Problem Frames Approach

De zogenaamde Problem Analysis of Problem Frames Approach is de derde softwareontwikkelingsmethode van Jackson. Hij handelt over allerlei aspecten van de ontwikkeling van allerlei uiteenlopende software, en niet alleen systemen. Jackson heeft dit voor het eerst uitgelegd in zijn boek Software Requirements and Specifications uit 1996 en beschrijft dit vollediger in het boek Problem Frames uit 2001.

Publicaties

Jackson schreef enige boeken en een honderdtal artikelen:

  • 1974, Principles of Programme Design. ISBN 0-12379050-6.
  • 1983, System Development. ISBN 0-13-880328-5.
  • 1996, Software Requirements & Specifications. ISBN 0-201-87712-0.
  • 1997, Business Process Implementation, Addison-Wesley and ACM Press.
  • 2001, Problem Frames: Analysing and Structuring Software Development Problems. ISBN 0-201-59627-X.

[bron: https--nl.linkfang.org/wiki/Michael_A._Jackson]
Numéro de l'annonce: m2111137542