Lời Cảm Ơn (cid:87) (cid:88)

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 1

Lời Nói Đầu (cid:91) (cid:92)

iện nay theo qui định hiện hành , học sinh phổ thông trung học sau khi

H

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ó .

Trang 2

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 3

3.2.1

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 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 Sơ đồ các màn hình ................................................................ 101 3.4.2 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 4

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 5

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 6

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 7

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 8

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 :

(cid:57) 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

(cid:57) 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 9

(cid:57) 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 .

(cid:57) Có thống kê kết quả làm bài dưới dạng biểu đồ và báo biểu

(cid:57) 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

(cid:57) Có hỗ trợ lời giải trong quá trình làm bài

(cid:57) 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 10

- 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 11

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 : •

(cid:131) Bổ túc và cân bằng hoàn thành phương trình phản ứng

(cid:131) Định lượng dựa vào phương trình phản ứng

Trang 12

• 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 13

• 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 14

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 15

22 )) PPhhâânn ttíícchh

22..11 SSơơ đđồồ ssửử ddụụnngg

Ôn tập lý thuyết

Giải đề thi tự luận

Giải đề thi trắc nghiệm

Giải bài tập theo dạng

Hoc sinh

Trao đổi

Tra cứu bảng tuần hoàn, bảng tính tan, máy tính…

Giao vien

Soạn đề thi tự luận

Soạn đề thi trắc nghiệm

Soạn bài lý thuyết

Trang 16

(cid:190) Danh sách các người dùng của sơ đồ sử dụng

STT 1 2 Người dùng Hoc sinh Giao vien Diễn giải Học sinh Giáo viên Ghi chú

(cid:190) Danh sách các nghiệp vụ của sơ đồ sử dụng

STT 1 2 3 4 5 6 7 8 Nghiệp vụ Ôn tập lý thuyết Giải đề thi tự luận Giải đề thi trắc nghiệm Tra cứu Nhận / xuất dữ liệu Soạn bài lý thuyết Soạn đề thi tự luận Soạn đề thi trắc nghiệm Ghi chú

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 17

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 18

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”

Học sinh

D2

D6 Ôn tập lý thuyết Máy In

D3

(cid:57) 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

(cid:57) Xử lý

Đọc D3

Xuất D2

Trang 19

2.2.1.2 Nghiệp vụ “Giải đề thi tự luận”

Học sinh

D1 D2

D6 Giải đề thi tự luận Máy In

D3 D4

(cid:57) 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

(cid:57) Xử lý

Nhập D1

Đọc D3

Lưu D4

Xuất D2

Trang 20

2.2.1.3 Nghiệp vụ “Giải đề thi Trắc nghiệm ”

Học sinh

D1 D2

D6 Giải đề thi Trắc nghiệm Máy In

D3 D4

(cid:57) 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

(cid:57) Xử lý

Nhập D1

Đọc D3

Lưu D4

Xuất D2

Trang 21

2.2.1.4 Nghiệp vụ “Giải đề bài tập theo dạng ”

Học sinh

D1 D2

D6 Giải bài tập theo dạng Máy In

(cid:57) Diễn giải

D1 : dạng bài tập và đề bài

D2 : Kết quả làm bài

D6 : in

(cid:57) Xử lý

Nhập D1

Xuất D2

Trang 22

2.2.1.5 Nghiệp vụ “Tra cứu”

Học sinh

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…

D4

(cid:57) Diễn giải

D1 : loại tra cứu

D4 : như D1 & kết quả tra cứu

Trang 23

2.2.1.6 Nghiệp vụ ‘ Nhận xuất dữ liệu ‘

Học sinh

D1

Chức năng nhận xuất dữ liệu để tra đổi với giáo viên

D5 D4

(cid:57) Diễn giải :

D1 : file cần trao đổi.

D4 : như D1

D5 : như D1

Trang 24

2.2.2 Đối với giáo viên

2.2.2.1 Nghiệp vụ soạn bài lý thuyết

Giáo viên

D1

Soạn đề bài lý thuyết

D4

(cid:57) 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

(cid:57) Xử lý

Nhập D1

Lưu D4

Trang 25

2.2.2.2 Nghiệp vụ” soạn đề thi tự luận”

Giáo viên

D1

Soạn đề thi tự luận

D4

(cid:57) 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

(cid:57) Xử lý

Nhập D1

Lưu D4

Trang 26

2.2.2.3 Nghiệp vụ “soạn bài tập trắc nghiệm”

Giáo viên

D1

Soạn đề thi trắc nghiệm

D4

(cid:57) 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

(cid:57) Xử lý

Nhập D1

Lưu D4

Trang 27

2.2.2.4 Nghiệp vụ “Tra cứu”

Giáo viên

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…

D4

(cid:57) Diễn giải

D1 : loại tra cứu

D4 : như D1

Trang 28

2.2.2.5 Nghiệp vụ “Nhận xuất dữ liệu“

Giáo viên

D1

Chức năng nhập xuất file để trao đổi với học sinh

D5 D4

(cid:57) 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 1 Lớp 2 Chương Ý nghĩa Lớp Chương Ghi chú

3 Bài lý thuyết 4 Đề thi tự luận 5 Bài tập tự luận 6 Đề thi trắc nghiệm 7 Bài tập trắc nghiệm 8 Dạng bài tập Bài lý thuyết Đề thi tự luận Bài tập tự luận Đề thi trắc nghiệm Bài tập trắc nghiệm Dạng bài tập

Trang 29

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 30

- 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 31

- 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 32

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 33

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 giải đề thi tự luận Hệ thống các đối tượng thể hiện Thể hiện ôn tập lý thuyết Thể hiện giải đề thi trắc nghiệm

Xử lý giải đề thi tự luận Hệ thống các đối tượng xử lý Xử lý ôn tập lý thuyết Xử lý giải đề thi trắc nghiệm

Dữ liệu lý thuyết Dữ liệu đề thi tự luận Dữ liệu đề thi trắc nghiệm Hệ thống các đối tượng lưu trữ

Trang 34

3.1.1.1 Xử lý ôn tập theo lớp

Xử lý ôn tập lý thuyết

Xử lý Lý thuyết Xử lý bài tập

Lớp Chương Bài Hỗ trợ phương trình phản ứng

3.1.1.2 Xử lý luyện giải đề thi

Xử lý giải đề thi tự luận

Hỗ trợ phương trình phản ứng

Trang 35

Học sinh

Thể hiện tra cứu

Thể hiện giải bài tập theo dạng Hệ thống các đối tượng thể hiện

Xử lý giải bài tập theo dạng Xử lý tra cứu Hệ thống các đối tượng xử lý

Dữ liệu tra cứu

Hệ thống các đối tượng lưu trữ

Trang 36

3.1.2 Đối với giáo viên

Giáo viên

Thể hiện tra cứu Thể hiện soạn đề thi tự luận Hệ thống các đối tượng thể hiện

Thể hiện soạn đề thi trắc nghiệm

Xử lý soạn đề thi tự luận Xử lý tra cứu Hệ thống các đối tượng xử lý Xử lý soạn đề thi trắc nghiệm

Dữ liệu tra cứu Dữ liệu đề thi tự luận Dữ liệu đề thi trắc Hệ thống các đối tượng lưu trữ

Trang 37

3.1.3 Kiến trúc triển khai

Học sinh Giáo viên

Thể hiện Xử lý Lưu trữ Thể hiện Xử lý Lưu trữ

Bộ nhớ ngoài Bộ nhớ ngoài

33..22 TThhiiếếtt kkếế ddữữ lliiệệuu

3.2.1 Sơ đồ logic dữ liệu

(cid:153) Cấu trúc các lớp đối tượng

LOP CHUONG BAITAP SGK BAILY THUYET

DETHITU LUAN DETHI_BAITAP TULUAN BAITAP TULUAN LOAI BAITAP

DETHITRAC NGHIEM DETHI_BAITAP TRACNGHIEM BAITAP TRACNGHIEM

Hình 7 : sơ đồ logic dữ liệu

Trang 38

3.2.1.1.1 Danh sách các thành phần của sơ đồ

STT Tên 1 LOP Ghi chú Ý nghĩa Lớp

2 CHUONG Chương

3 BAILYTHUYET

4 BAITAPSGK

5 DETHITULUAN

BAITAPTUUAN

6 DETHI_BAITAPTULUAN

7 DETHITRACNGHIEM

8 BAITAPTRACNGHIEM Bài lý thuyết Bài tập SGK Đề thi tự luận Bài tập tự luận Đề thi - bài tập tự luận Đề thi trắc nghiệm Bài tập trắc nghiệm

9 DETHI_BAITAPTRACNGHIEM Đề thi - bài Loại Đối tương Đối tương Đối tương Đối tương Đối tương Đối tương Quan hệ Đối tương Đối tương Quan hệ

10 DANGBAITAP tập trắc nghiệm 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 39

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 Ràng buộc Ghi chú

Miền giá trị Số nguyên Chuỗi Khóa chính

1 MaLop 2 TenLop

Tên : Chuong

Ý nghĩa : Chương

STT Thuộc tính Kiểu Miền giá trị Ghi chú

1 MaChuong 2 TenChuong Số nguyên Chuỗi Khóa chính Ràng buộc

Tên : BaiLyThuyet

Ý nghĩa : Bài lý thuyết

STT Thuộc tính Kiểu Miền giá trị Ghi chú

1 MaBaiLyThuyet Số nguyên 2 TenBaiLyThuyet Chuỗi 3 TenFileBaiLyTh Chuỗi Khóa chính Ràng buộc uyet

Trang 40

Tên : BaiTapSGK

Ý nghĩa : Bài tập SGK

STT Thuộc tính Kiểu Miền giá trị Ghi chú

Số nguyên Ràng buộc Khóa chính 1 MaBaiTapS GK

2 MaBaiLyTh Số nguyên uyet

3 TenFileDeB Chuỗi Tham chiếu khóa ngoại ai

Chuỗi

4 TenFileHuo ngDanGiai 5 TenFileBai Chuỗi Giai

Tên : DeThiTuLuan

ý nghĩa : Đề thi tự luận

STT Thuộc tính Kiểu Miền giá trị Ghi chú

Số nguyên

Ràng buộc Khóa chính

1 MaDeThi 2 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ị Ghi chú

Số nguyên

1 MaBaiTap 2 TenGoiNho Chuỗi 3 MaDangBai Số nguyên Ràng buộc

4 DoKho 5 ThoiGianLa Số nguyên DateTime >=1 and <=4 Khóa chính Tham chiếu khóa ngoại mBai

Trang 41

6 TenFileDeB Chuỗi ai

Chuỗi

7 TenFileHuo ngDan 8 TenFileBai Chuỗi Giai

9 TenFileBai Chuỗi Lam

Tên : DeThi_BaiTapTuLuan

ý nghĩa : quan hệ đề thi bài tập tự luận

STT Thuộc tính 1 MaDeThi Kiểu Số nguyên Miền giá trị Ràng buộc Ghi chú

2 MaBaiTap Số nguyên

Tham chiếu khóa ngoại Tham chiếu khóa ngoại

Tên : DeThiTracNghiem ý nghĩa : Đề thi trắc nghiệm

STT Thuộc tính 1 MaDeThi 2 TenGoiNho Kiểu Số nguyên Chuỗi Miền giá trị Ràng buộc Ghi chú Khóa chính

Tên : BaiTapTracNghiem

ý nghĩa : bài tập trắc nghiệm

STT Thuộc tính 1 MaBaiTap 2 TenGoiNho 3 MaDangBai Kiểu Số nguyên Chuỗi Số nguyên Miền giá trị Ràng buộc

4 DoKho 5 ThoiGianLam Số nguyên DateTime >=1 and <=4 Ghi chú Khóa chính Tham chiếu khóa ngoại

Bai

Trang 42

6 SoLuaChon 7 LuaChonDun Số nguyên Số nguyên >=2 and <=5 g

8 TenFileDeBai Chuỗi 9 TenFileHuon Chuỗi <= SoLuaChon gDan

