You are on page 1of 38

Inxhinieria Softuerike

Proceset dhe Modelet Softuerike


FAKULTETI: SHKENCA KOMPJUTERIKE DHE INXHINIERI

Ramiz HOXHA & Fisnik PREKAZI © 2017 KOLEGJI UBT 1


Objektivat
Ky kapitull shtjellon aktivitetet koherente te prodhimit te softuerit, të cilat
krijojnë procesin softurikë
Në fund të këtij kapitulli duhet të jeni në gjendje të:
oKuptoni konceptet e procesit softurikë dhe modelet e këtoj procesi
oTe keni njohuri për tre modele të proceseve softurike gjenerike dhe kur mund të
përdoren ato
oKuptoni organizimin dhe kopjimin me ndryshime të proceseve softuerike

Ramiz HOXHA & Fisnik PREKAZI © 2017 KOLEGJI UBT 2


Procesi softuerikë /SDLC-definim (1)
Procesi softuerikë paraqet bashkësinë e aktiviteteve të ndërlidhura që udhëheqin
në drejtim të zhvillimit të produktit softuerikë.

Këto aktivitete përfshijnë zhvillimin e produktit softuerikë nga fillimi (baza) e deri në
përfundim.

Softuerët ekzistues zakonisht zhvillohen duke i zgjeruar dhe modifikuar pjesët


ekzistuese ose duke e konfiguruar dhe integruar softuerin në sistemin ekzistues.

Ramiz HOXHA & Fisnik PREKAZI © 2017 KOLEGJI UBT 3


Procesi softuerikë /SDLC-definim (2)
Ekzistojnë shumë modele të proceseve softuerikë, por të gjitha duhet të
posedojnë katër faza (grupe) të aktiviteteve që paraqesin bazën e
inxhinierisë softuerikë:
1. Specifikimi i softuerit – ku klienti dhe inxhinieri definojnë softuerin që duhet të
prodhohet dhe kufizimet e operimit të tije
2. Zhvillimi i softuerit – dizajnimi dhe programimi
3. Miratimi i softuerit – kontrollimi dhe sigurimi që softueri është ndërtuar kundrejt
kërkesave të klientit
4. Evoluimi (zhvillimi) i softuerit – ndryshimi dhe modifikimi i softuerit

Ramiz HOXHA & Fisnik PREKAZI © 2017 KOLEGJI UBT 4


Procesi softuerikë /SDLC-definim (3)
Aktivitetet e procesit janë komplekse dhe përmbajnë nën aktivitetet të shumta si
aprovimi i kërkesave, dizajni i arkitekturës, testimi i njësisë etj.
Po ashtu ekzistojnë aktivitete mbështetëse si dokumentimi i procesit softuerikë dhe
menaxhimi i projektit.
Proceset softuerike kanë shumë aktivitetet që mund të përmabjnë:
o Produktet, të cilat janë rezultatet e aktiviteti të një procesi;
o Rolet, të cilat pasqyrojnë përgjegjësitë e njerëzve të përfshirë në proces;
o Para dhe pas kushteve, të cilat janë deklarim të aprovimit nga klienti para dhe pas një aktiviteti të një
procesit, është aprovuar ose është prodhuar një produkt/rezultat.
(Aprivimi nga klienti: p.sh aktiviteti i dezajni në UML)

Ramiz HOXHA & Fisnik PREKAZI © 2017 KOLEGJI UBT 5


Proceset softuerike kanë shumë aktivitetet që mund të përmabjnë:

PARA DHE
PRODUKTI ROLI
KUSHTET PAS
• Rezultat i • Përgjegjësit • Aprovimi
aktivitetit, ëe nga
Hyrje personave klienti
per aktivitetit të involvuar • UML
tjeter

Ramiz HOXHA & Fisnik PREKAZI © 2017 KOLEGJI UBT 6


Aktivitetet e proceseve: Specifikimi i softuerit

Aktivitetet e proceseve:
Specifikimi i softuerit

Ramiz HOXHA & Fisnik PREKAZI © 2017 KOLEGJI UBT 7


Aktivitetet e proceseve: Dizajni dhe implementimi

Një model i përgjithshëm i


procesit të dizajnit

Një model i përgjithshëm i procesit të dizajnit


