You are on page 1of 10

Inxhinieri Software Leksion 1

TEMA: PRODUKTI SOFTWARE

Në këtë leksion...

 Çfarë është Inxhinieria Software, pse është e domosdoshme dhe fushat e aplikimit.
 Këndvështrim historik mbi Inxhinierinë Software. Evoluimi i saj në vite.
 Çfarë është një produkt software realisht, tiparet e tij dhe kategorizimi.
 Disa mite mbi software.

1) HYRJE NË INXHINIERINE SOFTWARE

1.1 Çfarë është?

Qëllimi i industrisë së prodhimit të software-ve është prodhimi i aplikacioneve me cilësi të lartë, që


plotësojnë kërkesat e klientëve dhe përdoruesve, që jetojnë gjatë, që janë lehtësisht të përdorshëm dhe
që kanë sa më pak gabime. Ndërtimi i një software-i të tillë ideal është një proces relativisht i vështirë.
Për të qenë të suksesshëm në këtë industri nevojitet një disiplinë specifike gjatë dizenjimit dhe zhvillimit
të software-it. Duhet pra një këndvështrim inxhinierik mbi të gjithë procesin.

Shumë kompani dhe individë ende zhvillojnë software në mënyrë kaotike, bazuar në një analizë të
varfër, çka çon në marrjen e rezultateve jo të kënaqshëm siç janë software që dështojnë shpesh dhe që
nuk arrijnë të përmbushin kërkesat e pritura. Për të optimizuar këto dukuri aplikohet Inxhinieria
Software.

Disa përkufizime:

“Inxhinieria Software është ndërtimi dhe përdorimi i parimeve të shëndoshë inxhinierik për të përftuar
software ekonomikë, të besueshëm dhe që punojnë në mënyrë efiçente në makina reale.”- Fritz Bauer,
1969.

“Inxhinieria Software është studimi i një mënyre sistematike, të disiplinuar për të zhvilluar, operuar dhe
mirëmbajtur software” – IEEE (Institute of Electrical and Electronics Engineers) 1993

1.2 Pse është e domosdoshme?

Shumë prej studiuesve të industrisë së zhvillimit të software i kanë karakterizuar problemet që lindin
gjatë zhvillimit të një software si një “krizë”. Vetë lindja e Inxhinierisë Software i dedikohet të
ashtuquajturës “Krizës së Software”(Software Crisis) që shqetësoi programuesit dhe organizatat në vitet
60’. Kriza konsistonte në:

 Software me performancë dhe besueshmëri të ulët.


 Software të papërfunduar në kohë.
 Software me kosto të lartë mbi kufijtë e parashikuar.
 Software që nuk jetonin gjatë dhe që nuk kënaqnin kërkesat e përdoruesve.

1
Inxhinieri Software Leksion 1

Një sërë konferencash u mbajtën për zgjidhjen e saj. Në konferencën e mbajtur nga NATO në 1968 u
arrit në përfundimin se zhvillimi i software duhet të jetë një aktivitet inxhinierik.

Që prej asaj kohe është diskutuar gjatë mbi Inxhinierinë Software. Diskutimi është shtrirë midis
organizatave, kompanive dhe individëve. Sot nuk vihet më në dyshim domosdoshmëria e kësaj disipline.
Debati vazhdon të zhvillohet mbi mënyrën e aplikimit të saj, mjetet dhe metodat që duhet të përdoren
për maksimizimin e cilësisë dhe minimizimin e faktorit kosto+kohë.

Kriza e Software ndodhi në kushtet e kërkesave gjithnjë e në rritje për software dhe pamundësisë për t’i
plotësimin e tyre në kushtet e burimeve të pamjaftueshme njerëzore, kohore dhe financiare.

“Kërkesa për software është rritur më shumë se aftësia jonë prodhuese. Për më tepër kombi ka nevojë
për software shumë herë më të përdorshëm, të besueshëm dhe të fuqishëm se ata ekzistues. Në mënyrë
të rrezikshme ne po bëhemi të varur nga sisteme gjigant software-ikë sjellja e të cilëve jo gjithmonë
është e kuptueshme dhe që shpesh dështojnë në mënyrë të paparashikuar.” – Presidenti i Komitetit
Këshillues mbi Teknologjinë e Informacionit 1999

