Modeleerimine Jacksoni süsteemiarenduse meetoditega.

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