# Shkenca > Informatikë dhe Internet > Arti i programimit >  Ide për projekt përfundimtar në lëndën inxhinieri softuerike

## Pratolini

Kam nje projekt ne lenden "inxhinieri software" mirepo nuk po vendos dot mbi temen qe do trajtoj.
Duke qene se ketu ka shume anetare qe kane eksperience ne kete fushe, do te doja ndonje mendim prej jush se cfare softi mund te ndertoje qe te jete i realizueshem dhe ne te njejten kohe atraktiv dhe interesant per tu shpjeguar. 
Mirepres cdo lloj ideje !

Pratolini

----------


## Uke Topalli

Si shembull interesnt mund te jet dizajni dhe krijimi i nje DAL (data access layer) ne menyre qe te abstrahohet kontakti me baze te shenimeve.

----------


## Elmo

Bene diqka me emrin albanian link secure , dhe aty vendos albanian news, dhe ua mer me RSS gjith mediave dhe i programon, Albanian Radio, Albanian Tv etj etj .
Dhe ne fund ja ve nji emer programit, dhe ja shton nji mundesi qe ti te besh update linqet.
Besoj se shum sukses do kete ai program.
Per me teper me shkruaj ne MSN mundem tet ofroj ndihme ne lidhje me kete ide !
respkte 
*elmo*

----------


## Clauss

> Kam nje projekt ne lenden "inxhinieri software" mirepo nuk po vendos dot mbi temen qe do trajtoj.
> Duke qene se ketu ka shume anetare qe kane eksperience ne kete fushe, do te doja ndonje mendim prej jush se cfare softi mund te ndertoje qe te jete i realizueshem dhe ne te njejten kohe atraktiv dhe interesant per tu shpjeguar. 
> Mirepres cdo lloj ideje !
> 
> Pratolini


cfare do ideje varet nga njohuri e tua ne IT (oses, sys arch, gjuhe programimi etc.)  dhe nga koha qe mund te japesh. koha varet deri diku nga njohurite.  duke sqaruar keto mund ti japesh drejtim ideve si psh nqs do shkruash/fillosh dicka (te thjesht) nga fillimi? do shtosh/ permiresosh dicka gati? do besh customize dicka te gatshme? do shkruaj ndonje dokumentation? do marresh dicka ti futesh nje dore boje e ta paraqesesh si tenden?  
trego njecik me shume  se ndryshe secili do i bjer me sepate e do te te thote cka ne mendje ne ate moment qe shkruajti.

----------


## Pratolini

Koha e kesaj eshte relativisht e gjate, thuajse dy semestra. Semestri i pare ( dhe pjesa e pare e projektit ) do jete me teper nga ana analitike e softit dhe jo kod konkret. Puna eshte ne grup, keshtu qe une jam me tre shok te tjere dhe kemi mundesi ta ndajme punen duke bere secili ate pjese qe di me mire. Njohurite tona ne gjuhe programimi jane te mira por te kufizuara per momentin ne gjuhen java dhe c++ Gjithsesi kjo nuk duhet te perbeje problem sepse sic e thashe koha eshte e mjaftueshme per te mesuar nje gjuhe tjeter duke qene se kemi goxha baza te qendrueshme. 
Projekti duhet te permbaje ne vetvete nje ide interesante. Nuk po them origjinale fare sepse kaq e perhapur sa eshte informatika veshtire se kan lene ndonje gje pa bere njerezit, po te jete dicka e vecante. Nuk kemi nder mend te bejme copy paste te shemtuara apo thjesht nje permiresim grafik sa per te thene, duam te bejme dicka vete.

----------


## edspace

Si të duket ideja të krijosh një lojë? 

Një projekt të tillë më është dashur ta kryej në vitin e fundit të universitetit në 2006-ën. Unë bashkë me katër shokë të tjerë zgjodhëm të krijonim një lojë 3-dimensionale. Loja quhet Tank Tournament dhe luhet nga dy lojtarë të cilët komandojnë secili nga nje tank dhe luftojnë kundër njëri-tjetrit në një botë 3-dimensionale me terrene të ndryshme. Terreni ka disa veti dinamike, si psh: tanku lëviz më ngadalë në terrene me ujë, baltë, ose pyje; bllokohet nga shkëmbinjtë; pemët zvogëlojnë probabilitetin e depërtimit të predhave; pemët dhe shkurret dridhen kur janë në kontakt me tankun ose predhat. 

