Sunteți pe pagina 1din 78

InstrumentepentruDezvoltareaProgramelor

p
g

InstrumenteCASE
Instrumente CASE.

Instrumente CASE

C
ComputerAidedSoftwareEngineering
Aid d S f
E i
i
Ingineriaasistatdecalculator(CASE)
I i i
i t t d
l l t (CASE) instrumente
i t
t de
d
asistenaciclurilordedezvoltareievoluiesoftware
PrininstrumenteCASEnelegemaplicaiilesoftware
careisprijin/ajutpeanaliti,proiectani,
i iji / j t
li ti
i t i
programatori,inclusivpersonaluldetestarei
ntreinere,sanalizeze,sproiecteze,s

,
, p
,
implementeze(celpuinparial),smodifice(extind),
respectivsconstruiasctestepentrusistemele
informatice
informatice.
IDP InstrumentepentruDezvoltareaProgramelor.

Instrumente CASE

Perspectiva
Software
Engineering

Computer aided
F d
Fundamente
t

Metode

Instrumente
Metode complexe devin
accesibil de folosit

CASE

IDP InstrumentepentruDezvoltareaProgramelor.

Instrumente CASE

I
InstrumenteCASE
CASE
Programatoriiaunevoiede:

Versiunilazialedocumentelorunuiproiect
Versiuni
la zi ale documentelor unui proiect
Sistemdeajutoronlinepentrulimbajuldeprogramare,editor,etc.
Diversemanualeonline
Editoarecufunciideautomatizare(autocompletion,syntax checker,etc)

Automatizareaactivitilor

IDEs (ex.Eclipse,VisualStudio)
p
Instrumentedeautomatizareaconstruciei(ex.ant,make)
Instrumentedeconstruciegrafic(GUI)pentruinterfeeutilizator(ex.VE
pentruEclipse,VSDesigner)
y
((Subversion,CVS,etc.)
,
,
)
Version controlsystems
Instrumentedemodelare(Together,ArgoUML,Rational Rose)
Generatoare(JET,ANTLR)derapoarte,ecrane,etc.
Reverseengineeringtools

IDP InstrumentepentruDezvoltareaProgramelor.

Instrumente CASE

Exemplu
l deinstrumentCASE
d

IDP InstrumentepentruDezvoltareaProgramelor.

Instrumente CASE

I
Istoric
i
EvoluiainstrumentelorCASE:
Programareaconsiderataoformadearta
P
id
f
d
anii60
ii 60
Metodestructurate 1965
Tehnicidemodelareadatelor
T h i id
d l
d t l
1970
Limbajedegeneraiaapatra 1975
Instrumente de proiectare a specificaiilor software 1980
Instrumentedeproiectareaspecificaiilorsoftware
Instrumentepentruprototipizareainterfeeiutilizator 1985
Instrumente pentru generarea automat a codului 1990
Instrumentepentrugenerareaautomatacodului
CASEuriintegrate,CASEuriorientateobiect 1995
Component Software (Java) 1996
ComponentSoftware(Java)
Mai multe pe http://en.wikipedia.org/wiki/Computer-aided_software_engineering#History_of_CASE

IDP InstrumentepentruDezvoltareaProgramelor.

Instrumente CASE

Evolutie?
Softwaretools?

IDP InstrumentepentruDezvoltareaProgramelor.

Evolutie
l

Ei ar putea lucra fara instrumente?

Dar voi?

10.03.2010
IDP
InstrumentepentruDezvoltareaProgramelor.

Instrumente CASE

T i
TreigeneraiideinstrumenteCASE
ii d i
CASE
Prima generaieCASE
Uninstrumentpentru oanumita etapa aprocesului
software
planificareastrategic(lanivelulsistemelorcomplexe)
etapadeanaliz
etapadeproiectare
generare de cod
generaredecod

Caracteristici:
ofer
ofer interfa grafic pentru utilizator
instrumentededimensiuni mici,volum marededate
generare decodserefer ladefinirea datelor (ecrane,rapoarte,
definiii fragmente de cod).
definiii,
cod)
IDP InstrumentepentruDezvoltareaProgramelor.

Instrumente CASE

T i
TreigeneraiideinstrumenteCASE
ii d i
CASE
Adoua generaie deproduse CASE
Aceleai faciliti caiceledinprimageneraiei n generalaceleai
tipuri deinstrumente +
pe mainframeuri p
pe cares
Generarea decods serealizeze p
existe ungeneratorcentraldecodi cares stocheze codul generat
ntrundepozit.

Permitlucrul
Permit lucrul n echip pentru elaborarea deproiecte
de proiecte de
obicei complexe
Asigurfaciliti demanagementdeproiect.
Acestei generaii i aparin CASEuri careofer suport
pentru ntreg ciclul devia (integratedCASEsau ICASE)
ofer
f suportt pentru
t realizarea
li
proiectelor
i t l folosind
f l i d maii multe
lt
metode deanaliz i proiectare.
IDP InstrumentepentruDezvoltareaProgramelor.

10

Instrumente CASE

T i
TreigeneraiideinstrumenteCASE
ii d i
CASE
Generaia atreia deproduse CASE

cuprinde CASEurile
CASE urile ultimei perioade,numite
perioade numite i medii sau
Workbench(colecie deinstrumente CASEi dealte
componente integratecareasigur suportul pentru
majoritatea tipurilor deinteraciuni
de interaciuni ntre componentele
mediului i ntre utilizator i mediu)

