The words you are searching are inside this book. To get more targeted content, please make full-text search by clicking here.
Discover the best professional documents and content resources in AnyFlip Document Base.
Search
Published by Fitim Guri, 2019-04-11 06:34:03

TIK klasa 12 zgjedhore

TIK klasa 12 zgjedhore

Zhvillimi i aplikacioneve, software-ve dhe sistemeve

5.6 Metoda e zhvillimit waterfall

Nxënësi/ja: Situatë

-- identifikon metodën e Cilat janë fazat nëpër të cilat duhet të kalojë metoda e zhvillimit
zhvillimit waterfall, waterfall? Cilat janë avantazhet dhe disavantazhet e metodës
waterfall?
-- përcakton pikat e dobëta
dhe të forta të metodës Model zhvillim
waterfall,
Zhvillimi i programeve kërkon planifikimin e një procesi që në
-- përcakton ku aplikohet hapat e para të krijimit të tij deri në hapat e fundit të pranimit
metoda waterfall. nga përdoruesit sëbashku me mirëmbajtjen e programit. Modeli
i zhvillimit përcakton një strategji që do të realizojë zhvillimin e
Fjalë kyç: sistemit. Modeli i zhvillimit zgjidhet duke u bazuar në natyrën e

metoda zhvillimi, waterfall.

aplikimit, metodave dhe mjeteve që do të përdoren, kontrollin që kërkohet dhe produktet që do të
lëshohen. Zhvillimi i një software mund të karakterizohet nga katër fazat e mëposhtme:

Metoda e zhvillimit Waterfall

Metoda e zhvillimit Waterfall është një model sekuencial ku output-i i secilës fazë shërben si input për
fazën tjetër, duke lejuar procesin e zhvillimit të software të rrjedhë si një ujvarë (waterfall). Kështu faza
e mëparshme duhet të përfundohet në mënyrë të suksesshme përpara se të kalohet në fazën tjetër.

Ky model për shkak se nuk pranon ndryshimet është i përshtatshëm vetëm në rastin kur kërkesat janë
të përcaktuara qartë që në fazën e analizës dhe specifikimit të kërkesave dhe do të ndryshojnë shumë
pak në kohë. Metodologjia Waterfall aplikohet pasi lejon ndarjen e punëve në analistë, dizenjues
sistemesh, programues dhe testues. Modeli Waterfall përdoret në të gjitha projektet të cilat kanë
çështje apo probleme të cilat janë të kuptueshme shumë mirë, për një projekt në kohë të shkurtër ose
për automatizimin e një kornize (framework-u) ekzistues.

151

Zhvillimi i aplikacioneve, software-ve dhe sistemeve

Medota Waterfall ilustrohet nga diagrama e mëposhtme
Analiza(specifikimi i kërkesave) përcakton funksionalitetet e kërkuara dhe veprimet
që duhet të ketë projekti përfundimtar. Analiza drejtohet nga pritshmëritë që kanë
përdoruesit përfundimtar për sistemin.
Dizenjimi zakonisht ka dy hapa: arkitektura e përgjitshme e
sistemit e ndjekur nga një dizenjimi detajuar i moduleve të
sistemit dhe ndërfaqet.
Njësitë e sistemit zhvillohen sipas një
dizenjimi të detajuar. Këto njësi testohen
si një njësi përpara se të integrohen në të
gjithë sistemin.

Testimi kryhen testimin e funksionaliteteve
për secilën komponente dhe më pas teston të
gjithë sistemin e integruar.

Produkt i modifikuar.

Fazat e metodologjisë Waterfall

Në mënyrë të përmbledhur avantazhet dhe disavantazhet e modelit waterfall janë si më poshtë:

Avantazhet Disavantazhet

I lehtë për t’u përdorur, i thjeshtë Nuk lejon rishikim dhe kur produkti është në fazë
dhe i kuptueshëm testuese. Është shumë e vështirë të kthehesh në fazat
e mëparshme dhe të ndryshosh diçka gjatë fazës së
analizimit të kërkesave.

E lehtë për t’u menaxhuar. Risku dhe pasiguria janë të mëdha.

Faza të përcaktuara mirë. Nuk sugjerohet për projekte komplekse.

Funksionon mirë për projekte të vogla Ndryshime të kërkesave nuk realizohen në asnjë fazë.
ku kërkesat janë shumë të qarta.

Aftësi që zhvillohen
- Aftësohet në identifikimin e fazave të metodës së zhvillimit waterfall.

Kontroll njohurish

1. Çfarë quajmë një model zhvillimi? Cilat janë katër fazat nëpër të cilat kalon ai?
2. Cilat janë fazat e modelit të zhvillimit waterfall? Cilat aktivitete kryhen në secilën fazë?
3. Cilat janë avantazhet e përdorimit të modelit të zhvillimit Waterfall? Kur sugjerohet të

përdoret ky model?
4. Cilat janë disavantazhet e përdorimit të modelit të zhvillimit Waterfall?

152

Zhvillimi i aplikacioneve, software-ve dhe sistemeve

5.7 Metoda e zhvillimit agile

Nxënësi/ja: Situatë

-- identifikon metodën e Cilat janë fazat nëpër të cilat duhet të kalojë
zhvillimit agile; metoda e zhvillimit agile? Cilat janë avantazhet dhe
disavantazhet e metodës agile?
-- përcakton pikat e dobëta
dhe të forta të metodës

agile; Metoda e zhvillimit agile
-- përcakton ku aplikohet
Metoda e zhvillimit agile nënkupton zhvillimin e shpejtë. Nëpërmjet
metoda agile. kësaj mënyre zhvillimi synohet të kënaqen klientët. Metoda Agile
ofron dorëzim të hershëm dhe gjatë gjithë kohës të software, ekipe
Fjalë kyç: të vogla pune dhe thjeshtësi në zhvillimin e software. Modeli i
zhvillimit Agile aplikon ndryshime të reja dhe mund të implementojë
metoda zhvillimi, agile.