Ramiz HOXHA & Fisnik PREKAZI © 2017 KOLEGJI UBT 8
Aktivitetet e proceseve - Miratimi i softuerit
Software validation
Verifikimi dhe Validimi (V & V) ka për qëllim për të treguar se një sistem përputhet me
specifikimet e tij dhe plotëson kërkesat e klientit në sistemi.

Përfshin kontrollimin dhe rishikimin e proceseve dhe testimin e sistemit.

Testimi i sistemit përfshin ekzekutimin e sistemit me rastet testuese që rrjedhin nga


specifikimi i sistemit dhe për te dhënave reale që do të procesohen nga sistemi.

Testimi është aktiviteti më i zakonshëm V & V.

Ramiz HOXHA & Fisnik PREKAZI © 2017 KOLEGJI UBT 9


Aktivitetet e proceseve - Miratimi i softuerit

Fazat e Testimit

Ramiz HOXHA & Fisnik PREKAZI © 2017 KOLEGJI UBT 10


Aktivitetet e proceseve - Evuluimi i softuerit
Software evolution
Sftueri është e natyrshme fleksibël dhe mund të ndryshojë.
Ndërkohë që kërkesat ndryshojnë nëpërmjet ndryshimit të rrethanave të biznesit,
softueri që mbështet biznesin duhet të evoluojë dhe të ndryshojë.
Edhe pse ka pasur një ndarje në mes të zhvillimit dhe evolucionit (mirëmbajtjen) kjo
është gjithnjë e më e parëndësishme, si gjithnjë e më pak sisteme janë krejtësisht të
re.

30/10/2014 CHAPTER 2 SOFTWARE PROCESSES 11


Aktivitetet e proceseve - Evuluimi i softuerit

Aktivitetet e
proceseve -
Evuluimi i softuerit

Ramiz HOXHA & Fisnik PREKAZI © 2017 KOLEGJI UBT 12


P.sh Sistemet mund të klasifikohen:

Procesi
softuerikë/SDLC :
Llojet (1)

Ramiz HOXHA & Fisnik PREKAZI © 2017 KOLEGJI UBT 13


Procesi softuerikë/SDLC – Llojet (2)
Model-drejtuar në planifikim (Plan-Driven) vs. Agile

: Plan-Driven

Agile

Ramiz HOXHA & Fisnik PREKAZI © 2017 KOLEGJI UBT 14


Procesi softuerikë/SDLC – Llojet (3)
Model-drejtuar në planifikim (Plan Driven) - Proceset softuerike të drejtuara nga plani paraqet
një proces softuerikë të strukturuar, ku proceset janë të planifikuara paraprakisht. Përparimi
(progresi) i ndërtimit të softuerit matet kundrejt planit.

Agile - proceset softuerike ku planifikimi i ndërtimit të softuerit ndërtohet duke u zhvilluar paralel
me kërkesat e klientit. Pra plani ndryshon me ndryshimin e kërkesave dhe është më fleksibil

Nuk ekziston proces softuerikë ideal, për këtë arsye ato çdo here përmirësohen dhe tentohen të
standardizohen.

Ramiz HOXHA & Fisnik PREKAZI © 2017 KOLEGJI UBT 15


Modelet e Procesit Softuerikë

Ramiz HOXHA & Fisnik PREKAZI © 2017 KOLEGJI UBT 16


Modelet e Procesit Softuerikë (1)
Modeli i procesit softuerit / sistemit është një përshkrim i sekuencave të
aktiviteteve të ralizuara në implementimin e një projekt softuerik dhe renditjen relativ të
këtyre aktiviteteve.

Të gjitha modelet e procesit softuerikë paraqesin një proces nga një perspective
specifike, duke siguruar informacion të pjesshëm për atë proces.

Në një model paraqiten aktivitetet dhe rrjedha e tyre, por jo edhe rolet dhe
përgjegjësitë e njerëzve që marrin pjesë në ndërtim të softuerit.

Ramiz HOXHA & Fisnik PREKAZI © 2017 KOLEGJI UBT 17


Modelet e Procesit Softuerikë (2)
Ekzistojnë modelet e përgjithësuara (gjeneralë) të procesit softuerikë që
shpesh quhen paradigma të procesit.
oKëto paraqesin modele jo përfundimtare (definitive) por abstraksion të proceseve dhe
përdoren për të shpjeguar qasje të ndryshme të zhvillimit softuerikë.
oKëto mund të merren edhe si rrethinë punuese për modelet tjera duke i zgjeruar dhe
ndryshuar ato.

