You are on page 1of 34

TRNG I HC BCH KHOA H NI

Vin Cng ngh Thng tin v Truyn thng

BI TP LN
Mn hc: LP TRNH HNG I TNG

TI: Xy dng chng trnh Windows-based h tr to ,o ,thi v chm thi trc nghim M ti: De07A S hiu nhm: Ging vin hng dn: TS Cao Tun Dng
Sinh vin thc hin: H tn Nguyn Bo Chung Trn Quang Chin Khc Tr Sn SHSV 20090333 2009 2009 2009 Lp CNTT1-K54 CNTT1-K54 CNTT1-K54 CNTT1-K54

MC LC
Li ni u Phn 1: TNG QUAN V CC VN LIN QUAN 1.1. ti 1.2.Gii thiu v cc kin thc nn tng v m hnh MVC 1.2.1.Kin thc nn tng 1.2.1.1.Xy dng c s d liu 1.2.1.2.Thit k chng trnh 1.2.2.Gii thiu v m hnh mvc Phn 2:PHN TCH THIT K MC KIN TRC 2.1.Thit k c s d liu 2.2. Biu Use Case 2.2.1 Cc tc nhn ca h thng 2.2.2.Cc Use case vi tc nhn Admin 2.2.2.Cc Use case vi tc nhn gio vin 2.2.2.Cc Use case vi tc nhn th sinh 2.3.Biu tun t 2.3.1.Cc chc nng lin quan n Admin 2.3.2.Cc chc nng lin quan n gio vin 2.3.3.Cc chc nng lin quan n th sinh 2.4.Biu lp Phn 3:THIT K CHI TIT Phn 4:KT LUN V NH GI

4.1. nh gi chng trnh 4.2. K hoch thc hin cng vic ca nhm Tng hp hnh v trong bo co Ti liu tham kho

LI NI U Nh chng ta bit, thi trc nghim hin nay l mt hnh thc thi ph bin trong cc k thi. Vic c mt cng c gip hc sinh lm quen v thnh tho vi hnh thc thi ny, cng nh cho gio vin thun tin trong vic son v chm thi l ht sc cn thit. Nhn thy iu , cng vi nhng kin thc hc c t mn Lp trnh hng i tng, chng em cng nhau thc hin ti Xy dng chng trnh Windows-based h tr to , o , thi v chm thi trc nghim. Trong qu trnh thc hin ti, chng em c c hi thc hnh nhng kin thc v phn tch, thit k i tng, v cch xy dng mt chng trnh hng i tng c tng tc vi c s d liu theo m hnh MVC. Bn cnh , chng em cng thu c nhng k nng qu bu trong lm vic nhm. Chng em xin chn thnh cm n s hng dn tn tnh ca thy Cao Tun Dng, c v chuyn mn cng nh nh hng trong qu trnh chng em thc hin ti.V kin thc cn hn hp, nn chng trnh ca chng em khng th trnh khi nhiu thiu st. Rt mong c s gp ca thy gio cng nh cc bn trong lp chng em c th ci tin c cht lng ca chng trnh.

