SlideShare uma empresa Scribd logo
1 de 9
UNIVERSITETI: “ALEKSANDER MOISIU”
TEKNOLOGJI INFORMACIONI
DEGA: SISTEME INFORMACIONI

TEMA: INXHINIERIA SOFTWERE

PUNOI: XHENI TUSHA
Inxhinieria Softuerike
Inxhinieria softuerike është një degë e shkencave kompjuterike që merret me
prodhimin, mirëmbajtjen, testimin dhe përmirësimin e programeve të ndryshme
informatike. Inxhinieria softuerike është term i shpikur në vitin 1968, në një konferencë
shkencore ku shtroheshin pyetje "në lidhje me krizën softuerike" dhe u shpik si një
përgjigje për gjendjen e palakmueshme të zhvillimit të programeve softuerike dhe
cilësisë së tyre. Zhvilluesit softuerik në atë kohë nuk ishin në gjendje për të vendosur
objektiva konkrete, kjo parashikohej nga burimet e nevojshme për të arritur këto
objektiva, si dhe për të menaxhuar pritjet e konsumatorëve.

Definicioni për inxhinierinë softuerike
Inxhinieria softuerike është disciplinë e shkencave kompjuterike që ka të bëjë me
zhvillimin e aplikacioneve me qasje të strukturuar. Inxhinieria softuerike mbulon jo
vetëm aspektet teknike të sistemeve softuerike, por edhe modelimet vizuale,
specifikimet formale, përkufizimet matematikore të sistemeve softuerike, çështjet e
menaxhimit, sic janë udhëheqja e ekipeve programuese, planifikimi dhe buxhetimi,
programimi, testimi, implementimi dhe mirëmbajtja për çështjet e zhvillimit të sistemeve
softuerike.
Tradicionalisht, inxhinieria softuerike është përqëndruar kryesisht në programim
kompjuterik me „ad hoc‟ analizën dhe projektim të teknikave. Këto „ad hoc‟ metoda të
inxhinierisë softuerike rezultuan në prodhimin e një sistemi softuerik që nuk u përputhën
me kërkesat e shfrytëzuesit, zakonisht mbikalonin buxhetin dhe orarin, si dhe ishin
jashtëzakonisht të vështirë për tu përmbajtur dhe përmirësuar. Përpara vitit 1975,
shumica e organizatave softuerike përdornin teknika të thjeshta; secila punonte sipas
mënyrës së vet. Depërtimet më të mëdhaja u bën përafërsisht gjatë viteve 1975 dhe
1985, me zhvillimin e të ashtuquajturës paradigm klasike dhe e strukturuar.
Përpjekja për të arritur deri në zgjidhjen e të ashtuquajturës “kriza softuerike”, qeveritë
dhe organizatat private motivuan zhvillimin e të ashtuquajturës metoda “ujëvarë”. Këto
metoda definuan kërkesat formale dhe fazat analitike, të cilat duhet të jenë të
përfunduara para fillimit të fazes së dizajnimit formal, që duhet të përfundohen para se
të filloj faza e implementimit formal, etj. Megjithëse metoda ujëvarë zakonisht është më
superiorja tek metodat e rastit, sistemet softuerike të mëdhaja dhe të ndërlikuara ende
prodhoheshin pas orarit dhe duke kaluar buxhetin, çka nuk përputheshin me kerkesat e
shfrytëzuesit. Kjo ndodhte për disa arsye.
Sëpari, metoda ujëvarë fokusohet më mirë në gjenerimin e produkteve të punës se sa
në “inxhinjeri”. Thënë më thjeshtë, të shkruash dokumentacionet nuk është e njejtë se
sa të bësh një inxhinjeri të mirë. Së dyti, metodat ujëvarë nuk mbështesin evolucionin e
kërkesave të sistemit gjatë gjithë zhvillimit të ciklit jetësor. Gjithashtu specifikimet në
gjuhën angleze të prodhuara me metodat ujëvarë nuk janë të përshtatshme për
përshkrimin e ndodhive të ndërlikuara në sistemet softuerike.
Theksi në inxhinjerin softuerike është në të dy fjalët, softuer dhe inxhinjeri. Një inxhinjer
është i aftë të ndërton një produkt me kualitet të lartë duke përdorur komponentet që
shiten dhe duke i integruar ato në kohën dhe detyrimeve buxhetore.
Inxhinjeri shpesh perballohet me proleme që janë keq të definuara, zgjedhje të
pjesërishme, dhe duhet t‟u referohet metodave empirike për të përcaktuar zgjidhjet.
Problemi për ndërtimin dhe dërgimin e sistemeve softuerike në kohë ka qenë nën
hulumtim dhe kërkim. Sistemet softuerike të dobishme janë të ndërlikuara. Për të qenë
të dobishëm ato duhet të shtjellohen me kërkesat e shfrytëzuesit dhe mjedisin e synuar.
Implikimet financiare të krizës softuerike janë të tmerrshme. Në një sondazh i bërë nga
Cutter Consortium [2002], u raportua: - 75% e teknologjisë së informacionit kanë qenë
të përfshirë në kontestet që përfunduan në gjyq.
- Në 67% të këtyre rasteve, funksionimi ose ekzektumi i produkteve softuerike të
dorëzuara nuk përputheshin me pretendimet e zhvilluesve softuerik.
Gjatë viteve 1950, shumica e programeve janë shkruar në gjuhën e kuvendit. Këto
programe ishin të kufizuara me disa qindra rreshta të kodit të kuvendit, pra ishin në
madhësi të vogël. Çdo programer zhvillonte programe në stilin e vet duke u bazuar në
intuitën e tij. Ky lloj programimi u quante Programim Kërkimor.
Zhvillimi i ardhshëm i rëndësishëm që ka ndodhur gjatë viteve 1960 në fushën e
programimit ishte programimi me nivel të lartë gjuhësor. Përdorimi i nivelit të lartë
gjuhësor në programim reduktoi arritjet e zhvillimit dhe kohën e konsiderueshme. Në atë
kohë u paraqitën gjuhët si FORTRAN, ALGOL, dhe COBOL.
Duke u zmadhuar madhësia dhe kompleksiteti i programeve, stili i programimit kërkimor
filloi të jetë i pamjaftueshëm. Programeret e kishin të vështirë jo vetëm që të shkruajn
dhe përmirësojn programet, por edhe të kuptojn dhe mbajn programe të shkruar nga
programer të tjerë.
Për tu përballuar me këtë problem, programuesit me përvojë këshilluan programuesit
tjerë që t‟i kushtojnë vëmendje të veçantë dizajnit të strukturës së programit. Në vitet e
‟60, u konstatua se “GOTO” deklarata ishte fajtori kryesorë që e bën strukturen e
kontrollit të një programi të komplikuar dhe të çrregullt. Në atë kohë shumica e
programuesve shfrytëzuan gjuhën e kuvendit gjërësisht.
Ata duke konsideruar deklaratat e “GOTO” në gjuhët e niveleve të larta ishin më të
natyrshme sepse gjenin afërsi me deklaratat e JUMP që shpesh përdoren në gjuhët
programuese të kuvendit.
Në këtë periudhë, Dijkstra [1968] publikoi artikullin e tij të famshëm “GOTO Statments
Considered Harmful”. Me shpalljen e këtij artikulli shumë programues u zemëruan. Ata
botuan disa artikuj duke kundërshtuar dhe duke theksuar avantazhet e deklaratave
GOTO. Por, shumë shpejt u dëshmua se vetëm tre konstrukte programimi ishin të
mjaftueshëm për të shprehur logjikën e ndonjë programi, ato janë: sekuenca,
përzgjedhja dhe përsëritja. Kjo formoi bazën e metodologjisë së programimit të
strukturuar.
Pas programimit të strukturuar, zhvillimi tjetër i rëndësishëm ishte struktura e të
dhënave-dizajni orientuar. Programuesit argumentuan se për të shkruar një program të
mirë, është e rëndësishme ti kushtohet më shumë vëmendje dizajnit të strukturës të të
dhënave të programit, sesa dizajnit të strukturës kontrolluese.
Teknika e strukturës së të dhënave-dizajni orientuar ndihmon për të derivuar strukturën
e programit prej strukturës së të dhënave të programit. Shembull është teknika e
strukturës së të dhënave-dizajni orientuar Jackson‟s Structured Programming (JSP), e
krijuar nga Michael Jackson në vitin 1970.
Zhvillim tjetër i rëndësishëm në vitet e ‟70 ishte zhvillimi i teknikës së të dhënave
rrjedhëse-dizajni orientuar. Programuesit me përvojë deklaruan se për të patur një
struktur programi të mirë, duhet studijuar se si të dhënat rrjedhin nga hyrja deri në dalje
të programit. Çdo program lexon të dhëna, i përpunon për të arritur një dalje. Kur
rrjedhja e të dhënave është e identifikuar, atëherë prej atje mund të derivohet struktura
e programit. Dizajni objekt-orientuar (1980) është teknika e fundit dhe më e aplikuara.
Ajo ka një dizajn me qasje intuitive ku objektet natyrale (sic janë të punësuarit,pay-roll
regjistri, etj) në një problem janë të parat që identifikohen. Lidhjet mes objekteve (sic
janë kompozimi, referimi dhe trashëgimia) janë të determinuara. Çdo objekt në fakt
vepron si njësi të dhënash të fshehura.

