Software System Development and Management - Leksioni 6

34
Zhvillimi Zhvillimi dhe dhe menaxhimi menaxhimi i sistemeve sistemeve softverike softverike Profesor: Dr.sc. Edmond Beqiri 6. Metodologjitë e zhvillimit të sistemeve softverike • Faza e zhvillimit • Metodologjitë 1

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

-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

JuJu falënderojfalënderoj nënëvëmendjevëmendje!!

PPyetjeyetje??

34