You are on page 1of 72

UNIVERSITETI I PRISHTINS FAKULTETI I SHKENCAVE MATEMATIKE NATYRORE DEPARTAMENTI I MATEMATIKS DREJTIMI I SHKENCAVE KOMPJUTERIKE

PUNIM DIPLOME Zbatimi i Inxhinieris Softuerike n Platformn ASP.NET

Mentori:

Studenti:

Mr.Sc.Artan DERMAKU Prishtin, Janar 09

Ilaz KOZHANI

Abstrakt
N dekadn e fundit popllariteti n rritje i World Wide Web ka uar n nj rritje eksponenciale t numrit t faqeve q jan n dispozicion n Web.Ky numr kaq i madh i Web faqeve e bn m se t vshtir pr shfrytzuesit e Internetit gjetjen e informacionit t nevojshm.E tra kjo sht si pasoj e mosaplikimit t disa fazave t caktuara n zhvillimin e Web aplikacioneve, por edhe t aplikacioneve n prgjithsi. Inxhinieria softuerike sht aplikimi i hapave sistematik, disiplinar, dhe kuantifikues n zhvillimin , operimin dhe mirmbajtjen e aplikacioneve.E tra kjo sht si prgjigje, ndaj zhvillimit t hershm kaotik t Web sajteve dhe t aplikacioneve n prgjithsi, si dhe kategorizimin e web zhvilluesve dhe zhvilluesve t softuerit konvencional. Nevoja pr inxhinierin softuerike sht ndier nga zhvilluesit dhe menagjert, eksperiencat e tyre n zhvillimin e aplikcaioneve, dhe nga kompleksiteti i Web aplikacioneve. N fazat e hershme t Web zhvillimit, Whuite dhe Powell, identifikuan dhe vn n pah nevojn pr inxhinierim t aplikacioneve. Kur nj softuer kompjuterik prparonkur ai prmbush nevojat e njerzve q e prdorin at, kur ai punon bukur pr nj koh t gjat, dhe kur ai sht i leht pr tu modifikuar dhe edhe m i leht pr tu prdorurai mund ti ndryshoj gjrat pr t mir.Por, kur softueri dshtonkur shfrytzuesit jan t paknaqur, kur posedon shum gabime, dhe kur sht i vshtir pr tu modifikuar dhe prdorurndodhin gjra t padshiruara.Ne t gjith dshirojm t ndrtojm nj softuer q i bn gjrat m t mira, dhe q shmang gjrat e kqija.Pt t prparuar, neve na nevojitet nj displin kur softueri t dizajnohet dhe t ndrtohet.Ne na nevojitet nj hap inxhinierik.Gjat viteve t kaluara Inxhinieria Softuerike ka evoluar nga nj ide e praktikikuar nga nj numr i vogl programersh n nj disiplin inxhinierike t legjitimuar.Tani, kjo disiplin njihet si nj subjekt i hulumtimeve serioze, studimeve t ndrgjegjshme, dhe debateve t trazuara(t zhurmshme).Metodat pr procesim t softuerit, metodat e Inxhinieris Softuerike, dhe veglat softuerike, jan adpatuar me sukses nga nj spektr i gjer i aplikacioneve t industris.Edhe pse menagjert dhe praktikantt e njohin e nevojn pr nj hap m t disiplinuar n zhvillim t softuerit, ata vazhdojn t debatojn pr mnyrn se cila disiplin t aplikohet.Shum individ dhe kompani ende zhvillojn softuer n mnyr t orientuar, edhe pse ata ndrtojn sisteme q t iu shrbejn teknologjive m t prparuara t kohs.Dhe si rezultat i ksaj, kualiteti i softuerit q prodhohet vuan dhe gjrat e kqija ndodhin. Finalisht, websajti yn pr shitblerje produktesh ilustron aplikimin e hapave t disiplins s Inxhinieris Softurike n zhvillimin e Web-based aplikacioneve.Ne do t diskutojm msimet e msuara nga Inxhinieria Softuerike n kt shembull dhe do t mundohemi sadopak t japim nj pasqyr se si bhet implementimi i Inxhinieris Softuerike n zhvillimin e Web-based aplikacioneve.

Faqja 2

Abstract
In the last decade the increasing popularity of the World Wide Web has lead to an exponential growth in the number of pages available on the Web. This huge number of Web pages makes it increasingly difficult for users to find required information. Software Engineering is the application of systematic, disciplined and quantifiable approaches to development, operation, and maintenance of applications. It is a response to the early, chaotic development of Web sites and applications as well as recognition of a divide between Web developers and conventional software developers. The need for Software Engineering is felt (or dismissed) according to perceptions of the developers and managers, their experiences in creating applications made feasible by the new technologies, and the complexity of Web applications. In the early stages of Web development, White and Powell, identified and emphasized the need for engineering of applications. When a computer software succeedswhen it meets the needs of the people who use it, when it performs flawlessly over a long period of time, when it is easy to modify and even easier to useit can and does change things for the better.But when software failswhen its users are dissatisfied, when it is error prone, when it is difficult to change and even harder to usebad things can and do happen. We all want to build software that makes things better, avoiding the bad things that lurk in the shadow of failed efforts. To succeed, we need discipline when software is designed and built. We need an engineering approach.During the last years, software engineering has evolved from an obscure idea practiced by a relatively small number of programmers to a legitimate engineering discipline. Today, it is recognized as a subject worthy of serious research, conscientious study, and tumultuous debate. Software process models, software engineering methods, and software tools have been adopted successfully across a broad spectrum of industry applications.Although managers and practitioners alike recognize the need for a more disciplined approach to software, they continue to debate the manner in which discipline is to be applied. Many individuals and companies still develop software haphazardly, even as they build systems to service the most advanced technologies of the day. And as a result,the quality of the software that we produce suffers and bad things happen. Finally, our website for online shopping attempts to illustrate the application of Software Engineering discipline approaches to the Web-based application development.In this Case Study, were going to discuss lessons learned from Software Engineering, and well try to give an overview on how to deploy Software Engineering approaches in Web-based application development.

Faqja 3

PRMBAJTJA
1 Hyrje 1.1 1.2 1.3 1.4 Motivimi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Domeni i problemit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Kontributi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Struktura e punimit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 6 7 8

2 Fundamentale 2.1 Inxhinieria softuerike . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 2.1.1 Definicioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 2.1.2 Modelet e inxhinieris softuerike . . . . . . . . . . . . . . . . . . . . . . 10 2.1.3 Fazat e inxhinieris softuerike . . . . . . . . . . . . . . . . . . . . . . . . .12 2.2 UML(Unified Modeling Language) . . . . . . . . . . . . . . . . . . . . . . . . . .14 2.2.1 Komponentet e UML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .14 2.3 .NET Framework . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .16 2.3.1 Elementet e .NET Framework . . . . . . . . . . . . . . . . . . . . . . . . 17 2.3.2 ASP .NET2.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19 3 Specifikacioni 3.1 Hyrje . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .23 3.1.1 Qllimi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .23 3.1.2 Domeni i aplikacionit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 3.1.3 Definicionet, akronimet, shkurtesat . . . . . . . . . . . . . . . . . . . . .24 3.2 Prshkrimi i sistemit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .24 3.2.1 Perspektiva e produktit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 3.2.2 Funksionet e produktit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .25 3.2.3 Karakteristikat e shfrytzuesve . . . . . . . . . . . . . . . . . . . . . . . . 25 3.2.4 Restriksionet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 3.3 Specifikimi i krkesave . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 4 Zhvillimi i aplikacionit 4.1 Analiza e krkesave . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .27 4.1.1 Modelimi i krkesave . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .27 4.1.2 Prototipi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 4.2 Planifikimi (Dizajnimi) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .38 4.2.1 Dizajnimi i arkitekturs s aplikacionit . . . . . . . . . . . . . . . . . .38 4.2.2 Dizajnimi i UI(Presentation tier) . . . . . . . . . . . . . . . . . . . . . . .40 4.2.3 Dizajnimi i bazs s shnimeve . . . . . . . . . . . . . . . . . . . . . . . .42
Faqja 4

4.3

4.4 4.5

Implementimi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .43 4.3.1 Implementimi i katalogut t produkteve . . . . . . . . . . . . . . . . . .44 4.3.2 Administrimi i katalogut t produkteve . . . . . . . . . . . . . . . . . .50 4.3.3 Implementimi i shports s blerjes . . . . . . . . . . . . . . . . . . . . . 55 4.3.4 Implementimi i llogarive t klientve . . . . . . . . . . . . . . . . . . . 56 4.3.5 Implementimi i porosive t klientve . . . . . . . . . . . . . . . . . . . . 57 Testimi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .60 Menagjimi i projektit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .61

5 Rezultatet 5.1 Pjesa e klientit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 6 Prfundim 6.1 Kontributet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .69 6.2 Prvojat e fituara . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 6.3 Detyrat e ardhshme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .70 Literatura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

Faqja 5

KAPITULLI 1

HYRJE
1.1

MOTIVIMI

Gjat dekads s fundit World Wide Web (WWW) sht br nj pjes mjaft e rndsishme e jets ton t prditshme.Ne porosisim gjra t ndryshme n Internet, shikojm filma, marrim kshilla mjeksore, rezervojm bileta t ndryshme, dhe shum gjra t tjera n internet.Kompanit, organizatat dhe njerzit e prdorin WWW si nj vegl mjaft t fuqishme pr kmbimin e informatave:Kompanit ofrojn Web faqe q ti reklamojn dhe shesin produktet e tyre.Institucionet edukuese paraqesin material arsimor dhe ofrojn shrbime trajnimi online n Web.Autoritetet publike ofrojn shrbime qeveritare pr t kryer detyra administrative n mnyr m efikase.Pra, me nj fjal interneti sht br pjes integrale e jets son. Popullariteti i WWW ka uar n nj rritje eksponenciale t numrit t Websajteve q jan n dispozicion n hapsirn globale informative.Sidoqoft, ky sukses ka uar poashtu n disa probleme:Numri kaq i madh i Web faqeve e bn shum t vshhtir pr shfrytzuesit q t gjejn dhe tu qasen informatave t krkuara.Padyshim se kjo rritje kaq e shpejt e Web sajteve dhe ky zhvillim i internetit nuk ka shptuar pa lshime dhe rregullime t ndryshme., sepse nuk ka pasur ndonj kriter t mirfillt pr tiu prmbajtur. E tra kjo sht si pasoj e mosaplikimit t disa fazave t caktuara n zhvillimin e Web aplikacioneve, por edhe t aplikacioneve n prgjithsi. N prgjiegje t ksaj, lindi nevoja pr aplikimin e hapave t inxhinieris softuerike n zhvillimn e jo vetm t desktop aplikacioneve tradicionale por edhe t Web-based aplikacioneve. Duke menduar se vendosja e kritereve t inxhinieris softuerike do t ndihmonte sadopak n zbutjen e ktij problemi, m motivoi q t aplikoj ndihmn q inxhinieria softuerike e jep n zhvillimin edhe t Web-based aplikacioneve.Nj gj duhet pasur t qart se ky punim nuk ka pr qllim q t ndrtoj nj enterprise-class Web aplikacion t prkryer, sepse nj gj e till krkon angazhim t nj armat t tr programuesish, web dizajnersh dhe menagjersh.Qllimi kryesor sht q t ofrojm nj pasqyr se si bhet implementimi i hapave t inxhinieris softuerike n ndrtimin e nj Web-based aplikacioni.

1.2

DOMENI I PROBLEMIT

Domeni i problemit gjendet n kuadr t zhvillimit t Web-based aplikacioneve.Suksesi i nj Web aplikacioni varet nga aplikimi i kritereve gjat zhvillimit t nj Web aplikacioni. Inxhinierimi sht analiza, dizajni,konstruktimi, verifikimi, dhe menagjimi i entiteteve teknike (apo sociale).Pa marr parasysh entitetit q do t inxhinierohet, duhet t iu prgjigjemi pyetjeve n vijim: Cili sht problemi q do ta zgjidhim? Cilat karakteristika t entitetit jan prdorur pr t zgjidhur problemin? Si do t realizohet entiteti (dhe zgjidhja)? Si do t prkrahet entiteti n terma t gjat kohor, kur prmirsimet dhe adaptime t ndryshme krkohen nga shfrytzuesi i entitetit?

Faqja 6

N kt punim ne fokusohemni n nj entitet t vetm.Q t inxhinierojm nj softuer n mnyr adekuate, duhet t definohet nj proces i inxhinieris softuerike. Detyrat e asocuara me inxhinierin softuerike mund t kategorizohen n tri faza t prgjithshme, pamarr parasysh domenin e aplikacionit, madhsin e projektit, apo kompleksitetitn.Secila faz i adresohet nj ose m shum pyetjeve t msiprme. Faza e definicionit fokusohet n ka.Gjat ksaj faze inxhinieria softuerike tenton t definoj se cilat informata duhet t procesohen, far funksioni dhe performanse dshirohet, se far veti t sistemit priten, far interfejsash duhet t themelohen, far restriksioni dizajnimi ekzistojn, dhe far kritere validimi krkohen pr t definuar nj sistem t sukseshm.Identifikohen krkesat kyqe t sistemit dhe t softuerit. Faza e zhvillimit fokusohet n si?.Gjat ksaj faze Inxhnieria Softuerike tenton t definoj se si do t strukturohen t dhnat, si do t implemetohet funksioni brenda nj arkitekture softueri, si do t karakterizohen interfejsat, se si do t prkthehet dizajinimi n nj gjuh programuese, se si do t kryhet testimi.Metdoat e aplikuara gjat fazs s zhvillimit ndryshojn, por gjithnj duhet t paraqiten tri detyra teknike q jan specifike pr kt faz:dizajinimi i softuerit, gjenerimi i kodit, dhe testimit i softuerit. Faza e prkrahjes fokusohet n ndryshimet e asocuara me prmirsim gabimesh, adaptimet e krkuara me evoluimin e softuerit, dhe ndryshimet pr shkak t ndryshimit t krkesave t klientit.Faza e prkrahjes riaplikon hapat e fazs s definimit dhe t zhvillimit por kt e bn n kontekst t softuerit ekzistues. Puna q do t bhet n aplikimin e metodologjis s inxhinieris softuerike n zhvillimin e Webbased aplikacioneve, por edhe t projekteve tjera n prgjithsi, ka t bj me: Ciklin jetsor t projektit(Software Life Cycle SLC), sepse do projekt pa marr parasysh madhsin dhe kompleksitetin e tij ka nj cikl jetsor, i cili prbhet prej disa fazave, me fillim nga faza e fizibilitetit, analiza e krkesave, e deri te faza e testimit dhe mirmbajtjes s nj projekti t caktuar. Menagjimin e projektit, apo Projekt Menagjmenti, i cili involvon planifikimin, monitorimin dhe kontrolln e njerzve, procesit dhe ngjarjet q shfaqen me evoluimin e softuerit q nga koncepti preliminar e deri te implementimi operacional. Sigurimine kualitetit t softuerit (Software Quality Assurance).

1.3