Analiza e kërkesave
Analiza e kërkesave në inxhinieri softuerike dhe "sistemet inxhinierike", përfshin ato detyra që shkojnë
në përcaktimin e nevojave ose kushtet për të përmbushur një produkt të ri ose për të ndryshuar, duke
marrë parasysh konfliktet e mundshme të kërkesave, si të përdoruesit ashtu edhe prodhuesit.
Analiza e kërkesave zë vend të rëndësishëm në ndërtimin e një projekti [2]. Kërkesave duhet të jenë të
dokumentuara, të zbatueshme, të matshme, të testueshme, të gjurmueshme, në lidhje me nevojat apo
mundësitë e identifikuara të biznesit, dhe të përcaktuara në një nivel të detajuar të mjaftueshme për
hartimin e sistemit. Kërkesat mund të jenë arkitektonike, strukturore,kërkesa funksionale, dhe kërkesa jofunksionale.
PERMBLEDHJE
Nga pikëpamja konceptuale, analiza e kërkesave përfshin tre llojet të aktiviteteve:
Nxjerrja e kërkesave: është detyra e komunikimit me klientët dhe përdoruesit për të përcaktuar se
çfarë janë kërkesat e tyre. Kjo është quajtur ndonjëherë edhe si grumbullimi i kërkesave.
Analiza e kërkesave: përcaktimin nëse kërkesat e parashikuara janë të paqarta, jo të plota,
dykuptimtë, ose kontradiktore, dhe pastaj zgjidhjen e këtyre çështjeve.
Regjistrimi i kërkesave: Dokumentimi i kërkesave në forma të ndryshme.
Analiza e kërkesave mund të jetë një proces i gjatë dhe i rëndë gjatë së cilës janë të përfshira shumë
aftësi delikate psikologjike. Sistemet e reja kanë ndryshuar mjedisin dhe marrëdhëniet midis njerëzve,
kështu që është e rëndësishme për të identifikuar të gjitha palët, duke marrë parasysh të gjitha nevojat e
tyre dhe për të siguruar që ata të kuptojnë pasojat e sistemeve të reja.

Analiza e sistemeve
Analiza e sistemeve është studimi që përcakton subjektet bashkëvepruese, duke
përfshirë analizën e sistemeve kompjuterike. Kjo fushë është e lidhur ngushtë
me analizën e kërkesave apo operacionet e kërkimit. Ajo është gjithashtu "një hulumtim
eksplicit formal i kryer për të ndihmuar dikë (të referuara si vendimmarrës) të identifikojë
një kurs më të mirë të veprimit dhe të marrë një vendim më të mirë".
Termi analizë në fjalorin e gjuhës shqipe ka kuptimin: Metodë studimi me të cilën e tëra
zbërthehet në pjesët e veta përbërëse, me qëllim që të zbulohet ndërtimi i së tërës dhe
lidhjet ndërmjet pjesëve; kund. sintezë. Këto terma janë në disiplinën shkencore nga
matematika dhe logjika për ekonominë dhe për të treguar psikologjinë e procedurave të
ngjashme hetimore. Analiza është përcaktuar si procedurë me të cilën ne e ndajmë një
tërësi intelektuale ose substanciale në pjesë. Sinteza është përcaktuar si procedurë me
të cilën kombinon elemente të veçanta apo komponentëve në mënyrë që të formojnë
një tërësi koherente. Studiuesit e analizës së sistemeve zbatojnë metodologji për
analizën e sistemeve të përfshirë për të formuar një tablo të përgjithshme. Analiza e
sistemit është përdorur në çdo fushë ku ka një punë të zhvillimit. Analiza mund të
përkufizohet si një seri të komponentëve që kryejnë funksionin organik së bashku.
Procesi i zhvillimit të softuerit
Një proces i zhvillimit të softuerit ose procesi i ndërtimit të softuerit,gjithashtu i njohur
edhe si cikli i jetës së zhvillimit të softuerit, është një strukturë e vendosur për zhvilimin
e një produkti softuerik. Janë disa modele për proceset e tilla, secili përshkruan qasje të
një shumëllojshmërie të detyrave ose aktiviteteve që zhvillohen gjatë procesit.
Disa njerëz e konsiderojnë modelin "lifecycle" një term më të përgjithshëm ndërsa një
"proces të zhvillimit të softuerit" një term më specifike. ISO/IEC 12207 është një
standard ndërkombëtar për procesin lifecycle të softuerit. Ajo synon të jetë standard që
përcakton të gjitha detyrat e nevojshme për zhvillimin dhe mirëmbajtjen e softuerit.

Aktivitetet e zhvillimit të softuerit

Planifikimi
Një detyrë e rëndësishme në krijimin e një programi softwerik është nxjerrja
e kërkesave ose analiza e kërkesave. Klientët zakonisht kanë një ide abstrakte të asaj
që ata duan si rezulltat, por jo se çfar softueri duhet të bëj. Kërkesat jo të plota, të
paqarta madje edhe kërkesat kontradiktore janë të njohura në këtë pikë nga inxhinierët
softuerikë me njohuri dhe eksperiencë. Shpesh duke treguar kodin dretperdrejtë mund
të ndihmojë në uljen e rrezikut, se kërkesat janë të pasakta.
Pasi kërkesat e përgjithshme janë mbledhur nga klienti, një analizë e fushës së
zhvillimit duhet të përcaktohet dhe të shprehet qartë. Kjo është quajtur shpesh si një
dokument i fushës.
Disa funksionalitete mund të jenë jashtë fushës së projektit si një funksion i kostos ose
si rezultat i kërkesave të paqartë në fillim të zhvillimit. Në qoftë se zhvillimi është bërë
nga jashtë, ky dokument mund të konsiderohet një dokument ligjor në mënyrë që nëse
ka mosmarrëveshje ndonjëherë, ndonjë paqartësi të asaj që ishte premtuar për të
klientit mund të sqarohet.

Implementimi, testimi dhe dokumentimi
Implementimi është pjesë e procesit ku inxhinierët softuerik në të vërtetë programojnë kodin për
projektin.
Testimi i softuerit është një fazë integrale dhe e rëndësishme e procesit të zhvillimit të softuerit. Kjo
pjesë e procesit siguron që defekte e mundshme të softuerit të zbulohen sa më shpejt të jetë e mundur.
Dokumentimi i dizajnit e brendshëm të softuerit me qëllim të mirëmbajtjes në të ardhmen dhe zgjerimi që
është bërë gjatë gjithë zhvillimit. Kjo mund të përfshijë edhe të shkruarit e një API, të jetë e jashtme ose
të brendshme. Procesi i inxhinierisë softuerike i zgjedhur nga ekipi i zhvillimit do të përcaktojë se sa
dokumentacion i brendshëm (nëse ka) është i nevojshëm.