karakteristika të reja sepse zhvilluesit nuk humbasin shumë kohë. Aktivitetet bazë të metodës së
zhvillimit të shpejtë formojnë një bashkësi minimale detyrash që e shtyjnë ekipin e projektit drejt
ndërtimit dhe shpërndarjes së software. Aktivitetet bazë janë si në diagramën e mëposhtme:

Aktivitetet bazë të metodës së zhvillimit agile

Procesi i shpejtë (Agile)

Proceset e shpejta kanë këto karakteristika:
• Është e vështirë të parashikohen që në fillim kërkesat që do të qëndrojnë të pandryshueshme

dhe ato që do të ndryshojnë. Gjithashtu është shumë e vështirë të përcaktohet nëse prioritetet e
klientëve në lidhje me funksionalitetet e software do të ndryshojnë apo jo?
• Modelimi dhe ndërtimi janë faza të cilat janë të lidhura ngushtë në shumë modele software. Ato
duhet të kryhen njëra pas tjetrës në mënyrë që të provohen modelet kur krijohen. Gjithashtu është
e vështirë të parashikohet niveli i modelimit përpara se të bëhet ndërtimi që bazohet mbi atë model.
• Nga pikëpamja e planifikimit analiza, modelimi, ndërtimi dhe testimi nuk janë të parashikueshme.

Për të realizuar këtë, një proces agile duhet të ketë aftësi përshtatëse dhe duhet të përshtatet gjatë
gjithë kohës. Për të realizuar këtë, ekipi zhvillues duhet të ketë një komunikim të vazhdueshëm me
klientin. Çdo ndryshim në software duhet të dorëzohet shpesh, në intervale jo shumë të gjata, në
mënyrë që të mund të ketë përshtatje në kohë nëse ka ndryshime. Kjo mënyrë i jep mundësi klientit të
vlerësojë rregullisht software-t e marra, të japë vazhdimisht mendimin dhe të ndikojë në përshtatjet
që do të kryhen në këtë proces.

153

Zhvillimi i aplikacioneve, software-ve dhe sistemeve

Prototipi 1 Prototipi 2 Prototipi final

VIZIONI

IMPLEMENTIM DHE MIRËMBAJTJE

Veçoritë kryesore të Agile

Modeli i zhvillimit software të Agile përfshin 4 veçori kryesore:
1. Vlerësimi i individëve dhe ndërveprimeve kundrejt proceseve dhe mjeteve: Për zhvillimin e shpejtë

ka më shumë rëndësi anëtarët e ekipit dhe individët që merren me projektin sesa fokusimi në
proceset tradicionale, mjete apo teknologji.
2. Puna për zhvillimin e software ka përparësi mbi dokumentacionet e detajuara. Procesi i shpejtë
përqëndrohet në zhvillimin e karakteristikave dhe funksionaliteteve të produktit gjatë gjithë kohës
dhe në rritje.
3. Bashkëpunimi me klientin është më i rëndësishëm sesa formalitetet dhe negociatat në kontrata.
Klienti është shumë i përfshirë në procesin
e prodhimit të produktit.
4. Modeli Agile i përgjigjet me shpejtësi
ndryshimeve dhe ka aftësi në përfshirjen
e ndryshimeve në ciklin e zhvillimit të
produktit.

Disavantazhet e modelit Agile

Në rastin e lëshimit të programeve të mëdha, është e vështirë vlerësimi i punës që duhet në fillim të ciklit
të zhvillimit të software. Gjithashtu kemi mungesë në procesin e dizenjimit dhe dokumentacioneve të
nevojshme. Është shumë i vështirë zhvillimi nëse klientët nuk e dinë së cilat janë rezultat përfundimtare
që kërkohen.

Aftësi që zhvillohen
- Aftësohet në identifikimin e metodës së zhvillimit agile dhe se kur përdoret ajo.

Kontroll njohurish
1. Cilat janë fazat e modelit të zhvillimit Agile?
2. Cilat janë karakteristikat e modelit të zhvillimit Agile? Kur sugjerohet të përdoret ky

model?
3. Cilat janë veçoritë kryesore të modelit të zhvillimit Agile?
4. Cilat janë disavantazhet e përdorimit të modelit të zhvillimit Agile?

154

Zhvillimi i aplikacioneve, software-ve dhe sistemeve

5.8 Mënyrat e përshkrimit të veprimeve
për një zgjidhje

Nxënësi/ja: Situatë
Cilat elementë do të përdoren për të përshkruar
-- identifikon si ndërtohet me detaje tiparet dhe veprimet për një zgjidhje të
diagrama e procesit; dhënë?

-- identifikon kornizat dhe Procesi
rregullat e biznesit;
Një proces është një bashkësi e veprimeve të kërkuara për të
-- identifikon zhvilluar një software. Veprimet e procesit paraqiten në figurën e
dokumentacionin për mëposhtme:
klientin dhe zhvilluesin.

Fjalë kyç:

proces, diagram,
kornizë, rregulla biznesi,
dokumentim.

Diagrama e procesit

Diagrama e procesit përshkruan rrjedhën e proceseve dhe veprimeve për
një zgjidhje të dhënë. Kjo diagramë lexohet nga lart-poshtë ose në drejtimin
e shigjetave. Vendimet në diagramën e proceseve i korrespondojnë
strukturave if ose while dhe vizatohen nëpërmjet rombeve. Aktivitetet ose
proceset e diagramës së proceseve paraqiten nëpërmjet drejtkëndëshave
dhe të dhënat hyrëse dhe dalëse nëpërmjet paralelogramit.

