Free Essay

Hsjklf

In:

Submitted By albnet
Words 3505
Pages 15
[pic] [pic]

REPUBLIKA E SHQIPËRISË

UNIVERSITETI I TIRANËS

FAKULTETI EKONOMISE

MSHSIE

Re-engineering

Software engineering

Janar 23, 2012

Punoi: Pranoi:

Alsiona TAFILAJ Blerina VIKA

Gertuda BILO

PËRMBAJTJA

1. REENGINEERING 3 1.1 Objektivat e Reengeering 4 1.2 Shërbimet e Reengeering 5
2. BUSINESS PROCESS REENGINEERING 6 2.1 Modeli i BPR 6
3. RE-ENGINEERING vs. REVERSE ENGINEERING 7
4. SOFTWARE REENGINEERING 8 4.1 Kuptimi i software reengineering 9 4.2 Parimet e software reengineering 9 4.3 Procesi i software reengineering 10 4.4 Modeli i procesit të software reengineering 11 4.5.Avantazhet dhe disavantazhet e software reengineering 13 4.6 Rreziqet e software reengineering 14
5. EKONOMIA E REENGINEERING 15

1. Reengineering

Term i përcaktuar nga Michael Hammer dhe James Champy (në librin e tyre në 1993 'Reengineering The Corporation') si një "rimendim thelbësor dhe ridizajn radikal i proceseve të biznesit për të arritur përmirësime dramatike në masat e marra për përformancën, si kosto, shërbim dhe shpejtësi. I referohet aplikimit të teknologjisë dhe shkencë së menaxhimit për të modifikuar sistemet, organizatat, proceset dhe produktet ekzistuese me qëllimin për t’i bërë ato më efektive, më eficiente dhe përgjegjëse. Përgjegjësia është shumë e nevojshme për një organizatë në cdo fushë të biznesit ku ajo vepron. Rriinxhinieria mund të realizohet në nivel organizatash, në nivel të proceseve të organizatave dhe në nivel produktesh dhe shërbimesh që mbështesin aktivitetet e organizatës. Riinxhinieria është “rruga” sistematike e përsëritur disa herë, me anë të së cilës një firmë ose një proces biznesi realizon punët e tij si duhet.
Riinxhinieria është ekzaminimi, analiza dhe alternimi i një software ekzistues për ta ribërë atë në një formë të re dhe implementimi i kësaj forme të re. Qëllimi është të kuptosh software ekzistues (specifikimet, dizanjin, implementimin) dhe më pas ta riimplementosh atë për të përmirësuar funksionalitetin, përformancën ose implemtnimin e sistemeve.Objektivi është të mbash të njëjtin funksionalitet dhe të përgatitesh për funksione që do të shtohen më vonë.
Diferenca midis inxhinierisë dhe riinxhiierisë shpjegohet me figurën e mëposhtme. Në riinxhinieri sistemi i vjetër vepron si specifikime të sistemit të vjetër.

[pic]

