Uvod v CASE

 

Kaj se bomo v tem poglavju naučili?

 

V tem poglavju bi morali govoriti o orodjih za za izboljšanje kakovosti in hitrosti razvoja aplikacij. Pred tem bi morali spoznati metodologije, na katerih ta orodja temeljijo. Spoznali bomo osnovne pojme, ki jih pri takem delu srečamo. V podrobnosti se ne bomo spuščali.

Uvod

Poglavje je posvečeno  sodobnim načinom računalniško podprtega programskega inženirstva, ki v principu poteka od analize problemskega področja, ki naj bi ga posprli z ustrezno bolj ali manj kompleksno računalniško rešitvijo. Ta seveda zajema tako razvoj ali sintezo ustreznih programskih in podatkovnih gradnikov kot njihovo implementacijo na ustrezni računalniški infrastrukturi. Poudarek na hitrem razvoju aplikacij se kaže tudi v velikem številu različnih novih programskih orodij CASE (Computer Aided Software Engineering).

Praviloma pri razvoju računalniške podpore nekega problemskega področja izhajamo iz analize samega problema in nato prehajamo v samo načrtovanje.

Strukturna analiza

Pri razvoju nove aplikacije želimo zagotoviti takšno predstavitev zahtev, ki bo razumljiva obema vpletenima stranema (torej uporabnikom in razvijalcem). Jasno pa je, da so najprimernejše oblike komuniciranja povezane z grafično predstavitvijo in takšen primer so tudi diagrami toka podatkov. Primer takega diagrama je tudi sam potek od zahtev ušporabnika preko analize do razvoja in implementacije novega sistema, kar ponazoruje spodnja slika:




Diagrami toka podatkov

Diagrami toka podatkov  prikazujejo pretok podatkov skozi sistem, ki je lahko tako organizacija, podjetje, množica procedur, računalniška strojna oprema, programski sistem ali kombinacija vseh naštetih. Podatkovni tokovi ponazarjajo potek informacij od enega objekta (procesa, izvora, ponora ali datoteke) k drugemu objektu. Za nas so zanimivi predvsem programski sistemi. če podamo osnovne konstrukte diagramov toka podatkov (Data Flow Diagram):

Podatki, ki se pretakajo skozi sistem, so predstavljeni s poimenovanimi povezavami, (smer vektorja kaže smer pretoka podatkov med posameznimi komponentami. Podatkovni tok je potrebno tudi ustrezno poimenovati, pri tem podamo smiselno ime.

Podatkovni slovar

Podatkovne tokove iz diagramov tokov podatkov razčlenimo do prvinskih elementov (podatkovnih elementov). To  razčlembo zapišemo kot podatkovni slovar in pri tem uporabimo naslednji način zapisa:

Notacija

Pomen

=

enako

+

logični IN

[ ] |

Logični ALI

{ }

iteracija

( )

opcija

 

Oglejmo si nekaj primerov uporabe takega zapisa:

kovanec_obrnjen = pismo | glava

seznam_potnikov = { ime_potnika }

ime_potnika = 81{ znak }

telefonska_štev = lokalna_štev |0+zunanja_štev

lokalna_štev = prva_štev + { polj_štev }

polj_štev = [ 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 ]

 


Mini specifikacije

izdelamo za tiste procese iz diagramov toka podatkov, ki niso razgrajeni, torej so atomarni (prvinski) procesi.. Z njimi opišemo transformacijo vhodnih podatkov v izhodne. Pri opisu takih procesov je potrebno poudariti, da ima vsak proces svojo »mini« specifikacijo, ki mora opisati transformacijo vhodnih podatkov v izhodne. Mini specifikacije pa ne smejo opisati metode te transformacije. Za mini specifikacijo lahko uporabimo:

·         strukturirano besedilo,

·         odločitvene tabele in

·         odločitvena drevesa.

Strukturirano besedilo je specifikacijski jezik, ki uporablja omejen slovar in omejeno sintakso, potrebno je zagotoviti osnovne proceduralne konstrukte: sekvence, torej zaporedja, odločitev in ponavljanja. Seveda se število rezerviranih konstruktov, ki nam omogočajo izdelavo mini specifikacije razlikuje od avtorja do avtorja.

 

Primer strukturiranega besedila:

Izberi način pošiljanja pošiljke

  case 1 ( teža paketa > 100kg)

     Nalepi oznako tovorna_pošiljka.

  case 2 ( 10kg < teža_paketa < 100 kg )

    Nalepi oznako navadna_pošiljka.

 case 3 ( teža paketa < 10kg)

   Nalepi oznako letalska_pošiljka.

 

 

 Primer odločitvene tabele

Za zgled vzemimo organizacijo seminarja. Med odmori seminarja naj bo brezplačna kava, če je seminar vsaj pol zaseden in cena seminarja na udeleženca > 100€, razen čegre za posebno izvedbo seminarja pri naročniku. Pri taki izvedbi stroške kave zaračunamo posebej, seveda če s kavo sploh postrežemo.

 

Popis pogojev

posebna izvedba

več kot polovico zaseden

dražji od 25.000 SIT

Vrednosti pogojev

D N D N D N D N

D D N N D D N N

D D D D N N N N

 

Popis ukrepov

postrežemo s kavo

kava je zastonj

Ukrepi pri pogojih

D D N ? D ? N ?

D D -  ?  N ? -  ?

 

Primer odločitvenega drevesa (isto lahko zapišemo z odločitvenim drevesom):

 

Sodobna orodja CASE

         Sodobna orodja za analizo in načrtovanje računalniških aplikacij pogosto temeljijo na notaciji UML (Unified Modeling Language). To zaslednimo danes tudi v takoimenovanih integriranih razvojnih okoljih (IDE, Integrated Development Environment). UML opisuje notacije za vrsto različnih modelov, ki jih lahko tvorimo med objektno usmerjeno analizo in načrtovanjem. Danes je UML de facto standard za objektno usmerjeno modeliranje. Temelji na vrsti različnih grafičnih diagramov, ki jih lahko razvrstimo tako:

         Diagrami primerov uporabe (Use case diagrams)

         Opisujejo fnnkcionalno obnašanje sistema, kot ga vidi uporabnik.

         Razredni diagrami (Class diagrams)

         Opisujejo statično strukturo sistema: objekte, atribute in asociacije.

         Sekvenčni diagrami (Sequence diagrams)

         Opisujejo dinamično obnašanje med akterji in sistemom ter med objekti sistema.

         Diagrami stanj (Statechart diagrams)

         Opisujejo dinamično obnašanje  posameznih objektov kot stroja s končnim številom stanj.

         Diagrami aktivnosti (Activity diagrams)

         Modelirajo dnamično obnašanje sistema, predvsem potek dela. To so torej diagrami poteka.

 

Vidimo, da so diagrami poteka le kamenček v metodologiji analize in načrtovanja novega ali posodobljenega sistema. Podrobnosti o standardu UML, ki ga pač mora poznati vsak napreden načrtovalec programske opreme, so stvar posebnega tečaja ali vsaj poglavja.