TEMA: PRODUKTI SOFTWARE N kt leksion... ! far sht Inxhinieria Software, pse sht e domosdoshme dhe fushat e aplikimit. ! Kndvshtrim 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? Qllimi i industris s prodhimit t software-ve sht prodhimi i aplikacioneve me cilsi t lart, q plotsojn krkesat e klientve dhe prdoruesve, q jetojn gjat, q jan lehtsisht t prdorshm dhe q kan sa m pak gabime. Ndrtimi i nj software-i t till ideal sht nj proces relativisht i vshtir. Pr t qen t suksesshm n kt industri nevojitet nj disiplin specifike gjat dizenjimit dhe zhvillimit t software-it. Duhet pra nj kndvshtrim inxhinierik mbi t gjith procesin. Shum kompani dhe individ ende zhvillojn software n mnyr kaotike, bazuar n nj analiz t varfr, ka on n marrjen e rezultateve jo t knaqshm si jan software q dshtojn shpesh dhe q nuk arrijn t prmbushin krkesat e pritura. Pr t optimizuar kto dukuri aplikohet Inxhinieria Software. Disa prkufizime: Inxhinieria Software sht ndrtimi dhe prdorimi i parimeve t shndosh inxhinierik pr t prftuar software ekonomik, t besueshm dhe q punojn n mnyr efiente n makina reale.- Fritz Bauer, 1969. Inxhinieria Software sht studimi i nj mnyre sistematike, t disiplinuar pr t zhvilluar, operuar dhe mirmbajtur 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 ashtuquajturs Krizs s Software(Software Crisis) q shqetsoi programuesit dhe organizatat n vitet 60. Kriza konsistonte n: ! Software me performanc dhe besueshmri t ult. ! Software t paprfunduar n koh. ! Software me kosto t lart mbi kufijt e parashikuar. ! Software q nuk jetonin gjat dhe q nuk knaqnin krkesat e prdoruesve.
2
Leksion 1 Inxhinieri Software Nj sr konferencash u mbajtn pr zgjidhjen e saj. N konferencn e mbajtur nga NATO n 1968 u arrit n prfundimin 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 individve. Sot nuk vihet m n dyshim domosdoshmria e ksaj disipline. Debati vazhdon t zhvillohet mbi mnyrn e aplikimit t saj, mjetet dhe metodat q duhet t prdoren pr maksimizimin e cilsis dhe minimizimin e faktorit kosto+koh. Kriza e Software ndodhi n kushtet e krkesave gjithnj e n rritje pr software dhe pamundsis pr ti plotsimin e tyre n kushtet e burimeve t pamjaftueshme njerzore, kohore dhe financiare. Krkesa pr software sht rritur m shum se aftsia jon prodhuese. Pr m tepr kombi ka nevoj pr software shum her m t prdorshm, t besueshm dhe t fuqishm se ata ekzistues. N mnyr t rrezikshme ne po bhemi t varur nga sisteme gjigant software-ik sjellja e t cilve jo gjithmon sht e kuptueshme dhe q shpesh dshtojn n mnyr t paparashikuar. Presidenti i Komitetit Kshillues mbi Teknologjin e Informacionit 1999 1.3 Aspekte historik Shum libra i dedikohen dshtimeve spektakolare t software-ve dhe dmeve q kan shkaktuar. The most likely way for the world to be destroyed, most experts agree, is by accident - Nathaniel Borenstein Shumica e ekspertve bien dakord se mnyra m e mundshme pr shkatrrimin e bots sht aksidenti. - Nathaniel Borenstein
Gabimet, si n do fush tjetr t shkencs jan t padshirueshme por edhe jo plotsisht t paevitueshme n t njjtn kohe. Inxhinieria Softuer sht ndoshta e vetmja disiplin inxhinierike ku gabimet parashikohen t ndodhin me siguri. Disa shembuj t dshtimeve t bujshm t software-ve dhe statistika. Sipas nj studimi t IBM 1994 u arrit n prfundimin se: ! 55% e projekteve kan tejkaluar koston e parashikuar. ! 68% e projekteve kan tejkaluar afatet kohor dhe jan dorzuar me vones. ! 88% e projekteve jan ridizenjuar n mnyr thelbsore. Sipas Departamentit t Statistikave mbi Punn,1997: ! N do 6 sisteme t vn n pun 2 jan anulluar. ! Probabiliteti i anullimit sht 50% pr sistemet e mdha. ! Mesatarja e projekteve q tejkalojn afatet kohor sht 50%. N vitet 1985-1987 u ndrtua nj makin e cila do t shrbente pr radioterapi dhe q do t kontrollohej nga nj software. Nga hardware u hoq mekanizmi q suportonte dy funksione n t njjtn
3
Leksion 1 Inxhinieri Software koh, ndrkoh q edhe software nuk ofronte nj tipar t till. Makina nuk arriti t menaxhonte dy mnyra pune njkohsisht: veprimtaria me rreze elektron dhe ajo me rreze X. Kjo shkaktoi disa vdekje si rezultat i djegieve te pacientt. Shkaku i aksidentit ishte mungesa e njohurve t mjaftueshme t programuesit mbi programimin paralel. Raketa Ariane 5 e lshuar n hapsir n 1996 nga Agjensia Europiane Hapsinore arriti t qndroj vetm pr pak momente n hapsir dhe m pas u shkatrrua. Shkaku: Prjashtim i pamenaxhuar n kodin Ada si rezultat i ndryshimeve fizike Software i Anijes Hapsinore (Space Shuttle) i njohur ndryshe si gabimi Y2K Kostoja: $10 Billion, miliona dollar m shum se ishte planifikuar. Koha: 3 vjet me vones Cilsia: Lshimi i par i Columbia u anullua pr 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 br 2 vjet m par, duke ndryshuar nj faktor ngadalsie 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 mijra orve t testimit.
Historia e Netscape Navigator Browser-i i par i prdorur gjersisht n bot u krijua n Universitetin e Illinois n 1994. Pjesmarrsit n projekt bn nj pun t shpejt por jo t pastr gjat zhvillimit t tij. Gjithsesi brenda 8 muajve ekipi nxori Netscape Navigator i cili punonte n tre platforma. N t njjtn koh Microsoft punonte pr Internet Explorer, por e nxori produktin n treg vetm pas nj viti. Netscape vazhdoi t ishte dominues pr aq koh sa nuk nevojiteshin tipare t reja. Koha dhe konkurrenca me I Explorer krkoi 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 krejtsisht i pamenaxhueshm. Dizenjimi i Netscape Navigator nuk ishte aq largpams sa t lejonte jetgjatsi t tij nn trysnin e krkesave gjithnj e n rritje t prdoruesve. Ekipit iu desh t paguante koston e t shkruarit kod pa kaluar m par n modelim. Ndrkoh q Microsoft vazhdonte t fitonte betejn deri sa Netscape u zvendsua trsisht nga Internet Explorer. 1.4 Inxhinieria Software vs. Programim T inxhinierosh nj software nuk do t thot thjesht ta programosh at. Inxhinieria Software nnkupton n t vrtet 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 prvoj t mjaftueshme n programim.
4
Leksion 1 Inxhinieri Software Inxhinieria Software: ! Prkufizon problemin e parashtruar pr tu zgjidhur. ! Organizon ekipet prgjegjse pr zgjidhjen e tij. ! Analizon dhe teston gjat gjith ciklit jetsor(Software life-cycle). ! Ndrton nj arkitektur t mir pr software n analogji me drejtimet e tjer inxhinierik.
1.2 Sfidat e Inxhinieris Software Inxhinieria Softuer e shekullit t 21 prballet me tri sfida kryesore: 1) Sfida e heterogjenitetit. Gjithnj e m tepr sistemet krkohen t operojn si sisteme t shprndar q punojn n rrjeta q prfshijn tipe t ndryshm makinash dhe sistemesh. Shpesh paraqitet e nevojshme q t integrohen softuer t rinj me sisteme t vjetr ndonjher t shkruar n gjuh t ndryshme programimi. Sfida e heterogjenitetit sht sfida e zhvillimit t teknikave t reja pr zhvillimin e softuerve fleksibl. 2) Sfida e dorzimit. Shum prej metodave tradicionale t IS jan metoda q shpenzojn shum koh e cila sht e nevojshme pr t arritur cilsin e krkuar t softuerit. Por bizneset sot ndryshojn shum shpejt dhe softuert q i suportojn ata duhet t ndryshojn me t njjtn shpejtsi. Sfida e dorzimit sht sfida e shkurtimit t kohs s dorzimit pr sisteme t mdhenj dhe kompleks pa rrezikuar cilsin e softuerit. 3) Sfida e besimit. Meqense softuert ndrhyjn n jetn ton n shum mnyra sht e rndsishme q njerzit ti besojn atyre. Kjo sht veanrisht e rndsishme n sistemet q mund t aksesohen n distanc me an t faqeve web ose shrbimeve web. Sfida e besimit shtron krkesn e zhvillimit t teknikave q e bjn softuerin t besueshm pr prdoruesit e tij.
! Projekt i madh ! Ekip ! Ndrton far t tjert duan ! Familje produktesh ! Shume ndryshime paralele ! Jet-gjat ! I kushtueshm ! Pasoja t mdha ! Projekt i vogl ! Ju ! Ndrton far do ! Nj produkt ! Pak ndryshime te njpasnjshme ! Jet-shkurtr ! I lir ! Pasoja t vogla
5
Leksion 1 Inxhinieri Software 1.3 Prgjegjsit 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 inxhinierve. Inxhiniert softuer duhet t pranojn q puna e tyre prfshin prgjegjsi m t gjera se sa vetm aplikimi i aftsive t tyre teknike. Ata gjithashtu duhet t sillen n mnyre etike dhe t prgjegjshme nse duan q t respektohen si profesionist. Aftsit dhe njohurit nuk duhet t prdoren n mnyr t pandershme duke cnuar kshtu reputacionin e profesionit t inxhinieris softuer. Megjithat ekzistojn disa fusha ku standardet e sjelljeve t pranueshme nuk kufizohen nga ligjet por nga nocioni i prgjegjshmris profesionale. Disa prej ktyre jan: 1) Konfidencialiteti. Inxhiniert softuer duhet t respektojn konfidencialitetin e punonjsve ose t klientve t tyre edhe nse nuk sht nnshkruar ndonj kontrat pr kt qllim. 2) Kompetenca. Inxhiniert softuer nuk duhet t keqinterpretojn nivelin e tyre t kompetencs. Ata nuk duhet t pranojn q t kryejn pun pr t cilat jan t ndrgjegjshm q nuk jan kompetent. 3) T drejtat e prons intelektuale. Inxhiniert dhe kompanit softuer duhet t jen n dijeni t ligjeve pr pronn intelektuale si p.sh patentat dhe t drejtat e autorit. Duhet t sigurohen q t mbrojn pronn intelektuale t punonjsve dhe t klientve. 4) Keqprdorimi i kompjuterit. Inxhiniert softuer nuk duhet ti prdorin aftsit e tyre teknike pr t keqprdorur kompjuterat e njerzve t tjer. Keqprdorimet e kompjuterave variojn nga rastet m t thjesht (si p.sh t luash lojra n kompjuterin e pundhnsit) deri n rastet m ekstreme (infektimi i kompjuterave me viruse). N vendosjen e standarteve etike luajn nj rol t rndsishm edhe shoqrit dheinstitutet profesioniste si p.sh ACM, IEEE, British Computer Society etj. Kto shoqri publikojn kode etik dhe profesional q duhet t respektohen nga antart e tyre. ACM dhe IEEE kan kooperuar pr t prodhuar nj kod praktike profesionale dhe etike t prbashkt. Ky kod ekziston n dy forma: formn e shkurtuar dhe n formn e gjat 5) PRODUKTI 2.1 Rndsia e software n shoqrin e sotme t informacionit Software sht i paevitueshm n shoqrin moderne t informacionit. do veprimtari shoqrore apo prodhuese varet prej sistemeve software. Biznesi dhe krkimet shkencore drejtohen prej tyre. Software prfshihen n sisteme t t gjitha llojeve: transport, mjeksi, telekomunikacion, ushtri, procese industrial, argtim etj. Impakti sht i pakundrshtueshm pr sa koh q shoqria i ka besuar software-ve punn, mirqenien, sigurin madje edhe jetesn. Software duhet par paralelisht edhe si produkt edhe si mjet pr t prftuar produktin. Roli i tij sht kaq i rndsishm pasi na sjell produktin m t rndsishm t kohs: informacionin. Megjithat roli i software dhe raporti i tij me hardware ka ndryshuar gjat 50 viteve t jets s tij. Avancimet e teknologjis hardware, rritja e aftsive llogaritse kan sjell sisteme software kompjuterik m kompleks dhe m t sofistikuar.
6
Leksion 1 Inxhinieri Software
Shpenzimet hardware kundrejt shpenzimeve software
2.2 Tiparet e software Formalisht software prkufizohet si: 1. Nj trsi instruksionesh q japin performancn dhe funksionin e dshiruar gjat ekzekutimit. 2. Struktura t dhnash q i mundsojn programeve nj manipulim t prshtatshm t informacionit. 3. Dokumente q prshkruajn operimin dhe prdorimin e programeve. Produkti Software sht i ndryshm nga produktet e tjera q njerzit prodhojn dhe ndrtojn. Software n ndryshim nga hardware sht m tepr nj element logjik se fizik, prandaj edhe ka karakteristika q e dallojn n mnyr thelbsore nga hardware. 1. Software zhvillohet ose inxhinierohet. Ai nuk prodhohet n kuptimin klasik t fjals. Ka ngjashmri midis ktyre aktiviteteve dhe burimet q prdoren jan t ngjashm por marrdhniet midis tyre si edhe kndvshtrimi nga i cili ato shihen ndryshon. Kjo do t thot se 197
197
198
198
199
199
Software 5% /
Minis/Mainframes 20% / vit PCs/Workstations 50% /
Rritje n raportin performanc/mim pr vit 50% 20% 5%
7
Inxhinieri Software projektet software nuk mund t tjer prodhues. 2. Nj softuer nuk ndikohet nga procesi i prodhimit. N nj far mnyr kjo e lehtson procesin e inxhinierimit t softuer duke qen se procesi nuk duhet t prballet me kufizime fizike. Megjithat kjo munges kufizimesh shpesh e bn softuerin shum kompleks dhe rrjedhimisht t vshtir pr tu kuptuar. 3. Software nuk vjetrsohet posht tregon shkalln e d Nj tjetr aspekt q tregon ndryshimin midis hardware dhe software nga pik vjetrsimit sht aftsia e z mund t zvendsohen nga pjes mirmbajtja e software sht 4. Pjesa m e madhe e software jan prodhim n seri ndonse raste t pr software jan m t larta se k po drejtohet n inxhinierimin e komponent 5. Nj produkt software mund t pasur rrezik skarco. 2.3 Cili sht ndryshimi midis Inxhinieris Sofuer dhe Shkencave Kompjuterike Shkencat Kompjuterike merren me teorit dhe metodat mbi t cilat ndrtohen kompjuterat dhe sistemet softuer, ndrsa Inxhinieria Softuer merret me problemet praktik t prodhimit t softuer. Megjithat pr t inxhinieruar nj softuer jan t nevojshme disa njohuri t mira n Shkencat Kompjuterike. Megjithat jo t gjitha teorit elegante t Shkencave Kompjuterike mir pr tu aplikuar n nj program real. projektet software nuk mund t menaxhohen n t njjtn mnyr sikurse edhe projektet e Nj softuer nuk ndikohet nga materialet fizik. Nuk kufizohet nga ligjet e fiziks dhe as nga N nj far mnyr kjo e lehtson procesin e inxhinierimit t softuer duke qen se procesi nuk duhet t prballet me kufizime fizike. Megjithat kjo munges kufizimesh pesh e bn softuerin shum kompleks dhe rrjedhimisht t vshtir pr tu kuptuar. rsohet dhe nuk dmtohet si mund t ndodh me hardware. Figura m shtimit t nj software n varsi t kohs. tregon ndryshimin midis hardware dhe software nga pik sia e zvendsimit nga pjes t tjera. Nqs pjes t ndryshme t sohen nga pjes t reja kjo gj nuk ndodh me software prandaj edhe sht m e vshtir. e madhe e software jan t ndrtuar n varsi t klientit (custom seri ndonse raste t till nuk prjashtohen. Kjo sht edhe arsyeja pse k larta se krkesat pr hardware dhe pse industria sot gjithnj inxhinierimin e komponentve t riprdorshm. produkt software mund t shumfishohet n kopje identike n seri t s ndryshimi midis Inxhinieris Sofuer dhe Shkencave Kompjuterike Shkencat Kompjuterike merren me teorit dhe metodat mbi t cilat ndrtohen kompjuterat dhe sistemet softuer, ndrsa Inxhinieria Softuer merret me problemet praktik t prodhimit t softuer. jithat pr 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 pr tu aplikuar n nj program real. Leksion 1 sikurse edhe projektet e materialet fizik. Nuk kufizohet nga ligjet e fiziks dhe as nga N nj far mnyr kjo e lehtson procesin e inxhinierimit t softuer duke qen se procesi nuk duhet t prballet me kufizime fizike. Megjithat kjo munges kufizimesh pesh e bn softuerin shum kompleks dhe rrjedhimisht t vshtir pr tu kuptuar. me hardware. Figura m
tregon ndryshimin midis hardware dhe software nga pikpamja e ndryshme t hardware nuk ndodh me software prandaj edhe klientit (custom-built) dhe jo edhe arsyeja pse krkesat r hardware dhe pse industria sot gjithnj e m tepr s njjts cilsi pa Shkencat Kompjuterike merren me teorit dhe metodat mbi t cilat ndrtohen kompjuterat dhe sistemet softuer, ndrsa Inxhinieria Softuer merret me problemet praktik t prodhimit t softuer. jithat pr t inxhinieruar nj softuer jan t nevojshme disa njohuri t mira n Shkencat jan zgjidhja m e
8
Leksion 1 Inxhinieri Software 2.4 Aplikacionet Software dhe kategorizimi i tyre. Sa her q ekziston nj algoritm pr zgjidhjen e nj problemi ky i fundit mund t nnshtrohet nj aplikacioni software pr zgjidhjen e tij (bjn prjashtim ktu disa raste t problemeve t Inteligjencs Artificiale). Prmbajtja e informacionit dhe prcaktueshmria jan dy faktor shum t rndsishm q ndikojn n natyrn e nj aplikacioni software. ! Prmbajtja e informacionit ka t bj me kuptimin dhe formn e informacionit input dhe output q qarkullon n aplikacion. Shembuj t formave t mundshme t informacionit jan skedar, baza dhe struktura t dhnash, imazhe, inpute nga pajisjet periferike etj. ! Prcaktueshmria e informacionit i referohet parashikueshmris s rendit dhe kohs s shkmbimit dhe manipulimit t informacionit. Aplikacionet q pranojn nj format t caktuar t dhnash, q aplikojn mbi to nj algoritm dhe instruksione t caktuar t renditur n koh pa ndrprerje quhen aplikacione determinant. Nj aplikacion quhet jo determinant nqs ka prmbajtje variante t informacionit, ekzekutim arbitrar t instruksioneve dhe algoritmeve q mund t ndrpritet nga faktor t jashtm output-i i t cilve ndryshon n varsi t mjedisit dhe kohs. Nj sistem operativ multiuser psh sht jo determinant. Aplikacione t till zakonisht jan m kompleks dhe m t vshtir pr tu menaxhuar. Ndonse n gamn e gjer t aplikacioneve q prdoren sot sht e vshtir t bsh nj kategorizim t qart, sht e nevojshme q pr arsye studimi t caktohen hapsira prfshirse pr ta. T tilla jan: ! Software sistemi. Software-t e sistemit jan nj grup programesh q u shrbejn programeve t tjer. T till jan kompilatort, parser-at, sistemet e menaxhimit t skedarve, driver-at, sistemet e shfrytzimit etj. Kta aplikacione karakterizohen nga: o Ndrveprim i ngusht me hardware. o Shum prdorues (multi-user) o Veprime t njkohshm. o Struktura t dhnash komplekse. o Shum ndrfaqe t jashtme. ! Sisteme n koh reale(real-time). Kta lloj software monitorojn, analizojn dhe kontrollojn ngjarjet e bots real ndrkoh q ato ndodhin. Kta aplikacione karakterizohen nga: o Komponent q mbledhin t dhna nga nj mjedis i jashtm dhe i formatojn ato pr manipulim. o Komponent q analizojn informacionin dhe transformojn sipas krkesave t aplikacionit. o Komponent q kontrollojn output-in . o Komponent drejtues q koordinojn punn e komponentve t tjera n mnyr q sistemi t prgjigjet n koh reale. ! Software biznesi. Kjo sht edhe kategoria m e madhe e software-ve. Kta aplikacione kryesisht merren me ruajtjen dhe aksesimin e t dhnave q kan t bjn me informacionin e biznesit. Zakonisht karakterizohen nga baza t dhnash t normalizuara dhe t prmasave t mdha si edhe nga interaktivitet i lart me prdoruesin.
9
Leksion 1 Inxhinieri Software ! Software shkencor dhe inxhinierik. Kta software prfshijn pothuajse gjithmon algoritma dhe llogaritje komplekse. Fusha aplikimit jan astronomia, biologjia molekulare, matematika e aplikuar, fizika etj. Sot software-t shkencor nuk jan vetm software prllogarits por po tentojn drejt sistemeve simulues, interaktiv dhe kan tipare t software-ve real-time. ! Sotware t ndrfutur. Jan software q vijn si pjes e industris dhe e prodhimeve t saj. Kta software qndrojn n kujtesn afatshkurtr t pajisjes dhe shrbejn pr t kontrolluar dhe automatizuar punn e saj. Software-t e ndrfutur mund t kryejn vetm pak funksione t kufizuar, i kufizuar sht edhe ndrveprimi i prdoruesit me kta sisteme. ! Software pr kompjutera personal. Tregu i software-ve pr kompjutera personal ka zn shum pesh n prodhimin e prgjithshm t industris software. Shembujt jan t shumt: Software word-processing, grafik, personal, multimedial, lojra, pr aksesim t bazave t t dhnave etj. ! Software t bazuar n web (web-based). Aksesohen me an t browser-ave dhe bazohen n rrjetin mbarbotror t kompjuterve, internetin. T dhnat n t paraqiten n forma t ndryshme dhe lehtsisht t kuptueshme pr prdoruesin si psh: hypertext dhe formate multimedial. do dit e m tepr rritet rndsia dhe krkesa pr kto lloj aplikacionesh pr shkak krkesave n rritje pr komunikim dhe shkmbim t informacionit midis individve apo kompanive. ! Software t Inteligjencs Artificiale. Prdorin algoritma jonumerik pr t zgjidhur probleme kompleks t cilt nuk mund t zgjidhen me metodat tradicionale. T till jan sistemet ekspert, sistemet e bazuar n njohuri, rrjetat neutral, vrtetimi i teoremave, lojrat inteligjente etj. Prve kategorive t msiprme softuert ndahen gjithashtu n dy grupe t mdhenj: softuer t prgjithshm dhe me porosi custom-built. Nj ndr ndryshimet m t dukshm nga pikpamja e inxhinierimit t ktyre dy kategorive t ndryshme sht fakti q n rastin e par specifikimet kontrollohen nga vet organizata zhvilluese, kurse n rastin e dyt specifikimet prcaktohen nga organizata e cila porosit programin. Megjithat kufiri midis ktyre kategorive sht disi i paqart. Ndodh shpesh q kompanit fillojn me nj produkt t prgjithshm dhe m von fillojn ta prshtatin produktin n varsi t krkesave t klientve potencial. 2.5 Disa mite q kan t bjn me software Gjat historis rreth 50-vjeare t zhvillimit t software kan lindur dhe jan vn re shum ide t gabuara t cilat kan uar n keqinformim dhe q kan shkaktuar konfuzion n radht analistve dhe zhvilluesve. Kto jan ide intuitive q shpesh kan nj pjese t s vrtets n brendsi, por q nuk jan t duhura pr tu zbatuar. Shpesh kan t bjn me zakone t vjetr nga t cilt ka qen e vshtir q njerzit t shkputeshin kurse t tjera jan vshtrime pragmatiste. Ktyre ideve dhe mendimeve n Inxhinierin Software autort i referohen si Mite t Software.
10
Leksion 1 Inxhinieri Software Disa shembuj: Mite t menaxhimit: ! Ne kemi nj libr plot me udhzime dhe standarde pr ndrtimin e software. Kjo do ti siguroj njerzve t mi do gj q iu duhet. ! Njerzit e mi kan mjetet m t sofistikuar pr zhvillimin e software. Pr m tepr 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 prshkrim i prgjithshm i objektivave t software-it sht i mjaftueshm pr t filluar programimin. Detajet mund ti plotsojm m von. ! Krkesat e projektit mund t ndryshojn n mnyr t vazhdueshme, por ndryshimet mund t reflektohen lehtsisht pasi software-i sht fleksibl. Mite t praktikuesit ! Puna jon mbaron me prfundimin e programit. ! Pa e mbaruar programin un nuk kam se si t kontrolloj cilsin e tij. ! Produkti i vetm i puns son sht programi q funksionon. ! Inxhinieria Software do t na shpenzoj shum koh me dokumentimin gj q do t na ngadalsoj punn. N t vrtet ndodh q klientt t ken krkesa t paqarta, programuesit t mbrojn me fanatizm punn e tyre pa treguar pikat e dobta t aplikacionit, kurse menaxhert tejkalojn afatet kohor. Prfundim i vlefshm 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 pikpamje ideale pr Inxhinierin Softuer. Diversiteti i lart i sistemeve dhe i organizatave q prdorin sistemet do t thot q na duhet nj diversitet pikpamjesh pr Inxhinierin Softuer. Megjithat n themel t ktyre teknikave gjenden nocione thelbsore t procesit t inxhinierimit t cilt prbjn esencn e IS. Gjat ktij kursi pritet q t trajtohen gjersisht kta parime thelbsor.