1.1 Objektivat e reengineering
Sfida në riinxhinierimin e software-ve është të marrësh sistemin “legacy” dhe të rrënjosësh në to metoda dhe atribute të mira për zhvillimin e software-ve, duke gjeneruar një sistem të ri, që mban fuksionalitetet e kërkuara, por ka të aplikuara teknologji të reja. Ekzistojnë katër objektiva kryesore të riinxhinierisë: ✓ Përgatitje për përmirësime funksionale ✓ Përmirësim i mirëmbajtjes ✓ Shpërngulja ✓ Përmirësim i sigurisë
Edhe pse riinxhinierimi nuk duhet bërë për të shtuar funksionalitetin e një sistemi ekzistues, ai përdoret për të përgatitur përmirësimin. Sistemet ekzistuese të kompanisë, “legacy”, nga modifikimet apo përmirësimet në vite, bëhen të vështirë dhe të shtrenjtë për t’u ndryshuar. Tashmë kodi nuk ka një strukturë logjike e të qartë dhe dokumentimi ndoshta nuk ekziston dhe nqs ekziston është i papërditësuar. Riinxhinierimi specifikon karakteristikat e sistemit të dëshiruar. Sistemi i riinxhinieruar do të ndërtohet për të lehtësuar përmirësimet. Për shembull, nëse përmirësimet e dëshiruara ndërtohet mbi dizajn object-oriented, sistemi do të zhvillohet duke përdorur teknologjinë object-oriented për të rritur funksionalitetin e sistemit ekzistues.
Ndërkohë që sistemet rriten e zhvillohen, kostot e mirëmbajtjes rriten sepse ndryshimet janë të vështira dhe harxhojnë kohë.Një objektiv i riinxhinierisë është të ridizenjohet sistemi me më shumë module funksionale të përshtashme dhe ndërfaqe eksplicite.
Industria kompjuterike sa vjen dhe rritet me ritme shumë të shpejta, ndryshime ndodhin në hardware dhe software. Me ndryshimin e këtyre sistemeve, aftësitë e personelit shpërngulen drejt teknologjive të reja, duke lënë më pak njerëz të mirëmbajnë sistemet e vjetra. Në një kohë shumë të shkurtër, kostot e hardware dhe software janë më të larta si dhe ka probleme me përshtashmërinë e sistemit të vjetër më të riun. Kështu që, kompanitë duhet të shpërnulen drejt platformave të reja hardware, sistemeve të reja të shfrytëzimit ose gjuhëve për ndërtimin e software-ve.

1.2 Shërbimet e reengineering
Në skenarin e bizneseve të sotëm, kompanitë duhet të rishpikin veten e tyre në bazë të ndryshimeve që nevojiten në biznes, si dhe duhet të aktualizojnë investimet e tyre IT. Me ardhjen e teknologjive të reja, është e domosdoshme që bizneset të realizojnë se automatizimi i operacioneve dhe proceseve të tyre do të cojë në interaktivitet më të mirë me konsumatorët.
Meqënëse kompanitë synojnë tregje të reja, është e rëndësishme përditësimi dhe migrimi i sistemeve të biznesit në një platformë më të fundit. Shërbimet e riinxhinierisë që ofrohen janë: ✓ Business process re-engineering Nëse sistemi ekzistues ka ngelur pas nga ndryshimet në biznes, atëherë duhet realizuar një studim i detajuar i sistemit dhe duhet zhvilluar një zgjidhje me specifikimet e duhura në proceset e biznesit. ✓ Shpërngulja e sistemeve “legacy” në teknologjinë e re Sistemet “legacy” janë aplikime software dhe hardware, në të cilat firma ka investuar kohë dhe para të konsiderueshme. Këto sisteme kryejnë operacione kritike edhe gjatë kohës kur ato janë duke pasur probleme. Zëvendësimi i sistemeve “legacy” mund të jetë përcarës dhe kërkon planifikime të kujdesshme dhe mbështetje për prodhuesit. Mund të realizohet shpërngulja e sistemeve “legacy” në paltforma që mund të jenë më të lehta për t’u mirëmbajtur. ✓ Integrimi i aplikimeve Shumë shpesh firmat kanë sisteme stand-alone që e kanë të vështirë që të operojnë së bashku. Në këtë rast, duhet të integrohen të gjitha sistemet në një platformë të përbashkët për të siguruar një zgjidhje

2.Business Process Reengineering (BPR)

Riinxhinierimi i proceseve të biznesit është analiza dhe ridizenjimi i workflow dhe proceseve brenda organizatës. Më thjeshtë, BPR është redizenjimi i aktiviteteve në mënyrën që ato punojnë më mirë.Një proces është një grup serish ose kombinim detyrash ose aktivitetesh për të prodhuar një rezultat.Rezultati mund të jetë një pjesë makinerie, një vizatim ose një kërkesë për materiale.

2.1 Modeli për një BPR

[pic]

