KHOA CNTT – ĐH KHTN
Phần mềm hỗ trợ giải toán bất đẳng thức
39
- Nội dung bài giải
- Thời gian giải
- Thời điểm bắt đầu
- Điểm số
- Kiểm tra bước giải mới
- Xử lý bước giải
- Thêm bước giải
- Lưu bài giải
- Import bài giải
- Kiểm tra bài giải toàn bộ
- Chấm điểm
Đáp án
- Mã số
- Nội dung đáp án
- Ngày soạn
- Lưu đáp án
Bước giải
- Bất đẳng thức hoặc đẳng thức
- Khởi tạo bước giải
- Kiểm tra bước giải đúng ( hàm ảo)
KHOA CNTT – ĐH KHTN
Phần mềm hỗ trợ giải toán bất đẳng thức
40
Bất đẳng thức
- Biểu thức vế lớn
- Biểu thức vế nhỏ
- Khởi tạo từ chuỗi
- Lấy dạng chuỗi
- Kiểm tra bất đẳng thức là đúng
- Kiểm tra tương đương
Bài học
- Chủ đề bài học
- Nội dung bài học
KHOA CNTT – ĐH KHTN
Phần mềm hỗ trợ giải toán bất đẳng thức
41
PHẦN IV : THIẾT KẾ PHẦN MỀM
I THIẾT KẾ TỔNG THỂ
1 Thành phần xử lý
Hệ thống các đối tượng xử lý của phần mềm này được thiết kế theo mô hình
3 lớp gồm có:
- Lớp đối tượng giao tiếp người dùng
o Mô tả các thông tin trong màn hình giao diện
o Mô tả hình thức bố trí nội dung màn hình giao diện
o Mô tả các thao tác của người dùng trên màn hình giao diện.
- Lớp đối tượng xử lý chính
o Mô tả các thông tin về đối tượng.
o
Mô tả các hành động (hàm xử lý) mà đối tượng chịu trách nhiệm
thực hiện.
- Lớp đối tượng giao tiếp bộ nhớ
o Mô tả chi tiết các thông tin về đối tượng phải lưu trữ.
o Mô tả các hành động giao tiếp với bộ nhớ phụ (lấy dữ liệu, thêm,
sửa đổi hoặc xóa dữ liệu)
KHOA CNTT – ĐH KHTN
Phần mềm hỗ trợ giải toán bất đẳng thức
42
Mô hình này hoạt động theo nguyên tắc sau:
Hình 16: Mô hình 3 lớp của phần mềm
Sau đây là danh sách các đối tượng xử lý của phần mềm
Loại đối
tượng
Tên đối tượng Diễn giải
MH_HeGiaoVien Màn hình giao tiếp giữa giáo viên
với phần mềm
MH_SoanBaiTap Màn hình dùng để giáo viên soạn
bài tập
MH_DapAn Màn hình dùng để giáo viên soạn
đáp án
MH_LyThuyet Màn hình soạn lý thuyết
Đối tượng
giao tiếp
người
dùng
Phân hệ
giáo viên
MH_XemBaiGiai Màn hình dùng để xem các bài
giải của học sinh gởi đến để chấm
điểm.
Đối tượng
giao tiếp
người dùng
Đối tượng xử
lý chính
Đối tượng
giao tiếp bộ
nhớ phụ
Chuyển điều khiển
Chuyển điều khiển
Bộ nhớ
p
h
ụ
Nhận biến
cố
Cập nhật và
truy xuất
KHOA CNTT – ĐH KHTN
Phần mềm hỗ trợ giải toán bất đẳng thức
43
MH_SoanQDCD Màn hình soạn các quy định dùng
để chấm điểm bài giải của học
sinh.
MH_ThemSachBT Màn hình thêm sách bài tập
MH_HeHocSinh Màn hình giao tiếp giữa học sinh
với phần mềm
MH_GiaiBT Màn hình dùng để học sinh giải
bài tập
MH_XemBaiGiai Màn hình dùng để học sinh xem
lại bài giải của mình
MH_XemDapAn Màn hình để học sinh xem đáp án
của bài tập
Phân hệ
học sinh
MH_XemLyThuyet Màn hình để học sinh học lý
thuyết
CGiaoVien Lớp điều khiển, quản lý toàn bộ
các lớp đối tượng trong hệ thống
CSachBaiTap Lớp xử lý sách bài tập
CBaiTap Lớp xử lý bài tập
CBaiHoc Lớp xử lý bài học lý thuyết
CDapAn Lớp xử lý đáp án của một bài tập
CBaiGiai Lớp xử lý bài giải của một bài
tập, gồm có hai lớp con dưới đây
CBaiGiaiTuDo Lớp xử lý bài giải loại giải tự do
Đối tượng
xử lý
chính
CBaiGiaiDapAn Lớp xử lý bài giải loại giải theo
KHOA CNTT – ĐH KHTN
Phần mềm hỗ trợ giải toán bất đẳng thức
44
đáp án
Đối tượng
giaotiếp
bộ nhớ
CSDL Lớp xử lý mọi vấn đề về truy xuất
hay cập nhật dữ liệu.
Bảng 6: Bảng danh sách các lớp đối tượng của chương trình
Với thiết kế 3 lớp như trên, hệ thống các đối tượng của phần mềm phối hợp với
nhau hoạt động theo các sơ đồ phối hợp tổng thể sau đây.
KHOA CNTT – ĐH KHTN
Phần mềm hỗ trợ giải toán bất đẳng thức
45
Hình 17: Sơ đồ phối hợp tổng thể phân hệ học sinh
CSDL
CBaiTap
MH_ChinhHS
CGiaoVien
CBaiGiai
Hoc sinh
CBuocGiai
CBatDangThuc
MH_GiaiBT
MH_XemDapAn
MH_XemBaiGiai
CDapAn
CSachBaiTap
KHOA CNTT – ĐH KHTN
Phần mềm hỗ trợ giải toán bất đẳng thức
46
Hình 18: Sơ đồ phối hợp tổng thể phân hệ giáo viên
CSDL
CBaiTap
MH_HeGiaoVien
CGiaoVien
CBaiHoc
Giao vien
MH_SoanBT
MH_DapAn
MH_LyThuyet
CSachBaiTap
CDapAn
KHOA CNTT – ĐH KHTN
Phần mềm hỗ trợ giải toán bất đẳng thức
47
2 Tổ chức dữ liệu
Cơ sở dữ liệu của chương trình được lưu trữ trong Access và được tổ chức
theo sơ đồ logic sau:
Hình 19: Sơ đồ logic
Sau đây là tổ chức bảng dữ liệu của chương trình:
SACHBAITAP
STT Thuộc tính Kiểu dữ liệu Diễn giải
1 MaSach AutoNumber Mã số sách
2 TenSach Text Tên sách
BAITAP
STT Thuộc tính Kiểu dữ liệu Diễn giải
1 MaSach Number
2 MaBT AutoNumber Mã bài tập
Bài tập
Bài giải
Đáp án
Sách bài tập Bài học
KHOA CNTT – ĐH KHTN
Phần mềm hỗ trợ giải toán bất đẳng thức
48
3 ThoiGian Number Thời gian tối đã cho
phép để giải
4 DoKho Text Mức độ khó
5 DeBai Text Đề bài
6 TenBT Text Tên bài tập
7 GhiChu Memo
BAIGIAI
STT Thuộc tính Kiểu dữ liệu Diễn giải
1 MaBT Number
2 MaBG Text Mã bài giải do người
dùng đặt
3 NoiDung Memo Nội dung bài giải
4 ThoiDiem DateTime Thời điểm bắt đầu giải
5 ThoiGian Number Thời gian để giải xong
tính theo phút
6 HoanTat Yes/No Thụôc tính cho biết bài
giải đã hoàn tất chưa
7 NhanXet Text Các đánh giá về bài giải
(nếu có)
8 Diem Number Điểm số của bài giải (nếu
có)
9 LoaiGiai Text Loại bài giải ( giải tự do
hay theo đáp án)
KHOA CNTT – ĐH KHTN
Phần mềm hỗ trợ giải toán bất đẳng thức
49
DAPAN
STT Thuộc tính Kiểu dữ liệu Diễn giải
1 MaBT Number
2 MaDA AutoNumber Mã số đáp án
3 NoiDung Memo Nội dung đáp án
BAIHOC
STT Thuộc tính Kiểu dữ liệu Diễn giải
1 MaBH AutoNumber Mã số của bài học
2 ChuDe Text Chủ đề bài học
3 NoiDung Memo Nội dung bài học
Ngoài ra còn có thêm hai bảng phụ để chứa các tham số dùng trong chương
trình và bảng chứa các biểu thức dương dùng để phát sinh bài tập.
Bảng tham số
STT Thuộc
tính
Kiểu dữ
liệu
Giá trị
mặc định
Diễn giải
1 TS1 Number 10 Thang điểm tối đa cho bài giải
2 TS2 Number 1 Số điểm cộng cho mỗi bất đẳng thức
trung gian chứng minh xong
3 TS3 Number 0 Số điểm bị trừ cho một lần bị nhắc nhở
4 TS4 Number 0 Số điểm trừ cho một lần xem bước giải
tiếp (đối với bài giải đáp án)
KHOA CNTT – ĐH KHTN
Phần mềm hỗ trợ giải toán bất đẳng thức
50
Bảng từ khoá
STT Thuộc tính Kiểu dữ liệu Diễn giải
1 Loai Number Loại từ khoá
2 TuKhoa1 Text
3 TuKhoa2 Text
Bảng BIEUTHUCDUONG
STT Thuộc tính Kiểu dữ liệu Diễn giải
1 MaBT AutoNumber Mã số của biểu thức dương
2 BieuThucDuong Text Nội dung của biểu thức dương
KHOA CNTT – ĐH KHTN
Phần mềm hỗ trợ giải toán bất đẳng thức
51
II THIẾT KẾ CHI TIẾT
Nội dung được trình bày ở phần này bao gồm:
Diễn giải chi tiết theo từng màn hình: mô tả chi tiết nội dung màn hình
và các biến cố của màn hình
Hệ thống hàm của các lớp đối tượng: mô tả các hàm xử lí của tất cả
các lớp đối tượng khác
Sơ đồ hoạt động chi tiết một số xử lý.
1 Diễn giải chi ti
ết theo từng màn hình
Mỗi màn hình sẽ được mô tả chi tiết theo các nội dung sau
- Nội dung màn hình ( các thuộc tính của màn hình)
- Danh sách các biến cố xảy ra trên màn hình đó và thuật toán xử lý các
biến cố đó.
1.1 MH_HeHocSinh
1.1.1 Nội dung màn hình
STT Thuộc tính Loại Diễn giải
1 tabControlLopDoiTuong TabControl TabControl chứa các đối
tượng chính
2 Panel Panel Khung để đặt các màn hình
con lên, ví dụ như
MH_GiaiBT…
3 tabPageSachBaiTap TabPage Tabpage chứa tất cả các bài
tập của một sách bài tập
KHOA CNTT – ĐH KHTN
Phần mềm hỗ trợ giải toán bất đẳng thức
52
4 tabPageSachBaiHoc TabPage Tabpage chứa các bài học lý
thuyết trong sách bài học
5 tabControlSachBaiTap TabPage Tabpage chứa tất cả các bài
tập của một quyển sách bài
tập
6 mainMenu MainMenu Thực đơn chính của màn
hình phân hệ học sinh
7 mniChucNangPhu MenuItem Chứa các chức năng phụ của
chương trình
8 mniGiupDo MenuItem Chức các chức năng hỗ trợ
khác
9 mniCNP_Email MenuItem Chức năng Soạn quy định
chấm điểm
10 mniThoat MenuItem Chức năng thoát chương
trình
11 mniGD_HuongDan MenuItem Chức năng Hướng dẫn sử
dụng chương trình
12 mniGD_GioiThieu MenuItem Chức năng giới thiệu về
chương trình
KHOA CNTT – ĐH KHTN
Phần mềm hỗ trợ giải toán bất đẳng thức
53
Hình 20: Màn hình chính hệ học sinh
5 - tabControlSachBaiTap
2- panel : khung để đặt các màn hình con
3 - tabPageSachBaiTap
4 -tabPageSachBaiHoc
6 -mainMenu
1 -tabControlLopDoiTuong
KHOA CNTT – ĐH KHTN
Phần mềm hỗ trợ giải toán bất đẳng thức
54
1.1.2 Danh sách các biến cố
STT Biến cố Diễn giải Hàm xử lý
1 Click chọn
vào tab đối
tượng
Người dùng chọn loại đối
tượng (bài tập hay lý thuyết)
bằng cách click vào tab tương
ứng
tabControlDo
iTuong_Selec
tionChanged
2 Chọn sách
bài tập khác
Người dùng click chọn sách bài
tập khác trong các tab Sách bài
tập
tabctrlSachB
aiTap_Select
ionChanged
3 Chọn chức
năng giải bài
tập
Người dùng nhấp phải vào bài
tập để chọn Giải bài tập
ChonMucGiaiB
aiTap
4 Chọn mục
xem bài giải
Người dùng nhấp phải vào bài
tập để chọn Xem bài giải.
Biến cố này do lớp CBaiTap
xử lý.
ChonMucXemBa
iGiai
5 Chọn mục
xem đáp án
Người dùng nhấp chuột phải
vào bài tập để chọn mục Xem
đáp án.trọng thực đơn
ChonMucXemDa
pAn
6 Chọn mục
thêm sách bài
tập
Người dùng nhấp phải trên
danh sách các sách bài tập để
chọn mục Thêm sách mới trong
thực đơn
KHOA CNTT – ĐH KHTN
Phần mềm hỗ trợ giải toán bất đẳng thức
55
1.2 MH_GiaiBT
1.2.1 Nội dung màn hình
ST
T
Thuộc tính Loại Diễn giải
1 rtbDeBai RichTextBox Dùng để hiển thị để bài tập đang
giải
2 ckKiemTraTungBuoc Đánh dấu vào ô này để chọn chế
độ giải kiểm tra từng bước.
3 ckDanhSoTuDong CheckBox Đánh dấu vào ô này để chọn chế
độ đánh số bước giải tự động.
4 ckHoTroGiaiNhanh CheckBox Đánh dấu vào ô này để chọn chế
độ hỗ trợ giải nhanh bằng cách
phát sinh một phần bước giải
5 tabPageBaiGiaiTuDo TabPage TabPage chứa bài giải tự do
6 tabPageBaiGiaiDapAn TabPage TabPage chứa bài giải theo đáp
án
7 rtbBaiGiaiTuDo HopVanBan HopVanBan là lớp kế thừa từ
RichTextBox.
Có hai hộp văn bản dùng để giải
bài tương ứng với hai loại giải tự
do và theo đáp án.
8 rtbBaiGiaiDapAn HopVanBan nt
9 lbDongHo Label Hiển thị đồng hồ canh giờ cho
KHOA CNTT – ĐH KHTN
Phần mềm hỗ trợ giải toán bất đẳng thức
56
học sinh giải bài tập
10 ckTrangThai CheckBox Nhấn vào nút này để bắt đầu giải
hay tạm dừng.
11 ckXemGoiY CheckBox Người dùng check vào ô này nếu
muốn hiển thị gợi ý cho bước
giải tiếp theo trong đáp án
12 tbGoiY TextBox TextBox để hiển thị gợi ý cho
bước giải tiếp theo trong đáp án
13 btnBuocGiaiTiep Button Nhấp vào nút này để hiển thị
bước giải tiếp theo trong đáp án
cho học sinh trong lúc giải bài.
14 btnQuayLui Button Nhấp vào nút này để quay lui
một bước giải trước đó
15 btnKiemTraBaiBai Button Nhấp vào nút này để kiểm tra bài
giải trong trường hợp người dùng
không chọn kiểm tra từng bước .
16 btnKhung<1-13> Button Các nút để tạo khung bước giải
tương ứng
KHOA CNTT – ĐH KHTN
Phần mềm hỗ trợ giải toán bất đẳng thức
57
Hình 21: Màn hình giải bài tập
9
10
11
12
13
16
1
3
24
5
6
Editor để
giải bài tập
14
15
7
8
KHOA CNTT – ĐH KHTN
Phần mềm hỗ trợ giải toán bất đẳng thức
58
1.2.2 Danh sách các biến cố
STT Biến cố Diễn giải Hàm xử lý
1 Click chuột vào điều
khiển số 8
Người dùng nhấn vào
đây để bắt đầu hay tạm
ngưng việc giải.
ckTrangThai_Ch
eckedChanged
2 Chọn loại bài giải
khác
Người dùng nhấn chọn
tab loại giải là giải tự
do hay giải theo đáp
án
tabBaiGiai_Sel
ectedIndexChan
ged
4 Click vào điều khiển
số 2
(ckKiemTraTungBu
oc)
Người dùng bật / tắt
chế độ giải Kiểm tra
từng bước
ckKiemTraTungB
uoc_CheckedCha
nged
5 Click vào điều khiển
số 10
(btnKiemTraBaiGiai
)
Người dùng nhấn nút
kiểm tra bài giải
btnKiemTraBaiG
iai_Click
6 Click vào điều khiển
số 9 (btnQuayLui)
Người dùng nhấn nút
quay lui để quay lui về
một bước giải trước
btnQuayLui_Cli
ck
KHOA CNTT – ĐH KHTN
Phần mềm hỗ trợ giải toán bất đẳng thức
59
7 Nhấn phím enter
trong editor giải bài
tập
Người dùng nhấn
Enter để sang bước
giải mới sau khi kết
thúc một bước giải.
Biến cố này sẽ được
xử lý trong trường hợp
chế độ giải là Kiểm tra
từng bước.
rtbBaiGiai_Key
Down
Click vào điều khiển
btnQuayLui
Click chuột vào nút
này hiển thị bước giải
tiếp theo trong đáp
btnBuocGiaiTie
p_Click
8 Click chuột vào mục
Lưu bài giải
Người dùng nhấn
phím phải chọn mục
Lưu bài giải trong khi
đang giải hoặc sau khi
giải xong.
mucLuuBaiGiai.
Click
9 Click chọn mục
Import bài giải
Người dùng nhấn phải
vào edior bài giải và
chọn mục Import bài
giải để import một bài
giải từ file vào edior
mucImportBaiGi
ai.Click
KHOA CNTT – ĐH KHTN
Phần mềm hỗ trợ giải toán bất đẳng thức
60
10 Click chọn mục
Import bài giải
Người dùng nhấn phải
vào edior bài giải và
chọn mục Export bài
giải để export một bài
giải ra file
mucExportBaiGi
ai.Click
1.3 MH_XemBaiGiai
1.3.1 Nội dung màn hình
STT Thuộc tính Loại Diễn giải
1 lvDSBaiGiai ListView ListView chứa danh sách các bài giải
của bài tập được chọn.
2 rtbNoiDung RichTextBox Chứa nội dung của bài giải được
chọn
3 rtbNhanXet RichTextBox Chứa nhận xét về bài giải
4 btnPrint Button Chức năng in bài giải ra giấy
KHOA CNTT – ĐH KHTN
Phần mềm hỗ trợ giải toán bất đẳng thức
61
Hình 22: Màn hình xem bài giải
1.3.2 Danh sách các biến cố
STT Biến cố Diễn giải Hàm xử lý
1 Click chọn
bài giải
Người dùng click
chọn bài giải cần xem
trong lvDSBaiGiai
lvDSBaiGiai_SelectedInd
exChanged
2 Click chọn
nút In
Người dùng muốn in
bài giải ra giấy
btnPrint_Click
1-lvDSBaiGiai
2-rtbNoiDung
3-rtbNhanXet
4-btnPrint
KHOA CNTT – ĐH KHTN
Phần mềm hỗ trợ giải toán bất đẳng thức
62
1.4 MH_XemDapAn
1.4.1 Nội dung màn hình
STT Thuộc tính Loại Diễn giải
1 lvDSDapAn ListView Listview chứa danh sách các đáp
án của bài tập được chọn.
2 rtbNoiDung RichTextBox Chứa nội dung đáp án được chọn
3 btnPrint Button Chức năng in đáp án ra giấy
Hình 23: Màn hình xem đáp án
1-lvDSDapAn
2-rtbNoiDung
3-btnPrint
KHOA CNTT – ĐH KHTN
Phần mềm hỗ trợ giải toán bất đẳng thức
63
1.4.2 Danh sách các biến cố
STT Biến cố Diễn giải Hàm xử lý
1 Click chọn
đáp án cần
xem
Người dùng click chọn
đáp án cần xem trong
lvDSDapAn
lvDSDapAn_SelectedIn
dexChanged
2 Click chọn
nút In
Người dùng muốn in đáp
án ra giấy
btnPrint_Click
1.5 MH_XemLyThuyet
1.5.1 Nội dung màn hình
STT Thuộc tính Loại Diễn giải
1 rtbNoiDung RichTextBox Hiển thị nội dung bài học lý thuyết được
chọn.
2 toolBarBaiHoc ToolBar Chứa các chức năng in ấn và import bài
học lý thuyết.