KONTRIBUTI

N kt punim ne tentojm ta pasqyrojm aplikimin e hapave t inxhinieris softuerike n ndrtimin e Web-aplikacioneve n platformn ASP.NET.Arsyeja se pse e kemi zgjedhur kt platform sht sepse ASP.NET sht nj teknologji relativisht e re dhe se mendoj se i prgjigjet m s miri nevojave t kohs pr zhvillim t Web-based aplikacioneve.

Faqja 7

1.4

STRUKTURA E PUNIMIT

Pjesa e mbetur e ktij punimi sht e strukturuar si n vijim: Kapitulli 2 sht kapitulli i fundamentaleve.Ky kapitull paraqet nj prmbledhje t inxhinieris softuerike n terma t prgjithshm.Do t mundohemi q sadopak t sqarojm se ka n t vrtet prmban Inxhinieria Softuerike, definicioni i inxhinieris softuerike, fazat dhe modelet e inxhinieris softuerike.Ky kapitull m tutje vazhdon me .NET Framework.Pasi q qllimi i ktij punimi sht aplikimi i inxhinieris softuerike n kt platform, mendoj se e vlen nj paraqitje e prgjithshme se ka sht .NET Framework dhe ka n t vrtet prmban ajo. Kapitulli 3 ka t bj me specifikacionin e aplikacionit q do t zhvillohet.Ktu iu adresohemi krkesave dhe problemi i cili do t zgjidhet. Kapitulli 4 shnon fillimin e implementimit t fazave t inxhinieris softuerike n nj aplikacion.N kt kapitull do t fillojm me fazn e par, at t analizs s krkesave.Do t diskutojm analizn e krkesave t klientit, UML diagramet q aplikohen n kt faz, e kshtu me rradh.Kapitulli vazhdon me fazn e dyt at t planifikimit (dizajnimit) t nj aplikacioni.Ktu nj vmendje i kushtohet arkitekturave q aplikohen gjat fazs s planifikimit. Pastaj vazhdon faza e tret, ajo e implementimit.Kjo sht ajo faza n t ciln fillon realizimi konkret i aplikacionit, pra kodimi i aplikacionit.Pastaj vie faza q ka t bj me testimin e aplikacionit t ndrtuar.Ktu prdoren kritere t ndryshme testimi, pr t testuar gabimet q mund ti kemi lshuar gjat ndrtimit t aplikacionit, dhe nse aplikacioni prmbush krkesat e klientit.Dhe n fund t kapitullit kemi t bjm me menagjimin e projektit n trsi.N kt kapitull do t shohim se si aplikohen standardet mbi menagjimin e projektit, paraqijten e rrjedhs s projekteve me an t diagrameve prkatse si jan WBS(Work Breakdown Structure) diagramet, PERT (Progress Evolution and Review Techniques) diagramet, GANTT diagramet e kshtu me rradh. N kapitullin 5 do t cekim rezultatet e arritura me kt aplikacion dhe funksionalitetin e aplikacionit.Funksionaliteti i aplikacionit sht i ndar n dy module, moduli i klientit dhe i administratorit. Kurse n kapitullin 6 kemi prfundimin e ktij punimi.Ktu ceken kontributet e arritura, prparsit dhe mangsit e aplikacionit.Mpastaj ceken prvojat e fituara dhe sfidat e ardhshme. Dhe n fund fare sht kemi potencuar literaturn e shfrytzuar n realizimin e ktij punimi.

Faqja 8

KAPITULLI 2

FUNDAMENTALE
2.1

INXHINIERIA SOFTUERIKE

2.1.1 DEFINICIONI
Inxhinieria softuerike sht nj disiplin relativisht e re inxhinierike. Kt e vertetojn edhe metodat dhe teknikat t cilat prdoren pr zhvillimin e nj softueri, e t cilat n t shumtn e rasteve jan t pamjaftushme.Shprehja Software Engineering sht prdorur pr her t par n vitin 1967 nga nj grup i hulumtuesve shkencor t NATO-s. Shum autor kan tentuar ti formulojn definicionet e tyre n lidhje me inxhierin softuerike.Si ilustrim do ti prmedin disa prej tyre. Nj definicion i prmendur nga Fritz Bauer (NAU69), ende shrben si baz pr diskutim: Inxhinieria softuerike sht themelimi dhe prdorimi i principeve t forta inxhinierike n mnyr q t fitojm softuer ekonomik dhe t qndrueshm dhe q punon n mnyr efikase n makinat reale. Sido q t jet edhe ky definicion sht paksa i cunguar.Ky thot pak pr aspektet teknike t softuerit; ky nuk i adresohet direkt satisfaksionit t klientit;ai i shmanget rndsis s matjes dhe metrikave;dhe ai nuk paraqet rndsin e nj procesi maturik.Dhe edhe m tutje definicioni i Bauerit shtron kto pyetje:far principe t forta inxhinierike mund t aplikohen n zhvillimin e softuerit kmpjuterik?N far mnyre ekonomike e ndrtojm softuerin q ai t jet i qndrueshm?ka sht e nevojshme q t ndrtojm softuere kompjuterike q punojn n mnyr efikase jo vetm n nj por n m shum makina reale?Kto pra jan disa nga pyetjet q vazhdojn ti sfidojn inxhiniert softuerik. IEEE[IEE93] ka dhn nj definicion m komprehensiv i cili sht i prpiluar ksisoji: Inxhinieria Softuerike:(1)Aplikimi i hapave sistematik, disiplinor, kuantifikues n zhvillim, operim dhe mirmbajtje t softuerit; pra, aplikimi i inxhinierimit n softuer.(2) Studimi i hapave t cekur n (1).

2.1.2 MODELET E INXHINIERIS SOFTUERIKE


Pr t zgjidhur problemet aktuale n nj industri, nj inxhinier softueri apo nj ekip inxhiniersh duhet ta inkorporojn nj strategji zhvilluese q prthekon procesin, metodat dhe veglat e prmendura m sipr.Kjo strategji shpesh referohet si nj process model ose software engineering paradigm.Nj model proces zgjedhet duke u bazuar n natyrn e projektit dhe aplikacionit, metodat dhe veglat q do t prdoren. Edhe pse ekziston nj numr i konsiderueshm modelesh si jan modeli sekuencial linear, modeli spiral, modeli prototip, modeli inkremental ne do ti cekim vetm nj-dy prej tyre.

Faqja 9

MODELI LINEAR SEKUENCIAL

Nganjher i quajtur classic life cycle ose waterfall model, ky model sht pshkruar s pari nga Royce m 1970.Modeli linear sekuencial sygjeron nj hap sistematik, sekuencial n zhvillim t softuerit i cili fillon nga niveli i sistemit dhe vazhdon m tutje npr analiz, dizajn, kodim, testim dhe prkrahje.Figura n vijim ilustron modelin linear sekuencial pr inxhinierin softuerike.

Fig.2.1 Modeli linear sekuencial

Modeluar pas nj nj cikli konvencional inxhinierues, waterfall modeli prqafon aktivitetet vijuese: Analiza e krkesave.Procesi i grumbullimit t krkesave intensifikohet dhe fokusohet specifikisht n softuer.Q ta kuptojm natyrn e programit q do t ndrtohet, softuer inxhinieri (analisti) duhet ta kuptoj domenin e informatave pr softuer, si dhe funksioni i krkuar, performansa dhe interfejsi.Krkesat pr sistemin dhe softuerin dokumentohen dhe rishikohen s bashku me klientin. Dizajni(Planifikimi).Dizajnimi i softuerit sht nj proces shumhapsh q fokusohet n katr atribute t ndryshme t nj programi:struktura e t dhnave, arkitektura e softuerit, paraqitjet e interfejsit, dhe detajet procedurale(algoritmike).Procesi i dizajnit prkthen krkesat n nj paraqitje t softuerit q mund t shfaqen pr kualitet para se t filloj kodimi.Si krkesat ashtu edhe dizajni dokumentohet dhe bhet pjes e konfigurimit t softuerit. Implementimi(Gjenerimi i kodit).Dizajni duhet t prkthehet n nj form t lexueshme pr makinn.Hapi i gjenerimit t kodit e kryen kt detyr.Nse dizajni sht performuar n mnyr t detajuar,gjenerimi i kodit mund t kryhet n mnyr mekanike. Testimi.Pas gjenerimit t kodit, fillon testimi i programit.Procesi i testimit fokusohet n hyrje logjike t softuerit, duke siguruar q t gjitha kodet jan testuar, dhe n funksione eksternale;pra testimi pr t zbuluar gabimet q hyrje(inpute) t definuara do t shkaktonin ato gabime. Prkrahja.Padyshim softueri do t kaloj npr ndryshime pasi q i prcilliet klientit.Ndryshimet do t shfaqen sepse zbulohen gabime t ndryshme, sepse softueri do t adaptohet pr t akomoduar ndryshimet n rrethinn e jashtme(p.sh., krkohet nj ndryshim pr shkak t nj sistemi t ri operativ apo t ndonj pajisje periferike), ose sepse klienti krkon rritje t funksionalitetit apo t performancs. Modeli linear sekuencial sht m i vjetri dhe m i prdoruri inxhinierin softuerike.Edhe pse ky model konsiderohet si i dal mode ai prap se prap mbetet nj hap i arsyeshm kur krkesat kuptohen mir.

Faqja 10

MODELI SPIRAL

Modeli spiral i propozuar nga Boehm[BOE88], sht nj model evolucionar i cili prmbledh natyrn iterative t prototajpingut me aspekte sistematike dhe t kontrolluara t modelit linear sekuencial.Ky ofron nj potencial pr zhvillim t shpejt t verzioneve inkrementale t softuerit.Duke prdorur modelin spiral, softueri zhvillohet n nj seri inkrementuese. Imazhi i modelit sht nj spirale e cila fillon n mes dhe n mnyr t vazhdueshme riviziton detyrat themelore si jan:komunikim me klientin, planifikimi, analiza e rreziqeve, inxhinierimi, konstruktimi dhe lansimi, dhe evaluimi i klientit.

Fig.2.2 Modeli spiral

Nj model spiral ndahet n nj numr aktivitetesh, t ashtuquajtura task regions.Figura2.3 paraqet nj model spiral i cili prmban gjasht task regjione: Komunikimi me klientinaktivitetet e nevojshme pr t themeluar komunikim efektiv ndrmjet zhvilluesit dhe klientit. Planifikimiaktivitetet e nevojshme pr definimin e resurseve, afateve kohore, dhe informatave tjera n lidhje me projektin. Analiza e rreziqeveaktivitetet e nevojshme pr definimin e rreziqeve teknike dhe menagjeriale. Inxhinierimiaktivitetet e nevojshme pr ndrtimin e nj ose m shum paraqitjeve t aplikacionit.

Faqja 11

Konstruktimi dhe lansimidetyrat e nevojshme pr t konstruktuar, testuar, instaluar dhe prkrahje t klientit(p.sh.,dokumentim dhe prkrahje). Evaluimi i klientitdetyrat e nevojshme pr t fituar customer feedback bazuar n evaluimin e paraqitjeve t softuerit t prpiluara gjat fazs s inxhinierimit dhe implementuar gjat fazs s instalimit.

donjra prej ktyre regjioneve sht e populluar nga nj bashksi prej detyrave t puns, t quajtura task set , q do ti adaptohen karakteristikave t projektit q do t prdoret.Pr projekte t vogla, numri i ktyre detyrave t puns dhe formaliteti i tyre sht i ult.Kurse pr projekte m t mdha dhe m kritike, do task regjion prmban shum detyra punsh t cilat jan t definura pr t arritur nj nivel t lart formaliteti. Modeli spiral paraqet nj hap real n zhvillimin e sistemeve dhe softuereve me shkall t lart.Pasiq softueri evoluon me progresin e procesit, zhvilluesi dhe klienti e kuptojn m mir dhe reagojn n rreziqe n do nivel evolucionar.Modeli spiral prdor prototipin si mekanizm pr reduktim t rreziqeve, por ka sht m me rndsi, i mundson zhvilluesit , me apliku hapa prototipi, n ndonj staz t evoluimit t produktit. Por, sikur paradigmat e tjera edhe modeli spiral nuk sht i prkryer.Ky mund t jet i vshtir pr ta bindur klientin q hapi evolucioanr sht i kontrollueshm.Nse ndonj rrezik madhor nuk sht zbuluar dhe menagjuar me koh, padyshim se do t paraqiten probleme.N fund, ky model nuk sht aq i prdorur sikur modeli linear sekuencial ose prototajping paradigmat.

2.1.3 FAZAT N INXHINIERIN SOFTUERIKE


Fazat kryesore npr t cilat kalon nj projekt i njohur si Software Life Cycle jan: Faza e analizs s krkesave Faza e planifikimit (dizajnimit) Faza e implementimit Faza e testimit Faza e analizs s krkesave:Analiza e sht hapi i par teknik n procesin e softuerit.Qllimi i fazs s analizs sht nxjerrja e krkesave nga klienti apo shfrytzuesi.Kjo zakonisht bhet me zhvillimin e diagrameve dhe specifikimn e krkesave pas diskutimeve me klientin.Pastaj klienti i rishikon diagramet dhe specifikimin pr t par nse zhviiluesi i softuerit i ka kuptuar mir krkesat. Hapi i puns s Analizs ndahet ne dy hapa te pjesshm te puns: Hapi i Analizs s Krkesave Hapi i Analizs s Modeleve Analiza e Krkesave shrben pr prshkrimin e krkesave funksionale dhe atyre jofunksionale t sistemit, kurse analiza e Modeleve shrben pr kontrollimin e mundsis se realizimit t analizs s krkesave. Planifikimi sht nj hap esencial dhe zhvillimi i softuerit nuk bn prjashtim.Arritja e suksesit n zhvillim t softuerit krkon planifikim.Planifikimi i projekteve softuerike involvon vendimin se far detyrash duhet kryer, n far rendi t bhen detyrat, dhe far resursesh nevojiten pr ti kryer ato detyra.Planifikimi(Dizajni) paraqet procesin e aplikimit t teknikave dhe principeve t ndryshme me qllim t definimit t nj pajisjeje, procesi, ose nj sistemi n detaje t mjaftueshme pr t lejuar realizimin fizik.Dizajni sht gjithashtu pjesa m artistike dhe m kreative e procesit t zhvillimit t softuerit.

Faqja 12

Procesi i dizajnit konverton terminologjin nga problemi i hapsirs s krkesave n hapsirn e zgjidhjes n implementim.Rezultati i fazs s dizajnit duhet t jet nj dokument q ka detaje t mjaftueshme pr t lejuar implementimin e sistemit pa interaksion t mtutjeshm t specifikuesit apo userit. N vijm po cekim fazat npr t cilat kalon procesi i dizajnit: Data designKjo faz prodhon strukturat e t dhnave. Architectural designKjo faz prodhon njsit strukturale(klast). Interface designKjo faz specifikon interfejsat ndrmjet njsive. Procedural designKjo faz specifikon algoritmet pr do metod.

Fig.2.3 Modeli i dizajnimit

