Kapitulli 3 - Proceset Softuerike
description
Transcript of Kapitulli 3 - Proceset Softuerike
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 1
Proceset Softuerike
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 2
Objektivat
l Të prezantohen modelet e proceseve softuerikel Të përshkruhen tri modelet e përgjithshme të
proceseve dhe rastet kur ato mund të përdorenl Të përshkruhen modelet e proceseve për
inxhinierinë e kërkesave, zhvillimit të softuerit, testimit dhe evoluimit
l Të shpjegohet modeli i quajtur “Procesi Racional i Unifikuar” (Rational Unified Process)
l Të prezantohet teknologjia e veglave CASE që përkrah aktivitetet e proceseve softuerike
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 3
Temat e mbuluara
l Modelet e proceseve softuerikel Përsëritja/Iteracioni e/i procesevel Aktivitetet e procesevel “Procesi Racional i Unifikuar” (Rational
Unified Process) l Inxhinieria softuerike e ndihmuar nga
kompjuteri
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 4
Proceset softuerike
l Një grumbull i strukturuar i aktiviteteve të cilat duhet të kalohen për të zhvilluar një sistem softuerik• Specifikimi;• Dizajnimi;• Validimi;• Evoluimi.
l Modeli i një procesi softuerik paraqet reprezentim abstrakt (të përgjithshëm) të një procesi. I njëjti paraqet një përshkrim të një procesi nga një perspektivë e caktuar.
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 5
Modelet e përgjithshme të proceseve softuerike
l Modeli “Ujëvara” (waterfall)• Faza të veçanta dhe të dallueshme të specifikimit dhe
zhvillimit.l Zhvillimi evolutiv
• Faza e specifikimit, zhvillimit dhe e validimit janë të kombinuara.
l Inxhinieria softuerike e bazuar në komponente• Sistemi krijohet përmes përdorimit të
komponentëve ekzistuese.l Ekzistojnë shumë variante të këtyre modeleve p.sh.
Zhvillimi formal, ku përdoret procesi softuerik i formës “Ujëvara”, por faza e specifikimit është një proces formal i cili përmirësohet përgjatë disa fazave deri sa të arrihet te një format që është i implementueshëm.
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 6
Modeli “Ujëvara” (Waterfall)
Requirementsdefinition
System andsoftware design
Implementationand unit testing
Integration andsystem testing
Operation andmaintenance
Definimi i kërkesave
Dizajni i sistemit dhe softuerit
Implementimi dhe testimi i njësisë
Integrimi i dhe testimi i sistemit
Vënia në përdorim dhe mirëmbajtja
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 7
Fazat e modelit “Ujëvara”
l Analiza dhe definimi i kërkesavel Dizajni i sistemit dhe softueritl Implementimi dhe testimi i njësisël Integrimi i dhe testimi i sistemitl Vënia në përdorim dhe mirëmbajtjal E meta kryesore e modelit “Ujëvara” qëndron
në vështirësinë për trajtuar ndryshimin e kërkesave, të cilat mund të paraqiten pasi faza e specikacionit të ketë përfunduar. Sipas këtij modeli, duhet të përfundohet faza aktuale para se të kalohet në fazën vijuese.
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 8
Të metat e modelit “Ujëvara”
l Mungesa e fleksibilitetit për të ndarë projektin në disa etapa, e bënë të vështirë marrjen për bazë kërkesave të ndryshueshme të konsumatorit
l Si rrjedhojë, ky model është i përshtatshëm vetëm në rastet kur kërkesat janë mirë të kuptueshme që në fillim të procesit dhe ndryshimet eventuale të mëvonshme janë mjaftë të kufizuara
l Shumë pak sisteme softuerike kanë kërkesa stabile / të pandryshueshme
l Modeli “Ujëvara” në përgjithësi përdoret për projekte të mëdha të inxhinierisë së sistemeve, me që rast sistemi zhvillohet në disa vende/lokacione të ndryshme
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 9
Zhvillimi evolutiv
l Zhvillimi kërkimor / eksplorues• Objektivi është që të punohet në bashkëpunim me
klientët dhe të zhvillohet sistemi përfundimtar duke filluar nga një specifikim bazë fillestare. Procesi fillon me rastin e kuptimit të kërkesave bazë, e më pastaj në vijueshmëri shtohen tipare të reja ashtu siç kërkohet nga ana e konsumatorit.
l Krijimi i prototipit (i cili nuk përdoret)• Objektivi është që të kuptohen kërkesat e
sistemit. Fillohet me kërkesat që në fillim nuk janë mirë të kuptuara, por me rastin e krijimit të prototipit kuptohet saktë se cilat janë kërkesat e vërteta nga sistemi.
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 10
Zhvillimi evolutiv
Concurrentactivities
ValidationFinal
version
Development Intermediateversions
SpecificationInitial
version
OutlinedescriptionPërshkrimi i përgjithshëm
Verzioni fillestar
Verzionet e ndërmjetme
Verzioni final
Specifikimi
Zhvillimi
Validimi
Aktivitetetmomentale
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 11
Zhvillimi evolutivl Të metat
• Mungesa e ndarjes së proceseve;• Shpesh sistemet nuk janë mirë të strukturuara;• Shkathtësi të veçanta (p.sh. njohja e gjuhëve
programuese për krijim të shpejt të prototipit) mund të jenë të nevojshme. P.sh. Actor-Based Concurrent Language, Agora, Cecil,Cel, ColdC, etj.
l Zbatueshmëria• Për sisteme interaktive të vogla apo të mesme;• Për pjesë të sistemeve të mëdha (p.sh. ndërfaqja e
shfrytëzuesit);• Për sisteme me jetëgjatësi të shkurtër
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 12
Inxhinieria softuerike e bazuar në komponente
l Mbështetet në ripërdorimin e pjesëve softuerike, me që rast sistemi zhvillohet duke përdorur komponentët ekzistuese ose komponentët COTS (Commercial-off-the-shelf)
l Etapat e procesit• Analiza e komponentëve;• Modifikimi i kërkesave;• Dizajni i sistemit përmes ripërdorimit;• Zhvillimi dhe integrimi.
l Kjo metodë po përdoret gjithnjë e më shumë përderisa standardet për zhvillim të komponentëve tani më veç janë të shfaqura.
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 13
Zhvillimi i orientuar në ri- përdorim
Requirementsspecification
Componentanalysis
Developmentand integration
System designwith reuse
Requirementsmodification
Systemvalidation
Analiza e komponenteve
Specifikimi i kërkesave
Modifikimi i kërkesave
Dizajni i sistemit me ri-përdorim
Zhvillimi dhe integrimi
Validimi i sistemit
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 14
Përseritja/Iteracioni e/i proceseve
l Kërkesat e sistemit gjithnjë evulojnë gjatë rrjedhës së projektit. Si rrjedhojë, përsëritja e proceseve të cilat janë kaluar në faza të mëhershme të projektit, ndodhë vazhdimisht gjatë inxhinierisë së sistemeve të mëdha softuerike.
l Përsëritja (Iteracioni) mund të aplikohet te cilido model i përgjithshëm i proceseve softuerike
l Dy metoda të përafërta:• Zhvillimi rritës;• Zhvillimi spiral.
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 15
Zhvillimi rritës (Incremental delivery)
l Në vend se të dorëzohet për njëherë në përdorim sistemi si tërësi e përfunduar, procesi i zhvillimit dhe dorëzimit në përdorim ndahet në disa faza, me që rast secila prej tyre shtonë një funksionalitet shtesë në pjesën e sistemit paraprak.
l Bëhet lista prioritare e kërkesave të përdoruesit, me që rast kërkesat me prioritet më të lart përfshihen në fazat e mëhershme të zhvillimit të sistemit.
l Në momentin kur fillon procesi i zhvillimit për një fazë të caktuar, kërkesat “ngrihen” gjerë në fazën e ardhshme, të cilat mund të evoluojnë apo ndryshojnë
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 16
Zhvillimi rritës (Incremental development)
Validateincrement
Develop systemincrement
Design systemarchitecture
Integrateincrement
Validatesystem
Define outline requirements
Assign requirements to increments
System incomplete
Finalsystem
Defino kërkesat e përgjithshme
Ndaj kërkesat në faza të ndryshme
Dizajno arkitekturën e sistemit
Zhvillo një pjesë të sistemit
Valido pjesën e zhvilluar
Integor pjesën e zhvilluar
Valido sistemin në tërësi
Sistemi i pakompletuar
Sistemi final
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 17
Përparsitë e zhvillimit rritës
l Konsumatori do të filloj të punoj me module të caktuar të sistemit që nga fazat e hershme
l Funksionaliteti i moduleve të hershme shërben si prototip që ndihmon në kuptimin më të mirë të kërkesave për fazat e mëvonshme
l Rrezik më i vogël për dështim të projektit.l Shërbimet prioritare të sistemit do të kenë
testim më të gjatë.
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 18
Programimi ekstrem
l Metodë zhvilluese që bazohet në krjimin dhe më pastaj liferimin (futjen në përdorim) e pjesëve të vogla të funksionalitetit për secilën fazë/iteracion të përsëritur
l Mbështetet në përmirësimin e vazhdueshëm të kodit, përfshirjen e shfrytëzuesit të ardhëshëm të sistemit në ekipin e zhvillimit si dhe programimin në çifte
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 19
Zhvillimi spiral
l Në vend të sekuencës së aktiviteteve me reaktivitet, në këtë metodë procesi paraqitet në formë të spirales
l Secila unazë në spirale paraqet një fazë në procesin e zhvillimit
l Nuk ka faza fikse sikurse që janë specifikimi apo dizajnimi – unazat në spirale zgjedhën në varësi të asaj se çka kërkohet.
l Në veçanti, rreziqet për projektin vlerësohen dhe mënjanohen gjatë tërë procesit.
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 20
Modeli i spirales për procesin softuerik
Riskanalysis
Riskanalysis
Riskanalysis
Riskanalysis Proto-
type 1
Prototype 2Prototype 3
Opera-tionalprotoype
Concept ofOperation
Simulations, models, benchmarks
S/Wrequirements
Requirementvalidation
DesignV&V
Productdesign Detailed
designCode
Unit testIntegration
testAcceptancetestService Develop, verify
next-level product
Evaluate alternatives,identify, resolve risks
Determine objectives,alternatives and
constraints
Plan next phase
Integrationand test plan
Developmentplan
Requirements planLife-cycle plan
REVIEW
Determine objectives, alternatives and constraints
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 21
Sektorët e modelit të spirales
l Përcaktimi i objektivave• Bëhet identifikimi i objektivave specifike për fazën
momentalel Vlerësimi dhe zvogëlimi i riskut
• Vlerësohen rreziqet dhe planifikohen aktivitetet për të zvogëluar rreziqet kryesore.
l Zhvillimi dhe validimi• Bëhet zgjidhja e një modeli zhvillimor për sistemin, i cili
mund të jetë cilido nga modelet e përgjithshmel Planifikimi
• Bëhet rishikimi i projektit dhe planifikohet faza tjetër e spirales.
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 22
Aktivitetet e proceseve
l Specifikimi i softueritl Dizajni dhe implementimi i softueritl Validimi i softueritl Evoluimi i softuerit
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 23
Specifikimi i softuerit
l Procesi i përcaktimit të shërbimeve që kërkohen dhe kushtëzimeve që do të ketë sistemi gjatë përdorimit dhe zhvillimit.
l Procesi i inxhinierisë së kërkesave• Studimi i fizibilitetit;• Përcaktimi dhe analiza e kërkesave;• Specifikimi i kërkesave;• Validimi i kërkesave.
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 24
Procesi i inxhinierisë së kërkesave
Feasibilitystudy
Requirementselicitation and
analysisRequirementsspecification
Requirementsvalidation
Feasibilityreport
Systemmodels
User and systemrequirements
Requirementsdocument
Studimi i fizibilitetit
Përcaktimi dhe analiza e kërkesave
Specifikimi i kërkesave
Validimi i kërkesave
Raport i fizibilitetit
Modelet e sistemit
Kërkesat e shfrytëzuesit dhe të sistemit
Dokumenti i kërkesave
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 25
Dizajni dhe implementimi i softuerit
l Procesi i konvertimit të specifikacioneve të sistemit në një sistem që mund të ekzekutohet.
l Dizajni i softuerit• Dizajnimi i strukturës së softuerit që realizon
specifikacionet;l Implementimi
• Përkthen strukturën e krijuar të softuerit në një program ekzekutiv;
l Aktivitetet e dizajnit dhe implementimit ndërlidhen ngushtë në mes vete dhe ndonjëherë ato mund të kenë bashëkdyzim.
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 26
Aktivitetet e procesit të dizajnit
l Dizajni i arkitekturësl Specifikimi në formë abstraktel Dizajni i ndërfaqës /Interfejsitl Dizajni i komponentëvel Dizajni i strukturës së të dhënavel Dizajni i algoritmeve
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 27
Procesi i dizajnit të softuerit
Architecturaldesign
Abstractspecification
Interfacedesign
Componentdesign
Datastructuredesign
Algorithmdesign
Systemarchitecture
Softwarespecification
Interfacespecification
Componentspecification
Datastructure
specificationAlgorithm
specification
Requirementsspecification
Design activities
Design products
Specifikimi i kërkesave
Dizajni i arkitekturës
Specifikimi abstraktë
Dizajni i ndërfaqës
Dizajni i komponentëve
Dizajni i strukturës së të dhënave
Dizajni i algoritmeve
Arkitektura e sistemit
Specifikimi i sistemit
Specifikimi i ndërfaqës
Specifikimi i komponentëve
Specifikimi i strukturës së të dhënave
Specifikimi i algoritmëve
Aktivitetet e dizajnit
Produktet e dizajnit
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 28
Metodat e strukturuara
l Metodat sistematike për zhvillim të dizajnit të softuerit
l Dizajni zakonisht dokumentohet përmes një numri të caktuar të modeleve grafike.
l Modelet e mundshme• Modeli i objekteve;• Modeli i sekuencës;• Modeli i tranzicionit të gjendjes;• Modeli i strukturuar;• Modeli i rrjedhës së të dhënave.
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 29
Programimi dhe debagimi (menjanimi i gabimeve)
l Përkthimi i e një specifikacioni të dizajnit në program, si dhe mënjanimi i gabimeve nga ai program.
l Programimi është një aktivitet personal – nuk ekziston një proces i përgjithshëm i programimit.
l Programuesit bëjnë disa testime në mënyrë që të largojnë mundësitë për dështim të programit duke i mënjanuar gabimet gjatë procesit të debagimit.
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 30
Procesi i debagimit
Locateerror
Designerror repair
Repairerror
Re-testprogram
Gjeje gabimin
Dizajno zgjidhjen e gabimit
Korrigjogabimin
Testo sërish programin
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 31
Validimi i softuerit
l Verifikimi dhe validimi (V & V) synon të siguroj që sistemi është krijuar konform specifikacioneve dhe plotëson kërkesat e shfrytëzuesve të sistemit.
l Përfshinë kontrollimin dhe rishikimin e proceseve dhe testimin e sistemit.
l Testimi i sistemit bëhet përmes ekzekutimit të sistemit me të dhënat reale duke përdorur skenarët testues që janë përgatitur gjatë fazës specifikimit.
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 32
Procesi i testimit
Componenttesting
Systemtesting
Acceptancetesting
Testimi i komponenteve
Testimi i sistemit
Testimi për pranim
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 33
Fazat e testimitl Testimi i komponentës apo njësisë
• Komponentët e veçanta testohen në mënyrë të pavarur;
• Komponentët mund të jenë funksionet apo objektet ose grupime me lidhje logjike të këtyre entiteteve.
l Testimi i sistemit• Testimi i sistemit si tërësi. Në veçanti është e
rëndësishme të bëhet testimi i tipareve të zhvilluara të sistemit.
l Testimi për pranim• Testimi me të dhëna të klientëve për t’u siguruar
që sistemi plotëson nevojat e klientëve.
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 34
Fazat e testimit
Requirementsspecification
Systemspecification
Systemdesign
Detaileddesign
Module andunit codeand test
Sub-systemintegrationtest plan
Systemintegrationtest plan
Acceptancetest plan
Service Acceptancetest
Systemintegration test
Sub-systemintegration test
Specifikimi i kërkesave
Specifikimi i sistemit
Dizajni i sistemit
Dizajni i detajuar
Plani për testin e pranimit
Plani për testin e integrimit të sistemit
Plani për testin e integrimit të nënsistemeve
Testimi i moduleve dhe njësive të kodit
Testimi i integrimit të nënsistemeve
Testimi i integrimit të sistemitTestimi për
pranimShërbimi
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 35
Evoluimi i softuerit
l Softueri për nga natyra është fleksibël dhe mund të ndryshojë.
l Me ndryshimin e kërkesave si rrjedhojë e ndryshimit të kushteve të punës, edhe softueri që përkrah punën duhet të evoluoj dhe ndryshoj.
l Edhe pse gjithnjë ka ekzistuar një ndarje në mes të fazës së zhvillimit dhe atë të evolucionit (mirëmbajtjes) kjo është gjithnjë më e parëndësishme pasi sistemet gjithnjë e më pak janë krejtësisht të reja
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 36
Evoluimi i softuerit
Assess existingsystems
Define systemrequirements
Propose systemchanges
Modifysystems
Newsystem
Existingsystems
Defino kërkesat e sistemit
Vlerëso sistemet ekzistuese
Sistemet ekzistuese
Propozo ndryshimet e sistemit
Modifiko sistemet
Sistemi i ri
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 37
Procesi Racional i Unifikuar (The Rational Unified Process)
l Një model modern i proceseve i krijuar nga puna e bërë në zhvillimin e UML (Unified Modeling Language) dhe proceseve përkatëse.
l Përshkruhet zakonisht nga 3 perspektiva• Perspektiva dinamike që tregon fazat përgjatë
kalimit të kohës;• Perspektiva statike që tregon aktivitetet e procesit;• Perspektiva praktikë që sugjeron praktikën e mirë.
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 38
Modeli i fazave të RUP-së
Phase iteration
Inception Elaboration Construction Transition
Përseritja/Iteracioni i fazave
Fillimi Përpunimi Ndërtimi Tranzicioni
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 39
Fazat e RUP-së
l Fillimi / Inception• Analiza nëse krijimi i sistemit është i arsyeshëm.
l Përpunimi / Elaboration• Kuptimi më në detaje i domenit të sistemit si dhe
krijimi i arkitekturës së sistemit.l Ndërtimi / Construction
• Dizajni, programimi dhe testimi i sistemit.l Tranzicioni / Transition
• Vendosja e sistemit në ambientin e tij të operimit
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 40
Praktikat e mira të RUP-së
l Zhvillimi i softuerit në mënyrë iterative / të përsëritur
l Menaxhimi i kërkesavel Përdorimi i arkitekturës të mbështetur në
komponentel Modelimi i softuerit në mënyrë vizualel Verifikimi i kualitetit të softueritl Kontrollimi i ndryshimeve të softuerit
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 41
Përshkrimi i hapave të ndryshëm të punësHapi i punës Përshkrimi
Modelimi i punës Modelet e punës modelohen përmes përdorimit të skenarëve të shfrytëzimit.
Kërkesat Bëhet identifikimi i aktorëve të cilët ndër-veprojnë me sistemin dhe më pastaj krijohen skenarët e përdorimit në mënyrë që të modelohen kërkesat e sistemit.
Analiza dhe dizajni Bëhet krijimi i modelit të dizajnit, i cili dokumentohet duke përdorur modelin e arkitekturës, modelin e komponentëve, modelin e objekteve dhe modelin e sekuencave.
Implementimi
Komponentët në sistem implementohen dhe organizohen në nënsisteme. Gjenerimi automatik i kodit nga modelet e dizajnit shpejton procesin e implementimit.
Testimi Testimi është një proces i përsëritshëm i cili zhvillohet për gjatë tërë fazës së implementimit. Testim i sistemit bëhet pas përfundimit të fazës së implementimit.
Vënia në përdorim Versioni përfundimtar i sistemit krijohet dhe më pastaj dërgohet te shfrytëzuesit për instalim dhe përdorim..
Konfigurimi dhe menaxhimi i ndryshimeve
Ky hapi i punës menaxhon ndryshimet në sistem.
Menaxhimi i projektit Ky hapi punës menaxhon tërë procesin e zhvillimit të softuerit.
Ambienti Ky hap i punës ka të bëjë me zgjedhjen e veglave të përshtatshme softuerike për ekipin zhvillues.
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 42
Inxhinieria softuerike e ndihmuar nga kompjuteri
l Inxhinieria softuerike e ndihmuar nga kompjuteri (Computer-aided software engineering -CASE) bëhet përmes softuerëve përkatëse të cilat përkrahin fazat e ndryshme të ciklit jetësor të softuerit.
l Automatizimi i aktiviteteve• Editorët grafik për zhvillimin e modelit të sistemit;• Fjalorët e të dhënave që menaxhojnë entitetet e
dizajnit;• Ndërtuesit e ndërfaqës grafike (GUI);• Debaguesit që përkrahin gjetjen e gabimeve në
program;• Përkthyesit automatik të cilët mund të gjenerojnë
verzione të reja të një programi.
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 43
Teknologjia CASE
l Zhvillimi i teknologjisë CASE ka sjellë përmirësim të theksuar në proceset softuerike. Megjithatë ky zhvillim i teknologjisë CASE nuk është i nivelit që më herët është menduar.• Inxhinieria softuerike kërkon mendim kreativ – gjë
që nuk është e lehtë të automatizohet;• Inxhinieria softuerike është një aktivitet ekipor, për
projekte më të mëdha, kalohet shumë kohë në ndërveprimet në mes të anëtarëve të ekipit. Teknologia CASE nuk e përkrah në nivel të kënaqshëm punën ekipore.
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 44
Klasifikimi i veglave CASE
l Klasifikimi mundëson njohjen e llojeve të ndryshme të veglave CASE, si dhe përkrahjen e tyre për aktivitetet e proceseve.
l Perspektiva funksionale• Veglat ndahen në bazë të funksioneve të tyre specifike.
l Perspektiva e proceseve• Veglat ndahen në bazë të aktiviteteve të proceseve që
ato përkrahin.l Perspektiva e integrimit
• Veglat ndahen në bazë të organizimit të tyre në njësitë e integruara
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 45
Klasifikimi i veglave sipas funksionalitetit
Lloji i veglës Shembuj
Veglat për planifikim Veglat PERT, veglat e vlerësimit, spreadsheets
Veglat e editimit Editorët e tekstit, editorët e diagrameve, procesorët e fjalëve
Veglat për menaxhim të ndryshimeve
Veglat për formulimin e kërkesave, sistemet për kontroll të ndryshimeve
Veglat për menaxhim të konfigurimeve
Sistemet për menaxhim të versionit, veglat për ndërtim të sistemit
Veglat për krijim të prototipit Gjuhët shumë të larta, gjeneruesit e ndërfaqës së shfrytëzuesit
Veglat për përkrahje të metodave të punës
Editorët e dizajnit, fjalorët e të dhënave, gjeneruesit e kodit
Veglat për procesim të gjuhëve Kompjajlerët, interpreterët
Veglat për analizë të programit Gjeneruesit e referencave kryqëzuese (Cross-reference generators), analizuesit statik, analizuesit dinamik
Veglat për testim Gjeneratorët e të dhënave testuese, krahasuesit e fajllave
Veglat për debagim Sistemet interatkive të debagimit
Veglat për dokumentim Programet për rregullim të përmbajtjës së faqeve, edituesit e imazheve
Veglat për inxhinieri të serishme Sistemet për kryqëzim të referencave (Cross-reference systems), sistemet për ristrukturim të programeve
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 46
Klasifikimi i veglave në bazë të aktiviteteve
Specification Design Implementation Verificationand
Validation
Re-engineering tools
Testing tools
Debugging tools
Program analysis tools
Language-processingtools
Method support tools
Prototyping tools
Configurationmanagement tools
Change management tools
Documentation tools
Editing tools
Planning toolsVeglat për planifikim
Veglat për editim
Veglat për për Veglat për menaxhimtë ndryshimeve
Veglat për menaxhimtë konfigurimeve
Veglat për prototip
Veglat për përkrahje të metodës
Veglat për procesimtë gjuhëve
Veglat për dokumentim
Veglat për analizimtë programit
Veglat për debagim
Veglat për testim
Veglat për inxhinieritë sërishme
Specifikimi Dizajni Implementimi Verifikimi dhe validimi
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 47
Integrimi i veglave CASE
l Veglat (Tools)• Mbështet detyra të veçanta të proceseve siç janë
kontrollimi i qëndrueshmërisë / konsistencës, editimi i tekstit, etj.
l Grupe pune (Workbenches)• Mbështet fazat e proceseve siç janë specifikimi
apo dizajni. Zakonisht përfshinë një numër të caktuar të veglave të integruara.
l Ambientet (Environments) • Përkrah të gjitha apo pjesën dërmuese të
aktiviteteve të një procesi të plotë softuerik. Zakonisht përfshinë disa ambiente të integruara të grupeve të punës (Workbenches).
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 48
Veglat, grupe pune, ambientet
Single-methodworkbenches
General-purposeworkbenches
Multi-methodworkbenches
Language-specificworkbenches
Programming TestingAnalysis anddesign
Integratedenvironments
Process-centredenvironments
FilecomparatorsCompilersEditors
EnvironmentsWorkbenchesTools
CASEtechnologyTeknologjia CASE
Veglat Grupe pune Ambientet
Editorët Kompajlerët Krahasuesit efajllave
Ambientet e integruara
Ambientet e e koncentruara në procese
Analiza dhe dizajni Programimi Testimi
Grupe pune për metoda të shumëfishta
Grupe pune për metoda të veçanta
Grupe pune me destinim të përgjithshëm
Grupe pune për gjuhë të veçanta
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 49
Pikat kryesore
l Proceset softuerike janë aktivitetet që kalohen për të krijuar dhe evoluar një sistem softuerik.
l Modelet e proceseve softuerike paraqesin një reprezentim të këtyre proceseve.
l Aktivitetet e përgjithshme janë specifikimi, dizjani dhe implementimi, validimi dhe evoluimi.
l Modeli i përgjithshëm i një procesi përshkruan mënyrën e organizimit të procesit softuerik. P.sh. Modeli “Ujavar” apo inxhinieria softuerike e bazuar në sistemin evoluativ ose në atë të komponentëve.
l Modeli përsëritës/iterativ përshkruan procesin softuerik si një cikël të aktiviteteve.
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 50
Pikat kryesore
l Inxhinieria e kërkesave paraqet procesin e zhvillimit të specifikacionit të softuerit.
l Proceset e dizajnit dhe implementimit shndërrojnë specifikacionin e shkruar një program të ekzekutueshëm.
l Procesi i validimit merret me kontrollimin nëse sistemi i krijuar është në bazë të specifikacionit dhe plotëson kërkesat e shfrytëzuesit.
l Evoluimi ka të bëjë me procesin e modifikimit të sistemit pasi i njëjti të jetë futur në veprim.
l Rational Unified Process është një proces i përgjithshëm i cili ndanë aktivitetet nga fazat.
l Teknologjia CASE përkrah aktivitet e proceseve softuerike .