10 TenFilebaiGia Chuỗi 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ị Ghi chú

1 MaDeThi Số nguyên Ràng buộc

2 MaBaiTap Số nguyên Tham chiếu khóa ngoại 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ị Ghi chú

Số nguyên

3 MaDangBai 4 TenDangBai Chuỗi Khóa chính Ràng buộc

3.2.1.2 Ôn tập lý thuyết

(cid:153) Cấu trúc file LyThuyet.dtd:

Trang 43

Dữ liệu ví dụ : file LyThuyet.xml

TenFileHuongDan="L0C0B0BT0HD0.rtf"

TenFileBaiGiai="L0C0B0BT0BG0.rtf"

TenFileBaiLam="L0C0B0BT0BL0.rtf">

Trang 44

TenFileBaiLT="L1C0B0.rtf">

TenFileBaiLT="L2C0B0.rtf">

3.2.1.3 Đề thi tự luận

(cid:153) Cấu trúc của file DuLieuTuLuan.xml

Trang 45

Dữ liệu ví dụ :

(cid:153) file CauHoiTuLuan.xml

(cid:153) file DeThiTuLuan.xml

"DuLieuTuLuan.dtd"[]>

ThoiGianLamBai="00:20:30" NgayRaDe="10/10/2001">

3.2.1.4 Đề thi trắc nghiệm

(cid:153) Cấu trúc của file DuLieuTracNghiem.dtd:

Trang 46

Dữ liệu ví dụ :

(cid:153) file CauHoiTracNghiem.xml

"DuLieuTracNghiem.dtd"[]>

Trang 47

Cr

Al

Fe

Mn

Kết quả khác

(cid:153) file DeThiTracNghiem.xml

"DuLieuTracNghiem.dtd"[]>

ThoiGianLamBai="00:20:30" NgayRaDe="10/10/2001">

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 48

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 1 Lop 2 Chuong Ý nghĩa Lớp Chương Ghi chú

3 BaiLyThuyet 4 BaiTapSGK 5 BaiTapTuLuan 6 DeThiTuLuan 7 BaiTapTracNghiem 8 DeThiTracNghiem 9 XuLy_MHChinh 10 XuLy_OnTapLyThuyet

11 XuLy_GiaiDeThiTuLuan

12 XuLy_GiaiDeThiTracNghiem

13 XuLy_SoanBaiLuyThuyet

14 XuLy_SoanDeThiTuLuan

15 XuLy_SoanDeThiTracNghiem

Bài lý thuyết Bài tập SGK Bài tập tự luận Đề thi trắc nghiệm Bài tập trắc nghiệm Đề thi trắc nghiệm Xử lý màn hình chính 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 Xử lý soạn bài lý thuyết Xử lý soạn đề thi tự luận Xử lý soạn đề thi trắc nghiệm Dữ liệu lý thuyết Dữ liệu tự luận Dữ liệu trắc nghiệm 16 DuLieu_LyThuyet 17 DuLieu_TuLuan 18 DuLieu_TracNghiem

3.3.2.1.2 Các đối tượng thể hiện chất vô cơ

• ChatVoCo

• NguyenTo

• HopChatOH

• HopChatDienTich

• IonDuong

• IonAm

Trang 49

• 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 50

• 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 51

• 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 52

• 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 53

• 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 54

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 55

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 56

• 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 :

PhuongTrinhPhanUngCollection

*

PhuongTrinhPhanUng

*

TapHopChat

* *

* DanhSachChat ChatVoCo

• 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

Trang 57

I.A.1.a.13. Mô hình 2 :

PhuongTrinhPhanUngHoanChinh

* *

PhuongTrinhPhanUn TapHopChatTrongPtp

*

ChatPhanUng

*

ChatVoCo

• 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.

Trang 58

I.A.1.a.14. Mô hình 3 :

ChatVoCo

* *

PhuongTrinhPhanUngCollectio TapHopNguyenTo

* *

NguyenTo DanhSachNguyen T *

ChatVoCo chứa một đối tượng thuộc lớp • 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).

chứa một đối tượng thuộc lớp • Lớp TapHopNguyenTo

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.

Trang 59

I.A.1.a.15. Mô hình 4 :

HopChatDienTich

* *

IonDuong IonAm

*

KimLoai

• 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 đó.

1 1

1 1

XuLy_OnTapLyThuyet

DuLieu_LyThuyet

0..* 0..*

Lop

1 1

1 1

1 1

0..* 0..*

1 1

XuLy_SoanBaiLyThuyet

1 1

0..* 0..* Chuong

BaiTapSGK

BaiLyThuyet

1 1

0..* 0..*

0..* 0..*

1 1

XuLy_SoanDeThiTuLuan

DeThiTuLuan

1 1

1 1

1 1

1 1

0..* 0..*

DuLieu_TuLuan

0..* 0..* 0..* 0..*

XuLy_GiaiDeThiTuLuan

0..* 0..*

1 1

CauHoiTuLuan

0..* 0..*

XuLy_SoanDeThiTracNghiem

DeThiTracNghiem

0..* 0..*

1 1

1 1

0..* 0..* 0..* 0..*

1 1

DuLieu_TracNghiem

1 1

0..* 0..*

1 1

XuLy_GiaiDeThiTracNghiem

CauHoiTracNghiem

0..* 0..*

3.3.2.2.3 Mô hình quan hệ giữa các đối tượng xử lý

Trang 60

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 TaphopNguyenTo Ghi chú protected m_NguyenTos

1

protected m_ptpus PhuongTrinhPhan UngCollection

2

Ý nghĩa 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 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

• Danh sách các thuộc tính (properties) :

Tên Loại Ý nghĩa Ghi chú ST T

M float 1

NguyenTos TapHopNguyenTo 2 Khối lượng Read- only Read – only

public 3 PhuongTrinhPhanUn gs PhuongTrinhPhanUngCollect ion Tương ứng m_nguyent os Tương ứng m_ptpus

Trang 61

• Danh sách các hàm thành phần (methods) :

STT Tên Xử lý

XacDinhChat Ghi chú static 1

LaChatKhi static chat : ChatVoCo Kết quả Đối tượng thuộc lớp tương ứng True : đúng False : sai 2

KimLoaiMuoi kl : KimLoai m : Muoi protecte d

True:có False:không Tính m_ptpus 3

KimLoaiAxit kl : KimLoai axit : Axit protecte d

True:có False:không Tính m_ptpus 4

KimLoaiH2O kl : KimLoai h2O : H2O protecte d

True:có False:không Tính m_ptpus 5

KimLoaiPhiKimVII kl : KimLoai protecte d pk : PKNhomVII

True:có False:không Tính m_ptpus 6

Tham số ten : string Xác định đối tượng có tên chất như vậy Xác định chất cho có phải là chất khí hay không Xác định phương trình phản ứng của đối tượng KimLoai và đối tựong Muoi Xác định phương trình phản ứng của đối tượng KimLoai và đối tựong Axit Xác định phương trình phản ứng của đối tượng KimLoai và đối tượng H2O Xác định phương trình phản ứng của đối tượng KimLoai và đối tượng PKNhomVII

Trang 62

KimLoaiPhiKimVI kl : KimLoai protecte d pk : PKNhomVI True:có False:không Tính m_ptpus 7

KimLoaiPhiKimV protecte d kl : KimLoai pk : PKNhomV True:có False:không Tính m_ptpus 8

KimLoaiPhiKimIV kl : KimLoai

protecte d pk : PKNhomIV True:có False:không Tính m_ptpus 9

Xác định phương trình phản ứng của đối tượng KimLoai và đối tượng PKNhomVI Xác định phương trình phản ứng của đối tượng KimLoai và đối tượng PKNhomV Xác định phương trình phản ứng của đối tượng KimLoai và đối tượng PKNhomIV … 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 :

(cid:131) Kiểm tra chất có thuộc lớp NguyenTo(phi kim + kim loại) ?

(cid:131) đúng : tạo mới đối tượng thuộc lớp NguyenTo tương ứng với tenChat

đã cho, dừng

(cid:131) sai : Kiểm tra chất có thuộc lớp HopChatOH (oxit + RH) ?

(cid:131) đúng : tạo mới đối tượng thuộc lớp HopChatOH tương ứng với

tenChat đã cho, dừng

(cid:131) sai : Kiểm tra chất có thuộc lớp HopChatDienTich (axit + bazo +

muối)?

Trang 63

(cid:131) đúng : tạo mới đối tượng thuộc lớp HopChatDienTich tương ứng với

tenChat đã cho, dừng

(cid:131) 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 :

(cid:131) Nếu chất là phi kim và chất là chất khí (O,N,F,Cl,I) trả về true

(cid:131) nếu không trả về false

o Giải thuật hàm KimLoaiMuoi :

(cid:131) Kiểm tra kim loại có đứng trước kim loại của ion dương muối

(cid:131) nếu không -> không phản ứng, dừng

(cid:131) 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 :

(cid:131) Kiểm tra axit thuộc loại gì ?

(cid:131) Nếu axit là HNO3 thì gọi hàm kimLoaiTacDungAxitHNO3

(cid:131) Nếu axit là H2SO4 thì gọi hàm kimLoaiTacDungAxitH2SO4

(cid:131) Nếu là axit khác thì gọi hàm kimLoaiTacDungAxitThuong

o Giải thuật hàm KimLoaiH2O :

(cid:131) Nếu KimLoai là KLNhomI hay KLNhomII thì có phản ứng xảy ra

(cid:131) 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) :

Tên Loại Ý nghĩa STT

1 m_nt db 2 3 m_soHieuNtu 4 m_ten 5 m_kyHieu 6 m_khoiLuong 7 m_cauHinhElectron 8 m_doAmDien

m_tapHopSoOxiHoa 9

m_soOxiHoa int 10 Ghi chú private enumNguyenTo Kiểu tập hợp enum private Để truy vấn dữ liệu DataBase private Số hiệu nguyên tử int private Tên nguyên tố string private Kí hiệu nguyên tử string Khối lượng của nguyên tử private float private Cấu hình electron string private Độ âm điện float private Tập hợp số oxi hoá có thể int[] có của nguyên tử Số oxi hoá của đối tựong nguyento hiện tại protect ed

Trang 64

• Danh sách các thuộc tính (properties)

Ý nghĩa

STT Tên 1 Ten 2

SoHieuNguyenTu TenNguyenTu Loại enumNguyenTo m_ten int string m_soHieuNtu m_tenNguyenTu 3

KyHieu string m_kyHieu 4

KhoiLuong float m_khoiLuong 5

CauHinhElectron string m_cauHinhElectron 6

DoAmDien float m_doAmDien 7

TapHopSoOxiHoa int[] m_tapHopSoOxiHoa 8

SoOxiHoa int Ghi chú public public public Read-only public Read – only public Read - only public Read – only public Read only public Readonly public

9

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?

• Danh sách các hàm thành phần (methods)

Tên Tham số Xử lý Kết quả STT

Clone Ghi chú public

1 Tạo mới đối tượng copy từ đối tượng này

LaNguyenTo ten : string public static trả về đối tượng NguyenTo được copy true : đúng false : sai 2

XacDinhNguyenTo ten : string public static 3 Kiểm tra với tên đó có là nguyento hày không Trả về chính xác đối tựơng có ten như vậy null : không là NguyenTo

Trang 65

NguyenTo ten: string

public Hàm tạo

4

NguyenTo ten : string soOxiHoa : int 5 public Hàm tạo

NguyenTo soHieuNguyenTu : int public Hàm tạo 6

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ó… Khởi tạo thuộc tính Tên, sooxihoa, cấu hình e, khối lượng… Khởi tạo đối tượng nguyento khi biết số hiệu nguyên tử của nguyên tố đó

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 enumNguyenTo[] m_kls Ghi chú private static 1

Ý nghĩa Định nghĩa các nguyên tố nào thỏa mãn là kim loại

• Danh sách các hàm thành phần (methods) :

Tên Tham số Xử lý Kết quả STT

LaKimLoai ten :string Kiểm tra có phải 1