Ishte një eksperiencë tepër e vlefshme dhe arritëm të krijonim një motor të plotë loje prej fillimit, me grafikë, zë, muzikë, botë 3-dimensionale, kontrollues (controllers), sistem instalimi, konfigurimi, etj. Gjatë zhvillimit të projektit na u desh të vinim në praktikë të gjitha njohuritë rreth programimit dhe inxhinierisë softuerike. Për zhvillimin e lojës, ne ndoqëm modelin ujëvarë (waterfall), model ky që ndiqet në shumicën e ambjenteve profesionale. Bashkëpunimi në ekip për realizimin e një projekti me këto përmasa ishte një eksperiencë e vlefshme që na përgatiti edhe për vendet e punës si inxhinierë softueresh. 

Projektin e zhvilluam sipas modelit ujëvarë (waterfall) brenda një afati gjashtëmujor.  Në tremujorin e parë përpiluam dokumentet e kërkesave, dizajnit dhe testimit. Në tremujorin e dytë shkruam programin në C++, duke përdorur libraritë e DirectX 9.0. 

Të gjitha dokumentet e krijuara për projektit mund t'i shkarkoni në faqen e Tank Tournament.
http://www.cs.drexel.edu/~ep32/TankTournament/


U zgjata pak me prezantimin e projektit, por besoj se do të të vijë në ndihmë, të paktën për të patur një ide se çfarë mund të arrihet nga puna e një ekipi me katër-pesë studentë. 

Nëse nuk të pëlqen ideja e lojës, mund të marrësh ndonje ide nga projektet e tjerë të studentëve të Universitetit Drexel në Filadelfia, SHBA: 
http://www.cs.drexel.edu/SeniorDesign/2006/
http://www.cs.drexel.edu/SeniorDesign/2007/


*Disa këshilla për të realizuar me sukses projektin*

*Caktoni një udhëheqës administrativ*
Caktoni një person si udhëheqës administrativ të ekipit. Ky person do luajë rolin e drejtorit. Do organizojë takimet/oraret, do krijojë planin, do caktojë detyrat, do kërkojë llogari nga të tjerët, do mirëmbajë dokumentet, do mirëmbajë uebsajtin, do caktojë format/kanalet e komunikimit, etj. 

*Caktoni një udhëheqës teknik*
Caktoni një person si udhëheqës teknik (mund të jetë i njëjti si personi administrativ). Ky do jetë personi që do udhëheqë anën teknike të dizajnimit dhe programimit. Ky person duhet të caktojë rregulla për konvencionet e kodit, të kontrollojë kodin e të tjerëve për gabime, të sigurojë që kodi i katër-pesë programuesve do integrohet pa probleme, etj.  

*Përgatisni dizajnin para se të shkruani kodin*
Varet nga modeli që do zgjidhni për zhvillim e softuereve, por si fillestarë, do ju këshilloja të ndiqnit modelin ujëvarë (waterfall) për arsye se ju detyron të krijoni dokumentet e kërkesave, dizajnit, dhe testimit, para se të filloni të shkruani kod. Gjatë viteve në shkollë mund të jeni mësuar të filloni direkt duke shkruajtur kod, por për projekte të mëdha ku marrin pjesë disa programues, është e domosdoshme të plotësoni planin, skicat, dhe diagramet para se të filloni të shkruani kod. Një dizajn i detajuar do e bëjë më të lehtë programimin dhe do shmangë shumë probleme. 

*Krijoni një depo qendrore kodi*
Krijoni një depo (repository) për të ruajtur kodin. Në unix mund të përdorni cvs ose svn. Në windows mund të përdorni cvsnt. Ky është një hap i domosdoshëm që të keni një pikë qendrore prej ku mund të merrni dhe dorëzoni kodin. 

*Caktoni orare takimi*
Caktoni një orar dhe vend takimi për të paktën një orë në javë për të diskutuar problemet e ndryshme që mund të ketë hasur çdo person në plotësimit e detyrës që i është caktuar. Këto takime janë të domosdoshëm për të nxitur (vënë para përgjegjësisë) ata tipat dembelë, nëse të bie ndonjë i tillë në ekip. 

*Kontrolloni kodin vazhdimisht*
Kontrolloni vazhdimisht kodin e njeri-tjetrit dhe mblidhuni së bashku për të diskutuar se si mund të përmirësohet. Duke bërë këtë, jo vetëm që do përmirësoni kodin, por do mund të zbuloni dhe korrigjoni gabimet para se të shfaqen si probleme të mëdha në fazën e integrimit.

----------


## Pratolini

Shume faleminderit Edspace !
Do ta shoh me kujdes kete idene e lojes dhe do konsultohem edhe me pjesetaret e tjere te grupit. Do tju hedh nje sy edhe linqeve qe ke me dhene.
Te falenderoj !

----------


## Agon_xh

A eshte e lejushme te programosh per Web ?

----------


## Pratolini