Faza e implementimit.Kjo sht faza n t ciln fillon realizimi konkret i projektit.Pas nj angazhimi t gjat e t mundimshm fillon realizimi praktitk i tr asaj q sht br n fazat e mhershme.Duhet cekur se nse fazat paraprake jan kryer me sukkses dhe n detaje ather puna n kt faz mund t themi se sht pothuajse mekanike. Faza e testimit.sht faza e fundit q aplikohet para se t lansohet softueri.Testimi i softuerit sht ekzekutimi i softuerit me t dhna testuese aktuale.Nganjher kjo quhet dynamic software testing pr ta dalluar at nga analiza statike, e cila nganjher quhet testim statik.Analiza statike involvon analizimin e source kodit q t identifikohen probleme t ndryshme.Edhe pse teknika tjera jan shum t prdorshme n validimin e softuerit, ekzekutimi aktual i softuerit me t dhna reale testuese sht esencial.

Faqja 13

2.2

UML

UML(Unified Modeling Language) sht nj nga veglat m t prdorshme n botn e zhvillimit t sistemeve.UML sht nj gjuh modeluese vizuale q iu mundson ndrtuesve t sistemeve q t prpilojn skica t cilat prmbajn vizionet e tyre n nj mnyr standarte dhe leht t kuptueshme, dhe ofron nj mekanizm q n mnyr efikase ti kmbejn dhe ti komunikojn kto vizione me t tjert.UML si e shpreh edhe vet akronimi sht gjuh e unifikuar pr t gjith programert pamarrparasysh se n ciln gjuh programuese kodojn. Sa i prket zanafills s UML, mund t themi se UML sht nj produkt i Grady Booch, James Rumbaugh, dhe Ivar Jacobson.T njohur si Tre Amigos, kta gjentlmen punuan n organizata t ndryshme n vitet e tetdhjeta dhe n fillim t viteve t nntdhjeta, duke zhvilluar secili n mnyr t pavarur metodologjin e vet n OO analiz dhe dizajn.N mes t viteve t 90ta, ata filluan ti kmbejn idet dhe prvojat me njri tjetrin, kshtu q n fund vendosn t evoluojn punn e tyre sbashku.M 1994 Rumbaugh iu bashkua Rational Software Corporation, n t ciln ishte duke Booch, dhe nj vit m von atyre iu bashkua edhe Jacobson. . . . Dhe pjesa tjetr tanim i takon historis.Verzione t ndryshme t UML-it filluan t qarkullojn npr industrin e softuerit, duke rezultuar n ndryshime substanciale.

2.2.1 KOMPONENTET E UML


UML prbhet prej nj sr elementesh grafike t cilat kombimohen pr t formuar diagrame.Por, pasi q UML sht nj gjuh, ajo ka rregulla pr kombinimin e ktyre elementeve. Qllimi i diagrameve sht q t paraqiten pamje t nj sistemi n aspekte t ndryshme;kjo bashksi prej shum pamjeve quhet model. N vijim do ti prshkruajm diagramet m t prdorshme t UML si dhe konceptet q ato paraqesin. Use Case Diagramet Use case diagrami sht pjes e bashksis s UML diagrameve.Ky lloj diagrami tregon aktort e rndsishm dhe funksionalitetin e nj sistemi..Aktort paraqiten me stick figura kurse funksionet me elipsa.Aktort asocohen me funksionet q mund ti kryejn.Relacionet ndrmjet funksioneve dhe aktorve jan asociacionet ndrmjet aktorit dhe funksionit si dhe varsit <<include>> dhe <<extend>> ndrmjet use case-ve.

Fig.2.4 Use-case diagram

Diagramet e klasave Diagramet e klasave jan nj lloj tjetr diagramesh n kuadr t UML.Diagramet e klasave prdoren pr paraqitje grafike t modelit konceptual si nj pamje statike q tregon nj koleksion elementesh statike t domenit.

Faqja 14

Elementet kryesore modeluese q prdoren n modelin konceptual jan: klasa dhe relacionet ndrmjet klasave.Ekzistojn kto tipe relacionesh ndrmjet klasave:asociacioni, gjeneralizimi apo inheritance (trashgimia),agregacioni dhe kompozicioni. Asociacioni: Paraqet varsin ndrmjet klasave, ku kemmi dy lloje varsish:varsi e t dhnave dhe varsi funksionale.N varsin e t dhnave nj objekt paraqet informacion pr objektin tjetr, ose mund t jet pjes e atributeve t nj objekti.Me varsin funksionale kemi t bjm kur nj objekti i nevojiten funksione t caktuara nga nj klas tjetr pr t garantuar funksionalitetin e vet. Gjeneralizimi:Nj objekt parqitet si rast special i nj objekti tjetr.D.mth. objekti prve q posedon t gjitha veorit e ktij t fundit ai ka edhe veti tjera shtes. Agregacioni:Paraqet rast special t asociacionit kur nj objekt sht pjes e nj objekti tjetr. Kompozicioni:Paraqitet n rastet kur me zhdukjen e nj objekti apo trsie zhduken edhe pjest tjera prbrse. Diagramet e gjendjes Diagrami i gjendjes tregon vargun e gjendjeve npr t cilat kalon nj objekt gjat cikllit t tij jetsor, s bashku me aksionett prkatse, trigerimin e eventave, dhe kushtet e ruajtejes(guard conditions) t shoqruara me transformimet e gjendjes(state transitions).Diagramet gjendjes ne i prdorim pr vizualizimin e skenareve t navigimit.

Fig.2.5 Diagrami i gjendjes

Faqja 15

Diagramet e sekuencave Diagramet e klasave dhe objekt diagramet paraqesin informat statike.N nj sistem funskionues, si do q t jet, objektet bashkveprojn me njra tjetrn, dhe kto bashkveprime shfaqen prgjat boshtit kohor.Diagramet e sekuencave paraqesin dinamikat e bashkveprimit t bazuara n koh.

Fig.2.6 Diagrami i sekuencave

2.3

.NET FRAMEWORK

Q nga viti 1995, Microsoft n mnyr konstante ka br oferta pr ta lvizur fokusin nga Windows-based platformat n Internet.Microsoft paraqiti Active Server Pages(ASP) si nj zgjidhje n Iternet programim.Sidoqoft, shkruarja e ASP skriptave interpretuese, ishte nj mnyr tradicionale e programimit krahasuar me programimin e strukturuar objest-oriented q prdoret tani.Pr m tepr, ishte shum e vshtir debugimi dhe mirmbajtja e Asp kodit jo t strukturar. S fundi, Microsoft paraqiti .NET framework me nj vizion pr zhvilluesit q t krijojn softuer globalisht t distribuar me Internet, funksionalitet dhe interoperabilietet. Microsoft .NET Framework paraqet nj platform t fuqishme pr zhvillimin e aplikacioneve n desktop dhe n Internet..NET Framework na mundson zhvilimin e Internet aplikacioeneve me nj lehtsi t papar m par.Pr t zhvilluar Internet aplikacione, .NET Framework, sht e pajisur me ASP.NET.ASP.NET sht nj korniz programuese mjaft e fuqishme pr zhvillimin e enterpriseclass Web aplikacioneve. .NET Framework prfshin gjuh dhe kas librari t shumta dhe nj platform t prbashkt ekzekutimi.N pajtim me kt, .NET Framework prfshin protokole q lejojn zhvilluesit integrimin e softuerit npr Internet dhe .NET Enterprise Servert, si jan SQL Server 2005, Commerce Server, dhe BizTalk Server.Kshru pra, .NET Framework ofron bulit-in funksionalitetin m t pasur pr integrim softueri.Gjithashtu me .NET Framework zhvillimi i Internet aplikacioneve sht i leht sikurse zhvillimi i desktop aplikacioneve. .NET Framework e liron zhvilluiesin e softuerit nga shum specifika t sistemit operativ, si sht p.sh. menagjimi i memories, sepse .NET Framework mbulon t gjitha shtresat e softuerit nn sistemin operativ.

Faqja 16

.NET Framework ofron nj numr beneficionesh zhvilluesve: Nj model programimi konsistent Prkrahje direkte pr siguri Oferta t thjeshtzuara zhvillimi Mirmbajtje dhe implementim t leht t aplikacioneve

2.3.1 ELEMENTET E .NET FRAMEWORK


.NET Framework kas tri elemente kyqe.(fig.3.1): Common Language Runtime (CLR) .NET Class Library Komponentet unifikuese

Fig.2.7 .NET Framework

COMMON LANGUAGE RUNTIME (CLR)

Common Language Runtime (CLR) sht nj shtres ndrmjet nj aplikacioni dhe sistemit operativ n t cilin ekzekutohet.CLR thjeshtson dizajnin e aplikacionit dhe sasin e kodit q programeri duhet ta shkruaj sepse ofron nj varietet t shrbimeve ekzekutuese t cilat prfshijn menagjim t memories, thredave, component lifetime menagjim dhe default error handling.Benefiti kyq i CLR sht se ai kto shrbime ekzekutuese i ofron n mnyr transparente t gjitha aplikacioneve, pa marr parasysh se n far gjuhe programuese jan shkruajtur. CLR sht gjithashtu prgjegjse pr kompajlimin e kodit para se t ekzekutohet.N vend t paraqitjes binare t kodit t shkruar si bjn kompajlert tradicional, .NET kompajlert e prkthejn kodin n nj gjuh t prbashkt pr .NET Framework:Microsoft Intermediate Language (MSIL), ose m shkurt IL.Kur kodi t ekzekutohet pr her t par, CLR invokon nj kompajler special t quajtur Just In Time (JIT) kompajler, i cili transformon IL n instruksione t ekzekutueshme q jan specifike pr tipin dhe modelin e procesorit t sistemit.

Faqja 17

.NET CLASS LIBRARY

.NET Class Library sht nj kontejner prej qindra klassh t cilat modelojn sistemin dhe shrbimet q ato i ofrojn.Pr ta pasur m t leht pr t punuar dhe pr ta kuptuar, .NET Class Library sht e ndar n namespace-a.Namespace-i rrnj i .NET Class library quhet System, dhe ai prmban klast dhe datatipet brtham, si jan Int32, Object, Array, dhe Console.Namespace-at sekondar gjenden n System namespace-in. Benefitet e prdorimit t .NET ClassLibraris prfshijn nj bashksi konsistente shrbimesh q sht e disponueshem pr gjitha .NET gjuht dhe implementim t thjesht, sepse .NET class libraria sht n disponim t t gjitha implemetimeve t .NET Framework. 3 KOMPONENTET UNIFIKUESE

Komponente unifikuese (Unifying Components), t cekura n vijim jan ato prmes t cilave ne mund t iu qasemi shrbimeve q na i ofron .NET Framework: ASP.NET Windows Format Visual Studio .NET

ASP .NET
ASP.NET prmban dy veori madhore:Web Format, dhe Web Serviset. Web Format:Thjeshtsojn Web zhvillimin deri n at mas sa q e tra q nevojitet pr t krijuar nj Web form sht q vetm ti kapim kontrollat dhe ti vendosim n siprfaqen dizajnuese, pr t dizajnuar aplikacione interaktive. Web Serviset:jan nj lloj aplikacioni q e ekspozojn interfejsin programatik prmes metodave pr qasje standarde.Web serviset jan t dizajnuara q t prdoren nga aplikacionet dhe komponentet tjera dhe nuk tentohet q t jen t prdorshme direkt te shfrytzuesit e zakonshm.Web serviset e bjn t leht q t ndrtojm aplikacione q integrojn veorit nga burime n distanc.

Windows Format
Windows Format sht emri i nj bashksie t unifikuar klassh q ofrojn prkrahje pr krijimin e desktop aplikacioneve tradicionaleaplikacioneve q kan nj graphical user interface(GUI).Windows format e bjn t leht zhvillimin e end-user aplikacioneve duke prdorur ndonjrn prej .NET gjuhve programuese.

Visual Studio .NET


Visual Studio .NET prmbush premtimin pr nj hapsir zhvilluese t vetme pr t gjitha gjuht.Visua Studio .NET thjeshtson zhvillimin e aplikacioneve n nj hapsir me gjuh t prziera prmes veorive si jan prkrahja pr end-to-end debagim npr t gjitha gjuht programuese;dizajner vizual pr XML, HTML, t dhna, dhe server-side kod;dhe IntelliSense prkrahje t plot(kompletim komandash).Visual Studio zvendson Visual Basic6,Visual C++, dhe Visual InterDev hapsirat zhvilluese. Visual Studio .NET sht e aft t ofroj kt nivel t integrimit sepse mbshtetet dhe ndrtohet n lehtsit e ,NET Framework.Dizajnert pr Web format dhe Windows format rrisin

Faqja 18

produktivitetin e zhvilluesit gjat ciklit t zhvillimit.Integrimi i veorive implemetuese rrit gjithashtu produktivitetin gjat post-deployment debagimit, prmbledh karakteristikat madhore t Visual Studio .NET.

2.3.2 ASP .NET2.0


ASP(Activ Server Pages) sht nj teknologji relativisht e re e cila ka kaluar npr disa etapa evoluimi.S pari sht paraqitur para rreth 9 viteve dhe sht nj mnyr e leht pr t iu shtuar prmbajtje dinamike web faqeve t zakonshme.Q nga ather kjo teknologji sht rritur n dika shum m ambicioze: nj platform pr krijimin e web aplikacioneve t prparuara, duke prfshir e-commerce sajte, data-driven portale, dhe gati pr do gj q mund ta gjejm n internet. ASP.NET2.0 sht nj version m i ri i ASP(edhe pse tani sht lansuar versioni m ri 3.5), dhe paraqet edhe m shum ndryshime dramatike.Me ASP.NET, zhvilluesit nuk kan m nevoj q ti bashkojn nj grumbull HTML dhe kod skripta q t programojn n web.N vend t ksaj , ne mund t krijojm web aplikacione me shkallshmri t plot duke mos prdorur asgj tjetr prveqse kod dhe nj vegl dizajnimi si sht Visual Studio 2005.Kosto e gjith ksaj sht vetm lakorja e msimit. ASP.NET sht nj nga pjest brtham t .NET Framework..NET Framework nuk sht nj aplikacion i vetmpor sht nj koleksion teknologjish brenda nj termi t vetm marketingu..NET Framework prfshin disa gjuh programuese si jan C#,VB.NET, etj, nj makin pr hostim t web faqeve dhe web serviseve t programuara(ASP.NET), nj model pr kooperim me baza t shnimeve (ADO.NET), dhe nj librari klassh pr do gj, q nga shkruarja e fajllave deri leximi i XML. ASP.NET versioni pasues i ASP, sht korniz programuese e cila prdoret pr t krijuar enterprise-class Web aplikacione.Enterprise-class Web aplikacionet jan t qasshme n baza globale, duke udhhequr n menagjim efikas t informatave.Sodoqoft, prparsit q ASP.NET ofron e bn at m shum se vetm nj pasues t ASP. ASP.NET sht e integruar n Visual Studio .NET, e cila ofron nj GUI dizajner, nj toolbox t pasur, dhe nj debugger t integruar plotsisht.Kjo lejon zhvillimin e aplikacioneve n mnyrn What You See is What You Get.Pra, krijimi i ASP.NET aplikacioneve sht m i thjesht. ASP.NET prdor CLR-n e ofruar nga .NET Framework, pr ekzekutimin e kodit.CLR lejon q objekte e krijuara n gjuh t ndryshme , t kooperojn me njra tjetrn, dhe kshtu largon barriern gjuhsore.Pra, CLR e bn zhvillimin e Web aplikacioneve m efikas. N mnyr q ta lehtsoj dizajnimin e Web aplikacioneve, .NET CLR ofron shum prparsi.Kto prparsi prfshijn si vijon. Rritje performanse:ASP.NET kodi sht nj CLR kod i kompajluar, n vend se t jet kod interpretues.CLR ofron just-in-time kompajlim, native optimization dhe caching.sht me rndsi t ceket se n .NET Framework kompajlimi sht nj proces me dy faza.S pari kodi kompajlohet n Microsoft Intermediate Language(MSIL).Pastaj, n kohn e ekzekutimit, MSIL kompajlohet n native kod.Vetm porcione t kodit q jan jan t nevojshme do t kompajlohen n native kod.Ky quhet Just In Time kompajlim.Kto veori ojn n rritje t performanss s trsishme t ASP.NET aplikacioneve. Fleksibiliteti:E tr .NET klas libraria mund t qaset nga ASP.NET aplikacionet.Ne mund ta zgjedhim gjuhn e cila m s miri aplikon tipin e funksionalitetit q dshirojm, sepse ASP.NET sht gjuh e pavarur.