DungTruoc Ghi chú public static public NguyenTo nt true : đúng false : sai true : đúng false : sai 2

XacDinhSoOxiHoa 3 tên đó là kim loại? Kiểm tra đối tượng này có đứng trước nt trong dãy điện hoá? Xd số oxi hoá của đối tựơng này public virtual

Trang 66

I.A.1.a.18. Lớp KLNhomI :

• Danh sách các biến thành phần (fields) :

STT Tên

m_kls Loại enumNguyenTo[] 1 Ý nghĩa xd nguyên tố nào thoả mãn là kim loại nhóm I Ghi chú private static

• Danh sách các hàm thành phần (methods) :

STT Tên

Tham số ten : string 1

2 3

LaKLNho mI TacDung TacDung TacDung Ghi chú Kết quả public true : đúng false : sai static tìm m_ptpus ? public tìm m_ptpus ? public tìm m_ptpus ? public 4

TacDung tìm m_ptpus ? public 5

TacDung tìm m_ptpus ? public 6

TacDung tìm m_ptpus ? public 7

… … …

TacDung 8 h2O : H2O axit : Axit pk : PKNhomIV pk : PKNhomV pk : PKNhomVI pk : PKNhomVII … chatTGs : DanhSachChat Xử lý xd tên đó có là KLNhomI? this + H2O ? this + Axit? this + PKNhomIV ? this + PKNhomV? this + PKNhomVI ? this + PKNhomVII ? … 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

m_kls Loại enumNguyenTo[] 1 Ý nghĩa xd nguyên tố nào thoả mãn là kim loại nhóm II Ghi chú private static

Trang 67

• Danh sách các hàm thành phần (methods) :

STT Tên

LaKLNhomII Tham số ten : string Xử lý xd tên đó có là KLNhomII? 1 Ghi chú public static

TacDung h2O : H2O this + H2O ? public 2

TacDung axit : Axit this + Axit? public 3

TacDung public 4

TacDung public 5

TacDung public 6

TacDung public 7

… …

TacDung 8 pk : PKNhomIV pk : PKNhomV pk : PKNhomVI pk : PKNhomVII … chatTGs : DanhSachChat this + PKNhomIV ? this + PKNhomV? this + PKNhomVI ? this + PKNhomVII ? … this + chatConLai? Kết quả True : đúng false : sai tìm m_ptpus ? Tìm m_ptpus ? tìm m_ptpus ? Tìm m_ptpus ? tìm m_ptpus ? tìm m_ptpus ? …. 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

m_kls Loại Ý nghĩa enumNguyenTo[] xd nguyên tố nào thoả mãn 1 là kim loại nhóm III Ghi chú private static

• Danh sách các hàm thành phần (methods) :

STT Tên

LaKLNhomIII Tham số ten : string Xử lý xd tên đó có là KLNhomIII? 1 Ghi chú public static

public TacDung h2O : H2O this + H2O ? 2

public TacDung axit : Axit this + Axit? 3

public TacDung 4 Kết quả True : đúng false : sai tìm m_ptpus ? Tìm m_ptpus ? tìm m_ptpus ? pk : PKNhomIV this + PKNhomIV ?

Trang 68

public TacDung 5

public TacDung 6

public TacDung 7

… …

TacDung 8 pk : PKNhomV pk : PKNhomVI pk : PKNhomVII … chatTGs : DanhSachChat this + PKNhomV? this + PKNhomVI ? this + PKNhomVII ? … this + chatConLai? Tìm m_ptpus ? tìm m_ptpus ? tìm m_ptpus ? …. 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

m_kls Loại enumNguyenTo[] 1 Ghi chú private static Ý nghĩa xd nguyên tố nào thoả mãn là kim loại nhóm phụ

• Danh sách các hàm thành phần (methods) :

STT Tên

LaKLNhomPhu Tham số ten : string 1 Xử lý xd tên đó có là KLNhomPhu? Ghi chú public static

public TacDung h2O : H2O this + H2O ? 2

public TacDung axit : Axit this + Axit? 3

public TacDung 4

public TacDung 5

public TacDung 6

public TacDung 7

… …

TacDung 8 Kết quả True : đúng false : sai tìm m_ptpus ? Tìm m_ptpus ? tìm m_ptpus ? Tìm m_ptpus ? tìm m_ptpus ? tìm m_ptpus ? …. Tìm m_ptpus ? … public vitual pk : PKNhomIV pk : PKNhomV pk : PKNhomVI pk : PKNhomVII … chatTGs : DanhSachChat this + PKNhomIV ? this + PKNhomV? this + PKNhomVI ? this + PKNhomVII ? … this + chatConLai?

Trang 69

I.A.1.a.22. Lớp PhiKim

• Danh sách các biến thành phần (fields) :

STT Tên

m_pks Loại enumNguyenTo[] 1 Ý nghĩa xd nguyên tố nào thoả mãn là phi kim Ghi chú private static

• Danh sách các hàm thành phần (methods) :

STT Tên

LaPhiKim Tham số ten : string Xử lý xd tên đó có là PhiKim? 1 Ghi chú public static

LaChatKhi ten : string 2

xd đó có là chất khí ? this + H2? public static protected PhiKimH2 3

PhiKimO2 this + O2? protected 4 Kết quả True : đúng false : sai true : đúng false : sai tìm m_ptpus ? tìm m_ptpus ? pk : PhiKim h2 : H2 pk : PhiKim o2 : PKNhomVI

I.A.1.a.23. Lớp PKNhomIV :

• Danh sách các biến thành phần (fields) :

STT Tên

m_pks Loại enumNguyenTo[] 1 Ý nghĩa xd nguyên tố nào thoả mãn là PKNhomIV? Ghi chú Private static

• Danh sách các hàm thành phần (methods) :

STT Tên

LaPKNhomIV Tham số ten : string Xử lý xd tên đó có là PKNhomIV? 1 Ghi chú public static

TacDung kl: KimLoai this + KimLoai ? 2

TacDung h2 : H2 this + H2 ? 3

TacDung this + O2? 4 Kết quả True : đúng false : sai tìm m_ptpus ? tìm m_ptpus ? tìm m_ptpus ? public public public o2 : PKNhomVI

Trang 70

5

TacDung TacDung 6 … 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

m_pks Loại enumNguyenTo[] 1 Ý nghĩa xd nguyên tố nào thoả mãn là PKNhomV? Ghi chú Private static

• Danh sách các hàm thành phần (methods) :

STT Tên

LaPKNhomV Tham số ten : string Xử lý xd tên đó có là PKNhomV? 1 Ghi chú public static

TacDung kl: KimLoai this + KimLoai ? 2

TacDung h2 : H2 this + H2 ? 3

TacDung this + O2? 4

5

TacDung TacDung 6 o2 : PKNhomVI … chatTGs : DanhSachChat … this + chatConLai? Kết quả True : đúng false : sai tìm m_ptpus ? tìm m_ptpus ? tìm m_ptpus ? … Tìm m_ptpus ? public public public … 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

m_pks Loại enumNguyenTo[] 1 Ý nghĩa xd nguyên tố nào thoả mãn là PKNhomVI? Ghi chú Private static

Trang 71

• Danh sách các hàm thành phần (methods) :

STT Tên

LaPKNhomVI Tham số ten : string 1 Xử lý xd tên đó có là PKNhomVI? Ghi chú public static

TacDung kl: KimLoai this + KimLoai ? 2

TacDung h2 : H2 this + H2 ? 3

TacDung this + O2? 4

5

TacDung TacDung 6 o2 : PKNhomVI … chatTGs : DanhSachChat … this + chatConLai? Kết quả True : đúng false : sai tìm m_ptpus ? tìm m_ptpus ? tìm m_ptpus ? … Tìm m_ptpus ? public public public … 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

m_pks Loại enumNguyenTo[] 1 Ý nghĩa xd nguyên tố nào thoả mãn là PKNhomVII? Ghi chú Private static

• Danh sách các hàm thành phần (methods) :

STT Tên

LaPKNhomVII Tham số ten : string 1 Xử lý xd tên đó có là PKNhomVII? Ghi chú public static

TacDung kl: KimLoai this + KimLoai ? 2

TacDung h2 : H2 this + H2 ? 3

TacDung this + O2? 4

5

TacDung TacDung 6 Kết quả True : đúng false : sai tìm m_ptpus ? tìm m_ptpus ? tìm m_ptpus ? … Tìm m_ptpus ? public public public … public o2 : PKNhomVI … chatTGs : DanhSachChat … this + chatConLai?

Trang 72

I.A.1.a.27. Lớp IonDuong :

• Danh sách các biến thành phần (fields) :

STT Tên

ionDuongs Loại enumIonDuong[] 1

2 m_ionDuong enumIonDuong m_kimLoai KimLoai Ghi chú private static private private

3

private m_soOxiHoa int 4 Ý nghĩa Xd các ion dương có thể có Ion dương Kim loại tương ứng với ion dương đó = null nếu là ion dương (h hay nh4) Số oxi hoá của ion dương này

• Danh sách các thuộc tính (properties) :

Loại enumIonDuong int SoOxiHoa

STT Tên 1 Ten 2 3 KimLoai KimLoai Ý nghĩa m_ionDuong m_soOxiHoa m_kimLoai Ghi chú public public public

• Danh sách các hàm thành phần (methods) :

STT Tên

LaIonDuongBazo Tham số ten : string 1

LaIonDuongMuoi ten : string 2 public static

ChuaIonDuongMuoi public static ten : string vitri : int (out) 3

Kết quả Ghi chú true : public đúng static false : sai True : đúng false : sai Trả về ion dương mà tên đó chứa

LaIonDuong ten : string Xử lý Xd tên đó có là ion dương của bazơ ? Xd tên đó có là ion dương của muoi? Xd trong ten có Chứa ion dương muối không (nếu có ơ vị trí nào)? Xd tên đó có là ionduong ? 4 public static true : đúng false : sai

Trang 73

I.A.1.a.28. Lớp IonAm :

• Danh sách các biến thành phần (fields) :

STT Tên

ionAms Loại enumIonAm[] 1

2 m_ionAm

m_soOxiHoa enumIonAm int Ghi chú private static private private 3 Ý nghĩa Xd các ion âm có thể có Ion âm Số oxi hoá của ion âm này

• Danh sách các thuộc tính (properties) :

STT Tên 1 Ten

SoOxiHoa Loại enumIonAm int Ý nghĩa m_ionAm m_soOxiHoa 2 Ghi chú public public read – only

• Danh sách các hàm thành phần (methods) :

STT Tên

LaIonAmAxit Tham số ten : string 1

ChuaIonAmMuoi public static ten : string viTri : int (out) 2 Kết quả Ghi chú True : public đúng static false : sai Trả về ion âm mà tên đó chứa

LaIonAm ten : string 4 Xử lý Xd tên đó có là ion âm của axit? Xd trong ten có Chứa ion âm muối không (nếu có ơ vị trí nào)? Xd tên đó có là ionam ? public static true : đúng false : sai

I.A.1.a.29. Lớp HopChatDienTich :

• Danh sách các biến thành phần (fields) :

STT Tên

m_ionDuong Loại IonDuong Ghi chú private 1

m_ionAm IonAm private 2 Ý nghĩa Ion dương của hợp chất điện tích Ion âm của hợp chất điện tích

Trang 74

3 m_soIonDuong 4 m_soIonAm m_tonTai int int bool private private private 5 Số ion dương Số ion âm Xd tính tồn tại của hợp chất này

• Danh sách các thuộc tính (properties) :

STT Tên

IonDuong Loại IonDuong Ý nghĩa m_ionDuong 1

IonAm IonAm m_ionAm 2

SoIonDuong int m_soIonDuong 3

SoIonAm int m_soIonAm 4

TonTai bool m_tonTai 5 Ghi chú public read – only public read – only public read – only public read – only public read – only

• Danh sách các hàm thành phần (methods) :

Tham số Xử lý Tên STT

XacDinhHopChatDienTich ten : string Kết quả Ghi chú public static Null : không 1

XacDinhTinhTonTai xd tên đó có là Muoi, Axit, hay Bazo? xd tính tồn 2

