You are on page 1of 52

Tema 4: Osnovne funkcije i

struktura CASE proizvoda


PROJEKTOVANJE INFORMACIONIH SISTEMA
dr Vladislav Mikovic
FAKULTET ZA POSLOVNU INFORMATIKU

2011/2012

Sadraj predavanja
1.
2.
3.
4.

Uvod
Definicija i vrste CASE alata
Struktura CASE alata
Funkcije CASE alata: modelovanje, generisanje koda,
siinhronizacija modela i reverzni inenjering
5. Primeri alata

1. Uvod
Alati za projektovanje
Automatizovani alati i tehnologije projektovanja

Alati za projektovanje
Integrisani alati za podrku svih faza razvoja
Alati za podrku pojedinih faza razvoja sistema
analiza i projektovanje (Upper CASE )
implementacija i odravanje (Lower CASE)
podrka projektu (Cross Life-cycle CASE)

Automatizovani alati i tehnologije


projektovanja
Alati za automatizaciju delova ili celokupnog procesa
razvoja informacionog sistema su
Computer-Aided Systems Engineering (CASE)
Application Development Environments (ADEs)
Alati za podrku menadmenta projekta

Tehnologije i standardi
XML, XLS
SOA
UML

2. Definicija i vrste CASE alata


1. Definicija CASE alata
2. Vrste CASE alata

2.1 Definicija CASE alata


CASE alati (Computer-Aided Systems Engineering) su
automatizovani softverski alati, koji podravaju izradu i analizu
modela sistema i njegovih specifikacija
manji trokovi razvoja (bre, lake odravanje i jednostavije modifikacije)
vei kvalitet (automatizacija dokumentovanja, provera konzistentnosti)

Omoguavaju
Forward Engineering mogunost CASE alata da direktno generie
inicijalni deo softvera i/ili bazu podataka
Reverse Engineering mogunost CASE alata da generie model sistema
na osnovu postojeeg softvera i/ili baze podataka
Round-trip Engineering sinhronizovane izmene koda i modela

Neki CASE alati omoguavaju generisanje prototipa ili


celokupnog koda

2.2 Vrste CASE alata


Integrisani alati za podrku svih faza razvoja
Alati za analizu i projektovanje (Upper CASE )
Alati za izradu dijagrama
Generatori formi i izvetaja
Alati za analizu

Alati za implementaciju i odravanje (Lower CASE)


Generatori koda

Alati za podrku (Cross Life-cycle CASE)


Alati za dokumentaciju i podrku upravljnja projektom

Integrisani alati
za podrku svih faza razvoja
Okruenja za podrku analize, projektovanja,
implementacije i odravanja sistema, npr.

IBM Rational Software Architect


Rational Rose XDE
Oracle JDeveloper
Microsoft Visual Studio 2010

Alati za analizu i projektovanje


(Upper CASE )
Alati za izradu dijagrama, npr.
Microsoft Visio
Dia (open source)

Generatori formi i izvetaja


Alati za analizu

Alati za implementaciju i odravanje


(Lower CASE)
Generatori Web aplikacija, npr.
CodeCharge Studio
Iron Speed

Poznatiji UML alati otvorenog koda sa


generisanjem koda/aplikacija
AndroMDA
generator koda na osnovu UML modela (J2EE i dr.)

BOUML
modeliranje i generisanje koda (C++, Java, Php, Python)
dia2code
generator koda na osnovu UML modela (Ada, C, C++, C#, IDL, Java,
PHP, PHP5, Python, Ruby, SQL)

Dzine
CASE alat za OOAP, generie kod (C++, Java, SQL), reverzni inenjering
koda