Faqja 19

Configuration settings:Gjrat konfiguruese n nivel aplikacioni ruhen n nj Extensible Markup Language(XML) format.XML formati sht nj tekst format hierarkik, i cili sht i leht t shkruhet dhe t lexohet.Ky format e bn t leht aplikimin e gjrave t reja n aplikacione pa ndihmn e ndonj vegle administrative lokale. Siguria:ASP.NET aplikacionet jan t sigurta dhe prdorin nj bashksi skemash autorizimi dhe autentikimi.Sidoqoft, ne mund ti modifikojm kto skema n akordim me nevojat e siguris s nj aplikaconi. 1 ANATOMIA E NJ ASP .NET APLIKACIONI

Nganjher sht e vshtir q t definohet saktsisht se ka sht nj Web aplikacion.Ndryshe nga desktop programet tradicionale, ASP.NET aplikacionet jan pothuajse gjithmon t ndara n web faqe.Kjo ndarje d.m.th., se shfrytzuesi mund ti qaset nj ASP.NET aplikacioni n disa pika t ndryshme , ose t prcjell nj link nga aplikacioni n nj pjes tjetr t web sajtit.Pra, shtrohet pyetja:a ka kuptim q nj websajt t konsiderohet si nj aplikacion? N ASP.NET prgjigja sht po.do ASP.Net aplikacion ndan nj bashksi t prbashkt resursesh dhe gjrash konfiguruese (configuration settings).Web faqet nga ASP.NET aplikacionet nuk i ndajn kto resurse, edhe nse ndodhen n t njjtin web server.N terma teknik, do ASP.NET aplikacion ekzekutohet brenda nj domeni aplikacioni t veant.Domenet e aplikacionit jan zona t izoluara n memorie, dhe ato sigurojn q nse nj web aplikacion shkakton gabime fatale, kjo nuk afekton ndonj aplikacion tjetr q punon mir n t njjtin kompjuter.Pra, do web aplikacion mirmbahet ndaras dhe posedon bashksin e vet t cached, application dhe session data. Definicioni standard i nj ASP.NET aplikacioni e prshkruan at si nj kombinim fajllash, faqesh, modulesh, dhe kod t ekzekutueshm q mund t invokohet nga nj direktorium virtual n nj web server.Me fjal t tjera direktoriumi virtual sht nj struktur themelore grupuese q e delimiton nj aplikacion.Figura n vijim tregon nj web server q hoston katr web aplikacione t ndara.

Fig.2.8 ASP.NET aplikacionet

Faqja 20

PROCESI I PRPUNIMIT T NJ .aspx FAQEJE

Kur ASP.NET pranon nj krkes pr nj .aspx faqe procesi kalon npr disa hapa: 1. S pari krkesa i drgohet web serverit.Nse jemi duke ekzekutar nj site aktiv, web serveri sht zakonisht nj IIS.Nse jemi duke ekzekutuar nj faqe n Visual Studio, krkesa i drgohet built-in serverit testues. 2. Web serveri determinon q .aspx fajlli sht i regjistruar n Asp.Net procesin punues.Nse ekstensioni i fajllit i prket ndonmj servisi tjetr (si do t ishte pr .asp fajllat), ASP.Net nuk do t involvohet. 3. Nse sht hera e par q nj faqe n kt aplikacion krkohet, ASP.Net automatikisht krijon domenin e aplikacionit dhe nj objekt special aplikacioni(teknikisht, nj instanc qe derivon nga .NET klasa System.Web.HttpApplication). 4. ASP.NET konsideron .aspx fajllin specifik.Nse ky fajll asnjher nuk sht ekzekutuar, ASP.NET kompajlon dhe e vendos faqen n direktoriumin c:/[WinDir/Microsoft.NET/Framework/[Version]/Temporary ASP.NET Files, ku [Version] sht numri i versionit t .Net Framework.Nse kjo pun sht br m par (p.sh., nse dikush tjetr ka br krkes m par pr kt faqe) dhe fajlli nuk sht ndryshuar, ASP.NET do ta prdor versionin e kompajluar. 5. Fajlli i kompajluar vepron si nj progarm n miniatur.Ai s pari ngrit eventat(m s teprmi Page.Load event).N kt faz, do gj punon si nj bashksi .NET objektesh n memorie. 6. Kur kodi t kryhet, ASP.NET detyron do kontroll ta shfaq veten n HTML taga korresponsues. 7. Faqja finale i drgohet userit, dhe aplikacioni prfundon.

Faqja 21

Fig.2.9 Procesi i nj ASP.NET krkese

Faqja 22

KAPITULLI 3

SPECIFIKACIONI
3.1

HYRJE

N kt kapitull, kemi t bjm me specifikimin, procesimin e krkesave pr produktin q do ta prodhojm.Q t kemi nj specifikacion t mir, pra t qart, duhet q pjesmarrrs aktiv gjat prpilimit t tij t jet klienti dhe shfrytzuesit t cillve u dedikohet produkti.Duhet t listohen t gjitha krkesat nga ana e klientit dhe t sigurohemi q i kemi t qarta kto krkesa.sht m se e preferueshme, pr t mos thn e domosdoshme q gjat prpilimit t specifikacioneve t kemi parasysh disa rregulla apo standarde n mnyr q t fitojm nj specifikacion sa m t rafinuar.Ne do t mundohemi q ta implementojm standartin IEEE 830-1998.Sipas ktij standarti paraqitja hierarkike asht si vijon: 1 Hyrja 1.1 Qllimi 1.2 Skopi(Fushveprimi) 1.3 Definicionet, akronimet dhe shkurtesat Prshkrimi i prgjithshm 2.1 Perspektiva e produktit 2.2 Karakteristikat e shfrytzuesve 2.3 Konstraintat Specifikimi i krkesave Modelimi i krkesave Prototipi

3 4 5

3.1.1 QLLIMI
Qllimi i fazs s analizs s krkesave sht sht q t jap prshkrime t detajuara t aspekteve t gjithanshme t softuerit q do ta zhvillojm, q n rastin ton ka t bj me sistemin pr shitje online t produkteve.Prmes ktij dokumenti t spefikimit t krkesave, zhvilluesit e softuerit do t ken nj vizion m t qart rreth produktit q do ta zhvillojn.N kt dokument do t prshkruhen interfejsat dhe funksionaliteti i tyre si dhe restriksionet e ndryshme q do t aplikohen n sistem. N kt faz bhet paraqitja hierarkike e krkesave t sistemit, sipas nj serie modelesh n akordim me UML(Unified Modeling Language) standartet.Ktu vijn n shprehje diagramet e ndryshme si jan diagramet e klasave, use-case diagramet, diagramet e gjendjes dhe ato t sekuencave, t cilat shrbejn si nj paraqitje vizuele e prdorshmris dhe implementimit t sistemit. Pra, n kt faz bhet paraqitja e dokumentuar e marrveshjeve q arrihen ndrmjet klientit dhe zhvilluesve t sistemit mbi krkesat e sistemit.Ky dokument tenton t shrbej si nj pik reference pr zhvilluesit gjat fazs implementuese t ECS(e-commerce sistemit).

Faqja 23

3.1.2 DOMENI I APLIKACIONIT


E-Commerce Sistemi (ECS) sht nj web aplikacion q tenton t automatizoj procesin e blerjes dhe shfletimit t artikujve pr komunitetin publik.Objektiva e ktij sistemi sht q t thjeshtsoj operacionet e shitores dhe shfrytzuesve t ndryshm t iu paraqes nj mnyr intuitive t prdorimit t sistemit.Sistemi do t implemetohet ashtu q shfrytzuesit t mund ti shfrytzojn prparsit e ECS nga kudo, madje edhe nga shtpia e tyre.Nj prshkrim m i detajuar i aftsive dhe karakteristikave t sistemit jan t paraqitura m posht n kt faz.

3.1.3 DEFINICIONET, AKRONIMET DHE SHKURTESAT


Definicionet: Automatizim- Kushti sipas t cilit nj funksion kryhet ose sht i kontrolluar n mnyr automatike. Binar- Karakteristikat e nj objekti me saktsisht dy vlera t mundshme. Browse(Shfletim)- Navigimi npr artukujt e ndryshm q jan n shitje, si n shitore. Hierarki- Klasifikim dhe organizim i elementeve t nj sistemi n akordim me kriteret e ndryshme n nivele suksesive t shtresave. Interface- Paraqitje grafike apo tekstuale e kontrollave t nj aplikacioni n lidhje me mnyrn se si aplikacioni i prgjigjet aktivitetit t shfrytzuesit. Inventari(Katalogu)- koleksioni i artikujve q jan shitje;stoku. Modeli- Nj pun ose konstruktim preliminar i cili shrben si nj plan sipas t cilit do t bhet produkti final. Promocioni-Publikim ose reklamim i artikujve, etj.(ECS do t ofroj promocione n nivel katalogu dhe n nivel dapartamenti). Regjistrimi- Regjistrimi formal q t bhemi antar i nj sistemi apo organizate. Akronimet dhe shkurtesat ECSE-Commerce Sistemi GUIDGlobal Unique Identifier SRSSoftware Requirements Specification. UMLUnified Modeling Language. ASMAutomated Management System.

3.2

PRSHKRIMI I SISTEMIT

Ky seksion prmban perspektivn e ECS produktit nga ana e dizajnerit, prkufizimi i funksionalitetit t sistemit, prkufizimet e bra nga shfrytzuesi, softueri, hardueri, si dhe restriksionet e sistemit.

3.2.1 PERSPEKTIVA E PRODUKTIT


Ky produkt do t jet nj shitore online pr shitje t artikujve, ku klientt mund t shfletojn dhe t porosisin artikuj t ndryshm.Ky sht nj produkt m vete. Interface restriksionet: Interfejsi i logimit (Log in interface) Interfejsi i shfletimit (Browsing interface)

Faqja 24

Inerfejsi i porosive (Order interface) Interfejsi pr regjistrim t klientve Interfejsi i administratorit Editimi Editimi i katalogut t artikujve Editimi i porosive Interfejsi i promocioneve

3.2.2 FUNKSIONET E PRODUKTIT


ECS do t jet nj online shitore pr blerje t artikujve.ECS do t prdoret nga menagjeri (adminstratori) q t regjistroj artikuj t ri pr shitje, rishikoj dhe editoj inventarin aktual, t vendos mimet, dhe t lansoj promocione.ECS do t prdoret nga klient pr t shfletuar katalogun aktual t artkujve, pr t shfletuar artikujt e ofruar, dhe pororsitjen online t artikujve.

3.2.3 KARAKTERISTIKAT E SHFRYTZUESVE


Shfrytzuesi, menagjeri ose klienti, duhet q t kuptoj dhe t prdor pajisjet themelore t kompjuterit si jan tastier ose mausi.Shfrytzuesit duhet gjithashtu t jen t familjarizuar me prdorimin e elementeve grafike t interfejsit(butonat, listboxat, textboxat, etj) q t mund t kryejn operacione n softuer.Klientt gjithashtu duhet t ken intuit q kan t bjn me mimikat e online shitoreve si jan aksionet pr shfletim artikujsh, futjen e artikujve n shportn virtuale t blerjes, dhe porositjen e artikujve t zgjedhur.Menagjert(administratort e sajtit) duhet t jen t aft q t manipulojn me shitoren, si dhe prdorimin e komandave t ndryshme edituese.

3.2.4 RESTRIKSIONET
Menagjeri sht i vetmi shfrytzues q mund t manipuloj me sajtin n trsi.Menagjeri sht i vetmi q mund t editoj, fshij apo azhurnoj (update) emrin, mimin dhe atributet tjera t artikujve, si dhe t njjtat mund ti bj edhe pr departamantet dhe kategorit e artikujve si dhe t merret me porosit e ndryshme q jan br nga klientt.Menagjeri gjithashtu mund edhe t vendos apo t largoj artikuj n promocion katalogu dhe departamenti.Klienti do t mund t porosis artikuj vetm nse sht i loguar n sistem. Klienti Porosit t -

Statusi Log in Log out

Ekzekutim @T @T

Shfleton t t

Prdor promocion t -

Statusi Log in Log out

Ekzekutim @T @T

Menagjeri(Administratori) Promocion Shfleton Editon t t t t -

Vendos prom. t -

Faqja 25

3.3

SPECIFIKIMI I KRKESAVE

Paraqitja hierarkike e krkesave t sistemit: Lejon role t ndryshme pr shfrytzuesit e sistemit;Shfrytzuesi sht i njohur si Shfrytzues gjeneral nga sistemi deri sa ai /ajo t logoj n sistem. Rolet e inkorporuar n system jan si n vijim: 1. Menagjeri(Administratori) 2. Klienti 3. Shfrytzuesi general 4. ASM(Automated System Managment) Menagjeri (detyrat dhe prgjegjsit) 1 Shfleton artikuj 2 Shton/fshin/azhurnon artikuj n dhe nga sistemi 3 Shton/fshin/azhurnon kategori dhe department n catalog 4 Merret me porosit e bra nga klientt. 5 Lejon ose anulon porosit automatike. 6 Vendos ose largon artikuj nga promocioni n catalog dhe department 7 Afishon gostorin e porosive n baz t specifikave t caktuara. Klienti 1 Shfleton katalogun e artikujve 2 Porosit artikuj duke i future ata n Shportn pr blerje. 3 Sheh artikujt n shportn e vet t blerjes. 4 Editon/Azhurnon informatat personale n llogarin e vet. 5 Posedon nj ID unike (GUID), emrin, adresen, e-mail-in, etj. Shfrytzuesi general 1 Shfleton artikujt n katalog 2 Duhet t regjistrohet q t mund t porosit artikuj. ASM(Automated Management System) 1 Kur nj artikull blehet, zvoglon sasin n stok pr at artikull 2 do shfrytzues q ka statusin log in duhet t log out, sistemi do ta log out shfrytzuesin kur ti kaloj koha e sesionit 3 Kur nj artikull arrin minimumin e caktuar sistemi e lajmron menagjerin n mnyr automatike. 4 ECS duhet t ruaj rrjedhn procesuese t porosive, si dhe statusin e porosis prgjat rrjedhs procesuese.Rrjedha procesuese prmban nj date, nj mesazh prkats si she nj numr mesazhi pr mesazhin prkats. 5 Prdor web-based implemetimin q t ruaj informatat n nj baz shnimesh ose flat fajlla. 6 Nj Shfrytzues general mund t registrohet si nj Klient prmes nj procesi regjistrues, pr t cilin esht prgjegjs ASM.Pas regjistrimit, shfrytzuesi mund t logoj n mnyr q t ket qasje n funksionalitetin e sistemit. 7 Afishon artikujt e zgjedhur sipas specifikave t zgjedhura nga klienti

Faqja 26

KAPITULLI 4

ZHVILLIMI I APLIKACIONIT
4.1

ANALIZA E KRKESAVE

Tani, pas prpilimit t specifikacionit fillojm me zhvillimin e aplikacionit n trsi, pra me aplikimin e fazave t Inxhinieris Softuerike, duke filluar me analizn e krkesave dhe duke vazhduar mtutje me planifikim(dizajnim), implementim dhe testim.N kt faz t analizs s krkesave me shqyrtimin dhe skicimin e diagrameve t ndryshme n akordim me specifikacion.Duhet cekur se edhe gjat ksaj faze klienti apo shfrytzuesi duhet t jet aktiv dhe t sigurohemi se gjrat jan duke shkuar si duhet.N fakt analiza e krkesave sht vazhdimsi e specifikacionit ku tani vazhdojm me modelimin e krkesave dhe me prototipin e produktit.

4.1.1

MODELIMI I KRKESAVE

Kur jemi te modelimi i krkesave vie n shprehje UML(Unified Modeling Language), e cila na mundson paraqitjen vizuele t krkesave.UML si e kemi edhe m sipr te kapitulli 2, ofron nj sre diagramesh t llojllojshme pr paraqitjen grafike t aspekteve t ndryshme t softuerit.UML diagramet m t prdorura jan:use case diagramet ,diagramet e klasave, diagramet e gjendjes(state diagramet), diagramet e sekuencave.N vijim do t shohim implementimin e tyre konkret n modelimin e krkesave t sistemit. Use Case Diagrami pr ECS

Fig.4.1 Use case diagrami pr ECS

Faqja 27

Use Case Definicionet N figurn e msiprme paraqitm use case diagramin pr shembullin tone konkret. N tabeln e mposhtme jan dhn definicionet pothuajse pr secilin nga use case-at e paraqitur msipr. Use case Aktort Tipi Includes Extends Prshkrimi
klienti zgjedh artikujt q dshiron ti blej klienti shfleton dhe krkon artikuj e ndryshm. artikujt e zgjedhur i fut n shportn virtuale blerse shikon shportn me artikujt e zgjedhur klienti duhet t log in n mnyr q t log out klienti porosit artikujt.Sistemi kontrollon nse artikujt jan n n dispoziocio klienti mund ti editoj dhe ndryshoj shnimet personale menagjeri menagjon artikujt, dep. dhe kategorit n katalog menagjon porosit e bra nga klientt konf. shitoren vendos/largonart. n promocion

Use cases
duhet kompletuar u.c. shfleto produkte

Zgjedh produkt

shf.gjeneral, primar, klienti esencial

Zgjedh produkt x

Krkon(shfleton) shf.gjeneral, primar, klienti esencial produkte Shton artikull n shf.gjeneral, primar, klienti esencial shport Shikon shportn shf.gjeneral, primar, klienti esencial e blerjes Log in/Log out klienti, menagjeri klienti primar, esencial primar, esencial

u.c.zgjedh produkt

u.c.shto artikull n shport (vlen pr Log out) u.c.Log in

Porosit artikujt

Log in

u.c.Shiko shportn

Menagjon llogarin

klienti

primar, esencial

u.c.Log in

Menagjon katalogun

menagjeri

primar, esencial

u.c.Log in

Menagjon porosit Konfiguron shitoren

menagjeri

primar, esencial primar, esencial

u.c.Log in

menagjeri

u.c.Log in

Faqja 28

Diagramet e klasave pr ECS .

Legjenda asociacion agregacion kompozicion

Fig.4.2 Diagrami i klasve pr ECS

Faqja 29

Prshkrimi i klasve N tabeln e mposhtme jan dhn prshkrimet rreth klasve q marrin pjes n aplikacion.Tabela paraqet emrin e klasve, prshkrimin dhe relacionet ndrmjat klasve.Pr shkaqe teknike (hapsire) iu kemi shmangur paraqitjes s atributeve dhe metodave t klasve. Klasa Asociacion EcommerceKonfi. x Relacionet Agregacion x Prshkrimi Kompozicion x
ju mundson klasve qasjen n Web.config ku ruhen shnimet gjenerale pr aplikacionin. mundson operacionet me bazn e shnimeve mundson operacionet q kan t bjn me shportn virtuale t klientve merret me menagjimin e artikujve, kategorive dhe depart. ofron funksione ndihmse pr aplikacionin si p.sh. dergimin e e-mailave mundson aktivitetet q kan t bjn me porosit,me afishu porosi sipas spec. t ndryshme ekstrakton informatat prej porosive si dhe klientve t tyre ekstrakton informata prej tabels PorosiDetajet si jan sasia, vlera e porosis,etj kjo klas shrben si katalizator i procemit t porosive ofron informatat rreth klientve si:emaili,telefoni, etj mundson azhurnimin e informatave personale t klientve

BazaEShnimeve ECommerceKonfi ShportaBlerjes Katalogu Utilities EcommmerceLib.


BazaEShnimeve

x x x x x

x
KlientProfile

BazaEShnimeve

x x x

x
BazaEShnimeve

PorosiaInfo PorosiDetajet

EcommerceLib.

x
PorosiaInfo

x x

PorosiProcesor KlientProfile ProfileDataSourc

PorosiaInfo

x x x

x x x

x
KlientProfile

Faqja 30

Diagramet e sekuencave Me ndihmn e diagrameve t sekuencave paraqesim komponentet n aspektin kohor.Figura e mposhtme ilustron nj diagram sekuence i cili paraqet aktitvitetet kyqe t nj klienti q e prdor ECS.

Fig.4.3 Diagrami i sekuencave pr klientin

Kurse diagrami n vijim tregon nj menagjer duke prdorur ECS sistemin.

Fig.4.4 Diagrami i sekuencave pr menagjerin

Faqja 31

Diagramet e gjendjes Diagramet gjendjes ne i prdorim pr vizualizimin e skenareve t navigimit.N vijim do t paraqesim diagramet e gjendjes pr shfrytzuesin gjeneral, pr klientin e regjistruar dhe pr menagjerin(adminstratorin).

Fig.4.5 Diagrami i gjendjes pr shfrytzuesin gjeneral

Faqja 32

Figura n vijim paraqet diagramin e gjendjes pr klientin e regjistruar.

Fig.4.6 Diagrami i gjendjes pr klientin e regjistruar

Faqja 33

Kurse figura vijuese paraqet diagramin e gjendjes pr menagjerin(administratorin).

Fig.4.7 Diagrami i gjendjes pr menagjerin

Faqja 34

4.1.2

PROTOTIPI

Prototipi i ECS sistemit tregon se si shfrytzuesit do t bashkveprojn me sistemin n mnyr q t performojn veprimet e dshiruara.Figura n vijim tregon faqen kryesore t ECS sistemit.

Nga faqja kryesore shfrytzuesi mund t shfletoj dhe krkoj artikuj t ndryshm, por q t vazhdoj m tutje ai duhet t logoj dhe t regjistrohet. 1 SKENARE T NDRYSHME

a.)Regjistrimi i klientve Pas hyrjes n sistem shfrytzuesi i paregjistruar mund t regjistrohet duke e mbushur formn pr regjistrim.Shfrytzuesi nuk mund t porosis artikuj pa u regjistruar.