Phn 1: TNG QUAN V CC VN LIN QUAN 1.1. ti Xy dng mt cng c Windows-based ( s dng Java/C#.NET vi mt h qun tr CSDL no ) vi cc tnh nng sau: - Cho php qun l cc cu hi thi trc nghim theo tng phn ca mt mn hc (thm mi, sa xa, tm kim). - Cho php tin hnh to thi cho mt mn hc no , trong , cho php chn s lng cu trc nghim (cho php chn mc kh d, hoc s im cc cu) cho tng phn trong mn hc . H thng s t ng ly ngu nhin trong ngn hng cu hi. o Lu thi trong CSDL khi cn cho sinh vin thi o Cho php xut ra file .doc theo khun dng mt thi - Cung cp chc nng thi cho sinh vin sinh vin c th tham gia thi trc tip (sinh cc cu hi thi mt cch ngu nhin) sau a ra kt qu (theo tng phn v a ra kt qu cui cng) thi khi ht gi thi hoc th sinh chn kt thc thi. Khi sinh vin tham gia thi, cn ng nhp v chn mt thi c to ra trong phn trn. - H tr vic chm thi trc nghim mt thi no , gio vin ch cn chn mn thi v nhp kt qu sinh vin chn, sau h thng hin th kt qu tng ng (theo tng phn v a ra kt qu cui cng) 1.2.Gii thiu v cc kin thc nn tng v cng ngh MVC framework 1.2.1.Kin thc nn tng 1.2.1.1.Xy dng c s d liu - C s d liu ca bi ton c thit k theo m hnh c s d liu quan h. - Yu cu quan trng nht trong mt bi ton thc t l CSDL phi c thit k mt cch ti u nht. y chng ta s s dng cc phng php chun ha,bo ton tp ph thuc hm,tch khng mt mt thng tin xy dng CSDL. - H qun tr c s d liu c s dng l MySQL. 1.2.1.2.Thit k chng trnh

- ti c thc hin vi cch tip cn l hng i tng - Vic thit k chng trnh c da theo cc l thuyt c bn v thit k hng i tng v ngn ng m hnh ha UML. - Qu trnh thit k chng trnh thc hin theo cc giai on : Thit k biu Use Case, thit k biu tun t, thit k biu lp. - Phn mm thit k c s dng l Visio 2007. 1.2.2.Gii thiu v m hnh MVC Phng php thit k MVC bt ngun t vic pht trin giao din ngi dng trong ngn ng lp trnh Smalltalk, y l mt trong nhng phng php thit k thnh cng nht trong cc phng php thit k hng i tng. Hin nay, MVC c dng rng ri trong nhiu h thng phn mm hng i tng, bt k c vit bng ngn ng hng i tng no.

Cc thnh phn ca MVC:

-Model (tm dch l phn M hnh ): L mt i tng hoc tp hp cc i tng biu din cho phn d liu ca chng trnh, v d cc d liu c lu trong c s d liu (CSDL) hay t cc h thng ng dng khc (nh mail...) -View (tm dch l phn Hin th): L phn giao din vi ngi dng, bao gm vic hin d liu ra mn hnh, cung cp cc menu, nt bm, hp i thoi, chn la..., ngi dng c th thm, xa, sa, tm kim v lm cc thao tc khc i vi d liu trong h thng. -Controller (tm dch l phn iu khin): L phn iu khin ton b logic v hot ng ca giao din, tng tc vi thao tc ca ngi dng (t chut, bn phm v cc thit b ngoi vi khc) v cp nht, thao tc trn d liu theo u vo nhn c v iu khin vic chn phn Hin th thch hp truyn d liu ti ngi dng. u im ca chng trnh da theo m hnh MVC: -Tch bit r rng nhim v ca tng phn: model-view-controller => gip cho vic phn cng cng vic trong nhm c d dng. - Mang li hiu qu cao trong vic t chc v ti s dng li code. Chng hn nh vi kin trc t chc ca model th kt qu tr v l trung lp => c th ti s dng li cho cc tng View ng dng khc ). - Tnh d thay i tng View hay tng Model nu c nhu cu v mi tng nay hon ton tch bit v khng c mi nh hng rng buc vi nhau. - H tr kt hp rt tt gia ngi lp trnh v ngi thit k giao din.

Phn 2:PHN TCH THIT K MC KIN TRC 2.1.Thit k c s d liu S thc th lin kt:

Chuyn sang s quan h c cc bng: * Cc m s (MS..) ca cc bng kiu int, l kha chnh, c to ra t ng * Bng cauhoi: - noidung: ni dung cu hi - sodapan: s p n ca cu hi - dokho: kh cu hi (gi tr nguyn: 1..4) m s mn hc (kha ngoi n bng monhoc)

- msmonhoc:

- mphanmonhoc: m s phn mn hc (kha ngoi n bng phanmonhoc) - msnguoitao: * Bng dapan: - mscauhoi: - thutudapan: - noidung: - dungsai: m s cu hi cha p n (kha ngoi n bng p n) th t p n (1, 2, ..) ni dung p n ng hoc sai (TRUE/FALSE) MS ngi to cu hi (kha ngoi n bng nguoidung)

- giaithich: gii thch cho mi p n (ti sao ng / sai) * Bng monhoc - tenmonhoc: * Bng phanmonhoc: - ten: * Bng nguoidung: Tn ca phn mn hc (chng, phn...) tn mn hc

- taikhoan: - matkhau: - ten: - quyendangnhap: * Bng dethi: - made: - msmonhoc: ngoi n bng monhoc) - socauhoi:

nick name ng nhp mt khu ng nhp (d di >=6, m ha MD5) tn ngi dng quyn ng nhp (Admin / GV /TS)