m1 + m2 ? TacDung 3

axit + m? TacDung 4

b + m? TacDung 5

b + axit ? TacDung 6 m1 : Muoi m2 : Muoi axit : Axit m : Muoi b : Bazo m : Muoi b : Bazo axit : Axit tìm m_ptpus? tìm m_ptpus? tìm m_ptpus? tìm m_ptpus? public Public Public Public Public

Trang 75

I.A.1.a.30. Lớp Axit :

• Danh sách các biến thành phần (fields) :

STT Tên

1 m_axit 2 m_tinhAxit Loại enumAxit enumTinhAxit

m_trangThai string Ghi chú private private private 3 Ý nghĩa Xđ các axit có thể có Xđ tính axit Trạng thái của axit (loãng, đặc nóng…)

• Danh sách các thuộc tính (properties) :

STT Tên Ten Loại enumAxit Ý nghĩa m_axit 1

TinhAxit enumTinhAxit m_tinhAxit 2

string m_trangThai Ghi chú public read – only public read – only public

3 TrangThai • Danh sách các hàm thành phần (methods) :

Tên Tham số Xử lý Kết quả STT

LaAxit ten : string 1

XacDinhAxit ten : string 2

TacDung b : Bazo xd tên đó có là axit? xd axit đó là axit nào? this + bazo? Ghi chú public static public static public 3

4 5 TacDung TacDung m : Muoi kl : KimLoai this + m? this + kl?

… … 6 TacDung True : đúng false : sai Đối tượng Axit Tìm m_ptpus ? tìm m_ptpus ? public public tìm m_ptpus … tìm m_ptpus … public virtual … chatTGs : DanhSachChat … xd chất còn lại + this ?

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 enumBazo

1 m_bazo 2 m_tinhTan bool Ý nghĩa Xđ các bazo có thể có Xđ tính tan của bazo Ghi chú private private

Trang 76

• Danh sách các thuộc tính (properties) :

STT Tên 1 Ten

TinhTan Loại enumBazo bool Ý nghĩa m_bazo m_tinhTan 2 Ghi chú public public read – only

• Danh sách các hàm thành phần (methods) :

Tham số Xử lý Kết quả Tên STT

LaBazo ten : string 1

XacDinhBazo ten : string 2 Ghi chú public static public static True:đúng false : sai Null : ko xác định

3 4

TacDung TacDung TacDung axit : Axit m : Muoi b : Bazo xd tên đó có là Bazo? xđ loại Bazo ứng với tên đó? this + axit? this + m? this + b? 5 Tìm m_ptpus? Public Public tìm m_ptpus? Public tìm m_ptpus? virtual

I.A.1.a.32. Lớp BazoKiem :

• Danh sách các hàm thành phần (methods) :

Tham số Xử lý Kết quả Tên STT Ghi chú

TacDung TacDung TacDung TacDung

1 2 3 4 … … 5 TacDung pk:PKNhomVII axit : Axit m : Muoi bazo : Bazo … chatTGs : DanhSachChat this + pk? this + axit? this + m? this + bazo? … this + chatConLai? Tìm m_ptpus? Public Tìm m_ptpus? Public tìm m_ptpus? Public Tìm m_ptpus? Public … Tìm m_ptpus? Public virtual

Trang 77

I.A.1.a.33. Lớp BazoKiemTho :

• Danh sách các hàm thành phần (methods) :

Tham số Xử lý Kết quả Tên STT Ghi chú

TacDung TacDung TacDung TacDung

1 2 3 4 … … 5 TacDung pk:PKNhomVII axit : Axit m : Muoi bazo : Bazo … chatTGs : DanhSachChat this + pk? this + axit? this + m? this + bazo? … this + chatConLai? Tìm m_ptpus? Public Tìm m_ptpus? Public tìm m_ptpus? Public Tìm m_ptpus? Public … 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) :

Tham số Xử lý Kết quả Tên STT Ghi chú

TacDung TacDung TacDung TacDung

1 2 3 4 … … 5 TacDung pk:PKNhomVII axit : Axit m : Muoi bazo : Bazo … chatTGs : DanhSachChat this + pk? this + axit? this + m? this + bazo? … this + chatConLai? Tìm m_ptpus? Public Tìm m_ptpus? Public tìm m_ptpus? Public Tìm m_ptpus? Public … 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) :

Tham số Xử lý Kết quả Tên STT Ghi chú

TacDung TacDung TacDung TacDung

1 2 3 4 … … 5 TacDung pk:PKNhomVII axit : Axit m : Muoi bazo : Bazo … chatTGs : DanhSachChat this + pk? this + axit? this + m? this + bazo? … this + chatConLai? Tìm m_ptpus? Public Tìm m_ptpus? Public tìm m_ptpus? Public Tìm m_ptpus? Public … Tìm m_ptpus? Public virtual

Trang 78

I.A.1.a.36. Lớp HopChatOH :

• Danh sách các biến thành phần (fields) :

STT Tên

m_nts Loại NguyenTo[2] Ghi chú private 1

m_sonts int[2] private 2 Ý nghĩa 2 nguyên tố tạo nên đối tượng lớp hopchatoh Số lượng của 2 nguyên tố

• Danh sách các thuộc tính (properties) :

STT Tên

NguyenTo1 Loại NguyenTo Ý nghĩa Nguyên tố thứ 1 1

NguyenTo2 NguyenTo Nguyên tố thứ 2 2

SoNguyenTo1 int Số nguyến tố 1 3

4 SoNguyenTo2 int Số nguyến tố 2 Ghi chú public read – only public read – only public read – only public read – only

• Danh sách các hàm thành phần (methods) :

Tham số Xử lý Kết quả Tên STT

XacDinhHopChatOH ten : string 1 null : không có Ghi chú Public static Xđ tên đó là oxit hay RH ?

I.A.1.a.37. Lớp Oxit :

• Danh sách các hàm thành phần (methods) :

Tên Tham số Xử lý Kết quả STT

LaOxit ten : string 1

XacDinhOxit ten : string xđ tên đó là oxit Xđ loại Oxit 2 true : đúng false : sai null : không có Ghi chú Public static public static

Trang 79

I.A.1.a.38. Lớp RH

• Danh sách các hàm thành phần (methods) :

STT Tên

LaRH Tham số ten : string 1

XacDinhRH ten : string Xử lý Xđ tên đó là RH Xđ loại RH 2 Kết quả true : đúng false : sai null : không có Ghi chú Public static 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

1 m_list Loại ArrayList Ý nghĩa Tập hợp nguyên tố Ghi chú private

• Danh sách các thuộc tính (properties) :

STT Tên

Count Loại int 1

indexer NguyenTo 2 Ghi chú public read – only public read - only Ý nghĩa Đếm số lượng nguyên tố Trả về đối tượng của lớp NguyenTo ứng với index

• Danh sách các hàm thành phần (methods) :

Tham số Xử lý Kết quả Tên STT

Add nt : NguyenTo Thêm đối tượng của 1 lớp NguyenTo

AddRange arr : ArrayList Thêm tập các đối Ghi chú Public public 2 tựơng

Remove nt : NguyenTo Xoá 1 đối tựơng public 3

Clone public

4

public Clear 5 NguyenTo ra khỏi tập hợp Nhân bản ra một đối tượng DanhSachNguyenTo mới dựa trên đối tương hiện có Xoá toàn bộ đối tượng NguyenTo

Trang 80

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 HashTable Ghi chú private m_NguyenTos 1

m_ds private 2 Ý nghĩa Lưu đối tượng NguyenTo và số lượng của chúng DanhSachNguyenTo Lưu tập các đối tượng hiện có

• Danh sách các thuộc tính (properties) :

STT Tên

1 TapHopNTo Loại HashTable

DanhSachNguyenTo DanhSachNguyenTo m_ds 2

int Ghi chú Ý nghĩa m_NguyenTos public public read - only public this[index : NguyenTo] 3

this[index : string] int public 4

Count int 5 Trả về số lượng NguyenTo Trả về số lượng NguyenTo Đềm số lượng NguyenTo public read - only

• Danh sách các hàm thành phần (methods) :

Tham số Xử lý Tên STT

Add Kết quả 1 nt : NguyenTo chiSo : int Ghi chú Public

2 AddRange

Remove h : HashTable nt : NguyenTo public public 3

Clone public

4

Clear public 5 Thêm đối tượng của lớp NguyenTo với số lượng Thêm tập các đối tựơng Xoá 1 đối tựơng NguyenTo ra khỏi tập hợp Nhân bản ra một đối tượng DanhSachNguyenTo mới dựa trên đối tựong hiện có Xoá toàn bộ đối tượng NguyenTo

Trang 81

I.A.1.a.41. Lớp DanhSachChat :

• Danh sách các biến thành phần (fields) :

STT Tên

1 m_list Loại ArrayList Ý nghĩa Tập hợp chất vô cơ Ghi chú private

• Danh sách các thuộc tính (properties) :

STT Tên

Count Loại int 1

indexer ChatVoCo 2 Ghi chú public read – only public read - only Ý nghĩa Đếm số lượng chất vô cơ Trả về đối tượng của lớp ChatVoCo ứng với index

• Danh sách các hàm thành phần (methods) :

Tham số Xử lý Kết quả Tên STT

Add chat : ChatVoCo 1 Ghi chú Public Thêm đối tượng của lớp ChatVoCo

AddRange arr : ArrayList Thêm tập các đối public 2

Remove public 3 chat : ChatVoCo

Clone public

4

Clear public 5 tượng Xoá 1 đối tựơng ChatVoCo ra khỏi tập hợp Nhân bản ra một đối tượng DanhSachChat mới dựa trên đối tượng hiện có Xoá toàn bộ đối tượng ChatVoCo

Trang 82

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 HashTable Ghi chú private m_chats 1 Ý nghĩa Lưu đối tượng ChatVoCo và số lượng của chúng

m_ds DanhSachChatVoCo Lưu tập các đối tượng private 2 hiện có

• Danh sách các thuộc tính (properties) :

STT Tên

1 TapHopNTo Loại HashTable Ý nghĩa m_chats

DanhSachChatVoCo DanhSachChatVoCo m_ds 2

int Ghi chú public public read - only public this[index : ChatVoCo] 3

this[index : string] int public 4

Count int 5 public read - only Trả về số lượng ChatVoCo Trả về số lượng ChatVoCo Đếm số lượng ChatVoCo

• Danh sách các hàm thành phần (methods) :

Tham số Xử lý Tên STT

Add Kết quả 1 nt : ChatVoCo chiSo : int Ghi chú Public

2 AddRange

Remove h : HashTable nt : ChatVoCo public public 3

Clone public

4

Clear public 5 Thêm đối tượng của lớp ChatVoCo với số lượng Thêm tập các đối tựơng Xoá 1 đối tựơng ChatVoCo ra khỏi tập hợp Nhân bản ra một đối tượng DanhSachChatVoCo mới dựa trên đối tựong hiện có Xoá toàn bộ đối tượng ChatVoCo

Trang 83

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

string Ý nghĩa Chất tham gia Chất tạo thành Xúc tác Ghi chú private private private

1 m_chatThamGias TapHopChat 2 m_chatTaoThanhs TapHopChat 3 m_xucTac • Danh sách các thuộc tính (properties) :

STT Tên

1 ChatThamGia 2 ChatTaoThanh 3 XucTac 4 SoChatTrongPtpu Loại TapHopChat TapHopChat string int Ý nghĩa m_chatThamGias m_chatTaoThanhs m_xucTac Số chất trong ptpu Ghi chú public public public public

• Danh sách các hàm thành phần (methods) :

STT Tên

ToString Tham số 1 Xử lý Thể hiện chuỗi hiển thị ptpu Kết quả Chuổi hiển thị ptpu Ghi chú 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

m_list Loại ArrayList Ghi chú private 1 Ý nghĩa Tập hợp phương trình phản ứng

• Danh sách các thuộc tính (properties) :

STT Tên

Count Loại int 1 Ghi chú public read – only Ý nghĩa Đếm số lượng phương trình phản ứng