Mirëmbajtja e softuerit
Mirëmbajtja e softuerit ose en:Software maintenance në inxhinierinë softuerike është
ndryshimi i një produkti softuerik pas lëshimit, për të përmirsuar ndonjë problem, për të
përmirësuar performancën apo cilësi të tjera. Një perceptim i zakonshëm i mirëmbajtjes
është se përfshin vetëm rregullimin e defekteve (bug). Megjithatë, një studim tregoi se
pjesa më e madhe, mbi 80%, e përpjekjeve të mirëmbajtjes është përdorur për qëllime
jo-korrigjuese të veprimeve (Pigosky 1997) [2].
Çështjet kryesore të mirëmbajtjes softuerike janë dy, menaxhuese dhe teknike. Çështjet
kryesore të menaxhimit janë: përafrimi me prioritetet e konsumatorëve, personelit,
organizimi i të cilës bën mirëmbajtjen, vlerësimin e kostos. Çështjet kryesore teknike
janë: kuptimi i kufizuar, analizat e ndikimit, testimi, matjen e gjendjes.

Koncepti i mirëmbajtjes
Mirëmbajtja dhe përmirësimi i softuerit, procesi për tu përballur me problemet e reja të
zbuluara ose kërkesat e reja mund të marrë më shumë kohë se sa fillimi i ndërtimit të
një softueri. Jo vetëm që mund të jetë e nevojshme të shtoni kod që nuk përshtatet me
dizajnin origjinal, por vetëm përcaktimi se sa softueri punon në një pikë të caktuar pasi
është e përfunduar mund të kërkojë shumë përpjekje për kuptimin nga një inxhinier
softuerik. Rreth 2/3 e punës së inxhinierisë softuerike është mirëmbajtja, por kjo
statistikë mund të jetë konfuze. Një pjesë e vogël e saj është për përmirësimin e
gabimeve. Pjesa më e madhe e mirëmbajtjes është shtimi i sistemit për të bërë
funksione të reja, e cila në shumë mënyra mund të konsiderohet si punë e re.
Inxhinieria civile, arkitektura dhe punët me konstruksione, mirëmbajtja kryhet me
mënyrë të njëjtë].
Mirëmbajtja softuerike dhe evolucioni i sistemeve u drejtua së pari nga Meir M.
Lehman në vitin 1969. Gjatë një periudhe prej njëzet vjetësh, hulumtimi e tij çoi në
formulimin e "Ligjeve të Lehman për Inxhinieri softuerike" (Lehman 1997). Përfundimet
kryesore të hulumtimit të tij përfshijnë atë që mirëmbajtja është me të vërtetë zhvillimi
evolutiv dhe se vendimet e mirëmbajtjes janë ndihmuar nga të kuptuarit se çfarë ndodh
me sistemet (dhe softuerët) me kalimin e kohës. Lehman tregoi se sistemet vazhdojnë
të evoluojnë me kalimin e kohës.
Rëndësia e mirëmbajtjes të softuerit
Në fund të viteve 1970, një studim i famshëm dhe të cituar gjerësisht nga Lientz dhe
Swanson, ekpozoj një pjesë shumë të lartë të kostos së ciklit të jetës që janë duke u
shpenzuar për mirëmbajtjen. Ata kategorizuan aktivitet të mirëmbajtjes në katër klasa:
Adaptive - që kanë të bëjnë me ndryshimet dhe përshtatjes në gjendjen e softuerit
Perfektive - akomodimin me ndryshimin ose kërkesat e reja të përdoruesve që
preokupojnë në zgjerimin e funksioneve të softuerit
Korrigjuese - që kanë të bëjnë me gjetjen e gabimeve dhe rregullimin e tyre
Parandaluese - aktivitetet e shqetësuese që synojnë në rritjen e qëndrueshmërisë të
softuerit dhe për të parandaluar problemet në të ardhmen
Anketa tregon se rreth 75% e mirëmbajtjes ishte në të dy llojet e para, ndërsa për
korrigjimin e gabimeve rreth 21%. Shumë studime të mëvonshme tregojnë një madhësi
të ngjashëm të problemit. Studimet tregojnë se kontributi i përdoruesi të fundit është
vendimtar për analizat dhe grumbullimin e të dhënave sipas kërkesave të reja. Ky është
shkaku kryesor i ndonjë problem gjatë evolucionit të softuerit dhe mirëmbajtjes. Pra,
mirëmbajtja e softuerit është e rëndësishme sepse ajo konsumon një pjesë të madhe të
shpenzimeve të përgjithshme të ciklit jetësor "lifecycle" dhe gjithashtu paaftësia për të
ndryshimin në mënyrë më të shpejtë dhe të besueshëm do të thotë se mundësitë e
biznesit janë të humbura.

Modeli i procesit të mirëmbajtjes të softuerit
Në procesin e mirëmbajtjes softuerike, përdoret termi ri-innxhinieri ose ri-ndërtimi i
pjesëve të ndryshme të softuerit.
Modeli i procesit ka disa principe, për të implementuar këto principe, aplikohet një
model i procesit që definon gjashtë aktivitete (të treguar në figurën djathtas). Në disa
raste, këto aktivitete ndodhin në një sekuencë lineare, por kjo nuk është gjithmonë
shkaku. Për shembull, mund të jetë inxhinieria e kundërt(të kuptuarit e punëve të
brendshme të një programi) mund të ndodhë para se ristrukturimi i dokumentimit të
fillojë.
Paradigma e ri-inxnxhinierisë është një model ciklik. Kjo do të thotë që secili nga
aktivitetet e paraqitura si pjesë e modelit të mund të rishikohen. Për ndonjë cikël të
veçantë, procesi mund të përfundojë pas çdo njërit prej këtyre aktiviteteve .
Inxhinieria softwere

Mais conteúdo relacionado

Mais procurados

Energjia diellore
Energjia dielloreEnergjia diellore
Energjia dielloreMaja
 
Fizika në shëndetësi
Fizika në shëndetësiFizika në shëndetësi
Fizika në shëndetësiadonis1119
 
Zbatimi i rregullave te sigurimit teknik
Zbatimi i rregullave te sigurimit teknikZbatimi i rregullave te sigurimit teknik
Zbatimi i rregullave te sigurimit teknikXhesika Merko
 
Libër mësuesi-fizika-10
Libër mësuesi-fizika-10Libër mësuesi-fizika-10
Libër mësuesi-fizika-10Luan Hykaj
 
Presentation of business_plan_12_slides_in_power. alb, case study
Presentation of business_plan_12_slides_in_power. alb, case studyPresentation of business_plan_12_slides_in_power. alb, case study
Presentation of business_plan_12_slides_in_power. alb, case studyermirshalqini
 
VIRUSET KOMPJUTERIKE
VIRUSET KOMPJUTERIKEVIRUSET KOMPJUTERIKE
VIRUSET KOMPJUTERIKEMIRI1ALLARAJ
 
Tema:Lufta kunder duhanit
Tema:Lufta kunder duhanitTema:Lufta kunder duhanit
Tema:Lufta kunder duhanitJetmira Sula
 
Millosh Gjergj Nikolla
Millosh Gjergj NikollaMillosh Gjergj Nikolla
Millosh Gjergj NikollaVilma Kafexhiu
 
Bimet dhe kafshet ne rrezik zhdukje
Bimet dhe kafshet ne rrezik zhdukjeBimet dhe kafshet ne rrezik zhdukje
Bimet dhe kafshet ne rrezik zhdukjeEniLikaj
 
Revolucioni i II industrial
Revolucioni i II industrial Revolucioni i II industrial
Revolucioni i II industrial Klarisa Klara
 
Përdorimi i teknologjisë në mësimdhënien e nivelit fillor
Përdorimi i teknologjisë në mësimdhënien e nivelit fillor Përdorimi i teknologjisë në mësimdhënien e nivelit fillor
Përdorimi i teknologjisë në mësimdhënien e nivelit fillor aferditasopa
 
Bazat e te_dhenave_pdf
Bazat e te_dhenave_pdfBazat e te_dhenave_pdf
Bazat e te_dhenave_pdfcoupletea
 
