Phần mềm hỗ trợ ôn thi tốt nghiệp phổ thông môn hóa học
Trang 1TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN
KHOA CÔNG NGHỆ THÔNG TIN
BỘ MÔN CÔNG NGHỆ PHẦN MỀM
Báo cáo lần 3
Đề tài luận văn:
Giáo viên hướng dẫn
Thầy Nguyễn Tiến Huy
Sinh viên thực hiện
Vũ Văn Thông 0112403 Nguyễn Thị Thơm 0112200
Tháng 7 / 2005
Trang 2Mục Lục
Mục Lục 3
I ) Hiện trạng và yêu cầu 5
I.A Hiện trạng 5
I.B Các sản phẩm phần mềm hỗ trợ trên thị trường hiện nay 6
I.C Đề nghị yêu cầu chức năng 9
I.C.1 Module dành cho học sinh : 9
I.C.1.a Chức năng tự ôn luyện cho học sinh : 9
I.C.1.b Chức năng nhập xuất dữ liệu 11
I.C.1.c Các công cụ hỗ trợ khác : 12
I.C.2 Module dành cho giáo viên : 12
I.C.2.a Soạn thi trắc nghiệm : 12
I.C.2.b Chức năng soạn đề thi : 13
I.C.2.c Chức năng nhập xuất dữ liệu 13
I.C.2.d Chức năng hỗ trợ khác : 13
II ) Mô hình hóa 14
II.A Sơ đồ sử dụng 14
II.B Sơ đồ luồng dữ liệu 15
II.B.1 Nghiệp vụ “Ôn tập theo lớp” 15
II.B.2 Nghiệp vụ “Luyện giải đề thi” 16
II.B.3 Nghiệp vụ “Trắc nghiệm khách quan” 16
II.C Lớp đối tượng 17
II.C.1 Quan hệ thừa kế : 19
II.C.1.a Nguyên tố : 19
II.C.1.b Oxit : 20
II.C.1.c RH 20
II.C.1.d Bazo : 21
II.C.1.e Ion Nguyên tố : 21
II.C.2 Quan hệ bao gồm : 22
II.C.2.a Oxit : 22
II.C.2.b RH : 22
II.C.2.c Bazo : 23
II.C.2.d Axit : 23
II.C.2.e Muối : 23
III )Thiết kế 32
III.A Kiến trúc logic đa tầng 32
III.B Kiến trúc triển khai 33
III.C Thiết kế dữ liệu 34
III.C.1 Sơ đồ logic dữ liệu 34
III.C.2 Danh sách các thành phần của sơ đồ 34
Trang 3III.C.3 Danh sách các thuộc tính của từng thành phần ở dạng quan hệ
35
III.C.4 Danh sách các thuộc tính của từng thành phần 35
III.C.4.a Tên : LOP 35
III.C.4.b Tên : CHUONG 36
III.C.4.c Tên : LOP_CHUONG 36
III.C.4.d Tên : BAILYTHUYET 36
III.C.4.e Tên : LOP_CHUONG_BAILYTHUYET 36
III.C.4.f Tên : BAITAPSGK 36
III.C.4.g Tên : TUKHOABAILYTHUYET 37
III.C.4.h Tên : LOAIDETHI 37
III.C.4.i Tên : DETHI 37
III.D Thiết kế xử lý 37
III.E Thiết kế giao diện 34
III.E.1 Thiết kế thực đơn 34
III.E.2 Sơ đồ các màn hình 37
III.E.3 Danh sách các thành phần trên sơ đồ 38
IV )Thực hiện và thử nghiệm 38
IV.A Thực hiện 38
IV.B Thử nghiệm 38
V ) Tổng kết 38
V.A Các kết quả đạt được 38
V.B Đánh giá ưu khuyết điểm 38
V.C Hướng mở rộng tương lai 38
Trang 4I ) Hiện trạng và yêu cầu
I.A Hiện trạng
Hiện nay , Công nghệ Thông tin đã có những đóng góp to lớn trongcuộc sống , đặc biệt là các ứng dụng của phần mềm máy tính Hầu hết tất
cả các ngành nghề đều cần có sự hỗ trợ của các phần mềm ứng dụng nhằmhoàn thành công việc một cách nhanh chóng và hiệu quả , giúp nâng caohiệu suất làm việc Có thể nói công nghệ thông tin đã trở thành chất xúc táckhông thể thiếu trong toàn bộ các hoạt động của đời sống , của nền kinh tếtri thức , của nền văn minh đương đại Trong công tác giảng dạy và học tậpcũng vậy , nếu có được các sản phẩm phần mềm hỗ trợ tốt sẽ đem lại nhữngích lợi vô cùng to lớn cho cả học sinh lẫn giáo viên Nhiệm vụ của cácphần mềm trong lĩnh vực giáo dục là phải hệ thống hóa toàn bộ kiến thứcmột cách rỏ ràng , qui củ , mạch lạc Nó phải cho phép học sinh ôn bài mộtcách hiệu quả , dễ học , dễ hiểu , dễ nhớ và rút ngắn thời gian ôn luyện Nógiúp học sinh ôn luyện một cách độc lập , nâng cao khả năng tự học vàgiảm đi sự phụ thuộc quá nhiều của học sinh vào giáo viên Vậy hiện trạngcủa việc ôn luyện môn Hoá phục vụ cho kì thi tốt nghiệp phổ thông như thếnào cùng với sự hỗ trợ của các chương trình phần mềm đang có trên thịtrường ?
Trước hết trong việc học tập, học sinh làm các bài tập dưới sự hướngdẫn của thầy cô và các sách tham khảo có bán trên thị trường Vấn đề phátsinh là học sinh không quản lý được lượng bài tập đã làm , không sắp xếpđược các bài tập đó một cách hệ thống nhất Do vậy, trong một số trườnghợp học sinh không có đủ điều kiện làm đủ các dạng bài tập cần thiết và cóthể tham khảo các đề thi tốt nghiệp của các năm trước Ngoài ra, trong quátrình làm bài, học sinh phải tìm kiếm các kiến thức liên quan đến bài, điềunày rất mất thời gian do lượng kiến thức môn Hoá ở cấp 3 rất lớn Thêmvào đó, sự liên lạc giữa học sinh với giáo viên không được thường xuyên ,phần nhiều là ở trên lớp Do đó, khi gặp một bài toàn khó học sinh khôngbiết lời giải hoặc có lời giải mà không biết đúng sai , họ gặp khó khăn đểliên lạc với thầy cô nhờ giúp đỡ Ngoài ra, học sinh rất cần đến một công cụtrợ giúp , ở đó như là phòng thi ảo (có bấm giờ làm bài , có đề thi…) để rènluyện trước khi vào phòng thi chính thức Điều này có tác dụng rất lớn giúp
họ làm quen với thi cử một cách thường xuyên , do đó cải thiện tâm lý khi
đi thi thật
Về phần giáo viên, trong khi soạn bài tập cho học sinh họ rất cần đến một công cụ hỗ trợ tính toán , đưa ra trước các phương trình phản ứng , tự phát sinh phương pháp và lời giải cho một vài dạng toán đặc thù … giúp giảm thời gian soạn bài cho học sinh Ngoài ra, việc quản lý các bài tập, các dạng bài đã soạn cũng là một vấn đề khó khăn khi giáo viên cần tra cứu, tìm kiếm Không chỉ soạn bài, họ còn giúp học sinh sửa bài Do đó, họ
Trang 5cũng cần một công cụ hỗ trợ sửa bài , tìm ra lỗi sai của học sinh một cách nhanh nhất mà không mất thời gian dò thủ công.
I.B Các sản phẩm phần mềm hỗ trợ trên thị trường hiện nay
Để giúp đỡ phần nào công việc học tập và giảng dạy của giáo viên và học sinh,trên thị trường đã xuất hiện một số các phần mềm hỗ trợ rất hữu ích Tuy nhiên, chúng chỉ dừng lại ở việc hỗ trợ giảng dạy cho học sinh và đưa ra một số các bài tập dưới dạng thi trắc nghiệm giúp học sinh nắm được lý thuyết mà chưa có các chức năng tra cứu kiến thức, hỗ trợ giải bài tập (ví dụ đưa ra các hướng dẫn giải ) hay cho học sinh làm trực tiếp trên máy vi tính nên chưa có chức năng chấm bài cho học sinh Ngoài ra chúng còn thiếu hoặc thậm chí không có các hình ảnh , cácthí nghiệm minh họa trực quan bằng các đoạn video clip ngắn làm sinh động bài học cho học sinh và gợi nhớ lại những gì mà học sinh đã học Học sinh khi sử dụng các phần mềm này chỉ đơn thuần làm các bài mà phần mềm đưa ra chứ không được hỗ trợ chức năng soạn thảo bài mới Và các phần mềm này mới chỉ bắt đầu hỗ trợ cho học sinh trong việc ôn luyện môn hoá chứ chưa phục vụ cho đốitượng là giáo viên trong qúa trình soạn bài tập, đề thi, sửa bài cho học sinh Tuy nhiên các phần mềm cũng đã giúp học sinh tiếp cận và giải các đề thi tốt nghiệp phổ thông các năm trước nên học sinh có thể làm quen , nắm bắt được cách thức thi cử , các dạng bài tập thường ra và phân bổ thời gian làm bài sao cho tối ưu nhất
Trang 6 Tấc cả các bài làm đều là bài trắc nghiệm , có tính giờ và nhắc nhở trong quá trình làm bài
Có thống kê kết quả làm bài dưới dạng biểu đồ và báo biểu
Trang 7 Cho phép luyện giải đề thi các năm trước và đề thi mẩu
Có hổ trợ lời giải trong quá trình làm bài
Cho phép thêm đề thi , bài tập
Trang 8I.C Đề nghị yêu cầu chức năng
Trước các hiện trạng của quá trình học tập, rèn luyện của học sinh ,soạn giáo án và sửa bài của giáo viên, nhóm đề nghị yêu cầu chức năng chophần mềm sẽ xây dựng như sau : Hệ thống gồm có 2 module
I.C.1 Module dành cho học sinh :
Các chức năng của chương trình hỗ trợ cho module này bao gồm :
Chức năng tự ôn luyện cho học sinh :
- Ôn luyện theo lớp 10, 11,12
- Hổ trợ học sinh ôn tập theo dạng bài , bao gồm :
o Bổ túc và cân bằng hoàn thành phương trìnhphản ứng
o Định lượng dựa vào phương trình phản ứng
- Ôn luyện làm đề thi thử các năm trước
- Ôn luyện theo bài tự do : học sinh tự soạn thảo , sưu tập bài (từ bạn bè hoặc thầy cô ) cho mình và làm tự chọn
I.C.1.a Chức năng tự ôn luyện cho học sinh :
Ôn luyện theo lớp 10, 11,12 :
Hệ thống sẽ hệ thống hoá kiến thức 3 lớp 10,11,12, đối với từngbài cụ thể sẽ có các bài tập tương ứng giúp học sinh củng cố kiếnthức phần lý thuyết vừa học Hệ thống cho phép học sinh giải bài tậptrên máy và sau khi giải xong có thể xem lời giải do hệ thống đưa ra.Trong qúa trình giải xem nhanh các hướng dẫn để có ý tưởng làmbài Hệ thống hỗ trợ chức năng in ấn đối với bài lý thuyết và lưu bàigiải của học sinh
Sau khi học xong phần lý thuyết ứng với mỗi bài, hệ thống sẽđưa ra các hỗ trợ về hình ảnh hay phim minh hoạ Ví dụ : khi họcsinh học xong các tính chất hoá học của rượu, người dùng có thể
Trang 9được xem các thí nghiệm minh hoạ trên phim Hay đối với bài thànhphần cấu tạo của nguyên tử, học sinh có thể được xem các hình ảnh
về lớp vỏ electron, hạt nhân (proton, notron )…
Hệ thống hổ trợ ôn luyện các dạng bài sau :
Bổ túc và cân bằng hoàn thành phương trình phản ứng
Định lượng dựa vào phương trình phản ứng
Ôn luyện theo các câu hỏi trắc nghiệm :
Ngoài 2 hỗ trợ tự ôn luyện theo lớp (phần cơ bản) và ôn luyệntheo dạng bài (phần nâng cao), chương trình còn giúp cho học sinh
tự củng cố kiến thức của mình bằng các câu hỏi trắc nghiệm
Các câu hỏi của phần thi trắc nghiệm giúp học sinh có phản xạnhanh khi làm bài, ngoài ra nó còn là sự kết hợp các kiến thức khácnhau do đó học sinh sẽ nhớ lý thuyết hơn
Hệ thống sẽ hỗ trợ chức năng tuỳ chọn gồm :
Trang 10Nếu học sinh chỉ muốn ôn luyện thì hệ thống sẽ không hiển thịđồng hồ tính giờ mà hiển thị hướng dẫn và lời giải đối với từng bàicho học sinh Còn ngược lại nếu họ muốn làm một phần thi thử thì
hệ thống sẽ hiển thị đồng hồ và cho ngừng các hướng dẫn và lời giảiđối với các bài thi
Giải đề thi :
Sau qúa trình ôn luyện học sinh có thể làm quen với việc giải các
đề thi của các năm trước Chức năng này cho phép học sinh kiểm tralại khả năng của mình và có tâm lý quen với việc thi cử Sau khi họcsinh làm xong, hệ thống sẽ chấm điểm cho học sinh và đưa ra lờigiải đối với từng bài
I.C.1.b Chức năng nhập xuất dữ liệu
Trang 11Chức năng này hổ trợ học sinh trao đổi dữ liệu ( bài tập , đề thi
…) với nhau và với thầy cô
I.C.1.c Các công cụ hỗ trợ khác :
Trong quá trình làm bài , học sinh có thể sử dụng các công cụ hỗtrợ từ hệ thống đó là : bảng hệ thống tuần hoàn, bảng tính tan, bảngkết tủa, bảng các chất bay hơi , máy tính , nháp…
I.C.2 Module dành cho giáo viên :
Đối tượng giáo viên thì không giống với đối tượng học sinh, vìcông việc của họ là soạn các bài tập theo dạng, soạn thi trắc nghiệm
và soạn các đề thi mẫu
Do đó, hệ thống hỗ trợ giáo viên cần có các chức năng sau :
- Chức năng soạn bài : giáo viên có khả năng soạn bài theo dạng, soạn thi trắc nghiệm và đề thi
- Hỗ trợ chức năng khác như : Bảng tuần hoàn, bảng tính tan, bảngkết tủa, máy tính, nháp, giúp trí nhớ hoá học cả 3 lớp 10,11,12
I.C.2.a Soạn thi trắc nghiệm :
Trang 12I.C.2.b Chức năng soạn đề thi :
Giáo viên tập hợp lại tất cả các bài đã soạn để tạo ra đề thi chohọc sinh, trong đó có quy định thời gian làm bài cách tính điểm chomỗi câu…
I.C.2.c Chức năng nhập xuất dữ liệu
Giáo viên có thể giao bài tập , đề thi , trắc nghiệm , trao đổi vớihọc sinh thông qua chức năng này
I.C.2.d Chức năng hỗ trợ khác :
Trong qúa trình soạn bài, giáo viên có thể nhờ sự hỗ trợ của cáccông cụ máy tính, bảng tuần hoàn, bảng tính tan, sổ tay giúp trí nhớhóa học, nháp…
Trang 13II ) Mô hình hóa
II.A Sơ đồ sử dụng
On tap theo lop On tap theo dang Luyen giai de thi
Lam bai tu chon
Xem thi nghiem minh hoa
Trac nghiem khach quan
Soan bai trac nghiem
Danh sách các người dùng của sơ đồ sử dụng
1 Hoc sinh Học sinh
2 Giao vien Giáo viên
Trang 14 Danh sách các nghiệp vụ của sơ đồ sử dụng
7 Soạn bài trắc nghiệm
II.B Sơ đồ luồng dữ liệu
II.B.1 Nghiệp vụ “Ôn tập theo lớp”
Trang 15II.B.2 Nghiệp vụ “Luyện giải đề thi”
II.B.3 Nghiệp vụ “Trắc nghiệm khách quan”
Luyện giải đề thi
Học sinh
D2
D3 D1
D4
Trang 16D4
Trang 17 Nhóm kim loại nhóm 1 (nhóm kim loại kiềm)
Nhóm kim loại nhóm 2 (nhóm kim loại kiềm thổ)
Nhóm kim loại nhóm 3 ( nhóm kim loại lưỡng tính)
Nhóm kim loại nhóm phụ (các kim loại thuộc phân nhóm phụ)
Đối với phi kim thì gồm 4 nhóm :
Nhóm phi kim nhóm 4 (phi kim phân nhóm chính nhóm 4)
Nhóm phi kim nhóm 5 (phi kim phân nhóm chính nhóm 5)
Nhóm phi kim nhóm 6 (phi kim phân nhóm chính nhóm 6)
Nhóm phi kim nhóm 7 (phi kim phân nhóm chính nhóm 7 hay halogen)
1) Nếu chất là Oxit, thì hệ thống sẽ xác định chất là Oxit kim loại hay Oxit phi kim :
Đối với Oxit kim loại gồm 4 nhóm :
Oxit kim loại nhóm 1
Oxit kim loại nhóm 2
Oxit kim loại nhóm 3
Oxit kim loại nhóm phụ
Đối với Oxit phi kim gồm 4 nhóm :
Oxit phi kim nhóm 4
Oxit phi kim nhóm 5
Oxit phi kim nhóm 6
Oxit phi kim nhóm 7
2) Nếu chất là RH (hợp chất của nguyên tố phi kim với H) thì hệ thống
sẽ xác định RH đó sẽ thuộc 1 trong các nhóm sau :
Bazo kim lọai kiềm
Bazo kim lọai kiềm thổ
Bazo lưỡng tính
Bazo kim lọai nhóm phụ
4) Chất chỉ còn có thể là axit hay muối
Sau khi xác định được lọai chất thì tùy vào yêu cầu của người dùng thì hệ thống
sẽ hỗ trợ các chức năng tiếp theo
Trang 18C Phân tích các lớp đối tượng :
Do sự khác nhau giữa tính chất hóa học của các nguyên tố ở các phân nhómchính khác nhau trong bảng hệ thống tuần hòan mà ta phải phân lọai chất như trên
Do đó các bố cục của các lớp đối tượng được xây dựng trong hệ thống sẽ
Trang 19PK nhóm 5
PK nhóm 6
PK nhóm 7
KL
nhóm
2
KL nhóm 3
KL nhóm phụ
OA nhóm 5
OA nhóm 6
OA nhóm 7
OB nhóm 2
OB nhóm 3
OB nhóm phụ
Trang 20II.C.1.d Bazo :
II.C.1.e Ion Nguyên tố :
Hợp chất là sự kết hợp của nhiều đơn chất Ví dụ : Oxit là sự kết hợp giữa 1nguyên tố không phải Oxi và nguyên tố Oxi … Tuy nhiên, trong hợp chất khinguyên tố này kết hợp với nguyên tố kia sẽ xuất hiện một khái niệm mới mà khinguyên tố đứng một mình khái niệm này mặc định là bằng 0, đó chính là số oxihóa Do đó trong hệ thống các lớp đối tượng sẽ xuất hiện thêm một nhóm các đối
tượng khác được thừa kế từ lớp đối tượng Nguyên tố đó chính là ion Nguyên tố
với sơ đồ như sau :
RH
RH nhóm 4
RH nhóm 5
RH nhóm 6
RH nhóm 7
Bazo
Bazo nhóm 1
Bazo nhóm 1
Bazo nhóm 1
Bazo nhóm 1
Trang 21II.C.2 Quan hệ bao gồm :
II.C.2.a Oxit :
Oxit là sự kết hợp của nguyên tố kim loại hay phi kim (không phải O) với
nguyên tố O Do đó ta có quan hệ sau :
Ion
KL nhóm 1
Ion
KL nhóm 1
Ion
PK nhóm 4
Ion
PK nhóm 4
Ion
PK nhóm 4
Ion
PK nhóm 4
NguyenTo
Trang 22Muối là sự kết hợp của Ion Am (ngọai trừ H+) và các Ion Am :
D Thiết kế các lớp đối tượng : (Đối với chức năng nhận diện chất do người dùng nhập vào)
1 Lớp ChatVoCo : lớp cơ sở của mọi lớp
Trang 23+
2 Lớp Nguyên tố : kế thừa từ lớp ChatVoCo
NguyenTo : ChatVoCo+ SoHieuNguyenTu : A_int
+ LaNguyenTo(A_String tenChat) : bool (hàm static)
+ XacDinhNguyenTo(A_String tenChat) : NguyenTo //(hàm static)//(Hàm này trả về chính xác nguyên tố đã cho là kim lọai hay phi kim nhóm mấy.)
3 Lớp KimLoai : thừa kế từ lớp NguyenTo
KimLoai : NguyenTo
+ LaKimLoai (A_string tenChat) : bool //hàm static
// hàm này kiểm tra xem tenChat có phải là kim lọai không
4 Lớp KLNhomI : thừa kế từ lớp KimLoai
KLNhomI : KimLoai
+ LaKLNhomI (A_string tenChat) : bool //hàm static
// hàm này kiểm tra xem tenChat có phải là kim lọai nhóm 1 không
5 Lớp KLNhomII : thừa kế từ lớp KimLoai
KLNhomII: KimLoai
Trang 24+ LaKLNhomII (A_string tenChat) : bool //hàm static
// hàm này kiểm tra xem tenChat có phải là kim lọai nhóm 2 không
6 Lớp KLNhomIII : thừa kế từ lớp KimLoai
KLNhomIII: KimLoai
+ LaKLNhomIII (A_string tenChat) : bool //hàm static
// hàm này kiểm tra xem tenChat có phải là kim lọai nhóm 3 không
7 Lớp KLNhomPhu : thừa kế từ lớp KimLoai
KLNhomPhu: KimLoai
+ LaKLNhomPhu (A_string tenChat) : bool //hàm static
// hàm này kiểm tra xem tenChat có phải là kim lọai nhóm phụ không
8 Lớp PhiKim : thừa kế từ lớp NguyenTo
PhiKim : NguyenTo
+ LaPhiKim (A_string tenChat) : bool //hàm static
// hàm này kiểm tra xem tenChat có phải là phi kim không
9 Lớp PKNhomIV : thừa kế từ lớp PhiKim
PKNhomIV: PhiKim
+ LaPKNhomIV (A_string tenChat) : bool //hàm static
// hàm này kiểm tra xem tenChat có phải là phi kim nhóm 4 không
10 Lớp PKNhomV : thừa kế từ lớp PhiKim
Trang 25PKNhomV: PhiKim
+ LaPKNhomV (A_string tenChat) : bool //hàm static
// hàm này kiểm tra xem tenChat có phải là phi kim nhóm 5 không
11 Lớp PKNhomVI : thừa kế từ lớp PhiKim
PKNhomVI: PhiKim
+ LaPKNhomVI (A_string tenChat) : bool //hàm static
// hàm này kiểm tra xem tenChat có phải là phi kim nhóm 6 không
12 Lớp PKNhomVII : thừa kế từ lớp PhiKim
PKNhomVII: PhiKim
+ LaPKNhomVII (A_string tenChat) : bool //hàm static
// hàm này kiểm tra xem tenChat có phải là phi kim nhóm 7 không
13 Lớp IonNguyenTo : kế thừa từ lớp NguyenTo
IonNguyenTo : NguyenTo+SoOxiHoa : A_int
+ LaIonNguyenTo(A_String tenChat) : bool (hàm static)
14 Lớp IonKimLoai : kế thừa từ lớp IonNguyenTo
IonKimLoai : IonNguyenTo
+ LaIonKimLoai (A_String tenChat) : bool (hàm static)
15 Lớp IonKLNhomI : kế thừa từ lớp IonKimLoai
IonKLNhomI : IonKimLoai
Trang 26+ LaIonKLNhomI (A_String tenChat) : bool (hàm static)
16 Lớp IonKLNhomII : kế thừa từ lớp IonKimLoai
IonKLNhomII : IonKimLoai
+ LaIonKLNhomII (A_String tenChat) : bool (hàm static)
17 Lớp IonKLNhomIII : kế thừa từ lớp IonKimLoai
IonKLNhomIII : IonKimLoai
+ LaIonKLNhomIII (A_String tenChat) : bool (hàm static)
18 Lớp IonKLNhomPhu : kế thừa từ lớp IonKimLoai
IonKLNhomPhu : IonKimLoai
+ LaIonKLNhomPhu (A_String tenChat) : bool (hàm static)
19 Lớp IonPhiKim : thừa kế từ lớp IonNguyenTo
IonPhiKim : IonNguyenTo
+ LaIonPhiKim (A_string tenChat) : bool //hàm static
20 Lớp IonPKNhomIV : thừa kế từ lớp IonPhiKim
IonPKNhomIV: IonPhiKim
+ LaIonPKNhomIV (A_string tenChat) : bool //hàm static
Trang 2721 Lớp IonPKNhomV : thừa kế từ lớp PhiKim
IonPKNhomV: IonPhiKim
+ LaPKNhomV (A_string tenChat) : bool //hàm static
22 Lớp IonPKNhomVI : thừa kế từ lớp IonPhiKim
IonPKNhomVI: IonPhiKim
+ LaIonPKNhomVI (A_string tenChat) : bool //hàm static
23 Lớp IonPKNhomVII : thừa kế từ lớp IonPhiKim
IonPKNhomVII: IonPhiKim
+ LaIonPKNhomVII (A_string tenChat) : bool //hàm static
24 Lớp Oxit : kế thừa từ lớp ChatVoCo :
Oxit : ChatVoCo+NguyenTos : NguyenTo[2]
+SoNguyenTus : A_int[2] //lưu lại số nguyên tố có trong Oxit+LaOxit(A_String tenChat) : bool // hàm static
+XacDinhOxit(A_String tenChat) : Oxit // hàm static]
// Hàm này trả về chính xác Oxit này thuộc lọai Oxit nào
25 Lớp OxitBazo : kế thừa từ lớp Oxit
OxitBazo : Oxit
26 Lớp OxitBazoNhomI : kế thừa từ lớp OxitBazo
Trang 29OxiAxitNhomVII: OxitAxit
34 Lớp RH : kế thừa từ lớp ChatVoCo
RH : ChatVoCo +NguyenTos : IonPhiKim[2]
+SoNguyenTos : int[2]
+ LaRH(A_String tenChat) : bool // hàm static
+XacDinhRH(A_String tenChat) : RH // hàm static xác định chính xác
RH này thuộc loại RH nhóm mấy
+SoOxiHoa : int // số oxi hóa ứng với từng ionAm
+ LaIonAmBazo(A_String ten, A_int SoOxiHoa) : bool // xác định các Ion am thỏa mãn là ion dương của Bazo
+LaIonAmMuoi(A_String ten, A_int SoOxiHoa) : bool // xác định các Ion dương thỏa mãn là ion dương của muối
+LaIonAm(A_String tenChat) : bool // xác định chất có phải là ion dương không?
40 Lớp IonAm : kế thừa từ lớp ChatVoCo
Trang 30IonAm : ChatVoCo+ionAm : enumIonAm // kiểu tập hợp được liệt kê cho Ion Am
+SoOxiHoa : int // số oxi hóa ứng với từng ionAm
+ LaIonAmAxit (A_String ten, A_int SoOxiHoa) : bool // xác định các Ion am thỏa mãn là ion âm của Axit
+LaIonAmMuoi(A_String ten, A_int SoOxiHoa) : bool // xác định các Ion âm thỏa mãn là ion âm của muối
+LaIonAm(A_String tenChat) : bool // xác định chất có phải là ion âm không?
41 Lớp Bazo : kế thừa từ lớp ChatVoCo
Bazo : ChatVoCo + ionDuong : IonDuong
+ ionAm : IonAm
+ LaBazo(A_string tenChat) : bool// hàm static
+XacDinhBazo(A_string tenChat) : Bazo // xác định chính xác loại bazo của chất
42 Lớp BazoKiem : kế thừa từ lớp Bazo
Trang 31BazoNH4 : Bazo
47 Lớp Axit : kế thừa từ lớp ChatVoCo
Axit: ChatVoCo +ionDuong : IonDuong // H+
+ionAm : IonAm // gốc Axit của ionAm
+ LaAxit(A_String tenChat) : bool //static
+XacDinhAxit(A_String tenChat) : Axit // static
48 Lớp Muối : kế thừa từ lớp ChatVoCo
Muoi: ChatVoCo+ ionDuong : IonDuong
+ionAm : IonAm
+LaMuoi(A_String tenChat) : bool // static
+XacDinhMuoi(A_String tenChat) : Muoi // static
49 Các lớp khác
Đây là các lớp phục vụ cho việc tính toán cũng như truy xuất CSDL cho hệ thống :
a Lớp DataBase : truy xuất CSDL
Trang 32III.B Kiến trúc triển khai
Học sinh
Thể hiện
ôn tập theo lớp
Thể hiện
Ôn tập theo dạng
Thể hiện Luyện giải đề thi
Thể hiện trắc nghiệm
Xử lý ôn tập theo lớp
Xử lý ôn tập theo dạng
Xử lý Luyện giải đề thi
Xử lý trắc nghiệm
Dữ liệu luyện giải
đề thi
Trang 33III.C Thiết kế dữ liệu
III.C.1 Sơ đồ logic dữ liệu
III.C.2 Danh sách các thành phần của sơ đồ
Thể hiện
Xử lý
Lưu trử
Bộ nhớ ngoài
Học sinh
Thể hiện
Xử lý Lưu trử
Giáo viên
Bộ nhớ ngoài
Trang 34STT Tên Ý nghĩa Ghi chú
Chương (phản ánh Lớp nào ? chương nào ?)
5 LOP_CHUONG_BAILYTHUYE
T Lớp – Chương – Bài lý thuyết Quan hệ Lớp –Chương – Bìa
lý thuyết(phản ánh Lớp nào ? chương nào ? Bài nào)
7 TUKHOABAILYTHUYET Từ khóa bài lý
thuyết Hổ trợ tìm kiếm theo từ
1 LOP (MaLop,DienGiai)
2 CHUONG(MaChuong,DienGiai)
3 LOP_CHUONG(MaLop,MaChuong,TenChuong)
4 BAILYTHUYET(MaBaiLyThuyet,DienGiai)
5 LOP_CHUONG_BAILYTHUYET(MaLop,MaChuong,MaBaiLyThuyet,TenBaiLyThuyet,TenFileBaiLyThuyet)
6 BAITAPSGK(MaBaiTapSGK,MaLop,MaChuong,MaBaiLyThuyet,TenFileDeBai,TenFileHuongDanGiai,TenFileBaiGiai)
7 TUKHOABAILYTHUYET(MaTuKhoa,MaLop,MaChuong,MaBaiLyThuyet,TuKhoa)
8 LOAIDETHI(MaLoaiDeThi,DienGiai)
9 DETHI(MaDeThi,MaLoaiDeThi,DienGiai,TenFileDuLieuDeThi)
III.C.4 Danh sách các thuộc tính của từng thành phần
III.C.4.a Tên : LOP
Ý nghĩa : Lớp
Trang 35STT Thuộc tính Kiểu Ràng buộc Ghi chú 1
III.C.4.d Tên : BAILYTHUYET
Ý nghĩa : Bài lý thuyết
STT Thuộc tính Kiểu Ràng buộc Ghi chú 1
2
2 DienGiai Chuỗi
III.C.4.e Tên : LOP_CHUONG_BAILYTHUYET
Ý nghĩa : Lớp - Chương - Bài lý thuyết
STT Thuộc tính Kiểu Ràng buộc Ghi chú 1
Trang 36III.C.4.g Tên : TUKHOABAILYTHUYET
Ý nghĩa : Từ khóa bài lý thuyết
STT Thuộc tính Kiểu Ràng buộc Ghi chú 1
III.C.4.h Tên : LOAIDETHI
Ý nghĩa : Loại đề thi
STT Thuộc tính Kiểu Ràng buộc Ghi chú 1
Trang 37I.B.Kiến trúc tổng thể của các lớp đối tượng :
I.B.1 Danh sách các lớp đối tượng :
I.B.1.a Các đối tượng thể hiện chất vô cơ :
PhuongTrinhPhanUngHoanChinh
ChatPhanUng
TapHopChatTrongPtpu
Trang 38 Math
MyException
DataBase
Trang 39I.B.2 Mô hình quan hệ giữa các đối tượng :
I.B.2.a Các đối tượng thể hiện chất vô cơ :
I.B.2.a.1 Mô hình 1 :
Lớp ChatVoCo là lớp cơ sở của tất cả các lớp đối tượng
Lớp NguyenTo kế thừa từ lớp ChatVoCo thể hiện các nguyên tố
Lớp HopChatOH kề thừa từ lớp ChatVoCo thể hiện các hợp chất với oxi
(oxit) hay với hidro(RH)
Lớp HopChatDienTich kế thừa từ lớp ChatVoCo thể hiện các hợp chất của
Lớp KimLoai kế thừa từ lớp NguyenTo thể hiện các nguyên tố kim loại.
Lớp PhiKim kế thừa từ lớp NguyenTo thể hiện các nguyên tố phi kim.
ChatVoCo
NguyenTo