✓ Përkufizimi i biznesit Identifikon qëllimet e biznesit, duke u nisur nga tre celsa kryesorë: reduktimi i kostove, reduktim kohe, përmirësim cilësie dhe zhvillim personeli. Qëllimet mund të arrihen në nivel biznesi ose për një komponent specifik të tij. ✓ Identifikimi i proceseve Identifikon proceset që janë kritike për arritjen e qëllimeve të specifikuara në përkufizimin i biznesit. Proceset mund të renditen në bazë të rëndësisë dhe nevojës për ndryshime.

✓ Vlerësim i proceseve Procesi ekzistues analizohet dhe matet. Identifikohen detyrat e procesit; kostoja dhe koha e konsumuar nga detyrat e procesit si dhe izolohet cilësia dhe performanca e problemeve. ✓ Specifikimi dhe dizajni i procesit Bazuar nga informacioni i marrë nga aktivitetet e mësipërme, ndërtohet use case për cdo proces që do të ridizenjohet. Si dhe dizenjohen detyra të reja për cdo procesin. ✓ Prototipi Ndihmon në testimin e proceseve përpara se të integrohen në biznes. ✓ Përpunimi dhe realizimi i një abstraksioni Bazuar nga feedback i prototipit, procesi i biznesit ripërcaktohet dhe ilustrohet brenda sistemit të biznesit.

3. Reengineering vs. Reverse Engineering

Riinxhinierimi nuk është shkurtim i inxhinierimit reverse, por është një metodë e përdorshme për të përmirësuar sistemet. Riinxhiierimi ndryshon teknologjinë themelore të një sistemi, pa ndikuar në funksionin e përgjithshëm të sistemit. Për shembull, riinxhinierimi ndodh kur një organizatë lëviz nga Cobol i pastrukturuar në Cobol të strukturuar; nga asambleri në Cobol; nga një nivel gjuhe programimi në një nivel tjetër; nga një hardëare në një tjetër; nga terma jot ë standartizuar në terma të standartizuar.
Inxhinierimi reverse është e kundërta e inxhinierisë. Ai përcakton përmbajtjen e dizanjit origjinal të sistemit. Inxhinierimi reverse është metoda e krijimit të komponentëve të software për të cilit mungon kodi, ose software është jashtë përdorimit ose nuk është në përputhje me komponentët ekzistues. Shembull të inxhinierimit reverse janë disasembluesit dhe dekompilatorët. Ndryshe, inxhinierimi reverse mund të konsiderohet si procesi i analizimit të sistemit për të identifikuar komponentët e tij dhe lidhjet midis

komponentëve, si dhe për të krijuar përfaqësime të sistemit në një formë tjetër ose në një nivel më të lartë abstraksioni.
Inxhinierimi reverse është marrja e një produkti, ekzaminimi i tij dhe shqyrtimi i tij për të rindërtuar një plan nga i cili produkti do të ndërtohet dhe mënyra se si ky produkt do të punojë. Për shembull, nëse marr një orë dhe masë të gjithë mekanizmat si dhe zhvillojë një plan për të kuptuar sesi mekanizmat do të qëndrojnë së bashku. Inxhinierimi reverse ofrohet nga kompanitë për të kopjuar dhe kuptuar pjesë të produkteve të konkurrentëve, që është një veprim kundër ligjit.
Riinxhinierimi është rregullimi, alterimi dhe zëvendësime të pjesshme të produktit, në mënyrë që ai të ndryshojë funksionin e tij, duke u përshtatur me nevoja të reja. Përdoret zakonisht nga kompanitë për të përshtatur produkte të ndryshme në mjedisin ku ato do të veprojnë.
Si përfundim, themi se inxhinierimi reverse përpiqet të rikrijojë kodin burim nga kodi i kompiluar.Ai gjen se si një pjesë software punon duke dhënë vetëm sistemin e përfunduar. Riinxhinieria krijon një pjesë të ri software me të njëjtat karakteristika të pjesës së mëparshme, por duke përmirësuar mënyrën se si ajo është ndërtuar. Domethënë, riinxhinieria është ekzaminimi i produktit përfundimtar dhe rindërtimi i tij, por më mirë.