Ndryshimet klimaterike dhe politikat menaxhuese
Ndryshimet klimaterike dhe politikat menaxhueseNdryshimet klimaterike dhe politikat menaxhuese
Ndryshimet klimaterike dhe politikat menaxhueseXhesika Merko
 
Konventa mbi te Drejtat e Femijeve
Konventa mbi te Drejtat e Femijeve Konventa mbi te Drejtat e Femijeve
Konventa mbi te Drejtat e Femijeve Megi Braka
 

Mais procurados (20)

Energjia diellore
Energjia dielloreEnergjia diellore
Energjia diellore
 
Fizika në shëndetësi
Fizika në shëndetësiFizika në shëndetësi
Fizika në shëndetësi
 
Zbatimi i rregullave te sigurimit teknik
Zbatimi i rregullave te sigurimit teknikZbatimi i rregullave te sigurimit teknik
Zbatimi i rregullave te sigurimit teknik
 
Astrofizika
AstrofizikaAstrofizika
Astrofizika
 
Libër mësuesi-fizika-10
Libër mësuesi-fizika-10Libër mësuesi-fizika-10
Libër mësuesi-fizika-10
 
Presentation of business_plan_12_slides_in_power. alb, case study
Presentation of business_plan_12_slides_in_power. alb, case studyPresentation of business_plan_12_slides_in_power. alb, case study
Presentation of business_plan_12_slides_in_power. alb, case study
 
VIRUSET KOMPJUTERIKE
VIRUSET KOMPJUTERIKEVIRUSET KOMPJUTERIKE
VIRUSET KOMPJUTERIKE
 
Tema:Lufta kunder duhanit
Tema:Lufta kunder duhanitTema:Lufta kunder duhanit
Tema:Lufta kunder duhanit
 
“NAFTA DHE GAZI NATYROR”
“NAFTA DHE  GAZI NATYROR”“NAFTA DHE  GAZI NATYROR”
“NAFTA DHE GAZI NATYROR”
 
Kapitulli 5 (1)
Kapitulli 5 (1)Kapitulli 5 (1)
Kapitulli 5 (1)
 
Millosh Gjergj Nikolla
Millosh Gjergj NikollaMillosh Gjergj Nikolla
Millosh Gjergj Nikolla
 
Bimet dhe kafshet ne rrezik zhdukje
Bimet dhe kafshet ne rrezik zhdukjeBimet dhe kafshet ne rrezik zhdukje
Bimet dhe kafshet ne rrezik zhdukje
 
Shtepite ekologjike
Shtepite ekologjikeShtepite ekologjike
Shtepite ekologjike
 
Revolucioni i II industrial
Revolucioni i II industrial Revolucioni i II industrial
Revolucioni i II industrial
 
Përdorimi i teknologjisë në mësimdhënien e nivelit fillor
Përdorimi i teknologjisë në mësimdhënien e nivelit fillor Përdorimi i teknologjisë në mësimdhënien e nivelit fillor
Përdorimi i teknologjisë në mësimdhënien e nivelit fillor
 
Projekt : Fizike
Projekt : Fizike Projekt : Fizike
Projekt : Fizike
 
Bazat e te_dhenave_pdf
Bazat e te_dhenave_pdfBazat e te_dhenave_pdf
Bazat e te_dhenave_pdf
 
Bio Ne dhe Mjedisi
Bio Ne dhe MjedisiBio Ne dhe Mjedisi
Bio Ne dhe Mjedisi
 
Ndryshimet klimaterike dhe politikat menaxhuese
Ndryshimet klimaterike dhe politikat menaxhueseNdryshimet klimaterike dhe politikat menaxhuese
Ndryshimet klimaterike dhe politikat menaxhuese
 
Konventa mbi te Drejtat e Femijeve
Konventa mbi te Drejtat e Femijeve Konventa mbi te Drejtat e Femijeve
Konventa mbi te Drejtat e Femijeve
 

Destaque

Baza e të dhënave mod
Baza e të dhënave modBaza e të dhënave mod
Baza e të dhënave modArmend Gjoshi
 
Material multibase HTML 5. SEIEM 2013
Material multibase HTML 5. SEIEM 2013Material multibase HTML 5. SEIEM 2013
Material multibase HTML 5. SEIEM 2013Juan Fco. Ruiz
 
Softveri aplikativ baze ligj e iii
Softveri aplikativ baze ligj e iiiSoftveri aplikativ baze ligj e iii
Softveri aplikativ baze ligj e iiiValdet Shala
 
Softveri aplikativ i specializuar
Softveri aplikativ i specializuarSoftveri aplikativ i specializuar
Softveri aplikativ i specializuarValdet Shala
 
Punimseminarik 111001044117-phpapp01
Punimseminarik 111001044117-phpapp01Punimseminarik 111001044117-phpapp01
Punimseminarik 111001044117-phpapp01Ramë Hajraj
 
Menaxhimi i operacioneve all slides vehbi rama
Menaxhimi i operacioneve   all slides vehbi ramaMenaxhimi i operacioneve   all slides vehbi rama
Menaxhimi i operacioneve all slides vehbi ramadrilon emini
 
Menaxhimi i efikasitetit te projekteve investive ( Tregu dinamike)
Menaxhimi i efikasitetit te projekteve investive ( Tregu dinamike)Menaxhimi i efikasitetit te projekteve investive ( Tregu dinamike)
Menaxhimi i efikasitetit te projekteve investive ( Tregu dinamike)Fatlum Hashani-Onuzi
 
Menaxhimi i projektit
Menaxhimi i projektitMenaxhimi i projektit
Menaxhimi i projektitMondda
 
Aplikativni programi
Aplikativni programiAplikativni programi
Aplikativni programimajapts
 
Gjuhe Programuese ushtrimet C++
Gjuhe Programuese   ushtrimet   C++Gjuhe Programuese   ushtrimet   C++
Gjuhe Programuese ushtrimet C++Ajla Hasani
 
Projekt Per lenden Informatike Viti 1
Projekt Per lenden Informatike Viti 1 Projekt Per lenden Informatike Viti 1
Projekt Per lenden Informatike Viti 1 dritispahiu
 
Analiza e Fizibiliteti ne Biznes
Analiza e Fizibiliteti ne BiznesAnaliza e Fizibiliteti ne Biznes
Analiza e Fizibiliteti ne BiznesMenaxherat
 
Sistemski softver i aplikativni programi
Sistemski softver i aplikativni programiSistemski softver i aplikativni programi
Sistemski softver i aplikativni programiJasmina Profil
 

Destaque (20)

Ligjerata 5
Ligjerata 5Ligjerata 5
Ligjerata 5
 
Baza e të dhënave mod
Baza e të dhënave modBaza e të dhënave mod
Baza e të dhënave mod
 
Material multibase HTML 5. SEIEM 2013
Material multibase HTML 5. SEIEM 2013Material multibase HTML 5. SEIEM 2013
Material multibase HTML 5. SEIEM 2013
 
Softveri aplikativ baze ligj e iii
Softveri aplikativ baze ligj e iiiSoftveri aplikativ baze ligj e iii
Softveri aplikativ baze ligj e iii
 
Softveri aplikativ i specializuar
Softveri aplikativ i specializuarSoftveri aplikativ i specializuar
Softveri aplikativ i specializuar
 
Softveri sistemor
Softveri sistemorSoftveri sistemor
Softveri sistemor
 
Punimseminarik 111001044117-phpapp01
Punimseminarik 111001044117-phpapp01Punimseminarik 111001044117-phpapp01
Punimseminarik 111001044117-phpapp01
 
Menaxhimi i operacioneve all slides vehbi rama
Menaxhimi i operacioneve   all slides vehbi ramaMenaxhimi i operacioneve   all slides vehbi rama
Menaxhimi i operacioneve all slides vehbi rama
 
Menaxhimi i efikasitetit te projekteve investive ( Tregu dinamike)
Menaxhimi i efikasitetit te projekteve investive ( Tregu dinamike)Menaxhimi i efikasitetit te projekteve investive ( Tregu dinamike)
Menaxhimi i efikasitetit te projekteve investive ( Tregu dinamike)
 
