Micrsoft Visual C ++ Toolkit 2003 đã đ c thi t k và cho phép ng i phát tri n biên d ch và ki m tra m t ng d ng v i đ y đ các tính n ng c a m t trình biên
HU
TEC
H
dch. Trình biên d ch này ch thích h p cho nh ng ng d ng nh và th t s h u ích đ i v i nh ng ng i m i b t đ u h c l p trình C/C++.
Micrsoft Visual C ++ Toolkit 2003 không có giao di n, nó ch đ n gi n là m t trình biên dch. B n c n m t trình so n th o (notepad,…) và m t c a s Dos (command prompt).
Micrsoft Visual C ++ Toolkit 2003 đ c Microsoft cung c p mi n phí t i đ a
ch we
Khi cài đ t thì Micrsoft Visual C ++ Toolkit 2003 s t c u hình cho b n. Sau khi cài đ t, chú ý t i các th m c bin, include, lib.
kích h at compiler, s d ng file Visual C++ Toolkit 2003 Command Prompt.exe.
Sau đó s có màn hình command prompt hi n lên, mu n biên d ch m t file C/C++, ta dùng cú pháp cl *.c.
Ví d : cl c:\test.c
n u quá trình biên d ch không có l i thì b n s đ c thông báo Microsoft ( R ) Incremental Linker Version 7.10.3077
Copyright ( C ) Microsoft Corporation.All rights reserved /out : test.exe
test.obj
bi t thêm nh ng tham s : cl /help
2.2.6 Công c đã đ c s d ng
HU
TEC
H SharpLibrary
Là t p h p nh ng control b sung cho controlbox c a .NET, đ c cung c p b i SharpLibrary Inc.
ây là nh ng control giúp t o giao di n đ p . Bao gm 52 control, t nh ng control c b n t i nh ng control m r ng.
dockingsuite
Là control giúp thi t k ch ng trình có thêm m t c a s gi ng v i controlbox c a .NET. c vi t b i Tim Dawson.
XPExplorerBar
ây là control t o giao di n gi ng v i Explorer c a Windows XP. c cung c p b i Mathew Hall.
U
TEC
H Cách s d ng :
Trong môi tr ng .NET ta References vào Add Reference … và ch n Browser t i 3 file : sharplibrary.dll, dockingsuite.dll, XPExplorerBar.dll.
Balloon
ây là mt project ng Balloon
HU TEC H CH NG 3 PHÂN TÍCH VÀ THI T K 3.1 Nh ng ch c n ng chính Ch ng trình có nh ng ch c n ng sau: - H tr h c t p Khi s d ng ch ng trình, ng i dùng có th ch n m t bài h c c a s hi n th bài h c. Trong ph n bài h c có nh ng ví d , tên c a nh ng ví d là tên file ch a d li u c n thi t cho vi c ch y debug ví d đó. V i m t bài h c, có m t file t ng ng đ c l u trong th m c c a ch ng trình. Các thông tin còn l i c a bài h c nh tên, đ ng d n t i file ch a d li u đ c l u tr trong c s d li u. Khi ch ng trình ch y thì d li u nh tên bài h c, đ ng d n s đ c l y lên treeView.
- Ch y debug ví d demo
Khi đang bài h c nào mà có ví d thì ng i dùng có th ch n (b ng cách s d ng chu t bôi đen ph n tên ví d ) và nh n chu t ph i đ xem debug c a ví d đó. Khi đó, s có m t form đ hi n th t ng b c ch y cùng v i k t qu . th c hi n debug, ch ng trình có s d ng m t file mô t quá trình ch y debug.
HU
TEC
H - Làm bài t p
M i bài h c s có ph n bài t p riêng. Ng i dùng có th làm bài và l u l i đ có thêm t li u. Bài t p đ c l u ra file trong th m c c a ch ng trình, ph n c s d li u ch l u đ ng d n t i file bài t p đó. Trong bài t p thì có thêm ph n bài gi i, bài gi i c ng đ c l u ra file riêng và trong c s d li u ch l u đ ng d n t i file đó.
Khi làm bài tp có th ch y th ph n v a làm, s có thông báo l i và k t qu c a ch ng ph n bài t p v a làm.
- Làm bài ki m tra
Bài kim tra là cách ng i h c đánh giá l i ki n th c c a mình sau khi đ c xong ch ng. Bài ki m tra đ c th hi n d ng tr c nghi m.
- T o th vi n
Khi ng i dùng đ ng ký thành viên thì có th s d ng thêm tính n ng t o th vi n. Thành viên có th dùng th vi n nh là m t quy n s tay riêng. T t c thông tin đ u mang tính cá nhân. Th vi n có th l u đ c nh ng chú thích ho c đ ng d n t i file ho c th m c. ng th i b n có th l u đ c hình nh đ i di n cho ph n th vi n b n v a m i t o.
3.2 Phân tích UML
HU
TEC
HChon khoa hoc Tao thu vien
Khach
Chon bai hoc
Khach khong dang ky
Chon cach hoc
<<extend>>
<<extend>> Chay Demo Vi du
<<extend>>
Dang ky thanh vien
Lam bai tap Hoc Vien
Bai kiem tra
Quan ly dang nhap
Admin
Quan ly dang ky
- Use case “ ng ký thành viên” : Ngi s d ng đ ng ký (username, password) v i ch ng trình. N u username h p l thì h th ng s c p m t tài kho n. Mà l n sau vào ng i dùng có th s d ng tài kho n đó đ đ ng nh p vào h th ng.
- Use case “To th vi n” : Cho phép ng i dùng (thành viên) t o ra th vi n riêng, ch có th xem khi đ ng nh p vào h th ng.
HU
TEC
H
- Use case “Ch y demo ví d ” : Khi đang xem m t bài h c nào, n u có ph n ví d thì ng i dùng có th xem quá trình ch y debug cho ví d đó.
- Use case “Ch n cách h c” : Ng i dùng có th ch n theo 2 cách h c.
- Use case “Làm bài tp” : X lý vi c th c hi n bài t p c a ng i dùng, bao g m l u, cho xem bài m u và làm bài.
- Use case “Bài ki m tra” : Ng i dùng sau khi đ c xong m t ch ng thì có th làm th bài ki m tra. Là bài tr c nghi m ki m th c thu c m t ch ng nào đó. Khi làm xong bài thì có th l u l i.
- Use case “Qu n lý đ ng nh p” : Khi ng i dùng đ ng nh p vào h th ng thì s ki m tra username và password.
- Use case “Qu n lý đ ng ký” : Khi ng i dùng đ ng ký, c n cung c p username. Use case Quan ly dang ky xem username ng i dùng đ ng ký đã đ c s d ng ch a. N u ch a thì cho đ ng ký. Ng c l i, thông báo cho ng i dùng.
- Mô hình use case cho use case “Tao thu vien”
Them vao thu vien
Cap nhat Thanh vien
HU
TEC
H
- Use case “Thêm vào th vi n” : Khi ng i dùng đang s d ng th vi n, h có th thêm m t tr ng thông tin vào th vi n.
- Use case “C p nh t” : Sau khi ch nh s a xong bao g m nh ng thông tin : ghi chú, đ ng d n t i m t file ho c th m c, hình nh, tên c a tr ng th vi n thì ng i dùng có th c p nh t thông tin.
- Use case “Thay đ i thông tin” : X lý vi c thay đ i tên và n i dung (ghi chú, đ ng d n và hình nh).
3.2.2 Mô hình ho t đ ng (Activity)
Bat Dau
HU
TEC
H
- Mô t : Ng i dùng có th ch n m t trong 2 cách h c là h c theo bài h c ho c là theo khóa h c. N u ch n bài h c thì ch ng trình s không theo dõi. Khi ch n theo khóa h c, ch ng trình s theo dõi quá trình h c và thông báo cho ng i dùng. V i yêu c u là ph i đ ng ký thành viên.
Bat Dau Chon bai
tap
HU
TEC
H
- Mô t : Khi ch n m t bài t p, ch ng trình s l y yêu c u c a bài t p đ c l u trong file th m c c a ch ng trình. Và ng i dùng s có hai s l a ch n, xem bài gi i ho c làm bài (vi t code theo yêu c u c a đ ). N u mu n l u l i đ tham kh o thì có th s d ng ch c n ng l u.
Bat Dau
Nguoi dung chon
HU
TEC
H
- Mô t : ki m tra l i ki n th c, ng i dùng có th ch n là làm bài ho c xem bài gi i.Sauđó n u mu n có th l u l i.
Bat Dau
Cho username va password
HU
TEC
H
cho ng i dùng đ ch n username khác. Còn username là hp l , ch n g trình s thông báo là tài kho nđã đ c t o.
Bat Dau
Nguoi hoc nhap username va passwor
Du khong phai la thanh vien Nhung hoc vien van duoc su dung chuong trinh nhung co su gioi han.
HU
TEC
H
- Mô t : Ng i dùng ph i cung c p username và password, h th ng s ki m tra. N u là username và password đúng thì vào tài kh an, ng c l i thông báo đ ng nh p không thành công cho ng i dùng bi t.
HU
TEC
H
Mô t : Khi ng i dùng mu n t o th vi n thì ph i cung c p username và password. N u đúng ng i dùng có th thao tác trên node c a th vi n, bao g m các thao tác sau : Câp nh t, t o m i, xóa.
HU TEC H CH NG 4 TH C HI N VÀ K T QU 4.1 L P TR U T NG (ABSTRACT) 4.1.1 Business Layer - IBaihoc
Abstract IBaihoc t ng quát hóa các thao tác tr c ti p đ i v i d li u trong c s d li u. Là l p d n su t c a 3 l p : BaihocBusiness, BaitapBusiness, ChuongBusiness.
Bao g m các ph ng th c :
public abstract ArrayList LayDanhSachTen (IBaiHoc ten) : Ly bài h c tùy theo yêu c u c th l p d n su t.
public abstract ArrayList LayBaiHoc () : Ph ng th c tr v m t danh sách các bài h c tùy thu c vào yêu c u c a l p d n xu t.
HU
TEC
H
public abstract Hashtable LayBangBaiHoc () : Ph ng th c thao tác v i ch ng và bài hc. Id c a ch ng trong c s d li u là key s d ng trong Hashtable, t ng element là nh ng bài h c thu c ch ng.
- IHoc
Abstract IHoc là t ng quát hóa c a HocBusiness, thao tác v i d li u trên b ng QUATRINHHOC.
Bao g m các ph ng th c :
public abstract void ThemMoi (Data_Layer.QuaTrinhHoc qt) : Thêm m i m t quá trình h c.
public abstract void CapNhat (Data_Layer.QuaTrinhHoc qt) : C p nh t l i quá trình h c c a m t user.
public abstract ArrayList LayThongTin (string userid) : L y t t c quá trình h c c a m t user.
- INguoidung
HU
TEC
H
Abstract INguoidung là t ng quát hóa c a NguoidungBusiness, thao tác d li u trên b ng NGUOIDUNG.
Bao g m các ph ng th c
public abstract bool ThemNguoiDung(Data_Layer.NguoiDung user) : Ph ng th c này đ m nhi m vi c thêm m i m t ng i dùng.
public Data_Layer.NguoiDung KiemTra(Data_Layer.NguoiDung user) : Ki m tra xem có đúng là ng i dùng đã đ ng ký .
- IThuvien
Abstract IThuvien là tng quá hóa c a ThuvienBusiness, thao tác trên b ng THUVIEN.
Bao g m các ph ng th c:
public abstract void CapNhat (Data_Layer.ThuVien tv) : C p nh t th vi n. public abstract void Them (Data_Layer.ThuVien tv) : Thêm m t tr ng d li u. public abstract void Xoa (int tv) : Xóa theo mã th vi n.
HU TEC H 4.1.2 Data Layer - ILyThuyet
Abstract ILyThuyet là tng quá hóa c a 7 l p : Kiemtra, Baitap, Baihoc, Nguoidung, Chuong, Quatrinhhoc, Thuvien. 7 l p chuyên bi t hóa này có nhi m v là ch a d li u đ c l y lên t c s d li u.
Các thu c tính :
ID : string Là mã dùng đ phân bi t.
Path : string Là đ ng d n t i file ch a d li u. Name : string Tên đ i di n.
4.2 MÔ HÌNH L P (CLASS DIAGRAM)
4.2.1 Bussiness Layer
- Theo dõi quá trình h c
HU
TEC
H Mô t :
L p HocBusiness th a k t l p IHoc. N u ng i dùng đã đ ng ký làm thành viên, khi xem ch ng nào thì ch ng trình s ghi nh n nh ng ch ng đang xem đ có th thông báo cho ng i dùng bi t vào nh ng l n đ ng nh p sau.
Bao g m các ph ng th c :
public override void ThemMoi (Data_Layer.QuaTrinhHoc qt) : Khi ng i dùng đ ng nh p vào h th ng và xem m t bài h c lúc đó ch ng trình s t o m t object QuaTrinhHoc đ l u l i thông tin bao g m (MaQuaTrinhHoc, ID_Chuong, username, NgayHoc, IsKhoaHoc), nh ng thông tin này s đ c l u vào c s d li u khi ng i dùng ch n xem m t ch ng khác.
public override void CapNhat (Data_Layer.QuaTrinhHoc qt) :Khi ng i dùng đ ng nh p vào h th ng và xem m t bài h c lúc đó ch ng trình s t o m t object QuaTrinhHoc đ l u l i thông tin bao g m (MaQuaTrinhHoc, ID_Chuong, username, NgayHoc, IsKhoaHoc), nh ng thông tin này s đ c l u vào c s d li u khi ng i dùng ch n xem m t ch ng khác. Trong ph ng thc này s có ph n ki m tra xem MaQuaTrinhHoc đã t n t i ch a.
public override ArrayList LayThongTin (string userid) : Khi ng i dùng đ ng nh p vào h th ng, ch ng trình s s d ng username đ l y t t c các quá trình h c. M i tr ng d li u quá trình h c s ng v i m t th hi n c a QuaTrinhHoc.
HU
TEC
H Mô t :
L p NguoidungBusiness th a k t l p tr u t ng INguoidung. H tr cho vi c ng i dùng đ ng ký làm thành viên. Mu n đ ng ký, ng i dùng ph i cung c p tên truy c p và m t kh u.
Bao g m các ph ng th c:
public override bool ThemNguoiDung(Data_Layer.NguoiDung user) : Khi ng i dùng ch n đ ng ký, ph ng th c này g i ph ng th c KiemTra. N u ch a ph i thành viên thì ch ng trình s t o tài kho n m i v i username và passwor d ng i dùng đ ng ký, n u trùng username thì s thông đ ng i dùng ch n m t username khác.
public override Data_Layer.NguoiDung KiemTra(Data_Layer.NguoiDung user) : Ki m tra xem có đúng là ng i dùng đã đ ng ký hay ch a.
- Bài t p
HU
TEC
H Mô t :
L p BaitapBusiness th a k t l p IBaihoc. Ng i dùng ch n ch c n ng làm bài t p, ch ng trình ph i l y t t c nh ng bài t p thu c ch ng.
Bao g m các ph ng th c sau :
public abstract ArrayList LayDanhSachTen (IBaiHoc ten) : Ph ng th c này dùng đ l y m t danh sách bài t p tùy thu c vào tham s truy n vào.
public abstract ArrayList LayBaiHoc () : Khi c n l y m t danh sách t t c các bài t p nh ng không phân bi t ch ng nào.
public abstract Hashtable LayBangBaiHoc () : Ph ng th c này đ c g i khi ng i dùng vào ph n bài t p l n đ u ho c l y d li u lên sau khi ch nh s a, toàn b bài t p thu c t t c các ch ng. K t qu tr v là m t danh sách các đ i t ng bài t p. M i đ i t ng là m t tr ng d li u trong c s d li u.
HU
TEC
H Mô t :
L p BaihocBusiness th a k t l p IBaihoc. X lý nh ng thao tác liên quan t i d li u thu c b ng BAIHOC.
Bao g m các ph ng th c sau:
public override ArrayList LayDanhSachTen (IBaiHoc ten) : Ph ng th c này dùng đ l y m t danh sách bài h c tùy thu c vào tham s truy n vào.
public override ArrayList LayBaiHoc () : Khi c n l y m t danh sách t t c các bài h cnh ng không phân bi t ch ng nào.
public override Hashtable LayBangBaiHoc () : Ph ng th c này đ c g i khi ch ng trình load hay là ng i dùng vào xem các bài h c. Ph ng th c này s l y lên m t Hashtable. Bao g m khóa là nh ng mã ch ng và t ng thành ph n c a Hashtable là ArrayList, cha n h ng bài h c. Data_Layer.Baihoc và Business_Layer.ChuongBusiness tham giao vào hàm này.
public Data_Layer.BaiHoc LayBai (string id) : ây là ph ng thc riêng c a l p BaihocBusiness, ph ng th c này nh n m t đ i s là id, mã c a bài h c. Khi ph ng th c đu c g i, k t qu tr v là đ i t ng Data_Layer.Baihoc có cùng mã bài