Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Upcoming SlideShare
What to Upload to SlideShare
What to Upload to SlideShare
Loading in …3
×
1 of 58

Teme Diplome Master Shkencor Tema:Sistemi i menaxhimit të projekteve dhe realizimi i testime-ve për Studentët

0

Share

Link Download:http://gestyy.com/eaqjDm

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all

Teme Diplome Master Shkencor Tema:Sistemi i menaxhimit të projekteve dhe realizimi i testime-ve për Studentët

  1. 1. Page 1 REPUBLIKA E SHQIPËRISË UNIVERSITETI EUROPIAN I TIRANES FAKULTETI INFORMATIKES INXHINIERISE DHE ARKITEKTURES DEGA: TEKNOLOGJI INFORMACIONI Mikrotezë për mbrojtjen e gradës “Master i Shkencave” (MSC) Tema: “Sistemi i menaxhimit të projekteve dhe realizimi i testime-ve për Studentët” Punoi Udhëhoqi Ardit Novruzi Msc.Irma Guga (_____________) (_____________) Tiranë
  2. 2. Page 2 © Copyright Ardit Novruzi, Viti 2020. Përmbajtja e këtij punimi është totalisht autentike. Të gjitha të drejtat e rezervuara. Deklaratë Unë (Ne), i/e nënshkruari/s (të nënshkruarit) Ardit Novruzi deklaroj që: (1) Kjo mikrotezë përfaqëson punimin tim origjinal, përveç rasteve të citimeve dhe referencave dhe (2) Kjo mikrotezë nuk është përdorur më parë si mikrotezë apo projekt kursi në këtë Universitet apo në Universitete të tjera.
  3. 3. Page 3 “Sistemi i menaxhimit të projekteve dhe realizimi i testime-ve për Studentët” Bashkpunimi i studentëve ndërmejt tyre, për menxhimin, testimin dhe realizimin e projektëve shkollore është një problem që studentët përballen dhe gjejnë mënyra të tjera alternative duke humbur fokusin dhe qëllimet ndaj projekteve dhe nuk janë produktivë në punën e tyre, pasi sistemet që ata përdorin për këtë qëllim kan një fokus tjetër. Kjo temë synon të zhvillojë një sistem i cili ka për qëllim menaxhimin dhe bashkëpunimin ndërmjet studentëve për realizimin e detyrave, projekteve në grup, krijimin dhe realizimin e teste-ve të ndryshme që mund të krijohen nga vetë studenti osë anëtarët e tjere të aplikacionit. Studentet mund të krijojnë detyra, projekte, teste dhe mund ti ndajnë me të gjithë rrjetin e përdoruesve të applikacionit, në mënyrë që të marin feedback nga anëtaret e tjerë. Në këtë sistem anëtarët mund të krijojne grupe të caktuar mbi një projekt që kanë për të realizuar, dhe mbi këtë projekt të krijojnë detyra që mund t’ja caktojnë cdo anëtari. Për një projekt të caktuar ata mund të ftojnë dhe persona të tjerë që ti bashkohen grupit, dhe gjithashtu mund të bëjnë komente për çështje të ndryshme që nuk i kanë të qarta ose që kanë nevojë per diskutim. Studentët mund të krijojnë teste ose ti realizojnë në mënyrë që të rrisin sa më shumë aftësit e tyre. Fjalët kyçe: testim, menaxhim, sistem, projekt.
  4. 4. Page 4 PËRMBAJTJA E PUNIMIT LISTA E TABELAVE 6 LISTA E FIGURAVE 7 LISTA E SHKURTIMEVE 8 Hyrje 9 KAPITULLI I 10 Modelimi i zhgjidhjes 10 I.1. Zgjidhjet që ofrohen nga platforma e-learning 10 I.2. Objektivat e projektit 13 I.3. Arkitektura 14 I.3.1. Krahasimi i performancës së sistemeve Asp.Net dhe php 14 14 I.3.2. Karakteristikat e arkitekturës se zgjedhur 15
  5. 5. Page 5 I.3.3 Arkitektura fizike 20 I.3.4. Arkitektura logjike 22 I.4. Modelimi i të dhënave 26 I.4.1 Skema e databazës 26 I.4.2 Tipete të dhënave 27 I.5 Use Case diagram 29 I.6 Diagrama e Sistemit 31 KAPITULLI II 36 ZHVILLIMI 36 II.1. Teknologjit e përdorura 36 II.2 Diagrama e klasa-ve. 37 II.3 Zhvillimi i sistemit 38 II.3.1 Dizenjimi i sistemit 40 KAPITULLI III 44 III.1 Modulet e Sistemit 44 III.2 Struktura fizike e aplikacionit 46 III.3 Testimi i sistemit 47 III.3.1. Rëndësia e testimit 47 III.3.2. Llojet e testim-eve 49 III.3.3. Realizimi i testimeve njësi 51 Puna në të ardhme 54 Konkluzionet 55 Referencat 56 Falenderime 58
  6. 6. Page 6 LISTA E TABELAVE Tabela 1: Krahasimi i Asp.Net Web Forms me Asp.Net MVC 16 Tabela 2: Krahasimi i Asp.Net MVC3,MVC4,MVC5 17 Tabela 3: Komponentët e arkitekturës logjike 26 Tabela 4: Tipet e të dhënave 29
  7. 7. Page 7 LISTA E FIGURAVE Figure 1: Bashkëveprimi dhe bashkpunimi në LMS (Learning Management System) 10 Figure 2 : Performanca ndërmjet Asp.Net dhe php 14 Figure 3 : Komponentët e Asp.Net Identity 18 Figure 4 : Attribute routing 18 Figure 5 : Arktitektura fizike e sitemit 21 Figure 6 : Baza e model-it të shtresës logjike 22 Figure 7 : Arkitektura logjike, dhe komunikimi i komponenteve të sistemit 23 Figure 8 : Arkitektura logjike e sistemit 24 Figure 9 : Diagrama e databazës 26 Figure 10 : Use Case diagram 30 Figure 11 : Flowchart diagram, krijimi i një testi 32 Figure 12 : Flowchart diagram, realizimi i testit 33 Figure 13 : Flowchart diagram, krijimi i një projekti dhe anëtarët e tij 34 Figure 14 : Flowchart diagram, krijimi i një detyre të re 35 Figure 15 : Metodat e përdorura për cdo klasë 37 Figure 16 : Cikli jetësor i zhvillimit të sistemit 38 Figure 17 : Faqa e logim-it të përdoruesëve 40 Figure 18 : Faqa e regjistrimit të përdoruesëve 40 Figure 19 : Faqa home përmbledhja e gjithë aktivitetit 41 Figure 20 : Faqa e kërkesave të reja 41 Figure 21 : Faqa e kërkimit për gjithë sistemin 42 Figure 22 : Faqa e krijimit të provimeve 42 Figure 23 : Faqa e realizimit të provimeve 43 Figure 24 : Modulet e sistemit 44 Figure 25 : Struktura e foldera-ve të aplikacionit 46 Figure 26 : Unit testing në zhvillimin e sistemeve 50 Figure 27 : Instalimi i nunit framework 51 Figure 28 : Metodat e testimi për cdo controller 51
  8. 8. Page 8 LISTA E SHKURTIMEVE int-Integer bool-Boolean DFD-Data Flow Diagram EF-Entity Framework GUI-Graphicl user interface LMS-Learning Management System BI-Business intelligence SDLC -Systems Development Life Cycle
  9. 9. Page 9 Hyrje Ky projekt u nisë për shkak të nevojës për një sistem ku studentet të kishin një destinacionin për studimin dhe menaxhimin e punëve të tyre të përditëshme. Ky sistem është i dobishëm si për studentët dhe për petagogët. Studentët mund të menaxhojnë detyrat, projektet, grupet, test-et, dhe mund ti ndajnë këto me anëtarët që ata dëshirojnë të kenë akses. Qëllimi i këtij sistemi është që tu lehtësoj komunikimin studentëve dhe të ndajnë eksperiencat dhe idet e tyre në mënyrë sa më të shpejtë duke mos humbur fokusin nga studimet. Ky projekt është një aplikacion Web që synonë të krijoj një rrjet ndërmjet studentëve ku të kënë mundësi të kontribojnë në realizimin sa më efektvë të projekteve dhe të zhvillojë aftësit e tyre. Përdorimi efektiv i këtij apliakcioni i ndihmon studentët për të krijuar një strategji në menaxhimin dhe realizimin e testeve, duke marrë rezultate më të mira në provime, dhe duke menaxhuar kohën në mënyrë me efektive.
  10. 10. Page 10 KAPITULLI I Modelimi i zhgjidhjes I.1. Zgjidhjet që ofrohen nga platforma e-learning Në vitet e fundit sipas 1 sistemet e-learning kanë premtuar për të ndryshuar mënyrë se si njërzit mësojnë. Megjithatë ende mbeten çështje të hapura, në veçanti mjediset aktuale e-learning nuk e konsiderojnë aktivitetet ndëraktive të mësuarit si pjesë e procesit të mësimit. Pra nuk është e mundur për të përcaktuar kurse të strukturuara dhe të përcaktojnë rrugë të caktuara me materialet përkatëse. Figure 1: Bashkëveprimi dhe bashkpunimi në LMS (Learning Management System) Një numër i madhë sitemesh që ofrojnë mjedisë për të mësuar që ndryshe quhen(LMS-Learning Management System) përdoren nga mësuesit për të shpërndarë materiale tek studentët. Të gjjitha këto platforma përmbajnë 3 karkateristika kryesore për përdoruesit e saj. ➢ Ruan historikun dhe është depozitues i materialeve të studimit, të cilat janë të organizuar sipas kursit,degës për të nxitur ripërdorimin dhe shkëmbimin e informacionit. 1 Jennifer Gilbert, Susan Morton, Jennifer Rowley, 2007
  11. 11. Page 11 ➢ Mjetet e komunikimit që shkojnë nga tradicionalet (e-mail) deri tek ato më të sofistikuara video-conferenc. ➢ Një platforëm për të hedhur përmbajtjen dhe programin në internet, zakonisht shfrytëzohen shfletuesit web. Platformat që ofrojnë një mjedis për të mësuar,duhet ti ndihmojnë mësuesit për të ruajtur dhe rikthyer materialet e tyre, dhe tu ofrojë një fleksibilitet për të përshtatur kurset me nevoja specifike. Sipas 2 karakteristikat që kanë dhe ofrojnë këto platforma nuk janë të mjaftueshme. Procesi i të mësuerit duhet të bëhet shumë e qartë në sistem, në mënyrë që çdo përdorues, të këtë mundësi të përshtatet me këto platforma, dhe të kenë mundësi komunikim ndërmjet anëtarëve të tjerë dhe mësuesëve. Pra materialet e studimit duhet të jenë të ndara sipas nivelit të përdoruesëve dhe mësuesëve. Këto platforma në tërësi duhet të jënë të metejshme ,në mënyrë që të jenë në gjendje të vlerësojnë performancë e cdo përdoruesi në sistem. Sipas 3 në sistemet aktuale, kjo është e veshtirë të arrihet,sepse rrjedha e aktiviteteve të aktorëve gjatë procesit të mësuarit nuk është e qartë,edhe gjatë rregjistrimit ose plotësimit të profilit të tij. Për më tepër bashkpunimi dhe komunikimi është i kufizuar, pasi mësuesit dhe studentët mesazhet i shkëmbejnë në mënyrë sikrone dhe në mënyrë asikron (e-mail). Keto metoda janë shumë largë komunikimit dhe bashkpunimit të vërtetë dhe të nevojshëm për të përmbushur objektivat e të mësuarit. Në mënyrë ideale një platforëm e-learning duhet të jetë në gjendje për të ndarë procese dhe rrjedhën e punës, dhe jo thjesht dërgimin e mesazheve. Sipas 4 ndërveprimi dhe bashkëpunimi në LMS dhe programeve sociale janë të ndryshme në shumë aspekte. ➢ Ndërveprimi në LMS jnë të kufizuara në një kurs të vetëm, por nuk ka asnjë kufizim në aspektin e bashkëveprimin nga rrjetet sociale. ➢ Bashkëpunimi dhe bashkëveprimi në LMS janë grup i orientuar ndërsa në rrjetet sociale janë kombinim i grupeve të orientuara dhe individuale. 2 (Mirko Cesarini, Mattia Monga,Roberto Tedesco,2013) 3 (Mirko Cesarini, Mattia Monga,Roberto Tedesco,2013) 4 (Zhao Du, 06 November 2012)
  12. 12. Page 12 ➢ Forma e bashkëveprimit dhe bashkepunimit është relativisht e thjesht e cila është e bazuar në text dhe fotot, ndërsa në rrjetet sociale kjo forëm është më ë pasuar e cila përfshinë video dhe audio. Përdoruesit mund të marin njohuri gjatë procesit të përdorimit të rrjeteve sociale, e cila është e pamundur te fitohen ndërmjet LMS. Sipas 5 ndërveprimi dhe bashkëveprimi ndërmjet platformave e-learning përbëhet nga disa pjesë kryesore. ➢ Shtresa e të dhënave– ku mund të ruhen të dhëna të formateve të ndryshme si: ● Të dhënat e kursit ● Të dhënat e rrjeteve sociale ● Të dhëna të tjera ➢ Shtresa e shërbimit- kjo shtrës ofronë forma të ndryshme të shërbimeve të informacioneve për përdoruesit, e cila ofronë shërbime për kurset etj. ➢ Shtresa e dërgimit të informacionit- kjo shtresë bënë të mundur ofrimin e informacioni për përdoruesit. Kjo shtresë është e përbërë nga disa komponentë. ➢ Shtresa e ndërfaqes së përdoruesit (user interface)- është ndërfaqa e përdoruesëve ku ata mund ndërveprojnë me anë të ndërfaqeve të shumta që ofrojnë platformat e-learning e cila është e përshtatshme në formate të ndryshme. 5 (Zhao Du, 06 November 2012)
  13. 13. Page 13 I.2. Objektivat e projektit Ky applikacion është dizenjuar dhe realizuar që ta përdorin të gjithë studentet nëpër fakultete të ndryshme. Sistemi është dizenjuar në mënyrë të tillë që të plotësojë nevojat dhe qëllimet e studentëve jo vetëm nga ana e menaxhimit të projekteve, detyrave,grupeve por gjithashtu u jep një ndihmë dhe në aftësimin dhe realizimin e testeve. Objektivat e këtij projekti janë: ➢ Krijimin e detyrave individuale, duke përcaktuar afate kohore për cështje të caktuar. ➢ Krijimin e projekteve në grupë, që mund të jenë privatë ose publikë ● Privatë, nqs projekti është privatë, ky projekt nuk mund të gjendet nga anëtarët e tjerë që përdorin sistemin, por vetëm personi që e ka krijuar projektin ka të drejtë të ftojë anëtar të tjerë që ti bashkohen këtij projekti. ● Publikë,nqs projekti është krijuar publikë atëhere ky projekt është i shfaqur nga anëtarët e tjerë dhe kanë mundësi që të bëjnë kërkesë për tu bashkuar në këtë grup dhe të jetë anëtar të këtij projekti. ● Anëtarët e krijimit të grupit mund të dërgojë ftesa anëtarëve të tjerë që ti bashkohen këtij projekti. ● Ndarja e detyrave në projekt dhe përcakimi i tyre për cdo anëtar. ● Përcaktimi i afateve për cdo detyre duke vendosur data për përfundimin e cdo detyre të caktuar. ● Realizimi i komenteve që behen për cdo projekt. ➢ Anëtarët, ka për qëllim shfaqjen e të gjithë personavë që dëshirojnë të ndjekin aktivitetin e tëndë, por gjithashtu dhe anëtarët që vet personi ka ndjekur. ➢ Krijimi i testeve mund të realizohet nga cdo përdorues, duke krijuar : ● Kategorin e provimit. ● Detajet për provimin ● Pyetjet për këtë provim, që mund të jenë me alternativa, ose me përgjigje të shkurtëra.
  14. 14. Page 14 ➢ Realizimi i test-eve realizohet duke marë provimet që përdoruesit e tjerë kanë realizuar, këto provime mund të gjenden duke kërkuar me fjalë kyce dhe duke e ndjekur këtë si provim. Në këto momente ky provim automatikish shfaqet tek profili juaj, dhe mund të realizohet dhe në një moment të dytë. ➢ Shfaqja e rezultati për të gjitha testet e realizuara në listë. ➢ Shaqja e update-ve të anëtarëve që ata kan ndjekur, si krijimi i grupeve, projekteve etj. I.3. Arkitektura I.3.1. Krahasimi i performancës së sistemeve Asp.Net dhe php Figure 2 : Performanca ndërmjet Asp.Net dhe php
  15. 15. Page 15 Sipas një studimi 6 zhvillimi i sistemeve me anë të Asp.Net dhe mysql ka një performancë pak më të shpejtë se zhvillimi i sistemeve me anë të php. Rezultati i marë është arritur nga përdorimi i sistemeve të mëposhtme: Framework-et e përdorura: ➢ ASP.NET MVC 4, .NET 4.5 ➢ PHP 5.6 YII2 ➢ Windows 8, IIS8, MS-SQL Server 2012 Express, MySql 5.5 Hardware i përdorur: ➢ CPU: AMD Phenom II 965 x4 ➢ RAM: 4gb RAM ➢ HDD: WD 1T I.3.2. Karakteristikat e arkitekturës se zgjedhur Asp.net framework është pjesë e platformës për ndërtimin, testimin dhe implementimin e aplikacioneve web. Ndërtimi i aplikacioneve mund të ndërtohet duke përdorur Asp.Net Web Form dhe Asp.Net MVC. Sipas 7 karakteristikat dhe krahasimi ndërmjet tyre. Asp.Net Web Forms Asp.Net MVC Asp.Net Web Form ndjekë një model tradicional të zhvillimit. Asp.Net MVC është një model që bazohet në object oriented dhe ndjekë parimin Model, View, Controller për zhvillim Asp.Net Web Form ka disa kontrolle. Asp.Net MVC ka html helpers Asp.Net Web Form suportonë view state për menaxhimin e gjendjes në anën e klientit Asp.Net MVC nuk suporton view state. Asp.Net Web Form ka format bazë për Url- Asp.Net MVC ka një format route-based, ku 6 (Mishra,2014) 7 (Jess Chadwick, 2012)
  16. 16. Page 16 në, që do të thotë emrat ekzistojnë në Url duhet dhe të ekzistojnë fizikishtë url-të janë të ndara nëpër kontrolle dhe mbi të gjitha është e mbështetur mbi controller dhe jo në fail-inë fizikë. Asp.Net Web Form ndjekë sintaksën e Web Form Asp.Net MVC ndjekë një sintaksë të modifikueshme ( si default është Razor) Në Asp.Net Web Form, view-të janë shumë të lidhura me kodi-në mbrapa që është në fail- inë.CS, pjesën logjike. Në Asp.Net MVC, view-të dhe pjesa logjike janë të ndara nga njëra-tjetra Asp.Net Web Form ka Master Page për kosistence dhe një pamje sa më të këndshme. Asp.Net MVC ka Layouts (style) për një pamje sa më të bukur. Asp.Net Web Form përdorë User Controls për ripërdorimin e kodit. Asp.Net MVC përdorë Partial View-të për ripërdorimin e kodit. Asp.Net Web Form ka ndërtuar, kontrolle për të dhënat dhe për një zhvillimë të shpejt me mjete të fuqishme për aksesimin e të dhënave. Asp.Net MVC ofronë kontrollë të plotë mbi aplikacionin dhe lejonë zhvillim të shpjetë dhe metodat agile. Asp.Net Web Form nuk është Open Source Asp.Net Web MVC është Open Source Drag/drop controls Zhvillim manual por që je plotësishtë në kontrollë të zhvillimit Në përdorim që nga 2002 E shfaqur që nga 9 prill 2009 Është e suportueshme në visual studio 2012 Është e suportueshme në visual studio 2012 Tabela 1: Krahasimi i Asp.Net Web Forms me Asp.Net MVC Krahasimi i teknologjisë MVC 5 me ASP.Net MVC 4 dhe ASP.Net MVC 3. ASP.Net MVC 3 ASP.Net MVC 4 ASP.Net MVC 5 Suporton template për HTML 5 dhe CSS 3 Asp.Net Web API Asp.Net Identity Model-in e validimit është i përmirësuar. Është e përmirësuar dhe ka një pamje të mirë. Authentication Filters Element të View-së si Razor Projekte me template të Filter overrides
  17. 17. Page 17 integruara në Visual studio Është e suportueshme për shumë view. Projekte me template për telefona. Bootstrap Përmirësim të kontrolleve Suporton shtimin e kontrollerave Attribute Routing JavaScript-i është i suportueshë në këtë version Suporton taske për kontrollera në mënyrë asinkrone. Ofronë memorie cache për outputin. Është e suportueshme për API si OAuth dhe OpenID Përmirësimin dhe pavarësinë nga teknikat e hakimint Suporton Windows Azure SDK 1.6 Tabela 2: Krahasimi i Asp.Net MVC3, MVC4, MVC5 Sipas 8 Karakteristikat e MVC 5: ➢ Asp.Net Identity- Është dizenjuar për të zëvendësuar Asp.Net membership dhe single membership. Përfshinë suportimin e profilit, ka të integruar OAuth dhe punonë në OWIN, dhe është e integruar me template Asp.Net. Asp.Net identity përfshinë karakteristikat e mëposhtme: ● One Asp.Net Identity – e cila mund të përdoret në të gjitha frameëoket Asp.Net sim und të jetë Asp.Net MVC Web Form, Web Pages, Web API dhe SignalR ● Menaxhimi i lehtë i plugginit ● Kontroll në mënyre të vazhdueshme ● Supotueshëm për unit test ● Ndarja e roleve ● Ofrimin e Logim-it me anë të rjeteve sociale ● Azure Active Directory 8 (Jon Galloway,Brand Wilson,K.Scott Allen,David Matson, 2014)
  18. 18. Page 18 ● Integrimin e OWIN ● Paketa NuGet. Figure 3 : Komponentët e Asp.Net Identity ➢ Bootstrap – template e MVC-së kanë të integruar dhe bootstrap-in për të mundësuar një pamje sa më të këndshme dhe të jetë e suportueshme dhe për paisje mobile. ➢ Scaffolding – Bënë të mundur gjenerimin e kodit nga framework-u Asp.Net Web. Kjo mundëson nje lehtësim ne shtimin e kodit në projekti dhe bënë të mundur bashkëveprimin me anë të model-it. Në versionet e mëparshme të Visual Studio shtimi i kodit me anë të scaffolding ishtë i limituar vetëm në projektet Asp.Net MVC. Por me Visual Studio 2013 është e mundur dhe në projektet Web Form. ➢ Attribute routing- Ky funksionalitet u be i mundur nga kontributi i Tim McCall e cila bën të mundur kombinimin e url-së duke përdorur actions dhe controllers. Figure 4 : Attribute routing
  19. 19. Page 19 ➢ Authentication Filters – Kemi filtera të reja në Asp.Net MVC e cila i kushtonë një rëndësie të madhe autorizimit dhe lejonë të përcaktosh kushte logjike për action, controller, ose në mënrë globale për të gjithë kontrollerin. Filterat përdoren për të implementuar një logjikë të caktuar përpara se një metodë të thërritet osë dhe mbrapa. Kemi 4 lloje filteras: ● Authorization filters (IAuthorizationFilter) ● Action filters (IActionFilter) ● Result filter(IResultFilter) ● Exception filters (IExceptionFilter) Krahasimi ndërmjet Sql Server 2012 dhe Sql Server 2008 R2. Në librin 9 vihet në dukje se sql server 2012 është versioni më i adaptueshëm më teknologjinë MVC 5 dhe Entity Framework Code First gjithashtu ky version ka më shumë avantazhe ndërmjet Sql Server 2008 R2 Përfitimet e Sql Server 2012 ndërmjet Sql Server 2008 R2: ➢ Shpejtësia – Sql Server 2012 është shumë më i shpejtë se sql server 2008 R2 për shkakë të memorjes primare që merrë pjesë ne procesim. ➢ Versioni më i fundit- Është version më i updatuar dhe përmbanë më shumë funksionalitete dhe përmirësim të shërbimit dhe suportit. ➢ Grupet AlwaysOn – Është një funksionalitet i Sql Server 2012 e cila ofron një disponueshmëri të madhe për databazën dhe vet sigurinë e aplikacionit. ➢ Suportimi i të dhënave të mëdha- pasi Microsoft bëri të mundur që me anë të Sql Server të menxhojë të dhëna të mëdha si Hadoop, të cilat janë shumë popullore në platformat e mëdha NoSQL. ➢ Përmirësim i Sql Azure – Në versioninon 2012 reporting service për Azure do të jetë i vlefshëm, gjithashtu me backup të të dhënave të Windwos Azure. Maximumi i databazës për në Azure shkonë deri në 150GB ➢ Përmieësim i ofrimin të sherbimit për BI siçë është Powr View. 9 (Louis Davidson,Jessica M.Moss,2012)
  20. 20. Page 20 ➢ Sql Server 2012 ka një kosto të njëjtë me Sql server 2008 R2, por qe ofronë më shumë shërbimë. I.3.3 Arkitektura fizike Roli i arkitekturës fizike është për të përcaktuar komponentët fizik dhe elementët e modelit për sistemet web. Louis Rosenfeld në librin e tij 10 vë në dukje se arkitektura fizike është një përfaqesim fizik (edhe pse jo një dizajnë i detajuar) i pjesëve më të rëndësishme të ndërfaqeve të saj dhe komponentëve kryesorë të sistemit.Arkitektura fizike identifikon sistemet e transportit dhe shkëmbimin e informacionit dhe identifikimin e nënsistemeve të tjera që komunikonë. Arkitektura fizike formonë një strukturë të nivelit të lartë rreth proceseve dhe të dhënave që rrjedhin nga arkitektuar logjike. Ky transportim i të dhënave realizohet me anë të shtresësh së transportit të cilat mundë të jënë etnitete fizke ose nënsisteme të tjera që përbëjnë një sistem iteligjent të transporti. Ky sistemë është ndërtuar me anë të MVC. MVC është një framework për ndërtimin ë aplikacioneve web duke përdorur dizenjimin(Model View Controller). ➢ Model-i përfaqëson bërthamën e aplikacionin(mban një list me rekorde). ➢ View shfaqë të dhënat(rekordet që ndodhen në databazë). ➢ Controller përkthen inputin. Modeli MVC na mundëson një kontrollë të plotë mbi HTML,CSS,JavaScript,por gjithashtu lehtëson punën mbi zhvillim dhe mbirëmbajtjen e aplikacionit. 10 (Louis Rosenfeld, Peter Morville,November 2006)
  21. 21. Page 21 Figure 5 : Arktitektura fizike e sitemit Model, view, controller janë shtresa të ndara dhe kanë funksione të ndryshmë nga njëra tjetra. Komponenti kryesor i MVC është model-i i cili kontrollon gjithë sjelljen e aplikacionit, në varësi të imputeve që vijnë nga ndërfaqa e përdoruesit. Ky model në mënyrë dirkete menaxhon të dhënat, një pjesë të logjikës dhe rregulla që mund të vendosim për aplikacionin. View është përgjegjëse për prezantimin e informacioneve në ndërfaqen e përdoruesit, që mund të jenë të dhëna të formateve të ndryshme, si diagrama, tabela,animacione etj. Shtresa e tretë controller, pranon inputet dhe i konverton ato në komanda për modelin ose view- në, kjo shtresë bën lidhjen ndërmjet dy shtresave të tjera model-it dhe view-së. Modeli MVC e ndan një aplikacion në 3 komponentë, dhe u mundëson një komunikim ndërmjet tyre. Controller mund të dërgojë komanda tek modeli për të update-tuar gjendjen e modelit, dhe mund të dërgojë komanda për të ndryshuar shtresën prezantuese të view-së.
  22. 22. Page 22 Model-i mban të dhëna që vijnë nga komandat që përkthen kontrolleri dhe këto të dhëna shfaqen në view. I.3.4. Arkitektura logjike Sipas 11 arkitektura logjike luan një rol qëndror, e cila është një mjet kyçë në ndërtimin dhe mirëmbajtjen e sistemit. Mbi këtë arkitekturë konsiston logjika, organizimi i rrjedhjes së punës.Arkitektura logjikë është një model abstrakt i gjithë sistemit e cila e ndanë sistemin në komponentë të cilat quhen shtresa. Organizimi abstrakt i kësaj shtrese bëhet në bazë të këtij modeli: Figure 6 : Baza e model-it të shtresës logjike Çdo komponentë luan një rol të veçantë: ➢ Prezantimi- implementonë dhe realizon komunikimin me përdoruesin, ndërmjet ndërfaqes (GUI) 11 (Desfray, 2008)
  23. 23. Page 23 ➢ Procesi- realizon gjithë work flow-në në varësi të kompnentëve që marin pjesë. ➢ Funksionet- bënë të mundur komunikimin ndërmjet serviset, dhe adaptimin e tyre. ➢ Etnitetet- akseson serviset që të dhënat të jenë kosistente. ➢ Utility- është një bashkësi komponentësh që komunikojnë ndërmjet njëra-tjetrës. ➢ Publike-është komponentë shërbim i dedikuar që arrihet nga jashtë sistemit. Arkitektura logjike përcakton(aktivitetin dhe funksionet) që janë të nevojshme për të siguruar shërbimin e kërkuar që duhet për përdoruesit. Shumë procese, grupe të ndryshme duhet të punojnë së bashku dhe të ndajnë informacion për të siguruar një shërbim. Arkitektura logjike është e pavarur nga teknologjitë që kërkohen dhe zbatimi i tyre. Kjo arkitekture tregon mënyrën se si komponentët,grupet përbërëse te sistemit komunikojnë me njëra tjetrën. Figure 7 : Arkitektura logjike, dhe komunikimi i komponenteve të sistemit
  24. 24. Page 24 Arkitektura logjike është e përbëre nga disa shtresa, çdo shtesë ka detyra dhe qëllime, ku secila shtresë është e varur nga shtresa e nivelit më të lartë ose më poshtë. Çdo shtresë ka punët e mirë përcaktuara, dhe vetëm ajo është përgjegjëse për detyra specifike. Në pjesën e klientit JavaScript/JQuery, përdoret për të verifikuar dhe ndaluar imputin e përdoruesit. Ndërsa shtresa e model-it është përgjegjëse për logjikën e sistemit dhe aty mund të vendosen kufizime logjike në bazë të rregullave të kërkesave. Shtresa e databazes përdor inpute dhe çelësa primarë dhe të jashtëm, në mënyrë për të parandaluar përplasjen e çelësave. Figure 8 : Arkitektura logjike e sistemit
  25. 25. Page 25 Përshkrimi i elementëve përbërës të arkitekturës logjike: Emri: Shtresa Përshkrimi HTML/CSS Klient Perfshijnë elementët e ndërfaqes dhe dizenjimin e saj. JavaScript Klient Shërben për validime dhe logjikë ne procesimin e të dhënave nga ana e klientit Security Klient Përfshihen të dhënat dhe sigurinë nga broëseri ( cookies) Logging Klient Serviset lokale përdoren për logim dhe monitorimin Local Storage Klient Përdoret si cache lokale dhe është offline. Browser Cache Klient Kjo memoire është nga browser-i dhe shërben për mbledhje e HTML, CSS, imazhet, etj. View Web Server Është pjesë e server-side dhe përdoret për kombinimin e HTML-së Controller Web Server Kjo shtresë suporton inputin e përdoruesëve, dhe përmban llogjikën e sistemit. Model Web Server Përmbanë të gjitha klassat që perfaqësojnë të gjitha klassat. Service Layer Web Server Kjo shtresë përdoret për enkapsulimin e procesit kompleks të logjikës së sistemit dhe për të qënë sa më presistente. Repository Web Server Është shtresa e aksessimit të komponentëve dhe për komunikimin me njëra tjetrën përdoren mapper Security Web Server Servisi që përdoret për autorizimin dhe autentifikimin e përdoruesëve( API) Logging Web Server Shërbimi që përdoret për identifikimin e user-ave Monitorimi Web Server Përdorimi i aplikacioneve që përdoren për monitorimin e sistemit Cache Data Shërbime që përdoren për menaxhimin gjendje të ndërmjetme.
  26. 26. Page 26 Shërbime të jashtëme Data Siteme të jashtëme nga të cilat sistemi komunikon, osë është i ndërvarur. Tabela 3: Komponentët e arkitekturës logjike. I.4. Modelimi i të dhënave Modelimi dhe ndërtimi i bazës së të dhënave është ndërtuar me Sql Server 2012 enterprise. I.4.1 Skema e databazës
  27. 27. Page 27 Figure 9 : Diagrama e databazës I.4.2 Tipete të dhënave Tabela: UserProfile Tabela: Exam Tabela: GroupGoal UserProfileId int DateEdited DateTime Email string FirstName string LastName string DateOfBirth DateTime? Gender bool? Address string City string State string Country string ZipCode double? ContactNo double? ExamId int ExamCategoryID int ExamTitle string ExamDetails string Filename string ExamType bool ExamStatusId int Supported bool? Duration string PercentTopass string UserId string GroupGoalId int GoalName string Description string StartDate DateTime EndDate DateTime Target double? MetricId int? FocusId int? CreatedDate DateTime GoalStatusId int GroupUserId int AssignedGroupUserId int? AssignedTo string
  28. 28. Page 28 UserId string GroupId int Tabela: UpdateSupport Tabela: Comment Tabela: CommentUser UpdateSupportId int UpdateId int UserId string CommentId int CommentText string UpdateId int CommentDate DateTime CommentUserId int CommentId int UserId string Tabela: Group Tabela: SupportInvitation Tabela: GroupComment GroupId int GroupName string Description string CreatedDate DateTime SupportInvitationId int FromUserId string GoalId int ToUserId string SentDate DateTime Accepted bool GroupCommentId int CommentText string GroupUpdateId int CommentDate DateTime Tabela: ExamQuestion Tabela: Goal Tabela: FollowUser QuestionsID int ExamId int QuestionsDetails string Questions string Answer1 string Answer2 string Answer3 string Answer4 string Answer5 string Answer6 string CorrectAnswer1 string CorrectAnswer2 string CorrectAnswer3 string QuestionPoint int ExamPointsTotal int ExamType bool GoalId int GoalName string Desc string StartDate DateTime EndDate DateTime Target double? GoalType bool MetricId int? GoalStatusId int UserId string CreatedDate DateTime FollowUserId int ToUserId string FromUserId string Accepted bool AddedDate DateTime
  29. 29. Page 29 UserId string Tabela: GroupUpdate Tabela: ExamCategory Tabela: Support GroupUpdateId int Updatemsg string Status double? GroupGoalId int UpdateDate DateTime ExamCategoryID int ExamsCategory string CategoryDetails string ExamType bool UserId string Filename string int SupportId int GoalId string UserId DateTime SupportedDate Tabela 4.Tipet e të dhënave I.5 Use Case diagram Diagramat Use Case tregon ndërveprimin e përdoruesit me sistemin dhe tregon marrëdhënien ndermjet përdoruesit dhe rasteve të përdorimit të ndryshme në të cilat përdoruesi është i përfshirë. Ky sistem nuk është i ndarë në role, dhe veprimet që ndodhin janë të njëjta për të gjithë përdoruesit e aplikacionit. Për të modeluar një sistem, aspektet më të rëndësishme është për te përcaktuar sjelljen e dinamike të sitemit. Sjellja dinamike nënkupton sjelljen e sistemit kur ai është duke kryer funksional-itete. Çfarë janë Use Case Diagram: ➢ Përshkruajnë sjelljen e një sistemi nga pikëpamja e një përdoruesi ➢ Përshkruan funksionalit-ete të sistemit dhe të proceseve komplekse përbërëse. ➢ Ofronë një përshkrim grafik dhe përshkrim të actor-ëve që do e përdorin sistemin dhe çfarë lloje veprimi të presinë nga sistemi.
  30. 30. Page 30 ➢ Proçeset që ndodhin brenda logjikës së sistemit quhen use case dhe janë pjsë përbërëse të strukturës së një sistemi. ➢ Etnitetet jashtë zonës së sistemit quhen aktorë, pra përdoruesit që ndërveprojnë me sistemin. Diagramt Use Case mund të përdoren në faza të ndryshme të ciklit jetësorë të një sistemi. ➢ Në fazën e analizimit të kërkesave dhe fazën e dizenjimit. ➢ Përdoren ne rastet e metodave reverse engineering. ➢ Në modelimin e sitemit. Figure 10 : Use Case diagram
  31. 31. Page 31 I.6 Diagrama e Sistemit Diagram e rrjedhes së të dhënave tregon detaje të sistemit dhe module-ve të tij. Niveli i parë i DFD(Data Flow Diagram) tregon se si sistemi është i ndarë në nën- sisteme(procese), ku secila prej tyre merret me shumë të dhëna,nga të cilat së bashku japin të gjithë funksionalitetin e sistemit si një e tërë. Diagramat e rrjedhjes së të dhënave tregon se si sistemi është zbatuar dhe rrugën që përdoruesit duhet të ndjekin për të realizuar një veprim të caktuar. Me anë të këtyre diagramave përdoruesit janë në gjendje të parashikojnë se si do të veprojnë sistemi, cfarë do të realizojë, dhe se si do të zbatohet nga sistemi.Këto diagrama kanë një efekt mbi strukturën e tërë sistemit si dhe rezultatin e pritshëm nga sistemi. Diagramat e rrjedhës së të dhënave (DFD) zbulojnë marrëdhëniet midis komponentëve të ndryshme të një sistemi. Në punimin e tij 12 vë në dukje se DFD janë teknika të rëndësishme për modelimin e një sistemi të nivelit të lartë duke treguar se si të dhënat input janë transformuar në rezultatin e pritur ndërmjet një sekuencë të transformimit funksionalë. DFD konsistonë në 4 komponentë kryesorë. ➢ Entitetet ➢ Proçeset ➢ Mbledhja e të dhënave ➢ Rrjedha e punës Këto komponente kombinohen ndërmjet njëra tjetrës dhe tregojnë se si është proçesi i punës dhe bashkëveprimin me nënsistemet e tjera. Në këtë mënyrë procesi dhe rrjedha e punës është me lehtë për tu kuptuar. Karakteristikat e diagramave të rrjedhës së të dhënave janë tre: ➢ DFD-të janë të lehta për tu kuptuar nga teknikët dhe prej atyre qe nuk janë të fushës. ➢ Diagramat e rrjedhës së të dhënave përmbajnë një pamje të përgjithshme të gjithë sistemit 12 (Donald (Donn) S. Le Vie, 2002)
  32. 32. Page 32 ➢ Diagramat e rrjedhës së të dhënave përmbajnë një detajim i të gjithë pjesëve përbërëse të sitemit dhe nënsistem-eve te saj. Këto diagrama ndihmojë dizenjuesit dhe analizuesit gjatë fazës se analizimit të kërkesave, vizualizimit të sistemit, ose dhe gjatë nevojës së kërkesave të reja. Analizuesit e sistemeve preferojnë të punojnë me DFD-të ne momentin që u kërkohet një pamje e qartë të elementëve përbërëse të sistemit. Diagramat e rrjedhës e të dhënave janë teknikë shumë efektive për të treguar gjithë proçesin e punës. Kjo diagram tregon proçesin e punës në krijimin e një provimi së bashku me pyetjet. Figure 11 : Flowchart diagram, krijimi i një testi
  33. 33. Page 33 Diagrama e mëposhtme tregon proçesin e realizimit të një testi , dhe kërkimin e tij në sistem. Figure 12 : Flowchart diagram, realizimi i testit Krijimi i një projekti dhe bashkimi i anëtarëve të ndryshëm në këtë projekt.
  34. 34. Page 34 Figure 13 : Flowchart diagram, krijimi i një projekti dhe anëtarët e tij
  35. 35. Page 35 Realizimi i detyrave, bashkimi i anëtarëve të rinjë në projekt dhe komunikimi i tyre me anë të komenteve. Figure 14 : Flowchart diagram, krijimi i një detyre të re
  36. 36. Page 36 KAPITULLI II ZHVILLIMI II.1. Teknologjit e përdorura Teknologjitë e përdorura për ndërtimin e këtij applikacioni janë: ➢ ASP.NET MVC 5 – është një framework për ndërtimin e aplikacioneve web duke përdorur një model të mirë përcaktuar duke përdorur ASP.NET dhe .NET Framework dhe mundëson një zhvillim të shpejt. MVC-ja të jep mundësin të ndërtosh aplikacion dinamike me mënyra te sofistikuara duke përdorur teknologjinë më të fundit. ➢ EF 6 Code First – Entity Framework 13 është një teknologji object-oriented,si karakteristika kryesore ka Database-First dhe Code-First pra krijimin,modelimin dhe menaxhimin e databazes me anë të kodit. Kjo teknologji ka avantazhe si: ● Krijimin e veprimeve CUD (Create,Update,Delete). ● Customizimin e veprimeve të migrimeve ● Konfigurimin e tabelës se ruajtjes së historisë së migrimeve. ● Lejon veprimet e query-ve asynchrone ➢ AutoMapper – është një mekanizëm object-oriented e cila të lejon për të zgjidhur mapping(përplasjet) me parametra të njëjta nga një objekt të një tipi deri tek një objekt tjetër me një tip të caktuar. AutoMapper bënë konvertime për të zgjidhur problemin e parametrave të njëjta. ➢ AutoFac – menaxhon pavarësin e klasave në mënyrë që aplikacioni edhe pse mund të rritet në madhës dhe në kompleksitet t’na mundësoj një menaxhim dhe mirëmbajtje të tij. ➢ Twitter Bootstrap-është një framework që përfshinë HTML,CSS dhe JS për aplikacione responsive dhe në web. Ky framework përmban template, forma, butona,komponente navigimi të ndërfaqes e cila lehtëson shumë punën në dizenjimin e aplikacionit. 13 (Brian Driscoll,November 4, 2013)
  37. 37. Page 37 II.2 Diagrama e klasa-ve. Figure 15 : Metodat e përdorura për cdo klasë
  38. 38. Page 38 II.3 Zhvillimi i sistemit Një nga fazat e ciklit jetësor të zhvillimit të një sistmi është dhe faza e zhvillimit të sistemit ose ndryshe faza e implementimit. Figure 16 : Cikli jetësor i zhvillimit të sistemit Zhvillimi i sistemit përfshinë: ➢ Ndërtimin e sistemit në bazë të dizenjimit dhe specifikimit të kërkesave. ➢ Konvertimin e dizenjimit në një sistem funksional të implementueshëm ➢ Instalimi në mjedisin e përcaktuar.
  39. 39. Page 39 ➢ Krijimi dhe testimi i databazës ➢ Përgatitja e rasteve të testimit (test case) ➢ Zhvillimi i kodit që është baza e gjithë sistemit dhe është një ndër proçeset që kërkon më shumë kohë në këtë fazë. Faza e zhvillimit përmban një hap kyç në projekt, fazat e mëparshme të ciklit jetësor të sistemit janë bazat për fazën e zhvillimit të sistemit. Për të pltësuar fazën e zhvillimit dy element janë kryesor: ➢ Përfundimi i fazës së dizenjimit dhe specifikimt të kërkesave. ➢ Identifikimin e proçeseve dhe mjetet e nevojshme Sipas 14 qëllimi kryesor i fazës së zhvillimit është të konvertoje prototipin e dizenjuar ne fazën e dizenjimit në një sistem funksional që plotëson të gjitha kërkesat që janë identifikuar në fazën e analizimit të kërkesave dhe në fund të kësaj faze, sistemi do ti nënshtrohet fazës së testimit. Zhvilluesi ka për qëllimië disa detyra kryesore gjatë marjes pjesë në zhvillimin e një sistemi: ➢ Dokumentimin e rezultateve të testimeve ➢ Rishikimi i rezultateve të mara ➢ Vlerësimin e fazave të ciklit jetësor të sistmit ➢ Dokumentimin e gjithë aktivitetit të zhvillimit ➢ Implementimi me suksesë të sistmit ➢ Mirëmbajtjen dhe zhvillimin e mëtejshëm të sistemit ➢ Krijimin e manualit të përdorimit për përdoruesit. . 14 (Suzanne Hidi & K. Ann Renninger, 08 Jun 2010)
  40. 40. Page 40 II.3.1 Dizenjimi i sistemit Më poshtë janë disa screenshot-e të sistemi të realizuar: Faqa e logim-it ku përdoruesit i jepet mundësia të logohet për të hyrë ne sistem ose të krijojë një llogari në qoftë se ai nuk është rregjistruar më parë. Figure 17 : Faqa e logim-it të përdoruesëve Në këtë faqe bëhetregjistrimii anëtarëve,pasregjistrimi përdoruesi mundti përditësoj të dhënate tij dhe të plotësoj të gjithëprofiline vet. Figure 18 : Faqa e regjistrimit të përdoruesëve
  41. 41. Page 41 Kjo është faqa kryesore e përdoruesë-ve, ku çdo anëtarë mund të shofi aktivitetin e projekteve, detyrave, grupeve, anëtarëve, që ai është i interesuar. Figure 19 : Faqa home përmbledhja e gjithë aktivitetit Në këtë faqe shfaqen të gjitha ftesat që realizohen në bashkëveprimin me përdoruesit e tjerë, si ftesat që vijnë nga anëtarët e tjerë për tu bashkuar një detyre, grupi, për të ndjekur një përdorues tjetër. Figure 20 : Faqa e kërkesave të reja
  42. 42. Page 42 Në këtë faqe realizohet kërkimi në sistem për përdoruesit, grupet, çështjet, detyrat. Figure 21 : Faqa e kërkimit për gjithë sistemin Në këtë faqe realizohet krijimi i kategorive, provimeve, caktimin e pyetjeve dhe përgjigjeve të sakta. Figure 22 : Faqa e krijimit të provimeve
  43. 43. Page 43 Në këtë faqe mund të realizosh provime, të shofësh detajet, të ndjekësh provimet më popullore, më të mira. Figure 23 : Faqa e realizimit të provimeve
  44. 44. Page 44 KAPITULLI III III.1 Modulet e Sistemit Figure 24 : Modulet e sistemit Ky aplikacion është i përbër nga këto module: ➢ Përdoruesit- ky aplikacion nuk është i ndarë në nivele dhe të drejta, pasi të gjithë anëtarët e këtij sistemi kanë të drejta të plota mbi modulet e sistemit. Pwrdoruesit pasi kanw krijuar profilin e tyre mund ta modifikojnw atw mw mbrapa. ➢ Regjistrimi-përdoruesit duhet të regjistrohen për të filluar të përdorin këtë aplikacion. ➢ Detyrat-në këtë modul secili përdorues ka të drejta të krijoj detyra, ose task-e që anëtarët kan fokusin aktualisht. Detyrat janë 2 llojesh: ● Individuale ● Detyra që caktohen në grup, në të cilën përdoruesi është anëtarë. Modifikimi dhe fshirja e këtyre funksionaliteteve është për të dyja llojet e detyrave. ➢ Njoftimet-Cdo përdorusë mund të ndjekë anëtarë të tjerë për të ndjekur aktivitetin e tyre, gjithashtu mund të ndjeki grupe, projekte, dhe teste, në mënyre qe të jet i informuar për ndryshimet, update-et qe ndodhin.Pëe të gjitha përdoruesi njoftohet me anë të notification.
  45. 45. Page 45 ➢ Grupet - përdoruesit mund të krijojnë një grup, dhe të ftojnë anëtarë të tjerë ti bashkohen grupit. Ftesat mund të dërgohen në dy mënyra: ● Mund të ftojë një përdorues duke kërkuar me emer. Këto ftesa do të dërgojnë tek anëtari një njoftim dhe në këtë rast anëtari mund ta pranojë ftesën ose jo. ● Mund të ftojë një përdorues duke i dërguar një email. Ftesa do ti dërgohet në email, dhe prej andej anëtari mund ta pranojë ftesën dhe ti bashkohet grupit. Në moment që përdoruesi ka pranuar ftesën dhe i është bashkuar një grupi, atëhere ai mund të krijoj detyra për atë grup, dhe mund të ftojë anëtar të tjerë dhe të krijoj taske, fokus primar mbi atë grup. Anëtarët mund të krijojnë qëllime primare dhe këto taske janë plotësisht të pavaruar nga detyrat e krijuar për këtë grup. Përdoruesit mund të shikojnë raporte për një detyrë të krijuar në grup, ose dhe mund të modifikojnë datat e përfundimit të tyre. ➢ Projektet- projektet janë të lidhura me aktivitetin e grupit, sepse për realizimin e një projketi marrin pjesë shumë anëtar. ➢ Testet- përdoruesit mund të krijojnë teste për fusha të ndryshme, dhe këto teste janë të shfaqur për anëtarët qe mund ti ndjekin ose ti realizojnë. Në momentin qe ata ndjekin një test atehere i shfaqet tek profili i vetë. Realizimi i testit ka për qëllim rritjen e aftësive të tyre. Testi ka një përqindje pikësh minimale që duhen marë që testi të quhet i kaluar dhe brenda një afati kohor qe e vendos ai qe e krijon testin. Pas përfundimit të testit me sukses merret rezultatet e tij, dhe ruhet nje historik për të gjitha testet e realizuara.
  46. 46. Page 46 III.2 Struktura fizike e aplikacionit MVC Framework dhe struktura e aplikacionit, ka një organizim ku modeli, view, controller janë të ndara dhe të pavarura nga njëra-tjetra. Struktura organizative e projektit është si më posht. Gjatë krijimit të një projekti në Asp.Net MVC komponentët janë të ndara nga njëra-tjetra dhe struktura e foldera-ve janë si më poshtë: ➢ App_Data- është vendi i depozitimit të dhënave fizike. Ky folder ka të njëjtin rol si ne projektet Asp.Net që përdor faqet Web Forms. ➢ Content- Është e rekomandueshme që mund të vendosim fail-a si css, imazhe etj. Zakonisht ky folder është për fail-a statikë. ➢ Controllers- Është vendi i rekomanduar për të vendosur controllers. MVC framework kërkonë që emri i të gjithë controller-ave të mbarojë me “Controller” si psh: HomeController,GrupController etj. ➢ Models- Përmbanë klasat që përfaqësojnë shtresën e modelit të applikacionit. Ky folder zakonishtë përfshinë kodë që përcakton objekte osë që përcakton logjikë për bashkëveprimin me bazën e të dhëna-ve. Objektet e modelit janë të ndara në klasa. Klasat e vendosuar në model mund të zhvendosen në varësi të zhvillimit të jetës së aplikacionit. Figure 1 : Struktura e foldera-ve të aplikacionit
  47. 47. Page 47 ➢ Scripts- Është e rekomandueshme të vendosen fail-at si JavaScript, Ajax, JQuery, që aplikacioni përdorë. ➢ Views – Folderi Views mban fail-at HTML që mund të shfaqim në ndërfaqen e përdoruesit. Vieë-të mbajnë një folder për cdo kontroll, psh: nqs kemi një controller HomeController, folder-i View përmbanë një folder me emrin Home. Default në këtë folder ndodhet dhe nje folder Shared, e cila nuk korespondon me asnje controller, por përdoret si shared për të gjithë kontrollerat. Informacione mbi aplikacionin: ➢ Properties ➢ References Configuration Files ➢ Global.asax ➢ Packages.config ➢ Web.config III.3 Testimi i sistemit III.3.1. Rëndësia e testimit
  48. 48. Page 48 Testimi i sistemeve në ditëtë e sotme është shumë popullor dhe i rëndësishëm në industrinë e zhvillimit të aplikacioneve. Sipas studimit të 15 qëllimi i testimit është sigurimi i cilësisë, verifikimin dhe zbulimin e bug-eve të sistemit, por sfidat kryesore është që të zgjidhë të gjitha ato probleme që mund të gjenden nga teknikat e testimit,për të dhënë një standarde të larta për kompanitë dhe për njerëzit që përdorin sistemin. Testimi është i vetëmi standardet për ofrimin dhe sigurimin e cilësisë së sistemeve pasi kryesore është cilësisa dhe sigura, dhe i jep më shumë besueshmëri për përdoruesit që të dhënat e tyre do të jenë të sigurt dhe nuk do të keqpërdorimit. Në vlerësimin e testimit mund të përfshihen njerëz të ndryshëm me kapacitete të ndryshme, të tilla si kontrollor software, zhvillues software, menaxher, apo përdoruesit fund. Testimi është një fazë delikate për shkak se nuk mund të jetë në çdo kohë gjatë ciklit të saj. Testimi ka kapërcyer disa sfida, sepse cilësia është e lidhur shpesh me kosto, që do të thotë se cilësia e lartë është e barabartë me kosto të lartë. Disa teknikë kanë një kosto të lartë, për të siguruar një cilësi në secilën fazë të SDLC (systems development life cycle) që janë: kërkesat, analiza, integrimet, dizajni, kodim, zbatimin dhe mirëmbajtjen. Këto teknika janë shumë të rëndësishme, sepse mund të na ndihmojë reduktimin e problemeve në fazën e duke ofruar cilësi e lartë. Është e rëndësishme të dihet faza e njohjes se kurë do të fillojë testimin. Testimi mund të jetë nisur nga kërkesat e sistemit dhe mund të jetë i vazhdueshëm deri në fund të jetës së tij, dhe të jetë gati për zbatim. Por testimi mund të ndryshohet dhe kjo varet nga modeli i zhvillimit që është duke u përdorur. Teknikat e testimit janë të grupuara në tre kategori kryesore, ku secila ka karakteristika të veçanta dhe janë shumë të vlefshme ne nxjerrjen e gabimeve, në fazën e testimit të tyre. Testues- it janë njerëz që nuk kanë qasje më kodin pasi ata bëjnë vlerësimin e sjelljes së jashtme të sistemit. Testimi është një proces që është e vështirë për të përcaktuar se kur do të ndalet, sepse është një proces që kurrë nuk përfundojnë, dhe nuk ka sisteme që janë 100% të testuar dhe pa gabime. Cilësia është fokusi kryesor i çdo projekti inxhinieri software, sepse ajo na jep të gjithë fleksibilitetin që duam, jo vetëm në zbulimin e meta por dhe në përmirësimin e punëns së sistemit. 15 (Maneela Tuteja, Gaurav Dubey, 2012)
  49. 49. Page 49 Testimi duhet të kryhet në nivele të ndryshme, duke përfshirë gjithë modulet e sistemit dhe nënsistemt e tij. Testimi është nje procesë i vlerësimit të sistemit, ose pjesëve të nënsistemeve përbërëse, me anë të mjeteve manual ose automatike në mënyrë për të verifikuar nqs sistemi plotëson kërkesat e specifikuar ose jo. Në përgjithësi nuk ka sistem të përsosur, për shkak të problemeve të komunikimit ndërmjet përdoruesëve dhe zhvilluesëve të sistemit. Testimi ka për qëllim kontrollimin dhe gjetjes se gabimeve fatale që çojnë në dështimë të sistemit, sa më shpjetë të jetë e mundur, në mënyrë që të parandalohen humbjet. Faza dhe zhvillimi i testimit është proçesi kryesorë i suksesit të aplikacionit. III.3.2. Llojet e testim-eve Testimi nuk është vetëm një fazë e identifikuar në ciklin jetësor të zhvillimit të sistemit por duhet të jenë të zbatueshme në të gjitha fazat e zhvillimit, projektimit dhe mirëmbajtjes së sistemit. Testimi është përdorur për të treguar pasaktësit dhe problemet, dhe konsiderohet si fazë testimi me sukses, në momentin e gjetjes së gabimeve. Objektivat e testimit të sistemit: ➢ Përmirësimi i cilësisë se sistemit – Sistemet përdoren për të realizuar detyra komplekse dhe kritike, dhe një gabim (bug) në sistem mund të shkaktojë humbje të madhe ne sistemin dhe të pa kthyeshme. Në planë të parë është kontrollimi i cilësisë së sistemit. ➢ Verifikimi dhe vleresimi - Verifikimi është faza e vlerësimit të sistemit për të provuar se po ndërtojmë një produkt që plotëson dhë është në përputhje më analizën e sistemit. Vleresimi është procesi i kontrollimit nëse jemi duke ndërtuar produktin e duhur ose jo. ➢ Vlerësimi i besueshmërisë- Objektivi është për të zbuluar gabimet e mbetura për të patur nje sistem të besueshëm. Parimet e testimit të sisteme-ve. Testimi është jashtëzakonisht një detyrë krujuese dhe sfiduese, disa parime të testimit janë: ➢ Të gjitha testet duhet të jenë të organizuara dhe realuziara në bazë të kërkesave të sistemit dhe të kenë një sistem dokumetacioni të saktë, ne mënyrë që të jenë të gjurmueshme.
  50. 50. Page 50 ➢ Koha e testimi dhe burimet duhet të jenë të limituara, duke shmangur testimet e tepëruara. ➢ Është e pamundur për të testuar gjithçka. Strategjitë për testimin e sistemeve. Për të realizuar precesin e testimi, përdoren nivele të ndryshme testimi, çdo nivel testimi ka për qëllim për të provuar aspekte të ndryshme të sistemit. ➢ Niveli i parë eshte testim njësie (unit testing) i cili fokusohet verifikimin e komponentëve individual për të treguar që punojnë në rregull. ➢ Niveli i dytë i testimi është testimi i integruar (integration testing), e cila është një tekinkë sistematike për ndërtimin e strukturën e programit. Në këtë testim shumë module janë të kombinuara me atë të nensistemeve të cilat mund të testohen dhe më pas. ➢ Niveli i tretë testimet e integruara kanë për qëllim realizimin e një seri testime të ndryshme, që të nxjerrin në pah problemet e arkitekturës së sistemit dhe komunikimit me komponentë të tjera. Realizimit e testimeve është realizuar duke përdorur NUnit Framework i cili është i suportueshëm në Visual Studio dhe për të gjitha gjuhët ne.Net.Unit testing përdoret për të testuar metodat, atributet, klasat.
  51. 51. Page 51 Figure 26 : Unit testing në zhvillimin e sistemeve Testimi njësi përdoret për të testuar pjesë të vogla kodi.Kjo metod lejonë zhvilluesit të modifikojnë kodin pa u shqetësuar për efeketet që do ketë në njësit e tjera ose në programin në tërësi. III.3.3. Realizimi i testimeve njësi Realizimit e testimeve është realizuar duke përdorur NUnit Framework, e cila është një platforëm open source, pas instalimit të këtij framework-u, në projketin e krijuar për unit testing është vendosur dhe libraria e këtij frameëork-ut.Qëllimi i këtyre testimeve është për të identifikuar sjelljen e aplikacion-it dhe çdo pjese përbërëse të tij.
  52. 52. Page 52 Figure 27 : Instalimi i nunit framework Metodat e testimeve të realizuara janë: Figure 28 : Metodat e testimi për cdo controller Përfitimet e Unit Testing: ➢ Lejon zhvillimë të shpejtë të sistemit, pasi me anë të zhvillimit te unit testing zhvilluesit do shpenzojnë më pak kohë me teste manule. ➢ Ofron siguri në zhvillimin e kodit. ➢ Ofron një dizenjim dhe dokumentim të mirë për sistemin.
  53. 53. Page 53 ➢ Feedback të mirë për gjithë zhvillimin e sistemit, duke bërë një vlerësim në bazë të kërkesave nqs ato janë plotësuar ose jo. ➢ Vlerësimipërgjithshëm për sistemin, pasi relizimiitestimeve merrë më shumë kohë për një zhvillues. ➢ Zhvillimi i testimit shpeshë zbulon problem në fazën e dizenjimit dhe të implementimit. Kjo fazë është e rëndësishme dhe duhet të jetë e dokumentuar për një përdorim të sistemit në mënyrë sa me të mirë dhe efektive. ➢ Një përfitimi në zhvillimin e mirë të testeve ndikon dhe në mirembajtjen e sistemit dhe në zhvillimin e mëtejshëm. ➢ Faza e testimit është një procesipashmangshëm në gjithë ciklin jetësorë të zhvillimit të sistemeve. ➢ Unit testing është një elementë thelbësoritestimit, pasi përfshinë testimin e njësive të vogla të sistemit edhe pse funksionalitete të reja janë shtuar për të siguruar që gabime (bug-e) nuk gjenden në sistem por dhe siguron një kontroll të cilësisë të shërbimit. ➢ Ulë koston e sistemit në të ardhme, pasi kostoja gjetjes se bug-eve në sistemë pasi produkti është hedhur në tregë është shumë më e madhe se kostoja që duhet për testim, për gjetjen e bug-eve që në fazë e zhvillimit.
  54. 54. Page 54 Puna në të ardhme Në këtë projekt do të ketë dhe një punë të mëtejshme në fazën e zhvillimit dhe implementitmit të sistemit. Detyra kryesore janë: ➢ Zhvillimi dhe përfundimi i fazës së realizimit të funksionalitet-eve. ➢ Realizimi i testime-ve unit testing për çdo modul dhe përmirësimin e bug-eve. ➢ Realizimi i funksionalitetit të kryerjes së testimeve online dhe për lëndët e programimit, duke integruar në sistem-in aktual API që bëjnë të mundur intepretimin e kodit si psh: C#, Asp.Net, php, Sql etj. ➢ Realizimin e testimeve me anë të usera real, ku sistemi do jetë në një mjedis test. ➢ Implementimi i sistemi në një mjedis live ku do të përdoret dhe nga përdoruesit.
  55. 55. Page 55 Konkluzionet Ky punim do të paraqesë një studimë dhe aplikimin praktik për menaxhimin e projekte-ve , detyrave dhe realizimin e provime-ve të ndryshme për studentët. Kontribut do të jetë studimi mbi platformat të ndryshme dhe aplikimi e tekonlogjive më të reja për zhvillimi e sistemit. Gjatë punimit të temës u përballa me shumë vendime të rëndësishme dhe problem gjatë implementimin të sistemit. Së pari zgjedhja e framework-ut dhe gjuha që do përdorej për ndërtimin e sistemit, se cila ishte më e përshtatshme, duke bërë një studim mbi platformat më të njohura duke studiuar performancën, stabilitetin, vlefshmërin e sistemin që ato ofrojnë gjatë përdorimit nga përdoruesit e ndryshëm. Zgjidhje e framework -ut më të përshtatshëm për arkitekturën e Asp.Net-it, duke studiuar karakteristikat e Asp.Net web form dhe Mvc 5. Arkitektuar e mvc-së është më e përshtatshme dhe ofronë më shumë lehtësi në zhvillimin dhe mirëmbajtje të kodit. Realizimi i projektit me Mvc 5 dhe identity framework code first ishte një sfidë tjetër, pas ky framework kishte si karakteristikë menaxhimin e gjithë sistemit me anë të kodit dhe update-imin e databazës me anë të komandave në console të Visual Studio-sw. Pra gjithë menaxhimi i databazës si shtimi i fushave, tabelave, lidhjeve ndërmjet njëra tjetrës bëhet nga kodi. Ambientimi dhe punimi me një teknologji të re ishte vërshtirësi që u hasë gjatë implementimit të sistemit. Vërshtirësi u hasën në integrimi dhe realizimi i testimeve me anë të nunit framework pasi u testua çdo kontollë dhe cdo funksion që përdorej në mënyrë që most të kishte rezultate të paprituara gjatë testimit me përdoruesit osë gjatë përdorimit. Pasi qëllimi i këtij applikacioni është që studentët të rrisin sa më shumë aftësit e tyre, gjatë përdorimit të këtij sistemtit.
  56. 56. Page 56 Referencat Brian Driscoll, N. G. (November 4, 2013). Getting Started with Entity Framework. In Entity Framework 6 Recipes (pp. 1-11). Desfray,P. (2008). Enterprise Architecture: Practical Guide to Logical Architecture. Paris. Donald (Donn) S. Le Vie, J. (2002). Understanding Data Flow Diagrams. 1-5. Jennifer Gilbert, Susan Morton, Jennifer Rowley. (2007, MAY 22). e-Learning: The student experience. Vol 38 No 4 , pp. 560-566. Jess Chadwick, T. S. (2012). Fondamentals of ASP.NET MVC. In Developing Real-World Web Applications with ASP.NET MVC (pp. 3-43). Jon Galloway, Brand Wilson, K.Scott Allen, David Matson. (2014). Professional ASP.NET MVC5. Richard Swadley. Louis Davidson, Jessica M. Moss. (2012). The Fundamentals. In Pro SQL Server 2012 Relational Database Design and Implementation (pp. 1-36). New York: Paul Manning. Louis Rosenfeld, Peter Morville. (November 2006). Information Architecture forthe World Wide Web. O'Reilly Media. Maneela Tuteja, Gaurav Dubey. (2012, July ). A Research Study on importance of Testing and Quality Assurance in Software Development Life Cycle (SDLC) Models. International Journal of Soft Computing and Engineering (IJSCE),pp. 252-256. Mirko Cesarini, Mattia Monga, Roberto Tedesco. (2013). Carrying on the e-Learning process with a Workflow Management Engine. 1-2.
  57. 57. Page 57 Mishra, A. (2014, JULY). Critical Comparison Of PHP And ASP.NET For Web Development. INTERNATIONAL JOURNAL OF SCIENTIFIC & TECHNOLOGY RESEARCH VOLUME 3, ISSUE 7,pp. 331-333. Suzanne Hidi & K. Ann Renninger. (08 Jun 2010). The Four-Phase Model of Interest Development. 111- 127. Zhao Du, X. F. (06 November 2012). Interactive and Collaborative E-Learning Platform with Integrated Social Software and Learning Management System. 2012 International Conference on Information Technology and Software Engineering,(pp. 11-17).
  58. 58. Page 58 Falenderime I shpreh mirënjohjen dhe falenderimet e mia udhëheqëses tim Msc.Irma Guga. Jam ndier i privilegjuar dhe i nderuar që më kanë drejtuar, pasi me profesionalizmin e saj, optimizmin, energjinë pozitive, dashamirësinë, këshillat, mbështetjen, ndihmën e pakursyer dhe inkurajimin e saj, gjithmonë ka ditur të më drejtojë në rrugën e duhur për realizimin e kësaj teme. Një falënderim i veçantë për të gjithë grupin e profesorëve të nderuar të Universitetit Europian të Tiranes për kontributin që kanë dhënë në formimin tim akademik. Së fundi falenderimet e mia do të shkojnë për familjen time. Mbështetja e tyre dhe dashuria e madhe kanë qenë faktori kryesor në edukimin tim profesional dhe njerëzor. Ata kanë qenë modeli i dy prindërve shumë të përkushtuar dhe më kanë dhuruar gjithmonë dashuri pa kufi.

×