Menaxhimi i projektit
Menaxhimi i projektitMenaxhimi i projektit
Menaxhimi i projektit
 
Aplikativni programi
Aplikativni programiAplikativni programi
Aplikativni programi
 
Gjuhe Programuese ushtrimet C++
Gjuhe Programuese   ushtrimet   C++Gjuhe Programuese   ushtrimet   C++
Gjuhe Programuese ushtrimet C++
 
Divorci
DivorciDivorci
Divorci
 
Algoritmet C++
Algoritmet C++Algoritmet C++
Algoritmet C++
 
Programet aplikative
Programet aplikative Programet aplikative
Programet aplikative
 
Informatike e Biznesit
Informatike e BiznesitInformatike e Biznesit
Informatike e Biznesit
 
Projekt Per lenden Informatike Viti 1
Projekt Per lenden Informatike Viti 1 Projekt Per lenden Informatike Viti 1
Projekt Per lenden Informatike Viti 1
 
Ndermarresi
NdermarresiNdermarresi
Ndermarresi
 
Analiza e Fizibiliteti ne Biznes
Analiza e Fizibiliteti ne BiznesAnaliza e Fizibiliteti ne Biznes
Analiza e Fizibiliteti ne Biznes
 
Sistemski softver i aplikativni programi
Sistemski softver i aplikativni programiSistemski softver i aplikativni programi
Sistemski softver i aplikativni programi
 

Semelhante a Inxhinieria softwere

Detyrë Kursi Inteligjenca Artificiale ne animim.docx
Detyrë Kursi Inteligjenca Artificiale ne animim.docxDetyrë Kursi Inteligjenca Artificiale ne animim.docx
Detyrë Kursi Inteligjenca Artificiale ne animim.docxIng Ardit Novruzi
 
Portofoli i tik me zgjedhje 3
Portofoli i tik me zgjedhje 3Portofoli i tik me zgjedhje 3
Portofoli i tik me zgjedhje 3Rexhino Kovaci
 
CIKLI I ZHVILLIMIT TE SOFTWARE (TIK 12)
CIKLI I ZHVILLIMIT TE SOFTWARE (TIK 12)CIKLI I ZHVILLIMIT TE SOFTWARE (TIK 12)
CIKLI I ZHVILLIMIT TE SOFTWARE (TIK 12)GERTAFERRO1
 
Tema perfundimisht
Tema perfundimishtTema perfundimisht
Tema perfundimishtMustaf Ameti
 
Punim seminarik sistemet informative –sistemi informatik dhe siguria në rrjet...
Punim seminarik sistemet informative –sistemi informatik dhe siguria në rrjet...Punim seminarik sistemet informative –sistemi informatik dhe siguria në rrjet...
Punim seminarik sistemet informative –sistemi informatik dhe siguria në rrjet...Shpejtim Rudi
 
Prezantimi Ne Kosove 2008
Prezantimi Ne Kosove 2008Prezantimi Ne Kosove 2008
Prezantimi Ne Kosove 2008Ilirjan
 
Menaxhimi i projekteve përmes aplikacioneve on-line (dotProject)
Menaxhimi i projekteve përmes aplikacioneve on-line (dotProject)Menaxhimi i projekteve përmes aplikacioneve on-line (dotProject)
Menaxhimi i projekteve përmes aplikacioneve on-line (dotProject)yllferizi
 
PROJEKTIMI I PROGRAMIT PËR MENAXHIM TË DOKUMENTACIONIT NË SHKOLLAT E MESME TË...
PROJEKTIMI I PROGRAMIT PËR MENAXHIM TË DOKUMENTACIONIT NË SHKOLLAT E MESME TË...PROJEKTIMI I PROGRAMIT PËR MENAXHIM TË DOKUMENTACIONIT NË SHKOLLAT E MESME TË...
PROJEKTIMI I PROGRAMIT PËR MENAXHIM TË DOKUMENTACIONIT NË SHKOLLAT E MESME TË...UBT - Higher Education Institution
 
Sokol ziberi - Interaksion Njeri-Kompjuter PPT.pptx
Sokol ziberi - Interaksion Njeri-Kompjuter PPT.pptxSokol ziberi - Interaksion Njeri-Kompjuter PPT.pptx
Sokol ziberi - Interaksion Njeri-Kompjuter PPT.pptxSokolZiberi
 
Teknologjia dhe dizajni (Vështrim i shkurtër)
Teknologjia dhe dizajni (Vështrim i shkurtër)Teknologjia dhe dizajni (Vështrim i shkurtër)
Teknologjia dhe dizajni (Vështrim i shkurtër)NGO Etnika
 
Detyre Kursi - Lider të platformave harduerike dhe Studimi i SI-ve të tyre. R...
Detyre Kursi - Lider të platformave harduerike dhe Studimi i SI-ve të tyre. R...Detyre Kursi - Lider të platformave harduerike dhe Studimi i SI-ve të tyre. R...
Detyre Kursi - Lider të platformave harduerike dhe Studimi i SI-ve të tyre. R...Durim Hysa
 
Praksat e mira të përdorshmërisë së web aplikacioneve përmes mjeteve të përmb...
Praksat e mira të përdorshmërisë së web aplikacioneve përmes mjeteve të përmb...Praksat e mira të përdorshmërisë së web aplikacioneve përmes mjeteve të përmb...
Praksat e mira të përdorshmërisë së web aplikacioneve përmes mjeteve të përmb...Metamorphosis
 
Informatika (Aferdita Berisha) Viti i parë Ekonomik
Informatika (Aferdita Berisha) Viti i parë EkonomikInformatika (Aferdita Berisha) Viti i parë Ekonomik
Informatika (Aferdita Berisha) Viti i parë EkonomikjahirShala
 
teknologjia informative / Ligjerata 9
teknologjia informative / Ligjerata 9teknologjia informative / Ligjerata 9
teknologjia informative / Ligjerata 9ilir 1122
 
Informatika e biznesit tvogla
Informatika e biznesit tvoglaInformatika e biznesit tvogla
Informatika e biznesit tvoglaEgzonMehmet
 

Semelhante a Inxhinieria softwere (20)

Detyrë Kursi Inteligjenca Artificiale ne animim.docx
Detyrë Kursi Inteligjenca Artificiale ne animim.docxDetyrë Kursi Inteligjenca Artificiale ne animim.docx
Detyrë Kursi Inteligjenca Artificiale ne animim.docx
 
Portofoli i tik me zgjedhje 3
Portofoli i tik me zgjedhje 3Portofoli i tik me zgjedhje 3
Portofoli i tik me zgjedhje 3
 
CIKLI I ZHVILLIMIT TE SOFTWARE (TIK 12)
CIKLI I ZHVILLIMIT TE SOFTWARE (TIK 12)CIKLI I ZHVILLIMIT TE SOFTWARE (TIK 12)
CIKLI I ZHVILLIMIT TE SOFTWARE (TIK 12)
 
Tema perfundimisht
Tema perfundimishtTema perfundimisht
Tema perfundimisht
 
Punim seminarik sistemet informative –sistemi informatik dhe siguria në rrjet...
Punim seminarik sistemet informative –sistemi informatik dhe siguria në rrjet...Punim seminarik sistemet informative –sistemi informatik dhe siguria në rrjet...
Punim seminarik sistemet informative –sistemi informatik dhe siguria në rrjet...
 
Prezantimi Ne Kosove 2008
Prezantimi Ne Kosove 2008Prezantimi Ne Kosove 2008
Prezantimi Ne Kosove 2008
 
Menaxhimi i projekteve përmes aplikacioneve on-line (dotProject)
Menaxhimi i projekteve përmes aplikacioneve on-line (dotProject)Menaxhimi i projekteve përmes aplikacioneve on-line (dotProject)
Menaxhimi i projekteve përmes aplikacioneve on-line (dotProject)
 
