Utisci korisnika

Pre nepunih mesec dana kupila sam paket kurseva: PRIPREME ZA POLAGANJE CAMBRIDGE INTERNATIONAL DIPLOMA IN BUSINESS. Obično neki opšti utisak formiramo na kraju, ali ja u ovom trenutku želim sa…

Pre svega želim da vam se zahvalim na veoma brzom i profesionalnom pristupu. Jovan Knežević - Hong Kong


Kompletna lista utisaka

Testiranje online

Arhitektura računara

Za one koji žele da znaju više.

Windows OS

Ovo bi svakako trebalo da probate.

Odnosi s javnošću

Koliko znate PR?

Pogledajte još neke od testova

Newsletter

Ukoliko želite da Vas redovno obaveštavamo o novostima sa Link eLearning sajta prijavite se na našu newsletter listu.

Ime:

Prezime:

Email:


Anketa

Arhiva anketa

BAZA ZNANJA


Kurs: Softverski dizajn

Modul: Notacije bele kutije (White box)

Autor: Test Instruktor

Naziv jedinice: Sekvencijalni dijagram i pseudokod


Materijali vezani uz ovu lekciju:

- Test sekvencijalni dijagram i pseudokod
- Sekvencijalni dijagram i pseudokod (PDF dokument)



U ovoj lekciji obrađivaćemo:

  • Notaciju sekvencijanih dijagrama
  • Korišćenje sekvencijalnih dijagrama
  • Pseudokod i njegovu primenu

 

UML sekvencijalni dijagram predstavlja interesantnu formu notacije koja dobija određenu popularnost u okviru objektno-orjentisanog dizajna, iako ne postoji realan razlog zbog čega bi se koristio za određeni arhitektonski stil. Suštinski posmatrano, svrha ove notacije je da detaljnije sagleda interaktivne sekvence poruka koje se pojavljuju između skupa elemenata (koji mogu biti objekti, učesnici, procesi, klijenti, serveri itd.) kada sarađuju pri izvođenju datih zadataka.

Drugi primer korišćenja sekvencijalnog dijagrama može da bude opis interakcije koja se može javiti pri slučajevima korišćenja (Use case) ili tačnije, u određenom scenariju. Takođe se može koristiti da opiše razmenu koja se dešava u mrežnim protokolima, isto kao i više generalizovane aspekte interakcije koji se pojavljuju između bilo koje grupe kooperativnih sistemskih elemenata, koje god arhitektonske forme oni bili.

Notacija sekvencijalnog dijagrama

Organizacija sekvencijalnog dijagrama se zasniva na potrebi za vremenskom osom, koja se po konvenciji, kreće sa vrha stranice ka dnu. Očigledno, gde postoji potreba za identifikacijom vremenskih intervala ona može biti nacrtana na skali, ali generalno samo sekvencijalni aspekti se opisuju. Svaki procesni element, obično objekat, ali i eventualno neki drugi "učesnik" u sistemu, je lociran u koloni, a poruke se prikazuju putem strelica između kolona.

Sekvencijalni dijagram ima i određene dodatne notacijske elemente. S obzirom da se objekti mogu kreirati i poništiti tokom niza, i s obzirom da njihove metode mogu biti samo-aktivirane ili na neki drugi način, vertikalna linija ispod svakog elementa se menja da pokaže modifikaciju samog elementa. Dok element postoji, njegova vremenska osa se prikazuje isprekidanom linijom, a kada je aktivan, ovo se može predstaviti kao par punih linija.

Slika 1 pokazuje jednostavan primer niza osnovnih operacija pomoću ove notacije koja se zasniva na osnovu interakcije između web browsera i applet-a. U ovom primeru, korisnik poziva applet kada je određena web stranica izabrana i zatim počinje interakcija sa applet-om, prouzrokujući ponovno iscrtavanje njegove slike na stranici (na zahtev appleta web browser to izvršava, budući da applet može crtati samo sa alatima koje se nalaze u browseru). Na kraju, korisnik bira drugu stranicu i applet se ukida.


Slika 1. Jednostavan primer Sekvencijalnog dijagrama (UML)


Gledišta sekvencijalnog dijagrama

Možemo reći da se ova notacija uglavnom bavi opisom ponašanja sistema. To je White Box notacija, jer je primarna briga kako predstaviti određeni odziv ponašanja. Kao i mnoge druge forme ponašanja, ona suštinski nije hijerarhijska, i zaista, jedan problem koji može lako nastati je nerazumevanje relativno velikih i kompleksnih dijagrama ove forme.

Sekvencijalni aspekt znači da postoji i stepen funkcionalnih informacija obezbeđenih u takvom dijagramu, iako to predstavlja u većini sekundarnu ulogu.

Korišćenje sekvencijalnog dijagrama

Kao što je već rečeno sekvencijalni dijagram se u suštini odnosi na modelovanje detaljnih sekvenci pojedinih akcija preduzetih od skupa elemenata koji međusobno sarađuju (koji se u jednostavnom obliku može posmatrati kao procesiranje "tredova"), i sa porukama koje se koriste za koordinaciju tih aktivnosti. Ovo je očigledno važna uloga kada se vrši proširivanje objektno orijentisanog dizajn modela.