indexer PhuongTrinhPhanUng Trả về đối tượng của public read - only 2

lớp PhuongTrinhPhanUng ứng với index

Trang 84

• Danh sách các hàm thành phần (methods) :

Tên Tham số Xử lý Ghi chú ST T

Add Kế t qu ả 1 Thêm đối tượng của lớp PhuongTrinhPhanUng

nt : PhuongTrinhPhanU ng arr : ArrayList Thêm tập các đối tựơng 2

AddRang e Remove 3 Publi c publi c publi c

Clone nt : PhuongTrinhPhanU ng publi c 4

Clear 5 Xoá 1 đối tựơng PhuongTrinhPhanUng ra khỏi tập hợp Nhân bản ra một đối tượng PhuongTrinhPhanUngColleti on mới dựa trên đối tựong hiện có Xoá toàn bộ đối tượng PhuongTrinhPhanUng publi c

I.A.1.a.45. Lớp ChatPhanUng :

• Danh sách các biến thành phần (fields) :

STT Tên

1 m_chat

m_chiSo Loại ChatVoCo int Ghi chú private private 2

3 m_khoiLuong float float 4 m_soMol DonVi 5 m_donVi Ý nghĩa Đối tượng chất vô cơ Số lựơng của đối tượng trong ptpu Khối lượng Số mol (g, kg, tấn…) private private private

• Danh sách các thuộc tính (properties) :

STT Tên

DaXacDinh Loại bool 1 Ghi chú public read – only

ChiSo int Ý nghĩa Kiểm tra ChatVoCo đã tính khối lượng hoặc số mol chưa? m_chiSo 2 public read – only

Trang 85

KhoiLuong float m_khoiLuong 3

DonVi DonVi m_donVi 4

SoMol float m_soMol 5

Chat ChatVoCo m_chat 6

TenChat string Tên của chất vô cơ 7 public read – only public read – only public read – only public read – only public read – only

• Danh sách các hàm thành phần (methods) :

Tên Tham số Xử lý Kết quả STT

Tinh Ghi chú Public chat2 : ChatPhanUng 1 tính m_khoiLuong và m_soMol

Tính toán các giá trị của đối tượng khi biết đối tượng khác

I.A.1.a.46. Lớp TapHopChatTrongPtpu :

• Danh sách các biến thành phần (fields) :

STT Tên

m_list Loại ArrayList Ghi chú private 1

m_daTinh bool private 2 Ý nghĩa Chứa tập hợp các đối tượng của lớp ChatPhanUng Kiểm tra đã tính giá trị ?

• Danh sách các thuộc tính (properties) :

STT Tên

Count Loại int 1

DaTinh bool Ý nghĩa Đềm số lượng các đối tượng ChatPhanUng Đã tính ? 2 Ghi chú public read – only public read - only

Trang 86

• Danh sách các hàm thành phần (methods) :

Tham số Xử lý Tên STT

Add 1 chat : ChatPhanUng Kết quả Ghi chú Public

Remove public 2

chat : ChatPhanUng Clear public 3

Tinh public 4 Thêm mới 1 đối tượng ChatPhanUng Xoá đối tượng ChatPhanUng Xoá toàn bộ đối tượng ChatPhanUng Tính toán các đối tượng ChatPhanUng

I.A.1.a.47. Lớp PhuongTrinhPhanUngHoanChinh

• Danh sách các biến thành phần (fields) :

STT Tên

1 m_ptpu Loại PhuongTrinhPhanUng Ý nghĩa

m_tapHopChat TapHopChatTrongPtpu Tập hợp chất tương Ghi chú private private 2

ứng của PhuongTrinhPhanUng

• Danh sách các thuộc tính (properties) :

STT Tên

Loại DaXacDinhPtpu bool 1 Ý nghĩa Kiểm tra đã xđ ptpu?

PhuongTrinh 2 3 TapHopChat PhuongTrinhPhanUng m_ptpu TapHopChatTrongPtpu m_tapHopChat Ghi chú Public read – only public public

• Danh sách các hàm thành phần (methods) :

Tham số Xử lý Kết quả Tên STT

Tinh 1 Ghi chú Public Tính giá trị của các chất trong ptpu

Trang 87

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

m_dataSet DataSet Ghi chú private 1 Ý nghĩa Chứa tòan bộ dữ liệu được lưu trong file .mdb

• Danh sách các hàm thành phần (methods) :

Tham số Xử lý Tên STT

SoOxiHoa ten : string Kết quả int[] Ghi chú Public 1

KhoiLuongNTu ten : string float public

2

CauHinhElectron ten : string string public

3

SoHieuNguyenTu ten : string int public

4

TimTenBietSoHieuNguyenTu soHieuNguyen string public Tu : int

5

Xđ tập hợp số oxi hoá của 1 nguyên tố Xđ khối lượng nguyên tử của nguyên tố Xđ cấu hình electron của nguyên tố Xđ số hiệu nguyên tử của nguyên tố Tìm tên của nguyên tố khi biết số hiệu nguyên tử của nó

Trang 88

I.A.1.a.49. Lớp Math :

• Danh sách các hàm thành phần (methods) :

Tham số Xử lý Kết quả Tên STT

USCLN 1

BSCNN 2

ChiHet a : int b : int a : int b : int soBiChia : int soChia : int USCLN của (a,b) BSCNN của (a ,b ) true : đúng false : sai Ghi chú Public static public static public static 3

tìm USCLN của 2 số a, b tìm BSCNN của 2 số a,b kiểm tra soBiChia có chia hết cho soChia ?

3.3.2.3.2 Lớp Lop • các thuộc tính

STT Tên

Ý nghĩa Tên lớp Ghi chú private Loại A_String 1

private m_strTenLop m_arrChuongs Chuong 2 Các chương thuộc lớp

• các phương thức

STT Tên

Xử lý Thêm chương Xóa chương Tìm chương Kết quả Ghi chú public public public 1 ThemChuong 2 XoaChuong TimChuong 3

Tham số maso : A_String Kiểm tra hợp lệ Sửa lớp public public 4 KiemTraHopLe 5 SuaLop

3.3.2.3.3 Lớp Chuong

• các thuộc tính

STT Tên

Loại A_String Ý nghĩa Tên chương Ghi chú private 1 m_strTenChuong

2 m_arrBaiLyThuyets BaiLyThuyet Các bài thuộc chương private

Trang 89

• các phương thức

STT Tên

1 ThemBai 2 XoaBai 3 TimChuong 4 KiemTraHopLe SuaChuong 5 LopThuocVe Tham số maso : A_String Ghi chú public public public public public public 6 Xử lý Thêm bài Xóa bài Tìm bài Kiểm tra hợp lệ Sửa chương Lớp mà chương thuộc về Kết quả đối tượng kiểu Lop

3.3.2.3.4 lớp BaiLyThuyet

• các thuộc tính

STT Tên

Loại A_String Ý nghĩa Tên lớp Ghi chú private 1

m_strTenBaiLT m_arrBaiTapSGKs BaiTapSGK private 2 Các bài tập thuộc lớp

• các phương thức

STT Tên

ThemBaiTap Tham số Kết quả Ghi chú public 1

2 XoaBaiTap

KiemTraHopLe public public 3

4

SuaBai ChuongThuocVe public public 5 Xử lý Thêm bài tập Xóa bài tap Kiểm tra hợp lệ Sửa bài LT Chương mà bài LT thuộc về đối tượng kiểu Chuong

3.3.2.3.5 Lớp XuLy_OnTapLyThuyet

• các thuộc tính

STT Tên

Loại A_TreeView Ghi chú private 1 m_tvChuongTrinh

2 m_rtbBaiLyThuyet A_RichTextBox Ý nghĩa Chương trình học Bài lý private

Trang 90

3 m_rtbbaiLam m_arrLops A_RichTextBox Lop private private 4

5 m_dlLyThuyet DuLieu_LyThuyet thuyết Bài làm Danh sách lớp private

• các phương thức

STT Tên

CapNhatControl Tham số Kết quả Ghi chú public 1

HienThiBaiTapSGK public 2

HienThiLyThuyet public 3

4 LuuBaiLam 5 LuuDuLieu 6 TaiDuLieu 7 XoaDuLieu

ThemDuLieu public public public public public 8

9 LuuBaiLam

TimKiemTheoMa public public 10 Xử lý Cập nhật control Hiển thị bài tập SGK Hiển thị bài LT Lưu bài làm Lưu dữ liệu Tải dữ liệu Xóa dữ liệu Thêm dữ liệu Lưu bài làm Tìm kiếm theo mã ma : A_String

3.3.2.3.6 Lớp XuLy_GiaiDeThiTuLuan

• các thuộc tính

STT Tên

m_tvDeThi Loại A_TreeView Ý nghĩa Ghi chú Đề thi 1

m_cboDoKho A_ComboBox Độ khó 2

m_rtbDeBai A_RichTextBox 3

m_dtpThoiGianLamBai A_DateTimePicker 4

Đề bài tập Thời gian Làm bài Bài làm m_ucBaiLam A_UserControl 5

m_rtbHuongDan A_RichTextBox 6

private,tham chiếu private,tham chiếu private,tham chiếu private,tham chiếu private,tham chiếu private,tham chiếu private,tham Hướng dẫn Bài giải 7 m_rtbBaiGiai A_RichTextBox

Trang 91

chiếu

m_cboDangBai A_Combobox Dạng bài private,tham 8

chiếu private 9 m_dlTuLuan DuLieu_TuLuan

• các phương thức

STT Tên

1 TaiDuLieu

CapNhatControl Tham số Kết quả Ghi chú public public 2

TimKiemTheoMa XmlNode public 3

TinhThoiGian strMaSo : A_String public 4 Xử lý Tải dữ liệu Cập nhật control Tìm kiếm khi biết mã Tính thời gian

3.3.2.3.7 Lớp XuLy_GiaiDeThiTracNghiem

• các thuộc tính

STT Tên

m_tvDeThi Loại A_TreeView Ý nghĩa Ghi chú Đề thi 1

m_cboDoKho A_ComboBox Độ khó 2

m_rtbDeBai A_RichTextBox 3

m_dtpThoiGianLamBai A_DateTimePicker 4 private,tham chiếu private,tham chiếu private,tham chiếu private,tham chiếu

m_rtbHuongDan A_RichTextBox 6

m_rtbBaiGiai A_RichTextBox Đề bài tập Thời gian làm bài Hướng dẫn Bài giải 7 private,tham chiếu private,tham chiếu

m_cboDangBai A_Combobox Dạng bài private,tham 8 chiếu

9 m_arrCauChons 10 m_dlTracNghiem A_Array DuLieu_TracNghiem Câu chọn private private

• các phương thức

STT Tên

1 TaiDuLieu Tham số Xử lý Tải dữ liệu Kết quả Ghi chú public

Trang 92

CapNhatControl public 2

TimKiemTheoMa XmlNode public 3

KiemTraNhanh strMaSo : A_String public 4

TimKetQua public 5

TinhThoiGian public 6 Cập nhật control Tìm kiếm khi biết mã Kiểm tra câu chọn có đúng không Tìm kết quả đúng Tính thời gian

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 A_TreeView Ghi chú private 1

m_tvChuongTrinh m_rtbBaiLyThuyet A_RichTextBox private 2

3 m_rtbbaiLam m_arrLops A_RichTextBox Lop private private 4

5 m_dlLyThuyet DuLieu_LyThuyet Ý nghĩa Chương trình học Bài lý thuyết Bài làm Danh sách lớp private

• các phương thức

STT Tên

CapNhatControl Tham số Kết quả Ghi chú public 1

HienThiBaiTapSGK public 2

HienThiLyThuyet public 3

4 LuuBaiLam 5 LuuDuLieu 6 TaiDuLieu 7 XoaDuLieu

ThemDuLieu public public public public public 8

9 LuuBaiLam 10 TimKiemTheoMa ma : Xử lý Cập nhật control Hiển thị bài tập SGK Hiển thị bài LT Lưu bài làm Lưu dữ liệu Tải dữ liệu Xóa dữ liệu Thêm dữ liệu Lưu bài làm Tìm kiếm public public

