NB! Materjali koostamisel on arvestatud et see on abiks praktikumide ja harjutuste läbiviimisel, seega on soovitav kindlasti kasutada ka lisamaterjale.

Modeleerimine Jacksoni süsteemiarenduse meetoditega.

1. Sissejuhatus
2.
Olemidiagrammid (Entity Structure Diagram, ESD)
3. Diagrammide koostamise reeglid
4. Näiteid


1. Sissejuhatus

Jacksoni programmide disainimise meetod (Jackson Program Design Methodology) mida nimetatakse ka Jacksoni struktuurprogrameerimiseks (Jackson Structured Programming, JSD) on meetod programmide disainimiseks ja modelleerimiseks, mille on välja töötanud  Michael A. Jackson  iseseisvate programmide loomiseks. Selle meetodi puhul alustatakse sellest, mida teatakse ning töötatakse välja programmi disain, mis muutub üha täielikumaks iga läbiviidud iteratisooniga. JSP'd on M.A.Jackson kirjeldanud oma raamatus "Principles of Program Design"

Jacksoni süsteemiarendus (Jackson System Development, JSD) on süsteemi spetsifitseerimise ja disaini meetod mille on JSP põhjal välja töötanud M.A. Jackson koostöös John Cameron'iga Selle lähenemise väljatöötamisel on kasutatud Jacksoni stuktuurprogrammeerimise (Jackson Structure programming, JSP) põhimõtteid.

Tähsaimad JSP ja JSD puudutavad publikatisioonid on:

JSDs on kasutusel kahte tüüpi diagrammid süsteemide modelleerimiseks - Entity Structure Diagrams (ESD olemidiagrammid) ja Network Diagrams.

JSD-l on kolm põhietappi:

  • modelleerimisetapp (selle tulemusena tekib ESD)
  • network-etapp
  • juurutamisetapp

2. Olemidiagrammid (Entity Structure Diagram, ESD)

ESD on JSD väga oluline osa, mis tekib modelleerimisetapi tulemusena. ESD abil kirjeldatakse süsteemi olemi tegevused nende täitmisjärjekorras.

ESD elemendid:

Olem (entity) - objekt, mis teeb ise midagi või millega teostab tegevusi süsteem. Olem võib olla kas füüsiline või kontseptuaalne, s.o. olemiks võib olla näiteks inimene või mingi projekt (või ka programm). ESD puhul on olemas ainult üks olem ja see olem on ESD puu juureks. Olemit kujutatakse ristkülikuna:

Tegevus (action) - lihtsalt öeldes on see midagi, mida olem teeb (või mida olemiga tehakse). ESDdes on tegevused omavahel ja olemiga seotud "vanema-lapse" suhte kaudu. Nagu ka olemit, kujutatakse tegevust ristkülikuna:

Jada, järjestus (sequence) - koosneb mitmest (kahest või enamst) tegevusest, mida täidetakse teineteise järel. Jada kujutatakse puusarnase konstruktsioonina, kus ülemisel tasandil asub "vanem" (olem või tegevus) ja alumisel tasandil asuvad "lapsed", mis on järjestatud vasakult paremale, vastavalt täitmisejärjekorrale.

Joonisel kujutatud situatsioonile vastaks pseudokood:

begin
   Tegevus A;
   Tegevus B;
   Tegevus C;
   Tegevus D;
end.

Valik (selection) - koosneb kahest või enamast üksteist välistavast osast, nendest täidetakse vaid üks. Valikut kujutatakse riskülikuna, mille ülemises paremas nurgas on "o"(tähistab ingliskeelset sõna "option"). Valikud on oma "vanemaga" (olemi või tegevusega) seotud joonte abil:

Joonisel kujutatud situatsioonile vastaks pseudokood (S1 ja S2 on tingimused vastavate tegevuste täitmiseks):

if <S1> then
   Tegevus B
else if <S2> then
   Tegevus C
else
   Tegevus D