m do ngi ra t (phn bit vi msdethi) m s mn hc c kin thc thuc thi (kha s cu hi ca thi

- diemtoida: im ti a -> im 1 cu ca = DiemToiDa / SoCauHoi - thoigian: - msnguoitao: thi gian lm thi (theo pht) m s ngi ra (kha ngoi n bng nguoidung)

* Bng thi gm cu hi: - msdethi: m s thi (kha ngoi n bng dethi)

- thutu: th t cu hi (1,2...), m bo bit ng th t cu hi phng khi cc hng cu hi ca thi b o ln) - thutudapandung: th t xp p n (vd: 2*341, du * trc th t ca p n ng)

* Bng bailam: - msthisinh: MS th sinh lm bi thi (kha ngoi n bng NguoiSuDung) - msdethi: MS thi ca bi lm (kha ngoi n bng DeThi)

- diem: * Bng lambaithi:

im thi (do GV chm hoc chm t ng)

- msbailam: M s bi lm (kha ngoi n bng BaiLam) - thutu: Th t cu hi trong bi lm (1,2, ...)

- thutudapanchon: Th t p n chn (1,2, ...)

Thut ton o

* La chn 1 s lng cu hi ngu nhin - Vi mi hng cu hi trong ngn hng, gn thm 1 trng newid ngu nhin - Sp xp li cc hng cu hi theo trng newid - Chn ra mt s cu hi xp hng u sau khi sp xp => Vit di dng SQL SELECT FROM WHERE top(@SoCauHoi) [MSCauHoi] [OOP8B].[DBO].[CauHoi] MSMonHoc = @MSMonHoc , [SoDapAn]

order by newid()

* Lm tng t vi mi p n thuc tng cu hi. select top(@@SoDapAn) [ThuTuDapAn], [DungSai]

from [OOP8B].[DBO].[DapAn] where [MSCauHoi] = @@MSCauHoi order by newid()

=> La chn c cc cu hi ngu nhin, vi th t p n ngu nhin

2.2. Biu Use Case Cc chc nng chnh ca h thng:

2.2.1 Cc tc nhn ca h thng - Admin: qun l cc thnh vin v cc hot ng chung trong h thng. - Gio vin : L cc gio vin c cc chc nng : To v qun l cu hi, to thi, chm thi - Th sinh : L sinh vin hay l th sinh S tng quan v cc use case trong h thng

Use case qun l ngi dng:

M t i tng Thng tin a vo H thng x l

Ngi dng thc hin ng k, ng nhp, sa thng tin c nhn. Th sinh, gio vin. Ti khon, mt khu, h tn, quyn ng nhp(gio vin hay th sinh ) ng k : kim tra thng tin ng nhp, nu ng lu vo CSDL, nu sai yu cu nhp li. ng nhp: kim tra thng tin ng nhp, nu ng chuyn sang trng thi ng nhp, nu sai y/c nhp li. Sa h s: ghi li s thay i ca ngi dng v lu vo CSDL

Thng tin tr v

Use case qun l kt qu thi:

Phn tch: M t i tng Thng tin vo H thng x l Thng tin tr v Th sinh qun l kt qu ca mnh hoc gio vin qun l kt qu ca th sinh Th sinh, gio vin Mn thi, m , m s th sinh, thi gian Tm bi thi ri a ra kt qu cho ngi dng, nu khng thy hoc c li th a ra thng bo im thi, p n cho tng cu hi.

2.2.2.Cc Use case vi tc nhn Admin

2.2.3.Cc Use case vi tc nhn gio vin

use case qun l cu hi:

M t i tng Thng tin vo H thng x l Thng tin tr v

Gio vin qun l cc cu hi trong ngn hng cu hi Gio vin Cc yu cu ca ngi dng Tm kim, cp nht CSDL, a ra cu hi theo yu cu ca ngi dng. a ra cu hi theo yu cu. Nu c li hoc khng tm thy, a ra thng bo.

Use case qun l thi:

M t i tng Thng tin vo H thng x l Tr v

Gio vin qun l thi trong ngn hng thi. Gio vin Yu cu ca gio vin To , tm, sa, xa , lu vo CSDL, xut ra file .doc a ra thi c to, thng bo thnh cng nu thc hin xong yu cu hoc thng bo li nu khng tn thy hoc c li.

Use case chm thi:

M t i tng Thng tin vo H thng x l Tr v

Gio vin ly bi lm ca sinh vin h thng chm. Gio vin Mn thi, m , m th sinh, thi gian thi So snh p n vi bi lm ca th sinh a ra kt qu thi cho th sinh im thi ca th sinh. S cu sai ng v v tr ca chng.

2.2.4.Cc Use case vi tc nhn sinh vin Use case thi trc nghim:

M t i tng Thng tin vo H thng x l Tr v