Ramiz HOXHA & Fisnik PREKAZI © 2017 KOLEGJI UBT 18


Modelet e Procesit Softuerikë-Llojet
Modeli Ujëvara (The waterfall model)
o Modeli-drejtuar në planifikim(Plan-driven). Të gjitha aktivitete themelore të inxhinieriesë softurike i merrë dhe i
ndan në faza
 Modeli zhvillimi rritës/në rritje (Incremental development)
o Specifikimi, zhvillimi dhe testimi(validimi) ndërthuren. Mund të jetë model-drejtuar në planifikim ose i agile
o Krijimi i versioneve të ndryshme duke i zhvilluar vazhdimishtë
Modeli i orientuar në ripërdorim (Integration and configuration/Reuse oriented SWE)
o Sistemi fokusuar në integrimin e komponentëve ekzistues të konfigurueshëm. Mund të jetë model-drejtuar në
planifikim ose i agile
Në praktikë, shumica e sistemeve të mëdha zhvillohen duke përdorur një proces që përfshin
elementë nga të gjitha këto modele.

Ramiz HOXHA & Fisnik PREKAZI © 2017 KOLEGJI UBT 19


Fazat e modelit të ujëvarës(Waterfall) (1)
Ka faza të ndara të identifikuara në modelin e ujëvarë:
o Analiza dhe definimi i kërkesave
o Dizajnimi i sistemit dhe softuerit
o Implementimi dhe testimi i njësisë
o Testimi i Integrimi dhe i sistemit
o Operimin dhe mirëmbajtjen
Pengesa kryesore e modelit të ujëvarë është vështirësia e akomodimit të ndryshimeve
pasi procesi është duke u zhvilluar. Në parim, një fazë duhet të jetë i përfunduar para se
të lëvizin/fillojm në fazën e ardhshme.

Ramiz HOXHA & Fisnik PREKAZI © 2017 KOLEGJI UBT 20


Fazat e modelit të ujëvarës(Waterfall) (2)
Modeli i parë – (Royce, 1970)
o Bazohet në proceset e inxhinierisë së sistemit
o Ndryshe quhet “Software life cycle” – Cikli i jetës së
softuerit
Fazat e modelit të o Krijonë ujëvar duke ra nga një fazë në tjetrën
ujëvarës(Waterfall) (2) o Është i model-drejtuar në planifikim

Ramiz HOXHA & Fisnik PREKAZI © 2017 KOLEGJI UBT 21


Fazat e modelit të ujëvarës(Waterfall) (3)
1. Analiza dhe dëfinimi i kërkesave: Shërbimet, kufizimet dhe qëllimet e sistemit janë krijuar
duke u konsultuar me përdoruesit e sistemit. Ato më pas janë të dëfinura në detaje, dhe do të
shërbejë si specifikimet e sistemit.
2. Dizajnimi i sistemit dhe softuerit: Procesi i dizajnimit të sistemeve i ndan kërkesat haruerik
dhe kërkesat softuerike të sistemit duke krijuar një arkitekturë të përgjithshme të sistemit.
Dizajni i softuerit përfshin identifikimin dhe përshkrimin e themelor abstrakt të softuerit dhe
relacioneve ndërmejt tyre.
3. Implementimi/Zbatimi dhe testimi i njësive: Gjatë kësaj faze, dizajni i softuerit realizohet si
një grup programesh ose njësish programore. Testimi i njësisë përfshin verifikimin se çdo njësi
a i plotëson specifikimet e tyre të përcaktuar në kërkesat e sistemit.

Ramiz HOXHA & Fisnik PREKAZI © 2017 KOLEGJI UBT 22


Fazat e modelit të ujëvarës(Waterfall) (4)
4. Testimi i integrimit dhe i sistemit: Njësitë ose programet individuale të programit integrohen
dhe testohen si një system në tersi/plotë për të siguruar që kërkesat e softuerit janë plotësuar.
Pas testimit, softuerit i sistemi i dorzohet klientit.
5. Operimi dhe mirëmbajtja: Normalisht (edhe pse jo domosdoshmërisht), kjo është
faza më e gjatë e ciklit jetësor (SDLC’s). Sistemi është instaluar dhe vihet në përdorim
praktik. Mirëmbajtja përfshin korrigjimin e gabimeve të cilat nuk janë identifikuar në
fazat e hershme të ciklit jetësor, duke përmirësuar zbatimin e njësive të sistemit dhe
duke rritur shërbimet e sistemit kur kërkohen kërkesa të reja.