1.3 Aspekte historikë

Shumë libra i dedikohen dështimeve spektakolare të software-ve dhe dëmeve që kanë shkaktuar.

“The most likely way for the world to be destroyed, most experts agree, is by accident” - Nathaniel
Borenstein
“Shumica e ekspertëve bien dakord se mënyra më e mundshme për shkatërrimin e botës është
aksidenti.” - Nathaniel Borenstein

Gabimet, si në çdo fushë tjetër të shkencës janë të padëshirueshme por edhe jo plotësisht të
paevitueshme në të njëjtën kohe. Inxhinieria Softuer është ndoshta e vetmja disiplinë inxhinierike ku
gabimet parashikohen të ndodhin me siguri.

Disa shembuj të dështimeve të bujshëm të software-ve dhe statistika.

Sipas një studimi të IBM 1994 u arrit në përfundimin se:

 55% e projekteve kanë tejkaluar koston e parashikuar.


 68% e projekteve kanë tejkaluar afatet kohorë dhe janë dorëzuar me vonesë.
 88% e projekteve janë ridizenjuar në mënyrë thelbësore.

Sipas Departamentit të Statistikave mbi Punën,1997:

 Në çdo 6 sisteme të vënë në punë 2 janë anulluar.


 Probabiliteti i anullimit është 50% për sistemet e mëdha.
 Mesatarja e projekteve që tejkalojnë afatet kohorë është 50%.

Në vitet 1985-1987 u ndërtua një makinë e cila do të shërbente për radioterapi dhe që do të
kontrollohej nga një software. Nga hardware u hoq mekanizmi që suportonte dy funksione në të njëjtën

2
Inxhinieri Software Leksion 1

kohë, ndërkohë që edhe software nuk ofronte një tipar të tillë. Makina nuk arriti të menaxhonte dy
mënyra pune njëkohësisht: veprimtaria me rreze elektron dhe ajo me rreze X. Kjo shkaktoi disa vdekje si
rezultat i djegieve te pacientët. Shkaku i aksidentit ishte mungesa e njohurve të mjaftueshme të
programuesit mbi programimin paralel.

Raketa Ariane 5 e lëshuar në hapësirë në 1996 nga Agjensia Europiane Hapësinore arriti të qëndrojë
vetëm për pak momente në hapësirë dhe më pas u shkatërrua. Shkaku: Përjashtim i pamenaxhuar në
kodin Ada si rezultat i ndryshimeve fizike

Software i Anijes Hapësinore (Space Shuttle) i njohur ndryshe si gabimi Y2K

• Kostoja: $10 Billion, miliona dollarë më shumë se ç‘ishte planifikuar.


• Koha: 3 vjet me vonesë
• Cilësia: Lëshimi i parë i Columbia u anullua për shkak te një problemi në sinkronizim me 5
kompjuterat ne bord.
– Gabimi u kontrollua dhe u gjet të ishte tek ndryshimi që një programues kishte bërë 2
vjet më parë, duke ndryshuar një faktor ngadalësie të një interrupt handler nga 50 ne 80
miliseconda.
– Shanset që gabimi të ndodhte ishin shumë të vogla, aq sa gabimi nuk shkaktoi asnjë
problem gjate mijëra orëve të testimit.

Historia e Netscape Navigator

Browser-i i parë i përdorur gjerësisht në botë u krijua në Universitetin e Illinois në 1994. Pjesëmarrësit
në projekt bënë një punë të shpejtë por jo të pastër gjatë zhvillimit të tij. Gjithsesi brenda 8 muajve ekipi
nxori Netscape Navigator i cili punonte në tre platforma. Në të njëjtën kohë Microsoft punonte për
Internet Explorer, por e nxori produktin në treg vetëm pas një viti. Netscape vazhdoi të ishte dominues
për aq kohë sa nuk nevojiteshin tipare të reja.