Th sinh lm bi trc tip Th sinh M s th sinh, mn thi, thi gian, To thi v a ra kt qu thi khi ht gi. Kt qu thi, s lng cu ng sai, p n chi tit tng cu hi

2.3 Biu tun t Chc nng qun l ngi dng:

Cc chc nng lin quan n admin:

2.3.2.Cc chc nng lin quan n gio vin Qun l cu hi:

Qun l thi:

Chm thi:

2.3.3.Cc chc nng lin quan n th sinh Thi trc nghim

2.4 Biu lp
nguoidung bailam -msbailam -msthisinh -msdethi -diem -maso -taikhoan -matkhau -ten -quyendangnhap +dangky() +dangnhap() +dangxuat() +suahoso() +nhapten() +nhapquyendangnhap() +xemketqua(bailam) dapan -maso -thutu -noidung -dungsai -giaithich

giaovien Thisinh +lambaithi(dethi) admin +duytri(CSDL) +chamdiem(bailam) +them(monhoc) +them(dethi) +them(cauhoi) +sua(monhoc) +sua(dethi) +sua(cauhoi) +xoa(dethi) +xoa(cauhoi) +xoa(monhoc)

monhoc -ten +nhapten() +them(phanmonhoc) +sua(phanmonhoc) +xoa(phanmonhoc) +nhaplistphanmonhoc()

cauhoi -maso -noidung -sodapan -dokho -msmonhoc -msnguoitao +nhapnoidung() +nhapdokho() +nhapmonhoc() +nhapphanmonhoc() +them(dapan) +xoa(dapan) +sua(dapan) +nhapnguoitao() +nhapsodapan() +nhapdapan()

dethi -maso -msmonhoc -socauhoi -msnguoitao -thoigianthi +nhapmonhoc() +nhapthoigian() +nhapdokho() +nhapnguoitao() +nhapsocauhoi() +them(cauhoi) +sua(cauhoi) +xoa(cauhoi) +nhapdanhsachcauhoi()

phanmonhoc -ten -msphanmonhoc +nhapten()

Phn 3:THIT K CHI TIT

CLASS nguoidung
Tn Kiu truy cp Private int Private string Private string Private string Private byte Ngha M s ngi s dng ID ngi dng ng nhp Mt khu ca ngi s dng Tn tht ca ngi s dng Quyn ng nhp (Th Sinh, Gio Vin, Admin) ng k thnh vin ng nhp ng xut Cp nht h s Ly tn ngi dng Tr v quyn ng nhp (th sinh, gio vin, admin, guest) Xem kt qu bi thi

Thuc tnh

maso taikhoan

matkhau

ten

quyendangnhap Phng thc

dangky dangnhap dangxuat suahoso nhapten nhapquyendangnhap

Public bool Public bool Public bool Public bool Public string Public byte

xemketqua(bailam)

Public int

CLASS thisinh : nguoidung Tn Thuc tnh Phng thc lambaithi(dethi) Public BaiLam Thc hin thi trn my Kiu truy cp Ngha

CLASS GiaoVien: nguoidung QuanLyCauHoi, QuanLyDeThi, QuanLyMonHoc Tn Thuc tnh chamdiem(bailam) them(cauhoi) them(monhoc) Phng thc them(dethi) sua(cauhoi) sua(monhoc) sua(dethi) xoa(cauhoi) xoa(monhoc) xoa(dethi) Publiic int Public void Public void Public void Public void Public void Public void Public void Public void Public void Chm im bi lm ca th sinh Thm cu hi vo ngn hng cu hi Thm mn hc vo ngn hng mn hc Thm thi vo ngn hng thi Sa cu hi trong ngn hng cu hi Sa mn hc trong ngn hng mn hc Sa thi trong ngn hng thi Xa cu hi trong ngn hng cu hi Xa mn hc trong ngn hng mn hc Xa thi trong ngn hng thi Kiu truy cp Ngha

CLASS Admin : NguoiSuDung, QuanLyCauHoi, QuanLyDeThi, QuanLyMonHoc Tn Thuc tnh xemThanhVien() Public void Thng k thnh vin ang truy cp Xa thnh vin khi CSDL,cc d liu ca ngi ny s do Admin qun l a ra cc thng k v website nh s lng cu hi,mn hc, thi Kiu truy cp Ngha

Phng thc

xoaThanhVien(taikhoan)

Public void

xemCSDL()

Public void