Procesi i software

Fillimisht përcaktohet korniza (framework) e procesit duke përcaktuar një
numër veprimesh që janë të zbatueshme për çdo proces, pavarësisht nga Diagrama e procesit
përmasat apo kompleksiteti. Më pas përcaktohet një bashkësi veprimesh si
një bashkësi detyrash inxhinierike, objektivat e projektit, produktet e
Korniza e proçesit punës, pikat e sigurimit të cilësisë që lejojnë përshtatjen e aktiviteteve

Aktivitete të kornizës të kornizës sipas karakteristikave të projektit software dhe kërkesave
-Detyra/Veprime të ekipit të projektit.
-Objektiva, produkte Në fund, procesi mbulohet nga aktivitete çadër si sigurimi i cilësisë,
-Sigurimi i cilësisë menaxhimi i konfigurimit të software, matjet etj. Aktivitetet çadër
janë të pavarura nga aktivitetet e kornizës dhe zhvillohen përgjatë
Aktivitete të çadrës procesit.

155

ZZhhvviilllliimmii ii aapplliikkaacciioonneevvee,, ssooffttwwaarree--vvee ddhhee ssiisstteemmeevvee

Pseudokodi

Gjuha e cila përdoret për të shprehur një zgjidhje quhet pseudokod, për shkak se ajo është e ngjashme
në disa aspekte me kodin e gjuhëve të programimit. Pseudokodi konsiston në një sekuencë të
instruksioneve në gjuhë natyrale, ku secili instruksion fillon me një folje. Ai gjithashtu përfshin strukturat
e kontrollit if. .then..else për përzgjedhjen dhe while për përsëritjen.

Rregullat e biznesit

Rregullat e biznesit në zhvillimin e aplikacioneve nënkuptojnë zhvendosjen e plotë të procesit të
zhvillimit në një nivel abstraksioni. Nuk do të ndërtohet baza e të dhënave apo do të shkruhet kodi,
por do të përshkruhet çfarë duhet të bëjë sistemi në mënyrë të pavarur nga teknologjia dhe më pas të
gjenerohet sistemi.

Dokumentimi

Dokumentimi kërkohet për përdoruesit dhe zhvilluesit për të përshkruar me detaje veprimet për një
zgjidhje të dhënë. Përdoruesit kërkojnë informacion rreth instalimit të software ose si mund ta përdorin
atë.
Dokumentacioni i përdoruesit mbështetet mbi pyetje si “çfarë” dhe “si”. Zhvilluesit kërkojnë
dokumentacion në mënyrë që të vazhdojnë zhvillimin dhe të kryejnë procesin e mirëmbajtjes. Zakonisht
dokumentimi përshin specifikimin, dizenjimin e arkitekturës, dizenjim të detajuar, kod, komente mbi
kodin, testimin, rezultatet e testimit dhe planin e projektit.

Dokumentimi i projektit
Aftësi që zhvillohen
- Kupton se si të përdorin diagramet e procesit, pseudokodet, kornizat, rregullat e biznesit, dhe dokumentacionet
për të përshkruar me detaje tiparet dhe veprimet për një zgjidhje të dhënë.

Kontroll njohurish
1. Si ndërtohet diagrama e procesit? Ku ndryshon ajo me pseudokodin?
2. Cilat janë pjesët përbërëse të procesit të software?
3. Çfarë nënkuptojnë rregullat e biznesit?
4. Çfarë informacionesh duhet të përmbajë dokumentacioni për përdoruesit dhe zhvilluesit

e software?

156

ZZhhvvilillilmimiiiiaapplilkikaaccioionneevvee,,ssooffttwwaarree--vveeddhheessisistteemmeevvee

5.9 Diagrama e procesit

Nxënësi/ja: Situatë

-- ndërton diagramën e Si mund të ndërtojmë një diagramë procesi? Cilët
procesit, janë elementët përbërës të kesaj diagrame dhe kur
mund ta ndërtojmë atë?
-- kupton se kur përdoret
diagrama e procesit, Diagrama e procesit ofron një paraqitje vizuale të hapave në
një proces. Elementët të cilët përfshihen në diagramë janë: një
-- identifikon simbolet që
përdoren në diagramë.

Fjalë kyç: sekuencë veprimesh, materiale ose shërbime që hyjnë ose dalin në
një proces, veprimet që duhet të ndërrmerren, njerëzit që duhet të
diagrama e procesit, përfshihen, etj. Procesi mund të jetë një proces ndërtimi, një proces
simbole.

administrimi ose shërbimi ose një plan i një projekti.

Përdorimi i Diagramës së procesit

Diagrama e procesit mund të përshtatet për qëllime të ndryshme. Diagrama mund të përdoret:
• për të kuptuar më mirë se si kryhet një proces,
• për të studiuar një proces në mënyrë që ta përmirësojmë atë,
• për t’i komunikuar të tjerëve se si një proces kryhet,
• për një komunikim më të mirë midis njërëzve të përfshirë në të njëjtin proces,
• për të dokumentuar një proces,
• për të planifikuar një projekt.

Simbolet e përdorura në Diagramën e Procesit

Përcakton drejtimin e rrjedhës nga njëri hap ose veprim në një tjetër.

Kusht i cili bazohet në një pyetje. Pyetja shkruhet brenda rombit.

Përcakton pritje ose vonesë.

Përcakton lidhjen me një tjetër faqe ose diagramë.
Përcakton input-e ose output-e.
Tregon një dokument.

Simbole të alternative për fillimin dhe fundin e diagramës së procesit.

157

Zhvillimi i aplikacioneve, software-ve dhe sistemeve

