Dezvoltarea sistemului Jackson

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare

Dezvoltarea sistemului Jackson ( JSD ) este o metodologie liniară de dezvoltare software dezvoltată de Michael A. Jackson și John Cameron în anii 1980 .

Istorie

JSD a fost prezentat de Michael A. Jackson în 1982, într-un eseu numit A System Development Method [1] și în 1983 în System Development [2] . Jackson System Development (JSD) este o metodă de dezvoltare care acoperă ciclul de viață al software-ului, fie direct, fie oferind un cadru în care să aplice tehnici mai specializate. JSD poate porni de la un proiect a cărui stare este limitată la un set de cerințe, dar multe proiecte l-au folosit și în stări de dezvoltare mai avansate, extragând primii pași din documentația existentă mai degrabă decât direct de la utilizatori. Prima metodă a lui Jackson, Programarea structurată Jackson (JSP), este utilizată pentru a produce codul final al sistemului. Produsul primilor pași ai JSD constă dintr-un set de modele de programe. Întreținerea este, de asemenea, gestionată prin primii pași.

JSD și-a continuat evoluția, iar în colecția de eseuri a lui John Cameron din 1989, JSP și JSD [3] au fost introduse câteva caracteristici noi, confirmate ulterior de cea de-a doua versiune a metodei din manualul din 1992 Learmonth & Burchett Management Systems (LBMS). [4 ]

Dezvoltarea JSD-ului ajunge la concluzia sa la începutul anilor '90 prin transformarea sa în abordarea cadrelor de probleme cu publicarea cerințelor și specificațiilor software (1995) și a cadrelor de probleme: analizarea și structurarea problemelor de dezvoltare software (2000).

Principii

Cele trei principii de bază ale SD sunt:

  • Dezvoltarea trebuie să înceapă cu descrierea și modelarea lumii reale, mai degrabă decât cu specificarea sau structurarea funcției sistemului. Un sistem dezvoltat folosind JSD efectuează simulare în lumea reală înainte de a se acorda atenție funcției sau scopului sistemului.
  • Un model adecvat al unei lumi ordonate în timp trebuie, de asemenea, ordonat în timp. Scopul principal este să mapeze progresul lumii reale la progresul sistemului care o modelează.
  • O modalitate de implementare a sistemului se bazează pe transformarea specificațiilor în seturi de proces eficiente. Aceste procese trebuie să fie proiectate pentru a fi executabile pe software și hardware disponibile.

Pașii JSD

Când a fost prezentată inițial în 1982 [1] , metoda consta din șase etape:

  1. Entitate / acțiune
  2. Modelul inițial
  3. Funcție interactivă
  4. Funcția de informare
  5. Sincronizarea sistemului
  6. Implementarea sistemului

Ulterior, au fost combinate câteva etape pentru a le reduce la trei:

  1. Faza de modelare (analiză): entitate / acțiune
  2. Faza rețelei (proiectare): include modelul inițial, funcția interactivă și funcția de informații, sincronizarea sistemului
  3. Faza de implementare (realizare): implementare

Faza de modelare

În faza de modelare, proiectantul creează o colecție de diagrame ale structurii entității și identifică entitățile sistemului, acțiunile pe care le efectuează, ordinea în timp a acțiunilor și atributele acțiunilor și entităților. Fiecare diagramă de structură folosește notația de programare structurată Jackson . Scopul acestor diagrame este de a crea o descriere completă a aspectelor sistemului și organizării acestuia.

Dezvoltatorii trebuie să decidă ce aspecte sunt importante și care nu. O comunicare bună între dezvoltatori și utilizatorii de sistem este esențială.

Faza rețelei

În faza de rețea, un model al sistemului este dezvoltat și reprezentat printr-o diagramă de specificații a sistemului (SSD, cunoscută și sub numele de diagramă de rețea ). Diagrama rețelei arată procesele ( dreptunghiurile ) și modul în care acestea comunică între ele prin conexiuni vector de stare ( romburi ) sau prin conexiuni de transmisie de date ( cercuri ). În această fază este definită funcționalitatea sistemului. Fiecare entitate devine un proces sau program al diagramei de rețea. Scopul acestor programe este de a procesa datele de intrare, de a calcula rezultatele și de a actualiza entitățile de proces. Întregul sistem este descris cu aceste diagrame și este completat cu descrieri despre date și conexiunile dintre procese și programe.