Generaia
atreia deCASEpresupune
p
p
utilizarea acestora
n organizaii elaboratoare desoftwareiestegeneraia
actual care ofer:
faciliti
f ili i individuale
i di id l pe PC
faciliti lanivel deproiect pe LAN
faciliti lanivel
la nivel deorganizaie
de organizaie pe mainframe
IDP InstrumentepentruDezvoltareaProgramelor.

11

Instrumente CASE

Cl ifi
ClasificareaCASE
CASE
1.Instrumente CASE de nivel superior
1.InstrumenteCASEdenivelsuperior
utilizatenfazeledeanalizideproiectarealeprocesului
dedezvoltareasistemelor(asigurrealizareadiagramelor,
generareaformulareloriarapoarteloretc.);

2.InstrumenteCASEdenivelinferior
permitproiectareairealizareasistemuluivizat(CASE
pentru implementare verificare stabilire a configuraiei
pentruimplementare,verificare,stabilireaconfiguraiei
etc.).

1.UpperCASE (frontendtool)
2.LowerCASE ((backendtool))
IDP InstrumentepentruDezvoltareaProgramelor.

12

Instrumente CASE

Cl ifi
ClasificareaCASE
CASE
Ian Sommerville clasificinstrumenteledin
IanSommerville
clasific instrumentele din 3perspective:
3 perspective:
1
1.

Perspectiva funcional

2.

pebazafunciilorspecificefurnizate

Perspectiva
e spect a p
proceselor
ocese o

3.

nfunciedeactivitiledeprocessuportate

Perspectiva integrrii

nfunciedemodulncaresuntorganizatenunitiintegrate
cefurnizeazsuportpentruunulsaumaimulteactivitiale
procesuluisoftware

IDP InstrumentepentruDezvoltareaProgramelor.

13

Instrumente CASE

Cl ifi
Clasificarefuncional
f
i
l
Tip de instrument CASE

Exemple

Instrumente de planificare

Instrumente PERT, instrumente de estimare, spreadsheets

Instrumente de editare

Editoare text, editoare de diagrame, procesoare word

Instrumente de gestiune a
modificrilor

Instrumente de gestiune a cerinelor, sisteme de control a modificrilor

Instrumente de management a
configurrilor

Sisteme de management a versiunilor,


versiunilor instrumente de construcie a
sistemelor

Instrumente de prototipare

Limbaje de nivel foarte nalt, generatoare de interfee utilizator

Instrumente de suport a metodelor

Editoare de proiect, dicionare de date, generatoare de cod

Instrumente de procesare a
limbajului

Compilatoare, interpretoare

Instrumente de analiz a
pprogramului
g

Generatoare de referine ncruciate, analizoare statice, analizoare


dinamice

Instrumente de testare

Generatoare de date de test, comparatoare de fiiere

Instrumente de depanare

Sisteme de depanare interactiv

Instrumente de documentare

Programe de formatare a paginilor, editoare de imagini

Instrumente de re-eingineering

Sisteme de referine ncruciate, sisteme de restructurare a programelor

IDP InstrumentepentruDezvoltareaProgramelor.

14

Instrumente CASE

Cl ifi
Clasificarebazat
b
peactiviti
i ii
Instrumente pentru re-engineering
Instrumente pentru testare
Instrumente pentru depanare
Instrumente de analiz a programului
Instrumente de procesare a limbajului
Instrumente de suport a metodelor
Instrumente de prototipare

Instrumente de management a configuraiilor


Instrumente de management a modificrilor
Instrumente de documentare
Instrumente de editare
Instrumente de planificare

Speficare

IDP InstrumentepentruDezvoltareaProgramelor.

Proiectare

Implementare

Verificare
i
Validare

15

Instrumente CASE

S
Suportuloferitprocesuluisoftware
l f i
l i f
Instrumente(ex.make,ant,javadoc)
Suport taskuriindividualeprecumcompilare,editare,etc.

Mediidelucru/workbenches (=IDE/Integrated
D l
DevelopmentEnvironments)(ex.Eclipse,VisualStudio)
E i
) ( E li
Vi l S di )
Suport etapedistinctealeprocesuluisoftware(specificaia,
p
proiectarea,etc.)
,
)
Includadeseaunnumrdeinstrumenteintegrate