Ramiz HOXHA & Fisnik PREKAZI © 2017 KOLEGJI UBT 23


Problemet e modelit të ujëvarës (1)
Ndarja e jo-flexibile e projektit në faza të veqanta e bën të vështirë t'i përgjigjet
kërkesave të klientëve për ndryshime.
o Prandaj, ky model është i përshtatshëm vetëm kur kërkesat janë të definuara dhe ndryshimet do të
jenë shumë të kufizuara gjatë procesit të dizajnimit.
o Pak sisteme biznesi kanë kërkesa të qëndrueshme (mire të definuara).

Modeli i ujëvarë përdoret kryesisht për projekte inxhinierike të sistemeve të


mëdha/kritike ku një sistem zhvillohet në disa vende.
o Në këto rrethana, natyra e modelit të drejtuar në planifikim të ujëvarë ndihmon në koordinimin e
punëve.

Ramiz HOXHA & Fisnik PREKAZI © 2017 KOLEGJI UBT 24


Problemet e modelit të ujëvarës (2)
Ky model duhet të përdoret kur kërkesat janë mirë të kuptuara dhe nuk
ndryshojnë shumë

Ramiz HOXHA & Fisnik PREKAZI © 2017 KOLEGJI UBT 25


Modeli rritës - incremental (1)
Modeli bazohet në idenë e zhvillimit të një versioni
inicial dhe më pas ndryshimin e e këtij versioni deri te ai
final
Modeli rritës – o Pjesë e qasjes Agile
o Çdo version rritës përmban disa nga funskionet e nevojshme për
incremental (1) klientin

Ramiz HOXHA & Fisnik PREKAZI © 2017 KOLEGJI UBT 26


Modeli rritës – incremental (2)
Përparësitë ndaj modelit ujëvara janë:
oShpenzimet e akomodimit të ndryshimeve të kërkesave të klientit zvogëlohen
oPranohet një reagim nga ana klientit në fazat e mëhershme para se të programohet
oPjesë të softuerit mund të dorëzohen dhe të fillohet puna me shpejt
Mangësitë nga ana menaxheriale:
oProcesi nuk është i dukshëm, pra nuk dokumentohen proceset çdo here
oStruktura e sistemit dëmtohet për çdo version
oProbleme me sisteme të medha

Ramiz HOXHA & Fisnik PREKAZI © 2017 KOLEGJI UBT 27


Përfitime e implementimi të modelit rritës
Kostoja e akomudimi në rast të ndryshimit të kërkesave të konsumatorëve është zvogëluar.
o Sasia e analizës dhe dokumentacionit që duhet të ripërpunohet është shumë më vogël se sa kërkohet me
modelin e ujëvarës.
Është më e lehtë të marrësh reagimet nga klientët mbi atë se qka është zhvilluar ose është
bërë.
o Konsumatorët mund të komentojnë në ate së qka ofron sistemi softuerik në fazën përkatëse të demostruar
dhe të shohin se sa është implementuar/zbatuar
Ofrohet mundesia më e shpejtë ose form rapide të zbaimi/përdorimit të softuerit të nevojshume
për konsumatoret.
o Konsumatorët janë në gjendje të përdorin dhe për të fituar vlerën nga softueri më herët se është e mundur me
një proces i ujëvarës.

Ramiz HOXHA & Fisnik PREKAZI © 2017 KOLEGJI UBT 28


Inxhinieria softurike e orientuar në ripërdorim (1)
Bazuar në ripërdorimin e softuerit ku sistemet janë të integruara nga komponentët
ekzistues ose aplikacionet e sistemit (ndonjëherë të quajtura COTS -Kommercial-off-the-
shelf systems).
Elementet e ripërdorura mund të konfigurohen për të përshtatur sjelljes dhe
funksionalitetin së tyre me kërkesat e një përdoruesi
Ripërdorimi tani është qasja standarde për ndërtimin e shumë llojeve të sistemit të
biznesit
o Ripërdorimi është mbuluar më thellë në Kapitullin 15.

Ramiz HOXHA & Fisnik PREKAZI © 2017 KOLEGJI UBT 29


Inxhinieria softurike e orientuar në ripërdorim (2)
 Shumica e projekteve softurike ripërdorin ndonjë zhvillim
 Me zhvillimin e softuerëve është ritë nevoja për ripërdorim

