software engineering
DESCRIPTION
Software EngineeringTRANSCRIPT
![Page 1: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/1.jpg)
Software Engineering
Ne kete prezantim ka materjale dhe figura te marra nga libri Ian Sommerville, Software Engineering, Addison Wesley;
![Page 2: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/2.jpg)
2
Per Lenden
� Profesor: Armend Bilalli
� LiteraturaLibri kryesor: Ian Sommerville, Software Engineering, Addison Wesley; 8 edition (May 25, 2006).
-UML 2 for Dummies by Michael Jesse Chonoles and James A. Schardt
-.The Unified Modeling Language User Guide SECOND EDITION By Grady Booch, James Rumbaugh, Ivar Jacobson
![Page 3: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/3.jpg)
3
Per Lenden
� Detyra e Kursit:
� Grupe nga 4-5 studente max.
� Grupet krijohen vullnetarisht.
� Prezantime ne faza te projektit.
� Evaluimi behet gjate gjithe kohes se kursit.
� Mund te gjeni edhe projekte konkrete reale. ngakompani te ndryshme.
� Anetaret e grupeve te dergohen me e-mail ne [email protected]
� Kollokviumi: (Java e 5-te)
![Page 4: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/4.jpg)
4
Per Lenden
� Notimi:� Detyra e Kursit (Projekti) 20%� Kollokviumi 20%� Provimi Final 60%
� Shenim: � Pjesmarrja si anetar ne nje grup eshte i detyruar.� Pjesmarrja ne kollokvium eshte i detyruar.
(Mungesa nenkupton 20% me pak te notes perfundimtare)
� Nuk lejohet paraqitja e provimit pa kaluar detyren e kursit(Projektin).
![Page 5: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/5.jpg)
5
Qellimi
� Te mesoni hapat kryesor te zhvillimit te nje software.
� Te mesoni dhe praktikoni punen ne grup ne projekte tezhvillimit te nje software perfshire menaxhimin.
� Te jeni ne gjendje ne menyre efektive te analizoni nje‘problem’ dhe te gjeni zgjidhjen me te mire.
� Te jeni ne gjendje te perktheni kerkesat e klientit dhebiznesit ne gjuhen e kompjuterit.
� Te jeni ne gjendje te krijoni class, object, use case, data flow, sequence diagrams, activity diagram ne UML.
� Te jeni ne gjendje te gjeni nje zgjidhje dizajni dheimplementimi me te mire per nje problem programimi.
� Te jeni ne gjendje te identifikoni burimet potenciale terreziqeve qe do te mund te conin ne deshtimin e nje projektisoftverik.
![Page 6: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/6.jpg)
6
Software Engineering
� Software engineering merret me teorite, metodatdhe veglat e punes (tools) per nje zhvillimprofesional te nje software dhe cka eshte me e rendesishme; me nje kosto efektive te zhvillimit te tij.
� Shumica e sistemeve ne diten e sotme kontrollohennga software.
� Shpenzimet ne software, reprezantojne nje pjese temire te prodhimit te brendshem bruto ne ekonomitee shteteve te zhvilluara.
� Ekonimia e nje vendi te zhvilluar eshte e VARUR nga software
![Page 7: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/7.jpg)
7
Pyetjet e Shpeshta-FAQs
� Ç’ka eshte software?� Ç’ka eshte software engineering?� Cili eshte dallimi mes shkencave
kompjuterike dhe software engineering?� Cili eshte dallimi ne mes software
engineering dhe system engineering?� Cilat jane atributet kryesore te nje software
te mire?� Ç’ka nenkuptojme me Proces Softwerik dhe
Model te procesit? � Etj
![Page 8: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/8.jpg)
8
Ç’ka eshte Software? � Kod Programimi se bashku me dokumentacionin
percjelles si kerkesa, dizajni, manuali teknik dhe i perdoruesit etj.
� Software Gjenerik� Photoshop � Word� SQL Server
� Software specifik (customized)� Programe te Ndryshme financiare� Programi per regjistrimin e popullsise
� Dallimi esencial eshte-? “Specifikacioni”.
� Kohet e fundit te dy keto tipe soft. jane bashkuar, kukompanite zhvillojne nje software i cili me pas mund tepershtatet per nevoja te klientit(p.sh SAP)
![Page 9: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/9.jpg)
9
Ç’ka eshte Inxhinjerimi i softuare?
� Eshte nje discipline inxhinjerike e cila merret me te gjithaaspektet e prodhimit te nje software, nga faza fillestare e specifikacionit deri tek mirembajta e sistemit pasi te keteshkuar ne perdorim.
� “Inxhinjerike”. -Nje Inxhinier softueri, duhet te adoptoje ne menyre sistematike metodat dhe teknikat me tepershtateshme per zgjidhjen e nje problemi duke paturparasysh kufizimet operacionale dhe buxhetore.
� “Te gjitha aspektet e prodhimit te nje software”(menaxhimi i projektit, veglat e zhvillimit, metodat dhe teorite,
![Page 10: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/10.jpg)
10
Procesi Softuerik (Software process)
� Temat Kresore
� Modelet e procesit softuerik
� Perseritja e Proceseve
� Aktivitetet e Procesit
� The Rational Unified Process
� Computer-aided software engineering-CASE
![Page 11: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/11.jpg)
11
Procesi Softuerik
� Me proces softuerik kuptojme një grup teaktiviteteve qe kryhen per te zhvilluar njesoftware.
� Aktivitet kryesore te nje procesi softuerikjane:
� Specifikacioni i softuare;
� Dizajni dhe implementimi;
� Validimi i software;
� Evoluimi i software (Evolution)
![Page 12: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/12.jpg)
12
Specifikacioni i Softuare
� Specifikacioni I softuare eshte nje proces I kuptimit dhe percaktimit te sherbimeve qeduhet te ofroje sistemi si dhe percaktimit tekufizimeve te sistemit.
� Fazat e detajuara te specifikacionit tesoftware jane:� Analiza e fizibilitetit;
� Analiza dhe percaktimi kerkesave;
� Specifikimi I kerkesave;
� Validimi I kerkesave;
![Page 13: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/13.jpg)
13
Specifikacioni I Softuare
Analiza e fizibilitetit
Analiza dhepercaktimi kerkesave
Raporti I Fizibilitetit
Dokumenti i Kerkesavete software
KlasifikimiKerkesave
Validimi I Kerkesave
![Page 14: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/14.jpg)
14
Dizajni dhe implementimi
� Eshte nje proces i konvertimit te specifkacionitte sistemit ne sistem te egzekutueshem.
� Software design
� Dizajnimi i software ne baze te specifikacionit;
� Implementimi
� Perkthimi i struktures se dizajnit ne program teegzekutueshem;
![Page 15: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/15.jpg)
15
Procesi I dizajnimit tesoftware
![Page 16: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/16.jpg)
16
Verifikimi dhe Validimi i Software
� Verifikimi dhe Validimi (V & V) sherben per te vertetuar se sistemi eshte konformspecifikacionit dhe permbush kerkesat e klientit.
� Perfshin kontrollin dhe rishikimin e sistemitme metoda te ndryshme testimi.
� Testimi i sistemit behet me shembuj testimi, zakonisht me te dhena reale qe procesohennga sistemi.
![Page 17: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/17.jpg)
17
Procesi i Testimit
Testimi i Komponenteve
Testimi i Sistemit
Pranimi i Testimit
![Page 18: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/18.jpg)
18
Evoluimi i software
� Software ne vetevete duhet te jete fleksibildhe te kete mundesi per ndryshime.
� Ashtu Sic ndryshojne kerkesat, me ndryshimin e kerkesave te biznesit, software i cili suporton kete biznes duhet teevoluoje dhe te jete ne gjendje te ndryshoje.
� Jane rritur rastet kur vendoset te blihetsoftware i ri, ne vend qe te ndryshohet apopershatet ai ekzistues. PSE?
![Page 19: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/19.jpg)
19
Evoluimi i Sitemit
![Page 20: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/20.jpg)
20
Generic software process models
� Ç’ka eshte nje model i procesit softuerik?� Eshte nej prezantim I thjeshtesuar (apstrakt) I nje procesi
softuerik.� Nje menyre formale e prezantimit si operon biznesi
� The Waterfall model� Secila faze e procesit startohet ne menyre sekuenciale.
Nuk mund te filloje nje faze pa mbaruar ajo paraprake.
� Evolutionary development� Ne kete model mund te punohet paralelisht ne fazat e
procesit.
� Component-based software engineering� Sistemi ndertohet nga komponentet ekzistuese.
![Page 21: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/21.jpg)
21
Waterfall model
![Page 22: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/22.jpg)
22
Mangesite e Waterfall Model
� Gjate procesit softuerik eshte veshtire te behenndryshime te parametrave nese eshte duke u punuar ne nje faze te procesit. Nje faze duhet teperfundoje para se te kalohet ne fazen tjeter.
� Ky model eshte i perdorshem vetem atehere kurkerkesat jane kuptuar dhe percaktuar ne fillim dhendryshimet gjate zhvillimit jane te vogla(shumerralle ndodh kjo)
� Ky model zakonisht perdoret ne sisteme te medha, ku zakonisht zhvillimi behet ne vende te ndryshmene te njejten kohe.
![Page 23: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/23.jpg)
23
Modeli Evolutiv
� Ne kete model objektivi eshte qe tepunohet se bashku me klientin derisate arrihet versioni perfundimtar i sistemit nga nje pershkrim fillestarspecifikacionit.
![Page 24: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/24.jpg)
24
Zhvillimi Evolutiv
![Page 25: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/25.jpg)
25
Zhvillimi Evolutiv
� Perparesite: � Shume shpejte i akseptueshem nga klienti,
sepse zhvillohet duke qene klienti aktiv me sistemin gjate tere kohes.
� Me efektiv ne prodhimin e nje software ne kohe me te shpejte.
� I aplikueshem per sisteme te vogla dhe temesme, per pjese te sistemeve te medha sidhe per sisteme me jetegjatesi te shkurter.
� Mangesite� Sistemet zakonisht jane te strukturuar dobet.� Mungon dokumentacioni i zhvillimit te
proceseve
![Page 26: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/26.jpg)
26
CBSE- Component-based SE
� Ne kete model perdoren sistemetekzistuese dhe integrimi i tyre
![Page 27: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/27.jpg)
27
Cilat jane Metodat e Soft Eng?
� Nje metode e inxjinjerimit te software eshtenje qasje e strukturuar e zhvillimit tesoftware, qellimi i se ciles eshte lehtesimi i zhvillimit te nje software.
� Metoda Structured Analysis(DeMarco 1978)
� OO, Object Oriented (Booch 1994)
� UML-unified modeling language (Booch and Rumbaught 1999)
![Page 28: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/28.jpg)
28
Cka eshte CASE?
� Shkurtesa CASE qendron per Computer-Aided Software Engineering.
� Mbulon programe te ndryshme, qe perdoren per tesuportuar aktivitetet e zhvillimit te procesit softwerik(analizkerkesave,modelimi, debugging, testimi)
� Veglat CASE mund te perfshijne edhe gjenerimin e kodit, gjenerimin e dokumentacionit, gjenerimin e dizajneve tendryshme etj.
� Per me teper lexoni www.case-tools.org
![Page 29: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/29.jpg)
29
Cilat jane atributet kryesore tenje software te mire?
Nje Software duhet te ofroje funksionalitetin dhe performancen e kerkuar tek perdoruesi dhe duhet te jete i mirembajtshem, i besueshem dhe i pranueshem
� Mirembajtshmeria
� Software duhet te zhvillohet per te plotesuar kerkesat dhenevojat qe ndryshojne me kohen
� Besueshmeria
� Software duhet te jete I besueshem;
� Efikasiteti
� Software nuk duhet te perdori resurset e sistemit pa nevoje
� Pranueshmeria
� Software duhet te jete i pranueshem dhe i kuptueshem ngaperdoruesit per te cilte eshte zhvilluar.
![Page 30: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/30.jpg)
30
Detyre Shtepie
� Cili eshte dallimi ne mes shkencavekompjuterike dhe software engineering?
� Cili eshte dallimi ne mes software engineering dhe system engineering?
� Lexoni kapitullin 1,2,3 te librit kryesor.
![Page 31: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/31.jpg)
31
Intentionally left blank
![Page 32: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/32.jpg)
32
Procesi Softuerik
� Cilat ishin aktivitetet kryesore te njeprocesi softuerik?
� Specifikacioni i softuare;
� Dizajni dhe implementimi;
� Validimi i software;
� Evoluimi i software (Evolution)
![Page 33: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/33.jpg)
33
Specifikacioni i Softuare
Analiza e fizibilitetit
Analiza dhepercaktimi kerkesave
Raporti I Fizibilitetit
DokumetiKerkesavete software
Klasifikimi I Kerkesave
Validimi I Kerkesave
![Page 34: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/34.jpg)
34
Analiza e Fizibilitetit
Nepermjet analizes se Fizibilitetit percaktohet/vendoset neseduhet te zhvillohet nje software.
Analiza e fizibilitetit duhet te jepe pergjigje ne disa pyetjekryesore.
� A duhet te zhvillohet ky softuer?Pse?
� Cili eshte plani kohore?A mund te realizohet ne kohe?
� Sa eshte profiti?
� A duhet te investohet? ROI(return on investment)
� Cilat jane perfitimet e organizates?
� A mund te implementohet Projekti?
� A ka specifikacion te mirefillt te kerkesave?
� Kush duhet te beje Analizen e Fizibiliteti????
![Page 35: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/35.jpg)
35
Analiza dhe percaktimiKerkesave
� Nepermjet analizes dhe percaktimit te kerkesave behetIDENTIFIKIMI I KERKESAVE
� Inxhinjeri/at softuerik se bashku me klientin dhe perdoruesite sistemit duhet te punojne per identifikimin e kerkesave.
� Nepermjet Analiza se kerkesave te software percaktohen
� Sherbimet/detyrat qe duhet te kryhen nga sistemi.
� Qellimi dhe caku qe duhet te arrihet nga sistemi.
� Kufizimet operacionale, funksionale dhe teknike tesistemit.
� Ne kete proces perfshihen te gjithe palet e interesuara(stakeholders) sic jane: perdoruesit, menaxheret, ekspertet e fushave specifike etj.
![Page 36: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/36.jpg)
36
Veshtiresite e analizes se kerkesave
� Zakonisht palet e interesuara nuk e dine realisht se qka deshirojne.
� Kerkesat e paleve te ndryshme bienne kundershtim me njera tjetren.
� Politikat sociale dhe organizativemund te ndikojne ne analizen e kerkesave.
� Ndryshimi dinamik i kerkesave gjatefazes se analizes.
![Page 37: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/37.jpg)
37
Aktivitetet gjate analizes se kerkesave
� Identifikimi I kerkesave� Bashkebisedimi me palet e interesuara per te identifikuar kerkesat
e tyre. � Behet mbledhja e informacionit per sistemin qe diskutohet dhe
sistemet ekzistuese� Mblidhen te gjitha burimet e informacionit, sic mund te
jene;dokumente te ndryshme, specifikacione te sistemeveekzistuese, manualet e ndryshme operative etj.
� Klasifikimi dhe organizimi i kerkesave
� Caktimi i Prioriteteve dhe Negociimi� Caktohen kerkesat sipas prioriteteve dhe negociohen kerkesat qe
kane konflikt njera me tjetren
� Dokumentimi I Kerkesave� Dokumentohet dhe percaktohet sakte cka deshiron klienti
![Page 38: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/38.jpg)
38
Takimet me klientin-Intervistat
� Identifikimi I kerkesave arrihet nepermjet pyetjeve qe I behen paleve te interesuara.
� Intervistat me pyetjet e parapregaditura dheDiskutimet e hapura ne takime te zgjeruara –Brainstorming
� Intervistuesit duhet “te dijne” te degjojne palet e interesuara.
� Intervistuesit duhet te jene ne gjendje te kuptojnekerkesen dhe te japin propozime te ndryshme dhe jo tepresim pergjigje ne pyetjet “Qka deshiron”
� Gjithmone mbaj shenime
![Page 39: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/39.jpg)
39
Skenaret
� Skenaret jane shembuj real se si mundte perdoret sistemi.
� Nepermjet nje skenari pershkruhet njeinteraksion i caktuar ne sistem.
� Skenaret duhet te pershkruajne
� Nje pershkrim te gjendjes se fillimit;
� Nje pershkrim te rrjedhes normale tengjarjeve;
� Nje pershkrim se cfare mund te shkojekeq;
� Nje pershkrim te gjendjes se skenaritne fund;
![Page 40: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/40.jpg)
40
Shembull Skenari
Skenari: Terheqja e mjeteve me Visa cardPershkrimi Nepermjet ketij skenari paraqitet interaksioni ne mes
klientit dhe bankomatit. Klienti realizon terheqjen e mjeteve me nje kartele Visa Card; Terheqja realizohet pas verifikimit tekarteles si dhe limitit ditor te lejuar per terheqje.
1. Poseduesi i karteles VISA vendos kartelen ne lexuesine karteles.
2. ATM verifikon nese kartela e futur eshte VISA 3. ATM kerkon nga poseduesi I karteles te jape numrin
PIN.4. Poseduesi I karteles shtyp numrin PIN5. ATM kontrollon numrin e dhene PIN me ate qe eshte I
ruajtur ne kartele.6. ATM kerkon nje autorizim nga sistemi qendror VISA
per autorizim.7. Sistemi I autorizimit VISA konfirmon validitetin e
karteles dhe njofton per limitin maksimal ditor te lejuarper terheqje
![Page 41: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/41.jpg)
41
Shembull Skenari(vazhdim)
8. ATM kerkon nga poseduesi I karteles shumen qeai/ajo deshiron te terheqe
9. Poseduesi I karteles zgjedh shumen qe deshiron teterheqe.
10. ATM kontrollon vleren kundrejt shumes maksimalete lejuar
11. ATM pyet poseduesin e karteles nese ai deshironfature
12. Poseduesi I karteles kerkon fature.13. ATM I kthen kartelen poseduesit14. Poseduesi I karteles merr kartelen15. ATM I jep parate e kerkuara dhe faturen16. Poseduesi merr parate dhe faturen
![Page 42: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/42.jpg)
Modelimi i skenareve
Vetem pikat kryesore te detajuarame nje shembull
UML Use Case
![Page 43: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/43.jpg)
43
Why UML Use Case?
� USE Case� Nje grup skenaresh te nderlidhura nga aktor
dhe qellime te njejta.� Nje pershkrim sekuencial i aksioneve qe
performohen nga nje sistem per te prodhuarnje rezultat per nje aktor.
� Use case pershkruajne sjelljen e pritur“WHAT” dhe jo metoden egzakte si behet“HOW”
� Use case krijohen bazuar ne kerkesatfunksionale te identifikuara.
� Perdoren ne fazen fillestare per identifikimin e kerkesave
![Page 44: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/44.jpg)
44
Use Case Diagrams
� Use Case
� Actors
� Relationships
� Use Case Diagrams
![Page 45: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/45.jpg)
45
Use Case (UC)
� Definicioni� Use case pershkruan punen(task) qe nje
perdorues mund te kryej duke perdorursistemin
� Pershkrimi� Pershkruan kerkesat e sistemit� Nje pune e pershkruar nga UC perbehet nga
aktivitetet (activities)
� UC mund te kete disa variacione qe quhenSkenare (scenarios)
� Nuk duhet te perdoren per te nxjerrefunksionalitete nga UC
![Page 46: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/46.jpg)
46
Hapi i pare
� Identifiko aktoret
� Identifiko Use Case! UC me se lehteidentifikohen duke percaktuar qkaduhet te bejne aktoret
� Krijo listen e Use case, duke specifikuar edhe prioritetinUse Case Description UC-1 Kontrol lo Bilancin
Priority: 2
UC-2 Nuk ka rrjet/sis temi nuk punon
Priority: 1
Shembull I use case list I gjeneruar nga CASE tool, Case Complete
![Page 47: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/47.jpg)
47
Use case pershkrimet
� Numri i UC� Emri i Use Case� Pershkrim i shkurter� Parakushtet� Kufizimet� Paskushtet� Pershkrimi i rrjedhes se sakte( success
scenarios)� Efektet� Verejtje
![Page 48: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/48.jpg)
48
![Page 49: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/49.jpg)
49
Aktoret-ActorsDefinicioni
� Aktori eshte nje entitet I jashtem I cilieshte I perfshire ne bashkeveprim me sistemin e pershkruar ne UC
Pershkrimi
� Aktoret=rolet
� Aktoret mund te jene edhe sisteme tejashtme
Simboli VISA Sistemi I Autorizimeve
Klienti
![Page 50: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/50.jpg)
50
Gjeneralizimi I aktoreve
Nenpunes
Nenpunes operativNenpunes Adminsitrativ
Gjeneralizimi: Nenpunesi mund te kryeje gjithckacka mund te kryeje nje nenpunes administrativ
![Page 51: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/51.jpg)
51
Use Case Diagram
Definicioni
� Tregon nderlidhjen ne mes disa use case-ve dhe aktoreve te involvuar me keto use case
Pershkrimi
� Vegel per percaktimin e kerkesave
� UC diagrami pershkruan ato aktivitetete cilat duhet te suportohen gjate fazes se zhvillimit te software.
![Page 52: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/52.jpg)
52
Use Case Diagram(2)
� Simboli
Aktori 2
Aktori 1
UC 3
UC 2
UC 1
Emri I Diagramit
![Page 53: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/53.jpg)
53
Shembull – Bankomati(ATM)
� ATM ofron sherbimet e meposhtme:1. Ofron terheqjen e te hollave per te gjithe
poseduesit e kartelave nepermejt lexuesitte karteles dhe makines automatike me monedhe
2. Raport per gjendjen e llogarise, keshit dhesherbimit te deponimit ne bankomat per klientet e bankes qe posedojne nje kartelebankare.
3. Te gjitha transaksionet jane te procesuara
4. ATM duhet te rimbushet me monedha kohepas kohe
![Page 54: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/54.jpg)
54
Diagrami fillestar per ATM
![Page 55: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/55.jpg)
55
Diagrami i permiresuar per ATM
![Page 56: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/56.jpg)
56
Me shume Aktore
Nese poseduesi I karteles eshte VISA athere SA VISA duhet te kontaktohetNese poseduesi I karteles eshte I bankes(qe I takon bankomati)athere SA bankes thirret
![Page 57: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/57.jpg)
57
Relationship ne mes UC� <<Include>> UC baze perfshine funksionalitetet e “Included” Use
case
� <<extend>> Nje UC e shtuar(extension) ne menyre opsionale e zgjeron sjelljen e nje UC tjeter(UC baze).
� Relacioni <<extend>> tregon se inkorporimi I UC te zgjeruarvaret se cfare ndodh kur UC baze ekzekutohet.
� Gjeneralizimi: Sub UC trashegon sjelljen nga Super Use Case
� Gjeneralizmi mund te perdoret ne mes aktoreve ose UC dhe jone mes nje aktori dhe UC
UC Baze
Included
UC
<<Include>>
UC Baze
UC e
zgjeruar
<<extend>>
Super UC
SUB UC
Gjeneralizimi
![Page 58: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/58.jpg)
58
Shembull i nje INCLUDE Relationship
Te gjitha llojet e transaksioneve duhet te autorizohen
![Page 59: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/59.jpg)
59
Shembull i nje <<EXTEND>> Relationship
…….8. ATM kerkon nga poseduesi I karteles shumen qe ai/ajo deshiron te terheqeExtension Point: Nuk Ka rrjet/nuk punon sistemi
9. Poseduesi I karteles zgjedh shumen qe deshiron te terheqe.10. ATM kontrollon vleren kundrejt shumes maksimale te lejuar……
uc Use Case Model
Verifiko Shumen Nuk ka rrjet«extend»
![Page 60: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/60.jpg)
60
Shembull i nje GjeneralizimiRelationship te UC
![Page 61: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/61.jpg)
61
ATM, UCD i Zgjeruar
![Page 62: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/62.jpg)
62
Ushtrim- “Drive Test”
� Pershkrimi i problemit: Nje kompani e cila merretme shitjen e autoveturave iu jep mundesi klienteveqe te kene mundesine te provojne automjete qejane te interesuar t’i blejne.
� Meqenese interesimi i klienteve eshte i madhkompanise iu eshte dashur qe tju kerkoje klienteveqe paraprakisht te bejne rezervimet. Perpara se te behet nje rezervim per ‘drive test’ klienti duhet te regjistrohet.
� Kompania nepermjet sistemit te saj dhe administratorit merret me te gjithe menaxhimin e automjeteve, si datat e lejimit per “drive test”, konfirmimin e rezervimit etj
![Page 63: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/63.jpg)
63
Te plotesohet UC diagrami i meposhtem-Ushtrim ne Klase
![Page 64: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/64.jpg)
64
Sistemi i Administrimit tekurseve
� Student: update te dhenat personale, shef rezultatet e provimit, shfletondetajet mbi kurset, zgjedh kursin e preferuar
� Mesuesi: shfleton rezultatet e provimeve, update informacionin e kurseve, shfleton regjistrimet e bera
� Stafi admin: hedh rezultatet e provimeve, update te dhenatpersonale te studenteve, shfletonregjistrimet e bera per per kurse.
![Page 65: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/65.jpg)
65
UCD per sistemin e admin. kurseve
![Page 66: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/66.jpg)
66
Shmebull 1-POS
Keni shembulli e nje dyqani apo te nje pike te shitjes (point of sale –POS Terminal) . Nje pike shitje zakonisht ka njekompjuter, barcode, peshore, printer, POS terminal qeeshte i lidhur me sistemin e procesimit te kartes se kredititetj. Nje klient ben pagesen per mallrat e blere me kartele nepermjet POS terminalit.
� Identifikoni aktoret?
� Identifikoni Use case?
� Vizatoni nje Use Case Diagram?
� Pershkruani nje skenar sukesi?
![Page 67: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/67.jpg)
67
Shembull 2: Online Shopping
� Aktoret: Klienti Online, pay pal, credit autorizimi,serveri
� Use case: shfleto artikull, bej pagese, CHECKOUT, authentikimi I klientit, kalkulimi I takses dhe transporti, pagesa(kredit ose pagese pay pal)
� Vizatoni nje Use case diagram?
![Page 68: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/68.jpg)
68
Intentionally left blank
![Page 69: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/69.jpg)
69
Ngaora e kaluar….
� Analiza e kerkesave te software
� Percaktimi i kerkesave dhe veshtersite qehasen gjate percaktimit te tyre.
� Aktivitetet (identifikimi, klasifikimi, caktimi i prioriteteve..)
� Takimi me klientet(intervistat)
� Analiza e skenareve (use case)
� Use case Diagramet dhe shembuj
� Vazhdojme me analizen e kerkesave…
![Page 70: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/70.jpg)
70
Tipet e Kerkesave
� Kerkesat e Perdoruesve (user requirements)
� Deklarata ne gjuhen natyrale plus diagrame tesherbimeve qe ofron sistemi si dhe kufizimet operative. Shkruhen per konsumator.
� Kerkesat e Sistemit (system requirements)
� Nje dokument i strukturuar qe percakaton ne menyre tehollesishme pershkrimin e funksioneve te sistemit, sherbimet dhe kufizimet operacionale. Percakton se cfare duhet te implementohet dhe mund te jete pjese e kontrates ne mes klientit dhe kontraktorit
![Page 71: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/71.jpg)
71
Definimi dhe Specifikimi
� Definimi i kerkeses se perdoruesit (User Requirement Definition)
� Nje Software i cili i mundeson klienteteve qe te nderrojnePIN te karteles ne ATM.
� Specifikimi i kerkesave te sistemit ( System requirement specification)
� 1.1 Klienti duhet te jete klient i bankes qe posedon ATM� 1.2 Klienti duhet te kete kartele valide� 1.3 Klienti duhet te dije PIN e vjeter, para nderrimit te tij.� 1.4 Pas ndryshim te Pin nuk lejohet transaksion tjeter pa u
validuar PIN i ri.� …………..
![Page 72: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/72.jpg)
72
Klasifikimi I Kerkesave
� Kerkesat Funksionale� Deklarata(statements) te sherbimeve qe duhet te
ofroje sistemi. � Si duhet te reagoje sistemi� Si duhet te sillet sistemi ne situata te vecanta
� Kerkesat jo-funksionale� Siguria dhe performanca� Kufizimet e ndryshme te sherbimeve(p.sh kufizimi ne
kohe)� Standardet e ndryshme etj
� Kerkesat e fushes (domain requirements)� Kalkulimi i tatimit ne rroge duhet te behet sipas
rregullores XX te Administrates tatimore te Kosoves.
![Page 73: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/73.jpg)
73
Kerkesat Funksionale
� Kerkesat Funksionale pershkruajnefunksionalitetin ose sherbimet e sistemit.
� Kerkesat Funksionale te perdoruesve janekerkesa globale qe tregojne ne vija tetrasha cfare duhet te beje sistemi.
� Kerkesat Funksionale te sistemit duhet tepershkruajne sherbimet dhe funksionet e sistemit ne detaje.
� Dokumentimi i kerkesave funksionale duhetme qene konsistent dhe i kompletuar.
![Page 74: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/74.jpg)
74
Shembuj te kerkesavefunksionale
� Perdoruesi duhet te kete mundesi te kerkojeklientat ekzistues ne database.
� Sistemi nuk duhet te shfaqe detajet e klienteve qe jane te kategorizuar si VIP (perveq emrit).
� Ç’do porosi duhet te identifikohet me Porosia_Id, nepermjet se ciles perdoruesimund te kontrolloje statusin e porosise.
![Page 75: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/75.jpg)
75
Kerkesat Jo-funksionale
� Kerkesat Jo-funksionale zakonisht nuk varennga perdoruesi.
� Perdoren per te definuar kufizimet dhe vetite(properties) e sistemit p.sh besueshmeria, cilesia, pergjigja ne kohe, IO devices etj.
� Mund te jene kufizime si percaktimi i gjuhesse programimit dhe CASE metodave.
� Kerkesat jo-funksionale mund te jene me kritike se ato funksionale.
![Page 76: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/76.jpg)
76
Kerkesat Jo-Funksionale
![Page 77: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/77.jpg)
77
Klasifikimi i kerkesave Jo-funksionale
� Kerkesat e Produktit
� Kerkese e cila specifikon qe produkti i kryer duhet te silletne nje menyre te caktuar p.sh koha e ekzekutimit, besueshmeria etj
� Kerkesat organizative
� Kerkesa qe dalin si rezultat i politikave dhe proceduraveorganizative p.sh standardet e proceseve qe perdoren, implementimi i kerkesave etj
� Kerkesat e jashtme
� Kerkesa qe dalin si rezultat I faktoreve te jashtem. P.shNderveprimi(interoperability), kerkesat legjislative, etike etj
![Page 78: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/78.jpg)
78
Shembuj kerkesash jo-funksionale
� Kerkesat e produktit
� Interface duhet te implementohet me HTML te thjeshte, pa frames dhe Java applets.
� Kerkesat organizative
� Sistemi dhe dokumentimi i tij duhet te jetekonform standardit ISO XXX
� Kerkesat e jashtme
� Sistemi nuk duhet te lejoje asnje rrjedhje teinormacionit personal te klienteve, perveqemrit dhe numrit te references.
![Page 79: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/79.jpg)
79
Kerkesat e Sistemit
� Kane per qellim te jene nje baze per dizajnimin e sistemit (software design)
� Mund te inkorporohen ne kontraten e sistemit,
� Mund te ilustrohen apo definohetduket perdorur modelet e sistemit(Use case, Data flow digrams, activity diagram etj)
![Page 80: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/80.jpg)
80
Kerkesat dhe Dizajni
� Kerkesat – Ç’ka duhet te beje sistemi
� Dizajni – Si duhet te realizohet(behet) kerkesa.
� Ne praktike Kerkesa dhe Dizajni janezakonisht te pandara.
![Page 81: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/81.jpg)
81
Specifikacioni i Nderfaqesit ( Interface Specification)
� Shumica e sistemeve duhet te operojneme sisteme te tjere, specifikacioni i nderfaqesit duhet te jete gjithashtu pjesee kerkesave.
� Nderfaqesit procedural;
� Struktura e te dhenave qe shkembehet;
� Riprezantimi i te dhenave
![Page 82: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/82.jpg)
82
Dokumenti i kerkesave teperdoruesit
![Page 83: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/83.jpg)
83
Struktura e dokumentit teKerkesave
� Hyrje
� Fjalori(Glossary)
� Definimi I kerkesave te perdoruesit
� Arkitektura e sistemit
� Specifikacioni I kerkesave te sistemit
� Modeli I sistemit
� Evoluimi I Sitemit
� Anekset (Appendices)
Shikoni shembullin e SRS ne word.
![Page 84: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/84.jpg)
84
Intentionally left blank
![Page 85: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/85.jpg)
85
Modelimi i Procesit� Ç’ka eshte nje model i procesit softuerik?
� Eshte nej prezantim i thjeshtesuar (apstrakt) i nje procesi softuerik.
� Nje menyre formale prezantimi si operonbiznesi.
� Data flow diagramet perdoren per tetreguar procesetproceset e e biznesitbiznesit dhe tete dhenatdhenat qekalojne ne mes tyre.(proceseve)
� Meqenese data flow diagramet tregojnelevizjen e te dhenave ne mes proceseve, keta diagram quhen zakonisht “Process model”.
![Page 86: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/86.jpg)
86
Physical vs Logical Model
� Modelet logjike te procesevepershkrujne proceset pa treguar se siato kryhen
� Modelete Fizike (physical model) perfshijne edhe informacione siimplementohet nje proces.
![Page 87: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/87.jpg)
87
Data Flow Diagrams
Process
Data Store
Source/Sink or External
Data Flow
De Marco & Yurdon Gain & Sarson
![Page 88: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/88.jpg)
88
Context Diagram
� Nje pamje gjenerale e nje Sistemi.
� Tregon procesin e pergjithshem tebiznesit vetem si nje proces i vetem
� Qellimi i nje sistemi organizativ qetregon kufijte e sistemit, entitetet e jashtme qe nderveprojne me sistemindhe te dhenat kryesore qe shkembejne
![Page 89: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/89.jpg)
89
Context diagramOrder system
![Page 90: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/90.jpg)
90
DFD Rregullat- Context Diagram
� Vetem nje process, me numer 0.
� Entitetet e jashtme te vizatuara ne forme drejtekendeshi
� Vetem rrjedha e te dhenave kryesore.
� Data store nuk shfaqen ne kete faze
![Page 91: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/91.jpg)
91
Level 0(zerro) DFD
� Tregon te gjitha proceset kryesoreqe e perbejne sistemin.
� Tregon si rrjedh informacioni(tedhenat) ne mes proceseve.
� Shtohen ne diagram “data stores”
� Kur zgjerohet context diagrami ne DFD level-0, te gjitha lidhjet qe hynedhe dalin duhet te ruhen (Balancimi)
![Page 92: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/92.jpg)
92
Level 1 -DFD
� Tregon te gjitha proceset qe perbejnenje proces te vetem ne diagramin e nivelit 0.
� Sherben per te treguar ne detajepermbajtjen e procesit te nje niveli me te larte.
� Diagrami i nevelit 1, mund te mosduhet per te gjitha proceset e nivelit 0
![Page 93: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/93.jpg)
93
1.0
Fill
Order
2.0
Create
Invoice
3.0
Apply
Payment
SALES
REPBANK ACCOUNTING
CUSTOMER WAREHOUSE
Order
Order
Reject
Notice
Picking List
Accounts
ReceivableD1
Invoice
Invoice
Invoice
DetailPayment
Detail
Payment
Commission Bank Deposit Cash Receipts Entry
Completed
Order
Level-0 DFDOrder system
![Page 94: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/94.jpg)
94
Dekompozimi dhe Balancimi
� Dekompozimi
� Nje process iterativ i ndarjes se pershkrimit tesistemit ne detaje me te vogla.
� Niveli me i ulet quhet DFD primitive.
� Balancimi
� Gjate dekompozimit te DFD nga nje nivel ne tjetrin duhet te ruhen “hyrjet ne” dhe “daljet nga”nje proces
� Sigurohuni qe numri i hyrjeve/daljeve terrjedhes se te dhenave eshte i njejte gjatekalimit nga nje nivel dekompozimi ne tjetrin
![Page 95: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/95.jpg)
95
Shembull balancimi� Shembull: Hoosier Burgers
� Ne figuren 1, vini re se eshte vetem nje“input” ne sistem (customer order)
� Tre outpute: Customer receipt, Food order dhe Management reports
Figure 1, Context diagram of Hoosier Burger’s Food ordering, Marre nga libri“Modern System analysis and design”, jeffrey a.Hoffer
![Page 96: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/96.jpg)
96
Vini re: Kemi te njejtat hyrje dhe dalje me diagramin e meparshem. Mund te themi se context diagrami dhe DFD niveli-0 jane tebalancuar.
![Page 97: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/97.jpg)
97
Krijimi i Data flow diagrameve
� Hapat gjeneral1. Krijo “context” diagramin preliminar2. Identifiko use cases, p.sh menyrat se si
predoruesit e perdorin sistemin3. Krijo DFD fragmente per cdo Use case4. Krijo Level 0 diagramin nga fragmentet. 5. Dekompozo ne Level 1,2..6. Kthehu ne hapin e pare dhe rishiko per
gabime.7. Valido DFD me perdoruesit
![Page 98: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/98.jpg)
98
DFD- Rregullat
� Te pergjitheshme:� Hyrjet ne nje process duhet te jene te ndryshme nga daljet e atij procesi� Te gjitha Objektet ne DFD duhet te kene emra unik
� Process:� Nje proces nuk mund te kete vetem dalje.� Asnje proces nuk mund te kete vetem hyrje� Proceset duhet te emrohen me folje
� Data store:� Te dhenat nuk mund te rrjedhin nga nje data store ne tjeter� Te dhenat nuk mund te rrjedhin nga nje entitet I jashtem ne data store� Data store emerohen me emra
� External Entities: � Te dhenat nuk mund te rrjedhin me mes dy entiteteve te jashtme� Entitetet e jashtme emerohen me emra
� Data flow:� E njejta Rrjedhe e te dhenave nuk mund te kthehet ne te njejtin proces� Data flow duhet te emerohen me emra.
![Page 99: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/99.jpg)
99
DF-Gabimet e Zakonshme
a b ab
Duhet nje
proces qe te
kete kal im te
dhenash ne
mes dy
enti teteve te
jashtme
a DataStore1 a
Duhet nje
proces per te
updatuar apo
perdorur nje
Data Store
DataStore1
DataStore2 DataStore3
Duhet nje
proces per te
levizur te
dhenat nga
nje Datastore
ne Tjetren
DataStore2 DataStore3
![Page 100: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/100.jpg)
100
Shembull 1:
� Kur klienti ben nje porosi nepermjet website, sistemikontrollon nese artikulli eshte ne stok, njofton klientinme statusin e artikullit dhe gjeneron kerkesen per porosi ne magazine e cila mbush porosine. Kurporosia eshte derguar(nisur) klienti faturohet. Sistemigjithastu prodhon raporte te ndryshme si raporte teinventarit per kontabilitet.
1. VIzato nje context diagram per kete sistem porosienepermjet website
2. Vizato DFD-0 per te njejtin sistem.
![Page 101: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/101.jpg)
101
Context diagrami
![Page 102: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/102.jpg)
102
DFD level 0
![Page 103: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/103.jpg)
103
Ushtrim 2: ATM- Context Diagrami
ATM Screen
ATM Printer
dhensi i parave
Tastiera
Lexuaesi i
Karteles
ATM Sistemi
menu/mesazhe
fatura e klienti t
para ne cash
komandat
nga
kl ienti
Te dhenat e karteles
D.SH. Te ndertohetDFD Niveli 0
![Page 104: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/104.jpg)
104
Ushtrime ne Laborator
1. Ne EA, te vizatohet shembulli 1 i sistemit teporosive.
2. Te ndertohet nje DFD, nepermjet te cilit paraqitetaplikimi per pune ne nje organizate per nje pozite tecaktuar. Sistemi njofton aplikantin mbi pranimin e dokumenteve. Aplikanti i pranuar regjistrohet ne Payroll pas evaluimit te te gjitha aplikanteve. Detajetmbi poziten merren nga menaxheri, te cilit i nevoitetpunetori.
![Page 105: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/105.jpg)
105
Intentionally left blank
![Page 106: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/106.jpg)
106
Procesi Softuerik
� Cilat ishin aktivitetet kryesore te njeprocesi softuerik?
� Specifikacioni i softuare;
�� DizajniDizajni dhedhe implementimiimplementimi;;
� Validimi i software;
� Evoluimi i software (Evolution)
![Page 107: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/107.jpg)
107
DESIGN
� Pas perfundimit te analizes se kerkesave/specifikacionit duhet tepercaktojme si keto kerkesa duhet teimplementohen - Design.
![Page 108: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/108.jpg)
108
Temat qe do te mbulohen
� Software Architecture Design.
� Application architectures.
� Object-Oriented Analysis (OOA)
� Object-Oriented Design (OOD)
� Static OOD
� Dynamic OOD
� User Interface Design
![Page 109: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/109.jpg)
109
Pse na duhet Dizajni
� Tashme i kemi kerkesat/specifikacionin� Kerkesat jane ne forme shume Abstrakte per ndertimin
e kodit…� Na duhen detajet per:
� Menyren si pjeset e nje sistemi bashkohen(“Architecture”)
� Si grupohen funksionet/te dhenat (“System structure”)� Si reprezantohen te dhenat (“data structure”)� Si procesohen te dhenat (“Algorithms”) � Si do te perdoren API (“services”)� Si do ta perdorin perdoruesit sistemin (“user interface”)� Si do te bashkeveproje sistemi me te tjeret(system
interface)
![Page 110: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/110.jpg)
110
Software Architecture � C’ka duhet te konsiderojme:
� Programet dhe proceset te cilat e perbejnesistemin.
� PC/Servers ku programet ekzekutohen(lloji, app. existuese, sistemet operative etj)
� Networking� Ku do te ruhen te dhenat, si do te
aksesohen/transferohen� Arkitekura e centralizuar apo decentralizuar.� Kualiteti i sherbimit, performanca, siguria etj
� Rezultati I procesit te dizajnit eshte:� Pershkrimi i arkitektures se software
� Client Server Architecure eshte arkitektura e software me e perdorur.
![Page 111: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/111.jpg)
111
Arkitektura Client-Server
� Zakonisht ndahet ne 3 nivele (3 tiers)� Interface (nje pjese ne client nje pjese ne
server)� Processing (pak klient, shumica ne server)� Data storage (zakonisht vetem server)
� Menyra te ndryshme per te ndare tedhenat/funkisonet.
� P.sh. E-commerce Website tipik (browser + http server + Database Server).
� Thin & Thick Clients. � Disa modele client-server
� Multiple server, single server, decentralized/centrelized systems etj
![Page 112: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/112.jpg)
112
“Thin” Clients
� Procesimi ne ‘client side’ eshteshume i limituar
� Puna me e madhe kryhet ne server, perfshi ketu edhe njepjese te formatimit te UI (p.shJSP, ASP)
� Ndonjehere ka nevoje per bandwidth me te larte ne rrjet.
� Shembuj: Web browser, telnet
![Page 113: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/113.jpg)
113
“Thick” Client
� UI dhe nje pjese e procesimitbehet ne “Client side”.
� Nje pjese e procesimit kryhetne server.
� I pershtatshme per volum tevogel ne rrjet (bandwidth tevogel)
� Shembuj:java applets, ATM machine, virtual environment client.
![Page 114: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/114.jpg)
114
Dizajni i Arkitektures
� Identifikimi i programeve/proceseve qe nevojiten.
� Identifiko pjesen hardwerike (PC,server, networking etj).
� Percakto cili program exekutohet ne cilenmakine.
� Kontrollo nese arkitektura suporton kerkesatjofunksionale dhe ato funksionale. � Keni kerkese jofunksionale si me poshte:
• koha e regjistrimit transaksioni <=2 sec
• koha e maximale e gjenerimit te nje raporti eshte 10 sec. (si te behet validimi/kontrollimi?)
![Page 115: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/115.jpg)
115
Video Library System UML deployment diagram
![Page 116: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/116.jpg)
116
Application Architecture
� Data processing Application� Applikacione qe procesojne te dhenat ne
grup( in batches), ndonjehere edhe pa nderhyrjen e perdoruesit.
� Transaction processing application� “Data centered application” qe procesojne
kerkesat e perdoruesve dhe update-ojneinformacionin ne DB te sistemit.
� Event processing application� Aplikacione ku aktivitetet e sistemin varen
nga interpretimi i ngjarjeve qe vijne ngamjedisi i sistemit.
![Page 117: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/117.jpg)
117
Tipet e applikacioneve –shembuj
� Data processing systems
� Sistemi i faturimit;
� Sistemi i rrogave.
� Transaction processing systems
� E-commerce systems;
� Sistemi i rezervimeve;
� Sistemi i financave(kontabiliteti)
� Event processing systems
� Word processors;
� Real-time systems;
![Page 118: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/118.jpg)
118
Input/output Data processing
![Page 119: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/119.jpg)
119
Transaction processing system
![Page 120: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/120.jpg)
120
Object-Oriented
� Object Oriented Analysis OOA
� Object Oriented Design-OOD
� Object Oriented Programming –OOP
� OOA, OOD dhe OOP jane tenderlidhura me njera tjetren porndryshojne.
![Page 121: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/121.jpg)
121
Object Oriented Analysis
� Modelimi i kerkesave ne kuptimin e objekteve dhesherbimeve qe ato ofrojne
� OOA eshte (pretendon te jete) me ‘natyral’� Me evoluimin e sistemit, funksionet (proceset) kane
tendence te ndryshojne ndersa Objektet kanetendence te mbeten te pandryshuar.
� Modeli i strukturuar i analizes (DFD) do te dale jashte perdorimit, ndersa OO model JO
� Ne OOA theksohet rendesia e mire definuar e lidhjes se objekteve (ku ne DFD kemi mungese teketij informacioni)
![Page 122: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/122.jpg)
122
Object Oriented Design
� Objected jane nje forme abstrakte e jetes se perditshme ose entitete te sistemit.(p.shperson,student, karrige etj)
� Objektet jane te pavaruara dhe perfaqesojne njeinstance te prezantimit te informacionit
� Funksionaliteti i sistemit shprehet ne terminsherbimet e objektit (Object services)
� Objektet komunikojne nepermjet te mesazheve
� Objektet mund te jene te distribuara dhe mund teegzekutohen ne menyre sekuenciale apo paralele
![Page 123: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/123.jpg)
123
OO Design
Pse behet dizajn i Software?� Pse dizajnohet projekti i nje ndertese para se ajo te ndertohet?
� Cka eshte OO Design?
� OO design eshte nje nga metodologjite me te perdorura per software dizajn!?! (pretendohet)
� Ne OOD fillohet me analizimin e entiteteve te botes reale qeekzistojne.
� Pastaj shtohen atributet dhe sjellja per cdo entitet.
� Hapat kryesor ne OO Design
� Shpreh entitetet ne Klasa dhe objekte
� Bej lidhjen e klasave
� Analizo te gjitha veprimet qe nje objekt mund te kryeje me njeobjekt tjeter
![Page 124: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/124.jpg)
124
Cka eshte nje Object?
� Nje objekt eshte nje entitet qe ka gjendje(state), atribute dhe funksionalitete(services)
� P.sh Nje person ka emer dhe numer personal
� Atributet ruhen ne variabla
� Funksionaliteti ruhet ne metoda class System
PERSON
# Adressa: char
+ Emri: TEXT
- Nr_perosnal: int
+ han() : boolean
# vrapon() : float
Functionality (method)
Attributes
![Page 125: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/125.jpg)
125
Classes (Klasat)
� Nje pershkrim i nje Objekti quhet Class
� Person eshte nje class e cila mund te kete atributet
� Emri
� Adresa
� Dhe mund te kete funksionalitet
� Vrapon
� Ha (ushqim)
� Ne slide paraprak ne tham qe Person eshteObject?????
� Objekti eshte nje instance e nje klase
class System
PERSON
# Adressa: char
+ Emri: TEXT
- Nr_perosnal: int
+ han() : boolean
# vrapon() : float
![Page 126: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/126.jpg)
126
Identifikimi i Objekteve
� Pjesa me e veshtire gjate dizajnit OO eshte identifikimi i objekteve
� Nuk ka nje “formule magjike” per identifikimin e Objekteve. Ajombeshtetet ne aftesi dhe eksperiencesi dhe ekperiencen e fushes ngadizajneret e sistemit.
� Identifikimi i Objekteve eshte njeproces iterativ.
![Page 127: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/127.jpg)
127
Qasjet ne identifikimin e objekteve
� Perdor metoden gramatikore te gjuhesnatyrale te pershkrimit te problemit. � Emrat � Objekte� Foljet � Metoda
� Bazo identifikimin ne gjerat e prekshme ne “application domain”.
� Perdor qasjen “sjellje” (cka ben) per teidentifikuar objektet bazuar ne sjellje.
� Perdor analizen e bazuar ne skenare. Objektet, atributet dhe metodat ne cdoskenar identifikohen.
![Page 128: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/128.jpg)
128
Weather station description
� weather station is a package of software controlled instruments which collects data, performs some data processing and transmits this data for further processing. The instruments include air and ground thermometers, an anemometer, a wind vane, a barometer and a rain gauge. Data is collected periodically.
� When a command is issued to transmit the weather data, the weather station processes and summarises the collected data. The summarised data is transmitted to the mapping computer when a request is received.
![Page 129: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/129.jpg)
129
Weather station-USE Case
Lexo me shume ne liber fq. 324 Pershkrimin e plote dhe skenaret
![Page 130: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/130.jpg)
130
Objektet klasa
![Page 131: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/131.jpg)
131
Per te mbajtur mend…
� Ç’ka eshte nje objekt?
� Ç’ka eshte nje klase?
� Differenca ne mes klases dhe Objektit
� Ç’ka eshte OOA, OOD.
![Page 132: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/132.jpg)
132
Class Diagrams
� Diagrami i Klasave pershkruan tipet e objekteve ne sistem dhe lloje te ndryshme telidhjeve statike (static relationship) ne mestyre.
� Permbledhje
� Perspectives: Conceptual, Specification, Implementation
� Attributes, Operations and Methods.
� Associations, Navigability, Aggregation, Composition, Association Classes.
� Generalization, Interfaces, Abstract Classes
![Page 133: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/133.jpg)
133
![Page 134: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/134.jpg)
134
Nga Use cases ne Class Diagram
uc Us e Ca s e V ie w
P oros ia
K lie nti
poros ia
Ne ke m i kl i e n te q e p o ro si si n p ro d u kte t to n a .
Ne i d a l l o j m e kl i e n te t f i rm a n g a kl i e n te t p ri va t, se p se f i rm a t p a g u a jn e
n je h e re n e m u a j n d e rsa kl i e n te t p ri va t d u h e t te p a ra p a g u a jn e p o ro si te .
Ne d e sh i ro j m e q e p o ro si te te ra d h i te n sip a s p ro d u kte ve
Cd o l i n j e d u h e t te ke te sa si n e d h e cm i m i n p e r cd o p ro d u kt.
![Page 135: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/135.jpg)
135
Shembull: Porosia -Association
class Class M odel
Porosia Klienti
* 1
u c U s e C a s e V ie w
p o r o s ia
• N e k e m i k l ie n te q e p o r o s is in p r o d u k te t to n a .N e i d a l l o j m e kl i e n te t f i rm a n g a kl i e n te t p ri v a t , se p se f i rm a t p a g u a j n e
n j e h e re n e m u a j n d e rsa kl i e n te t p ri v a t d u h e t te p a ra p a g u a j n e p o ro si te .
N e d e sh i ro j m e q e p o ro si te te ra d h i te n si p a s p ro d u kte v e
C d o l i n j e d u h e t te ke te sa si n e d h e c m i m i n p e r c d o p ro d u kt .
Association Multiplicity
![Page 136: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/136.jpg)
136
Shembull:Porosia-Generalization c la s s Cla s s M ode l
P oros ia Klie nti
Klie nt P riv a tKlie nt FIRM
* 1
uc U s e C a s e V ie w
poros ia
Ne ke m i kl i e n te q e p o ro si si n p ro d u kte t to n a .
Ne i da llo j m e k l ie n te t firm a nga k lie n te t p riv a t, s e ps e firm a t pa gua j ne nj e he re ne m ua j nde rs a k lie n te t pr iv a t duhe t te pa ra pa gua j ne poros ite .
Ne d e sh i ro jm e q e p o ro si te te ra d h i te n si p a s p ro d u kte ve
Cd o l i n j e d u h e t te ke te sa si n e d h e cm im in p e r cd o p ro d u kt.
Generalization
![Page 137: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/137.jpg)
137
More association
Porosia Klienti
Klient Priv atKlient FIRMLinja e porosive Produkt
* 1
*
1
* 1
p o ro s ia
N e ke m i kl i e n te q e p o ro si si n p ro d u kte t to n a .
N e i d a l l o j m e kl i e n te t f i rm a n g a kl i e n te t p ri v a t , se p se f i rm a t p a g u a j n e
n j e h e re n e m u a j n d e rsa kl i e n te t p ri v a t d u h e t t e p a ra p a g u a j n e p o ro si te .
N e d e s h ir o j m e q e p o r o s ite te r a d h ite n s ip a s p r o d u k te v eC d o l in j e d u h e t te k e te s a s in e d h e c m im in p e r c d o p ro d u k t.
![Page 138: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/138.jpg)
138
Porosia–Attributes & Operations
Klienti
- Adresa
- Emri
+ Klasifikimi_kredise()
Porosia
- Cmimi: Currency
- Data e pranimit
- EshtePpregaditur
- number: String
+ Close()
+ Dergoj()
Attributes
Operations
porosia
Ne kemi kliente qe porosisin produktet tona.
Ne i dallojme klientet firma nga klientet privat, sepse firmat paguajne
njehere ne muaj ndersa klientet privat duhet te parapaguajne porosite me
credit card
Ne deshirojme qe porosite te radhiten sipas produkteve
Cdo linje duhet te kete sasine dhe cmimin per cdo produkt.
![Page 139: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/139.jpg)
139
Porosia-DIagrami i klases
Porosia
- Cmimi: Currency
- Data e pranimit
- EshteParapaguarr
- number: String
+ Close()
+ Dergoj()
Klienti
- Adresa
- Emri
+ Klasifikimi_kredise()
Klient Privat
- Credit_card: int
Klient FIRM
- Klasifikimi_kredise: int
- Kontak_Person: char
- Limiti_kredise: int
+ Fatura_muajit() : int
Linja e porosive
- Cmimi: float
- Sasia: int
Produkt
«Pre-condition»
{Nese Porosia.klienti.kalsifikimi_kredise eshte i "KEQ" atehehere
Porosia.Eshte_parapaguar duhet te jete "TRUE"}
* 1
*
1
* 1
![Page 140: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/140.jpg)
140
Perspektivat
Jane tre perspektiva qe mund t’i perdorni gjate vizatimit teClass Diagrams;
� Conceptual� Ne menyre konceptuale paraqitet klasa.� Ofron gjuhe indipendente te implementimit
� Specification � Reprezanton interface te software� Implementimi eshte I fshehur
� Implementation � Klasat reale te perdorura ne gjuhe programimi� Lidhet direkt me implementimin
![Page 141: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/141.jpg)
141
Class - Vizibiliteti
+ public, mund te shifet nga cdoklase tjeter
# protected, mund te shifetvetem nga nen-clasat
- private, shifet vetem nga kjoklase
Porosia
- Cmimi: Currency
+ Data e pranimit
+ EshteParapaguarr
- /number: String
# TEST: Boolean
+ Close()
+ Dergoj()
+ test() : Integer
![Page 142: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/142.jpg)
142
Relacionet ne mes Klasave
�Association
�Aggregation
�Composition
�Association Classes
�Generalization
![Page 143: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/143.jpg)
143
Associations
� Associations reprezentojne lidhjen ne mes instancave te klasave.
� C’do Asociacion ka dy role qe mundte emerohen.
� Multipliciteti: 1; *;2..4; 2,4;24
RoliRoli
Personi Kompania
+Punesohet
*
+Puneson
1
![Page 144: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/144.jpg)
144
Associations-Navigability
� Asociacionet binare
� Te dy klasat e njofin njera tjetren
� Asociacionet unare
� Klienti nuk mund te tregoje cfareporosie ka bere
Personi Kompania
+Punesohet
*
+Puneson
1
Porosia Klienti
* 1
![Page 145: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/145.jpg)
145
Aggregation� Agregation eshte PJES E (part of)
Relacionit.
� P.sh. “Regjioni eshte pjese e shtetit”
� A eshte nje kompani aggregation per punetoret e vet apo eshte njeasociacion ne mes punetoreve te tij?
S h te t i R e g j i o n i
A u to m j e t i
D y e r t
D r i ta r e t
Specifikohet me nje diamant te zbrazetnga ana e pjesespermbajtese
![Page 146: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/146.jpg)
146
Composition � Kompozicioni eshte nje version me i
forte i agregacionit
� Klasa perberese varet nga klasapermbajtese. Nese vdes klasapermbajtese vdes edhe klasa perberese.
S hte pia Dhom a
K lie nti LLoga riaSpecifikohet me nje diamant te ZInga ana e pjesespermbajtese
![Page 147: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/147.jpg)
147
Association Classes
� Penetoret punesohen nga kompaniaper nje periudhe te caktuar.
� Pyetje: Atributi Periudhe ne cilenklase vendoset.
� Associtions classes ju lejojne temodeloni asociacionet me klasa.
Personi Kom pania
Puna
+ Pe riud ha: in t
* 1
![Page 148: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/148.jpg)
148
Generalization
� Inheritance/Trashigimia
� Superklasa -Gjerat e perbashketa qe kane disaklasa.
� Sub klasa – diferencatndahen ne nenklasa
Klienti
- Adresa
- Emri
+ Klasifikimi_kredise()
Klient Privat
- Credit_card: int
Klient FIRM
- Klasifikimi_kredise: int
- Kontak_Person: char
- Limiti_kredise: int
+ Fatura_muaji t() : int
Super klasa
Nen Klasat
![Page 149: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/149.jpg)
149
UML Class diagram
DVD Movie VHS Movie Video Game
Rental Item
Rental Invoice
1..*1
Customer
Checkout Screen
0..1
1
Simple
Association
Class
Abstract
Class
Simple
Aggregation
Generalization
Composition
Multiplicity
Source: University of Washington
![Page 150: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/150.jpg)
150
Ushtrime
� Nga ciftet e meposhtme dallo klasen ngaobjekti i nje klase?
1. Superhero, superman klas: superhero, objekt: superman
2. Hashim, Person
3. Gazete, Koha
4. Bajram, Feste
![Page 151: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/151.jpg)
151
Ushtrim 2
� Listo disa atribute dhe operacione tecilat mund te definohen per klasen e quajtur “Takim” qe reprezanton njetakim biznesi?
Atributet: data, koha,lokacioni,qellimi
Operacionet: cakto, cancel, “setters & getters” per cdo atribut{p.sh set_time(), get time() }
![Page 152: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/152.jpg)
152
Ushtrim 3
Nje kompani ka departamente. Departamentetmund te gjenden ne nje ose disa zyra tekompanise(lokacione).
Nje zyre luan rolin e zyres Qendrore.
C’do departament ka menaxherin e vet i cilinjekohesisht eshte edhe punetor.
Detyra juaj eshte te ndertoni nje diagram klasave duke perfshire te gjithe elementet qe juduhen.
![Page 153: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/153.jpg)
153
Kompania
- Emri: char
+ Get_name() : void
+ set_nam e() : void
Departamenti
- Em ri_Dep: string
+ get() : void
+ set() : void
ZYRA
- Adresa: int
Zyra Qendrore
Punetori
- Emri: string
- T itul l i : char
+ get() : void
+ set() : void
+menaxhohet nga 1
+M enaxhon 1 1..*
1
+gjindet ne
*
+i takon
*
![Page 154: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/154.jpg)
154
Ushtrim 4� Movie Shop
Te dizajnohet nje diagram klase per sistemin "movie shop" nepermejt te cilit perdoruesit mund te bejne porosine e filmave ne dyqan, te kerkoje/shfletoje ne katalogun e dyqanit dhe te anetarsohen/regjistrohen. Cdo anetar qeregjistrohet merr edhe karten e tij rimbushese.
Vetem anetaret e regjistruar lejohen te marrin filma me qera me karten e tyre. Vlera ne karte update-ohet gjateqiramarrjes se filmave.
Filmat mund te blihen nga perdoruesit dhe anetaret.
Filmat porositen edhe kur nuk jane ne ne dispozicion.
![Page 155: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/155.jpg)
155
Perdoruesi
- Emri : char
- Mbiemri: char
+ Anetaresohu() : void
Porosia
- Data: int
- Titull i: char
+ Get_credit() : void
+ Set_Credit() : void
SHOP
- Emri_Dyqanit: int
Kataogu
- total_filma: int
Filmi
- Titulli: int
FIlm Qera
- Cmimi: int
- Gjendja: byte
+ I_Kthyer() : void
+ I_marre_me Qera() : void
Blej FILM
- Cmimi: int
+ gjendja: int
+ Blej() : void
+ Porosit() : void
CARD
- number: int
+ get() : void
+ set() : void
Anetari
+ C'antaresohu() : void
1
Ben
1..* *
Behet
1
Shfleton
1
zoteron
1
*
leshohet
1 1
1..*
*
1..
0..1
Merr me qera
0..*
![Page 156: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/156.jpg)
156
Ushtrim 5
Te krijohet nje diagram i klases i thjeshtesuar per regjistrin e klaseve shkollore. (pa atribute dhe metoda) Çdo klas e shkolles perbehet prej jo me shume se 25 studenteve. Ç’do klase ka kujdestarin e klases qe eshte njeri prejmesuesve. Gjithashtu ç’do klase ka nje nxenes kryesor qeperfaqeson klasen- kryetari i klases. E gjithe klasa meson lendet e njejta(brenda kohes se caktuar te javes) perveq gjuheve te huaja(disa mesojnefrengjisht, disa anglisht)Mesuesi mund te mbaje disa lende. Nxenesi gjate semestrit merr note parciale dhe note finale nga cdo lende, per me teper nxenesi notohet edhe per sjelllje.
![Page 157: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/157.jpg)
157
Klasa Nxenes
- Emri: string
- Mbiemri: string
Nota
Mesuesi
Lendet
- lenda: string
- ore_ne_jave: string
Grupet e Gjueve
Gjuet e Huaja
nota per lenden Nota per sjelljen
Nota Parciale Nota Finale
0..*
kryetari i klases
1
1..25
0..*
Kujdestar klase
1 1
1..*
0..*
mesojne
1..*
1
mesojne
0..1
1 Merr note
0..*
1
0..*
![Page 158: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/158.jpg)
158
Detyre Shtepie 6
� Nga Diagrami i Klases ne slide-in Pasues (“Universe of Discourse: UNN Information System (UNN-IS)”) tepershkruhet Problemi i kerkesave duke lexuardiagramin.
![Page 159: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/159.jpg)
159
Class Diagram
Ref: Advanced Database (CM036) –Lecture, Object Oriented Database(I)
![Page 160: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/160.jpg)
160
Intentionally left Blank
![Page 161: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/161.jpg)
161
ERD
Entity relationship Diagram
![Page 162: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/162.jpg)
Entity Relationship Diagram Entity Relationship Diagram
ERDERDIntroduction
�Dizajnimi Konceptual I DB
�Cka eshte ERD?
�Chen and crow’s foot simbolet
�Entity, relationships,attributes
�Identifikuesit, kardinaliteti
�Lidhjet binare 1:M, 1:1,M:N te ilustruara me shembuj
�Modality – Optional Vs Mandatory
�Detyre shtepie
![Page 163: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/163.jpg)
163
Cka eshte dizajnim konceptualbazes se te dhenave?
� Process I pershkrimit te te dhenave, lidhjeve ne mes te dhenave dhe‘konstraints’(kufizimet) qe kane te dhenat.
� Pas analizes- Merr te gjitha informacionet e detajuara dhe mundohu te kuptosh si janete lidhura te dhenat
� Fokusi duhet te jete ne te dhenat dhe jo ne proceset.
� Rezultati i nje dizajnimi konceptual te njeDB eshte ‘Conceptual Data Model’
![Page 164: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/164.jpg)
164
Mbledhja e informacionit per modelim konceptual te tedhenave
� Dy perspektiva
� Top-down (Nga larte-poshte)• Modeli perfitohet nga nje njohje e thelle dhe e
detajuar e biznesit.
� Bottom-up (Nga poshte-larte)• Modeli perftohet duke rishikuar specifikacionet e
biznesit dhe dokumentet.(p.sh duke shikuar Indexinsi dokument modelojme nje entitet INDEX me tegjitha detajet qe ka indexi)
![Page 165: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/165.jpg)
165
Entity-Relationship (ER) Modeling
� ER Modeling eshte nje qasje nga larte-poshte ne dizajnimin e database.
� Entity Relationship (ER) Diagram� Prezantim I detajuar logjik i entiteve, lidhjeve dhe te dhenave te krijuara,
ruajtura dhe te perdoruara nga nje organizate apo biznes. � Entitetet zakonisht pasqyrojne te dhena te ngjajshme te informacionit. P.sh
Entitetit student(ID, emer, mbiemer,ditelindje..)
� Tre konsrtuktet kryesore te nje ERD Diagram� Entitiy� Relationships� Attributes
� Perdoren disa lloje simbolesh per ER modeling� Chen Model � Crow’s Foot Model� Information Enginering(IE)� Etj
![Page 166: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/166.jpg)
166
Emri Entitetit Shprehje foljoreqe tregon lidhjen
Emri Atributit
Emri I Atributit osekarakteristikat e nje entiteti
Lidhja ne mesinstancave te njeapo me shumeentiteteve
Person, vend, objekt, ngjarjeper te cilat te dhenat duhet temirembahen
Pasqyron nje grup objektesh ne boten reale qe ndajnekarakteristikat e njejta
Chen Notation
![Page 167: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/167.jpg)
167
Ndjek/Regjistron
Emri
Entitetit
EntityEntity AttributeAttribute
Emri entitetit
Lista e
atributeve
RelationshipRelationship
Shprehje foljoreqe tregonlidhjen ne mesentiteve
Crow’s Foot Notation
Student
ID
EmerMbiemer
Ditelinja
…
Fakulteti
dega
Emri fakAdresa
tel
…
![Page 168: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/168.jpg)
168
Entity
� Person, vend apo ngjarje per te cilat duhette ruhen te dhenat.
� Shembuj entitetesh:� Person: PUNETOR, STUDENT, PACIENT� Vend: DYQAN, MAGAZINE� Objekt: MAKINE, PRODUKT, AUTOMJET� Ngjarje: SHITJE,REGJISTRIM, NDRYSHIM� Koncept: LLOGARI, DREJTIM FAKULTETI
� ‘Must be multiple occurrences’Nese nje firme ka vetem nje magazine a eshte
magazina Entitet? Mjeku duhet te ekziston ne menyre qe te caktohet nje
termin.
![Page 169: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/169.jpg)
169
Attributes
� Informacioni qe ruhet per nje entitet
Shembull i atributeve te nje intiteti:
STUDENT: Student_ID, Student_Name,
Home_Address, Phone_Number
![Page 170: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/170.jpg)
170
Identifiers-Identifikuesit
� Nje ose me shume atribute mund tesherbejne si identifikues te nje Entiteti.
� Shembull: studenti mund teidentifikohet nga student_ID. Gjithashtustudenti mund te identifikohej ngakombinimi i emrit dhe mbiemrit. Candidate key
� Nje Identifikues mund te jete “artificial’, siq eshte krijimi i ID number.
![Page 171: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/171.jpg)
171
Relationships
� Relacioni apo lidhja ne mes entiteteve
� Entiteti i pare ne Lidhje eshte parent entity; entiteti i dyte ne Lidhje quhetchild entity
� Lidhjet duhet te emrohen me emrafoljor(active verb names)
� Lidhja eshte gjithmone e dyanshme
![Page 172: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/172.jpg)
172
Shembull
Autori Libri
Emri Relacionit:
Shkruan/shkruhet
Nje autor Shkruan nje ose me shume libra
Nje liber mund te shkruhet nga nje ose me shume autor
Shenim:
Autor dhe Liber janeEMRA(noun)
Shkruan eshtefolje(verb)
![Page 173: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/173.jpg)
173
Cardinality
� Kardinaliteti
� Numri minimal apo maksimal i instancave te nje entiteti A qe mund telidhet me cdo instance te entitetit B.
• one – to – one (1:1)
• one – to – many(1:M)
• many – to –many(M:N)
![Page 174: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/174.jpg)
174
Modality-Optionality
� Modality Specifikon nese nje instance duhet te egzistoje apo mund temungoje ne nje lidhje te entiteteve
� NOT NULL (mandatory)
� NULL (optional) Optionality
Cardinality
![Page 175: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/175.jpg)
175
Shembull Cardinality(1)
Profesor Lendaligjeron
Profesor Lendaligjeron
Profesori Ligjeron lenden OSELenda Ligjerohet nga Profesori
Sa? Sa lende? Sa profesor?
Sa? Sa lende? Sa profesor?
![Page 176: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/176.jpg)
176
Shembull Cardinality(1)
Profesor Lenda
ligjeron
(1,1) (1,4)
Cardinality
![Page 177: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/177.jpg)
177
Simbolet ne Lidhje
� Chen Model simbolet
� 1 pasqyron one.
� M pasqyron many
� Crow’s Foot simbolet
1
M
many
One
One or many
Mandatory one , nenkupton (1,1)
Zero or many
![Page 178: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/178.jpg)
178
Lidhja Binare(1:M)
� One to many : Piktor Piktur
Pikturon
Relacioni One to many ne mes Piktorit dhe piktures
![Page 179: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/179.jpg)
179
Lidhja Binare(1:1)
� Nje instance e vetme ne nje entiteteshte e lidhur me vetem nje instance te nje entiteti tjeter
� Ka indikacione qe te dy entitetet mundte shkrihen (jo gjithmone)
� Ndodh shume rralle ne nje ER model
Professor DepartmentUdheheq
Lidhja ne mes profesorit dhe departamentit
![Page 180: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/180.jpg)
180
![Page 181: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/181.jpg)
181
Lidhja Binare(M:N)� Kur nje instance e nje entitetit lidhet me shume instanca te entitetit
tjeter dhe anasjelltas.
� Duhet te ‘shmangen’ keto lloj lidhje sepse cojne ne te dhena teteperta (data redundancy )
� M:N lidhja nuk mund te perkthehet ne menyre direkte ne DB relacionale.
� Mund te implementohet duke shkeputur lidhjen M:N ne dy lidhje1:M
� Bridge Entity• Perdoret per te lidhur entitetet(tabelat) qe jane ne lidhje M:N• Struktura Bridge entity perfshin TE PAKTEN identifikuesit (PK) te entiteteve
qe lidhen nepermjet bridge entity.
![Page 182: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/182.jpg)
182
Student Lenda
Ndjek/ndiqet
M:N Lidhja ne mes Studentit dhe lendeve
Hashim
Luan
Soft Engineering
Programim ne WWW
Analize Funksionale
![Page 183: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/183.jpg)
183
Implementim i Gabuar
Kodi LendesStudent ID Klasa Koha Profesoriprog001 999 103 12:00 7653
ing082 888 202 16:00 3294ing082 777 202 13:00 3294
Student ID ST_name Kodi Lendes
999 Hashim prog001
888 Luan ing082
777 prakash ing082
888 Luan prog001
PK(student_id dhe kodi I Lendes)
PK(kodi I Lendes dhe student ID)
![Page 184: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/184.jpg)
184
Bridge Entity
Student Lenda
Student Lenda
Ndjek
Regjistron
Bridge Entity: Nga M:N lidhje ne DY 1:M Lidhje
![Page 185: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/185.jpg)
185
Student ID ST_name999 Hashim
888 Luan777 prakash
888 Luan
K od i L e nd esS tud en t ID No ta
p rog 00 1 9 9 9 7
in g0 82 8 8 8 6in g0 82 7 7 7 10
K od i L e nd esK las a K o h a P ro fe s or ip rog 00 1 1 0 3 12 :00 7 6 53
in g0 82 2 0 2 16 :00 3 2 94
in g0 82 2 0 2 13 :00 3 2 94
PK(kodi lendes student Id)
![Page 186: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/186.jpg)
186
Mandatory VS Optional/ NULL VS Not NULL
Profesori LandaLigjeron
Nje profesor mund te ligjeron 0 ose me shume Lende.
Lenda mund te ligjerohen nga nje dhe vetem nje profesor
OptionalOptionalMandatoryMandatory
(0,N)(1,1)
Profesori Lenda
(0,N) (1,1)
Ligjeron1
M
![Page 187: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/187.jpg)
187
Gabim I zakonshem
Cfare te dhene deshirojme te ruajme ??
Ne jemi te interesuar te modelojme te dhenat
dhe JO proceset apo funksionet qe perdorin apo
gjenerojne keto te dhena.
Modelimi I proceseve apo funksioneve ne vend te modelimit te te dhenave
![Page 188: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/188.jpg)
188
Ushtrim� Jeni punesuar nga nje menaxher I nje dyqani qe shet ski. Detyra juaj eshte qe
te modeloni nje ERD qe sherben per inventarizimin e artikujve, Klienteve dheQerave te produkteve.
� Dyqani i skive jep me qera SKI dhe SAJA klienteve te vet. Cdo artikull ka kodine vet unik inventarit qe e identifikon artikullin. Menaxheri deshiron te dije madhesine e artikullit si dhe cmimin e qerase per cdo artikull. Cdo artikull ne inventar klasifikohet ne baze te modelit. Cdo artikull i takon ekzaktesiht vetem nje modeli. Dyqani i skive mund te kete shume artikuj qe i takojne nje modeli te caktuar.
� Perveq invertarit menaxheri i dyqanit deshiron te ruaje informacione rreth Modeleve si numri I modelit, ngjyren e modelit, vitin e modelit. Cdo model klasifikohet sipas stilit(JUMP, Freestyle).
� Gjithashtu menaxheri deshiron te ruaj edhe te dhenat per klientet si emrin, mbiemrin, adresen, qytetin shtetin dhe e-mail. Klienti mund te marre me qera cdo artikull nese eshte ne inventar(ne dyqan). Nje artikull gjithashtu mund e merret me qera vetem nga nje klient ne te njejten kohe.
� Punetoreve te Dyqanit te skive do te ju duhet nje forme e qerase e cila do tregon emrin e klientit dhe adresen, daten e kthimit te artikullit, cmimin e qerase
![Page 189: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/189.jpg)
189
Intentionally left blank
![Page 190: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/190.jpg)
190
Zhvillimi i Software
� Rapid Software Development –RSD
� Agile methods
� Programimi Ekstrem –XP
� Reuse Development
� Programimi Gjenerik
� COTS (commercial of the shelf)
� Evoluimi i software
![Page 191: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/191.jpg)
191
Rapid software development
� Zhvillimi bazohet ne ate menyre kuspecifikacioni i kerkesave dhe dizajni eshtenje proces Iterativ.
� Zhvillimi behet ne menyre incrementale derisa te arrihet ne nje version stabil.
� Perdoruesit evaluojne cdo zhvillim te ri (cdoincrement) the bejne propozime per ndryshimet te reja.
� Kerkesat jane dinamike, zhvillimi eshtedinamik dhe dorezimi i soft. eshte i shpejtedhe dinamik.
![Page 192: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/192.jpg)
192
Nje proces iterativ zhvillimi
Validate
increment
Build system
increment
Specify system
increment
Design system
architectur e
Define system
deliverables
System
complete?Integrate
increment
Validate
system
Deliver final
systemYES
NO
![Page 193: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/193.jpg)
193
Avantazhed e zhvillimitIterativ(perserites)
� Sherbim i shpejte ndaj klientit.
C’do shvillim i ri (increment) ka ne vetevetefunksionalitetet prioritare te klientit.
� Angazhimi i perdoruesit me sistemin.
Perdoruesit duhet te jene patjeter teinvolvuar gjate tere kohes, qe d.m.th sistemine shumicen e rasteve i ploteson kerkesat e perdoruesit si dhe perdoruesit jane me shume te perkushtuar ndaj sistemit.
![Page 194: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/194.jpg)
194
Disavantazhet e ZhvillimitIterativ
� Problemet e menaxhimit
� Eshte e veshtire te gjykohet Progresi dhe Problemetsepse nuk ka dokumentacion qe demostron se ckaeshte bere.
� Qeshtjet kontraktuale me klient
� Probleme me validimin/testimin
� Pa nje specifikacion, kundrejt cilitspecifikacion/kerkese te validohet sistemi?
� Problemet e Mirembajtjes
� Ndryshimet e vazhdueshme e bejne te veshtiremirembajtjen e software
.
![Page 195: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/195.jpg)
195
Metodat Agile (shkathet)
� Nje qasje e zhvillimit iterativ(RAD) � Pakenaqesite me zhpenzimet e teperta qe
perfshihen gjate fazes se dizajnit çuan ne krijimin e metodave Agile. Keto meda:� Fokusohen me shume ne KOD se ne dizajn.� Bazohen ne qasjen iterative te zhvillimit te
software� Jane te destinuara per nje dorezim te shpejt
te nje software qe punon.
� Metodat Agile ndoshta jane me te mira per biznese te vogla apo te mesme.
![Page 196: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/196.jpg)
196
Programimi Ekstrem -XP� XP - Extreme Programming
� Metoda me e njohur dhe me e perdorur Agile
� Metoda ekstreme ka nje qasje ‘ekstreme’ tezhvillimit iterativ� Versionet e reja mund te zhvillohen disa here
ne dite.
� ‘Increments’ dorezohen tek klienti c’do 1 apo 2 jave;
� Te gjitha testet duhet te behen ne cdo version, dhe nje version pranohet vete nese te gjithatestet kane qene te sukseseshem.
� Klienti duhet te jete i involvuar me orar teplote.
![Page 197: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/197.jpg)
197
Skenaret e kerkesave ne XP
� Ne XP, kerkesat e perdoruesve jane teshprehura si skenare apo tregime teperdoruesve.
� Keta skenare shkruhen ne ‘karta’ dhe grupi i zhvilluesve i ndan ato ne aktivitete(pune) per implementim.
Downloadimi i nje artikulli me pagese
Fillimisht e zgjedh artikullin qe deshiron nga lista e artikujve.Pastaj ju I thoni sistemit se si do te paguani per kete artikull, kjo mund
Te jete nepermjet anetaresimit, llogarise se kompanise apo credit card.
![Page 198: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/198.jpg)
198
Cikli i leshimit ne pune te njesoftware ne XP
Break down
stories to tasks
Select user
stories for this
release
Plan release
Release
software
Evaluate
system
Develop/integrate/
test software
![Page 199: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/199.jpg)
199
RAD- rapid application development
� Edhe pse metodat Agile kane marre shumevemendje vitet e fundit, Sistemet e Biznesitjane zhvilluar ne menyre iterative per shume vite duke perdorur tekniken RAD.
� Keto sisteme biznesi jane dizajnuar qe tezhvillojne “data-intensive” aplikacionebiznesi dhe mbeshteten ne programimindhe paraqitjen e informacionit nga baza e tedhenave.
![Page 200: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/200.jpg)
200
Veglat RAD-rapid application development
� Database programming language
� Interface Generator
� Links to office applications
� Report generators
![Page 201: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/201.jpg)
201
Mjedisi RAD
DB
programming
language
Interface
generator
Office
systems
Report
generator
Database management system
Rapid application
development environment
![Page 202: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/202.jpg)
202
Software ReuseRipordorimi i software
� Ne shumicen e disciplinave inxhinjerike, sistemet dizajnohen duke kompozuarkomponente ekzistuese te cilat jane perdorurne sisteme te tjera.
� Inxhinjerimi i software ka qene me shume i fokusuar ne nje zhvillim origjinal.
� Viteve te fundit eshte vene re se per te arriturnje software me te mire, me shpejte dhe me kosto me te ulet duhet te adaptohen procesedizajni qe jane bazuar ne riperdoriminsistematik te software.
![Page 203: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/203.jpg)
203
Baza e Riperdorimit
� Application system reuse
� Nje applikacion i tere, i plote mund te riperdoret, oseduke e inkorporuar pa asnje ndryshim ne nje sistemtjeter (COTS commercial off-the-shelf reuse) oseduke zhvilluar aplikacion te te njejtes familje.
� Component reuse
� Komponentet e nje aplikacioni nga nen-sistemet deritek nje objekt mund te riperdoren (CBSE*)
� Object and function reuse
� Komponentet softuerike qe implementojne nje objektte definuar mire ose nje funksion mund te riperdoren
*CBSE- component based software engineering
![Page 204: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/204.jpg)
204
Faktoret qe duhet konsideruarpara Riperdorimit te Soft.
� Orari dhe koha e zhvillimit te software
� Jetegjatesia e pritshme e software.
� Njohurite dhe eksperienca e grupit tezhvillimit.
� Rendesia e software dhe kerkesat e tijjofunksionale.
� Platforma e ekzekutimit te software.
� Domain i aplikacionit
![Page 205: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/205.jpg)
205
Koncepti Riperdorim
� Kur riperdoret nje program apo nje komponent juduhet te ndiqni vendimet qe jane marre ngazhvilluesi origjinal.
� Kjo mund te kufizoje mundesine per riperdorim� Megjithate, nje forme me abstrakte e riperdorimit
eshte vete koncepti ‘riperdorim’ ku nje qasje e vecante e nje problemi eshte i pershkruar per njeimplementim te pavarur dhe pastaj behetimplementimi.
� Dy qasjet kryesore te konceptit Riperdorim jane: � Mostra Dizajni (design patterns) � Programimi Gjenerik/prodhues. (Generative
programming)
![Page 206: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/206.jpg)
206
Mostra Dizajni- Design Patterns
� Moster dizajni eshte nje zgjidhje e pergjithshme qe perseritet per njeproblem qe ndodh shpesh ne soft. Dizajn.
� Nuk eshte nje dizajn i perfunduar qemund te transformohet direkt ne kod.
� Eshte nje pershkrim ose template se si te zgjidhet nje problem i cili mund teperdoret ne shume situata.
![Page 207: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/207.jpg)
207
Programimi Gjenerik
� Programi gjenerik perfshine riperdorimin e mostrave standarde dhe algoritmeve.
� Keta jane te perfshire ne Gjenerator the teparametrizuar nga komandat e perdoruesit. Programi pastaj gjenerohet
� Riperdorimi gjenerik eshte i mundur kurdomaini abstrakt dhe lidhja e tyre ne kod teekzekutueshem mund te identifikohen.
� Per krijimin dhe kontrollin e ketijabstraksioni perdoren Gjuhe specifike tedomain.
![Page 208: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/208.jpg)
208
Llojet e Programeve Gjenerik
� Llojet e programeve gjenerik
� Gjenerator aplikacionesh per procesim te tedhenave per biznese.
� Gjeneratoret e kodit ne CASE tools.
� Riperdorimi i programeve gjenerik eshte shume i shpejte dhe me kosto shume te ulet, porzbatueshmeria eshte shume e limituar.
� Bug Free!!??
� Provoni nje shembull programimi gjenerik - Iron Speed (www.ironspeed.com)
![Page 209: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/209.jpg)
209
Riperdorimi gjate Gjenerimitte programit
![Page 210: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/210.jpg)
210
MVC-Model View Controller
� MVC eshte nje moster dizajni(designpattern) shume e perdorur per GUI.
� E njejta e dhene e shfaqur ne forma tendryshme.
� models per mirembajtjen e te dhenave
� views per shfaqjen e te dhenave
� controllers per trajtimin(handling) e ngjarjeve te cilat afektojne modelin apoviews
![Page 211: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/211.jpg)
211
MVC- Si punon
![Page 212: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/212.jpg)
212
COTS- Commercial Off-The-Shelf systems
� Sistemet COTS jane sisteme tekompletuara te cilat ofrojne API per integrim.
(API -Application Programming Interface).
� Ndertimi i sistemeve te medha duke integruar sisteme COTS eshte njestrategji e zbatueshme dhe me benefit per disa sisteme sic jane p.sh E-Comerceapplicionet.
![Page 213: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/213.jpg)
213
E-procurement system
Client
Web browser E-mail system
Server
E-commerce
systemOrdering and
invoicing system
E-mail system
Adaptor
Adaptor
![Page 214: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/214.jpg)
214
Software -Linja Produkti
� Software ne formen e linjave te produktit janeaplikacione me funksionalitet gjenerik te cilatmund te adaptohen dhe konfigurohen per perdorim.
� Adaptimet mund te jene:� Konfigurimi i komponenteve dhe sistemit� Shtimi i nje komponenti ne sistem� Zgjedhja e komponenteve ekzistues nga librarija
e komponenteve� Modifikimi i nje komponenti per te permbushur
kerkesat e reja.
![Page 215: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/215.jpg)
215
Evolucioni I Software
Ndryshimet ne software jane te paevitueshme
� Dalin kerkesa te reja duke u perdorur sistemi
� Mjedisi i biznesit ndryshon
� Gabimet (errors) duhet te rregullohen
� Paisje te reja shtohen ne sistem
� Performanca ose besueshmeria duhet tepermiresohet etj.
� Problemi kryesor i organizatave eshte implementimidhe menaxhimi I ndryshimeve ne softuerat ekzistues.
� Te analizohet procesi I evoluimit te software gjateprocesit te zhvillimit.
![Page 216: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/216.jpg)
216
Kosto zhvillimit/mirembajtjes
0 50 100 150 200 250 300 350 400 450 500
System 1
System 2
Development costs Maintenance costs
$
![Page 217: Software Engineering](https://reader031.vdocuments.us/reader031/viewer/2022012321/5453bc23b1af9ffc3b8b4a92/html5/thumbnails/217.jpg)
217
Procesi i evoluimit tesoftware
Release
planning
Change
implementa tion
System
release
Impact
analysis
Change
requests
Platform
adaptation
System
enhancementFault repair