Trang 93

A_String theo mã

3.3.2.3.9 soạn đề thi tự luận

• các thuộc tính

STT Tên

m_lstBaiTap Loại A_ListBox Ý nghĩa Bài tập 1

m_ucDeBai A_UserControl Đề bài 2

m_cboDangBai A_Combobox Dạng bài 3

m_cboDoKho A_Combobox Độ khó 4

m_dtpThoiGianLamBai A_DateTimePicker 5

Thời gian làm bài m_cboDeThi A_Combobox 6

m_lstDeThi_BaiTap A_ListBox 7

Ghi chú private,tham chiếu private,tham chiếu private,tham chiếu private,tham chiếu private,tham chiếu private,tham chiếu private,tham chiếu private 8 m_dlTuLuan DuLieu_TuLuan

• các phương thức

Tên Tham số Xử lý STT

TaiDanhSachDeThi Kết quả Ghi chú public 1

ChonDeThi public 2

ThemDe public 3

XoaDe public 4

ThemCauHoiVaoDeThi public 5

KiemTraTrung public

6

Tải danh sách đề thi Chọn đề thi Thêm đề thi Xóa đề thi Thêm câu hỏi vào đề thi Kiểm tra trùng câu hỏi trong đề thi

Trang 94

BoBaiTapKhoiDeThi public 7

TaiDanhSachCauHoi public 8

ChonCauHoi public 9

10 ThemBai 11 Luu 12 XoaBai

XoaBaiTrongDe public public public public 13

SuaTenGoiNho public 14 Bỏ bài tập khỏi đề thi Tải danh sách câu hỏi Chọn câu hỏi Thêm bài Lưu Xóa bài Xóa bài trong đề Sửa tên gợi nhớ

3.3.2.3.10 soạn đề thi trắc nghiệm

• các thuộc tính

STT Tên

m_lstBaiTap Loại A_ListBox Ý nghĩa Bài tập 1

m_ucDeBai A_UserControl Đề bài 2

m_cboDangBai A_Combobox Dạng bài 3

m_cboDoKho A_Combobox Độ khó 4

m_dtpThoiGianLamBai A_DateTimePicker 5

m_cboDeThi A_Combobox Thời gian làm bài 6

m_lstDeThi_BaiTap A_ListBox 7

m_cboSoLuaChon A_Combobox 8

m_cboLuaChonDung A_Combobox 9

10 m_dlTracNghiem DuLieu_TracNghiem Ghi chú private,tham chiếu private,tham chiếu private,tham chiếu private,tham chiếu private,tham chiếu private,tham chiếu private,tham chiếu private,tham chiếu private,tham chiếu private

• các phương thức

Trang 95

Tên Tham số Xử lý STT

TaiDanhSachDeThi Kết quả Ghi chú public 1

public ChonDeThi 2

public ThemDe 3

public XoaDe 4

ThemCauHoiVaoDeThi public 5

KiemTraTrung public

6

BoBaiTapKhoiDeThi public 7

TaiDanhSachCauHoi public 8

public ChonCauHoi 9

10 ThemBai 11 Luu 12 XoaBai

public public public public XoaBaiTrongDe 13

public SuaTenGoiNho 14 Tải danh sách đề thi Chọn đề thi Thêm đề thi Xóa đề thi Thêm câu hỏi vào đề thi Kiểm tra trùng câu hỏi trong đề thi Bỏ bài tập khỏi đề thi Tải danh sách câu hỏi Chọn câu hỏi Thêm bài Lưu Xóa bài Xóa bài trong đề Sửa tên gợi nhớ

3.3.2.3.11 Lớp DuLieu_LyThuyet

• các thuộc tính

STT Tên

m_docLyThuyet Loại XmlDocument Ghi chú private 1

m_strPath A_String private 2 Ý nghĩa Dữ liệu lý thuyết Đường dẫn file

Trang 96

dữ liệu

• các phương thức

Tên Xử lý Tha m số Ghi chú ST T

Kế t qu ả 1

2 TruyVanDuLieuLyThu yet CapNhatDuLieuLyThuy et m_docLyThyet.Load(m_strPa th) m_docLyThyet.Save(m_strPat h) publi c publi c

3.3.2.3.12 Lớp DuLieu_TuLuan

• các thuộc tính

STT Tên

m_docDeThi Loại XmlDocument Ghi chú private 1

m_docCauHoi XmlDocument private 2

m_strPath A_String private 3 Ý nghĩa Dữ liệu đề thi Dữ liệu câu hỏi Đường dẫn file dữ liệu

• các phương thức

Tên Tham số Xử lý STT

1 LuuDeThi 2 TaiDeThi 3 LuuCauHoi 4 TaiCauHoi m_docDeThi.Save(m_strPath) m_docDeThi.Load(m_strPath) m_docDeThi.Save(m_strPath) m_docDeThi.Load(m_strPath) Kết quả Ghi chú

3.3.2.3.13 Lớp DuLieuTracNghiem

• các thuộc tính

STT Tên

m_docDeThi Loại XmlDocument Ghi chú private 1

m_docCauHoi XmlDocument private 2 Ý nghĩa Dữ liệu đề thi Dữ liệu câu hỏi

Trang 97

m_strPath A_String private 3

Đường dẫn file dữ liệu

• các phương thức

Tên Tham số Xử lý STT

1 LuuDeThi 2 TaiDeThi 3 LuuCauHoi 4 TaiCauHoi m_docDeThi.Save(m_strPath) m_docDeThi.Load(m_strPath) m_docDeThi.Save(m_strPath) m_docDeThi.Load(m_strPath) Kết quả Ghi chú

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 98

-submenu dữ liệu

- submenu công cụ

- submenu trợ giúp

- Danh sách các menu

STT Tên

1 Hệ thống Ghi chú

2 Hiển thị

3 Ôn luyện Chức năng Các thao tác liên quan đến hệ thống Bật / tắt vài control của chương trình Các chức năng liên

Trang 99

4 Dữ liệu

5 Công cụ

6 Thoát 7 Hiển thị thanh công cụ quan đến ôn luyện bài học Các chức năng liên quan đến soạn thảo và nhập – xuất dữ liệu 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 Choát chương trình Hiển thị thanh công cụ

8 Hiển thị thanh trạng thái Hiện thị thanh trạng

9 Hiển thị thanh tác vụ 10 Ôn luyện lý thuyết

11 Giải đề thi tự luận

12 Giải đề thi trắc nghiệm

13 Sổ tay hóa học

14 Soạn đề thi tự luận thái Hiện thị thanh tác vụ Ôn tập lại các kiến thức cơ bản lớp 10 ,11,12 Giải các đề thi trong thư viện các đề thi tự luận Giải các đề thi trắc nghiệm Tra cứu nhanh các kiến thức lớp 10,11,12 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 Nhận dữ liệu có sẳn Xuất dữ liệu

16 Nhận dữ liệu 17 Xuất dữ liệu 18 Bảng hệ thống tuần hoàn Bảng hệ thống tuần

19 Bảng tính tan 20 Trao đổi

21 Máy tính

hoàn Bảng tính tan Sử dụng Outlook Express để trao đổi trên môi trường mạng Máy tính dùng để tính toán

Trang 100

22 Nháp

23 Hướng dẫn sử dụng

24 Thông tin phần mềm 25 Thông tin tác giả 26 Góp ý

27 Giải bài tập theo dạng Dùng để nháp khi cần thiết Tài liệu hướng dẫn sử dụng Thộng tin về mềm Thông tin về tác giả Góp ý vế quá trình sử dụng phần mềm 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

Màn hình giới thiệu

Màn hình ôn tập lý thuyết Màn hình chính 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 bảng hệ thống tuần hoàn

Màn hình giải đề thi tự luận Màn hình bảng bảng tính tan

Màn hình giải đề thi trắc nghiệm

3.4.2.2 Phân hệ giáo viên

Trang 101

Màn hình giới thiệu Màn hình chính Màn hình sổ tay hóa học

Màn hình soạn bài lý thuyết Màn hình bảng hệ thống tuần hoàn

Màn hình soạn đề thi tự luận Màn hình bảng bảng tính tan

Màn hình soạn đề thi trắc nghiệm

3.4.3 Danh sách các thành phần trên sơ đồ

Ghi chú MH_MHChinh TH_OnTapLyThuyet TH_GiaiDeThiTuLuan TH_GiaiDeThiTracNghiem TH_SoanDeThiTuLuan TH_SoanDeThiTracNghiem

STT 1 2 3 4 5 6 7 8 9 10 11 Nghiệp vụ Màn hình chính Mà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 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 MH_BangHeThongTuanHoan Màn hình bảng tính tan Màn hình Sổ tay hóa học Màn hình giải bài theo dạng Màn hình giới thiệu MH_BangTinhTan MH_SoTayHoaHoc TH_GiaiBaiTheoDang MH_GioiThieu

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 .

Trang 102

Hình 8 : Màn hình chính

Trang 103

• Danh sách các đối tượng thể hiện

STT Thể hiện

1 m_sbThanhTrangTha Loại A_StatusBar Ghi chú Diễn giải Thanh trạng thái private i

2 m_tbThanhCongCu 3 m_mbThanhMenu 4 m_ptbLogo Thanh công cụ A_ToolBar A_MenuBar Thanh menu A_PictureBox Logo chương private private private

5 m_ucGioiThieu trình Giới thiệu private

6 m_tmrDinhThoi 7 m_bbThanhTacVu A_UserContro l A_Timer A_ButtonBar Định thời Thanh tác vụ private private

• Danh sách các đối tượng xử lý

STT Thể hiện

1 m_xlMHChinh Ghi chú private Loại XuLy_MHChi nh

Diễn giải Hiển thị các màn hình chức năng khác của chương trình

• Danh sách các biến cố xử lý Thể hiện STT Xử lý

Loại biến cố m_sbThanhTrangThai A_PanelClick Cho phép thay đổi ngày Ghi chú public 1.

m_tbThanhCongCu A_ItemClick 2. public

3. m_mbThanhMenu A_ItemClick public

4. m_bbThanhTacVu A_ItemClick public

giờ hệ thống Hiển thị các màn hình chức năng của chương trình Hiển thị các màn hình chức năng của chương trình Hiển thị các màn hình chức năng của chương trình

Trang 104

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 105

STT Thể hiện

1 m_cmdLuu 2 m_cmdDong 3 m_tvChuongTrinh Loại A_Button A_Button A_TreeView Ghi chú private private private

4 m_rtbBaiHoc private

5 m_lstBaiTap A_RichTextB ox A_ListBox private

6 m_rtbDeBai Diễn giải Lưu bài làm Đóng Chương trình ọc theo lớp Bài học lý thuyết Danh sách bài tập ứng với bài lý thuyết Đề bài tập SGK private

7 m_ucBaiLam Bài làm private A_RichTextB ox A_UserContro l

Trang 106

• Danh sách các đối tượng xử lý

STT Thể hiện Loại

1 m_xlOnTapLyThuyet XuLy_OnTap Ghi chú private LyThuyet

Diễn giải 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

• Danh sách các biến cố xử lý

Thể hiện Loại biến cố Xử lý

STT 5. m_tvChuongTrinh A_ItemClick Ghi chú public

Hiển thị bài lý thuyết tương ứng Lưu bài làm

6. 7. m_cmdLuu m_lstBaiTapSGK A_Click A_SelectedIndexChanged Hiển thị bài tập public public

8. SGK Đóng màn hình public m_cmdDong A_Click

Trang 107

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 108

• Danh sách các đối tượng thể hiện

STT Thể hiện

Diễn giải Đóng Đề thi Lưu bài làm

1 m_cmdDong 2 m_tvDeThi 3 m_cmdLuuBaiLam 4 m_cboDoKho 5 m_rtbDeBai Đề bài tập SGK Ghi chú private private private private private

6 m_dtpThoiGianLam private

Bai