Faqja 35

b.) Shporta e artikujve Klienti pas futjes s artikujve n shportn virtuale t blerjes mund ta shikoj shportn, n t ciln i ka mundsite pr ta modifikuar at edhe m tutje.Klienti mund t largoj artikull nga shporta, ta ndryshoj sasin e artikujve, etj.

c.)Faqja e administratorit(menagjimi i departamenteve)

Faqja 36

d.)Menagjimi i produkteve

e.)Menagjimi i porosive

Faqja 37

4.2

PLANIFIKIMI (DIZAJNIMI)

4.2.1 DIZAJNIMI I ARKITEKTURS S APLIKACIONIT


N prgjithsi, me arkitektur t aplikacionit nnkuptojm ndarjen e funksionalitetit t aplikacionit n komponente t veanta bazuar n funksionin e tyre q e kryejn dhe grupimin e do lloji komponenteje n nj shtres t vetme logjike. Arkitektura me tri shtresa sot sht shum e njohur sepse iu prgjigjet shum problemeve t diskutuara qysh moti, me ndarjen e funksionalitetit t aplikacionit n tri shtresa logjike(logic tiers): Shtresa e prezentimit (Presentation tier) Shtresa e biznis logjiks (Business tier) Shtresa e shnimeve (Data tier)

Fig.4.8 Arkitektura me tri shtresa

Shtresa e prezentimit prmban UI(user interface) elementet e sajtit, dhe prfshin logjikn e cila menagjon interaksionin ndrmjet vizitorit dhe biznesit t klientit.Kjo shtres e bn sajtin q t ndihet i gjall, dhe mnyra se si e dizajnojm sht kruciale pr suksesin e nj web aplikacioni.Pasi q produkti yn sht web aplikacion, kjo shtres prbhet prej web faqeve dinamike. Business tier (apo shtresa e mesme) pranon krkesa nga shtresa e prezentimit dhe i kthen rezultat ksaj shtrese varsisht nga logjika e biznesit t ciln e prmban. Pra, kjo shtres ka t bj me rregullat dhe politikat biznesore.P.sh. nse nj aplikacion pr shitje produktesh ka zbritje pr ndonj shfrytzues, ather politika e lirimit implementoihet n kt shtres. Shtresa e shnimeve (data tier apo shpesh i referohemi si database tier) sht prgjegjse pr ruajtjen e t dhnave t aplikacionit n baz t shnimeve, prej nga trajtohen prej shtress s prezentimit me ndrmjetsim t shtress s mesme.

ASP.NET dhe arkitektura me tri shtresa


Koleksioni i Web Formave,Web User kontrollave, dhe Master faqet n ASP.NET formojn shtresn e prezentimit aplikacionit.Logjika e UI ruhet n code-behind fajlla t Web Formave, Web User kontrollave dhe Master faqeve. Shtresa e mesme prbhet prej klasve n ndonjrn prej .NET gjuhve programuese, si p.sh. C# apo VB.N shembullin ton do t prcaktohemi pr gjuhn C# pr implementimin e ksaj shtrese.

Faqja 38

Kurse pr shtresn e shnimeve zakonisht prdoret SQL Server.SQL Server prveq q ruan shnimet e aplikacionit ai mundson edhe ruajtjen e logjiks n form t stored procedurave, mirmbajtjen e relacioneve ndrmjet tabelave duke siguruar kshtu integritetin e t dhnave, etj. Ne mund t komunikojm me SQL Serverin prmes nj gjuhe t quajtur T-SQL(Transact-SQL).

Fig.4.9 ASP.NET n arkitekturn me tri shtresa

Faqja 39

4.2.2

DIZAJNIMI I UI (PRESENTATION TIER)

Dizajnimi i kornizs s sajtit Dizajnimi vizual i sajtit zakonisht bhet pas nj diskutimi me klientin dhe n bashkpunim me ndonj web dizajner profesional.Nj alternativ tjetr sht q t blejm ndonj web template nga ndonjra prej shum kompanive q ofrojn kso lloj shrbimesh, pr ndonj mim t arsyeshm.Sido q t jet, pothuajse t gjitha faqet e ECS duke prfshir edhe faqen e par do t ken strukturn e treguar n figurn n vijim.

LOGIN STATUSI

HEADERI I SAJTIT

LISTA E DEPARTAMENTEVE

LISTA E KATEGORIVE PRMBAJTJA E SAJTIT (kjo qelul ka prmbajtje t ndryshme varsisht se ciln faqe vizitori sht duke e shfletuar)

KUTIA E KRKIMIT

SHPORTA E BLERJES

Fig.4.9 Struktura e Web faqeve n ECS

Faqja 40

N vijim sht paraqitur shtresa e prezentimit, pra planifikimi i UI-s pr shembullin ton.

Fig.4.10 Dizajnimi i UI-s pr ECS

Faqja 41

4.2.3

DIZAJNIMI I BAZS S SHNIMEVE

Figura n vijim paraqet planifikimin e bazs s shnimeve pr aplikacionin ton.

Kategorite
IDKategoria IDDepartamenti Emri Pershkrimi

Produktet
IDProdukti IDKategoria Emri Pershkrimi Cmimi Foto1Url

ShportaBlerese
IDShporta IDProdukti Sasia DataBlerjes

RegjioniDergimit *
IDRegjioniDergimit RegjioniDergimit

Departamentet
IDDepartamenti Emri Pershkrimi

Foto2Url PromocionNeKatalog PromocionNeDepartament

Porosite *
IDPorosia IDKlienti IDDergimi

Dergesat *
IDDergimi IDRegjioniDergimit TipiDergimit KostoDergimit

PorosiDetajet
IDPorosia IDProdukti Artikulli Sasia Cmimi Vlera

IDTaksa DataPorosise DataDergimit Statusi Referenca Komenti

Klientet *
IDKlienti Emri Mbiemri Adresa Qyteti KodiPostal EmailAdresa Telefoni

Taksat *
IDTaksa TipiTakses PerqindjaTakses

Fig.4.11 Dizajnimi i bazs s shnimeve pr ECS

Faqja 42