4. Software reengineering
Inxhinierimi i software-ve përqëndrohet në përcaktimin dhe përmirësimin e procesit të zhvillimit të software-t. Dhe kjo prodhon rezultate të rëndësishme, duke filluar nga analiza të strukturuara, në analizat e orientuara nga objekti, etj; të cilat janë shumë të dobishme në zhvillimin e sisteme-ve të reja si dhe mundëson që sistemet inxhinierike ekzistuese të mirëmbahen dhe të jenë të dokumentuara mirë. Por pjesa më e madhe e sistemeve zakonisht janë shumë të varfër në dokumentacion dhe gjithmonë vuajnë nga ndryshimi i personelit si dhe nga riparimi i shpeshtë i adhoc.Pra, këtu futet riinxhinieria.

4.1 Kuptimi i Software Reengineering • Riinxhinierimi i software-t është transformimi sistematik i një sistemi ekzistues në një formë të re për të realizuar përmirësimin e cilësisë në operacione, aftësinë e sistemit, performancën e tij, ose evoluimin i tij me një kosto më të ulët, të planifikojë, ose ta bejë sistemin më të adaptueshëm pa ndonje kosto të madhe si dhe pa cënuar veprimtarinë e përdoruesve. • Riinxhinierimi i software-t nënkupton riimplementimin e sistemit, pra ta bësh atë më të shfrytëzueshëm. • Riinxhinierimi i software-t është një teknikë, e cila përdor principe të inxhinierimit duke na mundësuar përmirësime radikale të sistemit. • Riinxhinierimi i një sistemi realizohet pasi ky sistem është inxhinieruar për të shtuar funksionalitete të tjera ose për të korrigjuar gabimet. • Riinxhinieria e software-t është një sërë aktivitetesh që kryhen për të ristrukturuar një sistem në një sistem të ri me funksionalitete të mira duke i dhenë ato në bazë të software-t dhe hardware-t të përdorur.

Këto përkufizime theksojnë se riinxhinierimi përmirëson sistemin egzistues duke patur një kthim nga investimi (ROI) më të madh nëqofëse do të investohej në krijimin e një sistemi të ri. Ajo është e lidhur ngushtë me mirëmbajtjen tradicionale, siç përcaktohet nga ANSI-IEEE: mirëmbajtje- përfshin bërjen e korigjimeve, përmirësimin si dhe ndryshimet e software-it, ndërsa zhvillimi fokusohet në zbatimin e aftësive të reja, duke shtuar funksionalitete ose për të bërë përmirësime thelbësore, duke përdorur burime të reja kompjuterike dhe përfshirjen e teknologjive të reja software-ike. Rinxhinierimi përfshin hendekun midis këtyre dy aktiviteteve dhe shfaq karakteristikat e të dyjave.

4.2 Parimet e software reengineering
Parimet e riinxhinierimit kur aplikohen në zhvillimin e procesit të software-t quhen riinxhinierimi i software-it. Ato ndihmojnë pozitivisht në koston e software-t, në kualitetin e tij, në shpejtësinë e ofrimit të tij si dhe në shërbimet që ju ofrohet përdoruesve. Përgjatë këtij procesi duhet të kemi parasysh këto parime: • Ripërcaktimi i objektit dhe qëllimit • Ripërcaktimi i RDD dhe SRS duke shtuar, fshirë dhe zhvilluar akoma edhe më shumë funksionalitetet dhe vecoritë e software-t. • Ridizejnimi i aplikacionit si dhe përdorimi i një teknologjie për arkitekturën e software-it. • Ristrukturimi i të dhënave të databazës, përmirësimi i dizajnit të databazës, ristrukturimi i kodit që të zvogëlohet në përmasa si dhe të jetë më eficent. • Rishkrimi i dokumentacionit që përdorimi i tij të jetë më i favorëshëm.