Null-komponent e. null-valik (null component, null selection) - tühi tegevus; kasutatakse näiteks if-then-else konstruktsioonis juhul, kui else puhul pole vaja mitte midagi teha (s.o. on olemas vaid if-then osa). Valiku puhul võib ESDs olla vaid üks null-komponent. Tähistatakse ristkülikuna, mille sees on horisontaalne kriips:

Joonisel kujutatud situatsioonile vastaks pseudokood (S1 on tingimus vastava tegevuse täitmiseks):

if <S1> then
   Tegevus B

Kordus (iteration) - tegevus, mida korratakse null või enam korda. Lihtsamalt öeldes - korduv tegevus (tsükkel). Ühel "vanemal" (olemil või tegevusel) võib olla täpselt üks "laps"-kordus (s.o. korduv tegevus). Kordust tähistatakse ristkülikuga, mille paremas ülemises nurgas on tärn "*":

Joonisel kujutatud situatsioonile vastaks pseudokood (I1 on kordamistingimus):

while <I1> do
      Tegevus B

3. Diagrammide koostamise reeglid

  • Jacksoni olemidiagrammid on hierarhilise struktuuriga. See tähendab seda, et ei ole ühendusi tegevuste vahel, mis asuvad samal tasemel,  ega ka eri harudes olevate tegevuste vahel. Lihtsamalt öeldes on iga tegevusel ainult üks vanem.
  • Diagrammis võib olla ainult üks olem ja see olem on diagrammipuu juureks.
  • Kõik ühe "vanema" "lapsed" peavad olema sama tüüpi s.o. ei tohi olla läbisegi jadategevusi, kordusi ja valikuid.
  • Korduvtegevusel ei ole "õdesid-vendi", ta on oma "vanema" ainuke "laps".

4. Näiteid

  • Näide 1. Raamat koosneb lehekülgedest. Iga lehekülg koosneb tekstiridadest. Iga rida koosneb sõnadest. Joonisel 1 on toodud esimene katse luua vastavat struktuurdiagrammi.

Joonis 1 Esimene samm struktuurdiagrammi loomisel

Toodud pilti on võimalik lihtsustada, asendades iga järjestus kordusega, nagu on toodud Joonisel 2.


 
Joonis 2

Toodud näites on näha, et kordus on jada üldistus. Raamat koosneb lehekülgedest, lehekülg on seejuures korduv element. Iga leheküljel on read korduvad elemendid. Reas on aga korduvaks elemendiks sõna.

  • Näide 2. Raamat koosneb esi- ja tagakaanest ning nende vahel olevatest lehekülgedest. Iga lehekülg koosneb tekstiridadest; iga rida koosneb sõnadest. Iga lehekülje alumise ääres on lehekülje number.

    Esimene loodav struktuurdiagramm on toodud Joonisel 3



Joonis 3

Selline struktuuridiagramm on ebakorrektne, esiteks formaalselt. Näiteks, võime esitada küsimuse "Milline komponent on raamat?". Toodud diagrammi vaadates jääb mulje, et tegemist on millegi korduvaga, kuna üks selle osa (lehekülg) on korduv. Samas tundub, et tegemist on millegi järjestikusega, kuna selles on kolm üksteisele järgnevat osa: esikaas, lehekülg, tagakaas. Kuid selline situatsioon on võimatu - komponent peab olema kas korduv, valik või järjestikuline. Kombinatsioone mainitutest tekkida ei tohi.

Veel üks formaalne viga esineb diagrammis selles kohas, mis näitab, et rida koosneb kahest osast, millest üks on korduv
. Seega, milline komponent rida õigupoolest on? See ei saa olla korduv, kuna koosneb kahest osast; see ei saa olla järjestikkomponent, kuna osa sellest kordub. Tegemist on võimatu konstruktsiooniga, mis ei vasta struktuurdiagrammi koostamise reeglitele.

Kolmas viga on lehekülje numbri paigutus. Diagrammist võib välja lugeda, et leheküljenumber on olemas peale igat sõna kõikides ridades.

Õige struktuurdiagramm näeks välja järgmiselt (Joonis 4):



Joonis 4.


Kasutatud materjal:

Kasulik tutvuda:

Koostas: Helena Kruus (MSc)
viimati muudetud: september 2010