CLASS BaiLam Tn Thuc tnh msbailam msthisinh msdethi diem Phng thc nhapdiem nhapthisinh nhapdethi Kiu truy cp Private int Private int Private int Private int Public int Public ThiSinh Public DeThi Ngha MS bi lm MS Th sinh lm bi thi MS thi thuc bi lm im c chm Tr v im (-1 : cha chm) Tr v i tng th sinh lm bi thi ny Tr v i tng thi ca bi lm ny

CLASS PhanMonHoc Tn Thuc tnh maso ten Phng thc Nhapten() Kiu truy cp Private int Public string Public string Ngha M s phn mn hc Tn ca phn mn hc Ly m t phn mn hc

CLASS MonHoc Tn Thuc tnh maso ten Phng thc nhapten() them(phanmonhoc) Kiu truy cp Private int Private string Public string Public void Ngha M s mn hc Tn mn hc Tr v tn mn hc Thm mt phn mn hc vo mn hc Xa mt phn mn hc ra khi mn hc Chnh sa mt phn mn hc trong mn hc Ly danh snh phn mn hc

xoa(phanmonhoc)

Public void

sua(phanmonhoc)

Public void

nhaplistphanmonhoc()

Public List<string>

CLASS DapAn Tn Thuc tnh maso thutu Noidung dungsai giaithich Phng thc Kiu truy cp Private int Private byte Private string Private bool Private string Ngha ID p n Th t p n trong cu hi Ni dung p n ng / Sai Gii thch cho p n

CLASS CauHoi Tn Thuc tnh maso noidung sodapan dokho msmonhoc msphanmonhoc msnguoitao Phng thc nhapnoidung nhapsodapan nhapdanhsachdapan nhapdokho nhapmonhoc Kiu truy cp Private int Private string Private byte Private byte Private int Private int Private int Public string Public byte Public DapAn[] Public byte Public MonHoc Ngha M s cu hi Ni dung cu hi S p n ca cu hi kh (1->6) M s mn hc ca cu hi M s phn mn hc ca cu hi M s ngi to ra cu hi Ly ni dung cu hi Ly s p n Ly danh sch i tng p n Ly kh ca cu hi Tr v i tng mn hc ca cu

hi nhapphanmonhoc nhapnguoitao them(dapan) sua(dapan) xoa(dapan) Public PhanMonHoc Public GiaoVien Public void Public void Public void Tr v i tng phn mn hc Tr v i tng gio vin to Thm p n vo cu hi Sa p n khi cu hi Xa p n trong cu hi

CLASS DeThi Tn Thuc tnh maso Msmonhoc socauhoi diemtoida thoigianthi msnguoitao Phng thc Nhapmonhoc nhapsocauhoi nhapdanhsachcauhoi nhapdokho nhapthoigian nhapnguoitao them(cauhoi) xoa(cauhoi) sua (cauhoi) Kiu truy cp Private int Private int Private int Private int Private int Private int Public MonHoc Public int Ngha M s thi MS mn hc ca thi S cu hi ca thi im ti a Thi gian thi (pht) MS ngi ra Tr v i tng mn hc Tr v s cu hi ca thi

Public CauHoi[] Tr v danh sch i tng cu hi ca Public byte Public int Public int Public void Public void Public void Tnh ton tr v d kh TB ca thi Ly thi gian thi Ly m s ngi to Thm cu hi vo thi Xa cu hi khi thi Sa cu hi trong thi

INTERFACE QuanLyMonHoc Tn Thuc tnh them(monhoc) Public static void Public static void Public static void Thm mn hc Kiu truy cp Ngha

sua(monhoc) Phng thc

Sa thng tin mn hc

xoa (monhoc)

Xa mn hc

INTERFACE QuanLyCauHoi Tn Thuc tnh them(cauhoi) Phng thc sua (cauhoi) xoa (cauhoi) Public static void Thm cu hi Public static void Sa thng tin cu hi Public static void Xa cu hi Kiu truy cp Ngha

INTERFACE QuanLyDeThi Tn Thuc tnh them(dethi) Phng thc sua(dethi) xoa(dethi) Public static void Thm thi Public static void Sa thng tin thi Public static void Xa thi Kiu truy cp Ngha

Phn 4:KT LUN V NH GI I, nh gi chng trnh Sau 2 thng tm hiu v nghin cu, chng em hon thnh n mn hc Lp trnh hng i tng. Trong qu trnh nghin cu, chng em hc c rt nhiu v phng thc thit k hng i tng, cng ngh MVC. 1. u im

2. Nhc im

II Phn chia cng vic nhm H tn Trn Quang Chin (nhm trng) Nguyn Bo Chung Trn Nam Sn Khc Tr Cng vic Ghi ch

You might also like