7 m_ucBaiLam Thời gian làm bài Bài làm private Loại A_Button A_TreeView A_Button A_ComboBox Độ khó A_RichTextB ox A_DateTimePi cker A_UserContro l

8 m_cmdTinhThoiGian A_Button 9 m_rtbHuongDan Tính thời gian Hướng dẫn private private

10 m_rtbBaiGiai Bài giải private

11 m_cboDangBai 12 m_tmrBoDinhThoi A_RichTextB ox A_RichTextB ox A_Combobox Dạng bài A_Timer Bộ định thời private private

• Danh sách các đối tượng xử lý

STT Thể hiện

1 m_xlGiaiDeThiTuLu Ghi chú private an Loại XuLy_GiaiDe ThiTuLuan

Diễn giải 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

• Danh sách các biến cố

STT Thể hiện

Loại biến cố 1 m_tvDeThi A_ItemClick 2 m_cmdDong A_Click 3 m_cmdLuu A_Click 4 m_cmdTinhThoiGian A_Click xử lý Hiển thị đề bài Đóng màn hình Lưu bài làm Tính thời gian Ghi chú public public public public

Trang 109

Trang 110

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 111

• Danh sách các đối tượng thể hiện

STT Thể hiện

1 m_cmdKiemTraNhan Loại A_Button Ghi chú Diễn giải Kiểm tra kết quả private h

2 m_cmdDong 3 m_tvDeThi 4 m_cmdDapAn 5 m_cboDoKho 6 m_rtbDeBai Đề bài tập SGK private private private private private

7 m_dtpThoiGianLam private Bai Đóng A_Button Đề thi A_TreeView A_Button Đáp án A_ComboBox Độ khó A_RichTextB ox A_DateTimePi cker

8 m_cmdTinhThoiGian A_Button 9 m_rtbHuongDan Thời gian làm bài Tính thời gian Hướng dẫn private private

10 m_rtbBaiGiai Bài giải private

11 m_cboDangBai 12 m_optCauA Câu A private private

13 m_optCauB Câu A private

14 m_optCauC Câu B private

15 m_optCauD Câu C private

16 m_optCauE Câu D private

A_RichTextB ox A_RichTextB ox A_Combobox Dạng bài A_RadioButto n A_RadioButto n A_RadioButto n A_RadioButto n A_RadioButto n A_Timer 17 m_tmrBoDinhThoi Bộ định thời private

• Danh sách các đối tượng xử lý

STT Thể hiện

1 m_xlGiaiDeThiTrac Ghi chú private Nghiem

Loại XuLy_GiaiDe ThiTracNghie m

Diễn giải 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

Trang 112

Trang 113

• Danh sách các biến cố

STT Thể hiện

Loại biến cố 1 m_tvDeThi A_ItemClick 2 m_cmdDong A_Click 3 m_cmdTinhThoiGian A_Click 4 m_cmdKiemTraNhan A_Click Ghi chú public public public public h

5 m_cmdKetQua A_Click xử lý Hiển thị đề bài Đóng màn hình Tính thời gian Kiểm tra xem liệu lựa chọn đã đúng kết quả chưa Hiển thị kết quả public

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

Trang 114

• Danh sách các đối tượng thể hiện

STT Thể hiện

1 m_lblHinhThuc 2 m_grpBaiTap 3 m_lblDeBai 4 m_rtbDeBai Diễn giải Hình thức Bài tập Đề bài Đề bài Ghi chú private private private private

5 m_rtbBaiLam Bài làm private

6 m_rtbBaiGiai Bài giải private

7 m_cmdBaiLam 8 m_cmdBaiGiai Loại A_Label A_Group A_Label A_RichTextB ox A_RichTextB ox A_RichTextB ox A_Button A_Button private private

• Danh sách các biến cố

STT Thể hiện

1 m_cboHinhThuc Ghi chú public

2 m_cmdBaiLam Loại biến cố A_SelectedInd exChanged A_Click public

3 m_cmdGiaiBaiTap A_Click public xử lý Thay đổi hình thức giải toán Phát sinh bài làm Tiến hành giải bài tập

3.4.4.6 Màn hình viết phương trình phản ứng

Trang 115

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

STT Thể hiện

1 m_lblHinhThuc 2 m_grpBaiTap 3 m_lblDeBai 4 m_rtbDeBai Diễn giải Hình thức Bài tập Đề bài Đề bài Ghi chú private private private private

5 m_rtbBaiLam Bài làm private

6 m_rtbBaiGiai Bài giải private

7 m_cmdBaiLam 8 m_cmdBaiGiai Loại A_Label A_Group A_Label A_RichTextB ox A_RichTextB ox A_RichTextB ox A_Button A_Button private private

• Danh sách các biến cố

Trang 116

STT Thể hiện

1 m_cboHinhThuc Ghi chú public

2 m_cmdBaiLam Loại biến cố A_SelectedInd exChanged A_Click public

3 m_cmdGiaiBaiTap A_Click public xử lý Thay đổi hình thức giải toán Phát sinh bài làm Tiến hành giải bài tập

Trang 117

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 118

STT Thể hiện Diễn giải

1 m_ptbBangTuanHoa Loại A_PictureBox Bảng tuần hoàn Ghi chú private n

2 m_lblKyHieuNguyen A_Label private To

3 m_lblTenNguyenTo A_Label 4 m_lblDienTichNguye A_Label private private nTo

5 m_lblNguyenTuKhoi A_Label private

6 m_lblDoAmDien 7 m_lblCauHinhElectro A_Label A_Label private private

n

A_Label A_Label A_Label A_Label A_Label A_Label A_Label A_Label Ký hiệu nguyên tố Tên nguyên tố Diện tích nguyên tố Khối lượng nguyên tố Độ âm điện Cấu hình electron Số oxi hóa private private private private private private private private

8 m_lblSoOxiHoa 9 m_lblLabel1 10 m_lblLabel2 11 m_lblLabel3 12 m_lblLabel4 13 m_lblLabel5 14 m_lblLabel6 15 m_lblLabel7 • Danh sách các đối tượng xử lý

STT Thể hiện

1 m_xlBangHeThongT Ghi chú private uanHoan Loại XuLy_BangH eThongTuanH oan

Diễn giải 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 .

• Danh sách các biến cố

ST Thể hiện Loại biến cố Xử lý Ghi chú

Trang 119

T

A_Click public m_ptbBangTuanHoa n

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 .

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 120

STT Thể hiện Loại Diễn giải

1 m_ptbBangTinhTan A_PictureBox Bảng tính tan Ghi chú private

• Danh sách các biến cố

Thể hiện Loại biến cố Xử lý Ghi chú ST T

MH_BangTinhTan A_FormLoad public

Thông tin chi tiết về tính tan các chất

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

STT Thể hiện

1 m_ptbGioiThieu Loại Diễn giải A_PictureBox Giới thiệu Ghi chú private

• Danh sách các biến cố

Trang 121

Thể hiện Loại biến cố Xử lý Ghi chú ST T

MH_GioiThieu A_FormLoad public

Hiển thị thông tin phần mềm

Trang 122

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

STT Thể hiện Diễn giải

1 m_grpChucNang 2 m_chkOnTapLyThuy Ghi chú Loại private A_GroupBox Chức năng A_CheckBox Ôn tập lý thuyết private et

3 m_chkDeThiTuLuan A_CheckBox Đề thi tự luận 4 m_chkDeThiTracNgh A_CheckBox Đề thi trắc private private iem

A_Label A_Label

5 m_lblThuMucXuat 6 m_lblLabel 7 m_cmdChonThuMuc m_Command nghiệm Thư mục xuất Chọn thư mục private private private Button

8 m_cmdXuatDuLieu m_Command Xuất dữ liệu private

9 m_cmdDong Đóng private Button m_Command Button

• Danh sách các biến cố

Trang 123

STT Thể hiện Loại biến cố

1 m_cmdChonThuMuc A_Click Ghi chú public

2 m_cmdXuatDuLieu A_Click 3 m_cmdDong A_Click xử lý Chọn thư mục xuất Xuất dữ liệu Đóng màn hình public public

Trang 124

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 125

STT Thể hiện

1 m_cmdLuu 2 m_cmdDong 3 m_tvChuongTrinh Loại A_Button A_Button A_TreeView Ghi chú private private private

4 m_rtbBaiHoc private

5 m_lstBaiTap A_RichTextB ox A_ListBox private

6 m_rtbDeBai Diễn giải Lưu bài làm Đóng Chương trình ọc theo lớp Bài học lý thuyết Danh sách bài tập ứng với bài lý thuyết Đề bài tập SGK private

7 m_ucBaiLam Bài làm private

8 m_ctmThaoTac Thao tác private A_RichTextB ox A_UserContro l A_ContextMe nu

Trang 126

• Danh sách các đối tượng xử lý

STT Thể hiện

2 m_xlSoanBaiLyThuy Ghi chú private et Loại XuLy_SoanBa iLyThuyet

Diễn giải 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

• Danh sách các biến cố

Loại biến cố Xử lý STT

Thể hiện m_tvChuongTrinh A_ItemClick Ghi chú public

Hiển thị bài lý thuyết tương ứng Lưu bài làm

m_cmdLuu m_lstBaiTapSGK A_Click A_SelectedIndexChanged Hiển thị bài tập public public

m_cmdDong m_ctmThaoTac A_Click A_ItemClick public public

m_tvChuongTrinh A_DoubleClick public

SGK Đóng màn hình Thực hiện các thao tác : thêm , xóa , sửa lớp / chương / bài . Sửa thuộc tính của lớp / chương / bài .

Trang 127

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 128

STT Thể hiện

Diễn giải Bài tập Đề bài 1 m_lstBaiTap 2 m_ucDeBai Ghi chú private private

Thuộc tính

3 m_grpThuocTinh 4 m_cboDangBai 5 m_cboDoKho 6 m_dtpThoiGianLam private private private private Bai

Loại A_ListBox A_UserContro l A_Group A_Combobox Dạng bài A_Combobox Độ khó A_DateTimePi cker A_Button A_Button A_Button A_Combobox

Thời gian làm bài Thêm bài 7 m_cmdThemBai 8 m_cmdXoaBai 9 m_cmdCapNhat 10 m_cboDeThi 11 m_lstDeThi_BaiTap A_ListBox 12 m_cmdThemDe 13 m_cmdXoaDe A_Button A_Button private private private private private private private

• Danh sách các đối tượng xử lý

STT Thể hiện

1 m_xlSoanDeThiTuLu Ghi chú private an Loại XuLy_SoanDe ThiTuLuan

Diễn giải Thực hiện việc xử lý các chức năng liên quan đến soạn đề thi tự luận

• Danh sách các biến cố

STT Thể hiện

1 m_cmdThemDe 2 m_cmdXoaDe 3 m_cmdDong 4 m_cmdLuu 5 m_cmdThemBai 6 m_cmdXoaBai 7 m_cmdThem 8 m_cmdXoa Loại biến cố A_Click A_Click A_Click A_Click A_Click A_Click A_Click A_Click Ghi chú Xử lý public Thêm đề public Xóa đề public Đóng màn hình public Lưu bài tập public Thêm bài tập Xóa bài tập public Thêm bài vào đề public public Xóa bài tập khỏi đề

Trang 129

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 130

STT Thể hiện

Diễn giải Bài tập Đề bài 1 m_lstBaiTap 1 m_ucDeBai Ghi chú private private

Thuộc tính

2 m_grpThuocTinh 3 m_cboDangBai 4 m_cboDoKho 5 m_dtpThoiGianLam private private private private Bai

Loại A_ListBox A_UserContro l A_Group A_Combobox Dạng bài A_Combobox Độ khó A_DateTimePi cker A_Button A_Button A_Button A_Combobox

Thời gian làm bài Thêm bài 6 m_cmdThemBai 7 m_cmdXoaBai 8 m_cmdCapNhat 9 m_cboDeThi 10 m_lstDeThi_BaiTap A_ListBox 11 m_cmdThemDe A_Button 12 m_cmdXoaDe A_Button 13 m_cboSoLuaChon A_Combobox 14 m_cboLuaChonDung A_Combobox private private private private private private private private private