Shembull
Të ndërtohet diagrama e cila tregon procesin që ndjek një klient për marrjen e marrjen e parave
në bankë?

Aftësi që zhvillohen
- Aftësohet në ndërtimin e diagramave të procesit.

Kontroll njohurish
1. Përse përdoret diagrama e procesit dhe cilat janë simbolet e përdorura në të?
2. Çfarë tregon diagrama e mëposhtme? Përse mund të përdoret ajo?
3. Të ndërtohen diagramat e procesit për një sistem i cili do të përdoret për marrjen e

notave nga nxënësit. Të ndërtohet procesi i marrjes së notës nga ana e nxënësit dhe
procesi i vendosjes së notës nga ana e mësuesit.

158

Zhvillimi i aplikacioneve, software-ve dhe sistemeve

5.10 Ndërveprimi kompjuter-njeri

Nxënësi/ja: Situatë
Si mund të ndërtojmë një diagram procesi? Cilët
-- kupton konceptet bazë të janë elementët përbërës të kësaj diagrame dhe
ndërveprimit kompjuter- kur mund ta ndërtojmë atë?
njeri;
Ndërveprimi kompjuter-njeri
-- kupton karakteristikat
e stileve të ndryshme të Ndërfaqja e përdoruesit tregon çfarë shikon përdoruesi kur ato
ndërfaqes së përdoruesit duhet të përdorin programin. Gjithashtu ekzistojnë shumë shembuj
si atë të komanduar nga të sistemeve kompjuterike që nuk janë të lehta për t’u përdorur.
njeriu, WIMP, format dhe
gjuhët natyrale.

Fjalë kyç:

kompjuter-njeri,
ndërfaqe, WIMP, forma.

Në ditët e sotme, shumë ndërfaqe janë kthyer në ndërfaqe grafike
përdoruesi. Ndërfaqet grafike përdorin dritaret grafike me butona,
kursorë në faqe, etj. Ndërtimi i ndërfaqeve të tilla ka përmirësuar
shumë ndërfaqet e përdoruesit por ende mbetet një problem ndërtimi
i ndërfaqeve të përdoruesit të thjeshta dhe të lehta për t’u përdorur.

Dizenjimi i ndërfaqes së përdoruesit Ndërveprimi kompjuter-njeri

Dizenjimi i ndërfaqes së përdoruesit njihet ndryshe si ndërveprimi kompjuter-njeri (HCI- Human-
computer interaction) dhe ka kontribute nga shkencat kompjuterike, psikologjia, sociologjia dhe
ergonomisë. Shkencëtarët janë të shqetësuar se si qëniet njerëzore e perceptojnë botën, mendojnë dhe
sillen në nivel individual. Sociologët studiojnë grupet e njerëzve dhe ndërveprimet e tyre. Ergonomia
lidhet me dizenjimin e sistemeve të lehtë për tu përdorur. Inxhinierët e sistemeve kanë përgjegjësi
për dizenjimin e ndërfaqes së përdoruesit si dhe dizenjimin e programeve për të implementuar atë
ndërfaqe. Të gjitha këto disiplina sjellin perspektiva të ndryshme në dizinjemin e ndërfaqes kompjuter-
njeri.

Stilet e ndërfaqes së përdoruesit

Mënyra se si përdoruesit i tregojnë kompjuterit se çfarë ato dëshirojnë të bëjnë ka ndryshuar shumë.
Në ndërveprimin kompjuter-njeri WIMP (Windows, icons, menus dhe pointer) përfshin dritare, ikona,
menu dhe tregues. Në figurat e mëposhme janë ilustuar elementët e WIMP.

Dritare Ikona Menu Pointer

159

Zhvillimi i aplikacioneve, software-ve dhe sistemeve

Format mund të jenë mjaft efiçiente nëse disa të dhëna do të jepen si input-e në një sistem. Lëvizja
midis fushave të ndryshme mund të kryhet nëpërmjet shigjetave, tastit tab, etj. Më poshtë mund të
shikojmë një shembull forme e cila përdoret për të marrë të dhëna mbi nxënësit e një shkolle.

Informacion mbi nxënësin Emri i nënës:
Emri i babait:
Emri: Klasa:
Mbiemri: Shkolla:
Adresa:
Datëlindja:

Shembull forme
Gjuhët natyrore janë pjesë e ndërfaqes së përdoruesit ku foljet dhe shprehjet veprojnë si mjete
kontrolluese për krijimin, selektimin dhe modifikimin e të dhënave në një aplikacion.

Aftësi që zhvillohen
- Aftësohet në konceptimin e ndërveprimit kompjuter-njeri dhe karakteristikave të stileve të ndryshme të
ndërfaqes së përdoruesit si ajo e komanduar nga njeriu, WIMP, format dhe gjuhët natyrale.

Kontroll njohurish
1. Çfarë kuptoni me ndërveprimin kompjuter-njeri.
2. Tregoni se cilat janë karakteristikat e stileve të ndërfaqes së përdoruesit?
3. Mendoni për dy sisteme të cilat janë të vështira për t’u përdorur. Gjithashtu mendoni

për karakteristika të një programi që ju përdorni por që është i vështirë për tu përdorur.

160

Zhvillimi i aplikacioneve, software-ve dhe sistemeve

5.11 Testimi i të dhënave

Nxënësi/ja: Situatë
Si mund të ndërtojmë një diagram procesi? Cilët janë elementët
-- teston të dhënat; përbërës të kësaj diagrame dhe kur mund ta ndërtojmë atë?
-- krijon plan testimi;
-- ndan të dhënat në Nëpërmjet testimit Black Box (funksional) testohen një grup
të dhënash që përfaqësojnë të dhëna nga të gjitha të dhënat e
të dhëna normale, mundshme. Më pas ekzekutohet programi, jepen të dhënat dhe
të pavlefshme dhe shikohet se cili është rezultati që marrim nga programi. Ky lloj i
ekstreme. testimit quhet testimi i kutisë së zezë sepse nuk kemi njohuri sesi
funksionon programi, por kontrollohen vetëm të dhënat hyrëse dhe
Fjalë kyç:

kompjuter-njeri,
ndërfaqe, WIMP, forma.

të dhënat dalëse. Në këtë testim marren parasysh vetëm inputet dhe rezultatet. Programi mendohet
sikur është vendosur në një kuti të zezë. Testimi Black Box njihet gjithashtu si testimi funksional sepse
përdoruesi njeh vetëm funksionin e programit dhe jo se si ai funksion.

Testimi Black Box Krijimi i planit të testimit

Plani i testimit

Plani i testimit do të përfshijë përcaktimin e të dhënave testuese
hyrëse dhe të dhënave të pritshme përpara se të kryhet testimi.
Pas ekzekutimit të programit, japim të dhënat dhe kontrollojmë
ndryshimet midis të dhënave të parashikuara dhe rezultatit
aktual. Të dhënat test gjithashtu duket të kontrollojnë nëse
përjashtimet janë menaxhuar në program sipas specifikimeve të
programit.

Përcaktimi i të dhënave normale, të pavlefshme dhe ekstreme

Supozojmë se kemi një program i cili përcakton nëse një person mund të pajiset me leje drejtimi për
automjete apo jo, në varësi të moshës së tij. Mosha minimale e pajisjes me leje drejtimi është 18 vjeç.
Testimi nuk mund të kryhet me të gjitha të dhënat, por zgjidhen disa të dhëna në varësi të të natyrës së
të dhënave hyrëse në program. Kjo njihet si particion. Në programin e lejes së drejtimit mund të vëmë
re që të dhënat ndahen në dy particione:
1. numrat më të vegjël se 18,
2. numrat më të mëdhenj ose të barabartë me 18.
Particioni i parë përfshin numrat nga 0-17 dhe particioni i dytë përfshin numrat nga 18 e në infinit.

161

Zhvillimi i aplikacioneve, software-ve dhe sistemeve

Particionimi i të dhënave

Për qëllime testimi, numrat brenda të njëjtit particion konsiderohen ekuivalent më njëri tjetrin. Kështu
numri 15 është ekuivalent me çdo numër brenda particionit 0-17 dhe numri 25 është ekuivalent me çdo
numër brenda particionit të dytë. Kështu do të kryhen testime me ekuivalent me çdo numër brenda
particionit. Kështu mund të realizojmë dy teste: testi i parë me të dhëna të pavlefshme dhe testi i dytë
me të dhëna normale.

Numri i testit Të dhënat Rezultati
1 15 Nuk pajiset me leje drejtimi
2 25 Pajiset me leje drejtimi

Për këto dy teste nëse rezultati i pritshëm përputhet me rezultatin që marrim nga ekzekutimi i programit
atëherë mund të themi se për të dhënat normale dhe të pavlefshme programi funksionon siç duhet.
Por këto dy teste nuk kanë përcaktuar të dhënat ekstreme siç janë mosha 17 dhe mosha 18. Për këtë
arsye do të krijohen dhe dy testime të tjera:

Numri i testit Të dhënat Rezultati
3 17 Nuk pajiset me leje drejtimi
4 28 Pajiset me leje drejtimi

Kështu rregullat për përzgjedhjen e të dhënave testuese janë:
• Ndarja e të dhënave hyrëse.
• Përzgjedhja e një të dhëne nga çdo particion si të dhëna normale dhe të pavlefshme.
• Përzgjedhja e të dhënave ekstreme.

Aftësi që zhvillohen

- Aftësohet në testimin e të dhënave duke krijuar një plan testimi dhe duke përdorur të dhënat normale,
të pavlefshme dhe ato ekstreme.

Kontroll njohurish

1. Çfarë është testimi black box dhe si funksionon ai?
2. Cilat janë rregullat për përzgjedhjen e të dhënave testuese. Jepni shembull.
3. Në një program loje shahu, lojtari duhet të përcaktojë lëvizjen si numër rreshti dhe

kolone. Duke marrë si input vendodhjen aktuale dhe duke zgjedhur lojtarin si Mbreti,
Mbretëresha, Torra, Oficeri, Kali. Të kontrollet nëse destinacioni është i vlefshëm apo jo?
Krijoni një plan testimi dhe përcaktoni të dhënat normale, të pavlefshme dhe ato
ekstreme.

162

Zhvillimi i aplikacioneve, software-ve dhe sistemeve

5.12 Abstraksioni

Nxënësi/ja: Situatë
Abstraksioni është koncepti kryesor sepse nuk
-- koncepton abstraksionin mund të konceptohet i gjithë sistemi software-
në lidhje me software; ik ose hardware-ik. Si arrihet abstraksioni?

-- koncepton abstraksionin Abstraksioni
në lidhje me hardware;
Fuqia e abstraksionit është shumë e rëndësishme. Nëpërmjet
-- kupton lidhjen midis abstraksionit ne kuptojmë se çfarë bëjnë komponente të tjera
abstraksionit, ndërfaqes por nuk është e rëndësishme të kuptojmë se si e realizojnë atë.
dhe zbatimit. Abstraksioni është pjesë e parimeve të dizenjimit në inxhinierinë
software.
Fjalë kyç:

abstraksion, hardware,
software, ndërfaqe.

Abstraksioni në software