4.3 Procesi i software reengineering
Procesi i riinxhinierimit merr si input programin “legacy” dhe si output ka po të njëjtin program, por më i strukturuar, me funksionalitete më adoptuese.
Figura e mëposhtëme paraqet hapat e këtij procesi:

[pic]
Procesi i riinxhinierimit përfshin këto aktivitete: ✓ Source code translation: gjuha e programimit në programin egzistues kthehet ose zhvillohet në një version të ri të po kësaj gjuhe ose duke përdorur një gjuhë tjetër programimi.

✓ Reverse engineering: program analizohet dhe i gjithë informacioni i marrë nga kjo analizë ndihmon në dokumentimin e funksionaliteteve te software-it. ✓ Program structure improvement: struktura e programit është analizuar dhe modifikuar për ta bërë atë më të kuptueshëm dhe më të adoptueshëm. ✓ Program modularization: hiqet cdo pjesë e dublikuar e programit si dhe ato pjesë që kanë lidhje me njera tjetrën grupohen së bashku. ✓ Data re-engineering: të dhënat e programit ndryshojnë për t’u përshtatur me ndryshimet që ju bënë vetë software-it.

4.4 Modeli i procesit të software reengineering

[pic]
Riinxhinierimi është një aktivitet rindërtues. Që të implementohen principet e inxhinierisë së software-ve përdoret modeli i procesit të riinxhinierimit të software-ve. Aktivitete që përfshihen në këtë model janë: ✓ Inventary analysis
Cdo organizatë duhet të ketë një inventar për cdo aplikacion që ajo përdor. Inventari është një model spreadsheet që përmban informacione që përshkruajnë cdo aktivitet të aplikacionit. Duke klasifikuar këto informacione në bazë të vendimeve të biznesit, jetëgjatësisë së tij dhe kritere të tjera të cilat ndikojnë në riinxhinierimin e software-it.
Është e rëndësishme të theksohet se inventari mund të ripërdoret sa herë që realizohet ky cikël deri sa arrihet në produktin përfundimtar të riinxhinierimit. Po kështu ajo ndihmon në përcaktimin se cilët janë software-t që duhet t’i nënshtrohen procesit të riinxhinierisë. ✓ Document restructuring
Pjesa më e madhe e dokumentacioneve që janë për programet “legacy” në organizatë janë dokumentacione jorezistuese (weak). Prandaj përpara organizatës shtrohen pyetjet: Cfarë duhet të bëj? dhe Si duhet të rregulloj dokumenentimeve?
a)Krijimi i dokumentimeve kërkon shumë kohë: në qoftë se sistemi punon atëherë ne do të mbajmë ato dokumenta që kemi sepse është shumë e vështirë që organizata të bëj ndryshime në dokumentat e programeve që ajo përdor.
b)Dokumentimi duhet të përditësohet, por kemi burime të limituara: dokumentacioni përditësohet atëherë kur ne duhet ta përdorim atë për të shmangur sadopak përdorimin e vazhdueshëm të burimeve.
c)Sistemi është i rëndësishëm në vendimet e biznesit: pra cdo dokumentim që i përket këtij sistemi duhet që të ripërpunohet, por pa ndryshuar gjërat më të rëndësishme të dokumentit.
Secila nga opsionet mund të aplikohet, por duhet të kihet parasysh se në c’rast jemi. ✓ Reverse engineering
Reverse engineering është një procesi i analizimit të programit që rikrijion një riprezantim të programit i cili do të jetë në një nivel abstragimi më të lartë se i pari. Është procesi i rikrijimit të dizajnit. Tool-set e reverse engineering heqin informacionin rreth arkitekturës dhe dizenjimit të të dhënave tek programi “legacy” dhe e rikrijojnë atë. ✓ Code restructuring
Synimi kryesor i procesit të riinxhinierimit është ristrukturimi i kodit të programit “legacy”. Disa nga sistemet egzistuese mund të kenë një arkitekturë solide, por modelet individuale (përbërësit e software-t) janë koduar në mënyrë të atillë që i bëjnë ato të vështira për t’u kuptuar, testuar dhe mirëmbajtur. Në këtë rast kodi i këtyre modeleve duhet te ristrukturohet.