Koha dhe konkurrenca me I Explorer kërkoi shtimin e tipareve të reja të tij gjë që shtoi kaosin në kodin
burim deri sa erdhi një çast kur ky i fundit u bë krejtësisht i pamenaxhueshëm. Dizenjimi i Netscape
Navigator nuk ishte aq largpamës sa të lejonte jetëgjatësi të tij nën trysninë e kërkesave gjithnjë e në
rritje të përdoruesve. Ekipit iu desh të paguante koston e të shkruarit kod pa kaluar më parë në
modelim. Ndërkohë që Microsoft vazhdonte të fitonte betejën deri sa Netscape u zëvendësua tërësisht
nga Internet Explorer.

1.4 Inxhinieria Software vs. Programim

Të inxhinierosh një software nuk do të thotë thjesht ta programosh atë. Inxhinieria Software nënkupton
në të vërtetë shumë punë analizuese dhe dokumentuese dhe më pak kodim. Zakonisht si inxhinierë
software caktohen individë kreativë, me ide të reja, që dinë të menaxhojnë mirë një projekt dhe që
sigurisht kanë përvojë të mjaftueshme në programim.

3
Inxhinieri Software Leksion 1

Inxhinieria Software:

 Përkufizon problemin e parashtruar për tu zgjidhur.


 Organizon ekipet përgjegjëse për zgjidhjen e tij.
 Analizon dhe teston gjatë gjithë ciklit jetësor(Software life-cycle).
 Ndërton një arkitekturë të mirë për software në analogji me drejtimet e tjerë inxhinierikë.

 Projekt i vogël  Projekt i madh


 Ju  Ekip
 Ndërton çfarë do  Ndërton çfarë të tjerët duan
 Një produkt  Familje produktesh
 Pak ndryshime te njëpasnjëshme  Shume ndryshime paralele
 Jetë-shkurtër  Jetë-gjatë
 I lirë  I kushtueshëm
 Pasoja të vogla  Pasoja të mëdha

1.2 Sfidat e Inxhinierisë Software

Inxhinieria Softuer e shekullit të 21 përballet me tri sfida kryesore:

1) Sfida e heterogjenitetit. Gjithnjë e më tepër sistemet kërkohen të operojnë si sisteme të


shpërndarë që punojnë në rrjeta që përfshijnë tipe të ndryshëm makinash dhe sistemesh.
Shpesh paraqitet e nevojshme që të integrohen softuerë të rinj me sisteme të vjetër ndonjëherë
të shkruar në gjuhë të ndryshme programimi. Sfida e heterogjenitetit është sfida e zhvillimit të
teknikave të reja për zhvillimin e softuerëve fleksibël.
2) Sfida e dorëzimit. Shumë prej metodave tradicionale të IS janë metoda që shpenzojnë shumë
kohë e cila është e nevojshme për të arritur cilësinë e kërkuar të softuerit. Por bizneset sot
ndryshojnë shumë shpejt dhe softuerët që i suportojnë ata duhet të ndryshojnë me të njëjtën
shpejtësi. Sfida e dorëzimit është sfida e shkurtimit të kohës së dorëzimit për sisteme të
mëdhenj dhe kompleksë pa rrezikuar cilësinë e softuerit.
3) Sfida e besimit. Meqenëse softuerët ndërhyjnë në jetën tonë në shumë mënyra është e
rëndësishme që njerëzit t’i besojnë atyre. Kjo është veçanërisht e rëndësishme në sistemet që
mund të aksesohen në distancë me anë të faqeve web ose shërbimeve web. Sfida e besimit
shtron kërkesën e zhvillimit të teknikave që e bëjnë softuerin të besueshëm për përdoruesit e tij.

4
Inxhinieri Software Leksion 1

1.3 Përgjegjësitë etike dhe profesionale në IS

Sikurse të gjitha disiplinat e tjera inxhinierike, edhe IS kryhet brenda disa kornizave sociale dhe ligjore të
cilat kufizojnë lirinë e inxhinierëve. Inxhinierët softuer duhet të pranojnë që puna e tyre përfshin
përgjegjësi më të gjera se sa vetëm aplikimi i aftësive të tyre teknike. Ata gjithashtu duhet të sillen në
mënyre etike dhe të përgjegjshme nëse duan që të respektohen si profesionistë. Aftësitë dhe njohuritë
nuk duhet të përdoren në mënyrë të pandershme duke cënuar kështu reputacionin e profesionit të
inxhinierisë softuer. Megjithatë ekzistojnë disa fusha ku standardet e sjelljeve të pranueshme nuk
kufizohen nga ligjet por nga nocioni i përgjegjshmërisë profesionale. Disa prej këtyre janë:

1) Konfidencialiteti. Inxhinierët softuer duhet të respektojnë konfidencialitetin e punonjësve ose të


klientëve të tyre edhe nëse nuk është nënshkruar ndonjë kontratë për këtë qëllim.
2) Kompetenca. Inxhinierët softuer nuk duhet të keqinterpretojnë nivelin e tyre të kompetencës. Ata
nuk duhet të pranojnë që të kryejnë punë për të cilat janë të ndërgjegjshëm që nuk janë
kompetentë.
3) Të drejtat e pronës intelektuale. Inxhinierët dhe kompanitë softuerë duhet të jenë në dijeni të ligjeve
për pronën intelektuale si p.sh patentat dhe të drejtat e autorit. Duhet të sigurohen që të mbrojnë
pronën intelektuale të punonjësve dhe të klientëve.
4) Keqpërdorimi i kompjuterit. Inxhinierët softuer nuk duhet t’i përdorin aftësitë e tyre teknike për të
keqpërdorur kompjuterat e njerëzve të tjerë. Keqpërdorimet e kompjuterave variojnë nga rastet më
të thjeshtë (si p.sh të luash lojëra në kompjuterin e punëdhënësit) deri në rastet më ekstreme
(infektimi i kompjuterave me viruse).

Në vendosjen e standarteve etike luajnë një rol të rëndësishëm edhe shoqëritë dheinstitutet
profesioniste si p.sh ACM, IEEE, British Computer Society etj. Këto shoqëri publikojnë kode etikë dhe
profesionalë që duhet të respektohen nga anëtarët e tyre. ACM dhe IEEE kanë kooperuar për të
prodhuar një kod praktike profesionale dhe etike të përbashkët. Ky kod ekziston në dy forma: formën e
shkurtuar dhe në formën e gjatë

5) PRODUKTI

2.1 Rëndësia e software në shoqërinë e sotme të informacionit

Software është i paevitueshëm në shoqërinë moderne të informacionit. Çdo veprimtari shoqërore apo
prodhuese varet prej sistemeve software. Biznesi dhe kërkimet shkencore drejtohen prej tyre. Software
përfshihen në sisteme të të gjitha llojeve: transport, mjekësi, telekomunikacion, ushtri, procese
industrialë, argëtim etj. Impakti është i pakundërshtueshëm për sa kohë që shoqëria i ka besuar
software-ve punën, mirëqenien, sigurinë madje edhe jetesën. Software duhet parë paralelisht edhe si
produkt edhe si mjet për të përftuar produktin. Roli i tij është kaq i rëndësishëm pasi na sjell produktin
më të rëndësishëm të kohës: informacionin.

Megjithatë roli i software dhe raporti i tij me hardware ka ndryshuar gjatë 50 viteve të jetës së tij.
Avancimet e teknologjisë hardware, rritja e aftësive llogaritëse kanë sjellë sisteme software
kompjuterikë më kompleks dhe më të sofistikuar.

5
Inxhinieri Software Leksion 1

Shpenzimet hardware kundrejt shpenzimeve software

50%
Rritje në raportin
performancë/çmim
20% për vit

5%

197 197 198 198 199 199

Software 5% /
Minis/Mainframes 20% / vit
PCs/Workstations 50% /

2.2 Tiparet e software

Formalisht software përkufizohet si:

1. Një tërësi instruksionesh që japin performancën dhe funksionin e dëshiruar gjatë ekzekutimit.
2. Struktura të dhënash që i mundësojnë programeve një manipulim të përshtatshëm të
informacionit.
3. Dokumente që përshkruajnë operimin dhe përdorimin e programeve.

Produkti Software është i ndryshëm nga produktet e tjera që njerëzit prodhojnë dhe ndërtojnë.
Software në ndryshim nga hardware është më tepër një element logjik se fizik, prandaj edhe ka
karakteristika që e dallojnë në mënyrë thelbësore nga hardware.

