Mục Lục
Mục Lục 3
I ) Hiện trạng và yêu cầu 5
I.A Hiện trạng 5
I.B Các sản phẩm phần mềm hỗ trợ trên thị trường hiện nay 6
I.C Đề nghị yêu cầu chức năng 9
I.C.1 Module dành cho học sinh : 9
I.C.1.a Chức năng tự ôn luyện cho học sinh : 9
I.C.1.b Chức năng nhập xuất dữ liệu 11
I.C.1.c Các công cụ hỗ trợ khác : 12
I.C.2 Module dành cho giáo viên : 12
I.C.2.a Soạn thi trắc nghiệm : 12
I.C.2.b Chức năng soạn đề thi : 13
I.C.2.c Chức năng nhập xuất dữ liệu 13
I.C.2.d Chức năng hỗ trợ khác : 13
II ) Mô hình hóa 14
II.A Sơ đồ sử dụng 14
II.B Sơ đồ luồng dữ liệu 15
II.B.1 Nghiệp vụ “Ôn tập theo lớp” 15
II.B.2 Nghiệp vụ “Luyện giải đề thi” 16
II.B.3 Nghiệp vụ “Trắc nghiệm khách quan” 16
II.C Lớp đối tượng 17
II.C.1 Quan hệ thừa kế : 19
II.C.1.a Nguyên tố : 19
II.C.1.b Oxit : 20
II.C.1.c RH 20
II.C.1.d Bazo : 21
II.C.1.e Ion Nguyên tố : 21
II.C.2 Quan hệ bao gồm : 22
II.C.2.a Oxit : 22
II.C.2.b RH : 22
II.C.2.c Bazo : 23
II.C.2.d Axit : 23
II.C.2.e Muối : 23
III ) Thiết kế 32
III.A Kiến trúc logic đa tầng 32
III.B Kiến trúc triển khai 33
III.C Thiết kế dữ liệu 34
III.C.1 Sơ đồ logic dữ liệu 34
III.C.2 Danh sách các thành phần của sơ đồ 34
III.C.3 Danh sách các thuộc tính của từng thành phần ở dạng quan hệ 35
III.C.4 Danh sách các thuộc tính của từng thành phần 35
III.C.4.a Tên : LOP 35
III.C.4.b Tên : CHUONG 36
III.C.4.c Tên : LOP_CHUONG 36
III.C.4.d Tên : BAILYTHUYET 36
III.C.4.e Tên : LOP_CHUONG_BAILYTHUYET 36
III.C.4.f Tên : BAITAPSGK 36
III.C.4.g Tên : TUKHOABAILYTHUYET 37
III.C.4.h Tên : LOAIDETHI 37
III.C.4.i Tên : DETHI 37
III.D Thiết kế xử lý 37
III.E Thiết kế giao diện 34
III.E.1 Thiết kế thực đơn 34
III.E.2 Sơ đồ các màn hình 37
III.E.3 Danh sách các thành phần trên sơ đồ 38
IV ) Thực hiện và thử nghiệm 38
IV.A Thực hiện 38
IV.B Thử nghiệm 38
V ) Tổng kết 38
V.A Các kết quả đạt được 38
V.B Đánh giá ưu khuyết điểm 38
V.C Hướng mở rộng tương lai 38
I ) Hiện trạng và yêu cầu
I.A Hiện trạng
Hiện nay , Công nghệ Thông tin đã có những đóng góp to lớn 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 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.
78 trang |
Chia sẻ: lvcdongnoi | Lượt xem: 2866 | Lượt tải: 1
Bạn đang xem trước 20 trang tài liệu Phần Mềm Hổ Trợ Ôn Thi TNPT Môn Hoá Học, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN
KHOA CÔNG NGHỆ THÔNG TIN
BỘ MÔN CÔNG NGHỆ PHẦN MỀM
(((
Báo cáo lần 3
Đề tài luận văn:
Giáo viên hướng dẫn
Thầy Nguyễn Tiến Huy
Sinh viên thực hiện
Vũ Văn Thông 0112403
Nguyễn Thị Thơm 0112200
Tháng 7 / 2005
Mục Lục
Mục Lục 3
I ) Hiện trạng và yêu cầu 5
I.A Hiện trạng 5
I.B Các sản phẩm phần mềm hỗ trợ trên thị trường hiện nay 6
I.C Đề nghị yêu cầu chức năng 9
I.C.1 Module dành cho học sinh : 9
I.C.1.a Chức năng tự ôn luyện cho học sinh : 9
I.C.1.b Chức năng nhập xuất dữ liệu 11
I.C.1.c Các công cụ hỗ trợ khác : 12
I.C.2 Module dành cho giáo viên : 12
I.C.2.a Soạn thi trắc nghiệm : 12
I.C.2.b Chức năng soạn đề thi : 13
I.C.2.c Chức năng nhập xuất dữ liệu 13
I.C.2.d Chức năng hỗ trợ khác : 13
II ) Mô hình hóa 14
II.A Sơ đồ sử dụng 14
II.B Sơ đồ luồng dữ liệu 15
II.B.1 Nghiệp vụ “Ôn tập theo lớp” 15
II.B.2 Nghiệp vụ “Luyện giải đề thi” 16
II.B.3 Nghiệp vụ “Trắc nghiệm khách quan” 16
II.C Lớp đối tượng 17
II.C.1 Quan hệ thừa kế : 19
II.C.1.a Nguyên tố : 19
II.C.1.b Oxit : 20
II.C.1.c RH 20
II.C.1.d Bazo : 21
II.C.1.e Ion Nguyên tố : 21
II.C.2 Quan hệ bao gồm : 22
II.C.2.a Oxit : 22
II.C.2.b RH : 22
II.C.2.c Bazo : 23
II.C.2.d Axit : 23
II.C.2.e Muối : 23
III ) Thiết kế 32
III.A Kiến trúc logic đa tầng 32
III.B Kiến trúc triển khai 33
III.C Thiết kế dữ liệu 34
III.C.1 Sơ đồ logic dữ liệu 34
III.C.2 Danh sách các thành phần của sơ đồ 34
III.C.3 Danh sách các thuộc tính của từng thành phần ở dạng quan hệ 35
III.C.4 Danh sách các thuộc tính của từng thành phần 35
III.C.4.a Tên : LOP 35
III.C.4.b Tên : CHUONG 36
III.C.4.c Tên : LOP_CHUONG 36
III.C.4.d Tên : BAILYTHUYET 36
III.C.4.e Tên : LOP_CHUONG_BAILYTHUYET 36
III.C.4.f Tên : BAITAPSGK 36
III.C.4.g Tên : TUKHOABAILYTHUYET 37
III.C.4.h Tên : LOAIDETHI 37
III.C.4.i Tên : DETHI 37
III.D Thiết kế xử lý 37
III.E Thiết kế giao diện 34
III.E.1 Thiết kế thực đơn 34
III.E.2 Sơ đồ các màn hình 37
III.E.3 Danh sách các thành phần trên sơ đồ 38
IV ) Thực hiện và thử nghiệm 38
IV.A Thực hiện 38
IV.B Thử nghiệm 38
V ) Tổng kết 38
V.A Các kết quả đạt được 38
V.B Đánh giá ưu khuyết điểm 38
V.C Hướng mở rộng tương lai 38
Hiện trạng và yêu cầu
Hiện trạng
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 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.
Các sản phẩm phần mềm hỗ trợ trên thị trường hiện nay
Để giúp đỡ phần nào công việc học tập và giảng dạy của giáo viên và học sinh, trên thị trường đã xuất hiện một số các phần mềm hỗ trợ rất hữu ích. Tuy nhiên, chúng chỉ dừng lại ở việc hỗ trợ giảng dạy cho học sinh và đưa ra một số các bài tập dưới dạng thi trắc nghiệm giúp học sinh nắm được lý thuyết mà chưa có các chức năng tra cứu kiến thức, hỗ trợ giải bài tập (ví dụ đưa ra các hướng dẫn giải ) hay cho học sinh làm trực tiếp trên máy vi tính nên chưa có chức năng chấm bài cho học sinh . Ngoài ra chúng còn thiếu hoặc thậm chí không có các hình ảnh , cá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 nên học sinh có thể làm quen , nắm bắt được cách thức thi cử , các dạng bài tập thường ra và phân bổ thời gian làm bài sao cho tối ưu nhất để có thể làm kịp giờ .
Đơn cử , phần mềm Hổ trợ ôn thi môn Hoá học của Công ty Tư vấn và Tin học 99 ADCOM . Các tính năng chính của phần mềm này như sau :
Cho phép ôn luyện theo lớp ( lớp 10, lớp 11 , lớp 12 ) : học sinh ôn lại kiến thức lý thuyết của chương trình cấp III .
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 .
Tấc cả các bài làm đều là bài trắc nghiệm , có tính giờ và nhắc nhở trong quá trình làm bài .
Có thống kê kết quả làm bài dưới dạng biểu đồ và báo biểu
Cho phép luyện giải đề thi các năm trước và đề thi mẩu
Có hổ trợ lời giải trong quá trình làm bài
Cho phép thêm đề thi , bài tập
Đề nghị yêu cầu chức năng
Trước các hiện trạng của quá trình học tập, rèn luyện của học sinh , soạn giáo án và sửa bài của giáo viên, nhóm đề nghị yêu cầu chức năng cho phần mềm sẽ xây dựng như sau : Hệ thống gồm có 2 module
Module dành cho học sinh :
Các chức năng của chương trình hỗ trợ cho module này bao gồm :
Chức năng tự ôn luyện cho học sinh :
Ôn luyện theo lớp 10, 11,12
- Hổ trợ học sinh ôn tập theo dạng bài , bao gồm :
Bổ túc và cân bằng hoàn thành phương trình phản ứng
Định lượng dựa vào phương trình phản ứng
Ôn luyện 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.
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.
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ệ thống hổ trợ ôn luyện các dạng bài sau :
Bổ túc và cân bằng hoàn thành phương trình phản ứng
Định lượng dựa vào phương trình phản ứng
Ôn luyện theo các câu hỏi trắc nghiệm :
Ngoài 2 hỗ trợ tự ôn luyện theo lớp (phần cơ bản) và ôn luyệ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 .
Giải đề thi :
Sau qúa trình ôn luyện học sinh có thể làm quen với việc giải các đề thi của các năm trước. Chức năng này cho phép học sinh kiểm 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.
Chức năng nhập 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ô .
Các công cụ hỗ trợ khác :
Trong quá trình làm bài , học sinh có thể sử dụng các công cụ hỗ trợ từ hệ thống đó là : bảng hệ thống tuần hoàn, bảng tính tan, bảng kết tủa, bảng các chất bay hơi , máy tính , nháp…
Module dành cho giáo viên :
Đối tượng giáo viên thì không giống với đối tượng học sinh, vì công việc của họ là soạn các bài tập theo dạng, soạn thi trắc nghiệm và soạn các đề thi mẫu.
Do đó, hệ thống hỗ trợ giáo viên cần có các chức năng sau :
Chức năng soạn bài : giáo viên có khả năng soạn bài theo dạng, soạn thi trắc nghiệm và đề thi.
Hỗ trợ chức năng khác như : Bảng tuần hoàn, bảng tính tan, bả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.
Soạn thi trắc nghiệm :
Chức năng soạn đề thi :
Giáo viên tập hợp lại tất cả các bài đã soạn để tạo ra đề thi 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…
Chức năng nhập xuất dữ liệu
Giáo viên có thể giao bài tập , đề thi , trắc nghiệm , trao đổi với học sinh thông qua chức năng này .
Chức năng hỗ trợ khác :
Trong qúa trình soạn bài, giáo viên có thể nhờ sự hỗ trợ của cá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…
Mô hình hóa
Sơ đồ sử dụng
Danh sách các người dùng của sơ đồ sử dụng
STT
Người dùng
Diễn giải
Ghi chú
Hoc sinh
Học sinh
Giao vien
Giáo viên
Danh sách các nghiệp vụ của sơ đồ sử dụng
STT
Nghiệp vụ
Ghi chú
Ôn tập theo lớp
Luyện giải đề thi
Trắc nghiệm khách quan
Nhập xuất dữ liệu
Soạn đề thi
Soạn bài tập
Soạn bài trắc nghiệm
Sơ đồ luồng dữ liệu
Nghiệp vụ “Ôn tập theo lớp”
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
Xử lý
Đọc D3
Xuất D2
Nghiệp vụ “Luyện giải đề thi”
Diễn giải
D1 : Mã số đề thi
D2 : Kết quả làm bài
D3 : Đề thi
D4 : Bài làm
Xử lý
Nhập D1
Đọc D3
Lưu D4
Xuất D2
Nghiệp vụ “Trắc nghiệm khách quan”
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
Xử lý
Nhập D1
Đọc D3
Lưu D4
Xuất D2
Lớp đối tượng
Các chức năng mà hệ thống hỗ trợ
Viết phương trình phản ứng hoá học và cân bằng phương trình.
Khi biết các thông số định lượng của một chất trong phương trình phản ứng (ví dụ : số mol n, khối lượng phân tử m) -> có thể suy ra được thông số định lượng của các chất còn lại dựa vào phương trình phản ứng.
Hệ thống mới chỉ hỗ trợ :
Nếu chất là nguyên tố hoá học, thì hệ thống sẽ xác định được chất là kim loại hay phi kim :
Đối với kim loại thì gồm 4 nhóm :
Nhóm kim loại nhóm 1 (nhóm kim loại kiềm)
Nhóm kim loại nhóm 2 (nhóm kim loại kiềm thổ)
Nhóm kim loại nhóm 3 ( nhóm kim loại lưỡng tính)
Nhóm kim loại nhóm phụ (các kim loại thuộc phân nhóm phụ)
Đối với phi kim thì gồm 4 nhóm :
Nhóm phi kim nhóm 4 (phi kim phân nhóm chính nhóm 4)
Nhóm phi kim nhóm 5 (phi kim phân nhóm chính nhóm 5)
Nhóm phi kim nhóm 6 (phi kim phân nhóm chính nhóm 6)
Nhóm phi kim nhóm 7 (phi kim phân nhóm chính nhóm 7 hay halogen)
Nếu chất là Oxit, thì hệ thống sẽ xác định chất là Oxit kim loại hay Oxit phi kim :
Đối với Oxit kim loại gồm 4 nhóm :
Oxit kim loại nhóm 1
Oxit kim loại nhóm 2
Oxit kim loại nhóm 3
Oxit kim loại nhóm phụ
Đối với Oxit phi kim gồm 4 nhóm :
Oxit phi kim nhóm 4
Oxit phi kim nhóm 5
Oxit phi kim nhóm 6
Oxit phi kim nhóm 7
Nếu chất là RH (hợp chất của nguyên tố phi kim với H) thì hệ thống sẽ xác định RH đó sẽ thuộc 1 trong các nhóm sau :
RH nhóm 4
RH nhóm 5
RH nhóm 6
RH nhóm 7
Nếu chất là Bazo thì hệ thống sẽ xác định chất đó thuộc 1 trong các lọai bazơ sau :
Bazo kim lọai kiềm
Bazo kim lọai kiềm thổ
Bazo lưỡng tính
Bazo kim lọai nhóm phụ
Chất chỉ còn có thể là axit hay muối
Sau khi xác định được lọai chất thì tùy vào yêu cầu của người dùng thì hệ thống sẽ hỗ trợ các chức năng tiếp theo.
Phân tích các lớp đối tượng :
Do sự khác nhau giữa tính chất hóa học của các nguyên tố ở các phân nhóm chính khác nhau trong bảng hệ thống tuần hòan mà ta phải phân lọai chất như trên.
Do đó các bố cục của các lớp đối tượng được xây dựng trong hệ thống sẽ có dạng như sau :
Quan hệ thừa kế :
Nguyên tố :
Oxit :
RH
Bazo :
Ion Nguyên tố :
Hợp chất là sự kết hợp của nhiều đơn chất. Ví dụ : Oxit là sự kết hợp giữa 1 nguyên tố không phải Oxi và nguyên tố Oxi … Tuy nhiên, trong hợp chất khi nguyên tố này kết hợp với nguyên tố kia sẽ xuất hiện một khái niệm mới mà khi nguyên tố đứng một mình khái niệm này mặc định là bằng 0, đó chính là số oxi hóa. Do đó trong hệ thống các lớp đối tượng sẽ xuất hiện thêm một nhóm các đối tượng khác được thừa kế từ lớp đối tượng Nguyên tố đó chính là ion Nguyên tố với sơ đồ như sau :
Quan hệ bao gồm :
Oxit :
Oxit là sự kết hợp của nguyên tố kim loại hay phi kim (không phải O) với nguyên tố O. Do đó ta có quan hệ sau :
RH :
RH là sự kết hợp của nguyên tố phi kim với nguyên tố H. Do đó ta có quan hệ sau
Bazo :
Bazo là sự kết hợp của Ion Am (Ion Kim lọai, ion NH4+) với Ion Am (OH)- :
Axit :
Axit là sự kết hợp của Ion Dương (H+) với các Ion Am gốc Axit :
Muối :
Muối là sự kết hợp của Ion Am (ngọai trừ H+) và các Ion Am :
Thiết kế các lớp đối tượng : (Đối với chức năng nhận diện chất do người dùng nhập vào)
Lớp ChatVoCo : lớp cơ sở của mọi lớp
ChatVoCo
+
+
Lớp Nguyên tố : kế thừa từ lớp ChatVoCo
NguyenTo : ChatVoCo
+ SoHieuNguyenTu : A_int
+ TenNguyenTo : A_String
+ KyHieuNguyenTo : A_String
+KhoiLuong : A_float
+CauHinhElectron : A_String
+DoAmDien : A_float
+TapHopSoOxiHoa : A_int[]
+db : DataBase (Lớp DataBase có nhiệm vụ lưu trữ các thông số của 1 nguyên tố)
+ LaNguyenTo(A_String tenChat) : bool (hàm static)
+ XacDinhNguyenTo(A_String tenChat) : NguyenTo //(hàm static)
//(Hàm này trả về chính xác nguyên tố đã cho là kim lọai hay phi kim nhóm mấy.)
Lớp KimLoai : thừa kế từ lớp NguyenTo
KimLoai : NguyenTo
+ LaKimLoai (A_string tenChat) : bool //hàm static
// hàm này kiểm tra xem tenChat có phải là kim lọai không
Lớp KLNhomI : thừa kế từ lớp KimLoai
KLNhomI : KimLoai
+ LaKLNhomI (A_string tenChat) : bool //hàm static
// hàm này kiểm tra xem tenChat có phải là kim lọai nhóm 1 không
Lớp KLNhomII : thừa kế từ lớp KimLoai
KLNhomII: KimLoai
+ LaKLNhomII (A_string tenChat) : bool //hàm static
// hàm này kiểm tra xem tenChat có phải là kim lọai nhóm 2 không
Lớp KLNhomIII : thừa kế từ lớp KimLoai
KLNhomIII: KimLoai
+ LaKLNhomIII (A_string tenChat) : bool //hàm static
// hàm này kiểm tra xem tenChat có phải là kim lọai nhóm 3 không
Lớp KLNhomPhu : thừa kế từ lớp KimLoai
KLNhomPhu: KimLoai
+ LaKLNhomPhu (A_string tenChat) : bool //hàm static
// hàm này kiểm tra xem tenChat có phải là kim lọai nhóm phụ không
Lớp PhiKim : thừa kế từ lớp NguyenTo
PhiKim : NguyenTo
+ LaPhiKim (A_string tenChat) : bool //hàm static
// hàm này kiểm tra xem tenChat có phải là phi kim không
Lớp PKNhomIV : thừa kế từ lớp PhiKim
PKNhomIV: PhiKim
+ LaPKNhomIV (A_string tenChat) : bool //hàm static
// hàm này kiểm tra xem tenChat có phải là phi kim nhóm 4 không
Lớp PKNhomV : thừa kế từ lớp PhiKim
PKNhomV: PhiKim
+ LaPKNhomV (A_string tenChat) : bool //hàm static
// hàm này kiểm tra xem tenChat có phải là phi kim nhóm 5 không
Lớp PKNhomVI : thừa kế từ lớp PhiKim
PKNhomVI: PhiKim
+ LaPKNhomVI (A_string tenChat) : bool //hàm static
// hàm này kiểm tra xem tenChat có phải là phi kim nhóm 6 không
Lớp PKNhomVII : thừa kế từ lớp PhiKim
PKNhomVII: PhiKim
+ LaPKNhomVII (A_string tenChat) : bool //hàm static
// hàm này kiểm tra xem tenChat có phải là phi kim nhóm 7 không
Lớp IonNguyenTo : kế thừa từ lớp NguyenTo
IonNguyenTo : NguyenTo
+SoOxiHoa : A_int
+ LaIonNguyenTo(A_String tenChat) : bool (hàm static)
Lớp IonKimLoai : kế thừa từ lớp IonNguyenTo
IonKimLoai : IonNguyenTo
+ LaIonKimLoai (A_String tenChat) : bool (hàm static)
Lớp IonKLNhomI : kế thừa từ lớp IonKimLoai
IonKLNhomI : IonKimLoai
+ LaIonKLNhomI (A_String tenChat) : bool (hàm static)
Lớp IonKLNhomII : kế thừa từ lớp IonKimLoai
IonKLNhomII : IonKimLoai
+ LaIonKLNhomII (A_String tenChat) : bool (hàm static)
Lớp IonKLNhomIII : kế thừa từ lớp IonKimLoai
IonKLNhomIII : IonKimLoai
+ LaIonKLNhomIII (A_String tenChat) : bool (hàm static)
Lớp IonKLNhomPhu : kế thừa từ lớp IonKimLoai
IonKLNhomPhu : IonKimLoai
+ LaIonKLNhomPhu (A_String tenChat) : bool (hàm static)
Lớp IonPhiKim : thừa kế từ lớp IonNguyenTo
IonPhiKim : IonNguyenTo
+ LaIonPhiKim (A_string tenChat) : bool //hàm static
Lớp IonPKNhomIV : thừa kế từ lớp IonPhiKim
IonPKNhomIV: IonPhiKim
+ LaIonPKNhomIV (A_string tenChat) : bool //hàm static
Lớp IonPKNhomV : thừa kế từ lớp PhiKim
IonPKNhomV: IonPhiKim
+ LaPKNhomV (A_string tenChat) : bool //hàm static
Lớp IonPKNhomVI : thừa kế từ lớp IonPhiKim
IonPKNhomVI: IonPhiKim
+ LaIonPKNhomVI (A_string tenChat) : bool //hàm static
Lớp IonPKNhomVII : thừa kế từ lớp IonPhiKim
IonPKNhomVII: IonPhiKim
+ LaIonPKNhomVII (A_string tenChat) : bool //hàm static
Lớp Oxit : kế thừa từ lớp ChatVoCo :
Oxit : ChatVoCo
+NguyenTos : NguyenTo[2]
+SoNguyenTus : A_int[2] //lưu lại số nguyên tố có trong Oxit
+LaOxit(A_String tenChat) : bool // hàm static
+XacDinhOxit(A_String tenChat) : Oxit // hàm static]
// Hàm này trả về chính xác Oxit này thuộc lọai Oxit nào
Lớp OxitBazo : kế thừa từ lớp Oxit
OxitBazo : Oxit
Lớp OxitBazoNhomI : kế thừa từ lớp OxitBazo
OxitBazoNhomI : OxitBazo
Lớp OxitBazoNhomII : kế thừa từ lớp OxitBazo
OxitBazoNhomII : OxitBazo
Lớp OxitBazoNhomIII : kế thừa từ lớp OxitBazo
OxitBazoNhomIII : OxitBazo
Lớp OxitBazoNhomPhu : kế thừa từ lớp OxitBazo
OxitBazoNhomPhu : OxitBazo
Lớp OxitAxit : kế thừa từ lớp Oxit
OxiAxit: Oxit
Lớp OxitAxitNhomIV : kế thừa từ lớp OxitAxit
OxiAxitNhomIV: OxitAxit
Lớp OxitAxitNhomV : kế thừa từ lớp OxitAxit
OxiAxitNhomV: OxitAxit
Lớp OxitAxitNhomVII : kế thừa từ lớp OxitAxit
OxiAxitNhomVII: OxitAxit
Lớp RH : kế thừa từ lớp ChatVoCo
RH : ChatVoCo
+NguyenTos : IonPhiKim[2]
+SoNguyenTos : int[2]
+ LaRH(A_String tenChat) : bool // hàm static
+XacDinhRH(A_String tenChat) : RH // hàm static xác định chính xác RH này thuộc loại RH nhóm mấy.
Lớp RHNhomIV : kế thừa từ lớp RH
Lớp RHNhomV : kế thừa từ lớp RH
Lớp RHNhomVI : kế thừa từ lớp RH
Lớp RHNhomVII : kế thừa từ lớp RH
Lớp IonAm : kế thừa từ ChatVoCo
IonAm : ChatVoCo
+ionAm : enumIonAm // kiểu tập hợp được liệt kê cho Ion Am
+SoOxiHoa : int // số oxi hóa ứng với từng ionAm
+ LaIonAmBazo(A_String ten, A_int SoOxiHoa) : bool // xác định các Ion am thỏa mãn là ion dương của Bazo
+LaIonAmMuoi(A_String ten, A_int SoOxiHoa) : bool // xác định các Ion dương thỏa mãn là ion dương của muối.
+LaIonAm(A_String tenChat) : bool // xác định chất có phải là ion dương không?
Lớp IonAm : kế thừa từ lớp ChatVoCo
IonAm : ChatVoCo
+ionAm : enumIonAm // kiểu tập hợp được liệt kê cho Ion Am
+SoOxiHoa : int // số oxi hóa ứng với từng ionAm
+ LaIonAmAxit (A_String ten, A_int SoOxiHoa) : bool // xác định các Ion am thỏa mãn là ion âm của Axit
+LaIonAmMuoi(A_String ten, A_int SoOxiHoa) : bool // xác định các Ion âm thỏa mãn là ion âm của muối.
+LaIonAm(A_String tenChat) : bool // xác định chất có phải là ion âm không?
Lớp Bazo : kế thừa từ lớp ChatVoCo
Bazo : ChatVoCo
+ ionDuong : IonDuong
+ ionAm : IonAm
+ LaBazo(A_string tenChat) : bool// hàm static
+XacDinhBazo(A_string tenChat) : Bazo // xác định chính xác loại bazo của chất
Lớp BazoKiem : kế thừa từ lớp Bazo
BazoKiem : Bazo
Lớp BazoKiemTho : kế thừa từ lớp Bazo
BazoKiemTho : Bazo
Lớp BazoLuongTinh : kế thừa từ lớp Bazo
BazoLuongTinh : Bazo
Lớp BazoNhomPhu : kế thừa từ lớp Bazo
BazoNhomPhu : Bazo
Lớp BazoNH4 : kế thừa từ lớp Bazo (ứng với ion NH4+)
BazoNH4 : Bazo
Lớp Axit : kế thừa từ lớp ChatVoCo
Axit: ChatVoCo
+ionDuong : IonDuong // H+
+ionAm : IonAm // gốc Axit của ionAm
+ LaAxit(A_String tenChat) : bool //static
+XacDinhAxit(A_String tenChat) : Axit // static
Lớp Muối : kế thừa từ lớp ChatVoCo
Muoi: ChatVoCo
+ ionDuong : IonDuong
+ionAm : IonAm
+LaMuoi(A_String tenChat) : bool // static
+XacDinhMuoi(A_String tenChat) : Muoi // static
Các lớp khác
Đây là các lớp phục vụ cho việc tính toán cũng như truy xuất CSDL cho hệ thống :
Lớp DataBase : truy xuất CSDL
Lớp Math : lớp tính toán
Lớp MyException : lớp truy xuất lỗi.
Thiết kế
Kiến trúc logic đa tầng
Kiến trúc triển khai
Thiết kế dữ liệu
Sơ đồ logic dữ liệu
Danh sách các thành phần của sơ đồ
STT
Tên
Ý nghĩa
Ghi chú
LOP
Lớp
CHUONG
Chương
LOP_CHUONG
Lớp – Chương
Quan hệ Lớp –Chương (phản ánh Lớp nào ? chương nào ?)
BAILYTHUYET
Bài lý thuyết
LOP_CHUONG_BAILYTHUYET
Lớp – Chương – Bài lý thuyết
Quan hệ Lớp –Chương – Bìa lý thuyết(phản ánh Lớp nào ? chương nào ? Bài nào)
BAITAPSGK
Bài tập SGK
TUKHOABAILYTHUYET
Từ khóa bài lý thuyết
Hổ trợ tìm kiếm theo từ khóa
LOAIDETHI
Loại đề thi
DETHI
Đề thi
Danh sách các thuộc tính của từng thành phần ở dạng quan hệ
LOP (MaLop,DienGiai)
CHUONG(MaChuong,DienGiai)
LOP_CHUONG(MaLop,MaChuong,TenChuong)
BAILYTHUYET(MaBaiLyThuyet,DienGiai)
LOP_CHUONG_BAILYTHUYET(MaLop,MaChuong,MaBaiLyThuyet,TenBaiLyThuyet,TenFileBaiLyThuyet)
BAITAPSGK(MaBaiTapSGK,MaLop,MaChuong,MaBaiLyThuyet,TenFileDeBai,TenFileHuongDanGiai,TenFileBaiGiai)
TUKHOABAILYTHUYET(MaTuKhoa,MaLop,MaChuong,MaBaiLyThuyet,TuKhoa)
LOAIDETHI(MaLoaiDeThi,DienGiai)
DETHI(MaDeThi,MaLoaiDeThi,DienGiai,TenFileDuLieuDeThi)
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ú
1
MaLop
Số nguyên
2
DienGiai
Chuỗi
Tên : CHUONG
Ý nghĩa : Chương
STT
Thuộc tính
Kiểu
Ràng buộc
Ghi chú
1
MaChuong
Số nguyên
2
DienGiai
Chuỗi
Tên : LOP_CHUONG
Ý nghĩa : Lớp - Chương
STT
Thuộc tính
Kiểu
Ràng buộc
Ghi chú
1
MaLop
Số nguyên
2
MaChuong
Số nguyên
TenChuong
Chuỗi
Tên : BAILYTHUYET
Ý nghĩa : Bài lý thuyết
STT
Thuộc tính
Kiểu
Ràng buộc
Ghi chú
1
MaBaiLyThuyet
Số nguyên
2
DienGiai
Chuỗi
Tên : LOP_CHUONG_BAILYTHUYET
Ý nghĩa : Lớp - Chương - Bài lý thuyết
STT
Thuộc tính
Kiểu
Ràng buộc
Ghi chú
1
MaLop
Số nguyên
2
MaChuong
Số nguyên
MaBaiLyThuyet
Số nguyên
TenBaiLyThuyet
Chuỗi
TenFileBaiLyThuyet
Chuỗi
Tên : BAITAPSGK
Ý nghĩa : Bài tập SGK
STT
Thuộc tính
Kiểu
Ràng buộc
Ghi chú
1
MaLop
Số nguyên
2
MaChuong
Số nguyên
MaBaiLyThuyet
Số nguyên
MaBaiTapSGK
Chuỗi
TenFileDeBai
Chuỗi
TenFileHuongDanGiai
Chuỗi
TenFileBaiGiai
Chuỗi
Tên : TUKHOABAILYTHUYET
Ý nghĩa : Từ khóa bài lý thuyết
STT
Thuộc tính
Kiểu
Ràng buộc
Ghi chú
1
MaLop
Số nguyên
2
MaChuong
Số nguyên
MaBaiLyThuyet
Số nguyên
MaTuKhoa
Chuỗi
TuKhoa
Chuỗi
Tên : LOAIDETHI
Ý nghĩa : Loại đề thi
STT
Thuộc tính
Kiểu
Ràng buộc
Ghi chú
1
MaLoaiDeThi
Chuỗi
2
DienGiai
Chuỗi
Tên : DETHI
Ý nghĩa : Đề thi
STT
Thuộc tính
Kiểu
Ràng buộc
Ghi chú
1
MaDeThi
Chuỗi
2
MaLoaiDeThi
Chuỗi
DienGiai
Chuỗi
TenFileDeThi
Chuỗi
Thiết kế xử lý
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.
Kiến trúc tổng thể của các lớp đối tượng :
Danh sách các lớp đối tượng :
Các đối tượng thể hiện chất vô cơ :
ChatVoCo
NguyenTo
HopChatOH
HopChatDienTich
IonDuong
IonAm
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
OxitBazoNhomIII
OxitBazoNhomPhu
RH
RHNhomIV
RHNhomV
Các đối tượng quản lý :
DanhSachNguyenTo
TapHopNguyenTo
DanhSachChat
TapHopChat
PhuongTrinhPhanUng
PhuongTrinhPhanUngCollection
PhuongTrinhPhanUngHoanChinh
ChatPhanUng
TapHopChatTrongPtpu
Math
MyException
DataBase
Mô hình quan hệ giữa các đối tượng :
Các đối tượng thể hiện chất vô cơ :
Mô hình 1 :
Lớp ChatVoCo là lớp cơ sở của tất cả các lớp đối tượng.
Lớp NguyenTo kế thừa từ lớp ChatVoCo thể hiện các nguyên tố
Lớp HopChatOH kề thừa từ lớp ChatVoCo thể hiện các hợp chất với oxi (oxit) hay với hidro(RH).
Lớp HopChatDienTich kế thừa từ lớp ChatVoCo thể hiện các hợp chất của 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
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.
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 .
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).
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.
Mô hình 5 :
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.).
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.
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.
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.
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
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.
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.
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.
Mối quan hệ khác :
Mô hình 1 :
Lớp PhuongTrinhPhanUngCollection chứa tập hợp các đối tượng của lớp PhuongTrinhPhanUng.
Lớp PhuongTrinhPhanUng chứa 2 đối tượng thuộc lớp TapHopChat thể hiện các chất tham gia phản ứng và các chất tạo thành cùng chỉ số cân bằng của chúng.
Lớp TapHopChat chứa tập hợp các ChatVoCo tham gia phản ứng cùng các chỉ số của chúng trong phương trình đã cân bằng và đồng thời 1 đối tượng thuộc lớp DanhSachChat lưu các chất tham gia phản ứng.
LớpDanhSachChat chứa tập hợp các đối tượng thuộc lớp ChatVoCo
Mô hình 2 :
Lớp PhuongTrinhPhanUngHoanChinh chứa một đối tượng thuộc lớp PhuongTrinhPhanUng và một đối tượng thuộc lớp TapHopChatTrongPtpu thể hiện các chất tham gia phản ứng cùng các thuộc tính khối lượng số mol đã được tính.
Lớp TapHopChatTrongPtpu chứa tập hợp các đối tượng thuộc lớp ChatPhanUng.
Lớp ChatPhanUng chứa một đối tượng thuộc lớp ChatVoCo cùng các thuộc tính khối lượng, số mol của chất đó trong phương trình phản ứng.
Mô hình 3 :
Lớp ChatVoCo chứa một đối tượng thuộc lớp PhuongTrinhPhanUngCollection đề lưu tập hợp các phương trình phản ứng mà đối tượng này (ChatVoCo) sẽ tham gia phản ứng với một đối tượng thuộc lớp ChatVoCo khác. Đồng thời lớp ChatVoCo cũng chứa một đối tượng thuộc lớp TapHopNguyenTo để lưu toàn bộ các NguyenTo cấu tạo lên đối tượng thuộc lớp ChatVoCo này và số lượng của chúng (phục vụ cho việc tính khối lượng của đối tượng ChatVoCo này).
Lớp TapHopNguyenTo chứa một đối tượng thuộc lớp DanhSachNguyenTo để lưu các đối tượng thuộc lớp NguyenTo và bản thân các NguyenTo cùng với chỉ số của chúng.
Lớp DanhSachNguyenTo chứa các đối tượng thuộc lớp NguyenTo.
Mô hình 4 :
Lớp HopChatDienTich chứa một đối tượng thuộc lớp IonDuong và một đối tượng thuộc lớp IonAm.
Lớp IonDuong có thể chứa hoặc không chứa đối tượng thuộc lớp KimLoai tương ứng với ion dương đó.
Chi tiết tổ chức bên trong các lớp đối tượng :
Lớp ChatVoCo :
Danh sách các biến thành phần (fields) :
STT
Tên
Loại
Ý nghĩa
Ghi chú
1
m_NguyenTos
TaphopNguyenTo
Lưu các đối tượng của lớp NguyenTo cùng số lượng của chúng tạo nên đối tượng ChatVoCo này
protected
2
m_ptpus
PhuongTrinhPhanUngCollection
Khi đối tượng ChatVoCo này phản ứng với một chất khác nó có thể tạo ra một hoặc nhiều phương trình phản ứng khác nhau
protected
Danh sách các thuộc tính (properties) :
STT
Tên
Loại
Ý nghĩa
Ghi chú
1
M
float
khối lượng
Read-only
2
NguyenTos
TapHopNguyenTo
Tương ứng m_NguyenTos
Read -only
3
PhuongTrinhPhanUngs
PhuongTrinhPhanUngCollection
Tương ứng m_ptpus
public
Danh sách các hàm thành phần (methods) :
STT
Tên
Tham số
Xử lý
Kết quả
Ghi chú
1
XacDinhChat
ten : string
Xác định đối tượng có tên chất như vậy
Đối tượng thuộc lớp tương ứng
static
2
LaChatKhi
chat : ChatVoCo
Xác định chất cho có phải là chất khí hay không
True : đúng
False : sai
static
3
KimLoaiMuoi
kl : KimLoai
m : Muoi
Xác định phương trình phản ứng của đối tượng KimLoai và đối tựong Muoi
True:có
False:không
Tính m_ptpus
protected
4
KimLoaiAxit
kl : KimLoai
axit : Axit
Xác định phương trình phản ứng của đối tượng KimLoai và đối tựong Axit
True:có
False:không
Tính m_ptpus
protected
5
KimLoaiH2O
kl : KimLoai
h2O : H2O
Xác định phương trình phản ứng của đối tượng KimLoai và đối tượng H2O
True:có
False:không
Tính m_ptpus
protected
6
KimLoaiPhiKimVII
kl : KimLoai
pk : PKNhomVII
Xác định phương trình phản ứng của đối tượng KimLoai và đối tượng PKNhomVII
True:có
False:không
Tính m_ptpus
protected
7
KimLoaiPhiKimVI
kl : KimLoai
pk : PKNhomVI
Xác định phương trình phản ứng của đối tượng KimLoai và đối tượng PKNhomVI
True:có
False:không
Tính m_ptpus
protected
8
KimLoaiPhiKimV
kl : KimLoai
pk : PKNhomV
Xác định phương trình phản ứng của đối tượng KimLoai và đối tượng PKNhomV
True:có
False:không
Tính m_ptpus
protected
9
KimLoaiPhiKimIV
kl : KimLoai
pk : PKNhomIV
Xác định phương trình phản ứng của đối tượng KimLoai và đối tượng PKNhomIV
True:có
False:không
Tính m_ptpus
protected
10
…
…
…
…
…
Danh sách các hàm tiếp theo sẽ theo tính chất hoá học của các chất vô cơ có thể phản ứng với nhau.
Lớp NguyenTo :
Danh sách các biến thành phần (field) :
STT
Tên
Loại
Ý nghĩa
Ghi chú
1
m_nt
enumNguyenTo
kiểu tập hợp enum
private
2
db
DataBase
để truy vấn dữ liệu
private
3
m_soHieuNtu
int
số hiệu nguyên tử
private
4
m_ten
string
tên nguyên tố
private
5
m_kyHieu
string
Kí hiệu nguyên tử
private
6
m_khoiLuong
float
khối lượng của nguyên tử
private
7
m_cauHinhElectron
string
cấu hình electron
private
8
m_doAmDien
float
độ âm điện
private
9
m_tapHopSoOxiHoa
int[]
tập hợp số oxi hoá có thể có của nguyên tử
private
10
m_soOxiHoa
int
số oxi hoá của đối tựong NguyenTo hiện tại
protected
Danh sách các thuộc tính (properties) :
STT
Tên
Loại
Ý nghĩa
Ghi chú
1
Ten
enumNguyenTo
m_ten
public
2
SoHieuNguyenTu
int
m_soHieuNtu
public
3
TenNguyenTu
string
m_tenNguyenTu
public
Read-only
4
KyHieu
string
m_kyHieu
public
Read – only
5
KhoiLuong
float
m_khoiLuong
public
Read - only
6
CauHinhElectron
string
m_cauHinhElectron
public
Read – only
7
DoAmDien
float
m_doAmDien
public
Read only
8
TapHopSoOxiHoa
int[]
m_tapHopSoOxiHoa
public
Readonly
9
SoOxiHoa
int
m_soOxiHoa
public
Danh sách các hàm thành phần (methods) :
STT
Tên
Tham số
Xử lý
Kết quả
Ghi chú
1
Clone
tạo mới đối tượng copy từ đối tượng này
trả về đối tượng NguyenTo
được copy
public
2
LaNguyenTo
ten : string
kiểm tra với tên đó có là NguyenTo hày không
true : đúng
false : sai
public
static
3
XacDinhNguyenTo
ten : string
trả về chính xác đối tựơng có ten như vậy
null : không là NguyenTo
public
static
Lớp KimLoai :
Danh sách các biến thành phần (fields) :
STT
Tên
Loại
Ý nghĩa
Ghi chú
1
m_kls
enumNguyenTo[]
định nghĩa các nguyên tố nào thỏa mãn là kim loại
private
static
Danh sách các hàm thành phần (methods) :
STT
Tên
Tham số
Xử lý
Kết quả
Ghi chú
1
LaKimLoai
ten :string
kiểm tra có phải tên đó là kim loại?
true : đúng
false : sai
public
static
2
DungTruoc
NguyenTo nt
kiểm tra đối tượng này có đứng trước nt trong dãy điện hoá?
true : đúng
false : sai
public
3
XacDinhSoOxiHoa
xd số oxi hoá của đối tựơng này
public
virtual
Lớp KLNhomI :
Danh sách các biến thành phần (fields) :
STT
Tên
Loại
Ý nghĩa
Ghi chú
1
m_kls
enumNguyenTo[]
xd nguyên tố nào thoả mãn là kim loại nhóm I
private
static
Danh sách các hàm thành phần (methods) :
STT
Tên
Tham số
Xử lý
Kết quả
Ghi chú
1
LaKLNhomI
ten : string
xd tên đó có là KLNhomI?
true : đúng
false : sai
public
static
2
TacDung
h2O : H2O
this + H2O ?
tìm m_ptpus ?
public
3
TacDung
axit : Axit
this + Axit?
tìm m_ptpus ?
public
4
TacDung
pk : PKNhomIV
this + PKNhomIV ?
tìm m_ptpus ?
public
5
TacDung
pk : PKNhomV
this + PKNhomV?
tìm m_ptpus ?
public
6
TacDung
pk : PKNhomVI
this + PKNhomVI ?
tìm m_ptpus ?
public
7
TacDung
pk : PKNhomVII
this + PKNhomVII ?
tìm m_ptpus ?
public
…
…
…
…
….
…
8
TacDung
chatTGs :
DanhSachChat
this + chatConLai?
tìm m_ptpus ?
public
vitual
Lớp KLNhomII :
Danh sách các biến thành phần (fields) :
STT
Tên
Loại
Ý nghĩa
Ghi chú
1
m_kls
enumNguyenTo[]
xd nguyên tố nào thoả mãn là kim loại nhóm II
private
static
Danh sách các hàm thành phần (methods) :
STT
Tên
Tham số
Xử lý
Kết quả
Ghi chú
1
LaKLNhomII
ten : string
xd tên đó có là KLNhomII?
True : đúng
false : sai
public
static
2
TacDung
h2O : H2O
this + H2O ?
tìm m_ptpus ?
public
3
TacDung
axit : Axit
this + Axit?
Tìm m_ptpus ?
public
4
TacDung
pk : PKNhomIV
this + PKNhomIV ?
tìm m_ptpus ?
public
5
TacDung
pk : PKNhomV
this + PKNhomV?
Tìm m_ptpus ?
public
6
TacDung
pk : PKNhomVI
this + PKNhomVI ?
tìm m_ptpus ?
public
7
TacDung
pk : PKNhomVII
this + PKNhomVII ?
tìm m_ptpus ?
public
…
…
…
…
….
…
8
TacDung
chatTGs :
DanhSachChat
this + chatConLai?
Tìm m_ptpus ?
public
vitual
Lớp KLNhomIII :
Danh sách các biến thành phần (fields) :
STT
Tên
Loại
Ý nghĩa
Ghi chú
1
m_kls
enumNguyenTo[]
xd nguyên tố nào thoả mãn là kim loại nhóm III
private
static
Danh sách các hàm thành phần (methods) :
STT
Tên
Tham số
Xử lý
Kết quả
Ghi chú
1
LaKLNhomIII
ten : string
xd tên đó có là KLNhomIII?
True : đúng
false : sai
public
static
2
TacDung
h2O : H2O
this + H2O ?
tìm m_ptpus ?
public
3
TacDung
axit : Axit
this + Axit?
Tìm m_ptpus ?
public
4
TacDung
pk : PKNhomIV
this + PKNhomIV ?
tìm m_ptpus ?
public
5
TacDung
pk : PKNhomV
this + PKNhomV?
Tìm m_ptpus ?
public
6
TacDung
pk : PKNhomVI
this + PKNhomVI ?
tìm m_ptpus ?
public
7
TacDung
pk : PKNhomVII
this + PKNhomVII ?
tìm m_ptpus ?
public
…
…
…
…
….
…
8
TacDung
chatTGs :
DanhSachChat
this + chatConLai?
Tìm m_ptpus ?
public
vitual
Lớp KLNhomPhu :
Danh sách các biến thành phần (fields) :
STT
Tên
Loại
Ý nghĩa
Ghi chú
1
m_kls
enumNguyenTo[]
xd nguyên tố nào thoả mãn là kim loại nhóm phụ
private
static
Danh sách các hàm thành phần (methods) :
STT
Tên
Tham số
Xử lý
Kết quả
Ghi chú
1
LaKLNhomPhu
ten : string
xd tên đó có là KLNhomPhu?
True : đúng
false : sai
public
static
2
TacDung
h2O : H2O
this + H2O ?
tìm m_ptpus ?
public
3
TacDung
axit : Axit
this + Axit?
Tìm m_ptpus ?
public
4
TacDung
pk : PKNhomIV
this + PKNhomIV ?
tìm m_ptpus ?
public
5
TacDung
pk : PKNhomV
this + PKNhomV?
Tìm m_ptpus ?
public
6
TacDung
pk : PKNhomVI
this + PKNhomVI ?
tìm m_ptpus ?
public
7
TacDung
pk : PKNhomVII
this + PKNhomVII ?
tìm m_ptpus ?
public
…
…
…
…
….
…
8
TacDung
chatTGs :
DanhSachChat
this + chatConLai?
Tìm m_ptpus ?
public
vitual
Lớp PhiKim
Danh sách các biến thành phần (fields) :
STT
Tên
Loại
Ý nghĩa
Ghi chú
1
m_pks
enumNguyenTo[]
xd nguyên tố nào thoả mãn là phi kim
private
static
Danh sách các hàm thành phần (methods) :
STT
Tên
Tham số
Xử lý
Kết quả
Ghi chú
1
LaPhiKim
ten : string
xd tên đó có là PhiKim?
True : đúng
false : sai
public
static
2
LaChatKhi
ten : string
xd đó có là chất khí ?
true : đúng
false : sai
public
static
3
PhiKimH2
pk : PhiKim
h2 : H2
this + H2?
tìm m_ptpus ?
protected
4
PhiKimO2
pk : PhiKim
o2 : PKNhomVI
this + O2?
tìm m_ptpus ?
protected
Lớp PKNhomIV :
Danh sách các biến thành phần (fields) :
STT
Tên
Loại
Ý nghĩa
Ghi chú
1
m_pks
enumNguyenTo[]
xd nguyên tố nào thoả mãn là PKNhomIV?
Private
static
Danh sách các hàm thành phần (methods) :
STT
Tên
Tham số
Xử lý
Kết quả
Ghi chú
1
LaPKNhomIV
ten : string
xd tên đó có là PKNhomIV?
True : đúng
false : sai
public
static
2
TacDung
kl: KimLoai
this + KimLoai ?
tìm m_ptpus ?
public
3
TacDung
h2 : H2
this + H2 ?
tìm m_ptpus ?
public
4
TacDung
o2 : PKNhomVI
this + O2?
tìm m_ptpus ?
public
5
TacDung
…
…
…
…
6
TacDung
chatTGs :
DanhSachChat
this + chatConLai?
Tìm m_ptpus ?
public
vitual
Lớp PKNhomV :
Danh sách các biến thành phần (fields) :
STT
Tên
Loại
Ý nghĩa
Ghi chú
1
m_pks
enumNguyenTo[]
xd nguyên tố nào thoả mãn là PKNhomV?
Private
static
Danh sách các hàm thành phần (methods) :
STT
Tên
Tham số
Xử lý
Kết quả
Ghi chú
1
LaPKNhomV
ten : string
xd tên đó có là PKNhomV?
True : đúng
false : sai
public
static
2
TacDung
kl: KimLoai
this + KimLoai ?
tìm m_ptpus ?
public
3
TacDung
h2 : H2
this + H2 ?
tìm m_ptpus ?
public
4
TacDung
o2 : PKNhomVI
this + O2?
tìm m_ptpus ?
public
5
TacDung
…
…
…
…
6
TacDung
chatTGs :
DanhSachChat
this + chatConLai?
Tìm m_ptpus ?
public
vitual
Lớp PKNhomVI :
Danh sách các biến thành phần (fields) :
STT
Tên
Loại
Ý nghĩa
Ghi chú
1
m_pks
enumNguyenTo[]
xd nguyên tố nào thoả mãn là PKNhomVI?
Private
static
Danh sách các hàm thành phần (methods) :
STT
Tên
Tham số
Xử lý
Kết quả
Ghi chú
1
LaPKNhomVI
ten : string
xd tên đó có là PKNhomVI?
True : đúng
false : sai
public
static
2
TacDung
kl: KimLoai
this + KimLoai ?
tìm m_ptpus ?
public
3
TacDung
h2 : H2
this + H2 ?
tìm m_ptpus ?
public
4
TacDung
o2 : PKNhomVI
this + O2?
tìm m_ptpus ?
public
5
TacDung
…
…
…
…
6
TacDung
chatTGs :
DanhSachChat
this + chatConLai?
Tìm m_ptpus ?
public
vitual
Lớp PKNhomVII :
Danh sách các biến thành phần (fields) :
STT
Tên
Loại
Ý nghĩa
Ghi chú
1
m_pks
enumNguyenTo[]
xd nguyên tố nào thoả mãn là PKNhomVII?
Private
static
Danh sách các hàm thành phần (methods) :
STT
Tên
Tham số
Xử lý
Kết quả
Ghi chú
1
LaPKNhomVII
ten : string
xd tên đó có là PKNhomVII?
True : đúng
false : sai
public
static
2
TacDung
kl: KimLoai
this + KimLoai ?
tìm m_ptpus ?
public
3
TacDung
h2 : H2
this + H2 ?
tìm m_ptpus ?
public
4
TacDung
o2 : PKNhomVI
this + O2?
tìm m_ptpus ?
public
5
TacDung
…
…
…
…
6
TacDung
chatTGs :
DanhSachChat
this + chatConLai?
Tìm m_ptpus ?
public
Lớp IonDuong :
Danh sách các biến thành phần (fields) :
STT
Tên
Loại
Ý nghĩa
Ghi chú
1
ionDuongs
enumIonDuong[]
xd các ion dương có thể có
private
static
2
m_ionDuong
enumIonDuong
ion dương
private
3
m_kimLoai
KimLoai
kim loại tương ứng với ion dương đó
= null nếu là ion dương (H hay NH4)
private
4
m_soOxiHoa
int
số oxi hoá của ion dương này
private
Danh sách các thuộc tính (properties) :
STT
Tên
Loại
Ý nghĩa
Ghi chú
1
Ten
enumIonDuong
m_ionDuong
public
2
SoOxiHoa
Các file đính kèm theo tài liệu này:
- Phần Mềm Hổ Trợ Ôn Thi TNPT Môn Hoá Học.doc