Burimi i kodit analizohet duke përdorur tool-s të posacme për ta ristrukturuar atë. Pasi është identifikuar struktura e kodit është e nevojshme që ai të testohet sepse mund të ndodh që të kemi anomali. Po kështu edhe dokumentacioni që përshkruan kodi duhet të ndryshojë. ✓ Data restructuring
Një program me një strukturë të dhënash jorezistente(weak) është shumë i vështirë që të përditësohet dhe të zhvillohet me tej. Në shumë aplikacione struktura e të dhënave është ajo, e cila përcakton realizueshmërinë e programit.Duke bërë ristrukturimin e kodit është e detyrueshme që të bëhet dhe ristrukturimi i të dhënave. Në shume raste ristrukturimi i të dhënave fillon që me reverse engineering, ku struktura egzistuese e të dhënave do shqyrtohet më imtësisht që të përcaktohet modeli i të dhënave që do të përdoret. Dhe së fundmi pasi percaktohet struktura e re e të dhënave, rishikohen dhe njëherë vecoritë e saj. ✓ Forward engineering
Aplikacioni mund të rindërtohet duke përdorur një motor automatik riinxhinierimi, ku programi “legacy” pasohet tek ky motor për t’u analizuar, ristrukturuar dhe më pas rigjenerohet në një formë tjeter e cila ka kualitet të lartë dhe vecori më të mira. Në disa raste kjo fazë mund të cilësohet si reklamimi i rinovimit të software-it.

4.5 Avantazhet dhe disavantazhet e software reengineering • Avanatazhe

✓ Kosto më të vogla Harxhojmë më pak si në kohë ashtu dhe në vlerë monetare nëse e përmirësojmë një sistem duke u nisur nga “legacy” i tij se sa ta krijojmë atë nga fillimi. ✓ Rreziqe më të vogla Riinxhinieria bazohet në përmirësim në rritje të sistemeve sesa në zevendësim radikal të tij. Risku në humbjen e njohurive të biznesit, që mund të jenë të

ndërfutura në sistemet “legacy” ose rreziku që të mos përfshihen nevojat reale të përdoruesve zvogëlohet. ✓ Përdorim më i mirë i stafit ekzistues Stafi ekzistues mund të mbahet dhe të zgjerojë aftësi të reja gjatë riinxhinierimit. Kjo do të thotë së aftësitë e stafit rriten ashtu si zhvillohen vetë sistemi. Mbajtja e stafit ekzistues mban më pak rreziqe dhe shpenzime sesa të punësosh staf të ri. ✓ Rideklarim të rregullave të biznesit Meqënëse një sistem po riinxhinierohet,atëherë rregullat e biznesit që përfshihen në sistem rizbulohen. ✓ Zhvillim në rritje Riinxhinieria mund të zhvillohet në faza, derisa buxheti dhe burimet janë të disponueshme. Organizatat gjithmonë kanë një sistem pune dhe end-user e kanë më të lehtë të përshtaten më riinxhinierimin nëse ai shpërndahet me rritje.

• Disavantazhe

✓ Limite praktike në zgjerim të riinxhinierimit Nuk është e mundur të konvertosh një sistem të shkruar në një sistem funksional object-oriented. ✓ Ndryshime në arkitekturën ose riorganizim radikal të sistemit të menaxhimit të të dhënave ✓ Sistemet e riinxhinieruara nuk janë aq të mirëmbajtur sa sistemet e reja që zhvillohen duke përdorur metoda moderne të riinxhinierisë.