Abstraksioni është koncepti kryesor në programimin e strukturuar, sepse një njeri nuk mund të
konceptojë ose të kuptojë të gjithë sistemin kompleks. Në të njëjtën kohë mund të kuptohet vetëm
një pjesë e sistemit. E vetmja mënyrë për të zgjidhur këtë kontraditë është perceptimi i strukturës së
përgjithshme. Zgjidhja është përdorimi i abstraksionit. Nëpërmjet abstraksionit çdo sistem mund të
përshkruhet si nënsisteme të cilat mund të shikohen si një “kuti e zezë” detyra e të cilave mund të
kuptohet lehtësisht por detajet e tyre janë të padukshme. Kështu në mënyrë që të dizenjohet dhe të
kuptohet një zgjidhje në detaje në çdo nivel, nuk është e nevojshme të kuptohet se si funksionon çdo
nivel. Ne dimë se çfarë ato kryejnë por jo se si e bëjnë këtë gjë. Kështu njerëzit kanë një mundësi më
të mirë të kuptojnë zgjidhjen. Abstraksioni mund të përshkruhet si një grup atributesh dhe sjelljeje. Siç
tregohet në figurën e poshtme, atributeve të një abstraksioni i përkon një grup të dhënash (variabla,
tabela, lista, strukturë të dhënash komplekse, etj,) dhe sjellje e një abstraksioni i përkon një grupi
metodash (veprime, funksione, veprime).

Abstraksioni në sofware

Abstraksioni në hardware

Abstraksioni në hardware i lejon programuesve të shkruajnë aplikacione me performancë të lartë dhe
të pavarura nga platforma. Procesi i abstraktimit të pjesëve hardware-ike shpesh kryhet nga perspektiva
e CPU. Çdo CPU ka një arkitekturë me një grup instruksionesh. Ky grup instruksionesh paraqesin disa
veprime që mund të kryejë makina dhe janë në dispozicion për përdorim nga programet e asemblerit
ose kompiluese. Një nga funksionet kryesore të një kompilatori është lejimi i shkrimit të programeve

163

Zhvillimi i aplikacioneve, software-ve dhe sistemeve

në një gjuhë niveli të lartë pa u kujtesur për instruksionet specifike të CPU. Shtresa e abstraksionit
hardware është një shtresë abstraksioni e implementuar në software, midis pjesës fizike hardware
të një kompjuteri dhe pjesës software që operon në atë kompjuter. Funksioni i saj është fshehja e
ndryshime në hardware nga kerneli i sistemit të operimit. Kështu nuk duhet të kryhen ndryshime kur
operohet në sisteme me hardware të ndryshme.

Lidhja midis abstraksionit, ndërfaqes dhe zbatimit

Në shumë gjuhë, abstraksioni zakonisht përfshin pjesë të ndërfaqes duke përdorur ndërfaqe programimi
aplikacioni (API- application programming interface) ose library. Gjatë shkrimit të programeve që
përdorin ndërfaqe, ne nuk kujdesemi se si funksioni implementohet, por interesohemi vetëm në vlerat
input ose output. Klasa bazë paraqet se çfarë ofron ndërfaqja, ndërsa klasa e derivuar paraqet se si ajo
do të zbatohet ose implementohet.
Në procesin e zbatimit/implementimit i kushtojmë
rëndësi se si diçka kryhet. Duhet gjithashtu të shikojmë
se si shpejtësia e kodit dhe efiçensa e tij përcaktohen
nga parametra hardware-ikë. Ka shumë mënyra për të
zgjidhur një problem, dhe zbatimi përcakton cila është
mënyra më e mirë dhe si mund ta kryejmë atë?

Ndërfaqja dhe implementimi
Aftësi që zhvillohen
- Aftësohet në konceptimin e abstraksionit në lidhje me software dhe hardware si dhe kupton lidhjen
midis abstraksionit, ndërfaqes dhe zbatimit.

Kontroll njohurish
1. Si konceptohet abstraksioni në lidhje me software? Si kalohet nga aspekte të botës reale-

abstraksion-programim?
2. Çfarë është shtresa e abstraksionit hardware dhe ku implementohet ajo?
3. Si mundet që programuesit të shkruajnë aplikacione të pavarura nga platforma?
4. Cila është lidhja midis abstraksionit, ndërfaqes dhe zbatimit?

164

Zhvillimi i aplikacioneve, software-ve dhe sistemeve

5.13 Modelimi i sistemit

Nxënësi/ja: Situatë

-- koncepton elementët e Cilat janë zgjidhjet me shumë nivele dhe elementët e përdorur në të?
programimit të përdorur
për të zbatuar zgjidhje Modelimi i sistemit është transformimi i modelit të analizës në
me shumë nivele; modelin e sistemit. Modelimi i sistemit është hapi i parë për të
përcaktuar mënyrën se si do të të ndërtohet së brendshmi sistemi.
-- koncepton se si Modelimi i sistemit jep produktet e mëposhtme:
programe, hardware apo - Objektivat e modelimit që përshkruajnë cilësitë e sistemit që
software të ndryshëm,
mund të lidhen së duhet të optimizojnë zhvilluesit. Objektivat derivohen nga
bashku për të krijuar një kërkesat jofunksionale.
sistem më të madh dhe - Arkitektura e sistemit përshkruan ndarjen në nënsisteme sipas
një zgjidhje me shumë përgjegjësive të secilit nënsistem, lidhjet e tyre me hardware
nivele. dhe politika kryesore vendimarrrje si kontrolli i rrjedhës së
punës, kontrolli i aksesit, ruajtja e të dhënave.
Fjalë kyç:

nivel, MVC, klient-server,
tre shtresa.

- Rastet e kufizimit kufi që përshkruajnë konfigurimet e sistemit, ngritjen e sistemit, mbylljen e tij,
çështjet e menaxhimit të rasteve të veçanta.