1. Software zhvillohet ose inxhinierohet. Ai nuk prodhohet në kuptimin klasik të fjalës. Ka


ngjashmëri midis këtyre aktiviteteve dhe burimet që përdoren janë të ngjashëm por
marrëdhëniet midis tyre si edhe këndvështrimi nga i cili ato shihen ndryshon. Kjo do të thotë se

6
Inxhinieri Software Leksion 1

projektet software nuk mund ttë menaxhohen në të njëjtën mënyrë sikurse edhe projektet e
tjerë prodhues.
2. Një softuer nuk ndikohet nga materialet fizikë. Nuk kufizohet nga ligjet e fizikës dhe as nga
procesi i prodhimit. Në një farë mënyrë kjo e lehtëson procesin e inxhinierimit të softuer duke
qenë se procesi nuk duhet të përballet me kufizime fizike. Megjithatë kjo mungesë kufizimesh
shpesh
pesh e bën softuerin shumë kompleks dhe rrjedhimisht të vështirë për tu kuptuar.
3. Software nuk vjetërsohet
rsohet dhe nuk dëmtohet siç mund të ndodhë me hardware. Figura më m
poshtë tregon shkallën e dëështimit të një software në varësi të kohës.

Një tjetër aspekt që tregon ndryshimin midis hardware dhe software nga pikëpamja pik e
vjetërsimit është aftësia
sia e zzëvendësimit nga pjesë të tjera. Nqs pjesë të ndryshme tët hardware
mund të zëvendësohen
sohen nga pjespjesë të reja kjo gjë nuk ndodh me software prandaj edhe
mirëmbajtja e software ësht
shtë më e vështirë.
4. Pjesa më e madhe e software jan janë të ndërtuar në varësi të klientit (custom-built)
(custom dhe jo
prodhim në seri ndonëse raste ttë tillë nuk përjashtohen. Kjo është edhe arsyeja pse kërkesat
k
për software janë më të larta se kkërkesat përr hardware dhe pse industria sot gjithnjë
gjithnj e më tepër
po drejtohet në inxhinierimin e komponent
komponentëve të ripërdorshëm.
5. Një produkt software mund ttë shumëfishohet në kopje identike në seri të së s njëjtës cilësi pa
pasur rrezik skarco.

2.3 Cili është ndryshimi midis Inxhinierisë Sofuer dhe Shkencave Kompjuterike

Shkencat Kompjuterike merren me teoritë dhe metodat mbi të cilat ndërtohen kompjuterat dhe
sistemet softuer, ndërsa Inxhinieria Softuer merret me problemet praktikë të prodhimit të softuer.
Megjithatë
jithatë për të inxhinieruar një softuer janë të nevojshme disa njohuri të mira në Shkencat
Kompjuterike. Megjithatë jo të gjitha teoritë elegante të Shkencave Kompjuterike janë zgjidhja më e
mirë për tu aplikuar në një program real.

7
Inxhinieri Software Leksion 1

2.4 Aplikacionet Software dhe kategorizimi i tyre.

Sa herë që ekziston një algoritëm për zgjidhjen e një problemi ky i fundit mund të nënshtrohet një
aplikacioni software për zgjidhjen e tij (bëjnë përjashtim këtu disa raste të problemeve të Inteligjencës
Artificiale). Përmbajtja e informacionit dhe përcaktueshmëria janë dy faktorë shumë të rëndësishëm që
ndikojnë në natyrën e një aplikacioni software.

 Përmbajtja e informacionit ka të bëjë me kuptimin dhe formën e informacionit input dhe


output që qarkullon në aplikacion. Shembuj të formave të mundshme të informacionit janë
skedarë, baza dhe struktura të dhënash, imazhe, inpute nga pajisjet periferike etj.
 Përcaktueshmëria e informacionit i referohet parashikueshmërisë së rendit dhe kohës së
shkëmbimit dhe manipulimit të informacionit. Aplikacionet që pranojnë një format të caktuar të
dhënash, që aplikojnë mbi to një algoritëm dhe instruksione të caktuar të renditur në kohë pa
ndërprerje quhen aplikacione determinantë. Një aplikacion quhet jo determinant nqs ka
përmbajtje variante të informacionit, ekzekutim arbitrar të instruksioneve dhe algoritmeve që
mund të ndërpritet nga faktorë të jashtëm output-i i të cilëve ndryshon në varësi të mjedisit dhe
kohës. Një sistem operativ multiuser psh është jo determinant. Aplikacione të tillë zakonisht
janë më kompleks dhe më të vështirë për tu menaxhuar.

Ndonëse në gamën e gjerë të aplikacioneve që përdoren sot është e vështirë të bësh një kategorizim të
qartë, është e nevojshme që për arsye studimi të caktohen hapësira përfshirëse për ta. Të tilla janë:

 Software sistemi. Software-t e sistemit janë një grup programesh që u shërbejnë programeve të
tjerë. Të tillë janë kompilatorët, parser-at, sistemet e menaxhimit të skedarëve, driver-at,
sistemet e shfrytëzimit etj. Këta aplikacione karakterizohen nga:
o Ndërveprim i ngushtë me hardware.
o Shumë përdorues (multi-user)
o Veprime të njëkohshëm.
o Struktura të dhënash komplekse.
o Shumë ndërfaqe të jashtme.
 Sisteme në kohë reale(real-time). Këta lloj software monitorojnë, analizojnë dhe kontrollojnë
ngjarjet e botës realë ndërkohë që ato ndodhin. Këta aplikacione karakterizohen nga:
o Komponentë që mbledhin të dhëna nga një mjedis i jashtëm dhe i formatojnë ato për
manipulim.
o Komponentë që analizojnë informacionin dhe transformojnë sipas kërkesave të
aplikacionit.
o Komponentë që kontrollojnë output-in .
o Komponentë drejtues që koordinojnë punën e komponentëve të tjera në mënyrë që
sistemi të përgjigjet në kohë reale.
 Software biznesi. Kjo është edhe kategoria më e madhe e software-ve. Këta aplikacione
kryesisht merren me ruajtjen dhe aksesimin e të dhënave që kanë të bëjnë me informacionin e
biznesit. Zakonisht karakterizohen nga baza të dhënash të normalizuara dhe të përmasave të
mëdha si edhe nga interaktivitet i lartë me përdoruesin.

8
Inxhinieri Software Leksion 1

 Software shkencorë dhe inxhinierikë. Këta software përfshijnë pothuajse gjithmonë algoritma
dhe llogaritje komplekse. Fusha ë aplikimit janë astronomia, biologjia molekulare, matematika e
aplikuar, fizika etj. Sot software-t shkencorë nuk janë vetëm software përllogaritës por po
tentojnë drejt sistemeve simulues, interaktivë dhe kanë tipare të software-ve real-time.
 Sotware të ndërfutur. Janë software që vijnë si pjesë e industrisë dhe e prodhimeve të saj. Këta
software qëndrojnë në kujtesën afatshkurtër të pajisjes dhe shërbejnë për të kontrolluar dhe
automatizuar punën e saj. Software-t e ndërfutur mund të kryejnë vetëm pak funksione të
kufizuar, i kufizuar është edhe ndërveprimi i përdoruesit me këta sisteme.
 Software për kompjutera personalë. Tregu i software-ve për kompjutera personalë ka zënë
shumë peshë në prodhimin e përgjithshëm të industrisë software. Shembujt janë të shumtë:
Software word-processing, grafikë, personal, multimedial, lojëra, për aksesim të bazave të të
dhënave etj.
 Software të bazuar në web (web-based). Aksesohen me anë të browser-ave dhe bazohen në
rrjetin mbarëbotëror të kompjuterëve, internetin. Të dhënat në të paraqiten në forma të
ndryshme dhe lehtësisht të kuptueshme për përdoruesin si psh: hypertext dhe formate
multimedialë. Çdo ditë e më tepër rritet rëndësia dhe kërkesa për këto lloj aplikacionesh për
shkak kërkesave në rritje për komunikim dhe shkëmbim të informacionit midis individëve apo
kompanive.
 Software të Inteligjencës Artificiale. Përdorin algoritma jonumerikë për të zgjidhur probleme
kompleksë të cilët nuk mund të zgjidhen me metodat tradicionale. Të tillë janë sistemet
ekspertë, sistemet e bazuar në njohuri, rrjetat neutralë, vërtetimi i teoremave, lojërat
inteligjente etj.

Përveç kategorive të mësipërme softuerët ndahen gjithashtu në dy grupe të mëdhenj: softuerë të


përgjithshëm dhe me porosi custom-built. Një ndër ndryshimet më të dukshëm nga pikëpamja e
inxhinierimit të këtyre dy kategorive të ndryshme është fakti që në rastin e parë specifikimet
kontrollohen nga vetë organizata zhvilluese, kurse në rastin e dytë specifikimet përcaktohen nga
organizata e cila porosit programin. Megjithatë kufiri midis këtyre kategorive është disi i paqartë. Ndodh
shpesh që kompanitë fillojnë me një produkt të përgjithshëm dhe më vonë fillojnë ta përshtatin
produktin në varësi të kërkesave të klientëve potencialë.

2.5 Disa mite që kanë të bëjnë me software

Gjatë historisë rreth 50-vjeçare të zhvillimit të software kanë lindur dhe janë vënë re shumë ide të
gabuara të cilat kanë çuar në keqinformim dhe që kanë shkaktuar konfuzion në radhët analistëve dhe
zhvilluesve. Këto janë ide intuitive që shpesh kanë një pjese të së vërtetës në brendësi, por që nuk janë
të duhura për tu zbatuar. Shpesh kanë të bëjnë me zakone të vjetër nga të cilët ka qenë e vështirë që
njerëzit të shkëputeshin kurse të tjera janë vështrime pragmatiste.

Këtyre ideve dhe mendimeve në Inxhinierinë Software autorët i referohen si Mite të Software.

9
Inxhinieri Software Leksion 1

Disa shembuj:

Mite të menaxhimit:

 “Ne kemi një libër plot me udhëzime dhe standarde për ndërtimin e software. Kjo do t’i sigurojë
njerëzve të mi çdo gjë që iu duhet.”
 “Njerëzit e mi kanë mjetet më të sofistikuar për zhvillimin e software. Për më tepër ne blejmë
kompjuterat më të fundit.”
 “Nqs jemi prapa me planin gjithmonë mund të shtojmë numrin e programuesve dhe të arrijmë
afatet kohorë.”

Mite të klientit

 “Një përshkrim i përgjithshëm i objektivave të software-it është i mjaftueshëm për të filluar


programimin. Detajet mund t’i plotësojmë më vonë.”
 “Kërkesat e projektit mund të ndryshojnë në mënyrë të vazhdueshme, por ndryshimet mund të
reflektohen lehtësisht pasi software-i është fleksibël.”

Mite të praktikuesit

 “Puna jonë mbaron me përfundimin e programit.”


 “Pa e mbaruar programin unë nuk kam se si të kontrolloj cilësinë e tij.
 ”Produkti i vetëm i punës sonë është programi që funksionon.”
 “Inxhinieria Software do të na shpenzojë shumë kohë me dokumentimin gjë që do të na
ngadalësojë punën.”

Në të vërtetë ndodh që klientët të kenë kërkesa të paqarta, programuesit të mbrojnë me fanatizëm


punën e tyre pa treguar pikat e dobëta të aplikacionit, kurse menaxherët tejkalojnë afatet kohorë.

Përfundim i vlefshëm mbi Inxhinierinë Software:

“The amateur software engineer is always in search of magic, some sensational method or tool whose
application promises to render software development trivial. It is the mark of the professional software
engineer to know that no such panacea exists.” – Grady Booch, Object Oriented Analyses and Design

Tashmë e dimë që nuk ekziston ndonjë pikëpamje “ideale” për Inxhinierinë Softuer. Diversiteti i lartë i
sistemeve dhe i organizatave që përdorin sistemet do të thotë që na duhet një diversitet pikëpamjesh
për Inxhinierinë Softuer. Megjithatë në themel të këtyre teknikave gjenden nocione thelbësore të
procesit të inxhinierimit të cilët përbëjnë esencën e IS. Gjatë këtij kursi pritet që të trajtohen gjerësisht
këta parime thelbësorë.

10

You might also like