Documente Academic
Documente Profesional
Documente Cultură
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
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 de editare
Instrumente de gestiune a
modificrilor
Instrumente de management a
configurrilor
Instrumente de prototipare
Instrumente de procesare a
limbajului
Compilatoare, interpretoare
Instrumente de analiz a
pprogramului
g
Instrumente de testare
Instrumente de depanare
Instrumente de documentare
Instrumente de re-eingineering
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
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
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
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
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
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
--revision (-r)
--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
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: main.cpp
g++ -c main.cpp
main o
main.o
math o
math.o
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)
Input
(Parameter)
Generator
IDP InstrumentepentruDezvoltareaProgramelor.
Output
53
G
Generatoare(2)
(2)
JSP
JSP
Generator
JSP
JSP
Class
Generator
Class
Class
Class
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
I t
Instrument
t
Cod
Cod
sursa C
Cod
d sursa
sursa
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)
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
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
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
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