• Danh sách các đối tượng xử lý

STT Thể hiện

1 m_xlSoanDeThiTrac Ghi chú private Nghiem

Loại XuLy_SoanDe ThiTracNghie m

Diễn giải 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

• Danh sách các biến cố

STT Thể hiện

1 m_cmdThemDe 2 m_cmdXoaDe 3 m_cmdDong 4 m_cmdLuu 5 m_cmdThemBai 6 m_cmdXoaBai 7 m_cmdThem 8 m_cmdXoa Loại biến cố A_Click A_Click A_Click A_Click A_Click A_Click A_Click A_Click

Ghi chú Xử lý public Thêm đề public Xóa đề public Đóng màn hình public Lưu bài tập public Thêm bài tập Xóa bài tập public Thêm bài vào đề public public Xóa bài tập khỏi đề

Trang 131

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 :

(cid:57) TH_MyRichEditControl

(cid:57) TimKiemVaThayThe

(cid:57) NhapGiaTriChatPhanUng

• Các lớp đối tượng xử lý :

(cid:57) XL_MyRichEditControl

(cid:57) XL_TimKiemVaThayThe

(cid:57) XLRichTextBox

• Các lớp đối tượng hỗ trợ hiện thị :

(cid:57) Hỗ trợ hiển thị :

(cid:153) CoSo

(cid:153) PhuongTrinhPhanUng

(cid:153) TapHopPhuongTrinhPhanUng

(cid:57) My list box :

(cid:153) XulyListBox

(cid:153) 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 132

STT Tên Ý nghĩa

richTextBox Loại A_RichTextBox Control cho người Ghi chú private 1

2 3 4

A_Button A_Button A_Button A_Button new open save saveAs private private private private 5

A_Button cut private

6

copy A_Button private 7

paste A_Button private

8

9 10 11 12 13 14 15 16

undo redon selectAll fontName fontSize fontColor bold italic underline A_Button A_Button A_Button A_Button A_Button A_Button A_Button A_Button A_Button private private private private private private private private private 17

18 19

A_Button leftAlignment rightAlignment A_Button justifyAlignment A_Button private private private 20

21 22 23

A_Button indent A_Button superScript A_Button subScript openFileDialog A_Dialog private private private private 24

saveFileDialog A_Dialog private 25 dùng soạn thảo Tạo mới 1 file Mở 1 file Lưu file Lưu file với đường dẫn khác 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 Chuyển chuỗi kí tự vừa soạn vào Clipboard Chuyển chuỗi kí tự từ Clipboard (vừa được cut hay copy) lên richtextbox tại vị trí con trỏ Loại font chữ Kích cỡ font chữ Màu của font chữ Tạo chữ đậm Tạo chữ nghiêng Tạo gạch chân dưới chuỗi kí tự Canh chỉnh trái Canh chỉnh phải Canh chỉnh cả trái và phải Tạo chữ trên Tạo chữ dưới Hiển thị hộp thoại open của Windows Hiển thị hộp thoại save của Windows

Trang 133

fontDlg A_Dialog private 26 Hiển thị hộp thoại Font của Windows

• Danh sách các đối tượng xử lý :

STT Tên Loại Ý nghĩa

Ghi chú private 1

XulyRichTextBox myRichTextBox private 2 xlMyRichEditControl Xuly_MyRichEditControl Xử lý các button và dialog Xử lý richtextbox

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 :

Tên Loại Ý nghĩa STT

1 2 3 4

A_Label lb1 A_Label lb2 A_ComboBox cbTuCanTim cbThayTheBang A_ComboBox chkPhanBietHoaThuong A_CheckBox 5

Ghi chú private Từ cần tìm private Thay thế bằng Nhập từ cần tìm private Nhập từ cần thay thế private private Phân biệt chữ hoa, chữ thường Tìm tất cả Tìm từ trên xuống Tìm từ dưới lên Tìm Thay thế 6 7 8 9 10

private private private private private private chkTimCaTu optTuTrenXuong optDuoiLen cmdTim cmdThayThe richTextBox 11

A_CheckBox A_RadioButton A_RadioButton A_Button A_Button A_RichTextBox Tìm kiếm và thay thế trên richtextbox này Đóng A_Button private cmdDong 12

• Danh sách các đối tượng xử lý :

STT Tên Loại

xlTimKiemVaThayThe XuLy_TimKiemVaThayThe Đối Ý nghĩa Ghi chú private 1 tượng tiến hành

Trang 134

xử lý tìm kiếm và thay thế

Trang 135

• Danh sách các biến cố xử lý :

Loại biến cố Xử lý Thể hiện ST T

A_Click cmdDong Ghi chú private 1

2 3

A_Click A_Click A_VisibleChanged Nếu richtextbox Đóng TH_timkiemvathay the Tiến hành tìm kiếm private private Tiến hành thay thế private cmdTim cmdThayThe TH_TimKiemVaThay The 4

đang select chuỗi kí tự thì chuỗi kí tự đó sẽ được chuyển vào cbtucantim

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 136

• Danh sách các đối tượng thể hiện :

Loại Ý nghĩa Ghi chú

Thuộc tính Giá trị Đơn vị

STT Tên 1 2 3 4 5

lbThuocTinh lbGiaTri lbDonVi cbThuocTinh cbDonVi txtGiaTri A_Label A_Label A_Label A_ComboBox Số mol/khối lượng A_ComboBox G/kg/tấn A_TextBox private private private private private private 6

Giá trị của chất phản ứng Đồng ý Huỷ bỏ private private btDongY btHuyBo A_Button A_Button 7 8

• Danh sách các đối tượng xử lý :

Loại Ý nghĩa Ghi chú STT Tên

m_chat ChatPhanUng private 1 Thể hiện đối tượng chatphanung sẽ được nhập giá trị

1

• Danh sách các biến cố : STT Thể hiện btHuyBo txtGiaTri Loại biến cố A_Click A_KeyDown Ghi chú private private 2

3

btDongY cbThuocTinh private private A_Click A_SelectedInde xChange 4

frmNhapGiaTri A_Closing private 5 Xử lý Đóng thể hiện Nếu nhấn enter thì xử lý nhập giá trị Xử lý nhập giá trị 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 Nếu chưa nhập giá trị thì định m_chat = null

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 137

Loại Ý nghĩa Ghi chú

STT Tên 1 2

cbTuCanTim A_ComboBox A_ComboBox cbTuThayThe chkPhanBietHoaThuong A_CheckBox private private private 3

Từ cần tìm Từ thay thế Phân biệt hoa thường Tìm tất cả

4 5 6

chkTimCaTu optTuTrenXuong optTuDuoiLen richTextBox A_CheckBox A_RadioButton Tìm từ trên xuống A_RadioButton Tìm từ dưới lên A_RichTextBox Tiến hành tìm kiếm private private private private 7 trên richtextbox

• Danh sách các hàm xử lý :

Tên hàm Xử lý STT

TimKiem Tham số Kết quả Ghi chú public

1

ThayThe public

2

ThemChuoiVaoComboBox pubic static

3

TimChuoiTrongComboBox 4 Tiến hành tìm kiếm trên richtextbox dựa trên từ khoá ở cbtucantim Tiến hành tìm kiếm trên richtextbox dựa trên từ khoá ở cbtucantim và thay thế bằng cbthaythe 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 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 138

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

1

m_richTextBox RichTextBox m_listBox ListBox Ghi chú private private 2 Ý nghĩa Soạn thảo bài làm Hiển thị tập hợp phương trình phản ứng

• Danh sách các đối tượng xử lý :

STT Tên Lớp

m_myRichTextBox CoSo Ghi chú private 1

m_myListBox XuLyListBox private 2

m_ptpus private 3 TapHopPhuong TrinhPhanUng Ý nghĩa Tham chiếu đến đối tượng m_richtextbox Tham chiếu đến đối tượng m_listbox Tập hợp tất cả các đối tượng phuongtrinhphanung có trong m_richtextbox

Ghi chú

• Danh sách các biến cố : Thể hiện m_richTextBox Loại biến cố A_KeyDown STT 1 private

2 m_richTextBox A_KeyUp private

3 m_richTextBox A_Protected private

Xử lý Nhấn Ctrl + Shift + P => Tạo đối tượng phuongtrinhphanung Hiển thị đối tượng phuongtrinhphanung vừa tạo 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á Hiển thị 4 m_richTextBox A_GotFocus private

Trang 139

phuongtrinhphanung ngừơi dùng chọn trong listbox

5 m_richTextBox private

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

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

Loại ý nghĩa

STT Tên 1 m_richTextBox RichTextBox Tham chiếu đến đối Ghi chú protected static

tựơng RichTextBox của lớp đối tượng có chứa biến thuộc lớp CoSo này

• Danh sách hàm xử lý :

STT Tên 1 hienThi Tham số str : string Kết quả Ghi chú protected

Xử lý Hiển thị chuỗi str ra m_richTextBox đồng thời đặt thuộc tính bảo vệ

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 140

• Danh sách đối tượng xử lý :

STT Tên

1 m_ptpu 2 m_viTriDau 3 m_viTriCuoi Lớp PhuongTrinhPhanUngHoanChinh int int Ý nghĩa Vị trí đầu Vị trí cuối Ghi chú private private private

• Danh sách các thuộc tính :

Lớp Ý nghĩa Tên STT

1 2 3

Ghi chú public public public public ViTriDau ViTriCuoi ViTriPtpu ViTriHienThiGiaTri int int int int 4 Vị trí đầu Vị trí cuối Vị trí hiển thị Ptpu Vị trí hiển thị giá trị của chất phản ứng

DaTinh 5 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 Xử lý Tham số

1 HienThiTagPhuongTrinhPhanUng Kết quả Ghi chú public

2 3 HienThiPhuongTrinh HienThiGiaTriChatPhanUng public public

4 HienThiPhuongTrinhPhanUng public Hiển thị 2 tag đầu của Ptpu Hiển thị ptpu Hiển thị giá trị của các chất phản ứng Hiển thị toàn bộ ptpu

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ý :

Lớp Ý nghĩa Tên STT

m_list Ghi chú private 1 ArrayList Tập hợp các đối tượng PhuongTrinhPhanUng

Trang 141

Danh sách các hàm xử lý : •

STT Tên Tham số Xử lý

1 Add Kết quả Ghi chú public ptpu: PhuongTrinhPhanUng

2 Remove public

ptpu : PhuongTrinhPhanUng

3 4 5 Clear Count XacDinhViTri str : string int public public public

6 XacDinhPtpu public str : string viTriCursor : int null : không có

Thêm mới một đối tượng PhuongTrinhPhanUng Xoá đối tượng PhuongTrinhPhanUng Xoá toàn bộ tập hợp Đếm số lượng phần tử Xác định lại vị trí của các đối tượng PhuongTrinhPhanUng trong tập hợp Xác định tại vị trí cursor ứng với đối tượng PhuongTrinhPhanUng nào trong tập hợp

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ý :

Lớp/Loại Ý nghĩa Tên STT

m_listBox A_ListBox Ghi chú private 1

object listBox thể hiện tập các phương trình phản ứng Giá trị mà ngừơi dùng chọn lựa private

2 m_giaTri • Danh sách các biến cố :

STT Thể hiện Biến cố 1 m_listBox A_KeyDown

2 3 m_listBox A_DoubleClick m_listBox A_LostFocus Ghi chú Xử lý public Di chuyển trong listbox và lựa virtual chọn đối tượng Chọn đối tựợng khi nhấn đôi public Lấy lại focus khi bị lost focus public

Trang 142

• Danh sách các thuộc tính :

Loại Ý nghĩa

STT Tên 1 2 object Ghi chú public Đối tượng đựơc chọn trong listbox publc

ViTriListBox A_Point Vị trí list box sẽ hiển thị GiaTri 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 .

Module Chung

ModuleGia oVien ModuleHocSi nh

4.1.1 ModuleChung

Tên project : Module Chung

Trang 143

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 144

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 145

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.

Trang 146