phan mem ho tro on thi tot nghiep mon hoa hoc
TRANSCRIPT
Trang 1
Lời Cảm Ơn
Luận văn của chúng em sẽ rất khó hoàn thành nếu không có sự truyền đạt
kiến thức quí báu và sự hướng dẫn tận tình của thầy Nguyễn Tiến Huy . Chúng em
xin chân thành cám ơn sự chỉ bảo của thầy.
Chúng con xin gửi tất cả lòng biết ơn, sự kính trọng đến ông bà, cha mẹ, cùng
toàn thể gia đình, những người đã nuôi dạy, đã cho chúng con niềm tin và nghị lực
để vượt qua mọi khó khăn.
Chúng em xin trân trọng cám ơn quý thầy cô trong khoa Công nghệ Thông
tin trường Đại học Khoa học Tự nhiên thành phố Hồ Chí Minh đã tận tình giảng
dạy, truyền đạt những kiến thức quý báu và tạo điều kiện cho chúng em thực hiện
luận văn này.
Xin chân thành cám ơn sự giúp đỡ, động viên và chỉ bảo nhiệt tình của các
anh chị đi trước và tất cả bạn bè. Các anh chị, các bạn luôn có mặt trong những thời
điểm khó khăn nhất, tiếp thêm động lực và ý chí, giúp chúng tôi hoàn thành luận
văn.
Mặc dù đã cố gắng nỗ lực hết sức mình, song chắc chắn luận văn không khỏi
còn nhiều thiếu sót. Chúng em rất mong nhận được sự thông cảm và đóng góp ý
kiến của quý thầy cô và các bạn.
Tp.HCM, 7/2005
Nhóm sinh viên thực hiện
Nguyễn Thị Thơm – Vũ Văn Thông
Trang 2
Lời Nói Đầu
iện nay theo qui định hiện hành , học sinh phổ thông trung học sau khi
hoàn tất chương trình lớp 10 , 11 ,12 phải trải qua kỳ thi tốt nghiệp phổ
thông trung học . Khối lượng kiến thức mà học sinh cần ôn tập trong 3 năm học có
thể nói là rất lớn . Hóa học thường là một trong những môn được chọn trong kỳ thi
tốt nghiệp phổ thông trung học . Vì vậy , một nhu cầu bức thiết đặt ra là phải có một
công cụ hỗ trợ việc dạy và học trong quá trình ôn thi tốt nghiệp của học sinh . Nó
phải hệ thống hóa toàn bộ kiến thức mộ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ột cá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 , cho
phép giao tiếp giữa học sinh và giáo viên dựa trên việc tận dụng các tài nguyên có
sẵn .
Các phần mềm có mặt trên thị trường hiện nay đã phần nào đáp ứng được
nhu cầu trên . Mỗi cái có những ưu khuyết điểm riêng của mình . Phần Mềm Hỗ
Trợ Học Sinh Phổ Thông Trung Học Ôn Thi Tốt Nghiệp Môn Hóa Học của nhóm
ra đời dựa trên việc phân tích chi tiết các vấn đề đã đặt ra như trên , kế thừa những ý
tưởng tích cực và khắc phục những hạn chế của những phần mềm đã có với hy vọng
có thể đáp ứng nhu cầu của học sinh một cách tốt nhất có thể có .
H
Trang 3
MMụụcc LLụụcc
Mục Lục.............................................................................................. 3 1 ) Đặt vấn đề ................................................................................... 7
1.1 Hiện trạng ................................................................................... 7 1.2 Các sản phẩm phần mềm hỗ trợ trên thị trường hiện nay .......... 8 1.3 Đề nghị yêu cầu chức năng ...................................................... 10
1.3.1 Module dành cho học sinh........................................................ 10 1.3.1.1 Chức năng tự ôn luyện cho học sinh ................................... 11 1.3.1.2 Chức năng nhận xuất dữ liệu............................................... 14 1.3.1.3 Các công cụ hỗ trợ khác ...................................................... 14
1.3.2 Module dành cho giáo viên ...................................................... 14 1.3.2.1 Soạn đề thi trắc nghiệm ....................................................... 15 1.3.2.2 Chức năng soạn đề thi tự luận ............................................. 15 1.3.2.3 Chức năng nhận xuất dữ liệu............................................... 15 1.3.2.4 Chức năng hỗ trợ khác......................................................... 15
2 ) Phân tích.................................................................................... 16 2.1 Sơ đồ sử dụng ........................................................................... 16
2.1.1 Chi tiết các chức năng hỗ trợ .................................................... 17 2.1.1.1 Đối với học sinh................................................................... 17 2.1.1.2 Đối với giáo viên ................................................................. 18 2.1.1.3 Chức năng khác ................................................................... 18
2.2 Sơ đồ luồng dữ liệu................................................................... 19 2.2.1 Học sinh.................................................................................... 19
2.2.1.1 Nghiệp vụ “Ôn tập lý thuyết” .............................................. 19 2.2.1.2 Nghiệp vụ “Giải đề thi tự luận”........................................... 20 2.2.1.3 Nghiệp vụ “Giải đề thi Trắc nghiệm ”................................. 21 2.2.1.4 Nghiệp vụ “Giải đề bài tập theo dạng ”............................... 22 2.2.1.5 Nghiệp vụ “Tra cứu” ........................................................... 23 2.2.1.6 Nghiệp vụ ‘ Nhận xuất dữ liệu ‘ .......................................... 24
2.2.2 Đối với giáo viên ...................................................................... 25 2.2.2.1 Nghiệp vụ soạn bài lý thuyết ............................................... 25 2.2.2.2 Nghiệp vụ” soạn đề thi tự luận” .......................................... 26 2.2.2.3 Nghiệp vụ “soạn bài tập trắc nghiệm”................................. 27 2.2.2.4 Nghiệp vụ “Tra cứu” ........................................................... 28 2.2.2.5 Nghiệp vụ “Nhận xuất dữ liệu“ ........................................... 29
2.3 Các lớp đối tượng ..................................................................... 29 2.3.1 Danh sách các lớp đối tượng ở mức phân tích ......................... 29 2.3.2 Chi tiết các lớp đối tượng ở mức phân tích .............................. 30
3 ) Thiết kế...................................................................................... 34 3.1 Kiến trúc logic đa tầng ............................................................. 34
Trang 4
3.1.1 Đối với học sinh........................................................................ 34 3.1.1.1 Xử lý ôn tập theo lớp ........................................................... 35 3.1.1.2 Xử lý luyện giải đề thi ......................................................... 35
3.1.2 Đối với giáo viên ...................................................................... 37 3.1.3 Kiến trúc triển khai ................................................................... 38
3.2 Thiết kế dữ liệu......................................................................... 38 3.2.1 Sơ đồ logic dữ liệu.................................................................... 38
3.2.1.2 Ôn tập lý thuyết ................................................................... 43 3.2.1.3 Đề thi tự luận ....................................................................... 45 3.2.1.4 Đề thi trắc nghiệm ............................................................... 46
3.3 Thiết kế xử lý............................................................................ 48 3.3.1 Mục đích ................................................................................... 48 3.3.2 Kiến trúc tổng thể của các lớp đối tượng ................................. 49
3.3.2.1 Danh sách các lớp đối tượng ............................................... 49 3.3.2.2 Mô hình quan hệ giữa các đối tượng ................................... 51 3.3.2.3 Chi tiết tổ chức bên trong các lớp đối tượng ....................... 61
3.4 Thiết kế giao diện ..................................................................... 98 3.4.1 Thiết kế thực đơn...................................................................... 98 3.4.2 Sơ đồ các màn hình ................................................................ 101
3.4.2.1 Phân hệ học sinh ................................................................ 101 3.4.2.2 Phân hệ giáo viên............................................................... 101
3.4.3 Danh sách các thành phần trên sơ đồ ..................................... 102 3.4.4 Chi tiết từng màn hình ............................................................ 102
3.4.4.1 Màn hình chính.................................................................. 102 3.4.4.2 Màn hình ôn tập lý thuyết.................................................. 105 3.4.4.3 Màn hình luyện giải đề thi tự luận..................................... 108 3.4.4.4 Màn hình luyện giải đề thi trắc nghiệm............................. 111 3.4.4.5 Màn hình viết cấu hình electron ........................................ 114 3.4.4.6 Màn hình viết phương trình phản ứng............................... 115 3.4.4.7 Màn hình bảng hệ thống tuần hoàn ................................... 118 3.4.4.8 Màn hình bảng tính tan...................................................... 120 3.4.4.9 Màn hình giới thiệu ........................................................... 121 3.4.4.10 Màn hình xuất dữ liệu........................................................ 123 3.4.4.11 Màn hình soạn bài lý thuyết .............................................. 125 3.4.4.12 Màn hình soạn đề thi tự luận ............................................. 128 3.4.4.13 Màn hình soạn đề thi trắc nghiệm ..................................... 130 3.4.4.14 TH_MyRichEditControl.................................................... 132
4 ) Thực hiện và thử nghiệm ....................................................... 143 4.1 Thực hiện................................................................................ 143
4.1.1 ModuleChung ......................................................................... 143 4.1.2 ModuleHocSinh...................................................................... 144 4.1.3 ModuleGiaoVien .................................................................... 144
4.2 Thử nghiệm............................................................................. 144
Trang 5
5 ) Tổng kết................................................................................... 144 5.1 Các kết quả đạt được .............................................................. 144 5.2 Đánh giá ưu khuyết điểm ....................................................... 145 5.3 Hướng mở rộng tương lai ....................................................... 145
Trang 6
Danh sách các hình vẽ
Hình 1 : Ôn tập theo lớp của ADCOM .......................................................................9 Hình 2 : Chức năng ôn tập theo dạng bài của ADCOM .............................................9 Hình 3 : Chức năng luyện giải đề thi ........................................................................10 Hình 4 : Ôn tập theo lớp............................................................................................12 Hình 5 : Giải đề thi trắc nghiệm................................................................................13 Hình 6 : Soạn đề thi trắc nghiệm...............................................................................15 Hình 7 : sơ đồ logic dữ liệu.......................................................................................38 Hình 8 : Màn hình chính .........................................................................................103 Hình 9 : Màn hình ôn tập lý thuyết .........................................................................105 Hình 10 : Màn hình giải đề thi tự luận ....................................................................108 Hình 11 : Màn hình giải đề thi trắc nghiệm ............................................................111 Hình 12 : Màn hình viết cấu hình electron..............................................................114 Hình 13 : Màn hình viết phương trình phản ứng ....................................................116 Hình 14 : Bảng hệ thống tuần hoàn.........................................................................118 Hình 15 : Bảng tính tan ...........................................................................................120 Hình 16 : Màn hình giới thiệu.................................................................................121 Hình 17 : Màn hình xuất dữ liệu .............................................................................123 Hình 18 : Màn hình soạn bài lý thuyết....................................................................125 Hình 19 : Màn hình soạn đề thi tự luận...................................................................128 Hình 20 : Màn hình soạn đề thi trắc nghiệm...........................................................130
Trang 7
11 )) ĐĐặặtt vvấấnn đđềề 11..11 HHiiệệnn ttrrạạnngg
Hiện nay , Công nghệ Thông tin đã có những đóng góp to lớn trong
cuộ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ằm hoàn
thành công việc một cách nhanh chóng và hiệu quả , giúp nâng cao hiệ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ác khô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ập cũ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ác phầ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ức mộ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ột cá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ạng củ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ướng
dẫ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át
sinh 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ường
hợ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ều
nà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êm và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ông biết lời
Trang 8
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èn luyệ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ọ cũ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.
11..22 CCáácc ssảảnn pphhẩẩmm pphhầầnn mmềềmm hhỗỗ ttrrợợ ttrrêênn tthhịị ttrrưườờnngg hhiiệệnn nnaayy Để 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ác thí
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 đối tượ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
Trang 9
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 để có thể làm kịp giờ .
Đơn cử , phần mềm Hổ trợ ôn thi môn Hoá học của Công ty Tư vấn và Tin
học 99 ADCOM . Các tính năng chính của phần mềm này như sau :
Cho phép ôn luyện theo lớp ( lớp 10, lớp 11 , lớp 12 ) : học sinh ôn lại kiến
thức lý thuyết của chương trình cấp III .
Hình 1 : Ôn tập theo lớp của ADCOM
Phân hoạch các dạng bài và làm bài theo các dạng đó , không hỗ trợ giải bài .
Hình 2 : Chức năng ôn tập theo dạng bài của ADCOM
Trang 10
Tất 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
Cho phép luyện giải đề thi các năm trước và đề thi mẫu
Hình 3 : Chức năng luyện giải đề thi
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
11..33 ĐĐềề nngghhịị yyêêuu ccầầuu cchhứứcc nnăănngg
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 cho
phần mềm sẽ xây dựng như sau : Hệ thống gồm có 2 module
1.3.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
Trang 11
- 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ình
phả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 .
- Làm các bài tập trắc nghiệm.
- Nhập xuất dữ liệu
• Chức năng hỗ trợ khác :
- Bảng tuần hoàn
- Nháp
- Bảng tính tan
- Bảng kết tủa.
- Bảng các chất bay hơi
- Máy tính.
- Hỗ trợ chức năng khác như : Bảng tuần hoàn, bảng tính
tan, bảng kết tủa, máy tính, nháp, giúp trí nhớ hoá học cả 3 lớp
10,11,12.
1.3.1.1 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ừng
bài cụ thể sẽ có các bài tập tương ứng giúp học sinh củng cố kiến thức
phần lý thuyết vừa học. Hệ thống cho phép học sinh giải bài tập trê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àm bài.
Hệ thống hỗ trợ chức năng in ấn đối với bài lý thuyết và lưu bài giải
của học sinh.
Trang 12
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ọc sinh học
xong các tính chất hoá học của rượu, người dùng có thể được xem các
thí nghiệm minh hoạ trên phim. Hay đối với bài thành phầ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ình 4 : Ôn tập theo lớp
• 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
Trang 13
• Giải đề thi trắc nghiệm :
Ngoài 2 hỗ trợ tự ôn luyện theo lớp (phần cơ bản) và ôn luyện theo
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ác
nhau 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 :
Nế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ài
cho 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 .
Hình 5 : Giải đề thi trắc nghiệm
Trang 14
• Giải đề thi tự luận :
Sau quá 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 tra
lại khả năng của mình và có tâm lý quen với việc thi cử. Sau khi học
sinh làm xong, hệ thống sẽ chấm điểm cho học sinh và đưa ra lời giải
đối với từng bài.
1.3.1.2 Chức năng nhận xuất dữ liệu
Chứ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ô .
1.3.1.3 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, máy
tính , nháp…
1.3.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, máy
tính, nháp, giúp trí nhớ hoá học cả 3 lớp 10,11,12.
Trang 15
1.3.2.1 Soạn đề thi trắc nghiệm
Hình 6 : Soạn đề thi trắc nghiệm
1.3.2.2 Chức năng soạn đề thi tự luận
Giáo viên tập hợp lại tất cả các bài đã soạn để tạo ra đề thi cho học
sinh, trong đó có quy định thời gian làm bài cách tính điểm cho mỗi
câu…
1.3.2.3 Chức năng nhận xuất dữ liệu
Giáo viên có thể giao bài tập , đề thi , trắc nghiệm , trao đổi với
học sinh thông qua chức năng này .
1.3.2.4 Chức năng hỗ trợ khác
Trong quá trình soạn bài, giáo viên có thể nhờ sự hỗ trợ của các
cô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 16
22 )) PPhhâânn ttíícchh 22..11 SSơơ đđồồ ssửử ddụụnngg
Ôn tập lý thuyết Giải đề thi tự
luậnGiải đề thi
trắc nghiệm
Tra cứu bảng tuần hoàn, bảng tính tan,
máy tính… Trao đổi
Soạn đề thi tự luận
Soạn đề thi trắc nghiệm
Soạn bài lý thuyết
Giải bài tập theo dạng
Hoc sinh
Giao vien
Trang 17
Danh sách các người dùng của sơ đồ sử dụng
STT Người dùng Diễn giải Ghi chú
1 Hoc sinh Học sinh 2 Giao vien Giáo viên
Danh sách các nghiệp vụ của sơ đồ sử dụng
STT Nghiệp vụ Ghi chú
1 Ôn tập lý thuyết 2 Giải đề thi tự luận 3 Giải đề thi trắc nghiệm 4 Tra cứu 5 Nhận / xuất dữ liệu 6 Soạn bài lý thuyết 7 Soạn đề thi tự luận 8 Soạn đề thi trắc nghiệm
2.1.1 Chi tiết các chức năng hỗ trợ
2.1.1.1 Đối với học sinh
• Ôn tập theo lớp : Phân cấp ra 3 lớp chính 10, 11, 12.
Ứng với mỗi lớp sẽ có hệ thống các bài lý thuyết theo
từng chương và từng bài lý thuyết cụ thể. Tương ứng
với mỗi bài lý thuyết học sinh có thể làm bài tập theo
sách giáo khoa để củng cố phần lý thuyết vừa học.
• Giải đề thi tự luận: Tại chức năng này, học sinh sẽ giải
các bài thi do hệ thống đưa sẵn hay do nhập từ giáo
viên. Đây là phần ôn theo tự luận.
• Giải đề thi trắc nghiệm : học sinh sẽ ôn tập các bài học
theo phương pháp thi trắc nghiệm với các bài được hệ
thống đưa sẵn hay nhập từ bài soạn của giáo viên. Hệ
thống hỗ trợ tính giờ…
• Chức năng tra cứu : phần mềm cung cấp một số các
chức năng giúp người dùng thuận tiện hơn trong việc tra
Trang 18
cứu : bảng hệ thống tuần hoàn, bảng tính tan, máy tính,
nháp, sổ tay hoá học…
• Chức năng nhận / xuất dữ liệu : chức năng này giúp học
sinh trao đổi với giáo viên về các bài tập cũng như đề thi
thông qua email…
2.1.1.2 Đối với giáo viên
• Soạn đề thi tự luận : hệ thống giúp giáo viên quản lý
phần soạn các đề thi tự luận.
• Soạn đề thi trắc nghiệm : hệ thống giúp giáo viên quản
lý phần soạn đề thi trắc nghiệm.
• Chức năng tra cứu : phần mềm cung cấp một số các
chức năng giúp người dùng thuận tiện hơn trong việc tra
cứu : bảng hệ thống tuần hoàn, bảng tính tan, máy tính,
nháp, sổ tay hoá học…
• Chức năng nhận / xuất dữ liệu : chức năng này giúp học
sinh trao đổi với giáo viên về các bài tập cũng như đề thi
thông qua email…
2.1.1.3 Chức năng khác
• Trong quá trình giải bài của học sinh và soạn đáp án của
giáo viên, hệ thống hỗ trợ tác vụ tự động phát sinh
phương trình phản ứng dựa vào danh sách các chất phản
ứng do người dùng đưa ra, đồng thời hỗ trợ tác vụ tính
giá trị của chất phản ứng có trong phương trình phản
ứng đó.
• Hỗ trợ học sinh viết cấu hình electron khi biết điện tích
nguyên tố hoặc ngược lại xác định nguyên tố khi biết
cấu hình electron
Trang 19
22..22 SSơơ đđồồ lluuồồnngg ddữữ lliiệệuu
2.2.1 Học sinh 2.2.1.1 Nghiệp vụ “Ôn tập lý thuyết”
Diễn giải
D2 : Các thông tin về bài học : Lớp , Chương , Lý thuyết , Bài tập
SGK áp dụng .
D3 : Như D2
D6 : in
Xử lý
Đọc D3
Xuất D2
Ôn tập lý thuyết
Học sinh
D2
D3
Máy In
D6
Trang 20
2.2.1.2 Nghiệp vụ “Giải đề thi tự luận”
Diễn giải
D1 : Mã số đề thi
D2 : Kết quả làm bài
D3 : Đề thi
D4 : Bài làm
D6 : in
Xử lý
Nhập D1
Đọc D3
Lưu D4
Xuất D2
Giải đề thi tự luận
Học sinh
D2
D3
D1
D4
Máy In
D6
Trang 21
2.2.1.3 Nghiệp vụ “Giải đề thi Trắc nghiệm ”
Diễn giải
D1 : Số bài tập
D2 : Kết quả làm bài
D3 : Bài trắc nghiệm
D4 : Bài làm
D6 : in
Xử lý
Nhập D1
Đọc D3
Lưu D4
Xuất D2
Giải đề thi Trắc nghiệm
Học sinh
D2
D3
D1
D4
Máy In
D6
Trang 22
2.2.1.4 Nghiệp vụ “Giải đề bài tập theo dạng ”
Diễn giải
D1 : dạng bài tập và đề bài
D2 : Kết quả làm bài
D6 : in
Xử lý
Nhập D1
Xuất D2
Giải bài tập theo dạng
Học sinh
D2D1
Máy In
D6
Trang 23
2.2.1.5 Nghiệp vụ “Tra cứu”
Diễn giải
D1 : loại tra cứu
D4 : như D1 & kết quả tra cứu
Tra cứu bảng hệ thống tuần hoàn máy tính, bảng tính tan, máy tính, nháp…
Học sinh
D1
D4
Trang 24
2.2.1.6 Nghiệp vụ ‘ Nhận xuất dữ liệu ‘
Diễn giải :
D1 : file cần trao đổi.
D4 : như D1
D5 : như D1
Chức năng nhận xuất dữ liệu để tra đổi với giáo viên
Học sinh
D1
D4D5
Trang 25
2.2.2 Đối với giáo viên
2.2.2.1 Nghiệp vụ soạn bài lý thuyết
Diễn giải
D1 : Mã lớp , mã chương , mã bài
D4 : Như D1 và các dữ liệu liên quan đến bài lý thuyết
Xử lý
Nhập D1
Lưu D4
Soạn đề bài lý thuyết
Giáo viên
D1
D4
Trang 26
2.2.2.2 Nghiệp vụ” soạn đề thi tự luận”
Diễn giải
D1 : Số đề thi , số bài tập
D4 : Như D1 và các dữ liệu liên quan đến đề thi , bài tập
Xử lý
Nhập D1
Lưu D4
Soạn đề thi tự luận
Giáo viên
D1
D4
Trang 27
2.2.2.3 Nghiệp vụ “soạn bài tập trắc nghiệm”
Diễn giải
D1 : Số đề thi , số bài tập
D4 : Như D1 và các dữ liệu liên quan đến đề thi , bài tập
Xử lý
Nhập D1
Lưu D4
Soạn đề thi trắc nghiệm
Giáo viên
D1
D4
Trang 28
2.2.2.4 Nghiệp vụ “Tra cứu”
Diễn giải
D1 : loại tra cứu
D4 : như D1
Tra cứu bảng hệ thống tuần hoàn máy tính, bảng tính tan, máy tính, nháp…
Giáo viên
D1
D4
Trang 29
2.2.2.5 Nghiệp vụ “Nhận xuất dữ liệu“
Diễn giải :
D1 : file cần trao đổi.
D4 : như D1
D5 : như D1
22..33 CCáácc llớớpp đđốốii ttưượợnngg
2.3.1 Danh sách các lớp đối tượng ở mức phân tích
STT Tên Ý nghĩa Ghi chú 1 Lớp Lớp 2 Chương Chương 3 Bài lý thuyết Bài lý thuyết 4 Đề thi tự luận Đề thi tự luận 5 Bài tập tự luận Bài tập tự luận 6 Đề thi trắc nghiệm Đề thi trắc nghiệm 7 Bài tập trắc nghiệm Bài tập trắc nghiệm 8 Dạng bài tập Dạng bài tập
Chức năng nhập xuất file để trao đổi với học sinh
Giáo viên
D1
D4D5
Trang 30
2.3.2 Chi tiết các lớp đối tượng ở mức phân tích
Lớp -Tên lớp - Nhập tên lớp - xuất tên lớp - kiểm tra thông tin hợp lệ - tìm kiếm chương trong lớp
Chương -Tên chương - Nhöngập tên chương - xuất tên chương - kiểm tra thông tin hợp lệ - tìm kiếm bài trong chương - lấy lớp mà chương thuộc về
Bài lý thuyết -Tên bài lý thuyết - các bài tập SGK - Nhöngập tên bài - xuất tên bài - kiểm tra thông tin hợp lệ - tìm kiếm bài tập trong lớp - lấy chương mà bài thuộc về
Bài tập tự luận - Tên gợi nhớ - Độ khó - Dạng bài - Thời gian làm bài - Nhập thông tin bài tập tự luận . - xuất thông tin bài tập tự luận - kiểm tra thông tin hợp lệ - Tính thời gian làm bài
Trang 31
- thêm bài tập - xóa bài tập - sửa bài tập - lưu trữ bài tập - thêm bài tập vào đề thi - xóa bài tập khỏi đề thi
Đề thi tự luận -Tên gợi nhớ - Nhập tên gợi nhớ - xuất tên gợi nhớ - kiểm tra thông tin hợp lệ - thêm đề thi - xóa đề thi - sửa đề thi - tìm bài tập trong đề
Bài tập trắc nghiệm - Tên gợi nhớ - Độ khó - Dạng bài - Thời gian làm bài - Số lựa chọn - Lựa chọn đúng - Nhập thông tin bài tập tự luận . - xuất thông tin bài tập tự luận - kiểm tra thông tin hợp lệ - Tính thời gian làm bài - thêm bài tập - xóa bài tập - sửa bài tập - lưu trữ bài tập - thêm bài tập vào đề thi - xóa bài tập khỏi đề thi
Đề thi trắc nghiệm - Tên gợi nhớ - Nhập tên gợi nhớ - xuất tên gợi nhớ
Trang 32
- kiểm tra thông tin hợp lệ - thêm đề thi - xóa đề thi - sửa đề thi - tìm bài tập trong đề
Trang 33
Dạng bài
-Tên dạng bài - Nhập tên dạng bài - xuất tên dạng bài - kiểm tra thông tin hợp lệ - thêm dạng bài - xóa dạng bài - sửa dạng bài - tìm các bài thuộc về dạng bài
Trang 34
33 )) TThhiiếếtt kkếế 33..11 KKiiếếnn ttrrúúcc llooggiicc đđaa ttầầnngg
3.1.1 Đối với học sinh
Học sinh
Thể hiện ôn tập lý thuyết
Thể hiện giải đề thitự luận
Thể hiện giải đề thi trắc nghiệm
Xử lý ôn tập lý thuyết
Xử lý giải đề thi tự luận
Xử lý giải đề thi trắc nghiệm
Hệ thống các đối tượng thể hiện
Hệ thống các đối tượng xử lý
Hệ thống các đối tượng lưu trữ
Dữ liệu lý thuyết
Dữ liệu đề thi tự luận
Dữ liệu đề thi trắc nghiệm
Trang 35
3.1.1.1 Xử lý ôn tập theo lớp
3.1.1.2 Xử lý luyện giải đề thi
Xử lý ôn tập lý thuyết
Xử lý Lý thuyết
Lớp
Xử lý bài tập
Chương Bài Hỗ trợ phương trình phản ứng
Xử lý giải đề thi tự luận
Hỗ trợ phương trình phản ứng
Trang 36
Học sinh
Hệ thống các đối tượng thể hiện
Hệ thống các đối tượng xử lý
Hệ thống các đối tượng lưu trữ
Thể hiện tra cứu
Xử lý tra cứu
Dữ liệu tra cứu
Thể hiện giải bài tập theo dạng
Xử lý giải bài tập theo dạng
Trang 37
3.1.2 Đối với giáo viên
Giáo viên
Thể hiện soạn đề thi trắc nghiệm
Thể hiện soạn đề thi tự luận
Xử lý soạn đề thi trắc nghiệm
Xử lý soạn đề thi tự luận
Hệ thống các đối tượng thể hiện
Hệ thống các đối tượng xử lý
Hệ thống các đối tượng lưu trữ
Dữ liệu đề thi trắc
Dữ liệu đề thi tự luận
Thể hiện tra cứu
Xử lý tra cứu
Dữ liệu tra cứu
Trang 38
3.1.3 Kiến trúc triển khai
33..22 TThhiiếếtt kkếế ddữữ lliiệệuu
3.2.1 Sơ đồ logic dữ liệu
Cấu trúc các lớp đối tượng
Hình 7 : sơ đồ logic dữ liệu
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
LOP CHUONG BAILY THUYET
DETHITULUAN
DETHI_BAITAPTULUAN
BAITAP TULUAN
DETHITRACNGHIEM
DETHI_BAITAPTRACNGHIEM
BAITAP TRACNGHIEM
BAITAPSGK
LOAI BAITAP
Trang 39
3.2.1.1.1 Danh sách các thành phần của sơ đồ
STT Tên Ý nghĩa Loại Ghi chú 1 LOP Lớp Đối
tương
2 CHUONG Chương Đối tương
3 BAILYTHUYET Bài lý thuyết
Đối tương
4 BAITAPSGK Bài tập SGK
Đối tương
5 DETHITULUAN Đề thi tự luận
Đối tương
BAITAPTUUAN Bài tập tự luận
Đối tương
6 DETHI_BAITAPTULUAN Đề thi - bài tập tự luận
Quan hệ
7 DETHITRACNGHIEM Đề thi trắc nghiệm
Đối tương
8 BAITAPTRACNGHIEM Bài tập trắc nghiệm
Đối tương
9 DETHI_BAITAPTRACNGHIEM Đề thi - bài tập trắc nghiệm
Quan hệ
10 DANGBAITAP Dạng bài tập
Đối tương
3.2.1.1.2 Danh sách các thuộc tính của từng thành phần ở dạng
quan hệ 1. LOP (MaLop,TenLop)
2. CHUONG(MaChuong,TenChuong)
3. BAILYTHUYET(MaBaiLyThuyet,TenBaiLyThuyet,TenFileBaiL
yThuyet).
4. BAITAPSGK(MaBaiTapSGK,MaBaiLyThuyet,TenFileDeBai,Ten
FileHuongDanGiai,TenFileBaiGiai)
5. DETHITULUAN(MaDeThi,TenGoiNho)
Trang 40
6. BAITAPTULUAN(MaBaiTap,TenGoiNho,MaDangBai,DoKho,T
hoiGianLamBai,TenFileDeBai,TenFileHuongDan,TenFileBaiGiai,
TenFileBaiLam).
7. DETHI_BAITAPTULUAN(MaDeThi,MaBaiTap)
8. DETHITRACNGHIEM(MaDeThi,TenGoiNho)
9. BAITAPTRACNGHIEM(MaBaiTap,TenGoiNho,MaDangBai,Do
Kho,ThoiGianLamBai,SoLuaChon,LuaChonDung,TenFileDeBai,
TenFileHuongDan,TenFileBaiGiai,LuaChon).
10. DETHI_BAITAPTRACNGHIEM(MaDeThi,MaBaiTap)
11. DANGBAI(MaDangBai,TenDangBai)
3.2.1.1.3 Danh sách các thuộc tính của từng thành phần
Tên : Lop
Ý nghĩa : Lớp
STT Thuộc tính Kiểu Miền giá trị
Ràng buộc Ghi chú
1 MaLop Số nguyên Khóa chính 2 TenLop Chuỗi
Tên : Chuong
Ý nghĩa : Chương
STT Thuộc tính Kiểu Miền giá trị Ràng buộc
Ghi chú
1 MaChuong Số nguyên Khóa chính2 TenChuong Chuỗi
Tên : BaiLyThuyet
Ý nghĩa : Bài lý thuyết
STT Thuộc tính Kiểu Miền giá trị Ràng buộc
Ghi chú
1 MaBaiLyThuyet Số nguyên Khóa chính2 TenBaiLyThuyet Chuỗi 3 TenFileBaiLyTh
uyet Chuỗi
Trang 41
Tên : BaiTapSGK
Ý nghĩa : Bài tập SGK
STT Thuộc tính Kiểu Miền giá trị Ràng
buộc Ghi chú
1 MaBaiTapSGK
Số nguyên Khóa chính
2 MaBaiLyThuyet
Số nguyên Tham chiếu khóa ngoại
3 TenFileDeBai
Chuỗi
4 TenFileHuongDanGiai
Chuỗi
5 TenFileBaiGiai
Chuỗi
Tên : DeThiTuLuan
ý nghĩa : Đề thi tự luận
STT Thuộc tính Kiểu Miền giá trị Ràng
buộc Ghi chú
1 MaDeThi Số nguyên Khóa chính2 TenGoiNho Chuỗi
Tên : BaiTapTuLuan
ý nghĩa : bài tập tự luận
STT Thuộc tính Kiểu Miền giá trị Ràng
buộc Ghi chú
1 MaBaiTap Số nguyên Khóa chính2 TenGoiNho Chuỗi 3 MaDangBai Số nguyên Tham
chiếu khóa ngoại
4 DoKho Số nguyên >=1 and <=4 5 ThoiGianLa
mBai DateTime
Trang 42
6 TenFileDeB
ai Chuỗi
7 TenFileHuongDan
Chuỗi
8 TenFileBaiGiai
Chuỗi
9 TenFileBaiLam
Chuỗi
Tên : DeThi_BaiTapTuLuan
ý nghĩa : quan hệ đề thi bài tập tự luận
STT Thuộc tính Kiểu Miền giá trị Ràng buộc Ghi chú
1 MaDeThi Số nguyên Tham chiếu khóa ngoại
2 MaBaiTap Số nguyên Tham chiếu khóa ngoại
Tên : DeThiTracNghiem ý nghĩa : Đề thi trắc nghiệm STT Thuộc tính Kiểu Miền giá trị Ràng buộc Ghi chú
1 MaDeThi Số nguyên Khóa chính2 TenGoiNho Chuỗi
Tên : BaiTapTracNghiem
ý nghĩa : bài tập trắc nghiệm
STT Thuộc tính Kiểu Miền giá trị Ràng buộc Ghi chú
1 MaBaiTap Số nguyên Khóa chính 2 TenGoiNho Chuỗi 3 MaDangBai Số nguyên Tham chiếu
khóa ngoại 4 DoKho Số nguyên >=1 and <=4 5 ThoiGianLam
Bai DateTime
Trang 43
6 SoLuaChon Số nguyên >=2 and <=5 7 LuaChonDun
g Số nguyên <=
SoLuaChon
8 TenFileDeBai Chuỗi 9 TenFileHuon
gDan Chuỗi
10 TenFilebaiGiai
Chuỗi
11 LuaChon Số nguyên <= SoLuaChon
Tên : DeThi_BaiTapTracNghiem
ý nghĩa : quan hệ đề thi bài tập trắc nghiệm
STT Thuộc tính Kiểu Miền giá trị Ràng
buộc Ghi chú
1 MaDeThi Số nguyên Tham chiếu khóa ngoại
2 MaBaiTap Số nguyên Tham chiếu khóa ngoại
Tên : DangBai
ý nghĩa : Dạng bài
STT Thuộc tính Kiểu Miền giá trị Ràng buộc
Ghi chú
3 MaDangBai Số nguyên Khóa chính 4 TenDangBai Chuỗi
3.2.1.2 Ôn tập lý thuyết
Cấu trúc file LyThuyet.dtd:
<?xml version="1.0" encoding="utf-8" ?>
<!ELEMENT LYTHUYET (LOP*)>
<!ELEMENT LOP (CHUONG*)>
<!ELEMENT CHUONG (BAILYTHUYET*)>
<!ELEMENT BAILYTHUYET (BAITAPSGK*)>
<!ELEMENT BAITAPSGK EMPTY>
Trang 44
<!ATTLIST LOP MaSo CDATA #REQUIRED>
<!ATTLIST LOP TenLop CDATA #IMPLIED>
<!ATTLIST CHUONG MaSo CDATA #REQUIRED>
<!ATTLIST CHUONG TenChuong CDATA #IMPLIED>
<!ATTLIST BAILYTHUYET MaSo CDATA #REQUIRED>
<!ATTLIST BAILYTHUYET TenBai CDATA #IMPLIED>
<!ATTLIST BAILYTHUYET TenFileBaiLT CDATA #IMPLIED>
<!ATTLIST BAITAPSGK TenFileBT CDATA #IMPLIED>
<!ATTLIST BAITAPSGK TenFileHuongDan CDATA #IMPLIED>
<!ATTLIST BAITAPSGK TenFileBaiGiai CDATA #IMPLIED>
Dữ liệu ví dụ : file LyThuyet.xml
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE LYTHUYET SYSTEM "LyThuyet.dtd"[]>
<LYTHUYET>
<LOP MaSo="0" TenLop="Lớp 10">
<CHUONG MaSo="00" TenChuong="CẤU TẠO NGUYÊN TỬ">
<BAILYTHUYET MaSo="000" TenBai="Thành phần cấu tạo của nguyên
tử - Kích thước , khối lượng nguyên tử" TenFileBaiLT="L0C0B0.rtf">
<BAITAPSGK TenFileBT="L0C0B0BT0.rtf"
TenFileHuongDan="L0C0B0BT0HD0.rtf"
TenFileBaiGiai="L0C0B0BT0BG0.rtf"
TenFileBaiLam="L0C0B0BT0BL0.rtf">
</BAITAPSGK>
</BAILYTHUYET>
</CHUONG>
</LOP>
<LOP MaSo="1" TenLop="Lớp 11">
<CHUONG MaSo="10" TenChuong="SỰ ĐIỆN LY">
Trang 45
<BAILYTHUYET MaSo="100" TenBai="Chất điện li"
TenFileBaiLT="L1C0B0.rtf">
</BAILYTHUYET>
</CHUONG>
</LOP>
<LOP MaSo="2" TenLop="Lớp 12">
<CHUONG MaSo="20" TenChuong="RƯỢU - PHENOL - AMIN">
<BAILYTHUYET MaSo="200" TenBai="Nhóm chức"
TenFileBaiLT="L2C0B0.rtf">
</BAILYTHUYET>
</CHUONG>
</LOP>
</LYTHUYET>
3.2.1.3 Đề thi tự luận
Cấu trúc của file DuLieuTuLuan.xml
<?xml version="1.0" encoding="utf-8" ?>
<!ELEMENT DANHSACHCAUHOITULUAN (CAUHOI*)>
<!ELEMENT CAUHOI EMPTY>
<!ATTLIST CAUHOI MaCauHoi CDATA #REQUIRED>
<!ATTLIST CAUHOI TenGoiNho CDATA #IMPLIED>
<!ATTLIST CAUHOI DangBai CDATA #IMPLIED>
<!ATTLIST CAUHOI DoKho CDATA #IMPLIED>
<!ATTLIST CAUHOI ThoiGianLamBai CDATA #IMPLIED>
<!ATTLIST CAUHOI NoiDung CDATA #IMPLIED>
<!ELEMENT DANHSACHDETHITULUAN (DETHI*)>
<!ELEMENT DETHI (CAUHOI*)>
<!ATTLIST DETHI MaDeThi CDATA #REQUIRED>
<!ATTLIST DETHI TenGoiNho CDATA #IMPLIED>
<!ATTLIST DETHI DoKho CDATA #IMPLIED>
Trang 46
<!ATTLIST DETHI ThoiGianLamBai CDATA #IMPLIED>
Dữ liệu ví dụ :
file CauHoiTuLuan.xml
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE DANHSACHCAUHOITULUAN SYSTEM "DuLieuTuLuan.dtd"[]>
<DANHSACHCAUHOITULUAN>
<CAUHOI MaCauHoi="CHTL001" TenGoiNho="Bài tập về kim loại lưỡng
tính" DangBai="" DoKho="2" ThoiGianLamBai="00:05:00" NoiDung="Hòa tan
hoàn toàn một khối lượng m gam FexOy bằng dung dịch H2SO4 đặc nóng , ta thu
được khí A và dung dịch B Cho khí A hấp thụ hoàn toàn bởi dung dịch NaOH dư
tạo ra 12,6 g muối . Mặt khác cô cạn dung dịch B thì thu được 120 gam muối khan .
Xác định công thức của Oxit sắt ."></CAUHOI>
</DANHSACHCAUHOITULUAN>
file DeThiTuLuan.xml
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE DANHSACHDETHITRACNGHIEM SYSTEM
"DuLieuTuLuan.dtd"[]>
<DANHSACHDETHITRACNGHIEM>
<DETHI MaDeThi="DTTL001" TenGoiNho="Đề thi 1" DoKho="2"
ThoiGianLamBai="00:20:30" NgayRaDe="10/10/2001">
<CAUHOI MaCauHoi="CHTL001"></CAUHOI>
<CAUHOI MaCauHoi="CHTL002"></CAUHOI>
<CAUHOI MaCauHoi="CHTL003"></CAUHOI>
</DETHI>
</DANHSACHDETHITRACNGHIEM>
3.2.1.4 Đề thi trắc nghiệm
Cấu trúc của file DuLieuTracNghiem.dtd:
<?xml version="1.0" encoding="utf-8" ?>
Trang 47
<!ELEMENT DANHSACHCAUHOITRACNGHIEM (CAUHOI*)>
<!ELEMENT CAUHOI (CACLUACHON)>
<!ELEMENT CACLUACHON (LUACHON*)>
<!ELEMENT LUACHON (#PCDATA)>
<!ATTLIST CAUHOI MaCauHoi CDATA #REQUIRED>
<!ATTLIST CAUHOI TenGoiNho CDATA #IMPLIED>
<!ATTLIST CAUHOI DangBai CDATA #IMPLIED>
<!ATTLIST CAUHOI DoKho CDATA #IMPLIED>
<!ATTLIST CAUHOI ThoiGianLamBai CDATA #IMPLIED>
<!ATTLIST CAUHOI NoiDung CDATA #IMPLIED>
<!ATTLIST CACLUACHON LuaChonDung CDATA #IMPLIED>
<!ELEMENT DANHSACHDETHITRACNGHIEM (DETHI*)>
<!ELEMENT DETHI (CAUHOI*)>
<!ATTLIST DETHI MaDeThi CDATA #REQUIRED>
<!ATTLIST DETHI TenGoiNho CDATA #IMPLIED>
<!ATTLIST DETHI DoKho CDATA #IMPLIED>
<!ATTLIST DETHI ThoiGianLamBai CDATA #IMPLIED>
Dữ liệu ví dụ :
file CauHoiTracNghiem.xml
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE DANHSACHCAUHOITRACNGHIEM SYSTEM
"DuLieuTracNghiem.dtd"[]>
<DANHSACHCAUHOITRACNGHIEM>
<CAUHOI MaCauHoi="CHTN001" TenGoiNho="Bài tập về kim loại lưỡng
tính" DangBai="" DoKho="2" ThoiGianLamBai="00:05:00" NoiDung="Một kim
loại M tác dụng với dung dịch HNO3 loãng thu được M(NO3)3,H2O và hổn hợp
khí E chứa N2 và N2O.Khi hòa tan hoàn toàn 2,16 gam kim loại M trong dung
dịchHNO3 loãng thu được 604,8 ml hổn hợp khí E có tỉ khối hơi đối với H2 là
18,45 . Xác định kim loại M .">
Trang 48
<CACLUACHON LuaChonDung="3">
<LUACHON>Cr</LUACHON>
<LUACHON>Al</LUACHON>
<LUACHON>Fe</LUACHON>
<LUACHON>Mn</LUACHON>
<LUACHON>Kết quả khác</LUACHON>
</CACLUACHON>
</CAUHOI>
</DANHSACHCAUHOITRACNGHIEM>
file DeThiTracNghiem.xml
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE DANHSACHDETHITRACNGHIEM SYSTEM
"DuLieuTracNghiem.dtd"[]>
<DANHSACHDETHITRACNGHIEM>
<DETHI MaDeThi="DTTN001" TenGoiNho="Đề thi 1" DoKho="2"
ThoiGianLamBai="00:20:30" NgayRaDe="10/10/2001">
<CAUHOI MaCauHoi="CHTN001"></CAUHOI>
<CAUHOI MaCauHoi="CHTN003"></CAUHOI>
</DETHI>
</DANHSACHDETHITRACNGHIEM>
33..33 TThhiiếếtt kkếế xxửử llýý
3.3.1 Mục đích Xây dựng tập hợp các lớp đối tượng mô phỏng các loại chất vô cơ nhằm thể
hiện tính chất hoá học của chúng. Do đó, chương trình có thể giúp người dùng
trong việc tự động phát sinh các phương trình phản ứng khi biết các chất tham
gia.
Trang 49
3.3.2 Kiến trúc tổng thể của các lớp đối tượng 3.3.2.1 Danh sách các lớp đối tượng
3.3.2.1.1 Các lớp đối tượng xử lý chính
STT Tên Ý nghĩa Ghi chú 1 Lop Lớp 2 Chuong Chương 3 BaiLyThuyet Bài lý thuyết 4 BaiTapSGK Bài tập SGK 5 BaiTapTuLuan Bài tập tự luận 6 DeThiTuLuan Đề thi trắc nghiệm 7 BaiTapTracNghiem Bài tập trắc nghiệm 8 DeThiTracNghiem Đề thi trắc nghiệm 9 XuLy_MHChinh Xử lý màn hình chính 10 XuLy_OnTapLyThuyet Xử lý Ôn tập lý
thuyết
11 XuLy_GiaiDeThiTuLuan Xử lý giải đề thi tự luận
12 XuLy_GiaiDeThiTracNghiem Xử lý giải đề thi trắc nghiệm
13 XuLy_SoanBaiLuyThuyet Xử lý soạn bài lý thuyết
14 XuLy_SoanDeThiTuLuan Xử lý soạn đề thi tự luận
15 XuLy_SoanDeThiTracNghiem Xử lý soạn đề thi trắc nghiệm
16 DuLieu_LyThuyet Dữ liệu lý thuyết 17 DuLieu_TuLuan Dữ liệu tự luận 18 DuLieu_TracNghiem Dữ liệu trắc nghiệm
3.3.2.1.2 Các đối tượng thể hiện chất vô cơ
• ChatVoCo
• NguyenTo
• HopChatOH
• HopChatDienTich
• IonDuong
• IonAm
Trang 50
• KimLoai
• PhiKim
• KLNhomI
• KLNhomII
• KLNhomIII
• KLNhomPhu
• PKNhomIV
• PKNhomV
• PKNhomVI
• PKNhomVII
• Muoi
• Axit
• Bazo
• BazoKiem
• BazoKiemTho
• BazoLuongTinh
• BazoNhomPhu
• BazoNH4
• H2O
• Oxit
• OxitAxit
• OxitBazo
• OxitAxitNhomIV
• OxitAxitNhomV
• OxitAxitNhomVI
• OxitAxitNhomVII
• OxitBazoNhomI
• OxitBazoNhomII
Trang 51
• OxitBazoNhomIII
• OxitBazoNhomPhu
• RH
• RHNhomIV
• RHNhomV
3.3.2.1.3 Các đối tượng quản lý
• DanhSachNguyenTo
• TapHopNguyenTo
• DanhSachChat
• TapHopChat
• PhuongTrinhPhanUng
• PhuongTrinhPhanUngCollection
• PhuongTrinhPhanUngHoanChinh
• ChatPhanUng
• TapHopChatTrongPtpu
• Math
• MyException
• DataBase
3.3.2.2 Mô hình quan hệ giữa các đối tượng 3.3.2.2.1 Các đối tượng thể hiện chất vô cơ
I.A.1.a.1. Mô hình 1 :
Trang 52
• 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 IonDuong và IonAm
• Lớp IonDuong kế thừa từ lớp ChatVoCo thể hịên các ion dương tương
ứng trong lớp HopChatDienTich
• Lớp IonAm kế thừa từ lớp ChatVoCo thể hịên các ion âm tương ứng trong
lớp HopChatDienTich
I.A.1.a.2. Mô hình 2 :
• 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.
I.A.1.a.3. Mô hình 3 :
• Lớp KLNhomI kế thừa từ lớp KimLoai thể hiện các kim loại thuộc phân
nhóm chính nhóm I .
Trang 53
• Lớp KLNhomII kế thừa từ lớp KimLoai thể hiện các kim loại thuộc phân
nhóm chính nhóm II .
• Lớp KLNhomIII kế thừa từ lớp KimLoai thể hiện các kim loại thuộc phân
nhóm chính nhóm III .
• Lớp KLNhomPhu kế thừa từ lớp KimLoai thể hiện các kim loại thuộc
phân nhóm chính nhóm Phu (phân nhóm B).
I.A.1.a.4. Mô hình 4 :
• Lớp PKNhomIV kế thừa từ lớp PhiKim thể hiện các nguyên tố phi kim
thuộc phân nhóm chính nhóm IVA.
• Lớp PKNhomV kế thừa từ lớp PhiKim thể hiện các nguyên tố phi kim
thuộc phân nhóm chính nhóm VA.
• Lớp PKNhomVI kế thừa từ lớp PhiKim thể hiện các nguyên tố phi kim
thuộc phân nhóm chính nhóm VIA.
• Lớp PKNhomVII kế thừa từ lớp PhiKim thể hiện các nguyên tố phi kim
thuộc phân nhóm chính nhóm VIIA.
I.A.1.a.5. Mô hình 5 :
Trang 54
• Lớp Oxit kế thừa từ lớp HopChatOH thể hiện các oxit (hợp chất được tạo
bởi mối kết hợp của nguyên tố O với các nguyên tố khác.)
• Lớp RH kế thừa từ lớp HopChatOH thể hiện các hợp chất RH (hợp chất
được tạo bởi mối kết hợp của nguyên tố H với các nguyên tố khác.).
I.A.1.a.6. Mô hình 6 :
• Lớp OxitAxit kế thừa từ lớp Oxit thể hiện các oxit axit .
• Lớp OxitBazo kế thừa từ lớp Oxit thể hiện các oxit bazo.
I.A.1.a.7. Mô hình 7 :
• Lớp OxitAxitNhomIV kế thừa từ lớp OxitAxit thể hiện các oxit axit của
nguyên tố phi kim thuộc phân nhóm chính nhóm IVA với nguyen tố O.
• Lớp OxitAxitNhomV kế thừa từ lớp OxitAxit thể hiện các oxit axit của
nguyên tố phi kim thuộc phân nhóm chính nhóm VA với nguyen tố O.
• Lớp OxitAxitNhomVI kế thừa từ lớp OxitAxit thể hiện các oxit axit của
nguyên tố phi kim thuộc phân nhóm chính nhóm VIA với nguyen tố O.
• Lớp OxitAxitNhomVII kế thừa từ lớp OxitAxit thể hiện các oxit axit của
nguyên tố phi kim thuộc phân nhóm chính nhóm VIIA với nguyen tố O.
Trang 55
I.A.1.a.8. Mô hình 8 :
• Lớp OxitBazoNhomI kế thừa từ lớp OxitBazo thể hiện các oxit bazo của
nguyên tố kim loại thuộc phân nhóm chính nhóm IA với nguyên tố O.
• Lớp OxitBazoNhomII kế thừa từ lớp OxitBazo thể hiện các oxit bazo của
nguyên tố kim loại thuộc phân nhóm chính nhóm IIA với nguyên tố O.
• Lớp OxitBazoNhomIII kế thừa từ lớp OxitBazo thể hiện các oxit bazo
của nguyên tố kim loại thuộc phân nhóm chính nhóm IIIA với nguyên tố O.
• Lớp OxitBazoNhomPhu kế thừa từ lớp OxitBazo thể hiện các oxit bazo
của nguyên tố kim loại thuộc phân nhóm chính nhóm phụ (nhóm B) với
nguyên tố O.
I.A.1.a.9. Mô hình 9 :
• Lớp RHNhomIV kế thừa từ lớp RH thể hiện cách hợp chất RH của
nguyên tố phi kim nhóm IVA với nguyên tố H
• Lớp RHNhomV kế thừa từ lớp RH thể hiện cách hợp chất RH của nguyên
tố phi kim nhóm VIA với nguyên tố H
Trang 56
I.A.1.a.10. Mô hình 10 :
• Lớp Muoi kế thừa từ lớp HopChatDienTich thể hiện hợp chất muối (sự
kết hợp của ion dương kim loại , ion duơng NH4 và ion âm gốc axit).
• Lớp Axit kế thừa từ lớp HopChatDienTich thể hiện hợp chất Axit (sự kết
hợp của ion dương H+ với ion âm gốc axit).
• Lớp Bazo kế thừa từ lớp HopChatDienTich thể hiện hợp chất Bazo (sự
kết hợp của ion dương kim loại, ion dương NH4 với ion âm OH-)
• Lớp H2O kế thừa từ lớp HopChatDienTich thể hiện hợp chất của H2O.
I.A.1.a.11. Mô hình 11 :
• Lớp BazoKiem kế thừa từ lớp Bazo thể hiện bazo của kim loại phân nhóm
chính nhóm IA.
• Lớp BazoKiemTho kế thừa từ lớp Bazo thể hiện bazo của kim loại phân
nhóm chính nhóm IIA.
• Lớp BazoLuongTinh kế thừa từ lớp Bazo thể hiện bazo của kim loại phân
nhóm chính nhóm IIIA.
Trang 57
• Lớp BazoNhomPhu kế thừa từ lớp Bazo thể hiện bazo của kim loại phân
nhóm chính nhóm phụ.
• Lớp BazoNH4 kế thừa từ lớp Bazo thể hiện bazo của ion dương NH4.
3.3.2.2.2 Mối quan hệ khác I.A.1.a.12. Mô hình 1 :
• Lớp PhuongTrinhPhanUngCollection chứa tập hợp các đối tượng của lớp
PhuongTrinhPhanUng.
• Lớp PhuongTrinhPhanUng chứa 2 đối tượng thuộc lớp TapHopChat thể
hiện các chất tham gia phản ứng và các chất tạo thành cùng chỉ số cân bằng
của chúng.
• Lớp TapHopChat chứa tập hợp các ChatVoCo tham gia phản ứng cùng các
chỉ số của chúng trong phương trình đã cân bằng và đồng thời 1 đối tượng
thuộc lớp DanhSachChat lưu các chất tham gia phản ứng.
• LớpDanhSachChat chứa tập hợp các đối tượng thuộc lớp ChatVoCo
*
*
PhuongTrinhPhanUngCollection
PhuongTrinhPhanUng
TapHopChat
DanhSachChat ChatVoCo *
**
Trang 58
I.A.1.a.13. Mô hình 2 :
• Lớp PhuongTrinhPhanUngHoanChinh chứa một đối tượng thuộc lớp
PhuongTrinhPhanUng và một đối tượng thuộc lớp
TapHopChatTrongPtpu thể hiện các chất tham gia phản ứng cùng các
thuộc tính khối lượng số mol đã được tính.
• Lớp TapHopChatTrongPtpu chứa tập hợp các đối tượng thuộc lớp
ChatPhanUng.
• Lớp ChatPhanUng chứa một đối tượng thuộc lớp ChatVoCo cùng các
thuộc tính khối lượng, số mol của chất đó trong phương trình phản ứng.
PhuongTrinhPhanUngHoanChinh
PhuongTrinhPhanUn TapHopChatTrongPtp
ChatPhanUng
ChatVoCo
**
*
*
Trang 59
I.A.1.a.14. Mô hình 3 :
• Lớp ChatVoCo chứa một đối tượng thuộc lớp
PhuongTrinhPhanUngCollection đề lưu tập hợp các phương trình phản
ứng mà đối tượng này (ChatVoCo) sẽ tham gia phản ứng với một đối tượng
thuộc lớp ChatVoCo khác. Đồng thời lớp ChatVoCo cũng chứa một đối
tượng thuộc lớp TapHopNguyenTo để lưu toàn bộ các NguyenTo cấu tạo
lên đối tượng thuộc lớp ChatVoCo này và số lượng của chúng (phục vụ cho
việc tính khối lượng của đối tượng ChatVoCo này).
• Lớp TapHopNguyenTo chứa một đối tượng thuộc lớp
DanhSachNguyenTo để lưu các đối tượng thuộc lớp NguyenTo và bản thân
các NguyenTo cùng với chỉ số của chúng.
• Lớp DanhSachNguyenTo chứa các đối tượng thuộc lớp NguyenTo.
ChatVoCo
PhuongTrinhPhanUngCollectio
NguyenTo
TapHopNguyenTo
DanhSachNguyenT
* *
* *
*
Trang 60
I.A.1.a.15. Mô hình 4 :
• Lớp HopChatDienTich chứa một đối tượng thuộc lớp IonDuong và một đối
tượng thuộc lớp IonAm.
• Lớp IonDuong có thể chứa hoặc không chứa đối tượng thuộc lớp KimLoai
tương ứng với ion dương đó.
3.3.2.2.3 Mô hình quan hệ giữa các đối tượng xử lý
DuLieu_TuLuan
XuLy_OnTapLyThuyetDuLieu_LyThuyet 1 11 1
XuLy_SoanBaiLyThuyet1
11
1
DuLieu_TracNghiem
Lop0..*
1
0..*
10..*
1
0..*
1
Chuong0..*
1
0..*
1
BaiTapSGK BaiLyThuyet10..* 10..*10..* 10..*
CauHoiTracNghiem10..*
10..*
CauHoiTuLuan10..*
10..*
XuLy_SoanDeThiTuLuanDeThiTuLuan1
0..*
1
0..*
0..*
1
0..*
1 10..* 10..*
XuLy_GiaiDeThiTuLuan
10..* 10..*
XuLy_SoanDeThiTracNghiemDeThiTracNghiem1 0..*1 0..*
0..*
1
0..*
1 10..* 10..*
XuLy_GiaiDeThiTracNghiem
1
0..*
1
0..*
HopChatDienTich
IonDuong IonAm
KimLoai
* *
*
Trang 61
3.3.2.3 Chi tiết tổ chức bên trong các lớp đối tượng 3.3.2.3.1 Lớp ChatVoCo
• Danh sách các biến thành phần (fields) :
STT Tên Loại Ý nghĩa Ghi chú
1
m_NguyenTos
TaphopNguyenTo Lưu các đối tượng của lớp NguyenTo cùng số lượng của chúng tạo nên đối tượng ChatVoCo này
protected
2
m_ptpus
PhuongTrinhPhan UngCollection
Khi đối tượng ChatVoCo này phản ứng với một chất khác nó có thể tạo ra một hoặc nhiều phương trình phản ứng khác nhau
protected
• Danh sách các thuộc tính (properties) :
STT
Tên Loại Ý nghĩa Ghi chú
1 M float Khối lượng Read-only
2 NguyenTos TapHopNguyenTo Tương ứng
m_nguyentos
Read –only
3 PhuongTrinhPhanUngs
PhuongTrinhPhanUngCollection
Tương ứng m_ptpus
public
Trang 62
• Danh sách các hàm thành phần (methods) :
STT Tên Tham số Xử lý Kết quả Ghi chú
1 XacDinhChat ten : string Xác định đối
tượng có tên chất như vậy
Đối tượng thuộc lớp tương ứng
static
2
LaChatKhi chat : ChatVoCo
Xác định chất cho có phải là chất khí hay không
True : đúng False : sai
static
3
KimLoaiMuoi kl : KimLoai m : Muoi
Xác định phương trình phản ứng của đối tượng KimLoai và đối tựong Muoi
True:có False:không Tính m_ptpus
protected
4
KimLoaiAxit kl : KimLoai axit : Axit
Xác định phương trình phản ứng của đối tượng KimLoai và đối tựong Axit
True:có False:không Tính m_ptpus
protected
5
KimLoaiH2O kl : KimLoai h2O : H2O
Xác định phương trình phản ứng của đối tượng KimLoai và đối tượng H2O
True:có False:không Tính m_ptpus
protected
6
KimLoaiPhiKimVII kl : KimLoai pk : PKNhomVII
Xác định phương trình phản ứng của đối tượng KimLoai và đối tượng PKNhomVII
True:có False:không Tính m_ptpus
protected
Trang 63
7
KimLoaiPhiKimVI kl : KimLoai pk : PKNhomVI
Xác định phương trình phản ứng của đối tượng KimLoai và đối tượng PKNhomVI
True:có False:không Tính m_ptpus
protected
8
KimLoaiPhiKimV kl : KimLoai pk : PKNhomV
Xác định phương trình phản ứng của đối tượng KimLoai và đối tượng PKNhomV
True:có False:không Tính m_ptpus
protected
9
KimLoaiPhiKimIV kl : KimLoai pk : PKNhomIV
Xác định phương trình phản ứng của đối tượng KimLoai và đối tượng PKNhomIV
True:có False:không Tính m_ptpus
protected
10 … … … … … Danh sách các hàm tiếp theo sẽ theo tính chất hoá học của các chất vô cơ có thể
phản ứng với nhau.
o Giải thuật hàm XacDinhChat :
Kiểm tra chất có thuộc lớp NguyenTo(phi kim + kim loại) ?
đúng : tạo mới đối tượng thuộc lớp NguyenTo tương ứng với tenChat
đã cho, dừng
sai : Kiểm tra chất có thuộc lớp HopChatOH (oxit + RH) ?
đúng : tạo mới đối tượng thuộc lớp HopChatOH tương ứng với
tenChat đã cho, dừng
sai : Kiểm tra chất có thuộc lớp HopChatDienTich (axit + bazo +
muối)?
Trang 64
đúng : tạo mới đối tượng thuộc lớp HopChatDienTich tương ứng với
tenChat đã cho, dừng
sai : trả về giá trị null thông báo tên chất không hợp lệ
o Giải thuật hàm LaChatKhi :
Nếu chất là phi kim và chất là chất khí (O,N,F,Cl,I) trả về true
nếu không trả về false
o Giải thuật hàm KimLoaiMuoi :
Kiểm tra kim loại có đứng trước kim loại của ion dương muối
nếu không -> không phản ứng, dừng
nếu có trả về chất tạo thành là (kim loại mới và muối mới).
o Giải thuật hàm KimLoaiAxit :
Kiểm tra axit thuộc loại gì ?
Nếu axit là HNO3 thì gọi hàm kimLoaiTacDungAxitHNO3
Nếu axit là H2SO4 thì gọi hàm kimLoaiTacDungAxitH2SO4
Nếu là axit khác thì gọi hàm kimLoaiTacDungAxitThuong
o Giải thuật hàm KimLoaiH2O :
Nếu KimLoai là KLNhomI hay KLNhomII thì có phản ứng xảy ra
Nếu không thì trả về null
I.A.1.a.16. Lớp NguyenTo • Danh sách các biến thành phần (field) :
STT Tên Loại Ý nghĩa Ghi chú
1 m_nt enumNguyenTo Kiểu tập hợp enum private 2 db DataBase Để truy vấn dữ liệu private 3 m_soHieuNtu int Số hiệu nguyên tử private 4 m_ten string Tên nguyên tố private 5 m_kyHieu string Kí hiệu nguyên tử private 6 m_khoiLuong float Khối lượng của nguyên tử private 7 m_cauHinhElectron string Cấu hình electron private 8 m_doAmDien float Độ âm điện private
9 m_tapHopSoOxiHoa int[] Tập hợp số oxi hoá có thể có của nguyên tử
private
10 m_soOxiHoa int Số oxi hoá của đối tựong nguyento hiện tại
protected
Trang 65
• Danh sách các thuộc tính (properties)
STT Tên Loại Ý nghĩa Ghi chú 1 Ten enumNguyenTo m_ten public 2 SoHieuNguyenTu int m_soHieuNtu public
3 TenNguyenTu string m_tenNguyenTu public Read-only
4 KyHieu string m_kyHieu public
Read – only
5 KhoiLuong float m_khoiLuong public Read - only
6 CauHinhElectron string m_cauHinhElectron public
Read – only
7 DoAmDien float m_doAmDien public Read only
8 TapHopSoOxiHoa int[] m_tapHopSoOxiHoa public Readonly
9
SoOxiHoa int Kiểm tra giá trị số oxi hoá khởi gán có nằm trong tập hợp số oxi hoá của nguyên tố hay không?
public
• Danh sách các hàm thành phần (methods)
STT Tên Tham số Xử lý Kết quả Ghi chú
1
Clone Tạo mới đối tượng copy từ đối tượng này
trả về đối tượng NguyenTo được copy
public
2
LaNguyenTo ten : string Kiểm tra với tên đó có là nguyento hày không
true : đúng false : sai
public static
3
XacDinhNguyenTo ten : string Trả về chính xác đối tựơng có ten như vậy
null : không là NguyenTo
public static
Trang 66
4
NguyenTo ten: string Tạo đối tượng thuộc lớp nguyento đồng thời khởi tạo các thuộc tính Tên, khối lượng, cấu hình e, tập hợp số oxi hoá có thể có…
public Hàm tạo
5
NguyenTo ten : string soOxiHoa : int
Khởi tạo thuộc tính Tên, sooxihoa, cấu hình e, khối lượng…
public Hàm tạo
6
NguyenTo soHieuNguyenTu : int
Khởi tạo đối tượng nguyento khi biết số hiệu nguyên tử của nguyên tố đó
public Hàm tạo
I.A.1.a.17. Lớp KimLoai :
• Danh sách các biến thành phần (fields) :
STT Tên Loại Ý nghĩa Ghi chú
1
m_kls enumNguyenTo[] Định nghĩa các nguyên tố nào thỏa mãn là kim loại
private static
• Danh sách các hàm thành phần (methods) :
STT Tên Tham số Xử lý Kết quả Ghi chú
1 LaKimLoai ten :string Kiểm tra có phải tên đó là kim loại?
true : đúng false : sai
public static
2
DungTruoc NguyenTo nt
Kiểm tra đối tượng này có đứng trước nt trong dãy điện hoá?
true : đúng false : sai
public
3 XacDinhSoOxiHoa Xd số oxi hoá của đối tựơng này
public virtual
Trang 67
I.A.1.a.18. Lớp KLNhomI :
• Danh sách các biến thành phần (fields) :
STT Tên Loại Ý nghĩa Ghi chú
1 m_kls enumNguyenTo[] xd nguyên tố nào thoả mãn là kim loại nhóm I
private static
• Danh sách các hàm thành phần (methods) :
STT Tên Tham số Xử lý Kết quả Ghi chú
1 LaKLNhomI
ten : string xd tên đó có là KLNhomI?
true : đúng false : sai
public static
2 TacDung h2O : H2O this + H2O ? tìm m_ptpus ? public 3 TacDung axit : Axit this + Axit? tìm m_ptpus ? public
4 TacDung pk : PKNhomIV
this + PKNhomIV ?
tìm m_ptpus ? public
5 TacDung pk : PKNhomV
this + PKNhomV?
tìm m_ptpus ? public
6 TacDung pk : PKNhomVI
this + PKNhomVI ?
tìm m_ptpus ? public
7 TacDung pk : PKNhomVII
this + PKNhomVII ?
tìm m_ptpus ? public
… … … … …. …
8 TacDung chatTGs : DanhSachChat
this + chatConLai?
tìm m_ptpus ? public vitual
I.A.1.a.19. Lớp KLNhomII :
• Danh sách các biến thành phần (fields) :
STT Tên Loại Ý nghĩa Ghi chú
1 m_kls enumNguyenTo[] xd nguyên tố nào thoả mãn là kim loại nhóm II
private static
Trang 68
• Danh sách các hàm thành phần (methods) :
STT Tên Tham số Xử lý Kết quả Ghi chú
1 LaKLNhomII ten : string xd tên đó có là
KLNhomII? True : đúng false : sai
public static
2 TacDung h2O : H2O this + H2O ? tìm m_ptpus ?
public
3 TacDung axit : Axit this + Axit? Tìm m_ptpus ?
public
4 TacDung pk : PKNhomIV
this + PKNhomIV ?
tìm m_ptpus ?
public
5 TacDung pk : PKNhomV
this + PKNhomV?
Tìm m_ptpus ?
public
6 TacDung pk : PKNhomVI
this + PKNhomVI ?
tìm m_ptpus ?
public
7 TacDung pk : PKNhomVII
this + PKNhomVII ?
tìm m_ptpus ?
public
… … … … …. …
8 TacDung chatTGs : DanhSachChat
this + chatConLai?
Tìm m_ptpus ?
public vitual
I.A.1.a.20. Lớp KLNhomIII :
• Danh sách các biến thành phần (fields) :
STT Tên Loại Ý nghĩa Ghi chú
1 m_kls enumNguyenTo[] xd nguyên tố nào thoả mãn là kim loại nhóm III
private static
• Danh sách các hàm thành phần (methods) :
STT Tên Tham số Xử lý Kết quả Ghi chú
1 LaKLNhomIII ten : string xd tên đó có là
KLNhomIII? True : đúng false : sai
public static
2 TacDung h2O : H2O this + H2O ? tìm m_ptpus ?
public
3 TacDung axit : Axit this + Axit? Tìm m_ptpus ?
public
4 TacDung pk : PKNhomIV
this + PKNhomIV ?
tìm m_ptpus ?
public
Trang 69
5 TacDung pk : PKNhomV
this + PKNhomV?
Tìm m_ptpus ?
public
6 TacDung pk : PKNhomVI
this + PKNhomVI ?
tìm m_ptpus ?
public
7 TacDung pk : PKNhomVII
this + PKNhomVII ?
tìm m_ptpus ?
public
… … … … …. …
8 TacDung chatTGs : DanhSachChat
this + chatConLai?
Tìm m_ptpus ?
public vitual
I.A.1.a.21. Lớp KLNhomPhu :
• Danh sách các biến thành phần (fields) :
STT Tên Loại Ý nghĩa Ghi chú
1 m_kls enumNguyenTo[] xd nguyên tố nào thoả
mãn là kim loại nhóm phụ
private static
• Danh sách các hàm thành phần (methods) :
STT Tên Tham số Xử lý Kết quả Ghi chú
1 LaKLNhomPhu ten : string xd tên đó có là
KLNhomPhu? True : đúng false : sai
public static
2 TacDung h2O : H2O this + H2O ? tìm m_ptpus ?
public
3 TacDung axit : Axit this + Axit? Tìm m_ptpus ?
public
4 TacDung pk : PKNhomIV
this + PKNhomIV ?
tìm m_ptpus ?
public
5 TacDung pk : PKNhomV
this + PKNhomV?
Tìm m_ptpus ?
public
6 TacDung pk : PKNhomVI
this + PKNhomVI ?
tìm m_ptpus ?
public
7 TacDung pk : PKNhomVII
this + PKNhomVII ?
tìm m_ptpus ?
public
… … … … …. …
8 TacDung chatTGs : DanhSachChat
this + chatConLai?
Tìm m_ptpus ?
public vitual
Trang 70
I.A.1.a.22. Lớp PhiKim
• Danh sách các biến thành phần (fields) :
STT Tên Loại Ý nghĩa Ghi chú
1 m_pks enumNguyenTo[] xd nguyên tố nào thoả mãn là phi kim
private static
• Danh sách các hàm thành phần (methods) :
STT Tên Tham số Xử lý Kết quả Ghi chú
1 LaPhiKim ten : string xd tên đó có là
PhiKim? True : đúng false : sai
public static
2 LaChatKhi ten : string xd đó có là chất khí ?
true : đúng false : sai
public static
3 PhiKimH2 pk : PhiKim h2 : H2
this + H2? tìm m_ptpus ?
protected
4 PhiKimO2 pk : PhiKim
o2 : PKNhomVI
this + O2? tìm m_ptpus ?
protected
I.A.1.a.23. Lớp PKNhomIV :
• Danh sách các biến thành phần (fields) :
STT Tên Loại Ý nghĩa Ghi chú
1 m_pks enumNguyenTo[] xd nguyên tố nào thoả mãn là PKNhomIV?
Private static
• Danh sách các hàm thành phần (methods) :
STT Tên Tham số Xử lý Kết quả Ghi chú
1 LaPKNhomIV ten : string xd tên đó có là
PKNhomIV? True : đúng false : sai
public static
2 TacDung kl: KimLoai this + KimLoai ? tìm m_ptpus ?
public
3 TacDung h2 : H2 this + H2 ? tìm m_ptpus ?
public
4 TacDung o2 : PKNhomVI
this + O2? tìm m_ptpus ?
public
Trang 71
5 TacDung … … … …
6 TacDung chatTGs : DanhSachChat
this + chatConLai?
Tìm m_ptpus ?
public vitual
I.A.1.a.24. Lớp PKNhomV :
• Danh sách các biến thành phần (fields) :
STT Tên Loại Ý nghĩa Ghi chú
1 m_pks enumNguyenTo[] xd nguyên tố nào thoả mãn là PKNhomV?
Private static
• Danh sách các hàm thành phần (methods) :
STT Tên Tham số Xử lý Kết quả Ghi chú
1 LaPKNhomV ten : string xd tên đó có là
PKNhomV? True : đúng false : sai
public static
2 TacDung kl: KimLoai this + KimLoai ? tìm m_ptpus ?
public
3 TacDung h2 : H2 this + H2 ? tìm m_ptpus ?
public
4 TacDung o2 : PKNhomVI
this + O2? tìm m_ptpus ?
public
5 TacDung … … … …
6 TacDung chatTGs : DanhSachChat
this + chatConLai?
Tìm m_ptpus ?
public vitual
I.A.1.a.25. Lớp PKNhomVI :
• Danh sách các biến thành phần (fields) :
STT Tên Loại Ý nghĩa Ghi chú
1 m_pks enumNguyenTo[] xd nguyên tố nào thoả mãn là PKNhomVI?
Private static
Trang 72
• Danh sách các hàm thành phần (methods) :
STT Tên Tham số Xử lý Kết quả Ghi chú
1 LaPKNhomVI ten : string xd tên đó có là
PKNhomVI? True : đúng false : sai
public static
2 TacDung kl: KimLoai this + KimLoai ? tìm m_ptpus ?
public
3 TacDung h2 : H2 this + H2 ? tìm m_ptpus ?
public
4 TacDung o2 : PKNhomVI
this + O2? tìm m_ptpus ?
public
5 TacDung … … … …
6 TacDung chatTGs : DanhSachChat
this + chatConLai?
Tìm m_ptpus ?
public vitual
I.A.1.a.26. Lớp PKNhomVII :
• Danh sách các biến thành phần (fields) :
STT Tên Loại Ý nghĩa Ghi chú
1 m_pks enumNguyenTo[] xd nguyên tố nào thoả mãn là PKNhomVII?
Private static
• Danh sách các hàm thành phần (methods) :
STT Tên Tham số Xử lý Kết quả Ghi chú
1 LaPKNhomVII ten : string xd tên đó có là
PKNhomVII? True : đúng false : sai
public static
2 TacDung kl: KimLoai this + KimLoai ? tìm m_ptpus ?
public
3 TacDung h2 : H2 this + H2 ? tìm m_ptpus ?
public
4 TacDung o2 : PKNhomVI
this + O2? tìm m_ptpus ?
public
5 TacDung … … … …
6 TacDung chatTGs : DanhSachChat
this + chatConLai?
Tìm m_ptpus ?
public
Trang 73
I.A.1.a.27. Lớp IonDuong :
• Danh sách các biến thành phần (fields) :
STT Tên Loại Ý nghĩa Ghi chú
1 ionDuongs enumIonDuong[] Xd các ion dương có thể có
private static
2 m_ionDuong enumIonDuong Ion dương private
3
m_kimLoai KimLoai Kim loại tương ứng với ion dương đó = null nếu là ion dương (h hay nh4)
private
4 m_soOxiHoa int Số oxi hoá của ion dương này
private
• Danh sách các thuộc tính (properties) :
STT Tên Loại Ý nghĩa Ghi chú 1 Ten enumIonDuong m_ionDuong public 2 SoOxiHoa int m_soOxiHoa public 3 KimLoai KimLoai m_kimLoai public
• Danh sách các hàm thành phần (methods) :
STT Tên Tham số Xử lý Kết quả Ghi chú
1 LaIonDuongBazo ten : string Xd tên đó có là
ion dương của bazơ ?
true : đúng false : sai
public static
2 LaIonDuongMuoi ten : string Xd tên đó có là
ion dương của muoi?
True : đúng false : sai
public static
3
ChuaIonDuongMuoi ten : string vitri : int (out)
Xd trong ten có Chứa ion dương muối không (nếu có ơ vị trí nào)?
Trả về ion dương mà tên đó chứa
public static
4 LaIonDuong ten : string Xd tên đó có là
ionduong ? true : đúng false : sai
public static
Trang 74
I.A.1.a.28. Lớp IonAm : • Danh sách các biến thành phần (fields) :
STT Tên Loại Ý nghĩa Ghi chú
1 ionAms enumIonAm[] Xd các ion âm có thể có
private static
2 m_ionAm enumIonAm Ion âm private
3 m_soOxiHoa int Số oxi hoá của ion âm này
private
• Danh sách các thuộc tính (properties) :
STT Tên Loại Ý nghĩa Ghi chú 1 Ten enumIonAm m_ionAm public
2 SoOxiHoa int m_soOxiHoa public read – only
• Danh sách các hàm thành phần (methods) :
STT Tên Tham số Xử lý Kết quả Ghi chú
1 LaIonAmAxit ten : string Xd tên đó có là
ion âm của axit?
True : đúng false : sai
public static
2
ChuaIonAmMuoi ten : string viTri : int (out)
Xd trong ten có Chứa ion âm muối không (nếu có ơ vị trí nào)?
Trả về ion âm mà tên đó chứa
public static
4 LaIonAm ten : string Xd tên đó có là
ionam ? true : đúng false : sai
public static
I.A.1.a.29. Lớp HopChatDienTich : • Danh sách các biến thành phần (fields) :
STT Tên Loại Ý nghĩa Ghi chú
1 m_ionDuong IonDuong Ion dương của hợp chất điện tích
private
2 m_ionAm IonAm Ion âm của hợp chất điện tích
private
Trang 75
3 m_soIonDuong int Số ion dương private 4 m_soIonAm int Số ion âm private
5 m_tonTai bool Xd tính tồn tại của hợp chất này
private
• Danh sách các thuộc tính (properties) :
STT Tên Loại Ý nghĩa Ghi chú
1 IonDuong IonDuong m_ionDuong public read – only
2 IonAm IonAm m_ionAm public read – only
3 SoIonDuong int m_soIonDuong public read – only
4 SoIonAm int m_soIonAm public read – only
5 TonTai bool m_tonTai public read – only
• Danh sách các hàm thành phần (methods) :
STT Tên Tham số Xử lý Kết quả Ghi chú
1
XacDinhHopChatDienTich ten : string
xd tên đó có là Muoi, Axit, hay Bazo?
Null : không
public static
2 XacDinhTinhTonTai xd tính tồn public
3 TacDung m1 : Muoim2 : Muoi
m1 + m2 ? tìm m_ptpus?
Public
4 TacDung axit : Axit m : Muoi
axit + m? tìm m_ptpus?
Public
5 TacDung b : Bazo m : Muoi
b + m? tìm m_ptpus?
Public
6 TacDung b : Bazo axit : Axit
b + axit ? tìm m_ptpus?
Public
Trang 76
I.A.1.a.30. Lớp Axit :
• Danh sách các biến thành phần (fields) :
STT Tên Loại Ý nghĩa Ghi chú 1 m_axit enumAxit Xđ các axit có thể có private 2 m_tinhAxit enumTinhAxit Xđ tính axit private
3 m_trangThai string Trạng thái của axit (loãng, đặc nóng…)
private
• Danh sách các thuộc tính (properties) :
STT Tên Loại Ý nghĩa Ghi chú
1 Ten enumAxit m_axit public read – only
2 TinhAxit enumTinhAxit m_tinhAxit public read – only
3 TrangThai string m_trangThai public • Danh sách các hàm thành phần (methods) :
STT Tên Tham số Xử lý Kết quả Ghi chú
1 LaAxit ten : string xd tên đó có là axit?
True : đúng false : sai
public static
2 XacDinhAxit ten : string xd axit đó là axit nào?
Đối tượng Axit
public static
3 TacDung b : Bazo this + bazo? Tìm m_ptpus ?
public
4 TacDung m : Muoi this + m? tìm m_ptpus ? public 5 TacDung kl : KimLoai this + kl? tìm m_ptpus
public
… … … … … … 6 TacDung chatTGs :
DanhSachChat xd chất còn lại + this ?
tìm m_ptpus
public virtual
I.A.1.a.31. Lớp Bazo :
• Danh sách các biến thành phần (fields) :
STT Tên Loại Ý nghĩa Ghi chú 1 m_bazo enumBazo Xđ các bazo có thể có private 2 m_tinhTan bool Xđ tính tan của bazo private
Trang 77
• Danh sách các thuộc tính (properties) :
STT Tên Loại Ý nghĩa Ghi chú 1 Ten enumBazo m_bazo public
2 TinhTan bool m_tinhTan public read – only
• Danh sách các hàm thành phần (methods) :
STT Tên Tham số Xử lý Kết quả Ghi chú
1 LaBazo ten : string xd tên đó có là Bazo?
True:đúng false : sai
public static
2 XacDinhBazo ten : string xđ loại Bazo
ứng với tên đó?
Null : ko xác định
public static
3 TacDung axit : Axit this + axit? Tìm m_ptpus? Public 4 TacDung m : Muoi this + m? tìm m_ptpus? Public
5 TacDung b : Bazo this + b? tìm m_ptpus? Public virtual
I.A.1.a.32. Lớp BazoKiem :
• Danh sách các hàm thành phần (methods) :
STT Tên Tham số Xử lý Kết quả Ghi chú
1 TacDung pk:PKNhomVII this + pk? Tìm m_ptpus? Public 2 TacDung axit : Axit this + axit? Tìm m_ptpus? Public 3 TacDung m : Muoi this + m? tìm m_ptpus? Public 4 TacDung bazo : Bazo this + bazo? Tìm m_ptpus? Public … … … … … … 5 TacDung chatTGs :
DanhSachChat this + chatConLai?
Tìm m_ptpus? Public virtual
Trang 78
I.A.1.a.33. Lớp BazoKiemTho :
• Danh sách các hàm thành phần (methods) :
STT Tên Tham số Xử lý Kết quả Ghi chú
1 TacDung pk:PKNhomVII this + pk? Tìm m_ptpus? Public 2 TacDung axit : Axit this + axit? Tìm m_ptpus? Public 3 TacDung m : Muoi this + m? tìm m_ptpus? Public 4 TacDung bazo : Bazo this + bazo? Tìm m_ptpus? Public … … … … … … 5 TacDung chatTGs :
DanhSachChat this + chatConLai?
Tìm m_ptpus? Public virtual
I.A.1.a.34. Lớp BazoLuongTinh :
• Danh sách các hàm thành phần (methods) :
STT Tên Tham số Xử lý Kết quả Ghi chú
1 TacDung pk:PKNhomVII this + pk? Tìm m_ptpus? Public 2 TacDung axit : Axit this + axit? Tìm m_ptpus? Public 3 TacDung m : Muoi this + m? tìm m_ptpus? Public 4 TacDung bazo : Bazo this + bazo? Tìm m_ptpus? Public … … … … … … 5 TacDung chatTGs :
DanhSachChat this + chatConLai?
Tìm m_ptpus? Public virtual
I.A.1.a.35. Lớp BazoNhomPhu
• Danh sách các hàm thành phần (methods) :
STT Tên Tham số Xử lý Kết quả Ghi chú
1 TacDung pk:PKNhomVII this + pk? Tìm m_ptpus? Public 2 TacDung axit : Axit this + axit? Tìm m_ptpus? Public 3 TacDung m : Muoi this + m? tìm m_ptpus? Public 4 TacDung bazo : Bazo this + bazo? Tìm m_ptpus? Public … … … … … … 5 TacDung chatTGs :
DanhSachChat this + chatConLai?
Tìm m_ptpus? Public virtual
Trang 79
I.A.1.a.36. Lớp HopChatOH :
• Danh sách các biến thành phần (fields) :
STT Tên Loại Ý nghĩa Ghi chú
1 m_nts NguyenTo[2] 2 nguyên tố tạo nên đối tượng lớp hopchatoh
private
2 m_sonts int[2] Số lượng của 2 nguyên tố
private
• Danh sách các thuộc tính (properties) :
STT Tên Loại Ý nghĩa Ghi chú
1 NguyenTo1 NguyenTo Nguyên tố thứ 1 public read – only
2 NguyenTo2 NguyenTo Nguyên tố thứ 2 public read – only
3 SoNguyenTo1 int Số nguyến tố 1 public read – only
4 SoNguyenTo2 int Số nguyến tố 2 public read – only
• Danh sách các hàm thành phần (methods) :
STT Tên Tham số Xử lý Kết quả Ghi chú
1 XacDinhHopChatOH ten : string Xđ tên đó là
oxit hay RH ?
null : không có
Public static
I.A.1.a.37. Lớp Oxit :
• Danh sách các hàm thành phần (methods) :
STT Tên Tham số Xử lý Kết quả Ghi chú
1 LaOxit ten : string xđ tên đó là oxit
true : đúng false : sai
Public static
2 XacDinhOxit ten : string Xđ loại Oxit null : không có
public static
Trang 80
I.A.1.a.38. Lớp RH
• Danh sách các hàm thành phần (methods) :
STT Tên Tham số Xử lý Kết quả Ghi chú
1 LaRH ten : string Xđ tên đó là RH
true : đúng false : sai
Public static
2 XacDinhRH ten : string Xđ loại RH null : không có
public static
I.A.1.a.39. Lớp DanhSachNguyenTo :
• Danh sách các biến thành phần (fields) :
STT Tên Loại Ý nghĩa Ghi chú 1 m_list ArrayList Tập hợp nguyên tố private
• Danh sách các thuộc tính (properties) :
STT Tên Loại Ý nghĩa Ghi chú
1 Count int Đếm số lượng nguyên tố
public read – only
2 indexer NguyenTo Trả về đối tượng của
lớp NguyenTo ứng với index
public read - only
• Danh sách các hàm thành phần (methods) :
STT Tên Tham số Xử lý Kết quả Ghi chú
1 Add nt : NguyenTo Thêm đối tượng của lớp NguyenTo
Public
2 AddRange arr : ArrayList Thêm tập các đối tựơng
public
3 Remove nt : NguyenTo Xoá 1 đối tựơng
NguyenTo ra khỏi tập hợp
public
4
Clone Nhân bản ra một đối tượng DanhSachNguyenTo mới dựa trên đối tương hiện có
public
5 Clear Xoá toàn bộ đối tượng NguyenTo
public
Trang 81
I.A.1.a.40. Lớp TapHopNguyenTo :
• Danh sách các biến thành phần (fields) : STT Tên Loại Ý nghĩa Ghi chú
1 m_NguyenTos
HashTable Lưu đối tượng NguyenTo và số lượng của chúng
private
2 m_ds DanhSachNguyenTo Lưu tập các đối tượng hiện có
private
• Danh sách các thuộc tính (properties) :
STT Tên Loại Ý nghĩa Ghi chú 1 TapHopNTo HashTable m_NguyenTos public
2 DanhSachNguyenTo DanhSachNguyenTo m_ds public read - only
3 this[index : NguyenTo]
int Trả về số lượng NguyenTo
public
4 this[index : string] int Trả về số
lượng NguyenTo
public
5 Count int Đềm số lượng NguyenTo
public read - only
• Danh sách các hàm thành phần (methods) :
STT Tên Tham số Xử lý Kết quả
Ghi chú
1 Add nt : NguyenTo
chiSo : int Thêm đối tượng của lớp NguyenTo với số lượng
Public
2 AddRange h : HashTable Thêm tập các đối tựơng public
3 Remove nt : NguyenTo Xoá 1 đối tựơng
NguyenTo ra khỏi tập hợp
public
4
Clone Nhân bản ra một đối tượng DanhSachNguyenTo mới dựa trên đối tựong hiện có
public
5 Clear Xoá toàn bộ đối tượng NguyenTo
public
Trang 82
I.A.1.a.41. Lớp DanhSachChat :
• Danh sách các biến thành phần (fields) :
STT Tên Loại Ý nghĩa Ghi chú 1 m_list ArrayList Tập hợp chất vô cơ private
• Danh sách các thuộc tính (properties) :
STT Tên Loại Ý nghĩa Ghi chú
1 Count int Đếm số lượng chất vô cơ
public read – only
2 indexer ChatVoCo Trả về đối tượng của
lớp ChatVoCo ứng với index
public read - only
• Danh sách các hàm thành phần (methods) :
STT Tên Tham số Xử lý Kết quả Ghi chú
1 Add chat :
ChatVoCo Thêm đối tượng của lớp ChatVoCo
Public
2 AddRange arr : ArrayList Thêm tập các đối tượng
public
3 Remove chat :
ChatVoCo Xoá 1 đối tựơng ChatVoCo ra khỏi tập hợp
public
4
Clone Nhân bản ra một đối tượng DanhSachChat mới dựa trên đối tượng hiện có
public
5 Clear Xoá toàn bộ đối tượng ChatVoCo
public
Trang 83
I.A.1.a.42. Lớp TapHopChat
• Danh sách các biến thành phần (fields) :
STT Tên Loại Ý nghĩa Ghi chú
1 m_chats
HashTable Lưu đối tượng ChatVoCo và số lượng của chúng
private
2 m_ds DanhSachChatVoCo Lưu tập các đối tượng hiện có
private
• Danh sách các thuộc tính (properties) :
STT Tên Loại Ý nghĩa Ghi chú 1 TapHopNTo HashTable m_chats public
2 DanhSachChatVoCo DanhSachChatVoCo m_ds public read - only
3 this[index : ChatVoCo]
int Trả về số lượng ChatVoCo
public
4 this[index : string] int Trả về số
lượng ChatVoCo
public
5 Count int Đếm số lượng ChatVoCo
public read - only
• Danh sách các hàm thành phần (methods) :
STT Tên Tham số Xử lý Kết quả
Ghi chú
1 Add nt : ChatVoCo
chiSo : int Thêm đối tượng của lớp ChatVoCo với số lượng
Public
2 AddRange h : HashTable Thêm tập các đối tựơng public
3 Remove nt : ChatVoCo Xoá 1 đối tựơng
ChatVoCo ra khỏi tập hợp
public
4
Clone Nhân bản ra một đối tượng DanhSachChatVoCo mới dựa trên đối tựong hiện có
public
5 Clear Xoá toàn bộ đối tượng ChatVoCo
public
Trang 84
I.A.1.a.43. Lớp PhuongTrinhPhanUng
• Danh sách các biến thành phần (fields) :
STT Tên Loại Ý nghĩa Ghi chú 1 m_chatThamGias TapHopChat Chất tham gia private 2 m_chatTaoThanhs TapHopChat Chất tạo thành private 3 m_xucTac string Xúc tác private
• Danh sách các thuộc tính (properties) :
STT Tên Loại Ý nghĩa Ghi chú 1 ChatThamGia TapHopChat m_chatThamGias public 2 ChatTaoThanh TapHopChat m_chatTaoThanhs public 3 XucTac string m_xucTac public 4 SoChatTrongPtpu int Số chất trong ptpu public
• Danh sách các hàm thành phần (methods) :
STT Tên Tham số Xử lý Kết quả Ghi chú
1 ToString Thể hiện chuỗi hiển thị ptpu
Chuổi hiển thị ptpu
Public override
I.A.1.a.44. Lớp PhuongTrinhPhanUngCollection :
• Danh sách các biến thành phần (fields) :
STT Tên Loại Ý nghĩa Ghi chú
1 m_list ArrayList Tập hợp phương trình phản ứng
private
• Danh sách các thuộc tính (properties) :
STT Tên Loại Ý nghĩa Ghi chú
1 Count int Đếm số lượng
phương trình phản ứng
public read – only
2
indexer PhuongTrinhPhanUng Trả về đối tượng của lớp PhuongTrinhPhanUng ứng với index
public read - only
Trang 85
• Danh sách các hàm thành phần (methods) :
STT
Tên Tham số Xử lý Kết quả
Ghi chú
1 Add nt :
PhuongTrinhPhanUng
Thêm đối tượng của lớp PhuongTrinhPhanUng
Public
2 AddRange
arr : ArrayList Thêm tập các đối tựơng public
3 Remove nt :
PhuongTrinhPhanUng
Xoá 1 đối tựơng PhuongTrinhPhanUng ra khỏi tập hợp
public
4
Clone Nhân bản ra một đối tượng PhuongTrinhPhanUngColletion mới dựa trên đối tựong hiện có
public
5 Clear Xoá toàn bộ đối tượng PhuongTrinhPhanUng
public
I.A.1.a.45. Lớp ChatPhanUng :
• Danh sách các biến thành phần (fields) :
STT Tên Loại Ý nghĩa Ghi chú 1 m_chat ChatVoCo Đối tượng chất vô cơ private
2 m_chiSo int Số lựơng của đối tượng trong ptpu
private
3 m_khoiLuong float Khối lượng private 4 m_soMol float Số mol private 5 m_donVi DonVi (g, kg, tấn…) private
• Danh sách các thuộc tính (properties) :
STT Tên Loại Ý nghĩa Ghi chú
1 DaXacDinh bool Kiểm tra ChatVoCo
đã tính khối lượng hoặc số mol chưa?
public read – only
2 ChiSo int m_chiSo public read – only
Trang 86
3 KhoiLuong float m_khoiLuong public read – only
4 DonVi DonVi m_donVi public read – only
5 SoMol float m_soMol public read – only
6 Chat ChatVoCo m_chat public read – only
7 TenChat string Tên của chất vô cơ public read – only
• Danh sách các hàm thành phần (methods) :
STT Tên Tham số Xử lý Kết quả Ghi chú
1
Tinh chat2 : ChatPhanUng
Tính toán các giá trị của đối tượng khi biết đối tượng khác
tính m_khoiLuong và m_soMol
Public
I.A.1.a.46. Lớp TapHopChatTrongPtpu :
• Danh sách các biến thành phần (fields) :
STT Tên Loại Ý nghĩa Ghi chú
1 m_list ArrayList Chứa tập hợp các đối
tượng của lớp ChatPhanUng
private
2 m_daTinh bool Kiểm tra đã tính giá trị ?
private
• Danh sách các thuộc tính (properties) :
STT Tên Loại Ý nghĩa Ghi chú
1 Count int Đềm số lượng các đối tượng ChatPhanUng
public read – only
2 DaTinh bool Đã tính ? public read - only
Trang 87
• Danh sách các hàm thành phần (methods) :
STT Tên Tham số Xử lý Kết quả Ghi chú
1 Add chat :
ChatPhanUng Thêm mới 1 đối tượng ChatPhanUng
Public
2 Remove chat : ChatPhanUng
Xoá đối tượng ChatPhanUng
public
3 Clear Xoá toàn bộ đối
tượng ChatPhanUng
public
4 Tinh Tính toán các đối
tượng ChatPhanUng
public
I.A.1.a.47. Lớp PhuongTrinhPhanUngHoanChinh
• Danh sách các biến thành phần (fields) :
STT Tên Loại Ý nghĩa Ghi chú 1 m_ptpu PhuongTrinhPhanUng private
2 m_tapHopChat TapHopChatTrongPtpu Tập hợp chất tương
ứng của PhuongTrinhPhanUng
private
• Danh sách các thuộc tính (properties) :
STT Tên Loại Ý nghĩa Ghi chú
1 DaXacDinhPtpu bool Kiểm tra đã xđ
ptpu? Public read – only
2 PhuongTrinh PhuongTrinhPhanUng m_ptpu public 3 TapHopChat TapHopChatTrongPtpu m_tapHopChat public
• Danh sách các hàm thành phần (methods) :
STT Tên Tham số Xử lý Kết quả Ghi chú
1 Tinh Tính giá trị
của các chất trong ptpu
Public
Trang 88
I.A.1.a.48. Lớp DataBase : • Danh sách các biến thành phần (fields) :
STT Tên Loại Ý nghĩa Ghi chú
1 m_dataSet DataSet Chứa tòan bộ dữ liệu
được lưu trong file .mdb
private
• Danh sách các hàm thành phần (methods) :
STT Tên Tham số Xử lý Kết quả
Ghi chú
1
SoOxiHoa ten : string Xđ tập hợp số oxi hoá của 1 nguyên tố
int[] Public
2
KhoiLuongNTu ten : string Xđ khối lượng nguyên tử của nguyên tố
float public
3
CauHinhElectron ten : string Xđ cấu hình electron của nguyên tố
string public
4
SoHieuNguyenTu ten : string Xđ số hiệu nguyên tử của nguyên tố
int public
5
TimTenBietSoHieuNguyenTu soHieuNguyenTu : int
Tìm tên của nguyên tố khi biết số hiệu nguyên tử của nó
string public
Trang 89
I.A.1.a.49. Lớp Math : • Danh sách các hàm thành phần (methods) :
STT Tên Tham số Xử lý Kết quả Ghi chú
1 USCLN a : int b : int
tìm USCLN của 2 số a, b
USCLN của (a,b)
Public static
2 BSCNN a : int b : int
tìm BSCNN của 2 số a,b
BSCNN của (a ,b )
public static
3
ChiHet soBiChia : int soChia : int
kiểm tra soBiChia có chia hết cho soChia ?
true : đúng false : sai
public static
3.3.2.3.2 Lớp Lop
• các thuộc tính STT Tên Loại Ý nghĩa Ghi chú
1 m_strTenLop
A_String Tên lớp private
2 m_arrChuongs Chuong Các chương thuộc lớp
private
• các phương thức
STT Tên Tham số Xử lý Kết quả Ghi chú
1 ThemChuong Thêm chương public 2 XoaChuong Xóa chương public
3 TimChuong maso : A_String
Tìm chương public
4 KiemTraHopLe Kiểm tra hợp lệ public 5 SuaLop Sửa lớp public
3.3.2.3.3 Lớp Chuong
• các thuộc tính
STT Tên Loại Ý nghĩa Ghi chú
1 m_strTenChuong
A_String Tên chương private
2 m_arrBaiLyThuyets BaiLyThuyet Các bài thuộc chương private
Trang 90
• các phương thức
STT Tên Tham số Xử lý Kết quả Ghi chú
1 ThemBai Thêm bài public 2 XoaBai Xóa bài public 3 TimChuong maso : A_String Tìm bài public 4 KiemTraHopLe Kiểm tra hợp lệ public 5 SuaChuong Sửa chương public
6 LopThuocVe Lớp mà chương thuộc về
đối tượng kiểu Lop
public
3.3.2.3.4 lớp BaiLyThuyet
• các thuộc tính STT Tên Loại Ý nghĩa Ghi chú
1 m_strTenBaiLT
A_String Tên lớp private
2 m_arrBaiTapSGKs BaiTapSGK Các bài tập thuộc lớp
private
• các phương thức
STT Tên Tham số Xử lý Kết quả Ghi chú
1 ThemBaiTap Thêm bài tập
public
2 XoaBaiTap Xóa bài tap public
3 KiemTraHopLe Kiểm tra hợp lệ
public
4 SuaBai Sửa bài LT public
5 ChuongThuocVe Chương mà
bài LT thuộc về
đối tượng kiểu Chuong
public
3.3.2.3.5 Lớp XuLy_OnTapLyThuyet
• các thuộc tính
STT Tên Loại Ý nghĩa Ghi chú
1 m_tvChuongTrinh
A_TreeView Chương trình học
private
2 m_rtbBaiLyThuyet A_RichTextBox Bài lý private
Trang 91
thuyết 3 m_rtbbaiLam A_RichTextBox Bài làm private
4 m_arrLops Lop Danh sách lớp
private
5 m_dlLyThuyet DuLieu_LyThuyet private
• các phương thức STT Tên Tham số Xử lý Kết quả Ghi chú
1 CapNhatControl Cập nhật control
public
2 HienThiBaiTapSGK Hiển thị bài tập SGK
public
3 HienThiLyThuyet Hiển thị bài LT
public
4 LuuBaiLam Lưu bài làm public 5 LuuDuLieu Lưu dữ liệu public 6 TaiDuLieu Tải dữ liệu public 7 XoaDuLieu Xóa dữ liệu public
8 ThemDuLieu Thêm dữ liệu
public
9 LuuBaiLam Lưu bài làm public
10 TimKiemTheoMa ma : A_String
Tìm kiếm theo mã
public
3.3.2.3.6 Lớp XuLy_GiaiDeThiTuLuan
• các thuộc tính STT Tên Loại Ý nghĩa Ghi chú
1 m_tvDeThi A_TreeView Đề thi private,tham chiếu
2 m_cboDoKho A_ComboBox Độ khó private,tham chiếu
3 m_rtbDeBai A_RichTextBox Đề bài tập
private,tham chiếu
4 m_dtpThoiGianLamBai A_DateTimePicker Thời gian Làm bài
private,tham chiếu
5 m_ucBaiLam A_UserControl Bài làm private,tham chiếu
6 m_rtbHuongDan A_RichTextBox Hướng dẫn
private,tham chiếu
7 m_rtbBaiGiai A_RichTextBox Bài giải private,tham
Trang 92
chiếu
8 m_cboDangBai A_Combobox Dạng bài private,tham chiếu
9 m_dlTuLuan DuLieu_TuLuan private
• các phương thức STT Tên Tham số Xử lý Kết quả Ghi chú
1 TaiDuLieu Tải dữ liệu public
2 CapNhatControl Cập nhật control
public
3 TimKiemTheoMa strMaSo : A_String
Tìm kiếm khi biết mã
XmlNode public
4 TinhThoiGian Tính thời gian
public
3.3.2.3.7 Lớp XuLy_GiaiDeThiTracNghiem
• các thuộc tính STT Tên Loại Ý nghĩa Ghi chú
1 m_tvDeThi A_TreeView Đề thi private,tham chiếu
2 m_cboDoKho A_ComboBox Độ khó private,tham chiếu
3 m_rtbDeBai A_RichTextBox Đề bài tập
private,tham chiếu
4 m_dtpThoiGianLamBai A_DateTimePicker Thời
gian làm bài
private,tham chiếu
6 m_rtbHuongDan A_RichTextBox Hướng dẫn
private,tham chiếu
7 m_rtbBaiGiai A_RichTextBox Bài giải private,tham chiếu
8 m_cboDangBai A_Combobox Dạng bài private,tham chiếu
9 m_arrCauChons A_Array Câu chọn private 10 m_dlTracNghiem DuLieu_TracNghiem private
• các phương thức
STT Tên Tham số Xử lý Kết quả Ghi chú
1 TaiDuLieu Tải dữ liệu public
Trang 93
2 CapNhatControl Cập nhật control
public
3 TimKiemTheoMa strMaSo : A_String
Tìm kiếm khi biết mã
XmlNode public
4 KiemTraNhanh Kiểm tra câu
chọn có đúng không
public
5 TimKetQua Tìm kết quả đúng
public
6 TinhThoiGian Tính thời gian
public
3.3.2.3.8 lớp soạn bài lý thuyết
• các thuộc tính STT Tên Loại Ý nghĩa Ghi chú
1 m_tvChuongTrinh
A_TreeView Chương trình học
private
2 m_rtbBaiLyThuyet A_RichTextBox Bài lý thuyết
private
3 m_rtbbaiLam A_RichTextBox Bài làm private
4 m_arrLops Lop Danh sách lớp
private
5 m_dlLyThuyet DuLieu_LyThuyet private
• các phương thức STT Tên Tham số Xử lý Kết quả Ghi chú
1 CapNhatControl Cập nhật control
public
2 HienThiBaiTapSGK Hiển thị bài tập SGK
public
3 HienThiLyThuyet Hiển thị bài LT
public
4 LuuBaiLam Lưu bài làm public 5 LuuDuLieu Lưu dữ liệu public 6 TaiDuLieu Tải dữ liệu public 7 XoaDuLieu Xóa dữ liệu public
8 ThemDuLieu Thêm dữ liệu
public
9 LuuBaiLam Lưu bài làm public 10 TimKiemTheoMa ma : Tìm kiếm public
Trang 94
A_String theo mã
3.3.2.3.9 soạn đề thi tự luận • các thuộc tính
STT Tên Loại Ý nghĩa Ghi chú
1 m_lstBaiTap A_ListBox Bài tập private,tham chiếu
2 m_ucDeBai A_UserControl Đề bài private,tham chiếu
3 m_cboDangBai A_Combobox Dạng bài private,tham chiếu
4 m_cboDoKho A_Combobox Độ khó private,tham chiếu
5 m_dtpThoiGianLamBai A_DateTimePicker Thời gian làm bài
private,tham chiếu
6 m_cboDeThi A_Combobox private,tham chiếu
7 m_lstDeThi_BaiTap A_ListBox private,tham chiếu
8 m_dlTuLuan DuLieu_TuLuan private
• các phương thức
STT Tên Tham số Xử lý Kết quả Ghi chú
1 TaiDanhSachDeThi Tải danh
sách đề thi
public
2 ChonDeThi Chọn đề thi
public
3 ThemDe Thêm đề thi
public
4 XoaDe Xóa đề thi
public
5 ThemCauHoiVaoDeThi Thêm câu
hỏi vào đề thi
public
6
KiemTraTrung Kiểm tra trùng câu hỏi trong đề thi
public
Trang 95
7 BoBaiTapKhoiDeThi Bỏ bài
tập khỏi đề thi
public
8 TaiDanhSachCauHoi Tải danh
sách câu hỏi
public
9 ChonCauHoi Chọn câu hỏi
public
10 ThemBai Thêm bài public 11 Luu Lưu public 12 XoaBai Xóa bài public
13 XoaBaiTrongDe Xóa bài trong đề
public
14 SuaTenGoiNho Sửa tên gợi nhớ
public
3.3.2.3.10 soạn đề thi trắc nghiệm
• các thuộc tính STT Tên Loại Ý nghĩa Ghi chú
1 m_lstBaiTap A_ListBox Bài tập private,tham chiếu
2 m_ucDeBai A_UserControl Đề bài private,tham chiếu
3 m_cboDangBai A_Combobox Dạng bài private,tham chiếu
4 m_cboDoKho A_Combobox Độ khó private,tham chiếu
5 m_dtpThoiGianLamBai A_DateTimePicker Thời gian làm bài
private,tham chiếu
6 m_cboDeThi A_Combobox private,tham chiếu
7 m_lstDeThi_BaiTap A_ListBox private,tham chiếu
8 m_cboSoLuaChon A_Combobox private,tham chiếu
9 m_cboLuaChonDung A_Combobox private,tham chiếu
10 m_dlTracNghiem DuLieu_TracNghiem private
• các phương thức
Trang 96
STT Tên Tham số Xử lý Kết quả Ghi chú
1 TaiDanhSachDeThi Tải danh
sách đề thi
public
2 ChonDeThi Chọn đề thi
public
3 ThemDe Thêm đề thi
public
4 XoaDe Xóa đề thi
public
5 ThemCauHoiVaoDeThi Thêm câu
hỏi vào đề thi
public
6
KiemTraTrung Kiểm tra trùng câu hỏi trong đề thi
public
7 BoBaiTapKhoiDeThi Bỏ bài
tập khỏi đề thi
public
8 TaiDanhSachCauHoi Tải danh
sách câu hỏi
public
9 ChonCauHoi Chọn câu hỏi
public
10 ThemBai Thêm bài public 11 Luu Lưu public 12 XoaBai Xóa bài public
13 XoaBaiTrongDe Xóa bài trong đề
public
14 SuaTenGoiNho Sửa tên gợi nhớ
public
3.3.2.3.11 Lớp DuLieu_LyThuyet
• các thuộc tính STT Tên Loại Ý nghĩa Ghi chú
1 m_docLyThuyet XmlDocument Dữ liệu lý thuyết
private
2 m_strPath A_String Đường dẫn file
private
Trang 97
dữ liệu
• các phương thức
STT
Tên Tham số
Xử lý Kết quả
Ghi chú
1 TruyVanDuLieuLyThuyet
m_docLyThyet.Load(m_strPath)
public
2 CapNhatDuLieuLyThuyet
m_docLyThyet.Save(m_strPath)
public
3.3.2.3.12 Lớp DuLieu_TuLuan
• các thuộc tính STT Tên Loại Ý nghĩa Ghi chú
1 m_docDeThi XmlDocument Dữ liệu đề thi
private
2 m_docCauHoi XmlDocument Dữ liệu câu hỏi
private
3 m_strPath A_String Đường
dẫn file dữ liệu
private
• các phương thức
STT Tên Tham số Xử lý Kết quả
Ghi chú
1 LuuDeThi m_docDeThi.Save(m_strPath) 2 TaiDeThi m_docDeThi.Load(m_strPath) 3 LuuCauHoi m_docDeThi.Save(m_strPath) 4 TaiCauHoi m_docDeThi.Load(m_strPath)
3.3.2.3.13 Lớp DuLieuTracNghiem
• các thuộc tính STT Tên Loại Ý nghĩa Ghi chú
1 m_docDeThi XmlDocument Dữ liệu đề thi
private
2 m_docCauHoi XmlDocument Dữ liệu câu hỏi
private
Trang 98
3 m_strPath A_String Đường
dẫn file dữ liệu
private
• các phương thức
STT Tên Tham số Xử lý Kết quả
Ghi chú
1 LuuDeThi m_docDeThi.Save(m_strPath) 2 TaiDeThi m_docDeThi.Load(m_strPath) 3 LuuCauHoi m_docDeThi.Save(m_strPath) 4 TaiCauHoi m_docDeThi.Load(m_strPath)
33..44 TThhiiếếtt kkếế ggiiaaoo ddiiệệnn 3.4.1 Thiết kế thực đơn
- menu chính
- submenu hệ thống
- submenu hiển thị
- submenu Ôn luyện
Trang 99
-submenu dữ liệu
- submenu công cụ
- submenu trợ giúp
- Danh sách các menu
STT Tên Chức năng Ghi chú 1 Hệ thống Các thao tác liên
quan đến hệ thống
2 Hiển thị Bật / tắt vài control của chương trình
3 Ôn luyện Các chức năng liên
Trang 100
quan đến ôn luyện bài học
4 Dữ liệu Các chức năng liên quan đến soạn thảo và nhập – xuất dữ liệu
5 Công cụ Các công cụ hỗ trợ như : máy tính , nháp , sổ tay hóa học , bảng hệ thống tuần hoàn
6 Thoát Choát chương trình 7 Hiển thị thanh công cụ Hiển thị thanh công
cụ
8 Hiển thị thanh trạng thái Hiện thị thanh trạng thái
9 Hiển thị thanh tác vụ Hiện thị thanh tác vụ 10 Ôn luyện lý thuyết Ôn tập lại các kiến
thức cơ bản lớp 10 ,11,12
11 Giải đề thi tự luận Giải các đề thi trong thư viện các đề thi tự luận
12 Giải đề thi trắc nghiệm Giải các đề thi trắc nghiệm
13 Sổ tay hóa học Tra cứu nhanh các kiến thức lớp 10,11,12
14 Soạn đề thi tự luận Tạo thư viện các đề thi tự luận
15 Soạn bài tập trắc nghiệm Soạn đề thi trắc nghiệm
16 Nhận dữ liệu Nhận dữ liệu có sẳn 17 Xuất dữ liệu Xuất dữ liệu 18 Bảng hệ thống tuần hoàn Bảng hệ thống tuần
hoàn
19 Bảng tính tan Bảng tính tan 20 Trao đổi Sử dụng Outlook
Express để trao đổi trên môi trường mạng
21 Máy tính Máy tính dùng để tính toán
Trang 101
22 Nháp Dùng để nháp khi cần thiết
23 Hướng dẫn sử dụng Tài liệu hướng dẫn sử dụng
24 Thông tin phần mềm Thộng tin về mềm 25 Thông tin tác giả Thông tin về tác giả 26 Góp ý Góp ý vế quá trình
sử dụng phần mềm
27 Giải bài tập theo dạng Giải bài tập theo dạng
3.4.2 Sơ đồ các màn hình 3.4.2.1 Phân hệ học sinh
3.4.2.2 Phân hệ giáo viên
Màn hình chínhMàn hình ôn tập lý thuyết
Màn hình giải đề thi tự luận Màn hình giải đề
thi trắc nghiệm
Màn hình bảng hệ thống tuần hoàn
Màn hình bảng bảng tính tan
Màn hình sổ tay hóa học
Màn hình giải bài tập theo dạng
Màn hình giới thiệu
Trang 102
3.4.3 Danh sách các thành phần trên sơ đồ
3.4.4 Chi tiết từng màn hình
3.4.4.1 Màn hình chính • Nhiệm vụ : điều phối các chức năng của chương trình .
STT Nghiệp vụ Ghi chú 1 Màn hình chính MH_MHChinh 2 Màn hình ôn tập lý thuyết TH_OnTapLyThuyet 3 Màn hình giải đề thi tự luận TH_GiaiDeThiTuLuan 4 Màn hình giải đề thi trắc nghiệm TH_GiaiDeThiTracNghiem 5 Màn hình soạn đề thi tự luận TH_SoanDeThiTuLuan 6 Màn hình soạn đề thi trắc nghiệm TH_SoanDeThiTracNghiem 7 Màn hình bảng hệ thống tuần hoàn MH_BangHeThongTuanHoan8 Màn hình bảng tính tan MH_BangTinhTan 9 Màn hình Sổ tay hóa học MH_SoTayHoaHoc 10 Màn hình giải bài theo dạng TH_GiaiBaiTheoDang 11 Màn hình giới thiệu MH_GioiThieu
Màn hình chính
Màn hình soạn bài lý thuyết
Màn hình soạn đề thi tự luận Màn hình soạn đề
thi trắc nghiệm
Màn hình bảng hệ thống tuần hoàn
Màn hình bảng bảng tính tan
Màn hình sổ tay hóa học
Màn hình giới thiệu
Trang 103
Hình 8 : Màn hình chính
Trang 104
• Danh sách các đối tượng thể hiện
• Danh sách các đối tượng xử lý
• Danh sách các biến cố xử lý
STT Thể hiện Loại biến cố Xử lý Ghi chú 1. m_sbThanhTrangThai A_PanelClick Cho phép thay đổi ngày
giờ hệ thống public
2. m_tbThanhCongCu A_ItemClick Hiển thị các màn hình chức năng của chương trình
public
3. m_mbThanhMenu A_ItemClick Hiển thị các màn hình chức năng của chương trình
public
4. m_bbThanhTacVu A_ItemClick Hiển thị các màn hình chức năng của chương trình
public
STT Thể hiện Loại Diễn giải Ghi chú 1 m_sbThanhTrangTha
i A_StatusBar Thanh trạng thái private
2 m_tbThanhCongCu A_ToolBar Thanh công cụ private 3 m_mbThanhMenu A_MenuBar Thanh menu private 4 m_ptbLogo A_PictureBox Logo chương
trình private
5 m_ucGioiThieu A_UserControl
Giới thiệu private
6 m_tmrDinhThoi A_Timer Định thời private 7 m_bbThanhTacVu A_ButtonBar Thanh tác vụ private
STT Thể hiện Loại Diễn giải Ghi chú 1 m_xlMHChinh XuLy_MHChi
nh Hiển thị các màn hình chức năng khác của chương trình
private
Trang 105
3.4.4.2 Màn hình ôn tập lý thuyết
Hình 9 : Màn hình ôn tập lý thuyết
• Nhiệm vụ : cho phép ôn tập về lý thuyết
• Danh sách các đối tượng thể hiện
Trang 106
STT Thể hiện Loại Diễn giải Ghi chú 1 m_cmdLuu A_Button Lưu bài làm private 2 m_cmdDong A_Button Đóng private 3 m_tvChuongTrinh A_TreeView Chương trình ọc
theo lớp private
4 m_rtbBaiHoc A_RichTextBox
Bài học lý thuyết
private
5 m_lstBaiTap A_ListBox Danh sách bài tập ứng với bài lý thuyết
private
6 m_rtbDeBai A_RichTextBox
Đề bài tập SGK private
7 m_ucBaiLam A_UserControl
Bài làm private
Trang 107
• Danh sách các đối tượng xử lý
• Danh sách các biến cố xử lý
STT Thể hiện Loại biến cố Xử lý Ghi chú 5. m_tvChuongTrinh A_ItemClick Hiển thị bài lý
thuyết tương ứng public
6. m_cmdLuu A_Click Lưu bài làm public 7. m_lstBaiTapSGK A_SelectedIndexChanged Hiển thị bài tập
SGK public
8. m_cmdDong A_Click Đóng màn hình public
STT Thể hiện Loại Diễn giải Ghi chú 1 m_xlOnTapLyThuyet XuLy_OnTap
LyThuyet Thực hiện việc xử lý các chức năng liên quan đến ôn tập lý thuyết như : hiển thị bài lý thuyết , bài tap SGK , hướng dẫn làm bài , bài giải , lưu bài làm
private
Trang 108
3.4.4.3 Màn hình luyện giải đề thi tự luận • Nhiệm vụ : cho phép học sinh luyện giải các đề thi tự luận
trong thư viện có sẵn , thực hiện tính thời gian.
Hình 10 : Màn hình giải đề thi tự luận
Trang 109
• Danh sách các đối tượng thể hiện
• Danh sách các đối tượng xử lý
• Danh sách các biến cố
STT Thể hiện Loại Diễn giải Ghi chú 1 m_cmdDong A_Button Đóng private 2 m_tvDeThi A_TreeView Đề thi private 3 m_cmdLuuBaiLam A_Button Lưu bài làm private 4 m_cboDoKho A_ComboBox Độ khó private 5 m_rtbDeBai A_RichTextB
ox Đề bài tập SGK private
6 m_dtpThoiGianLamBai
A_DateTimePicker
Thời gian làm bài
private
7 m_ucBaiLam A_UserControl
Bài làm private
8 m_cmdTinhThoiGian A_Button Tính thời gian private 9 m_rtbHuongDan A_RichTextB
ox Hướng dẫn private
10 m_rtbBaiGiai A_RichTextBox
Bài giải private
11 m_cboDangBai A_Combobox Dạng bài private 12 m_tmrBoDinhThoi A_Timer Bộ định thời private
STT Thể hiện Loại Diễn giải Ghi chú 1 m_xlGiaiDeThiTuLu
an XuLy_GiaiDeThiTuLuan
Thực hiện việc xử lý các chức năng liên quan đến giải đề thi tự luận : hiển thị bài tập và các thuộc tính của bài tập
private
STT Thể hiện Loại biến cố xử lý Ghi chú 1 m_tvDeThi A_ItemClick Hiển thị đề bài public 2 m_cmdDong A_Click Đóng màn hình public 3 m_cmdLuu A_Click Lưu bài làm public 4 m_cmdTinhThoiGian A_Click Tính thời gian public
Trang 110
Trang 111
3.4.4.4 Màn hình luyện giải đề thi trắc nghiệm
• Nhiệm vụ : cho phép học sinh luyện giải các đề thi trắc nghiệm
trong thư viện có sẵn , thực hiện tính thời gian và chấm điểm
Hình 11 : Màn hình giải đề thi trắc nghiệm
Trang 112
• Danh sách các đối tượng thể hiện
• Danh sách các đối tượng xử lý
STT Thể hiện Loại Diễn giải Ghi chú 1 m_cmdKiemTraNhan
h A_Button Kiểm tra kết quả private
2 m_cmdDong A_Button Đóng private 3 m_tvDeThi A_TreeView Đề thi private 4 m_cmdDapAn A_Button Đáp án private 5 m_cboDoKho A_ComboBox Độ khó private 6 m_rtbDeBai A_RichTextB
ox Đề bài tập SGK private
7 m_dtpThoiGianLamBai
A_DateTimePicker
Thời gian làm bài
private
8 m_cmdTinhThoiGian A_Button Tính thời gian private 9 m_rtbHuongDan A_RichTextB
ox Hướng dẫn private
10 m_rtbBaiGiai A_RichTextBox
Bài giải private
11 m_cboDangBai A_Combobox Dạng bài private 12 m_optCauA A_RadioButto
n Câu A private
13 m_optCauB A_RadioButton
Câu A private
14 m_optCauC A_RadioButton
Câu B private
15 m_optCauD A_RadioButton
Câu C private
16 m_optCauE A_RadioButton
Câu D private
17 m_tmrBoDinhThoi A_Timer Bộ định thời private
STT Thể hiện Loại Diễn giải Ghi chú 1 m_xlGiaiDeThiTrac
Nghiem XuLy_GiaiDeThiTracNghiem
Thực hiện việc xử lý các chức năng liên quan đến giải đề thi trắc nghiệm : hiển thị bài tập và các thuộc tính của bài tập
private
Trang 113
Trang 114
• Danh sách các biến cố
3.4.4.5 Màn hình viết cấu hình electron • Nhiệm vụ : cho phép học sinh giải bài tập dạng viết cấu hình
electron .
Hình 12 : Màn hình viết cấu hình electron
STT Thể hiện Loại biến cố xử lý Ghi chú 1 m_tvDeThi A_ItemClick Hiển thị đề bài public 2 m_cmdDong A_Click Đóng màn hình public 3 m_cmdTinhThoiGian A_Click Tính thời gian public 4 m_cmdKiemTraNhan
h A_Click Kiểm tra xem
liệu lựa chọn đã đúng kết quả chưa
public
5 m_cmdKetQua A_Click Hiển thị kết quả public
Trang 115
• Danh sách các đối tượng thể hiện
• Danh sách các biến cố
3.4.4.6 Màn hình viết phương trình phản ứng
STT Thể hiện Loại Diễn giải Ghi chú 1 m_lblHinhThuc A_Label Hình thức private 2 m_grpBaiTap A_Group Bài tập private 3 m_lblDeBai A_Label Đề bài private 4 m_rtbDeBai A_RichTextB
ox Đề bài private
5 m_rtbBaiLam A_RichTextBox
Bài làm private
6 m_rtbBaiGiai A_RichTextBox
Bài giải private
7 m_cmdBaiLam A_Button private 8 m_cmdBaiGiai A_Button private
STT Thể hiện Loại biến cố xử lý Ghi chú 1 m_cboHinhThuc A_SelectedInd
exChanged Thay đổi hình thức giải toán
public
2 m_cmdBaiLam A_Click Phát sinh bài làm
public
3 m_cmdGiaiBaiTap A_Click Tiến hành giải bài tập
public
Trang 116
Hình 13 : Màn hình viết phương trình phản ứng
• Danh sách các đối tượng thể hiện
• Danh sách các biến cố
STT Thể hiện Loại Diễn giải Ghi chú 1 m_lblHinhThuc A_Label Hình thức private 2 m_grpBaiTap A_Group Bài tập private 3 m_lblDeBai A_Label Đề bài private 4 m_rtbDeBai A_RichTextB
ox Đề bài private
5 m_rtbBaiLam A_RichTextBox
Bài làm private
6 m_rtbBaiGiai A_RichTextBox
Bài giải private
7 m_cmdBaiLam A_Button private 8 m_cmdBaiGiai A_Button private
Trang 117
STT Thể hiện Loại biến cố xử lý Ghi chú 1 m_cboHinhThuc A_SelectedInd
exChanged Thay đổi hình thức giải toán
public
2 m_cmdBaiLam A_Click Phát sinh bài làm
public
3 m_cmdGiaiBaiTap A_Click Tiến hành giải bài tập
public
Trang 118
3.4.4.7 Màn hình bảng hệ thống tuần hoàn
Hình 14 : Bảng hệ thống tuần hoàn
• Danh sách các đối tượng thể hiện
Trang 119
• Danh sách các đối tượng xử lý
• Danh sách các biến cố
ST Thể hiện Loại biến cố Xử lý Ghi chú
STT Thể hiện Loại Diễn giải Ghi chú 1 m_ptbBangTuanHoa
n A_PictureBox Bảng tuần hoàn private
2 m_lblKyHieuNguyenTo
A_Label Ký hiệu nguyên tố
private
3 m_lblTenNguyenTo A_Label Tên nguyên tố private 4 m_lblDienTichNguye
nTo A_Label Diện tích
nguyên tố private
5 m_lblNguyenTuKhoi A_Label Khối lượng nguyên tố
private
6 m_lblDoAmDien A_Label Độ âm điện private 7 m_lblCauHinhElectro
n A_Label Cấu hình
electron private
8 m_lblSoOxiHoa A_Label Số oxi hóa private 9 m_lblLabel1 A_Label private 10 m_lblLabel2 A_Label private 11 m_lblLabel3 A_Label private 12 m_lblLabel4 A_Label private 13 m_lblLabel5 A_Label private 14 m_lblLabel6 A_Label private 15 m_lblLabel7 A_Label private
STT Thể hiện Loại Diễn giải Ghi chú 1 m_xlBangHeThongT
uanHoan XuLy_BangHeThongTuanHoan
Thực hiện việc xử lý các chức năng liên quan đến truy xuất thông tin về bảng hệ thống tuần hoàn : ký hiệu , tên , nguyên tử khối , điện tích , độ âm điện , số oxi hóa , cấu hình electron .
private
Trang 120
T m_ptbBangTuanHoan
A_Click Thông tin chi tiết về nguyên tố được chọn : ký hiệu , tên , nguyên tử khối , điện tích , độ âm điện , số oxi hóa , cấu hình electron .
public
3.4.4.8 Màn hình bảng tính tan
Hình 15 : Bảng tính tan
• Danh sách các đối tượng thể hiện
Trang 121
• Danh sách các biến cố
STT Thể hiện Loại biến cố Xử lý Ghi chú
MH_BangTinhTan A_FormLoad Thông tin chi tiết về tính tan các chất
public
3.4.4.9 Màn hình giới thiệu
Hình 16 : Màn hình giới thiệu
• Danh sách các đối tượng thể hiện
• Danh sách các biến cố
STT Thể hiện Loại Diễn giải Ghi chú 1 m_ptbBangTinhTan A_PictureBox Bảng tính tan private
STT Thể hiện Loại Diễn giải Ghi chú 1 m_ptbGioiThieu A_PictureBox Giới thiệu private
Trang 122
STT Thể hiện Loại biến cố Xử lý Ghi chú
MH_GioiThieu A_FormLoad Hiển thị thông tin phần mềm
public
Trang 123
3.4.4.10 Màn hình xuất dữ liệu
Hình 17 : Màn hình xuất dữ liệu
• Danh sách các đối tượng thể hiện
• Danh sách các biến cố
STT Thể hiện Loại Diễn giải Ghi chú 1 m_grpChucNang A_GroupBox Chức năng private 2 m_chkOnTapLyThuy
et A_CheckBox Ôn tập lý thuyết private
3 m_chkDeThiTuLuan A_CheckBox Đề thi tự luận private 4 m_chkDeThiTracNgh
iem A_CheckBox Đề thi trắc
nghiệm private
5 m_lblThuMucXuat A_Label Thư mục xuất private 6 m_lblLabel A_Label private 7 m_cmdChonThuMuc m_Command
Button Chọn thư mục private
8 m_cmdXuatDuLieu m_CommandButton
Xuất dữ liệu private
9 m_cmdDong m_CommandButton
Đóng private
Trang 124
STT Thể hiện Loại biến cố xử lý Ghi chú 1 m_cmdChonThuMuc A_Click Chọn thư mục
xuất public
2 m_cmdXuatDuLieu A_Click Xuất dữ liệu public 3 m_cmdDong A_Click Đóng màn hình public
Trang 125
3.4.4.11 Màn hình soạn bài lý thuyết
Hình 18 : Màn hình soạn bài lý thuyết
• Danh sách các đối tượng thể hiện
Trang 126
STT Thể hiện Loại Diễn giải Ghi chú 1 m_cmdLuu A_Button Lưu bài làm private 2 m_cmdDong A_Button Đóng private 3 m_tvChuongTrinh A_TreeView Chương trình ọc
theo lớp private
4 m_rtbBaiHoc A_RichTextBox
Bài học lý thuyết
private
5 m_lstBaiTap A_ListBox Danh sách bài tập ứng với bài lý thuyết
private
6 m_rtbDeBai A_RichTextBox
Đề bài tập SGK private
7 m_ucBaiLam
A_UserControl
Bài làm private
8 m_ctmThaoTac
A_ContextMenu
Thao tác private
Trang 127
• Danh sách các đối tượng xử lý
• Danh sách các biến cố
STT Thể hiện Loại biến cố Xử lý Ghi chú
m_tvChuongTrinh A_ItemClick Hiển thị bài lý thuyết tương ứng
public
m_cmdLuu A_Click Lưu bài làm public m_lstBaiTapSGK A_SelectedIndexChanged Hiển thị bài tập
SGK public
m_cmdDong A_Click Đóng màn hình public m_ctmThaoTac A_ItemClick Thực hiện các
thao tác : thêm , xóa , sửa lớp / chương / bài .
public
m_tvChuongTrinh A_DoubleClick Sửa thuộc tính của lớp / chương / bài .
public
STT Thể hiện Loại Diễn giải Ghi chú 2 m_xlSoanBaiLyThuy
et XuLy_SoanBaiLyThuyet
Thực hiện việc xử lý các chức năng liên quan đến soạn bài lý thuyết
private
Trang 128
3.4.4.12 Màn hình soạn đề thi tự luận
Hình 19 : Màn hình soạn đề thi tự luận • Danh sách các đối tượng thể hiện
Trang 129
• Danh sách các đối tượng xử lý
• Danh sách các biến cố
STT Thể hiện Loại Diễn giải Ghi chú 1 m_lstBaiTap A_ListBox Bài tập private 2 m_ucDeBai A_UserContro
l Đề bài private
3 m_grpThuocTinh A_Group Thuộc tính private 4 m_cboDangBai A_Combobox Dạng bài private 5 m_cboDoKho A_Combobox Độ khó private 6 m_dtpThoiGianLam
Bai A_DateTimePicker
Thời gian làm bài
private
7 m_cmdThemBai A_Button Thêm bài private 8 m_cmdXoaBai A_Button private 9 m_cmdCapNhat A_Button private 10 m_cboDeThi A_Combobox private 11 m_lstDeThi_BaiTap A_ListBox private 12 m_cmdThemDe A_Button private 13 m_cmdXoaDe A_Button private
STT Thể hiện Loại Diễn giải Ghi chú 1 m_xlSoanDeThiTuLu
an XuLy_SoanDeThiTuLuan
Thực hiện việc xử lý các chức năng liên quan đến soạn đề thi tự luận
private
STT Thể hiện Loại biến cố Xử lý Ghi chú 1 m_cmdThemDe A_Click Thêm đề public 2 m_cmdXoaDe A_Click Xóa đề public 3 m_cmdDong A_Click Đóng màn hình public 4 m_cmdLuu A_Click Lưu bài tập public 5 m_cmdThemBai A_Click Thêm bài tập public 6 m_cmdXoaBai A_Click Xóa bài tập public 7 m_cmdThem A_Click Thêm bài vào đề public 8 m_cmdXoa A_Click Xóa bài tập khỏi
đề public
Trang 130
3.4.4.13 Màn hình soạn đề thi trắc nghiệm
Hình 20 : Màn hình soạn đề thi trắc nghiệm
• Danh sách các đối tượng thể hiện
Trang 131
• Danh sách các đối tượng xử lý
• Danh sách các biến cố
STT Thể hiện Loại Diễn giải Ghi chú 1 m_lstBaiTap A_ListBox Bài tập private 1 m_ucDeBai A_UserContro
l Đề bài private
2 m_grpThuocTinh A_Group Thuộc tính private 3 m_cboDangBai A_Combobox Dạng bài private 4 m_cboDoKho A_Combobox Độ khó private 5 m_dtpThoiGianLam
Bai A_DateTimePicker
Thời gian làm bài
private
6 m_cmdThemBai A_Button Thêm bài private 7 m_cmdXoaBai A_Button private 8 m_cmdCapNhat A_Button private 9 m_cboDeThi A_Combobox private 10 m_lstDeThi_BaiTap A_ListBox private 11 m_cmdThemDe A_Button private 12 m_cmdXoaDe A_Button private 13 m_cboSoLuaChon A_Combobox private 14 m_cboLuaChonDung A_Combobox private
STT Thể hiện Loại Diễn giải Ghi chú 1 m_xlSoanDeThiTrac
Nghiem XuLy_SoanDeThiTracNghiem
Thực hiện việc xử lý các chức năng liên quan đến soạn đề thi trắc nghiệm
private
STT Thể hiện Loại biến cố Xử lý Ghi chú 1 m_cmdThemDe A_Click Thêm đề public 2 m_cmdXoaDe A_Click Xóa đề public 3 m_cmdDong A_Click Đóng màn hình public 4 m_cmdLuu A_Click Lưu bài tập public 5 m_cmdThemBai A_Click Thêm bài tập public 6 m_cmdXoaBai A_Click Xóa bài tập public 7 m_cmdThem A_Click Thêm bài vào đề public 8 m_cmdXoa A_Click Xóa bài tập khỏi
đề public
Trang 132
3.4.4.14 TH_MyRichEditControl I.A. Mục đích :
Nhằm xây dựng một công cụ hỗ trợ người dùng trong việc tự động phát sinh
phương trình phản ứng đồng thời có thể tính toán được các chất tham gia và các
chất tạo thành của phương trình phản ứng đó.
I.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 :
• Các lớp đối tượng thể hiện :
TH_MyRichEditControl
TimKiemVaThayThe
NhapGiaTriChatPhanUng
• Các lớp đối tượng xử lý :
XL_MyRichEditControl
XL_TimKiemVaThayThe
XLRichTextBox
• Các lớp đối tượng hỗ trợ hiện thị :
Hỗ trợ hiển thị :
CoSo
PhuongTrinhPhanUng
TapHopPhuongTrinhPhanUng
My list box :
XulyListBox
TapHopPtpu
I.B.2. Chi tiết tổ chức bên trong các lớp đối tượng :
I.B.2.a.1. Lớp TH_MyRichEditControl : • Nhiệm vụ : thể hiện công cụ bài làm trong đó có hỗ trợ tác vụ
tự động phát sinh phương trình phản ứng.
• Danh sách các đối tượng thể hiện :
Trang 133
STT Tên Loại Ý nghĩa Ghi chú
1 richTextBox A_RichTextBox Control cho người dùng soạn thảo
private
2 new A_Button Tạo mới 1 file private 3 open A_Button Mở 1 file private 4 save A_Button Lưu file private
5 saveAs A_Button Lưu file với đường dẫn khác
private
6
cut A_Button Chuyển chuỗi kí tự chọn vào Clipboard đông thời xoá chuỗi kí tự được chọn trên richtextbox
private
7 copy A_Button Chuyển chuỗi kí tự
vừa soạn vào Clipboard
private
8
paste A_Button Chuyển chuỗi kí tự từ Clipboard (vừa được cut hay copy) lên richtextbox tại vị trí con trỏ
private
9 undo A_Button private 10 redon A_Button private 11 selectAll A_Button private 12 fontName A_Button Loại font chữ private 13 fontSize A_Button Kích cỡ font chữ private 14 fontColor A_Button Màu của font chữ private 15 bold A_Button Tạo chữ đậm private 16 italic A_Button Tạo chữ nghiêng private
17 underline A_Button Tạo gạch chân dưới chuỗi kí tự
private
18 leftAlignment A_Button Canh chỉnh trái private 19 rightAlignment A_Button Canh chỉnh phải private
20 justifyAlignment A_Button Canh chỉnh cả trái và phải
private
21 indent A_Button private 22 superScript A_Button Tạo chữ trên private 23 subScript A_Button Tạo chữ dưới private
24 openFileDialog A_Dialog Hiển thị hộp thoại open của Windows
private
25 saveFileDialog A_Dialog Hiển thị hộp thoại save của Windows
private
Trang 134
26 fontDlg A_Dialog Hiển thị hộp thoại Font của Windows
private
• Danh sách các đối tượng xử lý :
STT Tên Loại Ý nghĩa Ghi chú
1 xlMyRichEditControl Xuly_MyRichEditControl Xử lý các
button và dialog
private
2 myRichTextBox XulyRichTextBox Xử lý richtextbox
private
I.B.2.a.2. Lớp TimKiemVaThayThe : • Nhiệm vụ : tiến hành tìm kiếm và thay thế trên richtextbox
soạn thảo.
• Danh sách các đối tượng thể hiện :
STT Tên Loại Ý nghĩa Ghi chú
1 lb1 A_Label Từ cần tìm private2 lb2 A_Label Thay thế bằng private3 cbTuCanTim A_ComboBox Nhập từ cần tìm private4 cbThayTheBang A_ComboBox Nhập từ cần thay thế private
5 chkPhanBietHoaThuong A_CheckBox Phân biệt chữ hoa, chữ thường
private
6 chkTimCaTu A_CheckBox Tìm tất cả private7 optTuTrenXuong A_RadioButton Tìm từ trên xuống private8 optDuoiLen A_RadioButton Tìm từ dưới lên private9 cmdTim A_Button Tìm private10 cmdThayThe A_Button Thay thế private
11 richTextBox A_RichTextBox Tìm kiếm và thay thế trên richtextbox này
private
12 cmdDong A_Button Đóng private • Danh sách các đối tượng xử lý :
STT Tên Loại Ý nghĩa Ghi chú
1 xlTimKiemVaThayThe XuLy_TimKiemVaThayThe Đối
tượng tiến hành
private
Trang 135
xử lý tìm kiếm và thay thế
Trang 136
• Danh sách các biến cố xử lý :
STT
Thể hiện Loại biến cố Xử lý Ghi chú
1 cmdDong A_Click Đóng
TH_timkiemvathaythe
private
2 cmdTim A_Click Tiến hành tìm kiếm private3 cmdThayThe A_Click Tiến hành thay thế private
4
TH_TimKiemVaThayThe
A_VisibleChanged Nếu richtextbox đang select chuỗi kí tự thì chuỗi kí tự đó sẽ được chuyển vào cbtucantim
private
I.B.2.a.3. Lớp NhapGiaTriChatPhanUng :
• Nhiệm vụ : nhập giá trị cho ChatPhanUng trong Phương trình
phản ứng để tiến hành tính giá trị của các chất còn lại trong
Phương trình phản ứng . Giá trị này có thể là số mol hay khối
lượng của ChatPhanUng.
Trang 137
• Danh sách các đối tượng thể hiện :
STT Tên Loại Ý nghĩa Ghi chú
1 lbThuocTinh A_Label Thuộc tính private 2 lbGiaTri A_Label Giá trị private 3 lbDonVi A_Label Đơn vị private 4 cbThuocTinh A_ComboBox Số mol/khối lượng private 5 cbDonVi A_ComboBox G/kg/tấn private
6 txtGiaTri A_TextBox Giá trị của chất phản ứng
private
7 btDongY A_Button Đồng ý private 8 btHuyBo A_Button Huỷ bỏ private
• Danh sách các đối tượng xử lý :
STT Tên Loại Ý nghĩa Ghi chú
1 m_chat ChatPhanUng Thể hiện đối tượng
chatphanung sẽ được nhập giá trị
private
• Danh sách các biến cố :
STT Thể hiện Loại biến cố Xử lý Ghi chú 1 btHuyBo A_Click Đóng thể hiện private
2 txtGiaTri A_KeyDown Nếu nhấn enter thì xử lý nhập giá trị
private
3 btDongY A_Click Xử lý nhập giá trị private
4
cbThuocTinh A_SelectedIndexChange
Nếu chọn “số mol” thì lbdonvi và cbdonvi sẽ biến mất còn chọn “khối lượng” thì chúng sẽ xuất hiện
private
5 frmNhapGiaTri A_Closing Nếu chưa nhập giá trị thì định m_chat = null
private
I.B.2.a.4. Lớp XL_TimKiemVaThayThe :
• Nhiệm vụ : là lớp trực tiếp xử lý tác vụ tìm kiếm và thay thế
trên form TimKiemVaThayThe.
• Danh sách các đối tượng thể hiện :
Trang 138
STT Tên Loại Ý nghĩa Ghi chú
1 cbTuCanTim A_ComboBox Từ cần tìm private 2 cbTuThayThe A_ComboBox Từ thay thế private
3 chkPhanBietHoaThuong A_CheckBox Phân biệt hoa thường
private
4 chkTimCaTu A_CheckBox Tìm tất cả private 5 optTuTrenXuong A_RadioButton Tìm từ trên xuống private 6 optTuDuoiLen A_RadioButton Tìm từ dưới lên private
7 richTextBox A_RichTextBox Tiến hành tìm kiếm trên richtextbox
private
• Danh sách các hàm xử lý :
STT Tên hàm Tham số
Kết quả
Xử lý Ghi chú
1
TimKiem Tiến hành tìm kiếm trên richtextbox dựa trên từ khoá ở cbtucantim
public
2
ThayThe Tiến hành tìm kiếm trên richtextbox dựa trên từ khoá ở cbtucantim và thay thế bằng cbthaythe
public
3
ThemChuoiVaoComboBox Kiểm tra chuỗi vừa nhập vào có trùng với chuỗi đã có sẵn trong cbtucantim hay cbthaythe chưa nếu chưa có thì thêm từ vừa nhập vào 2 combobox trên
pubic static
4 TimChuoiTrongComboBox Tìm chuỗi trong 2 combobox
public static
I.B.2.a.5. Lớp XuLyRichTextBox : • Nhiệm vụ : Là lớp trực tiếp xử lý các tác vụ liên quan đến
richtextbox gồm có tạo tự động phương trình phản ứng khi biêt
Trang 139
các chất tham gia, nếu có thể tạo ra nhìêu phương trình phản
ứng thì hiển thị listbox cho phép người dùng chọn phương trình
phản ứng cần dùng. Sau đó, khi người dùng nhập giá trị cho
chất trong phương trình phản ứng => tự động tính lại giá trị của
các chất còn lại.
• Danh sách các đối tượng thể hiện :
STT Tên Loại Ý nghĩa Ghi chú 1 m_richTextBox RichTextBox Soạn thảo bài làm private
2 m_listBox ListBox Hiển thị tập hợp phương trình phản ứng
private
• Danh sách các đối tượng xử lý :
STT Tên Lớp Ý nghĩa Ghi chú
1 m_myRichTextBox CoSo Tham chiếu đến đối tượng m_richtextbox
private
2 m_myListBox XuLyListBox Tham chiếu đến đối tượng m_listbox
private
3 m_ptpus TapHopPhuong
TrinhPhanUng Tập hợp tất cả các đối tượng phuongtrinhphanung có trong m_richtextbox
private
• Danh sách các biến cố :
STT Thể hiện Loại biến cố Xử lý Ghi chú 1 m_richTextBox A_KeyDown Nhấn Ctrl + Shift + P
=> Tạo đối tượng phuongtrinhphanung
private
2 m_richTextBox A_KeyUp Hiển thị đối tượng phuongtrinhphanung vừa tạo
private
3 m_richTextBox A_Protected Khi người dùng thay đổi chuỗi kí tự đựơc bảo vệ , nếu người dùng nhấn Del thì sẽ xoá
private
4 m_richTextBox A_GotFocus Hiển thị private
Trang 140
phuongtrinhphanung ngừơi dùng chọn trong listbox
5 m_richTextBox A_MouseDown Nếu ngừơi dùng nhấn doubleclick vào chất phản ứng trong đối tượng phuongtrinhphanung thì sẽ hiển thị cửa số nhapgiatrichatphanung
private
I.B.2.a.6. Lớp CoSo :
• Nhiệm vụ : lớp này chứa một biến static m_richTextBox tham
chiếu trực tiếp đến đối tượng richTextBox của lớp
XuLyRichTextBox để tiến hành xử lý hiển thị của lớp
PhuongTrinhPhanUng kế thừa từ lớp CoSo này.
• Danh sách các đối tựơng thể hiện
STT Tên Loại ý nghĩa Ghi chú 1 m_richTextBox RichTextBox Tham chiếu đến đối
tựơng RichTextBox của lớp đối tượng có chứa biến thuộc lớp CoSo này
protected static
• Danh sách hàm xử lý :
STT Tên Tham số Kết quả Xử lý Ghi chú 1 hienThi str : string Hiển thị chuỗi
str ra m_richTextBox đồng thời đặt thuộc tính bảo vệ
protected
I.B.2.a.7. Lớp PhuongTrinhPhanUng :
• Nhiệm vụ : kế thừa từ lớp CoSo : tạo lập một đối tựơng
PhuongTrinhPhanUngHoanChinh cùng 2 vị trí đầu và cuối của
chúng. Sau đó tiến hành hiển thị.
Trang 141
• Danh sách đối tượng xử lý :
STT Tên Lớp Ý nghĩa Ghi chú 1 m_ptpu PhuongTrinhPhanUngHoanChinh private 2 m_viTriDau int Vị trí đầu private 3 m_viTriCuoi int Vị trí cuối private
• Danh sách các thuộc tính :
STT Tên Lớp Ý nghĩa Ghi chú
1 ViTriDau int Vị trí đầu public 2 ViTriCuoi int Vị trí cuối public 3 ViTriPtpu int Vị trí hiển thị Ptpu public
4 ViTriHienThiGiaTri int Vị trí hiển thị giá trị của chất phản ứng
public
5 DaTinh bool Kiểm tra phương trình phản ứng đã tính giá trị của chất phản ứng chưa
• Danh sách các hàm xử lý :
STT Tên Tham số
Xử lý Kết quả
Ghi chú
1 HienThiTagPhuongTrinhPhanUng Hiển thị 2 tag đầu của Ptpu
public
2 HienThiPhuongTrinh Hiển thị ptpu public 3 HienThiGiaTriChatPhanUng Hiển thị giá trị
của các chất phản ứng
public
4 HienThiPhuongTrinhPhanUng Hiển thị toàn bộ ptpu
public
I.B.2.a.8. Lớp TapHopPhuongTrinhPhanUng :
• Nhiệm vụ : lớp bao gồm tập hợp các PhuongTrinhPhanUng mà
richTextBox sẽ sử dụng.
• Danh sách các đối tượng xử lý :
STT Tên Lớp Ý nghĩa Ghi chú
1 m_list ArrayList Tập hợp các đối tượng PhuongTrinhPhanUng
private
Trang 142
• Danh sách các hàm xử lý :
STT Tên Tham số Xử lý Kết
quả Ghi chú
1 Add ptpu: PhuongTrinhPhanUng
Thêm mới một đối tượng PhuongTrinhPhanUng
public
2 Remove ptpu : PhuongTrinhPhanUng
Xoá đối tượng PhuongTrinhPhanUng
public
3 Clear Xoá toàn bộ tập hợp public4 Count Đếm số lượng phần tử int public5 XacDinhViTri str : string Xác định lại vị trí của
các đối tượng PhuongTrinhPhanUng trong tập hợp
public
6 XacDinhPtpu str : string viTriCursor : int
Xác định tại vị trí cursor ứng với đối tượng PhuongTrinhPhanUng nào trong tập hợp
null : không có
public
I.B.2.a.9. Lớp XuLyListBox :
• Nhiệm vụ : xử lý control listbox để thể hiện tập hợp các
phương trình phản ứng có thể có ứng với các chất tham gia do
người dùng nhập vào.
• Danh sách các đối tượng xử lý :
STT Tên Lớp/Loại Ý nghĩa Ghi chú
1 m_listBox A_ListBox listBox thể hiện tập các phương trình phản ứng
private
2 m_giaTri object Giá trị mà ngừơi dùng chọn lựa private • Danh sách các biến cố :
STT Thể hiện Biến cố Xử lý Ghi chú 1 m_listBox A_KeyDown Di chuyển trong listbox và lựa
chọn đối tượng public virtual
2 m_listBox A_DoubleClick Chọn đối tựợng khi nhấn đôi public 3 m_listBox A_LostFocus Lấy lại focus khi bị lost focus public
Trang 143
• Danh sách các thuộc tính :
STT Tên Loại Ý nghĩa Ghi chú 1 ViTriListBox A_Point Vị trí list box sẽ hiển thị public 2 GiaTri object Đối tượng đựơc chọn trong listbox publc
I.B.2.a.10. Lớp TapHopPtpu :
• Nhiệm vụ : kế thừa từ lớp XuLyListBox : thể hiện tập hợp các
phương trình phản ứng
44 )) TThhựựcc hhiiệệnn vvàà tthhửử nngghhiiệệmm 44..11 TThhựựcc hhiiệệnn + Môi trường cài đặt : Microsoft visual studio .NET
+ Ngôn ngữ lập trình : C#.net
+ Lưu trữ và xử lý dữ liệu : ngôn ngữ XML
+ kiến trúc cài đặt :
phần mềm gồm 1 solution OnThiHoaHoc.sln với 3 project :
ModuleChung.csproj , ModuleHocSinh.csproj, ModuleGiaoVien.csproj .
ModuleChung bao gồm các tính năng chung được dùng cho cả
ModuleHocSinh và ModuleGiaoVien .
4.1.1 ModuleChung
Tên project : Module Chung
Module Chung
ModuleGiaoVien
ModuleHocSinh
Trang 144
Bao gồm các chức năng chính của chương trình như :Xuất dữ liệu , Nhập dữ liệu ,
bảng hệ thống tuần hoàn , bảng tính tan ... Các lớp xử lý chung về các chất hóa học .
Module này được sử dụng bởi hai module học sinh và giáo viên .
Kết quả biên dịch của module này là một thư viện lớp ModuleChung .dll
4.1.2 ModuleHocSinh Tên project : Module Học sinh
Bao gồm các chức năng liên quan đến học sinh : Giải đề thi tự luận ,Giải đề thi trắc
nghiệm , Ôn tập lý thuyết .
Kết quả sau khi biên dịch là ModuleHocSinh.exe
4.1.3 ModuleGiaoVien Tên project : Module Giáo viên
Bao gồm các chức năng liên quan đến giáo viên : Soạn bài lý thuyết , soạn đề thi
trắc nghiệm , soạn đề thi tự luận
Kết quả sau khi biên dịch là ModuleGiaoVien.exe
+ Các thư viện được dùng trong phần mềm :
-SandBar
-SharpLibrary
-Infragistic
-Janus
44..22 TThhửử nngghhiiệệmm Cấu hình đòi hỏi : Bộ vi xử lý tốc độ 500Mhz , RAM 128 MB , hệ điều hành
Windows 2000/XP , không gian đĩa trống 500MB .
55 )) TTổổnngg kkếếtt 55..11 CCáácc kkếếtt qquuảả đđạạtt đđưượợcc Cho phép học sinh ôn tập theo lớp , luyện giải đề thi , làm bài tập trắc nghiệm .
Giáo viên thì có thể soạn thảo thư viện các bài lý thuyết , các bài tập trắc nghiệm ,
soạn thảo đề thi . Hổ trợ học sinh trong quá trình làm bài , chẳng hạn : bổ túc và cân
bằng các phương trình phản ứng dạng trao đổi ion , oxi hóa – khử . Xây dựng được
Trang 145
hệ thống các lớp đối tượng xử lý cho phép tái sử dụng và nâng cấp dễ dàng trong
các phiên bản cải tiến ngay cả việc bổ sung thêm chức năng .
55..22 ĐĐáánnhh ggiiáá ưưuu kkhhuuyyếếtt đđiiểểmm + Chưa hỗ trợ giải bài tập ở mức độ cụ thể như : chuổi phản ứng , nhận biết các
chất , điều chế . Tốc độ chương trình chưa tối ưu do phải truy xuất thường xuyên
các đối tượng trên cây kế thừa .
+ Code vẫn chưa tối ưu
+ Chương trình chạy chưa nhanh
+ Chương trình được viết theo mô hình 3 lớp (three-tiers)
+ Phân tích , thiết kế thuần hướng đối tượng
+ Giao diện dễ sử dụng
+ Có setup cho phép cài đặt dễ dàng
+ Có help hướng dẫn sử dụng
55..33 HHưướớnngg mmởở rrộộnngg ttưươơnngg llaaii
+ Nhờ việc xậy dựng cây kế thừa chứa một hệ thống các đối tượng xử lý nên
hệ thống dể dàng được mở rộng trong tương lai kể cả việc bổ sung thêm các
chức năng của chương trình hay bổ sung thêm các dạng bài tập hỗ trợ giải.
+ Tiến hành phân phối, chuyển giao phần mềm cho người dùng và lấy
feedback từ người dùng làm kinh nghiệm cải tiến cho các phiên bản sau hoàn
chỉnh hơn.
+ Tiếp tục nâng cấp kiến trúc phần mềm sao cho có thể làm việc trên các hệ
phân tán , trên mạng và trên môi trường web.
Trang 146
Tài liệu Tham khảo [1] Nguyễn Tiến Huy (2004) , “Bài giảng môn Xây dựng phần mềm hướng đối
tượng”.
[2] Trần Minh Triết , Trần Lê Hồng Dũ , Nguyễn Minh Huy , Phạm Minh Tuấn ,
Văn Đức Phương Hồng , Đặng Bình Phương (2004) , “Tài liệu hướng dẫn thực
hành môn Xây dựng phần mềm hướng đối tượng” .
[3] Nguyễn Duy Ái - Dương Tất Tốn (2001) , “Hóa học 10” , nxb Giáo Dục.
[4] Đổ Tất Hiển – Trần Quốc Sơn ( 2001) , “Hóa học 11” , nxb Giáo Dục.
[5] Lê Xuân Trọng – Nguyễn Văn Tòng (2001) , “Hóa học 12” , nxb Giáo Dục.
[6] Ngô Ngọc An (2000) , “Các bài toán Hóa học chọn lọc” , nxb Giáo Dục.
[7] Lê Thanh Xuân (2000) , “Lý thuyết Hóa học PTTH” , nxb TPHCM.