Software System Development and Management - Leksioni 6
Transcript of Software System Development and Management - Leksioni 6
ZhvillimiZhvillimi dhedhe menaxhimimenaxhimi iisistemevesistemeve softverikesoftverikesistemevesistemeve softverikesoftverike
Profesor: Dr.sc. Edmond Beqiri
6. Metodologjitë e zhvillimit të sistemeve softverike
• Faza e zhvillimit
• Metodologjitë
1
HyrjeHyrje
Procesi i zhvillimit
Një bashkësi e rregulluar e detyrave të cilat duhet kryer për t’u krijuarprodukti dhe për tu ofruar shërbimi
• definimi i aktiviteteteve dhe i resurseve
• definimi i kufizimeve (buxheti, afatet kohore, hapësira, renditja e aktiviteteve,
• Nga fillimi i krijimit të softverit deri te dorëzimi dhemirëmbajtja
• definimi i kufizimeve (buxheti, afatet kohore, hapësira, renditja e aktiviteteve, veglat në dispozicion,...)
Cikli jetësor i softverit = Procesi i zhvillimit të softverit
• disciplina në zhvillim me qëllim të efikasitetit më të madh
Metodologjia e zhvillimit
FFazazatat nënë zhvilliminzhvillimin e e softveritsoftverit (1)(1)
1. Analiza dhe definimi i kërkesave
• Bashkëpunimi me blerësin dhe shfrytëzuesin• analiza e kërkesave (entitetet, aktivitetet dhe kufizimet)• Interaksioni i sistemit me rrethinën• Rezultati i fazës - lista e kërkesave të shfrytëzuesit
2. Projektimi (dizajnimi) i sistemait2. Projektimi (dizajnimi) i sistemait
• Sipas kërkesave, punohet projekti i sistemit i cili e ofron planin e zgjidhjes• plani – arkitektura e sistemit, komponentet dhe algoritmat
3. Projektimi i programit
• Gjenerimi i nënprojekteve (moduleve) të përshtatshme për realizim programor• Lidhjet në mes të moduleve dhe mënyrat e këmbimit të dhënave
4. Implementimi i programit
• Realizimi i kodit programor sipas projektit
FFazat në zhvillimin e softveritazat në zhvillimin e softverit (2(2))
5. Testimi i programit
• Gjetja dhe përmirësimi i gabimeve• Testimi njësi• Testimi i integruar• Testimi sistematik
6. Dorëzimi i sistemit6. Dorëzimi i sistemit
• Instalimi i sistemit në rrethinën punuese• Aftësimi i shfrytëzuesve
7. Mirëmbajtja e sistemit softverik
• Përmirësimi i gabimeve pas dorëzimit• Përparimi i sistemit (kërkesat e reja ose ndryshimet në rrethinë)
Procesi i zhvillimit të sistemit softverikËshtë secili përshkrim i zhvillimit të sistemit softverik i cili përmban ndonjë nga fazët e
përmendura,të organizuara në atë mënyrë që prodhojnë kod gjegjës të rregulltë dhe të verifikuar.
ModelModelimiimi
MODEL I PROCESIT
TË ZHVILLIMIT
PRODUKTI I DORËZUAR
SPECIFIKIMI I KËRKESAVE
Arsyeja për modelim
• përshkrimi i sistemit bëhet një projekt i përbashkët i të gjithë pjesëmarrësve;
komunikimi më i lehtë; të rralla janë keqkuptimet në interpretim.
• modelimi tregon qëllimet e zhvillimit, para implementimit përcaktohetbarasvlera e aktiviteteve të parapara me kërkesat e parashtruara
• modelimi ndihmon në gjetjen e devijimeve, elementeve të tepërta oseelementeve të harruara; efikasiteti më i madh
• modeli i përshtatet situatës konkrete, por mund të përdoret edhe në situatatjera; mirë është që të mbetet gjurma në projekt.
MetodologjiaMetodologjia tradicionaletradicionale
• Metodologjia me model kaskadik (ujëvara)
• Metodologjia me model V
• Zhvillimi fazë-fazë (metodologjia inkrementale dhe iterative)
• Metodologjia modeli me me prototip
• Metodologjia me model në formë spirale
• Metodologjia me modelin RUP (Rational Unified Process)
Projektimi isistemitsoftverik
Analiza e kërkesave
Modeli ujëvara,Royce, v.1970.,
Modeli më i vjetër
MetodologjiaMetodologjia me me modelinmodelin kaskadikkaskadik ((ujëvaraujëvara)) (1)(1)
Vetitë
softverik
Dorëzimidhe
mirëmbajtja
Testimi isistemitsoftverik
Kodimi isoftverit
-Nivel shumë i lartë i abstraksionit
-Lidhja kaskadike e fazave
-Pikat kritike dhe nënproduktet
MetodologjiaMetodologjia ujëvarëujëvarë(2(2))
+ -- Thjeshtësia, lehtësohet komunikimime blerësin
- Përcjellja e lehtë e projektit;
- Nuk i përkrahë lidhjet rivepruese, të cilat ekzistojnë në realitet (më shumëiteracione, plotësimi i kërkesave, gabimetnë fazat e përfunduara, …)
- Përcjellja e lehtë e projektit;
- Implementimi i lehtë i modelit;një iteracion; i përshtatshëm kur nëkohë të shkurtër duhet ndërruarsistemi i vjetër me të riun+
në fazat e përfunduara, …)- Nuk tregon mënyren e lidhjes së fazave, (si dalja nga një fazë transformohet nërezultat të fazës tjetër.-Zhvillimi i softverit nuk shikohet sizgjidhje e problemit, modelishfrytëzon qasje industriale, kurse zhvillimii softverit është proces krijues, e jo procesprodhues- Interaksioni i kufizuar me shfrytëzuesin; vetëm në fazën e parëdhe të fundit, që nuk mjafton
MetodologjiaMetodologjia me model me model VV (1(1))
Ministria e Mbrojtjes së Gjermanisë,1992.
Analiza e kërkesave
Testimipërfundi
Puna operative dhemirëmbajtja
Validimi i kërkesave
Projektimi isistemit
Kodimi isoftverit
Projektimi iprogramit
mtar
Testimi itërë sistemit
Testimi i moduleveme integrim
Verifikimi i projektit
Vetitë
-Sistem i modifikuar kaskadik-Më së shumti përdoret-Lidhjet rivepruese eksplicite
ModeliModeliVV (2)(2)
Si përdoretmodeli V?
� Analiza e kërkesave, projektimi i sistemit softverik, kodimi
� Testimi� Testimi
� Në qoftë se paraqitet problemi në ndonjë fazë të testimit, përsëritenfazat tjera paraprake sipas lidhjeve rivepruese të njohura
� Pas futjes së ndryshimeve të duhura, korrigjohet kodi programor, e pastajprapë bëhet testimi
� Zhvillimi zakonisht ka më shumë interaksione të këtilla deri te versioni ifundit i sistemit.
MModelodeliiVV (3)(3)
- Fleksibilitet i pamjaftueshëm, gjatëkthimit në fazë paraprake, nuk
+- Përkrahja për lidhje rivepruese, ipërshtatshëm për zhvillim tësistemeve komplekse, sistemeve
-
kthimit në fazë paraprake, nukmjafton vetëm të futen ndryshimet, por duhet përditësuar të gjitha fazat e ardhshme me dokumentacion
- Kërkon resurse të mëdha dhe mëshumë mjete financiare sepse ekipizhvillues është më i madh
sistemeve komplekse, sistemevereale
- Mundësohet verifikimi dhe validimii sistemit
- Fitohet një produkt cilësor përshkak tëprocesit të zhvillimitrreptësisht të kontrolluar
- Testimet bëhen në fazat e hershme të projektit
ZhvillimiZhvillimi nënë fazafaza
� Konkurrenca e madhe në treg dikton zhvillim më të shkurtër; të ardhuratmë të larta nga sistemet softverike më të vonshëm
� përshpejtimi arrihet në qoftë se dorëzimi bëhet në faza
� Secilës fazë i përgjigjet një bashkësi e veçantë e funksioneve; disafunksione janë në përdorim, ndërsa disa në zhvillim e sipër.
versioni 1 versioni 2 versioni 3
versioni 1 versioni 2 versioni 3
Produkcioni sistemi
EK
IPI
ZH
VIL
LUE
SS
HF
RY
TË
-Z
UE
SIT
koha
funksione janë në përdorim, ndërsa disa në zhvillim e sipër.
ZhvillimiZhvillimi IInkremennkrementtalal (1)(1)
� Sistemi ndahet në nësisteme (faza, versione) sipas funksioneve
� Secili version i ri mbindërton sistemin deri në funksionalitetin e plotë
Shembull: v1 (futja e të dhënave), v2 (llogaritjet), v3 (prezentimi i rezultateve)
v1 v1 v1
v3
Shembull: v1 (futja e të dhënave), v2 (llogaritjet), v3 (prezentimi i rezultateve)
� Dorëzimi i shpejtë i bashkësisë së funksioneve operative;menjëherë pas fazës së parë, shfrytëzuesit i jepet një bashkësi e
+
ZhvillimiZhvillimi IInkremennkrementtalal (2)(2)
funksioneve të produktit përfundimtar�Përparimi në projekt vërehet; progresi në projekt është ivërejtshëm jo vetëm nëpërmes dokumenteve, por edhe në punënpraktike� Pjesëmarrja e vazhdueshme e shfrytëzuesve; interaksioni ipërhershëm me shfrytëzuesin dërgon deri në mes-rezultate mëstabile në përgjithësi� Ekipi i vogël projektues; Shpenzimet më të vogla, por që mund tëndikojnë në cilësi (kalimi nga njëra punë në tjetrën)
ZhvillimiZhvillimi iterativiterativ (1)(1)
� Sistemi ndahet në nësisteme (faza, versione) sipasfunksioneve� Në të gjitha versionet dorëzohet i tërë sistemi, me ndryshim të funksioneve të secilit nënsistem
v3v2v1
+
ZhvillimiZhvillimi iterativiterativ (2)(2)
� Mundësia e aftësimit të hershëm; menjëherë pas fazës sëparë mund të fillohet aftësimi i pjesshëm i shfrytëzuesve(organizimi i interfejsit, mënyrat e realizimit të(organizimi i interfejsit, mënyrat e realizimit tëfunksioneve,…), shfrytëzuesit sugjerojnë përmirësimet e mundshme.� Dorëzimet e shpeshta; shfrytëzuesit më heret i vërejnëproblemet të cilat mandej më lehtë largohen, përgjegjësia e madhe e ekipit zhvillues në rastin e cilësisë së versionit.� Mundësia e versioneve të specializuara; në versione tëndryshme, ekipi zhvillues mund të përkushtohet në përsosjene aspekteve të ndryshme të sistemit.
ModeliModeli me me PProrottoottipip (1)(1)
� Bazohet në punimin e prototipeve (versioni jokomplet i programit i ciliështë duke u zhvilluar)� Me anë të prototipeve, për një kohë të shkurtër mund të gjenerohet itërë sistemi ose pjesët e tij për të qartësuar pyetjet e hapura� Qëllimi i prototipeve është zvogëlimi i rrezikut gjatë zhvillimit� Prototipet mund të janë të përfshira në produktin final, por edhe nuk
Prototip i kërkesëve
Prototip i projektit
Prototip i sistemit Testimi
lista e revizioneve
Kërkesat Sistemi idorëzuar
� Prototipet mund të janë të përfshira në produktin final, por edhe nukështë e domosdoshme
lista e revizioneve
lista e revizioneve
- Reduktimi i kohës dheshpenzimeve; analiza e
+ -- Analiza jo e mjaftueshme; fokusimi nëprototipe largon nga analiza e sistemit tëtërësishëm; pasojat mund të paraqiten:
ModeliModeli me me PProrottoottipip (2)(2)
shpenzimeve; analiza e detalizuar gjatë realizimit tëprototipit kërkon në fazë tëhershme të përcaktohet se çkadëshiron shfrytëzuesi, e me këtë përshpejtohet zhvillimidhe zvogëlohen shpenzimet
- Interaksioni intensiv me shfrytëzuesit
tërësishëm; pasojat mund të paraqiten: specifikimi jo i kompletuar, zgjdhjetpërfundimtare të rënda për mirëmbajtje
- Konfusioni në mes të prototipeve dhesistemeve përfundimtare; prototipet nuk janëprodukte përfundimtare të cilat “duhet vetëmedhe pak përpunuar”; është e nevojshme tëkontrollohen gabimet dhe të krijohenmekanizmat e mbrojtjes; shfrytëzuesit ipranojnë vetitë e prototipeve sipërfundimtare, edhe pse ato do të largohen, kështu që krijohet konflikt me ekipin zhvillues
- Është një mundësi e modelimit automatik të procesit të zhvillimit të sistemevesoftverike- Zvogëlohet mundësia e gabimit me futjen e transformimeve më parë tëdefinuara me të cilat specifikimi formal përkthehet në produkt i cili dorëzohet- Modelimi shndërrohet në zgjedhje të sekvencës së transformimit (sekvencaruhet në shënimin formal në projekt) për të arritur qëllimin e projektit.
Balzer,1985.
ModeliModeli me me transformimtransformim(1)(1)
ruhet në shënimin formal në projekt) për të arritur qëllimin e projektit.
Specifikimiformal
Reviziioni sipas kërkesave
Kërkesat Sistemi i dorëzuar
Testimi
transformimi N.........
Shënimi formal në zhvillim
transformimi 2
transformimi 1
- Transformimet tipike
• Pkalimi prej një mënyre të paraqitjes të të dhënave nëmënyrën tjetër
• Algoritmet e ndryshme
ModeliModeli me me transformimtransformim(2)(2)
• Algoritmet e ndryshme• Metodat e opimizimit• Përkthimi
- Modeli premtonte shumë
- Problemi: specifikimi formal nuk është lehtë të krijohet
Boehm,1986.
ModeliModeli me me sspiralepirale (1)(1)
� Kujdeset për rreziqet ekzistuese
� Aktivitetet e zakonshme në zhvillimin e softverit� Aktivitetet e zakonshme në zhvillimin e softveritzëvëndësohen me analizën e riskut
� Kombinohen modeli kaskadik me atë me prototip
� Përdoret në zhvillimin e sistemeve të medha dhe tështrenjta.
� Modeli paraqet zhvillim iterativ në katër iteracione:
1. kërkesat dhe planifikimi i ciklit jetësor
2. Planifikimi i zhvillimit
3. Planifikimi i integrimit dhe testimit
4. implementimi
ModeliModeli me me sspiralepirale (2)(2)
4. implementimi
� Secili iteracion përfshin një rreth të plotë dhe kalon nëpër katër kvadrante:
kvadranti 1: përcaktimi i qëllimeve,alternativave dhe kufizimeve
kvadranti 2: evaluimi i alternativave, identifikimi dhe vlerësimi i rrezikut
kvadranti 3:Zhvillimi dhe verifikimi me testim
kvadranti 4: planifikimi i iteracionit të ardhshëm
1 2
ModeliModeli me me sspiralepirale (3)(3)
start
4 3Plan i dorëzimit
Plan i zhvillimit
Integrimi dhetestimet
Pricipiet e punësKërkesatplani i zhvillimit
+- Zvogëlimi i riskut; sistemizhvillohet me punimin e
-- Zbatim i kufizuar; modeli nuk është ipërshtatshëm për projekte më të vogla, por
ModeliModeli me me sspiralepirale (4)(4)
zhvillohet me punimin e prototipit për karakteristikatkryesore, e pastaj në bazë tëtestimit të prototipevezhvillohenndryshimet në sistem; kështuzvogëlohen rreziqet
- Kontrolli i mirë i shpenzimeve;meqenëse prototipet janë tëvogëla, vlerësohen lehtëshpenzimet
- Pesëmarrja aktive epjesëmarrësve
përshtatshëm për projekte më të vogla, pormë mirë punon te projektet komplekse
- Njohuri të domosdoshme mbi riskun; ështëe nevojshme njouria e madhe mbi risqeteventuale; futja e riskut i rritë shpenzimet e me këtë rriten edhe shpenzimet në zhvillimine sistemit
- Model i komplikuar; Protokoli i zhvillimit idefinuar saktësisht është vështirë tërealizohet
Rational Software (IBM),1996
- Rational Unified Process është proces adaptiv i zhvillimit me përdorim të
përgjithshëm
- Organizata zhvilluese i selekton elementet e RUP-it dhe e formon procesin e zhvillimit i cili është më i konvenueshëm
RUP RUP -- RaRattionaionall UniUniffieiedd PPrroocceessss (1)(1)
formon procesin e zhvillimit i cili është më i konvenueshëm
- Procesi iterativ orientohet në arkitekturën dhe udhëhiqet ngarastet e shfrytëzimit
- Proces mirë i strukturuar në të cilin në mënyrë të qartë dihet kush, çfarë dhe si duhet të punojë në projekt
- Lehtë përshtatet me projekte dhe ekipe zhvilluese të vogëla dhe të mëdha
- Metodologji e dëshirueshme për ekipet zhvilluese me përvojë.
Elementet ndërtuese të RUP-it:
- Rolet (KUSH) – definojnë bashkësinë e aftësive dhepërgjegjësive të ndërlidhura
RUP RUP -- RaRattionaionall UniUniffieiedd PPrroocceessss (2)(2)
përgjegjësive të ndërlidhura
- produktet (ÇFARË) – paraqesin rezultatin e detyrës sëcaktuar, përfshirë produktet, modelet, dokumentacionin, …
- Detyrat (SI) – përshkruajnë punën e ndarë për rolin i ciliprodhon ndonjë rezultat të dobishëm
Në secilin iteracion, detyrat janë të organizuara në 9 disiplina:
- Disiplinat inxhinierike• Modelimi biznesor• Kërkesat• Analiza dhe projektimi
RUP RUP -- RaRattionaionall UniUniffieiedd PPrroocceessss (3)(3)
• Analiza dhe projektimi• implementimi• testimi• Dorëzimi
- Disiplinat për përkrahje• Konfigurimi dhe menaxhimi me ndryshime• Menaxhimi me projekt• Rrethina (mjedisi)
RUP RUP -- RaRattionaionall UniUniffieiedd PPrroocceessss (4)(4)
RUP përcjellë ciklin jetësor të projetit në 4 faza:
1 faza e fillimit – kuptimi i qëllimeve dhe vëllimit të projektit, definimi i funksionalitetit, propozimi i së paku një zgjidhjeje, shqyrtimi i shpenzimeve dhe riskut; rezulati i fazës:pika kritike në të cilën vendoset se a është projekti i ekzekutueshëm dhe i kapshëm financiarisht (vazhdon | tërheqje)
2 faza e përpunimit – definimi i arkitekturës së sistemit, qëllimi është zvogëlimi i riskut në lidhje me kërkesat, arkitekturën dhe zgjedhjen e veglave; rezulati i fazës: pika kritike në të cilën shikohet se a ekziston plani detal për udhëheqje të projektit dhe minimizim të rrezikut (vazhdon | tërheqje ose ndryshime të konsiderueshme)
3 faza e konstruktimit – zhvillimi i komponentëve, testimi krijimi i dokumentacionit; rezulati i fazës: pika kritike në të cilën vendoset se a është versioni përfundimtar i gatshëm për dorëzim (vazhdon | tërheqje ose kthim në fazën paraprake)
4 faza e tranzicionit – dorëzimi i produktit të gatshëm; rezulati i fazës: pika kritike në të cilën vendoset se a është sistemi stabil, i kompletuar dhe i gatshëm për dorëzim(zhvillim i ri | kthim në fazën paraprake)
Fillimi Elaborimi Konstruktimi Tranzicijoni
Modelimibiznesor
Kërkesatanaliza dhe
projektimi
Implementimi
F A Z A T
NA
RUP RUP -- RaRattionaionall UniUniffieiedd PPrroocceessss (5)(5)
Implementimi
Testimi
Dorëzimikonfigurimi dhendryshimet nëmenaxhim të
projhektit
Rrethina
koha
Secila fazë mund të zhvillohet në më shumëinteracione
DI S
CI P
LI N
+- Nivel i lartë i përshtatjes; RUP vetëm rekomandon, asgjë nuk
-- Mospërshtatja me projekte tëvogëla tek të cilat fazat e fillimit dhe
RUP RUP -- RaRattionaionall UniUniffieiedd PPrroocceessss (6)(6)
-Iterativiteti i procesit; zhvillimgradual i cili bjen deri tezvogëlimi kohor dhe ishpenzimeve- Menaxhimi me riskun; orientonzhvillimin ka shpenzimet më tëvogëla
- iterativiteti i proceseve; mund të jetëedhe e metë në qoftë se udhëheqësitdhe ekipet zhvilluese janë pa përvojë, kështu që mund të vjen deri telëshimet e mëdha e deri edhe tetërheqja nga projekti
vetëm rekomandon, asgjë nukkërkon
vogëla tek të cilat fazat e fillimit dhetë përpunimit humbin në vlerë
MetodologjitëMetodologjitë AAggjjileile (1)(1)Agile Alleance,2001.
� janë paraqitur si rezistencë ndaj metodave tradicionale të modelimit
� potencojnë rolin e fleksibilitetit në zhvillimin efektiv dhe të shpejtë tësistemeve softverike
Manifesti i zhvillimit agjil të softverit
Personat dheinteraksionet nga
Procesi deri te veglat
Softver ipërdorshëm ngadokumentacioni
detal
Reaksioni nëndryshime nga
respektimi i planit
Bashkëpunimi me blerësit ngakontraktimet
Manifesti i zhvillimit agjil të softveritPrincipet
Në zhvillim më shumë vlerësohen:
MetodologjitëMetodologjitë AAggjjileile ((2)2)
Shembuj të metodologjive agjile
� XP (Extreme Programming) – bashkësi e teknikave me anë tëcilave potencohet kreativiteti i punës ekipore me anë tëadministrimit minimal
� Scrum – përshkruan metodat e udhëheqjes me kërkesat, iteracionet e zhvillimit, implementimin dhe dorëzimin
� Crystal – familja e metodologjive e fokusuar në ekipin zhvillimor, e jonë proceset dhe produktet; ekipi i mirë zhvillimor më së shumti ndikonnë cilësinë e produktit, ndërsa shpesh dorëzimet zvogëlojnë nevojenpër mesprodukte
ShënimShënim!!
KyKy prezantimprezantim ështëështë jokomercialjokomercial. . SlajdetSlajdet mundmund tëtë kanëkanë materialemateriale tëtë marramarra nganga InternetiInterneti, me , me përmbajtjepërmbajtjeprofesionaleprofesionale dhedhe shkencoreshkencore, , tëtë cilatcilat janëjanë tëtë mbrojturambrojtura me me LigjinLigjin e e tëtë drejtavedrejtaveautorialeautoriale. . KyKy prezentimprezentim do do tëtë përdoretpërdoret vetëmvetëm përkohësishtpërkohësisht gjatëgjatë shpjegimitshpjegimitautorialeautoriale. . KyKy prezentimprezentim do do tëtë përdoretpërdoret vetëmvetëm përkohësishtpërkohësisht gjatëgjatë shpjegimitshpjegimitnganga mësimdhënësimësimdhënësi me me qëllimqëllim tëtë informimitinformimit dhedhe udhëzimitudhëzimit tëtë studentëvestudentëve nënëpunëpunë tëtë mëtejmemëtejme profesionaleprofesionale, , kërkuesekërkuese dhedhe shkencoreshkencore dhedhe përpër qëllimeqëllime tëtëtjeratjera nuknuk mundmund tëtë përdoretpërdoret....................................................................................................................................................................................................................................................................................................................
Edmond Edmond [email protected]@gmail.com
33