4.3 IMPLEMENTIMI
Tani pas fazs s analizs dhe t planifikimit vjen faza e implementimit t projektit.Pra, n kt faz fillon realizimi konkret i aplikacionit.Pr t lehtsuar punn, implementimin e aplikacionit e kemi ndar n tri faza tjera.N fazn e par sht br implementimi i katalogut t produkteve s bashku me departamentet dhe kategorit prkatse.Faza e dyt ka t bj me implementimin e shports s blerjes dhe faza e tret ka t bj me llogarit e klientve dhe me procesimin e porosive.N vijim po paraqesim se ka prmban m saktsisht secila nga fazat e lartcekura. Faza I:Implementimi i katalogut t produkteve N kt faz i tr aktiviteti sht prqendruar n themelimin e nj kornize bazike pr sajtin ton dhe vnien n funksion t sajtit.Kemi filluar me arkitekturn themelore t sajtit, vendosjen se si pjest e ndryshme t aplikacionit t punojn sbashku.Kjo sht prcjellur nga kta hapa: Implementimi i bazs s shnimeve pr ruajtjen e produkteve, kategorive dhe nnkategorive t katalogut t produkteve. Shkruarja e SQL kodit prkatsisht SQL stored procedurave dhe kodin n C# pr trajtimin e t dhnave. Implementimin e nj makine krkimi pr bazn e shnimeve Implementimin e pjess private t sajtit pr administratorin pr t modifikuar katalogun online. Faza II:Implementimi i shports s blerjes Edhe pse mund ti shfrytzojm shportat e blerjes nga kompani t ndryshme si sht p.sh. PayPal ne kemi kemi vendosur q t implementojm shportn ton blerjes, pr shkak t prparsive q i kemi.Me shportn ton te blerjes ne mund ta kontrollojm at m mir, mund ti ruajm komplet porosit n baz t shnimeve si pjes e procesit t porosis, dhe mund ti prdorim kto t dhna pr t pasur informata pr klientt tan.Edhe kjo faz ka kaluar npr disa hapa zhvillimi. Dizajnimi i shports s artikujve Shtimi strukturave t reja t t dhnave pr ruajtjen e rekordeve t shports s blerjes Implementimi i business tier metodave pr t punuar me shportn e blerjes Implementimi i nj web user kontrolle q afishon informatat rreth shports dhe faqen e shports s blerjes. Faza III:Procesimi i porosive N kt faz sht br implementimi i procesimit t porosive nga ana e klientve.Pas implementimit t ksaj klientt kan mundsin q t bjn porosit e dshiruara.Kjo faz poashtu ka kaluar npr kta hapa implementimi: Prpilimi i tabelave q kan t bjn me porosit e klientve, dhe SQL store procedurave prkatse Implementimi i nivelit t business tier Implementimi i UI(user interface) prkats.

Faqja 43

4.3.1

IMPLEMENTIMI I KATALOGUT T PRODUKTEVE

