sveučilište josipa jurja strossmayera u osijekumrkve.etfos.hr/pred/ozm/si/sem01.pdf · prikazati...
TRANSCRIPT
Sveučilište Josipa Jurja Strossmayera u Osijeku
Odjel za matematiku
Sveučilišni diplomski studij matematike i računarstva
Seminarski rad iz predmeta
Softversko inženjerstvo
Upper-CASE alati danas
Dominik Crnojevac
Sadržaj
1. Uvod................................................................................................................................. 1
2. CASE................................................................................................................................ 2
3. Vrste CASE alata............................................................................................................ 5
4. Upper CASE alati.......................................................................................................... 7
5. Zaključak ........................................................................................................................ 11
6. Literatura ........................................................................................................................ 12
1
1.Uvod
Razvoj softvera je bio viđen kao nedovoljno discipliniran proces, pa su iz tog razloga
računalne kompanije počele posuđivati ideje iz procesa proizvodnje hardvera. Same početke
CASE-a nalazimo u projektu Sveučilišta Michigan, nazvanom ISDOS projekt 1968. godine.
Također nekoliko radova Daniela Teichroewa napravili su veliki interes za automatiziranim
razvojem sustava. Termin CASE je izvorno kreiran od strane Nastec Corporation of
Southfield, 1982. u Michiganu. Njihov tekst editor sa integriranom grafikom imena
GraphiText bio je prvi mikroprocesorski sustav koji je koristio hiperlinkove kako bi povezao
različite dijelove dokumenta(preteča današnjih web linkova). Nasljednik GraphiText-a,
DesignAid, bio je prvi mikroprocesorski alat koji je mogao logički i semantički ocjeniti
softver i dijagrame za dizajn sustava te stvoriti bazu podataka. Pod vodstvom Albert F. Case
mlađeg, podpredsjednika za upravljanje proizvodima i savjetovanje, te Vaughn Fricka,
glavnog zaduženog za upravljanje prozivodima, DesignAid se nadogradio kako bi podržavao
puno veći spektar strukturalnih analiza i metoda dizajna. Najznačajniji ljudi koji su radili an
ovom projektu su bili Ed Yourdon i Tom DeMarco.CASE alati su doživjeli vrhunac 1990-tih
kada je glavni korisnik alata bio IBM.
2
2. CASE
Što je zapravo CASE?
CASE(computer-aided software and engineering) je korištenje kompjuterski
potpomognute metode kako bi organizirali i kontrolirali razvoj softvera, posebno na velikim i
kompleksnim projektima koji uključuju puno softverskih komponenti i ljudi. CASE alati su
automatizirani softverski alati koji podržavaju izradu i analizu modela sustava i njegovih
specifikacija. Pružaju nam manje troškove razvoja(brže, lakše održavanje i jednostavnije
modifikacije) te veću kvalitetu(automatizacija dokumentiranja, provjera konzistentnosti).
Korištenje CASE-a omogućava dizajnerima, programerima, testerima, planerima i
menadžerima da imaju zajedničku viziju projekta na svakom koraku ili fazi razvoja. CASE
pomaže u stvaranju discipliniranog i organiziranog procesa razvoja softvera. CASE alat može
prikazati napredak u projektu(ili nedostatak istog) grafički. Također, može koristiri kao
repozitorij za dokumente, programske baze podataka koje sadržavaju poslovni plan projekta,
zahtjeve dizajna, specifikacije dizajna, detaljne specifikacije programskog koda, test slučajeve
i rezultate, te planove za marketing i servisiranje.
CASE alati omogućuju:
Forward engineering – mogućnost generiranja inicijalnog dijela softvera i/ili
baze podataka
Reverse engineering – mogućnost generiranja modela sustava na osnovu
postojećeg softvera i/ili baze podataka
Round-trip engineering – istovremene izmjene koda i modela
Također, neki CASE alati omogućuju izradu prototipa ili cijelog koda
Zašto razvijamo CASE alate?
1. Brza instalacija.
2. Ušteda na vremenu smanjivanjem vremena potrebnog za kodiranje i testiranje.
3. Obogaćuje grafičke tehnike i protok podataka.
4. Optimalno korištenje svih dostupnih informacija.
5. Pojačana analiza i razvoj dizajna.
6. Stvaranje i uređivanje dokumentacije.
7. Prijenost informacija između alata se radi efikasno.
8. Brzina razvoja softvera povećana.
3
Kako se CASE alati sve koriste:
1. Kako bi se postigla jedinstvenost u dizajnu:
CASE alati pomažu kako bi se standardizirao razvojni proces. Također pruža
koordinirani razvoj.
2. Brz razvoj aplikacija:
Kako bi se unaprijedila brzina i kvaliteta razvoja softvera, kompanije koriste CASE
alate.
3. Testiranje:
CASE alati pomažu u unaprijeđenju testiranja kroz automatiziranu provjeru i
pojednostavljeno održavanje softvera.
4. Dokumentacija:
U tradicionalnom procesu razvoja softvera, kvaliteta dokumentacije u raznim fazama
razvoja ovisi o pojedincu koji ju izrađuje. CASE alati unaprijeđuju kvalitetu i
uniformnost dokumentacije u svim fazama. Također osiguravaju potpunost
dokumentacije.
5. Menadžment projekta:
Unaprijeđuje menadžment projekta i donekle automatizira razne radnje koje spadaju u
menadžment projekta.
6. Smanjenje cijene održavanja:
Korištenje CASE alata omogućuje lakše održavanje softvera i prema tome smanjuje i
cijenu.
7. Povećanje produktivnosti:
Automatizacija raznih aktivnosti u razvoju softvera i menadžmenta pruža povećanje
produktivnosti cijelog razvojnog tima.
4
Uloga i struktura CASE alata – Slika 1.
Što je repozitorij?
Svi alati su integrirani putem repozitorija. Repozitorij je „skladište“ za pohranjivanje
dijagrama, opisa, specifikacija, informacija o testiranju i drugih podataka koji su relevantni za
razvojni proces. Repozitorij omogućuje korisnicima razmjenu informacija, podržava timske
razvojne aktivnosti, pruža mehanizam za integraciju raznih CASE alata i pruža sigurno mjesto
za pohranu softverskih resursa. Uz to repozitorij drži informacije o međuodnosima raznih
logičkih i fizičkih modela, npr. ako je logička definicija procesa povezana sa svojom
implementacijom, repozitorij može tražiti i pružiti sve implementacije(programe i sl.) tog
procesa.
5
3. Vrste CASE alata
CASE alate dijelimo na:
1. Klasične CASE alate –ustaljeni pomoćni alati u razvoju softvera(npr.
interaktivni debageri, kompajleri i sl.)
2. Prave CASE alate – koje možemo podijeliti u 3 različite kategorije, zavisno o
tome u kojoj fazi razvojnog procesa se koriste:
Upper – podržavaju analize i faze dizajna
Lower – podržavaju faze pisanja koda
Integrirani(Cross Life-cycle) – također poznati kao I-CASE podrška u
analizi, dizajnu i kodiranju
Upper i lower CASE su dobili ime po tome u kojoj fazi razvoja se koriste u modelu
vodopada(sl. dolje).
Model vodopada – Slika 2.
Najveća razlika između klasičnih i „pravih“ CASE alata je da „pravi“ CASE alati imaju
repozitorij u kojem pohranjuju sve informacije vezane uz projekt. Kako se promjene događaju
tijekom faza razvoja i održavanja projekta, repozitorij je uvijek ažuriran. Ovo nam daje
kompletnu i točnu dokumentaciju za softver.
6
Podjela CASE alata – Slika 3.
7
4. Upper CASE alati
Dok se lower CASE alati fokusiraju na kasnije faze razvoja softvera kao što je pisanje
koda, verifikacija, validacija i održavanje, upper CASE alati se fokusiraju na početne faze
razvoja softvera kao što su specifikacija i oblikovanje. Pogledajmo neke primjere:
Microsoft Visio
Poznat prije kao MO Visio(dio MO paketa), Visio je počeo kao standalone proizvod
kojeg je napravila Shapeware korporacija. Prva verzija je napravljena 1992. godine.
Shapeware korporacija je promjenila svoje ime 1995. u „Visio korporacija“ kako bi stekla
prednost na tržištu. Microsoft je kupio Visio 2000. godine, svrstavši ga kao Microsoft Office
aplikaciju, premda Visio nikad nije bio dio MO. Visio je alat za izradu dijagrama i vektor
grafike kao i modeliranje baza podataka u modelu entiteta i veza.
Neke mogućnosti Visia:
Brzo stvaranje profesionalnih dijagrama
Jednostavno sastavljanje organizacijskih grafikona
Trenutačna promjena oblikovanja dijagrama
Povezivanje oblika dijagrama s podacima u stvarnom vremenu
Istodoban rad na istom dijagramu
Stvaranje dijagrama koji odgovaraju ažuriranim normama
Sučelje Microsoft Visio – Slika 4.
8
Dia
Dia je open-source alat za stvaranje dijagrama i grafova koji ima široku primjenu.
Razvio ga je Alexander Larsson, inspiriran Microsoftovim Visiom, premda više usmjeren
prema informalnom korištenju za prosječnog korisnika. Dia podržava većinu operativnih
sustava, napisana je u C-u, te ima sustav za ekstenzije koji podržava pisanje ekstenzija u
Pythonu. Ima modularan dizajn sa paketima za razne potrebe korisnika, kao što su: prikaz
toka podatka, mrežni dijagrami, dijagrami strujnih krugova i ostali. Posjeduje posebne objekte
za pisanje modela entiteta i veza i UML dijagrame. Dijagrame možemo spremiti u poseban
XML format, te možemo eksportirati dijagrame u velik broj formata kao što su:
EPS,SVG,XFIG,WMF i PNG.
Sučelje Dia – Slika 5.
9
Software ideas modeler
Software ideas modeler je Case i UML alat koji podržava svih 14 tipova dijagrama
navedenih u UML 2.4. Također, između ostalog podržava i slijedeće dijagrame i standarde:
ERD dijagrami, JSD, dijagrami toka, mape uma i dr. Razvio ga je Dušan Rodina, slovački
developer. Napisan je u C# programskom jeziku. Podržava širok spektar programskih jezika,
u smislu da može stvoriti kostur koda prema dijagramu: C#, C++, Java, PHP, Ruby,
JavaScript i dr.
Sučelje Software Ideas Modeler – Slika 6.
10
Enterprise architect
Alat za vizualno modeliranje i dizajn baziran na OMG(Object Management Group)
UML-u. Ovaj alat podržava dizajn i stvaranje softverskih sustava, modeliranje poslovnih
procesa i industrijski baziranih domena. S njim je moguće:
modelirati softver kroz cijeli razvojni ciklus
vidjeti kako model funkcionira korištenjem dinamičkih simulacija
generirati izvorni kod za puno aktualnih programskih jezika(C, C++, C#, Java
itd.)
vizualizirati aplikacije
korištenjem template-a brzo razviti model do detalja
modelirati baze podataka
menadžment projekta i dr.
Sučelje Enterprise Architect – Slika 7.
Te mnogi drugi alati, od kojih su jednako zastupljeni i oni besplatni i komercijalni. Za više
primjera pogledati literaturu(6).
11
5. Zaključak
Kako razvoj tehnologije napreduje sve više softvera se proizvodi i stručnjaci za razvoj
softvera nalaze sve efikasnije načine i metode. Usavršavanje razvojnog procesa softvera je
nužno i iznimno korisno, a u tome uvelike pomažu CASE alati. Kao što smo vidjeli CASE
alati ubrzavaju i pojednostavljuju cijeli razvojni proces softvera od samog modeliranja,
pronalaženja korisničkih zahtjeva, pa do razvoja i održavanja. CASE alati će uvijek biti
potrebni u razvojnom procesu i njihov razvoj je nužan također. Oni će postajati sve pametniji
s vremenom, tako da će izrada softvera u budućnosti puno lakša te će softver biti puno bolje
dizajniran.
12
6. Literatura
1. https://en.wikipedia.org/wiki/Computer-aided_software_engineering
2. https://bs.wikipedia.org/wiki/CASE_alati
3. http://www.veleri.hr/files/datoteke/nastavni_materijali/k_informatika_s1/Alati_razvoj
a_IS.pdf
4. http://www.vtsnis.edu.rs/specijalisticke_studije/4_srt/predmeti/programski_alati_za_ra
zvoj_aplikacija/CASE%20alati%20PRIKAZ.pdf
5. http://searchmanufacturingerp.techtarget.com/definition/CASE-computer-aided-
software-engineering
6. https://en.wikipedia.org/wiki/List_of_Unified_Modeling_Language_tools
7. file:///C:/Users/Carevsky/Desktop/Tema%2004%20Osnovne%20funkcije%20i%20str
uktura%20CASE%20proizvoda.pdf