Ramiz HOXHA & Fisnik PREKAZI © 2017 KOLEGJI UBT 30


Inxhinieria softurike e orientuar në ripërdorim (3)
1. Analiza e komponentëve: Marrë parasysh specifikimet e kërkesave, një kërkim është
ralizuar për komponentët te nevojshme për të i implementuar ate specifik. Zakonisht,
nuk ka përputhshmëri të saktë, komponentët që mund të përdoren ofrojnë vetëm disa
nga funksionalitetet e kërkuara.
2. Modifikimi i kërkesave: Gjatë kësaj faze, kërkesat janë analizuar duke përdorur
informacionin rreth komponentëve që janë identifikuar. Ato pastaj modifikohen për të
reflektuar për komponentët në dispozicion. Kur modifikimet janë të pamundura,
aktiviteti i analizës së komponentëve mund të ri-futen për të kërkuar zgjidhje
alternative.

Ramiz HOXHA & Fisnik PREKAZI © 2017 KOLEGJI UBT 31


Inxhinieria softurike e orientuar në ripërdorim (4)
3. Dizajni i sistemit me ripërdorimin: Gjatë kësaj faze, frameworka e sistemit është
projektuar ose një framework ekzistuese është ripërdorur. Dizajnerët marrin parasysh
komponentët që përdoren përsëri dhe organizojnë framworken për t‘e zgjedhur këtë.
Duhet të dizajnohet një softuer i ri nëse komponentët e ri-përdorshume nuk janë në
dispozicion.
4. Zhvillimi dhe integrimi: Softueri që nuk mund të sigurohet nga outsource do te
zhvillohet dhe komponentët dhe sistemet Commercial-off-the-shelf janë të integruara
për të krijuar sistemin e ri. Integrimi i sistemit, në këtë model, mund të jetë pjesë e
procesit të zhvillimit dhe jo një aktivitet i veçantë.

Ramiz HOXHA & Fisnik PREKAZI © 2017 KOLEGJI UBT 32


Inxhinieria softurike e orientuar në
ripërdorim (5)

Inxhinieria softurike e
orientuar në ripërdorim
(4)

Ramiz HOXHA & Fisnik PREKAZI © 2017 KOLEGJI UBT 33


Llojet e softuerit të orientuar në ripërdorim
Tre tipe të komponentëve të softuerëve që mund të ripërdoren
1. Sisteme softuerike standarte (stand-alone) që janë konfiguruar për përdorim në
një mjedis të caktuar.
2. Koleksione të objekteve që janë zhvilluar si paketat që do të integrohet me
framework-et të komponentëve si .NET ose J2EE.
3. Shërbimet e uebit që janë zhvilluar sipas standardeve të shërbimit dhe të cilat janë
të disponueshme për metoda që komunikojn në largëtesi (remote method).

Ramiz HOXHA & Fisnik PREKAZI © 2017 KOLEGJI UBT 34


Fazat e Testimit
Testimi i komponentëve
oKomponentët individualë testohen në mënyrë të pavarur;
oKomponentët mund të jenë funksione ose objekte ose grupime koherente të këtyre
entiteteve.
Testimi i sistemit
oTestimi i sistemit në tërësi. Testimi i vetive emergjente është veçanërisht i
rëndësishëm.
Testimi i klientit
oTestimi me të dhënat e klientit për të kontrolluar që sistemi i plotëson nevojat e klientit.

Ramiz HOXHA & Fisnik PREKAZI © 2017 KOLEGJI UBT 35


Fazat e testimit in a plan-driven software
process (V-model)

Ramiz HOXHA & Fisnik PREKAZI © 2017 KOLEGJI UBT 36


Kopjimi me ndryshimin
Janë dy qasje për uljen e kostos në ripunim:
1. Shmangja e ndryshimit – dergon prototip dhe e hedh
2. Toleranca ndaj ndryshimeve – zhvillim rrites
Ekzistojnw dy lloje kryesore të kopjimit me ndryshim:
1. Prototipimi i sistemit
2. Dorëzimi inkremental

Ramiz HOXHA & Fisnik PREKAZI © 2017 KOLEGJI UBT 37


Referencat
Kapitulli 2: Software Processes

Ramiz HOXHA & Fisnik PREKAZI © 2017 KOLEGJI UBT 38

You might also like