Si e kemi cekur edhe m sipr n fazn e par sht br implementimi i katalogut t produkteve.N kt faz poashtu sht br implementimi i funksionit t krkimit t artikujve nga shfrytzuesi dhe administrimi i katalogut online nga ana e administratorit.Implementimi sht br sipas arkitekturs me tri shtresa duke filluar s pari me Data tier(shtresa e t dhnave mpastaj Business tier(shtresa logjike), dhe n fund Presentation tier.

Implementimi i Data tier


Data tier n kt faz prbhet prej vetm tri tabelave:Produktet, Kategorit dhe Departamentet.Poashtu ktu sht br edhe implementimi i SQL stored procedurave prkatse pr trajtimin e t dhnave n kto tabela. N vijim jan t paraqitura tabelat me fushat e tyre prkatse: Tabela 4-1:Produktet Emri i fushs IDProdukti IDKategoria Emri Pershkrimi Cmimi Foto1 Foto2 PromNeKatalog PromNeDepartament Tabela 4-2:Kategorit Emri i fushs IDKategoria IDDepartamenti Emri Pershkrimi Tipi int int varchar(50) varchar(1000) money varchar(50) varchar(50) bit bit Vetit tjera Primary key & identity column nuk lejohen null values nuk lejohen null values nuk lejohen null values nuk lejohen null values default vlera:foto1.png default vlera:foto2.png nuk lejohen null values, def. vlera: 0 nuk lejohen null values, def. vlera: 0

Tipi int int varchar(50) varchar(1000)

Vetit tjera Primary key & identity column nuk lejohen null values nuk lejohen null values nuk lejohen null values

Tabela 4-3:Departamentet Emri i fushs Tipi int IDDepartamenti varchar(50) Emri varchar(1000) Pershkrimi

Vetit tjera Primary key & identity column nuk lejohen null values nuk lejohen null values

Trajtimi i t dhnave Tani pas prpilimit t tabelave vie n shprehje trajitmi i t dhnave nga kto tabela si p.sh.futja e t dhnave n tabela, azhurimi apo fshirja e rekordeve t ndryshme n tabela.Pasi q jemi prcaktuar pr arkitekturn me tri shtresa nj gj t till do ta bjm prmes SQL stored procedurave.Por para se ti cekim SQL stored procedurat e implementuara n kt faz e pash t

Faqja 44

arsyeshme q ti potencojm disa probleme me t cilat zakonisht ballafaqohemi gjat trajtimit t shnimeve nga baza e shnimeve: trajtimi i nj prshkrimi t shkurtr pr produkte, kombinimi i tabelave, implementimi i faqimit. Trajtimi i nj prshkrimi t shkurtr pr produkte:N web sajtin ton, lista e produkteve nuk e shfaq komplet prshkrimin pr artikullin e caktuar, por vetm nj pjes t tij(prshkrimi i plot trefohet vetm n faqen pr e detajeve t pr produkte).N T-SQL, ekstraktrimin e karaktereve t para t nj stringu mund ta bjm prmes funksionit LEFT.Pas ekstraktimit t nj pjese nga prshkrimi i plot i shtojm tri pika ... n fund duke prdorur operatorin +.Komanda n vijim ilustron nj gj t till:
SELECT LEFT(Pershkrimi, 60) + '...' AS PershkrimiShkurte FROM Produktet

Shembulli i msiprm ilustron ekstraktimin e 60 karaktereve t para nga kolona Prshkrimi plus tri pika duke i asocuar nj ad hoc emr me ndihmn e keywordit AS. Kombinimi i tabelave:Pasi q shnimet jan t ruajtura n disa tabela jan t pashmangshme situatat kur krkohet trajtimi prnjhersh i shnimeve nga databaza.Ktu vie n shprehje kombinimi apo bashkimi i tabelave.Nj gj e till realizohet prmes SQL klauzs JOIN.Kombinimi i nj tabele me nj tabel tjetr rezulton n kolona(jo n rreshta), t atyre tabelave q bashkohen.Kur bashkohen dy tabela duhet t jet nj kolon e prbashkt n kurriz t s cils bhet bashkimi.Shembulli n vijim ilustron kombinimin e dy tabelave, Produktet dhe kategorit.Kolona n baz t s cils bhet kombinimi sht IDKategoria.
SELECT Produktet.IDProdukti,Produktet.Emri, Kategorite.Emri AS Kategoria, FROM Produktet INNER JOIN Kategorite ON Produktet.IDKategoria = Kategorite.IDKategoria WHERE (Produktet.IDKategoria = @IDKategoria)

Implementimi i faqimit me ndihmn e SQL Server 2005:N rastet kur kemi t bjm me nj list t madhe produktesh, sht m e arsyeshme q vizitori ti shfletoj ato produkte faqe pr faqe, sipas nj numri t paracaktuar t produkteve pr faqe. Varsishr se n ciln shtres t arkitekturs bhet faqimi, jan dy mnyra themelore q mundsojn nj gj t till: Faqimi n nivelin e data tier:N kt rast, baza e shnimeve kthen vetm faqen e produkteve q vizitori dshiron ti shoh. Faqimi n nivelin e presenatstion tier:N kt skenar, data tier gjithnj kthen komplet listn e produkteve, me rast objektet e presentation tier (p.sh. GridView kontrolla), ekstrakton faqen e krkuar t produkteve t produkteve nga lista komplete.Por, kjo metod ka probleme t konsiderueshme performanse veanrisht kur kemi t bjm me bashksi t mdha, sepse bhet panevoj transferimi i shnimeve nga baza e shnimeve n presentation tier. N web sajtin ton, implementimi i faqimit sht br n nivelin e shnimeve,jo vetm pr shkaqe performanse, por edhe sepse me kt kemi fituar prvoja t reja duke prdorur disa trike shum t prdorshme sa i prket programimit me baza t shnimeve.Faqimi n nivelin e shnimeve bhet poashtu n dy mnyra:

Faqja 45

Mund ta shfrytzojm nj veori t re t ASP.NET 2.0, t objektit DbDataReader, i cili ka nj overloadim t metods ExecuteReader, e cila merr si parametr faqen e rekordeve pr t ciln jemi t interesuar. Mund t shkruajm stored procedura q kthejn vetm faqen e krkuar t produkteve. Alternativa e dyt sht m e fuqishme sepse na lejon nj performans dhe fleksibilitet m t shklqyer.Ndryshe nga SQL Server 2000, SQL Server 2005 ka nj veori t re q na lejon n mnyr shum t leht implementmin e funksionalitetit t faqimit. SQL Server 2005 ka nj funksion ROW_NUMBER q iu shoqron numra konsekutiv rreshtave, duke filluar nga 1, pr do rresht t kthyer nga SELECT komanda.Kur prdorim funksioni ROW_NUMBER, duhet specifikuar kolonn sipas s cils rreshtat jan t renditur para se t numrohen:
SELECT ROW_NUMBER() OVER (ORDER BY Produktet.IDProdukti) AS IDProdukti, Emri FROM Produktet

Si do q t jet m posht do t shohim implementmin konkret t ktij funksioni. Implementimi i SQL stored procedurave Tabela n vijim paraqet listn e SQL stored procedurave t realizuara n fazn e par t implementimit. Tabela 4-4:SQL stored procedurat SQL stored procedura Parametrat ska parametra hyrs getDepartamentet getDepartamentDetajet getKategoriDetajet getProduktDetajet getKategoriteNeDepartament getProduktNeKategori @IDDepartamenti @IDKategoria @IDProdukti @IDDepartamenti Prshkrimi kthen listn e departamenteve nga tabela Departamentet jep detajet pr nj departament t caktuar jep detajet pr nj kategori t caktuar detajet pr nj produkt t caktuar kategorit n nj departament t caktuar kthen produktet q i takojn nj kategorie t caktuar

@IDKategoria @GjatesiaPershkrimit @NrFaqeve @ProduktePerFaqe @SaProdukte (output param) @IDDepartamenti getProduktetNePromDepart @GjatesiaPershkrimit @NrFaqeve @ProduktePerFaqe @SaProdukte (output param) getProduktetNePromKatalogu @GjatesiaPershkrimit @NrFaqeve @ProduktePerFaqe @SaProdukte (output param)

kthen produktet pr t cilat kolona PromNeDepartament =1 kthen produktet pr t cilat kolona PromNeKatalog = 1

Faqja 46

Sa pr ilustrim n vijim po e paraqesim SQL stored procedurn getProduktetNeKategori.Ktu shihet se si sht br implementimi i faqimit.
CREATE PROCEDURE getProduktNeKategori (@IDKategoria INT, @GjatesiaPershkrimit INT, @NrFaqeve INT, @ProduktePerFaqe INT, @SaProdukte INT OUTPUT) AS -- deklaron variablen e re te tipit TABLE DECLARE @Produktet TABLE (NrRreshtit INT, IDProdukti INT, Emri VARCHAR(50), Pershkrimi VARCHAR(1000), Cmimi MONEY, Foto1FileName VARCHAR(50), Foto2FileName VARCHAR(50), PromocionNeDepartament bit, PromocionNeKatalog bit) -- popullon table variablen @Produktet me listen komplete te produkteve INSERT INTO @Produktet SELECT ROW_NUMBER() OVER (ORDER BY Produktet.IDProdukti),IDProdukti, Emri, SUBSTRING(Pershkrimi, 1, @GjatesiaPershkrimit) + '...' AS Pershkrimi, Cmimi, Foto1Url, Foto2Url, PromocionNeDepartament, PromocionNeKatalog FROM Produktet WHERE IDKategoria = @IDKategoria -- kthen numrin total te produkteve duke perdorur nje OUTPUT variabel @SaProdukte SELECT @SaProdukte = COUNT(IDProdukti) FROM @Produktet -- kthen faqen e kerkuar te produkteve SELECT IDProdukti, Emri, Pershkrimi, Cmimi, Foto1FileName, Foto2FileName, PromocionNeDepartament, PromocionNeKatalog FROM @Produktet WHERE NrRreshtit > (@NrFaqeve - 1) * @ProduktePerFaqe AND NrRreshtit <= @NrFaqeve * @ProduktePerFaqe

Implementimi i Business tier


N kt faz sht br implementimi i katr klasve: BazaEShenimeve implementon funksionalitetin e prbashkt t cilin do ta riprdorim sa her q ka nevoj t iu qasemi bazs s shnimeve. Katalogu prmban funksionalitet specifik pr katalogun e produkteve, si p.sh. metoda getDepartamentet e cila trajton listn e departamenteve nga baza e shnimeve. ECommerceKonfig.Nprmjet ksaj klase ne mund ti qasemi fajllit web.config n t cilin ruhen karakteristikat q jan t prbashkta pr tr aplikacionin si p.sh ConnectionString, q shrben pr lidhje me baz t shnimeve. Utilities ka disa metoda q na shrbejn n vende t ndryshme n web sajt. Para se ti listojm metodat prkatse t klasve t msiprme po paraqesim disa modifikime q jan br n web.config:

Faqja 47

<appSettings> <add key="MailServer" value="localhost"/> <add key="EnableErrorLogEmail" value="false"/> <add key="ErrorLogEmail" value="ilazkozhani@yahoo.com"/> <add key="EmriSajtit" value="E-Commerce"/> <add key="ProduktePerFaqe" value="6"/> <add key="GjatesiaPershkrimit" value="60"/> </appSettings> <connectionStrings> <add name="ECommerceConnectionString" connectionString = "Server=(local)\SqlExpress;Integrated Security = True; Database = ECommerceDB" providerName = "System.Data.SqlClient"/> </connectionStrings>

N vijim jan paraqitur tabelat pr klast e msiprme dhe metodat e tyre prkatse. Tabela 4-5:BazaEShenimeve Metoda BazaEShenimeve() ExecuteSelectCommand() ExecuteNonQuery() ExecuteScalar() CreateCommand() Tabela 4-6:Katalogu Metoda getDepartamentet() getDepartamentDetajet() getKategoriDetajet() getKategoriteNeDepartament() getDetajetPerProdukte() getProduktetNeKategori() Tipi konstruktor statik DataTable int string DbCommand Tipi DataTable DetajetPerDepartamente DetajetPerKategori DataTable DataTable DataTable Parametrat ska DbCommand command DbCommand command DbCommand command ska Parametrat ska string IDDepartamenti string IDkategoria string IDDepartamenti string IDProdukti string IDKategoria string nrFaqeve out int saFaqe string nrFaqeve out int saFaqe string IDDepartamenti string nrFaqeve out int saFaqe Parametrat string from string to string subject string body Exception ex Page faqja, ...

getProduktetNePromKatalogu() DataTable getProduktetNePromDepart() DataTable

Tabela 4-7:Utilities Metoda SendMail()

Tipi void

LogError() TieButton()

void void

Faqja 48

Klasa ECommerceKonfig nuk ka metoda.Kjo klas shrben vetm si ur lidhse prmes s cils mund ti qasemi fajllit web.config, ku nj gj t till mund ta bjm me ndihmn e vetive(properties), q ksaj klase ia kemi shtuar. Tabela 4-8:ECommerceKonfig Vetit (properties) DbConnectioString DbProviderName EmriISajtit ProduktePerFaqe GjatesiaPershkrimit MailServer ErrorLogMail Tipi string string string string string string string

Implementimi i Presentation tier


Si e kemi cekur edhe m sipr presentation tier ka t bj me realizimin e UI(user interface) e aplikacionit.N ASP.NET nj gj e till arrihet prmes web formave, master faqeve dhe web user kontrollave.N kt faz sht br implementimi i master faqes s aplikacionit MasterPage.master, i faqes s par t aplikacionit Default.aspx, faqes s katalogut t produkteve KataloguProdukteve.aspx, si dhe i ktyre web user kontrollave:Headeri.ascx, ListaDepartamenteve.ascx, ListaKategorive.ascx, dhe ListaProdukteve.ascx . Pas implementimit t ksaj faze aplikacioni yn ka pamjen si m posht:

ListaDepartamenteve.ascx

ListaProdukteve.ascx

Headeri.ascx

ListaKategorive.ascx

Fig.4.12 ECS n fazn e par t implementimit

Faqja 49

Vrejtje:Pasiq

ky aplikacion ka karakter shkollor dhe jo komercial, popullimi i lists s departamenteve dhe produkteve sht br n mnyr triviale si shihet edhe nga figura e msiprme, kurse pr popullimin e lists s produkteve kam shfrytzuar nj tabel ad hoc nga literarura e prdorur. Sa pr ilustrim n listingun n vijim sht paraqitur kodi pr popullimin e lists s artikujve.
protected void Page_Load(object sender, EventArgs e) { PopulloKontrollat(); } private void PopulloKontrollat() { // Merre Id-ne e Departamentit nga query stringu string IdDepartamenti = Request.QueryString["IDDepartamenti"]; // Merre Id-ne e Kategorise nga query stringu string IdKategoria = Request.QueryString["IDKategoria"]; // Nese shfletojme ndonje kategori... if (IdKategoria != null) { // Trajton listen e produkteve per nje kategori ProduktDataList.DataSource = Katalogu.GetProduktetNeKategori (IdKategoria, faqja, out saFaqe); ProduktDataList.DataBind(); } else if (IdDepartamenti != null) { // Trajto listen e produkteve ne promocion departamenti ProduktDataList.DataSource = Katalogu.GetProduktetNePromDepart (IdDepartamenti, faqja, out saFaqe); ProduktDataList.DataBind(); } else { // Trajton listen e produkteve ne promocion katalogu ProduktDataList.DataSource = Katalogu.GetProduktetNePromocionKatalogu(faqja, out saFaqe); ProduktDataList.DataBind(); }

4.3.2

ADMINISTRIMI I KATALOGUT T PRODUKTEVE

Pas implementimit t ksaj pjese t aplikacionit klientit(admistratorit), i mundsohet administrimi online i katalogut t produkteve.Tani administratori e ka mundsin q: T shtoj ose t fshij departamente t caktuara, dhe t azhurnoj (update) detajet e departamenteve ekzistuese. T shikoj dhe menagjoj kategorit q i prkasin nj departamenti t caktuar. T menagjoj listn e produkteve pr nj kategori specifike, dhe t editoj detajet e produkteve dhe ti azhurnoj ato. Me fshi nj produkt nga nj kategori ose nga katalogu.

Faqja 50

S pari sht br implementimi i mekanizmit t logimit pr administrator.UI pr funksionalitetin e logimit prbhet nga nj web user kontroll UserInfo.ascx e cila lejon autentikimin e administratorit.

Fig.4.13 UserInfo.ascx

Pas logimit si administrator UserInfo.ascx shfaq linkun pr n pjesn administrative t sajtit (KatalogAdmin.aspx).

Administrimi i departamenteve Pas klikimit t linkut KatalogAdmin administratori drejtohet n faqen KatalogAdmin.aspx e cila fillimisht prmban pjesn q ka t bj me administrimin e departamenteve.

DepartamentAdmin.ascx

Fig.4.14 Administrimi i departamenteve

Faqja 51

Administrimi i departamenteve bhet prmes user kontrolls DepartamentAdmin.ascx, e cila ofron kto mundsi: Editimi i emrit dhe prshkrimit t departamentit me ndihmn e butonit Edito.Pas hyrjes n edit mode, administratori mund t bj intervenimet e dshiruara dhe kto ndryshime mund ti ruaj me klikimin e butonit Azhurno, ose mund t anuloj ndryshimet me butonin Anulo. Editimi i kategorive pr nj departament t caktuar me ndihmn e butonit Shiko kategorit. Mund t fshij komplet nj departament nga baza e shnimeve me ndihmn e butonit fshij departament. Shtimi i nj departamenti t ri n baz t shnimeve Implementimi i cekur msipr i takon Presentation tier, kurse n vijim jan paraqitur implementimet prkatse n nivelin e Data tier dhe Business tier. SQL stored procedurat e implementuara n Data tier jan: ShtoDepartamentshton departament t ri n baz t shnimeve FshijDepartamentfshin deprtament nga baza e shnimeve AzhurnoDepartamentndryshon emrin dhe prshkrimin e nj departamenti Kurse n nivelin e Business tier sht br implementimi i metodave n klasn Katalogu.cs pr stored procedurat prkatse.tabela n vijim paraqet kto metoda sbashku me tipin dhe parametrat prkats: Tabela 4-9:Metodat shtes t klass Katalogu.cs Metoda Tipi shtoDepartament() bool fshijDepartament() azhurnoDepartament() bool bool Parametrat string emri string pershkrimi string idDepartamenti string idDepartamenti string emri string pershkrimi

Administrimi i kategorive Pas klikimit t linkut Shiko kategorit n listn e departamenteve, klientit i shfaqet lista e kategorive pr departamentin e caktuar.Nj gj e till sht realizuar prmes query stringjeve:
DataNavigateUrlFormatString="~/KatalogAdmin.aspx?IDDepartamenti={0}"

SQL stored procedurat prkatse t implmentuara jan: ShtoKategoriregjistron kategori t re pr departamentin e caktuar AzhurnoKategoriazhurnon emrin dhe prshkrimin e nj kategorie Fshijkategorifshin kategori Kurse metodat e implementuara n nivelin e Business tier jan analoge me ato pr departamente, vetm se ktu kan t bjn me kategori. N nivelin e presentation tier sht implemetuar web user kontrolla KategoriteAdmin.ascx e cila popullohet n baz t query stringut t cekur m sipr.

Faqja 52

KategoriteAdmin.ascx

Fig.4.15 Administrimi i kategorive

Si shihet dhe nga figura administrimi i kategorive sht i njjt si te departamentet, vetm se ktu tani kemi butonin Shiko produktet, i cili shfaq produktet pr nj kategori t caktuar. Administrimi i artikujve Pas klikimit t linkut Shiko produktet n listn e kategorive, klientit i shfaqet lista e produkteve pr kategorin e zgjedhur.Query stringu prkats tani ka kt form:
NavigateUrl='<%# "~/KatalogAdmin.aspx?IDDepartamenti=" + Request .QueryString["IDDepartamenti"]+"&amp;IDKategoria="+ Eval("IDKategoria")%>'

Data tier prbhet nga kto stored procedura: GetTeGjithaProduktetNeKategorikthen listn e produkteve n nj kategori ShtoProduktkjo stored procedure thirret kur shtojm nj produkt t ri databaz AzhurnoProduktpr ndryshimin e detajeve t nj produkti FshijProduktfshin nj produkt nga baza e shnimeve Business tier prbhet nga metodat prkatse pr stored procedurat e msiprme q i jan shtuar klass Katalogu.cs. Kurse n Presentation tier sht br implementimi i web user kontrolls ProduktetAdmin.ascx, e cila shfaq listn e produkteve pr kategorin e zgjedhur.

Faqja 53

ProduktAdmin.ascx

Fig.4.16 Administrimi i produkteve

N web.config sht br modifikimi ashtu q ksaj faqeje t mund ti qaset vetm administratori.
<!-- Vetem administratoret lejohet te iu qasen faqes KatalogAdmin.aspx --> <location path="KatalogAdmin.aspx"> <system.web> <authorization> <allow roles="Administrator"/> <deny users="*"/> </authorization> </system.web> </location>

Faqja 54

4.3.3

IMPLEMENTIMI I SHPORTS S BLERJES

N fazn e dyt t implementimit sht br implementimi i shports s blerjes.N nivelin e data tier sht shtuar tabela ShportaBlerese sipas ktyre karakteristikave: Tabela 4-10:ShportaBlerse Emri i fushs Tipi char(36) IDShporta int IDProdukti int Sasia smalldatetime DataBlerjes Vetit tjera Primary key & identity column Primary key nuk lejohen null values nul lejohen null values

SQL stored procedurat e implementuara jan: ShtoArtikullNeShporteshton nj artikull n shportn e blerjes FshijArtikullNeShportefshin nj artikull nga shporta e blerjes AzhurnoArtikullNeShportemodifikon nj rekord t shports GetArtikullNgaShportaekstrakton listn e artikujve nga shporta e blerjes GetShumaTotaleNeShportekthen koston totale t produkteve nga shporta e specifikuar e artikujve. N nivelin e business tier sht implementimi i klass ShportaBlerjes.cs, me karakteristikat e prshkruara nga tabela n vijim: Tabela 4-11:ShportaBlerjes.cs Metoda shtoArtikullNeShporte() azhurnoArtikull() fshijArtikull() getArtukujtNgaShporta() getShumaTotale() Tipi bool bool bool DataTable decimal Parametrat string idProdukti string idProdukti int sasia string idProdukti ska ska

N nivelin e presentation tier sht implementimi i faqes s shports s artikujve ShportaArtikujve.aspx si dhe i nj web user kontrolle ShportaSummary.ascx e cila shfaqet pothuajse n t gjitha faqet e katalogut.Ideja ka qen q kur klienti t fus ndonj artikull n shport kjo user kontroll t shfaq informatat se ka prmban shporta e blerjes, pa shkuar n shportn e blerjes.Kjo kontroll ka poashtu nj link shiko detajet e cila e drgon klientin n shportn e blerjes.

Fig.4.17 ShportaSummary.ascx

Faqja 55

Fig.4.18 ShportaArtikujve.aspx

4.3.4

IMPLEMENTIMI I LLOGARIVE T KLIENTVE

N kt faz sht br implementimi i llogarive t klientve.S pari shtohet nj rol i ri pr klientt.Kjo bhet prmes Web Site Administration Tool.

Fig.4.19 Shtimi i rolit pr klient

Faqja 56

Regjistrimi i klientve bhet prmes faqes Regjistrohu.aspx e cila prmban funksionalitetin e nevojshm pr regjistrim t klientve.

Fig.4.20 Regjistrohu.aspx

Gjithashtu sht modifikuar web user kontrolla UserInfo.ascx ashtu q t prmbaj linkun pr logim t klientve si dhe pr regjistrim t tyre n.q.s ende nuk jan t regjistruar.

4.3.5 IMPLEMENTIMI I POROSIVE T KLIENTVE


I tr sistemi mbi vendosjen e porosive ka t bj me butonin Porosit Artikujt n faqen e shports s blerjes.N prgjjithsi dy gjra themelore ndodhin kur klienti e shtyp kt buton: -S pari, porosia duhet t ruhet diku n baz t shnimeve.Ne do ti ruajm produktet e shports s blerjes n nj porosi, dhe pastaj e fshijm shportn e blerjes. -S dyti, klienti drejtohet n faqen Porosia.aspx, e cila prmban detajet rreth porosis dhe informatave rreth klientit.

Fig.4.21 Butoni Porosit Artikujt

Faqja 57

Implementimi i Data tier


N nivelin e data tier jan shtuar tabelat n vijim: Tabela 4-12:Porosit Emri i fushs IDPorosia IDKlienti DataPorosis DataDergimit Statusi AuthCode Referenca Komenti Tipi int unique identifier smalldatetime smalldatetime int varchar(50) varchar(50) varchar(1000) Vetit tjera Primary key & identity column nuk lejohen null values nul lejohen null values,def.value:getdate() nuk lejohen null values,def. value: 0

Tabela 4-13:PorosiDetajet Emri i fushs Tipi int IDPorosia int IDProdukti varchar(50) Artikulli int Sasia money Cmimi Vlera SQL stored procedura e shtuar sht KrijoPorosi.

Vetit tjera Primary key & identity column Primary key nuk lejohen null values nuk lejohen null values nuk lejohen null values ([Sasia]*[Cmimi])

CREATE PROCEDURE KrijoPorosi (@IDShporta char(36), @IDKlienti uniqueidentifier ) AS /* Inserto rekord te ri ne tabelen Porosite */ DECLARE @IDPorosia int INSERT INTO Porosite (IDKlienti) VALUES (@IDKlienti) /* Ruaje ID-ne e re te prosise */ SET @IDPorosia = @@IDENTITY /*Futi detajet e porosise ne tabelen PorosiDetajet */ INSERT INTO PorosiDetajet (IDPorosia, IDProdukti, Artikulli, Sasia, Cmimi) SELECT @IDPorosia, Produktet.IDProdukti, Produktet.Emri, ShportaBlerese.Sasia, Produktet.Cmimi FROM Produktet JOIN ShportaBlerese ON Produktet.IDProdukti= ShportaBlerese.IDProdukti WHERE ShportaBlerese.IDShporta = @IDShporta /* Pastro shporten e blerjes */ DELETE FROM ShportaBlerese WHERE IDShporta = @IDShporta /* kthe ID-ne e prorosise */ SELECT @IDPorosia

Faqja 58

Implementimi i Business tier


Kurse n nivelin e business tier n klasn ShportaBlerjes.cs sht implementuar metoda pr SQL stored procedurn e msiprme, krijoPorosi():
// krijo porosi te re me ID-ne e klientit public static string krijoPorosi() { //deklaro nje DbCommand objekt te konfiguruar DbCommand komanda = BazaEShenimeve.CreateCommand(); // cakto emrin e stored procedures qe do te thirret komanda.CommandText = "KrijoPorosi"; //krijo parameter te ri DbParameter param = komanda.CreateParameter(); param.ParameterName = "@IDShporta"; param.Value = shportaBlerjesID; param.DbType = DbType.String; param.Size = 36; komanda.Parameters.Add(param); ; //krijo parameter te ri param = komanda.CreateParameter(); param.ParameterName = "@IDKLienti"; param.Value = Membership.GetUser (HttpContext.Current.User.Identity.Name).ProviderUserKey; param.DbType = DbType.Guid; param.Size = 16; komanda.Parameters.Add(param); return BazaEShenimeve.ExecuteScalar(komanda); }

Implementimi i Presentation tier


Pas prfundimit t implementimeve prkatse n nivelin e data tier dhe t business, sht br implementimi i presentation tier.N kt nivel sht br implementimi i faqes Porosia.aspx, e cila sht cekur edhe m sipr si dhe faqja PorosiaEKonfirmuar.aspx.

Fig.4.22 Porosit.aspx

Faqja 59

4.4 TESTIMI
Dy shtje bazike n testimin e softuerit jan: (1) far test procedura t prdoren(test case selection), dhe (2) sa test procedura jan t nevojshme, (kriteri i ndaljes(stopping criterion)).Zgjedhja e test procedurs mund t bazohet ose n specifikacione (funksional), strukturn e kodit (struktural), rrjedhjen e informatave (data flow), ose zgjedhja e rastsishme (random) e test procedurs.Si do q t jet ne jemi prcaktuar pr test procedurn sipas rrjedhjes s informatave (data flow). TEST PROCEDURA:Porositja e artikujve Prshkrimi:Kjo procedur bn porositjen e artikujve nga ana e klientit, pra duke br porosin pr artikujt e zgjedhur. Input:Klienti, Fjalkalimi Output:Statusi i porosis ndryshon, pra porosia hyn n fazn fillestare t procesimit, futet nj rekord n baz t shnimeve, prkatsisht n tabeln Porosit dhe PorosiDetajet, s bashku me artikujt e regjistruar n at porosi. Dshtimi:Nse nuk arrihen rezultatet e cekura m sipr, procedura dshton. Nr. 1. Aksioni Klienti kyqet Rezultati Pasi t jep username-in dhe fjalkalimin korrekt, klienti kyqet n sistem Artikujt e zgjedhur regjistrohen n shportn e blerjes Hapet faqja ShportaBlerjes.aspx Vrejtje

2. 3.

Klienti shfleton dhe zgjedh artkujt e dshiruar Klikohet linku Shporta e blerjes, apo shiko detajet Shtypet butoni Porosit artikujt

4.

5.

Shtypet butoni Konfirmo porosin

Ktu klienti ka mundsin q t ndryshoj sasin e artikujve Klienti drejtohet n Nse klienti nuk sht faqen Porosia.aspx, e kyqur paraprakisht, ai cila prmban detajet drejtohet n faqen rreth porosis dhe Login.aspx, ku mund detajet e klientit t logohet, apo t regjistrohet nse ende nuk sht regjistruar Klienti drejtohet n Klienti ka mundsin faqen q t editoj dhe ti PorosiaKonfirmuar.aspx ndryshoj t dhnat personale.

Faqja 60

4.5

MENAGJIMI I PROJEKTIT

Menagjimi projektit merret me planifikimin, kontrollin dhe dirigjimin e projekteve ku bhet rishikimi dhe evaluimi i kohs totale q prafrsisht do t merrte implementimi i projektit. Edhe pse sht br definimi i aktiviteteve n koh, shpeshher nevojitet q t bhet rikthimi n fazat m hershme pr korrigjuar ndonj gabim, apo pr t plotsuar ndonj lshim eventual q sht br Prandaj si rrjedhoj e ksaj na sht imponuar q ti prmbahemi modelit spiral t cekur msipr(shih Modeli spiral n fq.11 ) . Rrjedha e menagjimit t projektit q nga anliza e deri te testimi dhe lansimi i projektit pasqyrhet m s miri me ndihmn e diagrameve prkatse si WBS(Work Breakdown Structure), PERT(Program Evolution and Review Techniques), GANTT diagramet e kshtu me rradh.N vijim do t shohim implementimin konkret t ktyre diagrameve n ECS sistem.

WBS(Work Breakdown Structure) diagrami


N vijim po paraqesim WBS pr ECS sistemin.Ky diagram prfshin fazat gjat t cilave ka kaluar realizimi i projektit, q nga faza fillestare e paraanalizs e deri te faza e testimit.Secila faz sht e ndar n mnyr hierarkike n aktivitete prkatse. Hapi i puns(Fazat) 1.Faza fillestare Aktiviteti 1.1 Studimi i fizibilitetit 1.2 Planifikimi i projektit 1.3 Zgjedhja e platforms s zhvillimit 1.4 Sigurimi i platforms s zhvillimit 2.1 Analiza e prgjithshme 2.2 Specifikimi i krkesave 2.3 Modelimi i krkesave 2.4 Realizimi prototipit 3.1 Arkitektura e projektit 3.2 Planifikimi i bazs s shnimeve 3.3 Planifikimi i UI 3.4 Planifikimi i funksionalitetit 4.1 Implementimi i data tier 4.2 Implementimi i business tier 4.3 Implementimi i presentation tier 5.1 Testimi i produktit 5.2 Test procedurat WBS diagrami

2.Analiza e projektit

3.Planifikimi(Dizajnimi)

4.Implementimi 5.Testimi

Faqja 61

PERT (Program Evolution and Review Techniques) diagramet

PERT diagrami pr fazn fillestare

PERT diagrami pr fazn e analizs

PERT diagrami pr fazn e planifikimit

PERT diagrami pr fazn e implementimit

Faqja 62

GANTT diagramet

GANTT diagrami pr fazn fillestare

GANTT diagrami pr fazn e analizs

GANTT diagrami pr fazn e planifikimit

GANTT diagrami pr fazn e implementimit

Faqja 63

KAPITULLI 5

REZULTATET
5.1

PJESA E KLIENTIT

Procedura e funksionimit t pjess s klientit sht si vijon: Me hapjen e web aplikacionit klientit i shfaqet faqja kryesore e aplikacionit Default.aspx n t ciln afishohen produktet q jan n promocion katalogu:

Fig. 5.1 Default.aspx

Ktu klienti ka kto mundsi: Mund t fus menjher artikuj t dshiruar n shport, Mund t logohet apo t regjistrohet nse ve nuk e ka br nj gj t till, Mund t shfletoj m tutje npr departamente dhe kategori. Po e zm se klienti zgjedh p.sh. departamentin e kompjuterve.Klenti do t drejtohet n faqen KataloguProdukteve.aspx me kategorit prkatse pr departamentin e zgjedhur.

Faqja 64

Fig. 5.2 KataloguProdukteve.aspx

Edhe ktu klienti mund t shfletoj npr faqe t ndryshme dhe t shoh detajet pr nj artikull t caktuar.N kt moment i shfaqet faqja ProduktDetajet.aspx me detajet pr produktin e zgjedhur.

Fig. 5.3 ProduktDetajet.aspx

Faqja 65

Prmes butonave prkats klienti mund t fus artikullin e zgjedhur n shport apo t vazhdoj m tutje me blerje. Fillimisht shporta e blerjes sht e zbrazt(shih fig.5.3).Me futjen e ndonj artikulli n shport shporta blerjes tregon detajet e nevojshme.

Fig. 5.4 ShportaBlerjes.ascx

Tani klienti mund t drejtohet n ShportaBlerjes.aspx prmes dy linqeve: prmes linkut ShportaArtikujve q gjendet n User info kontroll, apo prmes linkut shiko detajet, n figurn e msiprme:

Fig. 5.5 ShportaArtikujve.aspx

Ktu klienti ka kto mundsi: Mund t fshij artikullin nga shporta, T ndryshoj sasin e artikujve, T vazhdoj m tutje me blerje, Apo prfundimisht ti porosit artikujt.

Faqja 66

Me shtypjen e butonit Porosit Artikujt, klienti nse sht i loguar do t drejtohet n faqen Porosit.aspx e cila prmban detajet rreth artikujve t porositur dhe informatave rreth klientit.N rastin tjetr klienti do t drejtohet n faqen Login.aspx ku mund t logohet apo t regjistrohet:

Fig. 5.6 Login.aspx

Pas kryerje s hapave t nevojshm klienti prfundimisht drejtohet n faqen Porosit.aspx:

Fig. 5.7 Porosit.aspx

Faqja 67

Tani klientit i mbetet vetm q t shtyp butonin Konfirmo Porosin, dhe klienti do t marr mesazhin prkats. Vlen t ceket se pas logimit klienti prmes linkut Edito detajet mund ti editoj dhe ndryshoj informatat personale.

Fig. 5.8 KlientDetajet.aspx

Ktu klienti mund ti modifikoj t dhnat personale dhe ti ruaj ndryshimet eventuale apo thjesht t anuloj ndryshimet e bra.

Faqja 68

KAPITULLI 6

PRFUNDIM
6.1

KONTRIBUTET

Kontributi kryesor n kt punim sht adoptimi i teknikave t Inxhinieris Softuerike n zhvillimin e web-based aplikacioneve me fokus t veant n E-Commerce aplikacionet, si dhe zhvillimi i tyre n platformn ASP.NET.E tra kjo, ilustron aplikimin e hapave disiplinor t Inxhinieris Softuerike e cila shrben si nj prgjigje ndaj zhvillimit kaotik t web aplikacioneve, t cilat morn hov dekadn e kaluar. Edhe nj tjetr kontribut q e vlen t prmendet sht aplikimi i A3SH(arkitektura me tri shtresa) n zhvillimin e aplikacionit.Ndarja e funksionalitetit t aplikacionit sipas ksaj arkitekture lehtson dhe konkretizon n mas t konsiderueshme krkesat dhe zhvillimin e aplikacionit. Pasi q, qllimi final i vet Inxhinieris Softuerike sht arritja e nj produkti funksional, padyshim se kontributi kryesor sht vet zhvillimi i aplikacionit.Por, si do produkt, edhe ky aplikacion ka prparsit dhe mangsit e veta. Prparsia themelore e ktij aplikacioni qndron n faktin se ky aplikacion paraqet brthamn se si bhet zhvillimi i E-Commerce aplikacioneve n ASP.NET 2.0.Kurse prparsit tjera jan: Sa i prket ans s klientit ky aplikacioni ka nj UI shum t thjesht dhe funksional pr t manipuluar me t.Kjo sht arritur duke iu falenderuar web user kontrollave q ofron ASP.NET, me t cilat arrihet ruajtja e konsistencs s aplikacionit. Edhe pjesa administrative e aplikacionit sht mjaft e leht pr t manipuluar.sht shum funksionale, e qart dhe mundson nj mirmbajtje efikase t aplikacionit. Nj prparsi tjetr sht edhe mnyra se si sht zgjidhur problemi i faqimit(shfletimi i produkteve faqe pr faqe).Kt e mundson aplikimi i A3SH, ku faqimi i sht br n nivelin e data tier.Kjo ka ndikim t madh n performansn e aplikacionit, sepse kjo mundson ekstraktimin e vetm t nj faqeje nga databaza. Kurse sa i prket mangsive t aplikacionit edhe ky aplikacion ka mangsit dhe lshime eventuale. Mangsit mund t jen ndryshme varsisht nga kndvshtrimi i kritikuesit.

6.2

PRVOJAT E FITUARA

Prvojat dhe msimet e fituara gjat zhvillimit t ktij punim mund t prmblidhen n dy aspekte t prgjithsuara: Njri aspekt ka t bj me disiplinn e Inxhinieris softuerike.Ky punim m ka ndihmuar q ti kuptoj m mir hapat dhe modelet e Inxhinieris softuerike dhe aplikimin e tyre konkret n zhvillimin e web aplikacioneve.Kam arritur t kuptoj se ka vrtet krkohet n secilin t inxhinierimit t aplikacioneve dhe krahasimin e modeleve t inxhinieris softuerike. Kurse aspekti tjetr ka t bj me zhvillimin e E-Commerce aplikacioneve n nj platform relativisht t re si sht ASP.NET.Kjo m mundsuar q t kuptoj teknikat t cilat ofron

Faqja 69

ASP.NET n zhvillimin e web aplikacioneve, si dhe proceset npr t cilat kalon nj aspx. faqe, gjersa arrin n web browserin e klientit.Nj prvoj e shklqyer sht poashtu aplikimi i A3SH(arkitektura me tri shtresa).

6.3

DETYRAT E ARDHSHME

Esenca e ktij punimi ishte aplikimi i disiplins s Inxhinieris Softuerike n zhvillimin e web aplikacioneve.Edhe pse Inxhinieria Softuerike sht nj disiplin relativisht e re, zhvillimi i web aplikacioneve sht edhe m i vonshm.Edhe pse Inxhinieria softuerike mbulon edhe industrin e web aplikacioneve, ajo n disa aspekte ka mangsi q i krkojn web aplikacionet, sidomos kur sht fjala pr vizualizimin e web skenareve t ndryshme.Prandaj sht par si e domosdoshme q n kuadr t inxhinieris softuerike t futet nj nn disiplin pr inxhinierimin e web-based aplikacioneve q do t mbulonte kto mangsi.Dhe, pasiq web-based aplikacionet kan marr primatin kundrejt desktop aplikacioneve tradicionale kjo displin (Web inxhinierimi), u pavarsua nga Inxhinieria softuerike, dhe tani sht nj disiplin n vete.Autor t njohur kan botuar enkas libra pr kt disiplin si sht Roger S. Pressman me librin e tij Web Engineering. Prandaj, si sfid e ardhshme mbetet aplikimi i ksaj disipline t re n zhvillimin e ktij aplikacioni. Kurse sa i prket vet aplikacionit, ekziston shqyrtimi i mundsis q ky aplikacion t shndrrohet n nj produkt komercial.P.sh. ekziston mundsia q ky aplikacion t shndrrohet n nj aplikacion pan shqiptar, ku audienca do t prfshinte t gjitha trojet etnike shqiptare ku klientt do t mund t shesin dhe t blejn artikuj t ndryshm prmes ktij web aplikacioni.

Dhe krejt n fund, Falnderoj KRIJUESIN q m mundsoi realizimin e ktij punimi.

Faqja 70

LITERATURA
[1] Artan Dermaku, Mr.Sc.: Inxhinierim Softueri(skripte).2007. [2] David A. Gustafson, Ph.D.:Theory and Problems of Software Engineering.McGraw- Hill, 2002. [3] Roger S. Pressman, Ph.D.:Software Engineering, A practitioners approach.McGraw-Hill, 2001. [4] Cristian Darie & Karli Watson.Beginning ASP.NET 2.0 E-Commerce in C#, from novice to professional.Apress, 2006. [5] Mathew MacDonald. Beginning ASP.NET 2.0 in C#, from novice to professional.Apress, 2006. [6] Doug Lowe.ASP.NET 2.0 Everyday Apps for Dummies.Wiley Publishing, Inc, 2006. [7] Joseph Schmuller.Teach Yourself UML in 24 hours, Third Edition.Sams Publishing, 2004.

Faqja 71

Filename: TemaEDiploms Directory: C:\Users\ilo\Documents Template: C:\Users\ilo\AppData\Roaming\Microsoft\Templates\Normal.dotm Title: Subject: Author: Keywords: Comments: Creation Date: 1/6/2009 6:41:00 PM Change Number: 71 Last Saved On: 1/25/2009 1:00:00 PM Last Saved By: ilo Total Editing Time: 5,945 Minutes Last Printed On: 1/25/2009 1:12:00 PM As of Last Complete Printing Number of Pages: 71 Number of Words: 15,797 (approx.) Number of Characters: 90,049 (approx.)

You might also like