Po Agon, eshte e lejueshme. Madje nje grup tjeter zgjodhi si teme krijimin e nje e-bay

----------


## Agon_xh

Nese e keni te lejushme te programoni ne web une mendoj se eshte shume me mire te beni ndonje projekt per web. E them kete nga shkaku se Desktop aplikacionet nuk jane ne formen e tyre qe ishin para disa kohesh, nese krijon nje desktop aplikacion ti do te mesosh te programosh dhe do ta fitosh llogjiken e programimit, por do te kesh nje qasje te vjeteruar te programimit. Une ju kisha preferuar nje web aplikacion, nga i  cili do te fitonit edhe ne aspektin e llogjikes se programimit modern, por edhe nje web aplikacion qe ne te ardhmen mund te fitoni te mira materiale.  Pasi keni kohe te mjaftueshme edhe deri dikund keni njohuri ne prgoramim une do ju kisha sugjeruar te beni projektin me AJAX qe eshte teknollogjia e fundit ne web programim. Interneti tash mundeson te gjesh pune prej shtepise, prei zyre apo ku do vendi qofte. Mjafton te kesh njohuri te mire ne web programim dhe nje projekt me te cilin do te deshomeht profesionalizmi yt dhe mund te perfundosh ne qindra mij eurot qe qarkullojne ne internet. Beni kerkime te mira, shihni ndonje web faqe qe ben ndonje servis per njerezit nga e gjithe bota dhe mundohuni te beni dicka te ngjajshme dhe me funksionale, suksesi nuk do te mungoj ngaqe interneti ka miljarda njerez bredna.
Nese do te shkoni ne kete variant mund te tejap ide edhe me konkrete, ngaqe e shoh se qenkeni te motivuar per te punuar e motivi eshte fillimi i suksesit.

----------


## Pratolini

Te falenderoj per keshillen Agon !

Para disa kohesh ne e kemi bere nje projekt te tille, edhe pse duhet thene modest. Ideja ishte ne nje faqe webi e realizuar me PHP dhe doli vertete interesante. E kemi menduar serisht idene qe te fokusohemi ne krijimin e nje web aplikacioni, mirepo ideja eshte se duhet te gjejme dicka vertete interesante dhe origjinale per kete. Ka goxha grupe qe kane zgjedhur pak a shume kete ide projekti, keshtu qe neqoftese do vendosim per nje faqe duhet te sjellim dicka ndryshe. Nese ke mundesi do te isha i interesuar per ndonje ide me konkrete nga ana juaj. Cfare aplikaconi mendon se mund te terhiqte vemendje dhe te ishte dicka qe ja vlen ti kushtohesh ?

----------


## Clauss

meqe eshte kaq project i madh duhet te besh dicka te cilen mund ta vesh ne CV, te jete e rende them, te tregoje per cfare je interesuar gjate diplomes. dhe natyrisht te "shese" mbi te gjitha. "Sexy" kohet e fundit jane SOA, service oriented archs. nqs do dicka me shume akademike sesa industry-oriented do keshilloja cdo gje rreth Semantic Web, ontologies, gjera te tilla. skane filluar te praktikohen mire po jane  shume interesante vecanerisht nqs te intereson vazhdimi i karieres akademike. jam pak vague po do shikoj te te sygjeroj dicka me praktike.  sidoqofte, merru me keto dhe bej vend ne banke per milionat  :ngerdheshje:

----------


## edspace

Dy nga teknologjitë e fundit në lëmin e uebit janë Adobe Flex dhe Microsoft Silverlight. Këto teknologji mundësojnë aplikacione uebi të pasura (rich internet applications). Quhen të pasura sepse lejojnë funksione dhe ndërfaqe grafike pothuajse të njëjta me ato që ofrojnë aplikacionet e sistemit. Aplikacionet e sotme të uebit me ndërfaqe të varfra në HTML e JavaScript do zëvendësohen ne të ardhmen me aplikacionet e pasura në Flash dhe Silverlight. Microsoft dhe Google po përgatiten drejt kësaj rruge me Windows Live, Google Docs, etj. 

Duke qenë teknologji të reja, mund të jetë paksa e vështirë të gjesh materiale të gatshme në Internet, por besoj se do gjesh aq sa për të bërë këtë projekt akademik. Adobe Flex ka dalë më herët dhe është më e përparuar se Microsoft Silverlight. Flex përdor XML dhe ActionScript (si JavaScript) për ndërfaqen e klientit, ndërsa në sërvër përdor Java. 

Një projekt i suksesshëm në ndonjë prej këtyre teknologjive besoj se do impresionojë së tepërmi profesorët dhe punëdhënësit tuaj të ardhshëm.

----------