Lidhjet software/hardware

Zhvilluesit duhet të kenë parasysh: cili është konfigurimi hardware i sistemit? Cila pjesë është përgjegjëse
për një funksion të caktuar? Si realizohet komunikimi midis pjesëve të sistemit?

Cilat shërbime realizohen nëpërmjet komponentëve ekzistues? Si
realizohet abstraksioni? Përcaktimi i lidhjeve hardware/software
shpesh çon në shtimin e nënsistemeve të reja, të cilët do të
transferojnë informacionin nga një pjesë në një tjetër etj.

Kuptojnë elementët e programimit të përdorur për të zbatuar
zgjidhje me shumë nivele.

Kuptojnë se si programe, hardware apo software të ndryshëm, Software/ Hardware
mund të lidhen së bashku për të krijuar një sistem më të madh dhe
një zgjidhje me shumë nivele.

Niveli

Një nivel është një grupim i nënsistemeve që ofrojnë shërbime dhe
që kanë lidhje me njëri-tjetrin, të cilët mund t’i ofrojnë edhe duke
përdorur shërbime nga nivele të tjera. Nivelet janë të rradhitura,
ku çdo nivel mbështetet tek niveli nën të, por nuk ka dijeni për
nivelin që ndodhet nën të.

Modeli Model/View/Controller (MVC)

Modeli MVC synon të përmirësojë shkrimin, leximin dhe testimin e kodit duke e ndarë atë në tre
kategori:

165

Zhvillimi i aplikacioneve, software-ve dhe sistemeve

1. Modeli
Modeli përmban të gjitha të dhënat e aplikacionit dhe ka aftësinë për të manipuluar të dhënat. Modeli
nuk komunikon me Pamjen, por komunikon me Kontrollin.
2. View
Pamja është gjithçka që ne shikojmë në browser, zakonisht e krijuar me HTML, CSS dhe Javascript. Nuk
ka asnjë ndërveprim me Modelin.
3. Controller
Kontrolluesi merr kërkesat nga browser-i, kontakton Modelin për të dhënat që mund të ketë nevojë dhe
më pas do t’i shfaqen të dhënat përdoruesit në Pamje. Kontrolluesi është lidhja midis një përdoruesi
dhe sistemit.

Modeli Model/View/Controller (MVC)

Modeli Klient-Server

Një rrjet Klient-Server përbëhet nga të paktën dy kompjutera, ku njëri ekzekuton një program duke
kërkuar shërbime dhe tjetri i proceson këto kërkesa. Një ATM është një klient i programuar që lidhet me
serverat e bankës. Pasi është vendosur një lidhje me ATM, programet në serverat e bankës procesojnë
dhe përmbushin kërkesat për informacion balance ose tërheqje të parave.
Server Socket – programet e serverit dhe klientit duhet të krijojnë një lidhje midis tyre në rrjet. Klienti
dhe serveri lidhen nëpërmjet metodave të përcaktuara nga standartet TCP/IP (Transmission Control
Protocol/Internet Protocol). Gjithashtu serveri ka një numër porte TCP që identifikon tipin e shërbimit
që ofron. Kështu programi i klientit kërkon për portën 20 ose 21 kërkon shërbime për transferimin e
skedarëve.
Klienti – pasi realizohet lidhja, klienti i dërgon serverit të dhëna dhe instruksione të nevojshme që do
t’i nevojiten serverit për të kryer kërkesat. Aplikacioni i klientit merr të dhënat nga serveri, i shfaq ato,
i ruan në pajisje, i printon ose ja dërgon klientëve të tjerë në rrjet.
Serveri – serveri kontrollon vazhdimisht rrjetin për të parë nëse një klient ka dërguar një kërkesë që ai
mund ta ofrojë.

Modeli Klient-Server

166

Zhvillimi i aplikacioneve, software-ve dhe sistemeve

Programimi në anën e klientit Programimi në anën e serverit

Veprime Gjuhë programimi Veprime Gjuhë programimi
HTML PHP
Dërgon kërkesë në server CSS Kërkon dhe kryen veprime
Javascript në bazë të dhënash C++
Vepron si ndërfaqe midis Akseson/shkruan skedarë
përdoruesit dhe serverit AJAX në server
Krijon faqe web
interaktive VBScript Strukturon aplikacionet web Java dhe JSP
Ndërvepron me një
hapësirë të dhënash Ndërvepron me servera të Python
lokale ose të përkoshme tjerë Ruby on Rails
Dërgon kërkesë për të Proceson inputet e
dhëna në server përdoruesit

Modeli me Tre-shtresa

Arkitektura me tre shtresa (nivele) i organizon nënsistemet me tre shtresa (nivele):
1. Shtresa e ndërfaqes – përfshin të gjitha objektet që komunikojnë drejtpërdrejtë me përdoruesin

duke përfshirë faqe interneti, dritare, forma, butona etj.
2. Shtresa e llogjikës së aplikimit – realizon procesimin dhe kontrollin sipas rregullave të parapërcaktuara

dhe njoftimet e pritura nga aplikacioni.
3. Shtresa e ruajtes së të dhënave – realizon ruajtje, aksesim dhe kërkesa për të dhëna nga serveri i

bazës së të dhënave.

Kontroll njohurish
1. Tregoni nëse shembulli i mëposhtëm është një model MVC apo klient-server?

Kur ju klikoni një faqe web, ju përdorni një motor kërkimi. Browser-i web është një program
klient i cili lidhet me serverin Web. Serveri Web pret për klientin të kërkojë një faqe web. Pasi
ai merr kërkesën, realizon një lidhje socket, lokalizon faqen web të kërkuar dhe ia dërgon
browser-i të përdoruesit nëpërmjet internetit.