Olympos
Web (PHP, J2EE), Desktop (C#) i mobilne aplikacije (.NET, J2ME) na
osnovu UML modela

3. Struktura CASE alata


1. Osnovne komponente CASE alata
2. Primeri

13

3.1 Osnovne komponente CASE alata


Komponente za

izradu dijagrama
renik (Dictionary)
projektovanje (Design)
upravljanje kvalitetom
(Quality Management)
dokumentovanje
generisanje koda

Baza podataka modela


sistema (CASE repository)
detaljni opisi, specifikacije i sl.
sinonimi su renik (dictionary)
i enciklopedija (encyclopedia)

3.2 Primeri
Integrisani alati sa podrkom za UML

IBM Rational Rose


IBM Rational Software Architect
IBM System Architect
Oracle JDeveloper
Sybase PowerDesigner
Gentleware Poseidon for UML
Sparx Systems Enterprise Architect
MagicDraw UML
Microsoft Visual Studio 2010 Ultimate
15

4. Funkcije CASE alata


1.
2.
3.
4.

Modelovanje
Generisanje koda
Sinhronizacija modela
Reverzni inenjering

16

4.1 Modelovanje
Modelovanje je proces izgradnje modela sistema
modelovanje sistema je jedan od osnovnih inenjerskih
principa
sistem se sastoji od entiteta koji su objekt posmatranja
nijedan model ne obuhvata sve aspekte realnog sistema

Vrste modela

Verbalni
Analitiki ili matematiki
Slikovni ili ematski
Simulacioni
17

Modelovanje informacionog sistema


1. Modelovanje procesa
2. Modelovanje podataka
3. Objektno orijentisano modelovanje

18

4.1.1 Modelovanje procesa sistema


Grafiko predstavljanje procesa, koji prikupljaju,
manipuliu, smetaju i distribuiraju podatke izmeu
sistema i njegove okoline, kao i izmeu sistemskih
komponenti
najpoznatija tehnika su dijagrami toka podataka (data flow
diagrams, DFD)

Dijagrami toka podataka (DFD)


Osnovni elementi
dijagrama toka
podataka (DTP)

procesi
tokovi podataka
skladita
spoljanji entiteti

Microsoft Visio - dijagrami toka podataka


(data-flow, DFD)
Dva standarda oznaavanja
Gene-Sarson
Yourdon-Coad

Modelovanje logike procesa


Tehnike prikaza strukture i sadraja (logike) samih
procesa u sistemu:

strukturisani prirodni jezik


tebele odluivanja
stabla odluivanja
UML dijagrami

Strukturisani prirodni jezik


Originalni tekst
Sales promotion policy:
Preferred customers who order more than $1 ,000 are entitled to a 5% discount, and an
additional 5% discount if they used our charge card
Preferred customers who do not order more than $1 ,000 receive a $25 bonus coupon
All other customers receive a $5 bonus coupon

Strukturisani prirodni jezik (pseudokd)


Sales promotion policy:
IF customer is a preferred customer, AND
IF customer orders more than $1,000 THEN
Apply a 5% discount, and
IF customer uses our charge card, THEN
Apply an additional 5% discount
ELSE
Award a $25 bonus coupon
ELSE
Award a $5 bonus coupon

Tabele odluivanja
Sve kombinacije uslova i moguih odluka
Primer: 2uslova x 2 odluke
Proces potvrde narudbe

uslovi
odluke

Kreditno sposoban

Da

Da

Ne

Ne

Proizvod na lageru

Da

Ne

Da

Ne

Prihvati narudbu

X
X

Poniti narudbu

Stabla odluivanja
Grafiki prikaz logike procesa, npr. procesa
odluivanja
Ekvivalent tabela odluivanja
Prihvati
narudbu
Proizvod na
lageru?
Kreditno
sposoban?

Poniti narudbu
Poniti narudbu

UML dijagrami
UML standardi za opis logike procesa: dijagrami
stanja, sekvenci, aktivnosti

Dijagram stanja
Dijagram stanja (statechart)
modeluje efekte interakcije
izmeu objekata
opisuje ivot objekta u
terminu dogaaja koji dovode
do promena u stanjima
objekta
identifikuje spoljne i interne
dogaaje koji mogu da
menjaju stanje objekta

27

Dijagram sekvenci
Prikazuje objekte koji su od
interesa za izvravanje
sluaja korienja
Sluaj korienja "Otvaranje
novog rauna"

28

Djagram aktivnosti
Opis svih aktivnosti jednog
sluaja korienja
Sluaj korienja "Otvaranje
novog rauna"
dijagram toka (flowchart)

29

4.1.2 Modelovanje podataka


ER model i ER dijagrami
Alati za modelovanje podataka

Dijagrami objekti-veze (ERD)


ERD (Entity Relationship
Diagram)
entiteti i relacije
razliite notacije:

Chen
IDEF1X
Bachman
Crow's Foot
ISO
UML dijagram klasa

Alati za modelovanje podataka

Oracle Designer
ERWin
DBDesigner
MySQL Workbench

32

4.1.3 Objektno orijentisano modelovanje


UML dijagrami - tri pogleda na model sistema:
1. Funkcionalni zahtevi: prikazuju funkcionalne zahteve iz
ugla korisnika (Use Case Diagrams)
2. Statika struktura: prikaz statike strukture sistema
pomou objekata, atributa, operacija i relacija (Class
Diagrams)
3. Dinamiko ponaanje: prikaz dinamikog ponaanja
sistema kroz saradnju objekata i promene njihovih
unutranjih stanja (Sequence Diagrams, Activity
Diagrams, State Diagrams)

4.2 Generisanje koda


Informacioni sistem (softver) predstavlja izvrni kod
Funkcija generisanje koda CASE alata omoguava
pretvaranje specifikacija u izvrni kod
generisanje koda moe biti ogranieno na generisanje
skeleta sistema (samo zaglavlja procedura i deklaracije
objekata) ili aplikacija/delova aplikacija
generisanje funkcionalnih sistema ili njihovih delova je
mogue za neke klase softvera na osnovu semi-formalnih
specifikacija
na osnovu modela/baza podataka
na osnovu grafikih UML modela
34

Prednosti generisanja koda


Generisanje koda eliminie
napor programera da pronalazi naine za izbegavanje
ponavljanja istog ili veoma slinog koda
(procedure/funkcije/objekti...)
kreiranje sloenih programskih interfejsa, kojim se
nepotrebno nameu standardi irem okruenju

Prednosti
poveanje produktivnosti
smanjenje broja greaka
poveanje kvaliteta napisanog koda

Primer: Visio 2003 - generisanje kda


Visio for Enterprise Architects 2003 ima UML dodatak (addon) koji omoguava generisanje skeleta kda, normalni i
reverzni inenjering na osnovu UML dijagrama
nije predvien round-trip engineering (automatsko auriranje koda u
hodu, npr. kao IBM Rational Rose/RSA)

Automatsko generisanje koda na osnovu UML dijagrama


automatski se generie kostur kda na osnovu 4 UML dijagrama
statike strukture (Class, Statechart, Component, Deployment)

Primer: Visual Studio - generisanje kda


Procedura generisanja
UML/Code/Generate

Primer: UML definicija klasa


Kupac i Korpa
Generisani skelet koda (VS):

Primer: NetBeans IDE - generisanje kda


Generie kd na osnovu
UML dijagrama klasa

38

Primer: UML2PHP - generisanje PHP kda


aplikacije na osnovu UML dijagrama
UML model se kreira
pomou nezavisnog alata za
UML modeliranje (XMI)
UML2PHP generie kd
aplikacije na osnovu UML
dijagrama klasa
pokrene se Application Wizard
izabere se konfiguracija
generie se kd (Generate)

aplikacija je na Web folderu


http://localhost/uml2php/uml
2phpexamples/recipeCollectio
n/index.php
39

4.3 Sinhronizacija modela


Sinhronizacija modela i koda ili baze podataka
mogua je kod veine sistema koji podravaju
direktni i reverzni inenjering
Sistemi koji podravaju projektovanje u hodu (roundtrip engineering) vre automatsku sinhronizaciju
modela i kda

40

Primer: NetBeans IDE sinhronizacija kda


Sinhronizacija izmena
modela i kda
Objedinjava generisani i
korisninki kd
Generisanje koda na osnovu
ablona (template)
abloni se mogu menjati

41

4.4 Reverzni inenjering


Veina CASE alata moe da generie model sistema
na osnovu postojeeg softvera i/ili baze podataka
Primeri:
Baze podataka i ER modeli
ERwin
DBDesigner

Programski kod i UML modeli

IBM Rational Rose


IBM Software Architect
Microsoft Visio for VS 2003 EE
Net Beans
42

Primer: NetBeans 6 IDE reverzni inenjering


Na osnovu izabranih
modula izvornog koda
generie dijagram klasa

Generisani dijagram klasa

43

5. Primeri alata
1.
2.
3.
4.
5.
6.

IBM Rational Rose


IBM Rational Software Architect
Oracle JDeveloper
Sybase Power Designer
Microsoft Visual Studio 2010 Ultimate
NetBeans 6.1 UML

44

5.1 IBM Rational Rose


Tradicionalni integrisani
alat za OO razvoj
sloenih sistema
podrava timski rad
podrava UML
podrava veliki broj
tehnologija i arhitektura
(Java, C/C++, Web,...)
problem: nepregledan i
sloen interfejs

5.2 IBM Rational Software Architect


Integrisani alat za
razvoj sloenih sistema
podrava timski rad
podrava UML
podrava vie
tehnologija i
arhitektura (Java,
C/C++, Web servisi,
SOA)

5.3 Oracle JDeveloper


Besplatni integrisani
alat (free) , koji
podrava sve faze
razvoja sloenih
sistema
podrava timski rad
podrava UML
podrava vie
tehnologija i
arhitektura (Java, Web
servisi, SOA)

5.4 Sybase Power Designer


Integrisani alat, koji
podrava sve faze
razvoja sloenih
sistema
podrava timski rad
podrava UML
podrava vie
tehnologija i
arhitektura (Java, Web
servisi, SOA)

5.5 Microsoft Visual Studio 2010 Ultimate


Integrisani alat, koji
podrava sve faze
razvoja sloenih
sistema
podrava timski rad
podrava 6 UML
dijagrama (T4
generator)
podrava vie
tehnologija i
arhitektura (C#, Java,
Web servisi, SOA)

5.6 NetBeans 6.1 UML


Dodatak (plug-in) , podrava
UML dijagrame sluajeva
korienja, aktivnosti,
sekvenci, klasa, stanja,
zavisnosti
podrava reverzni
inenjering i vie tehnologija
i arhitektura (C#, Java, Web
servisi, SOA)
Problem: novije verzije vie
nemaju podrku za UML
(6.5 do 7.1)

50

Literatura
1. Mikovic V., Projektovanje informacionih sistema (predavanja), Univerzitet
Sinergija, 2012
2. Sommerville I., Software Engineering, 9thEd, Addison Wesley, 2011
3. Schach R.S., Object-oriented Software Engineering, Mc-Gow Hill, 2008
4. Whitten J. L., Bentley L. D., Dittman K. C., Systems Analysis and Design
Methods, 7th Ed, Irwin McGraw Hill, 2007
5. Kroll P., P. Kruchten, Rational Unified Process Made Easy A Practitioners
Guide to RUP, John Waley, 2003
6. IBM Rational Product Training: DEV475 Mastering Object-Oriented
Analysis and Design with UML
7. Prirunici za programske alate i Web reference
8. http://uml-directory.omg.org/vendor/list.htm

51

dr Vladislav Mikovic
Projektovanje informacionih sistema

Tema 4: Osnovne funkcije i struktura CASE proizvoda

Pitanja?

52

You might also like