14
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

Sveučilište Josipa Jurja Strossmayera u Osijekumrkve.etfos.hr/pred/ozm/si/sem01.pdf · prikazati napredak u projektu(ili nedostatak istog) grafički. Također, može koristiri kao

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Sveučilište Josipa Jurja Strossmayera u Osijekumrkve.etfos.hr/pred/ozm/si/sem01.pdf · prikazati napredak u projektu(ili nedostatak istog) grafički. Također, može koristiri kao

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

Page 2: Sveučilište Josipa Jurja Strossmayera u Osijekumrkve.etfos.hr/pred/ozm/si/sem01.pdf · prikazati napredak u projektu(ili nedostatak istog) grafički. Također, može koristiri kao

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

Page 3: Sveučilište Josipa Jurja Strossmayera u Osijekumrkve.etfos.hr/pred/ozm/si/sem01.pdf · prikazati napredak u projektu(ili nedostatak istog) grafički. Također, može koristiri kao

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.

Page 4: Sveučilište Josipa Jurja Strossmayera u Osijekumrkve.etfos.hr/pred/ozm/si/sem01.pdf · prikazati napredak u projektu(ili nedostatak istog) grafički. Također, može koristiri kao

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.

Page 5: Sveučilište Josipa Jurja Strossmayera u Osijekumrkve.etfos.hr/pred/ozm/si/sem01.pdf · prikazati napredak u projektu(ili nedostatak istog) grafički. Također, može koristiri kao

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.

Page 6: Sveučilište Josipa Jurja Strossmayera u Osijekumrkve.etfos.hr/pred/ozm/si/sem01.pdf · prikazati napredak u projektu(ili nedostatak istog) grafički. Također, može koristiri kao

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.

Page 7: Sveučilište Josipa Jurja Strossmayera u Osijekumrkve.etfos.hr/pred/ozm/si/sem01.pdf · prikazati napredak u projektu(ili nedostatak istog) grafički. Također, može koristiri kao

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.

Page 8: Sveučilište Josipa Jurja Strossmayera u Osijekumrkve.etfos.hr/pred/ozm/si/sem01.pdf · prikazati napredak u projektu(ili nedostatak istog) grafički. Također, može koristiri kao

6

Podjela CASE alata – Slika 3.

Page 9: Sveučilište Josipa Jurja Strossmayera u Osijekumrkve.etfos.hr/pred/ozm/si/sem01.pdf · prikazati napredak u projektu(ili nedostatak istog) grafički. Također, može koristiri kao

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.

Page 10: Sveučilište Josipa Jurja Strossmayera u Osijekumrkve.etfos.hr/pred/ozm/si/sem01.pdf · prikazati napredak u projektu(ili nedostatak istog) grafički. Također, može koristiri kao

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.

Page 11: Sveučilište Josipa Jurja Strossmayera u Osijekumrkve.etfos.hr/pred/ozm/si/sem01.pdf · prikazati napredak u projektu(ili nedostatak istog) grafički. Također, može koristiri kao

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.

Page 12: Sveučilište Josipa Jurja Strossmayera u Osijekumrkve.etfos.hr/pred/ozm/si/sem01.pdf · prikazati napredak u projektu(ili nedostatak istog) grafički. Također, može koristiri kao

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).

Page 13: Sveučilište Josipa Jurja Strossmayera u Osijekumrkve.etfos.hr/pred/ozm/si/sem01.pdf · prikazati napredak u projektu(ili nedostatak istog) grafički. Također, može koristiri kao

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.

Page 14: Sveučilište Josipa Jurja Strossmayera u Osijekumrkve.etfos.hr/pred/ozm/si/sem01.pdf · prikazati napredak u projektu(ili nedostatak istog) grafički. Također, može koristiri kao

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