PROJEKTIMI I PROGRAMIT PËR MENAXHIM TË DOKUMENTACIONIT NË SHKOLLAT E MESME TË...
PROJEKTIMI I PROGRAMIT PËR MENAXHIM TË DOKUMENTACIONIT NË SHKOLLAT E MESME TË...PROJEKTIMI I PROGRAMIT PËR MENAXHIM TË DOKUMENTACIONIT NË SHKOLLAT E MESME TË...
PROJEKTIMI I PROGRAMIT PËR MENAXHIM TË DOKUMENTACIONIT NË SHKOLLAT E MESME TË...
 
Sokol ziberi - Interaksion Njeri-Kompjuter PPT.pptx
Sokol ziberi - Interaksion Njeri-Kompjuter PPT.pptxSokol ziberi - Interaksion Njeri-Kompjuter PPT.pptx
Sokol ziberi - Interaksion Njeri-Kompjuter PPT.pptx
 
Teknologjia dhe dizajni (Vështrim i shkurtër)
Teknologjia dhe dizajni (Vështrim i shkurtër)Teknologjia dhe dizajni (Vështrim i shkurtër)
Teknologjia dhe dizajni (Vështrim i shkurtër)
 
Detyre Kursi - Lider të platformave harduerike dhe Studimi i SI-ve të tyre. R...
Detyre Kursi - Lider të platformave harduerike dhe Studimi i SI-ve të tyre. R...Detyre Kursi - Lider të platformave harduerike dhe Studimi i SI-ve të tyre. R...
Detyre Kursi - Lider të platformave harduerike dhe Studimi i SI-ve të tyre. R...
 
Praksat e mira të përdorshmërisë së web aplikacioneve përmes mjeteve të përmb...
Praksat e mira të përdorshmërisë së web aplikacioneve përmes mjeteve të përmb...Praksat e mira të përdorshmërisë së web aplikacioneve përmes mjeteve të përmb...
Praksat e mira të përdorshmërisë së web aplikacioneve përmes mjeteve të përmb...
 
Ligjerata 6
Ligjerata 6Ligjerata 6
Ligjerata 6
 
Ligjerata 9
Ligjerata 9Ligjerata 9
Ligjerata 9
 
Informatika (Aferdita Berisha) Viti i parë Ekonomik
Informatika (Aferdita Berisha) Viti i parë EkonomikInformatika (Aferdita Berisha) Viti i parë Ekonomik
Informatika (Aferdita Berisha) Viti i parë Ekonomik
 
teknologjia informative / Ligjerata 9
teknologjia informative / Ligjerata 9teknologjia informative / Ligjerata 9
teknologjia informative / Ligjerata 9
 
Menaxhimi i projekteve
Menaxhimi i projekteveMenaxhimi i projekteve
Menaxhimi i projekteve
 
Informatika e biznesit tvogla
Informatika e biznesit tvoglaInformatika e biznesit tvogla
Informatika e biznesit tvogla
 
ligjerata.ppt
ligjerata.pptligjerata.ppt
ligjerata.ppt
 
ligjerata.ppt
ligjerata.pptligjerata.ppt
ligjerata.ppt
 