167

Zhvillimi i aplikacioneve, software-ve dhe sistemeve

5.14 Veprimtari praktike - Zhvillimi i një sistemi informacioni
(2 orë)

Ky projekt synohet të realizohet në një grup prej 4-5 nxenësish.
Krijoni një projekt i cili synon të zhvillojë një sistem informacioni për të zgjidhur një problem të
caktuar.
Shembuj të projekteve që mund të zgjidhni:
a. sistem rezervimi,
b. një regjistër për ruajtjen e të dhënave,
c. një sistem komunikimi,
d. një sistem tregtimi online.
Zhvilloni sistemin e informacionit sipas hapave të mëposhtëm:
1. Përcaktoni problemin që kërkohet të zgjidhet.
2. Vlerësoni realizueshmërinë e projektit të zhvillimit softuerik nga ana:

a. teknike;
b. pperacionale;
c. ekonomike;
d. legale;
e. njerëzore.
3. Përcaktoni kërkesat funksionale dhe jofunksionale për sistemin e informacionit që do të
krijohet.
4. Ndërtoni diagramën Use Case e cila përshkruan rastet kryesore të përdorimit të sistemit
të informacionit.
5. Përcaktoni nëse do të zgjidhni metodën e zhvillimit waterfall ose agile. Përcaktoni
aktivitetet që do të ndiqni në secilën prej metodave të zhvillimit.
6. Ndërtoni diagramën e procesit për proceset kryesore të sistemit të informacionit të
zgjedhur.
7. Përcaktoni elementët karakteristikë të ndërfaqes së përdoruesit që do të përdorni.
8. Përcaktoni një plan testimi për të dhënat që do të testohen duke i ndarë të dhënat në të
dhëna normale, të dhëna të pavlefshme dhe ekstreme.
9. Përcaktoni se cilin model do të zgjidhni modelin Model/View/Controller, modelin Klient-
Server apo modelin me 3 shtresa për sistemin tuaj.
10. Ndërtoni bazën e të dhënave për sistemin e informacionit. Përcaktoni tabelat dhe lidhjet
midis tabelave.

168

Zhvillimi i aplikacioneve, software-ve dhe sistemeve

5.15 Vlerësim njohurish (2 orë)

1. Cila është arkitektura e Von Neumann?

2. Çfarë është kujtesa cache?

3. Si lexohen/shkruhen të dhënat në një Hard Disk?

4. Cilat janë karakteristikat kryesore të disa sistemeve operimi?

5. Cilët janë faktorët kryesorë që ndikojnë në rritjen e përformancës së procesorit?

6. Përdorni algoritmin Merge Sort për të rendur vargun e numrave të mëposhtëm:

5, 9, 10, 48, 40, 11, 78

7. Për çfarë përdoret O-ja e madhe dhe cilat janë mënyrat e përcaktimit të kompleksitetit të
algoritmit?

8. Ndërtoni një program në Python që ruan në ndryshore emrin, mbiemrin dhe i afishoni ato.

9. Shkruani një program në Python që lexon nga përdoruesi dy numra dhe afishon modulin
e tyre.

10. Shkruani një program që përcakton sa elementë zero janë në një listë elementesh.

11. Shkruani një program në Python që shton një element të ri në fund të tabelës.

12. Ndërtoni një funksion i cili kthen vlerën absolute të një numri.

13. Ndërtoni portën llogjike dhe tabelën e vërtetësisë për F=X.Y.

14. Thjeshtoni shprehjet Z = ĀB̄+ ĀB duke ndërtuar tabelën e vërtetësisë dhe hartën Karno.

15. Konsideroni relacionet e mëposhtme për një bazë të dhënash që mban gjurmët e
udhëtimeve të biznesit të shitësve të një zyre shitjeje:

SHITËS (Shites_Id, Emri, Viti_Fillimit, Dept_Nr)
UDHËTIM (Shitës_Id, Nga_Qyteti, Në_Qytet, Data_Nisjes, Data_Kthimit, Udhëtim_ID)
SHPENZON (Udhëtim_ID, Llogari_ID, Sasia)
Përcaktoni çelësat kryesorë dhe të huaj për këtë skemë duke bërë supozimet e duhura.

16. Konvertoni FILIALI (Filial_ID, Filial_Adresa, (ISBN, Titulli, Autori, Botuesi, Numri_Kopjeve))
në 3NF, duke treguar gjithë hapat e ndërmjetëm.

17. Jepet skema relacionale e përbërë nga tre relacione:
Marinar(Mid, Memri, grada, mosha)
Varka(Vid, Vemri, ngjyra)
Rezervim(Mid, Vid, dita)
Për secilën nga pyetjet e mëposhtme të shkruhen shprehjet përkatëse në SQL.
a. Afishoni të gjitha detajet e varkave.

169

Zhvillimi i aplikacioneve, software-ve dhe sistemeve

b. Afishoni të gjitha detajet e varkave me ngjyrë blu.
c. Afishoni ngjyrat e ndryshme të varkave.
d. Afishoni detajet e marinarëve me moshë më madhe se 30 dhe më të vogël se

40.
18. Cilat janë dy mënyrat e kopresimit? Ku përdoret secila prej tyre?
19. Identifikoni shtresat e modelit TCP/IP.
20. Ku dallojnë adresat IP me ato MAC?
21. Si ndërtohet diagrama e procesit? Ku ndryshon ajo me pseudokodin?
22. Cilat janë avantazhet e përdorimit të modelit të zhvillimit Waterfall? Po Agile?
23. Çfarë kuptoni me cikël të zhvillimit të software? Cilat janë fazat e tij?

170

Zhvillimi i aplikacioneve, software-ve dhe sistemeve


Click to View FlipBook Version