Phần Mềm Hổ Trợ Ôn Thi TNPT Môn Hoá Học

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.

doc78 trang | Chia sẻ: lvcdongnoi | Lượt xem: 2878 | Lượt tải: 1download
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:

  • docPhần Mềm Hổ Trợ Ôn Thi TNPT Môn Hoá Học.doc
Luận văn liên quan