Inxhinieria softwere

  • 1. UNIVERSITETI: “ALEKSANDER MOISIU” TEKNOLOGJI INFORMACIONI DEGA: SISTEME INFORMACIONI TEMA: INXHINIERIA SOFTWERE PUNOI: XHENI TUSHA
  • 2. Inxhinieria Softuerike Inxhinieria softuerike është një degë e shkencave kompjuterike që merret me prodhimin, mirëmbajtjen, testimin dhe përmirësimin e programeve të ndryshme informatike. Inxhinieria softuerike është term i shpikur në vitin 1968, në një konferencë shkencore ku shtroheshin pyetje "në lidhje me krizën softuerike" dhe u shpik si një përgjigje për gjendjen e palakmueshme të zhvillimit të programeve softuerike dhe cilësisë së tyre. Zhvilluesit softuerik në atë kohë nuk ishin në gjendje për të vendosur objektiva konkrete, kjo parashikohej nga burimet e nevojshme për të arritur këto objektiva, si dhe për të menaxhuar pritjet e konsumatorëve. Definicioni për inxhinierinë softuerike Inxhinieria softuerike është disciplinë e shkencave kompjuterike që ka të bëjë me zhvillimin e aplikacioneve me qasje të strukturuar. Inxhinieria softuerike mbulon jo vetëm aspektet teknike të sistemeve softuerike, por edhe modelimet vizuale, specifikimet formale, përkufizimet matematikore të sistemeve softuerike, çështjet e menaxhimit, sic janë udhëheqja e ekipeve programuese, planifikimi dhe buxhetimi, programimi, testimi, implementimi dhe mirëmbajtja për çështjet e zhvillimit të sistemeve softuerike. Tradicionalisht, inxhinieria softuerike është përqëndruar kryesisht në programim kompjuterik me „ad hoc‟ analizën dhe projektim të teknikave. Këto „ad hoc‟ metoda të inxhinierisë softuerike rezultuan në prodhimin e një sistemi softuerik që nuk u përputhën me kërkesat e shfrytëzuesit, zakonisht mbikalonin buxhetin dhe orarin, si dhe ishin jashtëzakonisht të vështirë për tu përmbajtur dhe përmirësuar. Përpara vitit 1975, shumica e organizatave softuerike përdornin teknika të thjeshta; secila punonte sipas mënyrës së vet. Depërtimet më të mëdhaja u bën përafërsisht gjatë viteve 1975 dhe 1985, me zhvillimin e të ashtuquajturës paradigm klasike dhe e strukturuar. Përpjekja për të arritur deri në zgjidhjen e të ashtuquajturës “kriza softuerike”, qeveritë dhe organizatat private motivuan zhvillimin e të ashtuquajturës metoda “ujëvarë”. Këto metoda definuan kërkesat formale dhe fazat analitike, të cilat duhet të jenë të përfunduara para fillimit të fazes së dizajnimit formal, që duhet të përfundohen para se
  • 3. të filloj faza e implementimit formal, etj. Megjithëse metoda ujëvarë zakonisht është më superiorja tek metodat e rastit, sistemet softuerike të mëdhaja dhe të ndërlikuara ende prodhoheshin pas orarit dhe duke kaluar buxhetin, çka nuk përputheshin me kerkesat e shfrytëzuesit. Kjo ndodhte për disa arsye. Sëpari, metoda ujëvarë fokusohet më mirë në gjenerimin e produkteve të punës se sa në “inxhinjeri”. Thënë më thjeshtë, të shkruash dokumentacionet nuk është e njejtë se sa të bësh një inxhinjeri të mirë. Së dyti, metodat ujëvarë nuk mbështesin evolucionin e kërkesave të sistemit gjatë gjithë zhvillimit të ciklit jetësor. Gjithashtu specifikimet në gjuhën angleze të prodhuara me metodat ujëvarë nuk janë të përshtatshme për përshkrimin e ndodhive të ndërlikuara në sistemet softuerike. Theksi në inxhinjerin softuerike është në të dy fjalët, softuer dhe inxhinjeri. Një inxhinjer është i aftë të ndërton një produkt me kualitet të lartë duke përdorur komponentet që shiten dhe duke i integruar ato në kohën dhe detyrimeve buxhetore. Inxhinjeri shpesh perballohet me proleme që janë keq të definuara, zgjedhje të pjesërishme, dhe duhet t‟u referohet metodave empirike për të përcaktuar zgjidhjet. Problemi për ndërtimin dhe dërgimin e sistemeve softuerike në kohë ka qenë nën hulumtim dhe kërkim. Sistemet softuerike të dobishme janë të ndërlikuara. Për të qenë të dobishëm ato duhet të shtjellohen me kërkesat e shfrytëzuesit dhe mjedisin e synuar. Implikimet financiare të krizës softuerike janë të tmerrshme. Në një sondazh i bërë nga Cutter Consortium [2002], u raportua: - 75% e teknologjisë së informacionit kanë qenë të përfshirë në kontestet që përfunduan në gjyq. - Në 67% të këtyre rasteve, funksionimi ose ekzektumi i produkteve softuerike të dorëzuara nuk përputheshin me pretendimet e zhvilluesve softuerik. Gjatë viteve 1950, shumica e programeve janë shkruar në gjuhën e kuvendit. Këto programe ishin të kufizuara me disa qindra rreshta të kodit të kuvendit, pra ishin në madhësi të vogël. Çdo programer zhvillonte programe në stilin e vet duke u bazuar në intuitën e tij. Ky lloj programimi u quante Programim Kërkimor. Zhvillimi i ardhshëm i rëndësishëm që ka ndodhur gjatë viteve 1960 në fushën e programimit ishte programimi me nivel të lartë gjuhësor. Përdorimi i nivelit të lartë gjuhësor në programim reduktoi arritjet e zhvillimit dhe kohën e konsiderueshme. Në atë kohë u paraqitën gjuhët si FORTRAN, ALGOL, dhe COBOL. Duke u zmadhuar madhësia dhe kompleksiteti i programeve, stili i programimit kërkimor filloi të jetë i pamjaftueshëm. Programeret e kishin të vështirë jo vetëm që të shkruajn dhe përmirësojn programet, por edhe të kuptojn dhe mbajn programe të shkruar nga programer të tjerë. Për tu përballuar me këtë problem, programuesit me përvojë këshilluan programuesit tjerë që t‟i kushtojnë vëmendje të veçantë dizajnit të strukturës së programit. Në vitet e ‟60, u konstatua se “GOTO” deklarata ishte fajtori kryesorë që e bën strukturen e kontrollit të një programi të komplikuar dhe të çrregullt. Në atë kohë shumica e programuesve shfrytëzuan gjuhën e kuvendit gjërësisht. Ata duke konsideruar deklaratat e “GOTO” në gjuhët e niveleve të larta ishin më të natyrshme sepse gjenin afërsi me deklaratat e JUMP që shpesh përdoren në gjuhët programuese të kuvendit.
  • 4. Në këtë periudhë, Dijkstra [1968] publikoi artikullin e tij të famshëm “GOTO Statments Considered Harmful”. Me shpalljen e këtij artikulli shumë programues u zemëruan. Ata botuan disa artikuj duke kundërshtuar dhe duke theksuar avantazhet e deklaratave GOTO. Por, shumë shpejt u dëshmua se vetëm tre konstrukte programimi ishin të mjaftueshëm për të shprehur logjikën e ndonjë programi, ato janë: sekuenca, përzgjedhja dhe përsëritja. Kjo formoi bazën e metodologjisë së programimit të strukturuar. Pas programimit të strukturuar, zhvillimi tjetër i rëndësishëm ishte struktura e të dhënave-dizajni orientuar. Programuesit argumentuan se për të shkruar një program të mirë, është e rëndësishme ti kushtohet më shumë vëmendje dizajnit të strukturës të të dhënave të programit, sesa dizajnit të strukturës kontrolluese. Teknika e strukturës së të dhënave-dizajni orientuar ndihmon për të derivuar strukturën e programit prej strukturës së të dhënave të programit. Shembull është teknika e strukturës së të dhënave-dizajni orientuar Jackson‟s Structured Programming (JSP), e krijuar nga Michael Jackson në vitin 1970. Zhvillim tjetër i rëndësishëm në vitet e ‟70 ishte zhvillimi i teknikës së të dhënave rrjedhëse-dizajni orientuar. Programuesit me përvojë deklaruan se për të patur një struktur programi të mirë, duhet studijuar se si të dhënat rrjedhin nga hyrja deri në dalje të programit. Çdo program lexon të dhëna, i përpunon për të arritur një dalje. Kur rrjedhja e të dhënave është e identifikuar, atëherë prej atje mund të derivohet struktura e programit. Dizajni objekt-orientuar (1980) është teknika e fundit dhe më e aplikuara. Ajo ka një dizajn me qasje intuitive ku objektet natyrale (sic janë të punësuarit,pay-roll regjistri, etj) në një problem janë të parat që identifikohen. Lidhjet mes objekteve (sic janë kompozimi, referimi dhe trashëgimia) janë të determinuara. Çdo objekt në fakt vepron si njësi të dhënash të fshehura. Analiza e kërkesave Analiza e kërkesave në inxhinieri softuerike dhe "sistemet inxhinierike", përfshin ato detyra që shkojnë në përcaktimin e nevojave ose kushtet për të përmbushur një produkt të ri ose për të ndryshuar, duke marrë parasysh konfliktet e mundshme të kërkesave, si të përdoruesit ashtu edhe prodhuesit. Analiza e kërkesave zë vend të rëndësishëm në ndërtimin e një projekti [2]. Kërkesave duhet të jenë të dokumentuara, të zbatueshme, të matshme, të testueshme, të gjurmueshme, në lidhje me nevojat apo mundësitë e identifikuara të biznesit, dhe të përcaktuara në një nivel të detajuar të mjaftueshme për hartimin e sistemit. Kërkesat mund të jenë arkitektonike, strukturore,kërkesa funksionale, dhe kërkesa jofunksionale.
  • 5. PERMBLEDHJE Nga pikëpamja konceptuale, analiza e kërkesave përfshin tre llojet të aktiviteteve: Nxjerrja e kërkesave: është detyra e komunikimit me klientët dhe përdoruesit për të përcaktuar se çfarë janë kërkesat e tyre. Kjo është quajtur ndonjëherë edhe si grumbullimi i kërkesave. Analiza e kërkesave: përcaktimin nëse kërkesat e parashikuara janë të paqarta, jo të plota, dykuptimtë, ose kontradiktore, dhe pastaj zgjidhjen e këtyre çështjeve. Regjistrimi i kërkesave: Dokumentimi i kërkesave në forma të ndryshme. Analiza e kërkesave mund të jetë një proces i gjatë dhe i rëndë gjatë së cilës janë të përfshira shumë aftësi delikate psikologjike. Sistemet e reja kanë ndryshuar mjedisin dhe marrëdhëniet midis njerëzve, kështu që është e rëndësishme për të identifikuar të gjitha palët, duke marrë parasysh të gjitha nevojat e tyre dhe për të siguruar që ata të kuptojnë pasojat e sistemeve të reja. Analiza e sistemeve Analiza e sistemeve është studimi që përcakton subjektet bashkëvepruese, duke përfshirë analizën e sistemeve kompjuterike. Kjo fushë është e lidhur ngushtë me analizën e kërkesave apo operacionet e kërkimit. Ajo është gjithashtu "një hulumtim eksplicit formal i kryer për të ndihmuar dikë (të referuara si vendimmarrës) të identifikojë një kurs më të mirë të veprimit dhe të marrë një vendim më të mirë". Termi analizë në fjalorin e gjuhës shqipe ka kuptimin: Metodë studimi me të cilën e tëra zbërthehet në pjesët e veta përbërëse, me qëllim që të zbulohet ndërtimi i së tërës dhe lidhjet ndërmjet pjesëve; kund. sintezë. Këto terma janë në disiplinën shkencore nga matematika dhe logjika për ekonominë dhe për të treguar psikologjinë e procedurave të ngjashme hetimore. Analiza është përcaktuar si procedurë me të cilën ne e ndajmë një tërësi intelektuale ose substanciale në pjesë. Sinteza është përcaktuar si procedurë me të cilën kombinon elemente të veçanta apo komponentëve në mënyrë që të formojnë një tërësi koherente. Studiuesit e analizës së sistemeve zbatojnë metodologji për analizën e sistemeve të përfshirë për të formuar një tablo të përgjithshme. Analiza e sistemit është përdorur në çdo fushë ku ka një punë të zhvillimit. Analiza mund të përkufizohet si një seri të komponentëve që kryejnë funksionin organik së bashku.
  • 6. Procesi i zhvillimit të softuerit Një proces i zhvillimit të softuerit ose procesi i ndërtimit të softuerit,gjithashtu i njohur edhe si cikli i jetës së zhvillimit të softuerit, është një strukturë e vendosur për zhvilimin e një produkti softuerik. Janë disa modele për proceset e tilla, secili përshkruan qasje të një shumëllojshmërie të detyrave ose aktiviteteve që zhvillohen gjatë procesit. Disa njerëz e konsiderojnë modelin "lifecycle" një term më të përgjithshëm ndërsa një "proces të zhvillimit të softuerit" një term më specifike. ISO/IEC 12207 është një standard ndërkombëtar për procesin lifecycle të softuerit. Ajo synon të jetë standard që përcakton të gjitha detyrat e nevojshme për zhvillimin dhe mirëmbajtjen e softuerit. Aktivitetet e zhvillimit të softuerit Planifikimi Një detyrë e rëndësishme në krijimin e një programi softwerik është nxjerrja e kërkesave ose analiza e kërkesave. Klientët zakonisht kanë një ide abstrakte të asaj që ata duan si rezulltat, por jo se çfar softueri duhet të bëj. Kërkesat jo të plota, të paqarta madje edhe kërkesat kontradiktore janë të njohura në këtë pikë nga inxhinierët softuerikë me njohuri dhe eksperiencë. Shpesh duke treguar kodin dretperdrejtë mund të ndihmojë në uljen e rrezikut, se kërkesat janë të pasakta. Pasi kërkesat e përgjithshme janë mbledhur nga klienti, një analizë e fushës së zhvillimit duhet të përcaktohet dhe të shprehet qartë. Kjo është quajtur shpesh si një dokument i fushës. Disa funksionalitete mund të jenë jashtë fushës së projektit si një funksion i kostos ose si rezultat i kërkesave të paqartë në fillim të zhvillimit. Në qoftë se zhvillimi është bërë nga jashtë, ky dokument mund të konsiderohet një dokument ligjor në mënyrë që nëse ka mosmarrëveshje ndonjëherë, ndonjë paqartësi të asaj që ishte premtuar për të klientit mund të sqarohet. Implementimi, testimi dhe dokumentimi Implementimi është pjesë e procesit ku inxhinierët softuerik në të vërtetë programojnë kodin për projektin. Testimi i softuerit është një fazë integrale dhe e rëndësishme e procesit të zhvillimit të softuerit. Kjo pjesë e procesit siguron që defekte e mundshme të softuerit të zbulohen sa më shpejt të jetë e mundur.
  • 7. Dokumentimi i dizajnit e brendshëm të softuerit me qëllim të mirëmbajtjes në të ardhmen dhe zgjerimi që është bërë gjatë gjithë zhvillimit. Kjo mund të përfshijë edhe të shkruarit e një API, të jetë e jashtme ose të brendshme. Procesi i inxhinierisë softuerike i zgjedhur nga ekipi i zhvillimit do të përcaktojë se sa dokumentacion i brendshëm (nëse ka) është i nevojshëm. Mirëmbajtja e softuerit Mirëmbajtja e softuerit ose en:Software maintenance në inxhinierinë softuerike është ndryshimi i një produkti softuerik pas lëshimit, për të përmirsuar ndonjë problem, për të përmirësuar performancën apo cilësi të tjera. Një perceptim i zakonshëm i mirëmbajtjes është se përfshin vetëm rregullimin e defekteve (bug). Megjithatë, një studim tregoi se pjesa më e madhe, mbi 80%, e përpjekjeve të mirëmbajtjes është përdorur për qëllime jo-korrigjuese të veprimeve (Pigosky 1997) [2]. Çështjet kryesore të mirëmbajtjes softuerike janë dy, menaxhuese dhe teknike. Çështjet kryesore të menaxhimit janë: përafrimi me prioritetet e konsumatorëve, personelit, organizimi i të cilës bën mirëmbajtjen, vlerësimin e kostos. Çështjet kryesore teknike janë: kuptimi i kufizuar, analizat e ndikimit, testimi, matjen e gjendjes. Koncepti i mirëmbajtjes Mirëmbajtja dhe përmirësimi i softuerit, procesi për tu përballur me problemet e reja të zbuluara ose kërkesat e reja mund të marrë më shumë kohë se sa fillimi i ndërtimit të një softueri. Jo vetëm që mund të jetë e nevojshme të shtoni kod që nuk përshtatet me dizajnin origjinal, por vetëm përcaktimi se sa softueri punon në një pikë të caktuar pasi është e përfunduar mund të kërkojë shumë përpjekje për kuptimin nga një inxhinier softuerik. Rreth 2/3 e punës së inxhinierisë softuerike është mirëmbajtja, por kjo statistikë mund të jetë konfuze. Një pjesë e vogël e saj është për përmirësimin e gabimeve. Pjesa më e madhe e mirëmbajtjes është shtimi i sistemit për të bërë funksione të reja, e cila në shumë mënyra mund të konsiderohet si punë e re. Inxhinieria civile, arkitektura dhe punët me konstruksione, mirëmbajtja kryhet me mënyrë të njëjtë]. Mirëmbajtja softuerike dhe evolucioni i sistemeve u drejtua së pari nga Meir M. Lehman në vitin 1969. Gjatë një periudhe prej njëzet vjetësh, hulumtimi e tij çoi në formulimin e "Ligjeve të Lehman për Inxhinieri softuerike" (Lehman 1997). Përfundimet kryesore të hulumtimit të tij përfshijnë atë që mirëmbajtja është me të vërtetë zhvillimi evolutiv dhe se vendimet e mirëmbajtjes janë ndihmuar nga të kuptuarit se çfarë ndodh me sistemet (dhe softuerët) me kalimin e kohës. Lehman tregoi se sistemet vazhdojnë të evoluojnë me kalimin e kohës.
  • 8. Rëndësia e mirëmbajtjes të softuerit Në fund të viteve 1970, një studim i famshëm dhe të cituar gjerësisht nga Lientz dhe Swanson, ekpozoj një pjesë shumë të lartë të kostos së ciklit të jetës që janë duke u shpenzuar për mirëmbajtjen. Ata kategorizuan aktivitet të mirëmbajtjes në katër klasa: Adaptive - që kanë të bëjnë me ndryshimet dhe përshtatjes në gjendjen e softuerit Perfektive - akomodimin me ndryshimin ose kërkesat e reja të përdoruesve që preokupojnë në zgjerimin e funksioneve të softuerit Korrigjuese - që kanë të bëjnë me gjetjen e gabimeve dhe rregullimin e tyre Parandaluese - aktivitetet e shqetësuese që synojnë në rritjen e qëndrueshmërisë të softuerit dhe për të parandaluar problemet në të ardhmen Anketa tregon se rreth 75% e mirëmbajtjes ishte në të dy llojet e para, ndërsa për korrigjimin e gabimeve rreth 21%. Shumë studime të mëvonshme tregojnë një madhësi të ngjashëm të problemit. Studimet tregojnë se kontributi i përdoruesi të fundit është vendimtar për analizat dhe grumbullimin e të dhënave sipas kërkesave të reja. Ky është shkaku kryesor i ndonjë problem gjatë evolucionit të softuerit dhe mirëmbajtjes. Pra, mirëmbajtja e softuerit është e rëndësishme sepse ajo konsumon një pjesë të madhe të shpenzimeve të përgjithshme të ciklit jetësor "lifecycle" dhe gjithashtu paaftësia për të ndryshimin në mënyrë më të shpejtë dhe të besueshëm do të thotë se mundësitë e biznesit janë të humbura. Modeli i procesit të mirëmbajtjes të softuerit Në procesin e mirëmbajtjes softuerike, përdoret termi ri-innxhinieri ose ri-ndërtimi i pjesëve të ndryshme të softuerit. Modeli i procesit ka disa principe, për të implementuar këto principe, aplikohet një model i procesit që definon gjashtë aktivitete (të treguar në figurën djathtas). Në disa raste, këto aktivitete ndodhin në një sekuencë lineare, por kjo nuk është gjithmonë shkaku. Për shembull, mund të jetë inxhinieria e kundërt(të kuptuarit e punëve të brendshme të një programi) mund të ndodhë para se ristrukturimi i dokumentimit të fillojë. Paradigma e ri-inxnxhinierisë është një model ciklik. Kjo do të thotë që secili nga aktivitetet e paraqitura si pjesë e modelit të mund të rishikohen. Për ndonjë cikël të veçantë, procesi mund të përfundojë pas çdo njërit prej këtyre aktiviteteve .