Mediidedezvoltare/environments (ex.suitaIBM
(
WebSphere)
Suport toatesauunsetsubstanialal activitilorprocesului
software
Includdeobiceimaimultemediidelucru
IDP InstrumentepentruDezvoltareaProgramelor.

16

Instrumentvs.Mediudelucruvs.mediudedezvoltare
d d l
d d d
l

(a) Tool vs. (b) workbench vs. (c) environment


IDP InstrumentepentruDezvoltareaProgramelor.

17

Instrumente,medii
d delucru,medii
d l
d dedezvoltare
d d
l
Tehnologia CASE

Instrumente

Editoare

Medii de lucru

Compilatoare

Comparatoare
de fiiere

Analiz i proiectare

Mediu
M
di d
de llucru
multi-method

Mediu
M
di d
de llucru
single-method

IDP InstrumentepentruDezvoltareaProgramelor.

Medii de dezvoltare

Medii de dezvoltare
integrate

Programare

Medii de dezvoltare
orientate pe proces

Testare

Mediu de lucru
generic

Mediu de lucru
orientat limbaj

18

A hi
ArhitecturaunuimediuCASE
i
di CASE
User Interface
Tool Set
Object management system (OMS)

Repository

IDP InstrumentepentruDezvoltareaProgramelor.

19

C
Componente
t debaz
d b aleunuisistemCASE
l
i it
CASE
Depozituldedate(datarepository)
acumuleazistocheaz,nmodorganizat,toateinformaiileintroduse
acumuleaz
i stocheaz n mod organizat toate informaiile introduse
dediferitepersoane,lamomentediferitedetimp,carevorservin
etapeledeanaliz,proiectareicreareacodului
sepotdelimitadepozituldeinformaii(InformationRepository)
coninndinformaiiledespreafacereaorganizaieiidespreportofoliul
sudeaplicaii idicionaruldedate(DataDictionary),carespecific
numele(identificatorii)idescriereadatelor,gestioneazcontrolul
accesuluiladepozituldeinformaii,coninedescrierileresurselor
necesareprelucrrilordatelor;

Editoruldediagrame
component
componentcefaciliteazrealizareaimodificareadiagramelorspecifice
ce faciliteaz realizarea i modificarea diagramelor specifice
metodologieipentruafostcreatinstrumentulCASErespectiv;

Analizoruldestructur
gseteielimineroriledificildelocalizatdupculegereainformaiilor,
gsete
i elimin erorile dificil de locali at d p c legerea informaiilor
efectundcomparaiintredatelenouintroduseiceledejaexistenten
bazadeinformaii;
IDP InstrumentepentruDezvoltareaProgramelor.

20

Componente debaz
de baz aleunuisistemCASE
ale unui sistem CASE
Instrumentepentrureverseengineering
asiguractualizareadiagramelorconformschimbrilor
realizatencodulsurs;
li

d l

Generatoruldecod
poate converti n cod diagramele realizate n faza de
poateconvertincoddiagramelerealizatenfazade
proiectare;
Navigatorulspecializat
instrumentpentruvizualizareainformaiilorunuiansamblu
deentiticareauostructurcomplex,ntrecareexistun
marenumrderelaii;
Generatoruldedocumentaie
includemodelededocumente,oferindutilizatorilor
posibilitatea de a i concepe propriile documente ntr o
posibilitateadeaiconcepepropriiledocumententro
manierflexibil;
IDP InstrumentepentruDezvoltareaProgramelor.

21

C
Componente
t debaz
d b aleunuisistemCASE
l
i it
CASE
Generatoruldeformulareiderapoarte
concepereainterfeelor(interactivitatea)produsuluicu
utilizatorii;
Componentedetransformare
permittrecereadelaunmodelsauodiagramlaaltmodel,
respectiv la alt diagram;
respectivlaaltdiagram;
Instrumentelepentrumanagementuldeproiect
oferfacilitidestinategestiuniiconfiguraieifiecrui
ofer
faciliti destinate gestiunii configuraiei fiecrui
proiect(proiectuldeaplicaie,codulidocumentaiaunui
sistemdezvoltat);
Instrumenteledeverificareautomataaplicaiei
IDP InstrumentepentruDezvoltareaProgramelor.

22

Instrumente
p
CASEiprocesul
software

IDP InstrumentepentruDezvoltareaProgramelor.

23

A
AvantajealefolosiriiCASE
j l f l i ii CASE
Realizarea automat adocumentaiei
a documentaiei sistemelor
Documentaia i specificaiile deproiectare reprezint piesele de
baz aleunui proiect dedezvoltare
Dinlips detimp sau dinneglijen,documentaia este ultimul
lucru lacaresegndesc cei dinechipa derealizare
Dup implementarea
l
sistemului
l i mai alesn
l timpull exploatrii
l i
ntreinerii lui seconsum untimp foarte maredinlipsa
informaiilor privind detaliile deproiectare asistemului
Prin instrumentele CASE,documentaia i specificaiile sistemului
sepotobine automatpe baza depozitului datelor,oferind astfel
posibilitatea caechipa
ca echipa despecialiti
de specialiti s numai
nu mai fie
fie sufocai
sufocai i
i de
aceast responsabilitate
IDP InstrumentepentruDezvoltareaProgramelor.

24

AvantajealefolosiriiCASE
Automatizarea parial sau total afazelor deanaliz i
proiectare asistemelor
a sistemelor
Determin scurtarea ciclului devia alsistemelor,creterea
calitii
lor i eliminarea erorilor deproiectare
p
Instrumentele CASEdispun demoduledeverificare i
validare,detehnici denormalizare adatelor i chiar de
prototipizare asistemelor
a sistemelor

IDP InstrumentepentruDezvoltareaProgramelor.

25

A
AvantajealefolosiriiCASE
j l f l i ii CASE
Coordonarea/managementul proiectelor dedezvoltare a
sistemelor
Sunt puse ladispoziia membrilor echipei deproiectare
informaii cuprivire laactivitile desfurate i rezultatele
obinute,astfel
bi t
tf l nct
t exist
i t posibilitatea
ibilit t can
orice
i moments
t
secunoasc cuexactitate stadiul dedezvoltare alsistemului,
timpul i resursele consumate
Generarea automat acoduluisurs alaplicaiilor
U dinpromisiunile
Una
di
i i il CASEului
CASE l i oconstituie
tit i susinerea
i
eforturilor dinfaza deformulare acerinelor i pn n faza de
implementare i ntreinere
Dezvoltatorul
D
lt t l componentadecreativitate(gndiivlaRPC,
t d
ti it t ( dii l RPC
CORBA,etc.)
IDP InstrumentepentruDezvoltareaProgramelor.

26

Studiudecaz:instrumenteCASEpentru
Studiu
de caz: instrumente CASE pentru analiz i
proiectare
nprocesuldeanalizsuntadeseafolositemodele
nelegereaidezvoltareasistemului
omiseoseriededetalii (abstractizareasistemuluistudiatinuo
reprezentarealternativasistemului)

Exempledetipuridemodeledesistemposibilcreatedealungul
fazeideanalizinclud:
Modelul
Modelulfluxdedate.Aratmodulncaresuntprocesatedatelendiversele
flux de date Arat modul n care sunt procesate datele n diversele
etapealefuncionriisistemului.
Modelulcompozit =modelagregare. Aratmodulncareentitilesistemului
suntcompusedinalteentiti.
Modelularhitectural.Prezint principalelesubsistemececompunsistemul.
Modelulclasificare.Claseledeobiecte/diagrameledemotenireprezint
modulncareentitilesistemuluiprezintcaracteristicicomune.
Modelulstimulrspuns =diagram staretranziie. Aratmodulncare
sistemulreacioneazlaevenimenteinterneiexterne.
IDP InstrumentepentruDezvoltareaProgramelor.

27

Studiudecaz:instrumenteCASEpentru
Studiu
de caz: instrumente CASE pentru
analiz i proiectare
Dictionar de date

Instrumente
de proiectare
structurata

Facilitati de
generare de
rapoarte

Generator de
cod

Repository
central de
informatii

Facilitati de
limbaj de
interogare

Instrumente de
proiectare, analiza si
verificare

Facilitati de
import/export

Instrumente de
creare de formulare

IDP InstrumentepentruDezvoltareaProgramelor.

28

Studiudecaz:instrumenteCASEpentru
Studiu
de caz: instrumente CASE pentru analiz
i proiectare
Editoareledediagrame
Editoarele de diagrame
folositepentrucreareademodelealeobiectelor,modelealedatelor,modele
comportamentale,etc.
p
g
p

capteazdiverseinformaiilegatedeentitiipotsalvainformaiin
repositoryul central.

Instrumenteledeanaliziverificareaproiectului
ajut
ajutlaprocesareaproiectuluiilaraportarea
la procesarea proiectului i la raportarea unor eroriianomalii.
erori i anomalii.
potfiintegratecusistemuldeeditareastfelncterorileutilizatoruluisfie
regsitentrunstagiutimpuriualprocesuluisoftware

Limbajedeinterogarearepository
Limbaje de interogare a repositoryului
ului
permitproiectantuluiregsireaerorirlor iainformaiilorasociatedeproiectare
nrepositoryul central.

Dicionaruldedate
Dicionarul de date
menineinformaiirelativelaentitilefolositentrunproiectalsistemului.
IDP InstrumentepentruDezvoltareaProgramelor.

29

Studiudecaz:instrumenteCASEpentru
Studiu
de caz: instrumente CASE pentru analiz
i proiectare
Instrumentele
Instrumentelededefinireigenerarearapoartelor
de definire i generare a rapoartelor
preiauinformaiadinrepository igenereaz documentaie
privindsistemul.
Instrumentededefinireaformularelor
permitspecificareadeformatepentruecraneidocumente.
Facilitiledeimport/export
permitschimbuldeinformaiidinrepositoryul centralcu
di
diversealeinstrumentededezvoltare.
l i
d d
l
Generatoareledecod
Generarea
G
d codsauscheletedecodautomatporninddela
de
d
h l t d
d t
t
i dd l
proiectulsistemuluidefinitipstratnrepositoryul central.
IDP InstrumentepentruDezvoltareaProgramelor.

30

V i C
VersionControlSystems
lS
Tehnologie pentru gestionarea schimbrilor pe caremai muli
dezvoltatori lefac ncomun asupra unui repository partajat
SSchimbarea
hi b
d
ducelacrearea
l
d
denoi
i versiuni
i i ale
l fiierelor
fi i l
modificate
Versiunile vechi sunt ntotdeauna accesibile
Permiteutilizatorilor
partajareaproiectelor
asigurareacschimbrileefectuatedeundezvoltatornusunt
accidentaltersesaualteratedeunaltdezvoltatorprin
schimbrile efectuate de acesta
schimbrileefectuatedeacesta
IDP InstrumentepentruDezvoltareaProgramelor.

31

V i C
VersionControlSystems
lS
D
Dezvoltatorii
lt t ii
Working
py
Copy
Working
Copy
Working
Copy

IDP InstrumentepentruDezvoltareaProgramelor.

Repository
Version 5
V i 4
Version
Version 3
Version 2
Version 1

32

E
Exemplu:Subversion
l S b
i

IDP InstrumentepentruDezvoltareaProgramelor.

33

SVN
SVNsauSubversion
SVN sau Subversion
InstrumentCASEfolositastzidemulidezvoltatoripentru
meninereamodificrilorefectuateasupracoduluisurs
(dezvoltare colaborativ)
(dezvoltarecolaborativ)

SVNestepopularnrndulcomunitiloropensource
Folositnmulteproiecteopensource,precumApache
Folosit n multe proiecte open source precum Apache
SoftwareFoundation,KDE,GNOME,Python,andetc.
SVNruleazpesistemedeoperareprecumUNIX,
Win32 sauMacOSX

IDP InstrumentepentruDezvoltareaProgramelor.

34

I
IstoriaSVN
i SVN
n2000 CollabNetInc.ancercatscriereaunuinlocuitoral
pop lar l i (la remea aceea) CVS din ca a limitrilor acest ia
popularului(lavremeaaceea)CVSdincauzalimitriloracestuia.
BadNews!CVSlaorarespectivdevenisestandarduldefacton
rndulcomunitiloropensource!Dece?Pentrucoameniinu
aveau alt soluie dect s foloseasc CVS!
aveaualtsoluiedectsfoloseascCVS!
CollabNetsahotrtsscrieonouaversiunedeversioncontrol
systemdelazero!DAR bazatpeCVSifolosindCVS
Obiectiveleurmrite:
Obiecti ele rmrite
Meninereauneimetodologiidecontrolaversiunilor
PstrareafuncionalitiloroferitedeCVS
Produsul trebuia s fie similar CVS a Orice utilizator putea uor adopta
ProdusultrebuiasfiesimilarCVSa..Oriceutilizatorputeauoradopta
noulprodusfrmareefortdenelegereaconceptelor

nAugust2001Subversionadevenitdisponibilgratuiti
p
y
descrcabildintrunrepositoryCVS!!!
IDP InstrumentepentruDezvoltareaProgramelor.

35

C
Ctevadintrefuncionalitileoferite
di
f
i
li il f i
Directoryversioning
Directory versioning
SVNimplementeazunsistemdefiierevirtualcemenineconsistenamodificrilorlanivelul
ntreguluiarborededirectoaredealungultimpului

Trueversionhistory

Sepotaduga,terge,copiairedenumiATTfiierectidirectoare.
d
d
f
d

Atomiccommits
Previneapariiaunorproblemecaurmareacomiteriinumaiaunuisetparialdemodificri.
Numerelederevizieseacordpercommitinupentrufiecarefiiercomis
N
l d
ii
d
it i
t fi
fi i
i
Fiecreireviziiisuntataatemesajedelog(inusuntstocateredundantcancazulCVS)

Versionedmetadata
Metadatele
M t d t l stocatempreuncufiiereleidirectoarepotfideasemeneaversionate.
t t
fi i l i di t
t fi d
i
t

Choiceofnetworklayers
Estepermisfolosireamaimultorprotocoaledeacceslarepository:HTTPiHTTPS(Apache
server cu protocolul WebDAV/DeltaV)
servercuprotocolulWebDAV/DeltaV)

IDP InstrumentepentruDezvoltareaProgramelor.

36

F
Funcionalitioferite(cont.)
i
li i f i (
)
Consistentdatahandling
Consistent data handling
Folosindunalgoritmdediferenierebinarcefuncioneazasupraatta
fiierelortext,ctiacelorbinare.
Diferenelentrefiieresunttransmisenambeledireciinreea(client<>
Diferenele
ntre fiiere sunt transmise n ambele direcii n reea (client <>
repositoryserver)

Efficientbranchingandtagging
Suntcreateramuriitaguri
S t
t
i it
i noiprincopiereaproiectelor(similarmodalitiihard
i i
i
i t l ( i il
d litii h d
link) reducereatimpului

Hackability
EsteimplementatcaocoleciedebiblioteciCpartajate.
Uordemeninutifolositdectrealteaplicaiiilimbajededezvoltare.

IDP InstrumentepentruDezvoltareaProgramelor.

37

SVN
SVNvs.CVS
CVS
CVS

Pros

SVN

folosit pe scar larg, bine


documentat
suportat pretutindeni

mutarea att a fiierelor, ct i a


directoarelor
overall revision number:
versionare i testare regresiv
mai uoar
previne comiterea accidental a
fiierelor aflate n conflict
suport pentru comanda diff

Cons
permite comiterea numai a
fi i l
fiierelor
ncet
adecvat pentru stocarea datelor
text, necesit informaii
speciale
p
pentru stocarea altor formate de
fiiere

IDP InstrumentepentruDezvoltareaProgramelor.

Pros

Cons
necesit de dou ori mai mult
spaiu dect CVS
no rollback of commit: e nevoie
de stocarea unor stri bune a
proiectului
i t l i pentru
t a suprascrie
i
comituri greite
38

Arhitectura
Subversion

IDP InstrumentepentruDezvoltareaProgramelor.

39

El
ElementeleControluluiVersiunii
l C
l l i V i ii
Repository
p
y
Loculncaresuntpstrateimeninuteproiecteleversionate
NUSELUCREAZNICIODAT directasuprafiierelordin
repository
WorkingDirectory
Stocheazocope localaproiectului
InteracioneazcuRepositoryprin
Fiierelepotfichecked out dinrepositoryiselucreaz
asuprafiierelorlocale situatendirectoruldelucru
Sepotcomite
Se
pot comite modificrilenapoinrepository
modificrile napoi n repository atuncicnd
atunci cnd
modificrileaufostefectuatecomplet
IDP InstrumentepentruDezvoltareaProgramelor.

40

El
ElementeleControluluiVersiunii
l C
l l i V i ii
Revizii
Sistemuldecontrolalversiunii(VCS)stocheazoistoriea
modificrilorntrorevizie (revision) odatcucomiterea
setuluidemodificri
UneleVCSuri,caiSubversion,lucreazcureviziicesunt
globalenntregrepository
Fiecarerevizieesteidentificatprintrunnumrunicde
revizie
Revision 1

Revision 2

Revision 3

repository
C
Commit
it foo.java
f
j
C
Commit
it bar.java
IDP InstrumentepentruDezvoltareaProgramelor.

Commit
C
it changes
h
to foo.java
41

P i
Proiectele
l
/trunk
Pstreazliniaprincipaladezvoltrii

/tags
Snapshotalunuiproiectntimp

/branches
Conine copiidetipbranch
copii de tip branch
Copiidetipramuraltrunk

Exemplu:clientbranch

IDP InstrumentepentruDezvoltareaProgramelor.

42

Cli
ClientulSVNdetipCommandLine
l SVN d i C
d Li
$ svn import /tmp/myproject
file:///path/to/repos/myproject
p
p
yp j
-m "initial import"
p
Adding /tmp/myproject/branches
Adding /tmp/myproject/tags
Adding /tmp/myproject/trunk
Adding /tmp/myproject/trunk/foo.c
Adding /tmp/myproject/trunk/bar.c
Adding /tmp/myproject/trunk/Makefile

Committed revision 1.
$

IDP InstrumentepentruDezvoltareaProgramelor.

43

S
Setareaunuirepository
i
i
Repository
Structure
St
uctu e

Secreaz unnourepository

$ svnadmin create --fs-type fsfs /uac/gds/cprj/my_repository

Secreaz ostructurdedirectorpentruimport
$
$
$
$
$

mkdir
mkdir
mkdir
mkdir
touch

repos
repos/trunk
repos/branches
p
repos/tags
repos/trunk/hello.c

my_repository
- trunk
- branches
- tags

Seimportdirectorulnrepository

$ svn import --message Initial import repos file:///uac/gds/cprj/my_repository

Setergfiiereleoriginale
$ \rm rf repos

Repositoryul esteaccesatfolosindurmtorulURL:
este accesat folosind urmtorul URL:
file:///uac/gds/cprj/my_repository
protocolname:file://
UNIXpathname:/uac/gds/cprj/my_repository

PentruunrepositorynWindows:
Pentru un repository n Windows:

file:///c:/path/to/repository

IDP InstrumentepentruDezvoltareaProgramelor.

44

R i
RegsireafiierelordinRepository
fi i l di R
i
Seobineocopieaceleimairecentereviziiiaceastase
stocheaz local ntrun
stocheazlocalntr
undirectordelucrulocalnumit
director de lucru local numit
my_repos_trunk
$svn checkout
file:///uac/gds/cprj/my_repository/trunk
my_repos_trunk
$ svn <command> [<options>] [<targets>]
Cmd Option

Description

--message

Attach log to revision

--revision (-r)

Specify a specific revision

--username

S
Specify
if a username

IDP InstrumentepentruDezvoltareaProgramelor.

45

Ci l l d b l
Cicluldebazalprocesuluidelucru
l id l
1.
2.

3.

4.

5.

$
$
$
$

$
$
$

$
$

$
$

Actualizareacopieilocale
svn update

Modificri
svn
svn
svn
svn

add hello.c
delete hello.c
copy hello.c bye.c
move hello.c bye.c

Dont make changes using


commands provided by your OS,
use Subversion commands!
Otherwise, Subversion will not be
aware of the change

Examinareaschimbrilorcurente
svn status
svn diff hello.c bye.c
svn revert hello.c

Mergentremodificrileefectuatedealiiicopialocal
svn update
svn resolved hello.c

Comitereapropriilormodificri
svn commit
svn ci

IDP InstrumentepentruDezvoltareaProgramelor.

46

T
TortoiseSVN
i SVN

Checkout:

IDP InstrumentepentruDezvoltareaProgramelor.

47

Subclipse
Plugin
Eclipse

h
http://subc
clipse.tigriss.org/

Proiectopen
source

IDP InstrumentepentruDezvoltareaProgramelor.

48

S b li
Subclipse

IDP InstrumentepentruDezvoltareaProgramelor.

49

B ild T l M k
BuildTools.Make
all: calc

Graf de depeden

calc: main.o math.o


g++ main.o math.o -o calc

calc

main.o: main.cpp
g++ -c main.cpp
main o
main.o

math o
math.o

math.o: math.cpp math.h


g++ -c math.cpp
main.cpp

math.cpp

math.h

clean:
rm *.o

IDP InstrumentepentruDezvoltareaProgramelor.

50

I
Instrumentededocumentare.Javadoc
d d
J d
public class Stack {
/**
* Pushes an item on to
* the top of this stack.
* @param item the item to be pushed.
*/
public void push(Objec item){
this.elements.add(item);}
/**
* Removes the object at the top
* of this stack and returns that
* object.
* @return The object at the top
*
of this stack.
* @exception NoSuchElementException
*
if this stack is empty.
*/
public Object pop()
throws NoSuchElementException {
// ...
} }
IDP InstrumentepentruDezvoltareaProgramelor.

51

Instrumente demodelare
de modelare

IDP InstrumentepentruDezvoltareaProgramelor.

52

G
Generatoare(1)
(1)

Exist taskuri dedezvoltare derutin:


interfee(DB,GUI),unele patternuri deproiectare i functionaliti
standard,etc.
d d

Idee:taskuri deautomatizare folosind generatoare


parametrizate
Implic transformarea unor construciidenivel nalt n
construciidenivel redus
Avantaje:
reducerea timpului dedezvoltare
evitarea erorilor prin reducerea gradului deimplicare aoamenilor acolo
unde acest lucru nueste neapratonecesitate

Input
(Parameter)

Generator

IDP InstrumentepentruDezvoltareaProgramelor.

Output

53

G
Generatoare(2)
(2)

Generarea unei interfee web

JSP
JSP
Generator

JSP
JSP

Generarea de clase Java

Class
Generator

Class
Class
Class

Generarea de parsere de limbaj


Gramatica

IDP InstrumentepentruDezvoltareaProgramelor.

Generator

Cod sursa
pentru parser

54

R
ReverseEngineeringTools(1)
E i
i T l (1)
Regsireainformaieiplecnddelaunsistemfinalizat
Metode:
Analizastatic:examinareacodului
Analizadinamic:observareacomportamentuluiprogramuluilaruntime
A li di
i b
t
t l i
l il
ti
Analizablackbox:observareaieirilorprogramului
Analizawhitebox:blackbox+observareacomportriiinternea
programului
Data
Model
Source
C d
Code
Documen-

Program

tation

RE Tool
Architecture
Diagram

IDP InstrumentepentruDezvoltareaProgramelor.

Specifi
Specification
55
55

Reverse Engineering Tools (2)


ReverseEngineeringTools(2)
Recuperarea codului surs
Aplicatie

I t
Instrument
t

Cod
Cod
sursa C
Cod
d sursa
sursa

Recuperarea modelului de date


Class
Class
Instrument
Class
Class
Explorarea comportamentului de runtime

Aplicatie executabila
IDP InstrumentepentruDezvoltareaProgramelor.

Instrument

Trace de executie
((ex., g
graf de apeluri)
p
)

56

P bl
ProblemeleCASE
l CASE
Tehnologia CASEadus lambuntiri semnificative ale
procesului software
Darnudeordinul demrimeprezis:
Dezvoltarea softwarenecesit creativitate greu de
automatizat
Ingineria dezvoltrii este oactivitate degrup implic
interaciune ncazul unor proiecte demareamploare
Tehnologiile CASEsuport greu astfel deprobleme

IDP InstrumentepentruDezvoltareaProgramelor.

57

P d i i
ProductivitateafolosindCASE(1)
f l i d CASE (1)

Studiu realizat n45decompanii (1995)


sisteme
it
i f
informatice
ti
softwarescientific
soft are real time (pentr controlaerian)
softwarerealtime(pentru
control aerian)
Rezultatele:
Doar
D
10% ti anuall nproductivitate
10%ctig

d ti it t
Costuri:125.000$perperson/an

IDP InstrumentepentruDezvoltareaProgramelor.

58

P d i i
ProductivitateafolosindCASE(2)
f l i d CASE (2)
Studiu condus pe 15companii dinFortune500(1997)
Este
Estevitalcantr
vital ca ntro
ocompanie
companie s existe:
Training
Unproces softwarebine conturat
Mediile CASEar trebui folosite numai dac exist unnivel de
maturitate ndezvoltarea procesului softwaresuficient dematur
Afoolwithatoolisstillafool

IDP InstrumentepentruDezvoltareaProgramelor.

59

ExempledeproduseCASE

IDP InstrumentepentruDezvoltareaProgramelor.

60

Mi
MicrosoftVisioProfessional
f Vi i P f i
l

Furnizeaz
Furnizeazsoluiidetipdiagramepentrudocumentareicomunicarede
soluii de tip diagrame pentru documentare i comunicare de
informaii

IDP InstrumentepentruDezvoltareaProgramelor.

61

IBM R i
IBMRationalUnifiedProcess(RUP)
l U ifi d P
(RUP)
Conceptdedezvoltaresoftware
p
((RationalSoftwareCorporation)
p
)
integratcuuneltededezvoltaresoftwarensuiteleIBMRational
Estecompusdin:
Bestpractices
B t
ti
RUPincludeobibliotecdebestpractices
RUP i l d bibli t d b t
ti pentru
t
softwareengineering,acoperinddelamanagementulproiectuluipnla
testareadetaliataproduselor.
Process
Processdeliverytools
delivery tools RUPestelivratfolosindtehnologiiwebcepermit
RUP este livrat folosind tehnologii web ce permit
integrareacualteinstrumentededezvoltaresoftware.
Configurationtools RUPestealctuitdincomponente ipluginuricepot
fiselectateiconfigurarenfunciedenecesitilefiecruiproiect.
Processauthoringtools Oorganizaiepoateextindesaumodifica
instrumenteleRUPprincreareapropriilorpluginuri folosindproduseledin
suitaRationalProcessWorkbench.
Community/Marketplace RationalDeveloperNetwork(RDN)
Rational Developer Network (RDN) furnizeaz
furnizeaz
unlocpentrupartajareadiverselorextensiideprocesesoftware.
IDP InstrumentepentruDezvoltareaProgramelor.

62

F
FrameworkulRUP
k l RUP

IDP InstrumentepentruDezvoltareaProgramelor.

63

Ci l l d d
CicluldedezvoltareRUP
l
RUP
Alctuitdinpatrufazesecveniale
p

cemodeleaz
aspectefinanciare,strategice,comercialeiumane din
derulareaproiectuluisoftware.
Nouactivitice modeleazaspecteletehnice ale
dezvoltriiproiectului:modelareaproceselorde
business,implementare,testare,etc.
OfazaunuiproiectRUPestempritniteraii
cuprindactivitidedezvoltareceproducreleases asoftware
uluifinalexecutabil.

IDP InstrumentepentruDezvoltareaProgramelor.

64

Patru faze secveniale

Aspe
ecte tehnice

RUP

Iteraii
IDP InstrumentepentruDezvoltareaProgramelor.

65

C
ComponentealeactivitilorRUP
l
i i il RUP

Un rol presupune:

-Set de activiti
-Set de produse livrate
(artifacts)
Artifact guidelines arat cum
sunt dezvoltate,
d
l
evaluate
l
ii
folosite produsele
Work guidelines explic cum
trebuie implementat o activitate
Tool mentor descrie cum pot
ajuta instrumentele software
fiecare dintre actviti

IDP InstrumentepentruDezvoltareaProgramelor.

66

Selectarea Componentelor iPlug


i Plugins
ins
ConstructorRUP(RUPBuilder)
Patruetape
Patru etape
Ajutla:
selectareaunei
selectarea
unei
configuraiidebaz,
folosireapluginurilor
p g
naltecomponenteale
procesului,
configurareaviziunilor
fi
i i il
procesului,
p
publicareaRUPului
personalizat
IDP InstrumentepentruDezvoltareaProgramelor.

67

D fi i
DefinireaVederilordeProces
V d il d P
ProcessViewreprezintuncontrolbazatperoluri
Process View reprezint un control bazat pe roluri
personalizatceconinelegturictreelementedinRUP
ProcessConfiguration,precumilegturictrefiiere
saualteURLuri
l
externeconfiguraiei.
f
ProcessViewssuntcreatenRUPBuilder.
MyRUPpermitefiecruiindividsiconturezepropria
saviziuneasupraproiectului
Asistenideinstrument (ToolsMentors) ofer
p
asistenpentruutilizareainstrumentelorRationaln
scopulndepliniriisarcinilorRUP.
IDP InstrumentepentruDezvoltareaProgramelor.

68

T
Tool
Menttor

P
Process
v
view
IDP InstrumentepentruDezvoltareaProgramelor.

69

RUP M d l
RUPModeler

RUPModeler instrument
demodelarecepermite
modificarea proceselor
modificareaproceselor
RUP

IDP InstrumentepentruDezvoltareaProgramelor.

70

I
InstrumentedinsuitaIBMRational
di
i IBM R i
l

IDP InstrumentepentruDezvoltareaProgramelor.

71

I
InstrumentedinsuitaIBMRational
di
i IBM R i
l
IBMRationalRequisite Pro
Furnizeazobazdedatecentralizatatuturorcerinelorprogramelordezvoltate.
EsteintegratcuMicrosoftWord,aspectcepermiteimportareatuturorcerinelordescrisen
documentul cerinelor direct n baza de date
Beneficii:
Ajutlavizualizareadectreechipaproceselordebusiness.
mbuntesccomunicareantreacionariiclarificareacerinelordebusiness.
Ajutlagestionareacomplexitii.
Ajutlacapturareafenomenelordebusinessvitalepentruprodusulfinalinelegerealordectre
echipele de dezvoltare.
echipelededezvoltare.

FamiliadeproduseIBMRational Rose
Permiteanalitilordebusinessmodelareaproceselordebusiness,folosindUnified
Modelling Language (UML)
Beneficii:

Reducereatimpuluiiefortuluinecesarnproducereadocumentaieiaferentedezvoltrii
programului.
Producereaderapoartelatermen,actualizateiconsistenteprivinddateleactivitilorimplicatede
procesul de dezvoltare
procesuldedezvoltare.
Ofercapabilitidepublicareonline(Web)adocumentelorirapoartelor.

IDP InstrumentepentruDezvoltareaProgramelor.

72

I
InstrumentedinsuitaIBMRational
di
i IBM R i
l
IBMRational ClearCase
Gestioneazmodificrileaprutencadrulproduselordezvoltareifurnizeazuncontrolautomatizataldiverselor
versiunisoftware.
Beneficii:
Gestiuneaautomatamodificrilor.
Protejareaintegritiiproduselordezvoltate.

IBMRational ClearQuest
Automatizeazproceseleaferentemanagementuluiproblemelor,riscurilorimodificrilor.
Beneficii:
SSalvareatimpuluiiefortuluiimbuntireaprecizieimanagementuluiprinautomatizareaproceselordemodificaremanuala
l
ti
l i i f t l i i b ti
ii i
t l i i
t
ti
l d
difi
l
diverselordocumenteaferenteactivitilordedezvoltareaprodusuluisoftware.
Furnizeazrapoarteasupramanagementuluiproblemelor,riscurilorimodificriloraprute.

IBMRational ProjectConsole
Automatizeazprocesuldecercetareiraportareastriicurenteadezvoltriiprodusuluisoftware.Includemetrici
A
i

ld
i
ii
d
l ii
d l i f
I l d
i i
asupraprogresuluinformatWebipoatefiadaptatpentruacapturadiversemetriciprivindbeneficiilecurenteale
dezvoltrii.
Beneficii:
Salvareatimpuluinecesarcrerii,construiriiimenineriiunuisiteWebprivindprogresulcurentalprocesuluidedezvoltaresoftware.
Salvareatimpuluiiefortuluipresupusdecolectareamanualastriidiverseloractivitidedezvoltare.
p

p
p

Furnizeazunpunctunicdedepozitainformaiiloractualizateprivindstareaproiectuluicepoatefifolositdectretoimembriiechipei
dedezvoltare.

IDP InstrumentepentruDezvoltareaProgramelor.

73

nvmntulsuperiortehnic
RationalClearQuestClientforWebSphereStudio

Workspace
view

Result Set
view

Properties
P
i
view

Console
view
IDP InstrumentepentruDezvoltareaProgramelor.

Record
Details,
Chart and
Report views

74

Arhitectura
ClearCase Remote Client
ArhitecturaClearCase
Client
Maina client
Eclipse /
Rational SDP

Stand-alone
(Eclipse RCP)

Maina server
HTTP(S)
( )
CC Web Server

CCRC
Plug-ins

Rational Web Platform (RWP)

CCRC
WAN library

CC Core libraries
RPC

Copy
area
VOB
Based on web views
IDP InstrumentepentruDezvoltareaProgramelor.

View
MVFS

Servere CC
75

Cl C
ClearCase
R
RemoteClientforEclipse
Cli
f E li

IDP InstrumentepentruDezvoltareaProgramelor.

76

D i
Designer2000
2000

ProdusalfirmeiOracle
P d
l fi
iO l

IDP InstrumentepentruDezvoltareaProgramelor.

77

Sumar
Instrumente CASE:definiie, proprieti
Clasificarea instrumentelor CASE
Arhitectura generic aunui mediuCASE
Studiu decaz:instrumenteCASEpentru
p
etapele
p deanaliz i
proiectare
ExempledeinstrumenteCASE:VersionControl Systems(SVN)
Exempledeproduse CASE:MicrosoftVisioProfessional,IBM
RationalUnified Process

IDP InstrumentepentruDezvoltareaProgramelor.

78

S-ar putea să vă placă și