490 likes | 1.06k Views
Modelet e procesit. Inxhinieri Software Leksion 3 Leksion 4. Modele të procesit software. Modeli linear. Modeli prototip Modeli RAD Modelet evolues . Zhvillimi i bazuar në komponentë Teknikat 4G. Modeli i procesit.
E N D
Modelet e procesit InxhinieriSoftware Leksion3 Leksion4 Iralda Mitro
Modeletëprocesit software • Modeli linear. • Modeliprototip • Modeli RAD • Modeletevolues. • Zhvillimiibazuarnëkomponentë • Teknikat 4G Iralda Mitro
Modeliiprocesit • Përtëzhvilluarnjë software, njëskuadërinxhinierëshduhettëzgjedhinnjëstrategjipune e cilaitejkalonshtresat e përmenduranëleksionin 2: procesin, mjetetdhemetodat. • Kjostrategjimadjekalonedhekufijtë e fazavetëpërgjithshmepërkufizim, zhvillimdhesuport. Kësajstrategjieireferohemisimodel procesiose paradigm iinxhinierisë software. • Modeliiprocesitzgjidhetnëvarësitëaplikacionit, mjetevedhemetodavetëpërdorur, pritshmërisësëdorëzimittëaplikacionit. Iralda Mitro
Cikliizgjidhjes • Zhvillimii software-it mundtëshihetsinjëcikëlizgjidhjessëproblemitkudallohenqartë 4 stade: Iralda Mitro
4 stadet e ciklittezgjidhjes • Status Quo përfaqësongjendjenaktualetëproblemit. • Përcaktimiiproblemitidentifikonprobleminqë do tëzgjidhet. • Zhvillimiteknikzgjidhproblemin me anëtëaplikimittëteknologjive. • Integrimiizgjidhjesidorëzonrezultatin final atyreqëkanëkërkuarzgjidhjen e problemit. Iralda Mitro
Kycikëlizgjidhjessëproblemitiaplikohetpunëssëinxhinierisë software nëdisanivele. Ai mundtëaplikohetnëniveltëlartëkurmerretnëkonsideratëigjithëaplikacioni, nëniveltëmesëmkurinxhinierohenkomponentëtëprogramit, madjeedhenënivelkodimi. Iralda Mitro
Niveliidetajimit • Realishtështë e vështirëqëtindashaktivitetet e zgjidhjessënjëproblemi software aqqartëdhedukshëmsanëfigurën 1. • Megjithatëkjopamje e thjeshtuarështë e rëndësishmepërtëkuptuar se: 4 stadet e zgjidhjessënjëproblemi software bashkëjetojnëbrendatënjëjtitniveldetajimi. Iralda Mitro
Modelet e procesit Software Iralda Mitro
Build and fix Iralda Mitro
Build and fix • Kyështëmodelimëithjeshtëizhvillimittë software. • Produktindërtohetbazuarnëkërkesaminimale. • Nëpërgjithësinukbëhenspecifikimedhe as tentativapërmodelim; shpeshneglizhohetedhetestimi. • Sipaskëtijmodelizhvilluesitshkruajnëkoddhevazhdojnëtamodifikojnëatëderisatëkënaqenkërkesat e klientit. • Modeliofronavantazhet e kostossëulëtpërsisteme me përmasatëvogladhekompleksitettëulët. • Përshkaktëplanifikimittëvarfërkyështënjë model me shumerisqepasi: • Eshtëipaaftëtëpërballojësistemetëmëdhenjdhetësofistikuar. • Përsistemekompleksëkostoja e zhvillimitrezultonmë e lartë. • Nëshumicën e rasteveproduktinukdorëzohetnëkohë. • Cilësia e ofruarështë e ulët. • Nukprodhondokumentacion. • Mirëmbajtje e vështirë. Iralda Mitro
Modeli linear sekuencial • Modeli linear sekuencialsugjeronnjëkëndvështrimsistematiksekuencialmbizhvillimin e software • Vështirësi: • E vështirëpërklientintëdeklarojëtëgjithakërkesatsiçduhet, qartësisht, nëfillimtezhvillimit. Modelinuk e lejonkëtë! • Klientiduhettëketëdurim nuk ka model(version) qëpunonderi ne fazëtëmëvonshmetëprojektit. • Zhvilluesitshpesh here vonohen pa nevojë- ata bllokohen duke priturpëranëtarëtëtjerëteekipitpërtëpërfunduarpunët e varura. Iralda Mitro
Modeli Waterfall Iralda Mitro
Modeli Waterfall • Ky model ështëzgjerim/extension imodelitsekuancial linear. Shpeshireferohenedhesimodeliklasikizhvillimittë software. • Ndonëse ka fazatëdallueshmenganjëratjetrasecilaprej tyre merrinformaciondhe feedback ngafazaparaardhëse duke lejuarmodifikimin e problemevenë software. • Përkëtëarsyeprocesiështënjësekuencë e përsëritjevetëaktiviteteve software. • Lejonpune ne skuaderdhendarjetepuneve. Iralda Mitro
Modeli Waterfall Probleme: • Cdondryshim ne kerkesat e software, dmthcdokthimprapa ne ujevaren e aktiviteteveperkthehet ne kostofinanciare. • Shpeshndryshimetjaneteveshtire per tupershtaturpasisistemieshte ne perpunim e siper. • Ndarjejofleksible e projektit ne fazatedallueshme, gjeqeshkaktonveshtiresi ne pasqyrimin e ndryshimevetekerkesaveteklienteve. • Prandajeshteipershtatshemathkurkerkesatjanetekuptuara mire qe ne fillim. Iralda Mitro
ModeliPrototip Iralda Mitro
ModeliPrototip • Shpeshklientipërcaktonnjëgruptëpërgjithshëmobjektivashpër software-in e ardhshëmpornukidentifikonsaktësishtinformacioninqë do tëshërbejësi input, mënyrën e përpunimittëtij, aporezultatinpërfundimtar. • Ngaanatjetërzhvilluesimundtëjetëipasigurtnëlidhje me efiçencen e njëalgoritmi, përshtatshmërinë me OS apomënyrën e komunikimit midis pajisjesdhenjeriut. • Nëtëtillërasteparadigmiiprototipitështëkëndvështrimimëimirë. Iralda Mitro
ModeliPrototip • Paradigmifillon me mbledhjen e kerkesave. Zhvilluesidheklientitakohen per tecaktuarobjektivatkryesoretesistemit, kerkesat e njohuradhefushatmbitecilatnevojitetperkufizimimetejshem. • Dizenjimishpejteicilifokusohet ne prezantimin e atyreaspekteveqe do tejenetedukshem per klientin/perdoruesin. Dizenjimiishpejteprodhonnjeprototip. • Prototipivleresohetngaklienti/perdoruesi per terafinuarkerkesat e zhvillimitte software-it. • Iteracionivazhdonderisaprototipitekenaqekerkesat e software. Iralda Mitro
ModeliPrototip • Shpeshprototipipërdoretsinjëmjetpërmbledhjen e kërkesavekurkyprocesështëivështirë. • Ç’ndodh me prototipinpasiaiështëvlerësuar? • Nënjëpjesëtërasteveprototipiështënjëthrow away prototip duke shërbyerthjeshtsinjësistemfillestar. • Njëpjesëtjetër e prototipevejanëevolues. • Eshtëvënë re se edheklientëtedhezhvilluesit e pëlqejnëparadigmën e prototipit. • Përdoruesitmarrinndjesinë e përdorimitpërsistemin e ardhshëmndërsazhvilluesitmarrinkënaqësinë e dhëniessënjërezultatinëkohërekord. Iralda Mitro
ModeliPrototip Rasteproblematike • Duke parënjësistemqënënjëfarëmënyrefunksiononklientifillontëpretendojëpërafatekohorëmëtëhershëm pa e ditur se prototipiqë ka nëdorëështënjësistemshumëdelikatdhelehtësishtishkatërrueshëm. • Nënpresionin e klientitzhvilluesibënkompromisepërtëlëshuarsamëshpejtnjë version përfundimtar duke rrezikuarkështuzgjedhjen e algoritmeveapoteknikavetëgabuarapërzhvillim. Iralda Mitro
Modeli RAD (Rapid Application Development) • RAD ështënjë model inkrementalizhvillimittë software icilivendostheksinmbinjëcikëlshumëtëshkurtërtëzhvillimittë software. • Modeli RAD përbënnjëaplikimshumëtëshpejtëtëmodelitsekuencial linear, nëkëtërastzhvillimiishpejtësigurohetnësajëtëpërdorimittëkomponentëve. • Nqskërkesatjanëkuptuardhespecifikuarmirëathmodeli RAD imundësonnjëskuadrezhvilluesishtëkrijojënjësistemfunksionalbrendanjëkoheshumëtëshkurtër(60-90 ditë). • Ky model kryesishtpërdoretnëzhvillimin e aplikacionevetësistemevetëinformacionit. Iralda Mitro
Modeli RAD Fazat e Modelit RAD • Modelimiibiznesit. • Percaktonrregullat e biznesitteaplikacionit ne varesitefushes se aplikimit. • Modelimiitedhenave. • Modelonobjektetdheatributet e tyre sipasrrjedhes se informacionittepercaktuar ne fazen e modelimittebiznesit. • Modelimiiprocesit. • Objektet e percaktuar ne fazenparaardhesepershtaten ne menyretetilleqetembeshtesinrrjedhen e duhurteinformacionitdhemenyren e duhurteperpunimit. • Gjenerimiiaplikacionit. • RAD perdormetodat e brezitte 4-t per tegjeneruarsa me shpejtaplikacionin. • Mbitegjithasynonteriperdorekomponentetekzistuese. • Testimdherishikim. • Mqs RAD përdorgjerësishtkomponentëtgjatëfazëssëtestimitsecilaprejkomponentëveështëtashmë e testuar. Kjoshkurtonkohën e testimit. • Megjithatëmbetenpërtutestuarelementëtëtjerësikomponentët e reja, ndërveprimi midis komponentëvedheNdërfaqet. Iralda Mitro
Modeli RAD Iralda Mitro
Modeli RAD • Nqsprojektimundtëmodularizohetnëmënyrëtëtillëqëseciliprejmoduleveapokomponentëvemundtëpërfundojëbrendanjëafatikoheteshkurtër me tevogël se tremuaj, atëherëkyprojektështënjëkandidati mire mbitecilinmundteaplikohetmodeli RAD. Disavantazhe: • Per projektetemedhenjtemodularizueshemky model kerkonburimenjerezoretemjaftueshem per teperballuarnumrin e skuadraveqeduhen • Jo tegjitheaplikacionetjanetepershtatshem per RAD. Nqsprojektinukmundtemodularizohet sic duhetatehereaplikimii RAD mundteparaqeseprobleme. • Kendveshtrimi RAD nukeshteidealinqsparaqitenrreziqetelartateknike. Kjondodhkurperdorenteknologjiterejaosekur software iripritettekomunikoje me programeekzistueskompjuterike. Iralda Mitro
MODELET EVOLUES Iralda Mitro
MODELET EVOLUES • Ështëtashmë e njohur se sistemet software sikursesistemet e tjerëkomplekseevoluojnë me kalimin e kohës. • Kërkesat e biznesitndryshojnëvazhdimisht duke e beretepamundurnjëkëndvështrim linear mbiprojektin • afatetkohorejanëgjithmonëtelimituar • nevojitetnjëproduktprezantuespërklientiniciliteketëfunksionalitetetbaze • njëpjese e kërkesavethelbësoretesistemitjanëkuptuar mire por ka shumedetajeqeduhenspecifikuarende; • Situatat e përmendura me sipërkanenevojepërnjë model icilitembështesëevoluimin e software-it ne kohe. • Modeletevoluesjanë iterative. Atojanëkonceptuar ne mënyrëtetilleqetindihmojnëinxhinieret software qëtëprodhojnëversionegjithmonëdhemëteplotatësistemeveqëatandërtojnë. Iralda Mitro
ModeliInkremental • ModeliInkrementalkombinonelementeteModelitSekuencial Linear me filozofinë iterative teprototipit. • Ne secilënprejsekuencavelinearedorëzohetnjëinkrementfunksionaldheitestuari software-it. • Zakonishtinkrementiiparënjihetedheinkrementibërthame. Ne këtëinkrementjanëimplementuarfunksionalitetetbazëtësistemit. • Gjatëinkremenetevetëtjerëplotësohenfunksionalitetetderisaproduktitëpërfundojëplotësisht. • ZhvillimiInkrementalështëshumëidobishëm: • kurstafiipunësoseburimet e tjerëjanëtëpamjaftueshëmpërtëdorëzuarproduktinbrendaafatitkohortëpërcaktuarngasubjektiibiznesit • Inkremenetet e parëmundtëkrijohen me mëpaknjerëz, por...duhettemarrinparasyshplotësimetqë do tëbëhennëinkrementet e tjerë. Iralda Mitro
ModeliInkremental Iralda Mitro
Modeli Spiral (Ideuarnga Boehm) • Synonkrijimin e inkrementevetë software-it nëperiudhatëndryshmekohore. • Një model spiral ështëindarënënjënumëraktiviteteshbazë(framework activities) qëreferohensirajone me detyra (task regions). • Zakonishtjanë 3-6 rajonetëtillë. • Komunikimi me klientin. • Planifikimi. • Analiza e rreziqeve. • Inxhinierimi. • Ndërtimidhelëshimiiversioneve. • Vlerësimiiklientit. Iralda Mitro
Modeli Spiral (Ideuarnga Boehm) • Seciliprejrajonevepopullohetnganjëgrupdetyrash. • Numriidetyravepërsecilinrajonvaretprejpërmasavetëprojektitmbitëcilinaplikohetmodeli spiral. • Procesievoluesiprojektitlëviznëdrejtimorarsipasspirales. • Rrotullimiiparërrethqendrësmundtërezultojëpshnënjëspecifikimprodukti. • Rrotullimitjetërnëlëshimin e njëprototipi, mëtejmundtëvijohet me lëshimin e versionevemëtëpërmirësuartëproduktit. • Eshtëdetyrë e menaxherittëprojektitqëtëpërcaktojënumrin e iteracioneveqëduhettëkryhenpërtëpërfunduar software-in. Iralda Mitro
Modeli Spiral (Ideuarnga Boehm) Iralda Mitro
Modeli Spiral (Ideuarnga Boehm) • Ndryshengamodeletklasikëtëcilëtpërfundojnë me dorëzimin e software-it, modeli spiral mundtëpërshtatetnëçdo moment tëciklitjetësor. • Seciliprejkubavetëparaqiturnëfigurëmundtëkonsiderohetsipikëhyrjejepërnëmodelin spiral. • Sa herëqënevojitetnjëndryshimprocesifillonngapika e duhurhyrëse. • Pikahyrësepërnëmodelin spiral varetngallojiiprojektit. Iralda Mitro
Modeli Spiral (Ideuarnga Boehm) • Modeli spiral ështënjëkëndvështrim realist mbisistemet e mëdhadhekompleks. • Ai kërkonvlerësimtëpërhershëmtërreziqevenëtëgjithafazatdhenqsaplikohetashtusiçduhetireduktonrreziqetpara se atatëbëhenproblematikë. • Probleme: • Eshte e vështirëtitregoshklientit se procesi spiral ështëikontrollueshëmnëkohë. • Kërkonpatjetërvlerësimeksperttëtëgjithërreziqeve. Nqskjonukarrihetathvihetnëdyshimvazhdimësia e projektit. • Ky model nukështëpërdoruraqgjerësishtsaedhemodelet e tjerëdhenukështëprovuarplotësisht Iralda Mitro
Detyrekursi (5 pike) • Modeli WIN-WIN Spiral (Ideuarnga Boehm) • Metodatformale Iralda Mitro
Modeliizhvillimittënjëkohshëm(The Concurrent Development Model) • Procesiinjëkohshëmskematikishtshprehetsinjëvargaktiviteteshteknike, detyrash, teshoqëruarangagjendjetpërkatëse. • Secilaprejdetyravemundtëjetënënjëprejgjendjevenënjë moment tëdhënëdhemundtëjetënënjëtjetërgjendjenënjë moment tjetër. • Alternativatëgjendjessëaktivitetevejanë: • Pritje. • Nënzhvillim. • Gjendje bosh. • Modelipërcaktonedhenjësërëngjarjeshtëcilatiniciojnëkalimin e aktivitetevenganjëragjendjenëtjetrën. Iralda Mitro
Modeliizhvillimittënjëkohshëm(The Concurrent Development Model) Iralda Mitro
Modeliizhvillimittënjëkohshëm(The Concurrent Development Model) • Modeliinjëkohshëmshpeshpërdoretsiparadigm për zhvillimin e aplikacioneve klient/server. Kur aplikohet në këto tipe aplikacioneshmodeliinjëkohshëmipërcakton aktivitetet në dy dimensione: dimension sistemidhe dimension komponenti. • Njëkohshmëriaarrihetnëdymënyra: • Aktivitetetsistemdhekomponentndodhinparalelishtdhemundtëmodelohensipaskëndvështrimittëorientuar ndaj gjendjeve. • Njëaplikaciontipikklient/server implementohet me shumëkomponentë, seciliprejtëcilëvemundtëdizenjohetdhetërealizohetnëmënyrëkonkurrente. Iralda Mitro
Zhvillimiibazuarnëkomponentë(CBD-Component Based Development) • Teknologjitëobjekttëorientuarasigurojnënjë model procesitëbazuarnëkomponentë (component based). • Paradigmiobjektiorientuar ka nëparimkrijimin e klasaveqëenkapsulojnësitëdhënatashtuedhesjelljen e tyre. • Nqsdizenjohenashtusiçduhetklasatobjekttëorientuarajanëtëripërdorshmenëaplikacionedhearkitekturatëndryshme. Iralda Mitro
Zhvillimiibazuarnëkomponentë(CBD-Component Based Development) • CBD, sipasdisastudimevembiripërdorshmërinëreduktonkohën e zhvillimit me 70%, koston e projektitme 84% dhe indeksin e produktivitetit me 26%. • Njëpërfaqësuesi CBD ështëmodeliUnified Software Development Process. • Ky model përdorgjuhën UML përtëidentifikuardhemodeluarkomponentëtdhendërfaqetqë do tëpërdoren. • Funksionet e sistemitpërcaktohen duke aplikuarnjëkëndvështrimtëbazuarnëskenarepërdoruesish. Iralda Mitro
Zhvillimiibazuarnëkomponentë(CBD-Component Based Development) Iralda Mitro
Teknikat e brezittëkatërt (4G) • Termiteknikatëbrezittëkatërtpërfshinnjëgamëtëgjerë software-shtëcilëtkanëtëpërbashkëtfaktinqëimundësojnëinxhinierit software qëtëspecifikojëdisaprejkarakteristikavetë software-it nëniveltëlartë. • Këtoteknikamë pas automatikishtgjenerojnëkodinsipasspecifikimevetëzhvilluesit. • Nëkëtëmënyrëshkurtohetkoha e zhvillimitsiedhesasia e dizenjimitpërsistemetëvegjël. • Aktualishtdisaprejdrejtimevekupërdorenkëtoteknikajanë: gjuhëjoproceduralepërrealizimin e query-venëbazën e tëdhënave, gjenerimiraporteve, manipulimitëdhënave, gjenerimkodi, ndërfaqegrafike, aftësgrafiketënivelittëlartë, gjenerimautomatiki HTML, XML dhegjuhëvetëtjeratëngjashmepërkrijimin e Web site-ve. Iralda Mitro
Teknikat e brezittëkatërt (4G) • Edhekëtoteknikakanënjëfazëtëmbledhjessëkërkesavesikursetëgjithëparadigmat e tjerë. • Gjithashtufaktiqëpërdorenkëtoteknikanukdmth se duhettëanashkalohenanaliza, modelimidhetestimi. • Pavarësishtngalehtësiratqëofronky model edhepërtëmbetentëhapuradisaproblematikasi: • lehtësia e përdorimit, mirëmbajtja e pjesëvetëgjeneruaraprej tyre etj. Iralda Mitro
ModeliiProgramimitEkstrem (Extreme Programming) • Modeli XP ështëisuksesshëmpasitheksonpërmbushjen e kërkesavetëklientitmadjeedhenëfazatëvonatëciklitjetësor. • Ky model ka nëprinciptëtijpunënnëskuadër. XP e përmirësonzhvillimin e software në 4 mënyra: 1. Komunikim. Programuesit XP realizojnëkomunikimtëmirë me klientëtdhe me programuesitmëtërinj. 2. Thjeshtësi. Modeliminë XP ështëithjeshtëdheipastër. 3. Feedback. Merret duke testuarcdoditë software-in. Software-idorëzohetsamëshpejtqëtëjetë e mundursëbashku me ndryshimet e kërkuar. 4. Kurajo. Nëkëtëmënyrëzhvilluesit e XP kanëkurajonqëtëpërballojnëndryshimetnëkërkesadhenëteknologji. Iralda Mitro
ModeliiProgramimitEkstrem (Extreme Programming) • Disatiparetëndryshmetë XP ngamënyrat e tjeratëprogramimit: • Duke qenë se njëprojektharxhonshumëmëtepër me burimetnjerëzore se me hardware ky model propozonskuadratëvoglapuneporcilësore. • Jo vetëmtestimportestimimirëpara se tëshkruhetkodi, gjatëshkrimittëtijdhe pas përfundimit. • Komunikimi me klientinështëkaqishpeshtësaqëmundtëadresohenendenëkohëkërkesatpërndryshim. • I kushtohetshumërëndësimënyrëssëkodimit, pastërtisëdhecilësisësëtij. Iralda Mitro
ModeliiProgramimitEkstrem (Extreme Programming) Iralda Mitro
ModeliiProgramimitEkstrem (Extreme Programming) • Kurpërdoret XP? • Përtiupërgjigjurproblemeveqëkarakterizohenngakërkesanëndryshim. • Përtiupërgjigjurproblemeveqëparaqesinrrezikshmëritëlartë. • Kurskuadra e punësështë e vogël(2-10). Shpeshkëtoskuadrarezultojnëmëproduktive se skuadragjigandezhvillimi. • Kurjujenitëaftëtëautomatizonidhekontrollonitestimin e sistemit. Iralda Mitro
ModeliiProgramimitEkstrem (Extreme Programming) Tiparetëpazakontëtë XP: • Kompjuteratvendosennëqendërtënjëdhometëmadhe. • Gjithmonëështëipranishëmnjëpërfaqesuesiklientit. • Nukmundtëpunohet overtime përmëshumë se dyjavë. Iralda Mitro
Modeli Synchronize dhe Stabilize (Microsoft Model) Idejaqëqëndron pas këtijmodeliështë e thjeshtë: “SinkronizimiivazhdueshëmipunësqëkryhetparalelishtprejdisaskuadravedheStabilizimiperiodikiproduktitnëinkrementedhejovetëmnjëherëkurprocesipërfundon.” - KyështëedhemodeliqëpërdorMicrosoft. • Analizë, mbledhjekërkesash-Intervistoklientëpotencialë. • Bëjspecifikimet. • Ndajeprojektinnë 3 ose 4 pjesë(builds). • Secilaprejpjesëvemerretpërsipërnganjëskuadër e veçantë e cilapunonparalelisht me skuadrat e tjera. • Në fund tëditëssinkronizimi. • Nëpërfundimtëçdopjesestabilizim. • Tëgjithapjesëtdhekomponentëtpunojnësëbashku. • Kodiduhettëintegrohetçdoditëdhenqsnukkompilohetathduhetfiksuargabimi. Iralda Mitro
ModeliShatërvan • Paralelizëmtëpunëve. • Shigjetattregojnëiteracione. • Cikëlmirëmbajtjejemëishkurtër. Iralda Mitro
Përfundim • Seciliprejmodelevetëpërmendur ka avantazhetdhedisavantazhet e tijnëpërdorim. • Disaprejkritereveqëduhettëmerrenparasyshpara se tëpërfshihetnjë model janë: • Organizimidhemenaxhimiiprojektit. • Aftësitë e njerëzvetëpunësuar. • Natyra e produktit. • Njësugjerimimirëështë mix-and-match life-cycle model. Iralda Mitro