Jedan od njih je i na koji način tačno opisati predloženi skup objekata koji će biti u mogućnosti da zadovolji potrebe pojedinih slučajeva korišćenja (use cases), jer je use cases vrlo praktičan način utvrđivanja spoljnih uticaja. Isto tako, sekvencijalni dijagram se takođe može koristiti za opisivanje slučajeva korišćenja (use cases), ili preciznije scenarija. Primere ove uloge sekvencijalnog dijagrama su dali Ratcliffe i Budgen[1]. Slika 2 prikazuje kratke sekvence gde se neiskorišćeni elementi aktiviraju u kasnijem delu sekvence. Ova forma pomaže krajnjim korisnicima da razumeju slučajeve korišćenja i time olakšavaju identifikovanje nedoslednosti ili grešaka koji se mogu javiti.


Slika 2. Use Case opisan pomoću sekvencijalnog dijagrama


Drugo područje, gde sekvencijalni dijagram može ponuditi korisne vizuelne forme, je opisivanje protokola. Na više načina, interakcije objekata se mogu smatrati kao forme protokola, ali se ovaj termin obično koristi kada se opisuju opšte sekvence koje se koriste u komunikacionim mrežama.

Sveukupno gledano, sekvencijalni dijagram nudi vrlo korisnu notaciju koja nije ograničena jednim arhitektonskim stilom (to je uglavnom opis ponašanja) i gradi koristan dodatak dizajnerskom vizuelnom portfoliu. Glavni nedostatak je ograničenje bilo koje hijerarhijske organizacije, iako ponekad može postojati strukturni opseg kroz podgrupe sekvenci. Opisi sekvenci koja obuhvataju više od jedne stranice mogu postati teški za razumevanje i upravljanje.

Pseudokod (Pseudocode)

Pseudokod ima veoma široku primenu. Ponekad se pojavljuje pod drugim naslovima kao što je PDL (Program description language), ali se lako propoznaje i pod takvim naslovima.

Pseudocode se koristi kroz nizak nivo apstrakcije koji omogućava prikrivanje "šume pomoću stabala", kada je u pitanju dizajn. Privlačnost korišćenja pseudocode-a leži u jednostavnosti održavanja.

U istom smislu, važan je i nivo apstrakcije koji pruža dizajneru mogućnost da razmišlja o detaljnim sekvencama rešenja, iako se u tom datom momentu još uvek nalazi daleko od detaljnih formi rešenja. Kako bi to učinio efikasno, neophodno je da osigura da pseudokod ne postane previše sličan programskom jeziku.

Pseudokod forma

Slično kao strukturni dijagram i pseudokod se bavi opisom rešenja u smislu sekvence, iako je restriktivan u opisu sekvenci samih operacija. Slika 3 prikazuje primer ove uloge. Slika 4 pokazuje tipičan primer korišćenja pseudokoda za dizajn programa.

Kako bi se povećala efikasnost, postoje neka korisna pravila za pisanje pseudokoda. Ti principi, koji su ilustrovani na slici 4 su:

  • Korišćenje uvlačenja da se istakne struktura (na taj način lakše je praćenje forme sekvence i pronalaženje drugih čvorova u grani)
  • Isticanje "ključnih reči" na neki način, ispisivanjem velikim slovima ili podvlačenjem
  • Zagradjivanje izvršnih blokova kao što je telo petlje, korišćenjem parova ključnih reči kao što su  LOOP i ENDLOOP ili IF i ENDIF i sl.
  • Izbegavanje referisanja ka oznakama programskih varijabili ili vrednostima konstanti. Na primer, linija check for the end-of-line character je lakša za razumevanje nego check for #15, , koja zahteva poznavanje značenja  #15.

 


Slika 3. Korišćenje pseudocode za opis algoritma



Slika 4. Korišćenje pseudocode za opis strukture programa


Dok ove prakse ne mogu garantovati bolji nivo apstrakcije, one sigurno mogu pomoći izbegavanju pisanja pseudokoda koji je malo bolji od siromašno dokumenatovanog koda.


Gledišta na pseudokod

Kao što je već spomenuto, u pitanju je osnovi funkcionalno gledište, utemeljeno na redosledu operacija, i izražen na prilično detaljnom nivou. Tu je i mali konstrukcioni aspekt, ali relativno manje važnosti.


Korišćenje pseudokoda

Pseudokod se široko koristi za upotpunjavanje drugih formi opisa korišćenih u kasnijim fazama dizajna. Teško je razviti dizajn samo pomoću pseudokoda, zbog ograničenog gledišta koje pruža kada se donosi odluka o dizajnu.

Pseudokod se može koristiti za upotpunjavanje Structure Chart-a obezbeđujući detalje i redosled informacija koje elaboriraju blokove u dijagramu. Može se generisati i direktno iz strukturnog dijagrama. Generalno, gotovo svi oblici dijagrama mogu biti prošireni tekstualnim opisa ove forme, budući da njen strogi oblik pomaže u održavanju relevantanog nivoa apstrakcije.

Pseudokod ima široku primenu i u edukativnim svrhama, jer se često koristi kao opšti jezik za generalno razumevanje koncepata programiranja, pre prelaska na izučavanje konkretnih programskih jezika.

Kao primer dizajn dokumenta pogledajte primere povezane uz ovu lekciju.

Reference:

1. Ratcliffe M. and Budgen D. (2001). The application of use case definitions in system design specification. Information & Software Technology


Smatrate da je ova lekcija korisna?  Preporučite je. Broj preporuka:0