4.6 Rreziqet e Software reengineering
Përpara se të vendosim nqs duhet të realizojmë riinxhinierinë ose jo duhet të marrim parasysh disa rreziqe që mund të kemi. Në këtë paragraf jepet një përshkrim i rreziqeve që mund të has ky proces, të realizuara nga Arnold 1993.

✓ Risku i procesit - Kosto shumë të larta për riinxhinierimin manual - Kostoja e përfitimit jo e realizuar në kohën e duhur - Nuk justifikohen ekonomikisht përpjekjet e riinxhinierimit - Mungesë e angazhimit menaxherial për të gjetur zgjidhjen e riinxhinierisë ✓ Risku i personelit - Programuesit mund të pegojnë fillimin e riinxhinierisë - Programuesit mund të kenë një performancë më pak efektive duke bërë që projekti i riinxhinierisë të duket më pak efektiv. ✓ Risku i aplikimeve - Riinxhinierimi mund të kryhet pa praninë e ekspertëve të aplikimit - Njohuritë ekzistuese të biznesit të ndërfutura në kod mund të humbasin - Sistemi i riinxhinieruar nuk performon si duhet ✓ Risku i teknologjisë - Informacioni i përmirësuar nuk është i nevojshëm ose nuk përdoret - Teknologjia e përdorur nuk është e duhura për të arritur qëllimet e riinxhinierimit ✓ Risku i mjeteve - Varësi nga mjetet që nuk performojnë si janë reklamuar - Jo përdorim të mjeteve të instaluara ✓ Risku i strategjisë - Angazhim i parakohshëm për riinxhinierimin e gjithë sistemit - Dështim për të arritur një vizion të tejzgjatur më qëllime të përkohshme - Mungesë të një pamje globale: kodi, të dhënat, procesi i riinxhinierisë - Asnjë plan për të përdorur mjete të riinxhinierisë

5. Ekonomia e REENGINEERING
Në një botë perfekte, cdo program jo i mirëmbajtur do të dalë jashtë përdorimit menjëherë ose do të zëvendësohet nga aplikime me një cilësi të lartë që do të përdorin praktika moderne të inxhinierimit të software-ve. Por ne jetojmë në një botë me burime të kufizuara. Riinxhinieria shteron burimet që mud të përdoren për qëllime të tjera të biznesit.Kështu që përpara se një organizatë të tentojë të realizojë riinxhinierimin, duhet të realizojë një analizë kosto-përfitim.
Një model e analizës kosto-përfitim është propozuar nga Sneed [SNE95]. Në këtë anlizë përcaktohen 9 elementë:
P1 = kostoja aktuale vjetore e mirëmbajtjes për aplikimin
P2 = kostoja aktuale vjetore e operimit për aplikimin
P3 = vlera aktuale vjetore e biznesit për aplikimin
P4 = kostoja e parashikuar vjetore e mirëmbajtjes për aplikimin
P5 = kostoja e parashikuar vjetore e operimit për aplikimin
P6 = vlera e parashikuar vjetore e biznesit për aplikimin
P7 = kostot e vlerësuara të riinxhinierisë
P8 = koha e vlerësuar e riinxhinierisë
P9 = faktori i rrezikut të riinxhinierisë (P9 = 1.0 është nominal).
L = jeta e pritur e sistemit
Kostoja që shoqëron mirëmbajtjen e një aplikimi, pa përdorimin e riinxhiniersë, mund të përcaktohet si: Cmaint = [P3 -(P1 + P2)] * L
Kostoja duke aplikuar riinxhinierinë është:
Creeng = [P6 - (P4 + P5)*(L -P8) -(P7 * P9)]
Duke përdorur kostot e mësipërme, përfitimi i riinxhinierisë llogaritet si: cost benefit = Creeng _ Cmaint
Analiza e kosto-përfitimit mund të përdoret për të gjitha aplikacionet e identifikuara, nga të cilat ato që kanë koston më të lartë do të bëhen target për riinxhinierinë, ndërkohë që të tjerët mund të shtyhen derisa të jenë burimet e vlefshme.

Similar Documents