Modelul inițial specifică o simulare în lumea reală. Fazele funcționale adaugă la simulare operații și procese executabile suplimentare necesare pentru a produce ieșirea sistemului. Faza de sincronizare a sistemului asigură sincronizarea procesului și introduce constrângeri.

Faza de implementare

În faza de implementare, modelul de rețea este convertit într-un sistem fizic, reprezentat de diagrama de implementare a sistemului (SID). SID arată sistemul ca un programator de proces care apelează modulele care implementează procesele. Fluxurile de date sunt reprezentate ca apeluri de proces inversate. Baza de date simboluri reprezintă colecții de entități vector-stare, cu simboluri speciale pentru buffere de fișiere (care trebuie implementate atunci când executarea unui proces este programată la intervale de timp diferite).

Scopul principal al fazei de implementare este optimizarea sistemului. Este necesar să reduceți numărul de procese, deoarece este imposibil să acordați fiecărui proces propriul procesor virtual. În ceea ce privește transformarea, procesele sunt combinate într-un mod limitat la numărul de procesoare disponibile.

Proiectarea diagramei

Diagrama structurii entităților (ESD)

Diagrama arată cum cooperează entitățile de acțiune cu sistemul.

  • Entitate: o entitate este un obiect care este utilizat pe sistem și de către sistem.
  • Acțiune: acțiuni care sunt efectuate de entități și acțiuni care afectează alte entități.
  • Secvență de construcție: constructul JSD este identic cu construcția SSADM Entity Life History. Utilizați un SequenceConstruct pentru a ilustra acțiunile care sunt aplicate de la stânga la dreapta.
  • Selecție constructivă: pentru a reprezenta o alegere între două sau mai multe acțiuni. Marcați opțiunea din colțul din dreapta sus cu un „o” (opțiune)
  • Construcție-recurență: atunci când o acțiune se repetă este marcată cu un asterisc (*) în colțul din dreapta sus. În mod normal, ar trebui să existe o singură acțiune sub un RecurringConstruct.
  • Componentă nulă: o componentă nulă vă permite să verificați dacă nu se execută nimic într-o instrucțiune IF-ELSE.
Diagrama rețelei (ND)

Diagrama arată interacțiunea dintre procese. Acestea sunt uneori denumite diagrame de specificații ale sistemului (SSD).

  • Proces: Un proces reprezintă o funcție a sistemului. Un model de proces reprezintă funcția sa principală în sistem. De obicei are o relație cu o entitate externă prin fluxul de date.
  • Conexiune de transmisie de date: într-o conexiune de transmisie de date, procesul A (entitatea care scrie fluxul de date) trimite în mod activ informații către procesul B.
  • Inspecția vectorului de stare: Într-o conexiune de vector de stare, procesul B citește informațiile despre vectorul de stare de la o altă entitate A.

Diferența dintre o conexiune vector de stare și fluxul de date este în ce proces este activă. Într-o conexiune de transmisie de date, procesul cu informațiile (A) este procesul activ; trimite mesaje în mod activ către cititorul de transmisii de date B într-o clipă selectată de A. În vectorul de inspecție de stat, procesul cu informații (A) este pasiv; nu face nimic, dar permite procesului cititorului (B) să-și inspecteze vectorul de stare. Procesul care efectuează inspecția (B) este procesul activ; decide când să citească informațiile din A. Aproximativ, conectorul transmisiei de date este o abstracție de schimb de mesaje, în timp ce inspecția vectorului de stare este o abstracție pentru interogare și citire din baza de date.

Notă

  1. ^ a b " O metodă de dezvoltare a sistemului Arhivat 6 februarie 2012 la Internet Archive ." de MA Jackson, publicat în Instrumente și noțiuni pentru construirea programului: Un curs avansat , Cambridge University Press, 1982
  2. ^ Dezvoltare sistem , MA Jackson, Prentice Hall, 1983
  3. ^ JSP și JSD: abordarea Jackson pentru dezvoltarea de software , ed. John R. Cameron (IEEE Computer Society Press, ISBN 0-8186-8858-0 , 1989)
  4. ^ Dezvoltarea sistemului LBMS Jackson, versiunea 2.0 Manual de metodă de LBMS (Learmonth, Burchett Management Systems), John Wiley & Sons, ISBN 0-471-93565-4 ; 1992

Elemente conexe