Chương trình quản lý Trường THCS
Trang 1Chương trình quản lý Trường Trung học cơ sở
Đồ án môn học Xử lý phân bố
Giáo viên hướng dẫn:
Nguyễn Trác Thức
Sinh viên thực hiện:
Nguyễn Minh Tuấn 07520389
Đỗ Hồng Hải 07520108
Trần Công Vương 07520422
Nguyễn Bá Chung 07520031
Trang 2Mục Lục
Mục Lục 1
Lời Mở Đầu 3
NHẬN XÉT CỦA GIÁO VIÊN 4
I Giới thiệu 5
1 Bối cảnh thực hiện dự án 5
2 Mục tiêu của dự án 5
3 Phạm vi của dự án 6
II Những hiểu biết cần thiết để làm được đồ án 8
1 Kiến thức cơ bản về Java: 8
2 Kiến thức về JDBC 8
3 Kiến thức về RMI 8
4 Kiến thức về mô hình 2tier, 3 layers 11
III Yêu Cầu 13
1 Yêu cầu nghiệp vụ 13
2 Yêu cầu chức năng 14
3 Yêu cầu phi chức năng 15
IV Thiết Kế Xử Lý (DFD) 17
1 Sơ đồ hệ thống con của quy trình 17
2 Giải thích các dòng dữ liệu lưu chuyển 17
3 Các mô hình DFD 17
V Sơ đồ lớp 19
- Data Access Layer 19
- Data Transfer Object 19
- Business Logic Layer 19
- Graphical user interface 20
VI Thiết Kế Dữ Liệu 22
1 Mô hình thực thể ERD 22
2 Thuyết minh cho thực thể ERD 22
3 Sơ đồ Logic 24
Trang 34 Thiết kế: 24
a Thiết kế mô hình dữ liệu 24
b Thiết kế giao diện 30
ii Thiết kế các màn hình 32
VII YÊU CẦU KẾ HỆ THỐNG 34
1 Cấu Hình Tối Thiểu Của Máy Chủ: 34
2 Cấu Hình Tối Thiểu Của Máy Con: 34
3 Cấu Hình Đề Nghị: 34
VIII Thiết Kế Giao Diện 35
1 Màn hình chính 35
2 Màn hình About 35
3 Màn hình tiếp nhận học sinh 36
4 Màn hình chỉnh sửa thông tin học sinh 36
5 Màn hình tra cứu thông tin học sinh 37
6 Màn hình Xếp lớp 37
7 Màn hình nhập điểm học sinh 38
8 Màn hình sửa điểm 38
9 Màn hình nhập điểm thi 39
10 Màn hình sửa điểm thi 39
11 Màn hình nhập điểm tổng kết môn 40
12 Màn hình nhập điểm tổng kết 40
13 Màn hình nhập điểm tổng kết năm 41
14 Màn hình xét lên lớp 42
15 Màn hình bảng điểm tổng kết 42
16 Màn hình danh sách điểm 43
17 Màn hình danh sách lớp 44
18 Màn hình thay đổi quy định 44
19 Màn hình cấu hình 45
20 Màn hình Admin – cấu hình máy chủ 45
21 Màn hình lưu Admin – lưu Log 46
Trang 5Lời Mở Đầu
Hiện nay công nghệ thông tin được xem là ngành công nghiệp mũi nhọn của các quốc gia, đặc biệt là các quốc gia đang phát triển, tiến hành công nhiệp hóa và hiện đại hóa như nước ta Sự bùng nổ thông tin và sự phát triển mạnh mẽ của công nghệ kỹ thuật
số yêu cầu muốn phát triển thì phải tin học hóa vào tất cả các ngành các lĩnh vực.
Cùng với sự phát triển nhanh chóng phần cứng máy tính, các phần mềm càng ngày trở nên đa dạng, phong phú, hoàn thiện hơn và hỗ trợ hiệu quả hơn cho con
người.các phần mềm hiện nay ngày càng mô phỏng được rất nhiều nghiệp vụ khó khăn,
hỗ trợ cho người dùng thuận tiện sử dụng, thời gin xử lý nhanh chóng, và một số nghiệp
vụ được tự động hóa cao.
Do vậy mà việc phát triển phần mềm, sự đòi hỏi không chỉ là sự chính xác, xử lý được nhiều nghiệp vụ thực tế mà còn phải đáp ứng các nhu cầu khác như về tốc độ, giao diện than thiện, mô hình hóa được thực tế vào máy tính để người sử dụng tiện lợi, quen thuộc, tính tương thích cao, bảo mật cao (đối với các dữ liệu nhạy cảm),… Các phần mềm giúp tiết kiệm một lượng lớn thời gian, công sức của con người, và tăng đọ chính xác và hiệu quả trong công việc (nhất là việc sửa lỗi và tự động đồng bộ hóa).Qua thời gian, công nghệ mới không ngừng ra đời làm thay đổi mạnh mẽ cuộc sống Phần mềm
“Quản Lý Trường Trung Học Cơ Sở” sử dụng kỹ thuật xứ lý phân bố RMI, ra đời với mong muốn góp phần nâng cao chất lượng công việc, tạo một cái nhìn khách quan cho công cuộc tin học hóa.
Lời cuối, chúng em xin chân thành cảm ơn những chỉ bảo, hướng dẫn tận tình cũng như những đóng góp bổ ích của gỉang viên hướng dẫn
Nhóm thực hiện
Trang 6NHẬN XÉT CỦA GIÁO VIÊN
Trang 7
I Giới thiệu
1 Bối cảnh thực hiện dự án
Việc quản lý học vụ trong trường trung học cơ sở Nếu không có sự hỗ trợ của tin học, việc quản lý này cần khá nhiều người, chia thành nhiều khâu, mới có thể quản lý được toàn bộ hồ sơ, học sinh (thông tin, điểm số, kỷ luật, học bạ,…), lớp học (sỉ số, GVCN, thời khóa biểu,…), giáo viên (thông tin, lịch dạy,…), … cũng như các nghiệp vụ sắp thời khóa biểu, tính điểm trung bình, xếp loại học lực cho học sinh toàn trường (số lượng học sinh có thể lên đến ha ba ngàn học sinh) Các công việc này đòi hỏi nhiều thờigian và công sức, mà sự chính xác và thống kê, và hiệu quả không cao, vì đa số đều làm bằng thủ công rất ít tự động một số nghiệp vụ như tra cứu, thống kê và hiệu chỉnh thông tin khá vất vả Ngoài ra còn có một số khó khăn về vấn đồ lưu trữ khá đồ sộ, dễ thất lạc, tốn kém,….Trong khi đó, các nghiệp vụ này hoàn toàn có thể tin học hóa một cách dễ dàng.Với sự giúp đỡ của tin học, việc quản lý học vụ sẽ trở nên đơn giản, thuận tiện, nhanh chóng và hiệu quả hơn rất nhiều
Công nghệ phần mềm đã mang lịa những lợi ích vô cùng to lớn cho con người Do
đó, chúng ta cần đẩy mạnh việc sản xuất, thiết kê, thử nghiệm và phát triển phần mềmứng dụng trong mọi lĩnh vực Để góp phần tin học hóa quản lý, chúng em đã xay dựngphần mềm “Quản lý trường Trung Học Cơ Sở” với mục tiêu có thể thể ứng dụng và manglại hiệu quả công tác quản lý cho các trường THCS
2 Mục tiêu của dự án
Sử dụng RMI để xử lý phân bố dữ liệu Phần mềm được xây dựng theo mô hình 2tầng 3 lớp Một tầng được gọi là máy chủ và 1 tầng được gọi là máy con
Về phía máy chủ:
Trang 8 Tầng này được xây dựng như là 1 tầng Data Access Tầng này kết nối trựctiếp với cơ sở dữ liệu Quản lý tài nguyên của ứng dụng
Đáp ứng nhu cầu về mặt dữ liệu cho máy con Như là cung cấp các dữ liệu
để hiện thị trên các máy con
Lưu trữ các thao tác giữa các máy Client và máy chủ
Về phía máy con:
Thiết kế hệ thống phần mềm quản lý trường THCS nhằm hỗ trợ phòng đào tạo củacác trường THCS những nghiệp vụ sau:
Được xây dựng dựa trên mô hình 3 lớp: Tầng giao diện(GUI/Presentation),tầng chứa xử lý Logic (Business logic Layer), tầng kết nối với máy chủ(Data access layer)
Hỗ trợ phòng đào tạo các trường THCS quản lý và lưu trữ thông tin các họcsinh và điểm các môn học
Lập danh sách học sinh và điểm từng môn
Lưu lại thông tin của các học sinh qua từng năm học
Hỗ trợ tra cứu nhanh các thông tin về học sinh và điểm các môn học
Hỗ trợ việc tính điểm tổng kết qua từng học kỳ và năm học và lưu lại thôngtin đó qua từng năm
Vì vậy, nếu không có sự hỗ trợ của tin học, các yêu cầu trên đòi hỏi nhiều thờigian, công sức và nguồn nhân lực, độ chính xác và hiệu quả không cao Do vậy, phải xâydựng một hệ thống quản lý trường THCS để phòng đào tạo của các trường THCS quản lýcác yêu cầu nghiệp vụ trên dễ dàng và hiệu quả, đơn giản và nhanh chóng
3 Phạm vi của dự án
Yêu cầu về hệ thống:
- Xây dựng một hệ thống an toàn và chất lượng Đảm bảo việc sao lưu dữ
liệu tránh rủi ro, mất mát dữ liệu
Trang 9- Tương thích với hệ thống máy tính của các trường THCS.
Yêu cầu về chất lượng:
- Thực hiện đúng và đầy đủ các chức năng.
- Tốc độ truy xuất và lưu trữ dữ liệu nhanh.
- Giao diện thân thiện, dễ sử dụng và thao tác.
- Tương thích với hệ thống máy tính của các trường THCS.
- Phần mềm phải được thiết kế mở để tiện nâng cấp sau này
Trang 10II Những hiểu biết cần thiết để làm được đồ án
1 Kiến thức cơ bản về Java:
Phần này chỉ nhắc lại những kiến thức cần sử dụng và chỉ nêu ra những thứ mà đồ
án sử dụng
a Layout Manager
Hiểu biết kỹ về các loại layout để tiện cho việc thiết kế giao diện cho phần mềm
b Các đối tượng khung chứa Container
Hiểu biết về các loại khung chứa như FrameView, JPanel…
3 Kiến thức về RMI
a Giới thiệu:
- Lập trình đối tượng phân tán là một trong những vấn đề nóng bỏng của
công nghệ phân tán phần mềm ngày nay Java là ngôn ngữ đi tiên phongtrong việc giải quyết vấn đề lập trình phân tán
b RMI VÀ LẬP TRÌNH PHÂN TÁN ĐỐI TƯỢNG
- Thông thường các chương trình của chúng ta được viết dưới dạng thủ
tục hoặc hàm và việc các hàm gọi lẫn nhau, truyền tham số hay kết quả cho nhau chỉ xảy ra ở máy cục bộ Kỷ thuật RMI (Remote Method Invoke) – mang ý nghĩa triệu gọi phương thức từ xa – là cách thức giao
Trang 11tiếp giữa các đối tượng trong Java có mã lệnh cài đặt nằm trên các máy khác nhau có thể triệu gọi lẫn nhau.
Mô hình triệu gọi các đối tượng từ xa
c GỌI PHƯƠNGTHỨC TỪ XA VÀ CÁC VẤN ĐỀ PHÁT SINH
- Việc gọi phương thức của đối tượng từ xa luôn phức tạp hơn gọi
phương thức cục bộ
- Các đối tượng trên hai máy khác nhau hoạt đông trên hai tiến trình khác
nhau nên việc tham chiếu đến biến địa chỉ hoàn toàn khác nhau
- Lời gọi phương thức từ xa phải thông qua mạng và có thể bị ngắt ngang
do mạng gặp sự cố
- Các tham số truyền cho đối tượng ở xa phải được đóng gói và truyền
qua mạng để đến với phương thức thực sự
d VAI TRÒ CỦA CÁC LỚP TRUNG GIAN ( STUB VÀ SKELETION )
- Để giải quyết vấn đề trên, đối tượng trên hai máy khác nhau không gọi
trực tiếp mà thông qua lớp trung gian Lớp này tồn tại ở cả hai phía Client và Server Lớp ở máy Client gọi là Stub, lớp ở máy Server gọi là Skel (Skeletion)
e CÀI ĐẶT ỨNG DỤNG PHÂN TÁN RMI
- Các phương thức sử dụng trong chương trình:
o exportObject(Object) : nằm trong lớp UnicastRemoteObject
Phương thức này làm cho máy ảo Java nhận diện được đối tượng Object
Để sử dụng được lớp UnicastRemoteObject phải khai báo: import java.rmi.server.*;
o bind(URLString, Object) thuộc lớp Naming
- URLString: Chuỗi định vị có dạng như sau:
rmi://hostName:port/ObjectName Trong đó: rmi: làtên giao thức dùng để đăng ký
hostName, port: là địa chỉ IP và số hiệu cổng nơi máy chủ nơi bộ đăng ký đối tượng rmi đang chạy
Trang 12ObjectName: là tên bất kỳ gợi nhớ để đặt cho đối tượng Các chương trình máy khách sẽ dựa vào tên này để truy tìm tham chiếu đến đối tượng cần dùng.
- Object: Tên đối tượng
Phương thức bind() dùng để đăng ký một tên gợi nhớcho đối tượng Object với bộ quản lý rmi
o lookup(rmi://hostName:port/ObjectName) Phương thức này thuộc lớp Naming Đối số là chuỗi định dạng cho biết địa chỉ máy chủ và tên đăng ký đối tượng
f CHUYỂN THAM SỐ TRONG LỜI GỌI PHƯƠNG THỪC TỪ XA
- Việc truyền tham số qua mạng theo cơ chế RMI lại khác với cách truyền
tham số thông thường
- Tất cả các kiểu dử liệu đơn giản như int,char… đều được truyền theo
tham trị
- Tất cả các dử liệu kiểu đối tượng muốn truyền qua mạng đều buộc phải
cài đặt một trong hai giao tiếp Remote hoặc Serializable
- Các đối tượng cài đặt giao tiếp Remote sẽ được truyền theo tham chiếu
còn các đối tượng cà đặt giao tiếp Serializable sẽ được tuyền theo tham trị
- Do java cho phép một đối tượng có thể cài đặt cùng lúc nhiều giao tiếp
interface khách nhau nên đối tượng có thể cài đặt cùng lúc hai giao tiếp Serializable và Remote
- Khi đó nếu không dùng UnicastRemoteObject.exportObject() để đăng
ký đối tượng cho máy ảo Java thì đối tượng sẽ được truyền theo tham trị, ngược lại đối tượng sẽ được truyền theo tham chiếu
g TUẦN TỰ HÓA (SERIALZABLE)ĐỐI TƯỢNG
- Java cung cấp cho bạn khả năng ghi toàn bộ đối tượng xuống một tập
tin Sau đó bạn có thể đem tập tin chứa đối tượng đi khắp nơi nếu cần thì khôi phục đối tượng về trạng thái ban đầu Đối tượng trong bộ nhớ
có thể quan hệ chằng chịt với nhau nhưng khi được ghi xuống tập tin thìbắt buộc phải trải phẳng đối tượng theo thứ tự
- Trong Java đối tượng muốn có khả năng ghi và lưu dữ liệu thành tập tin
phải cài đặt giao tiếp java.io.Serializable Nếu đối tượng cần ghi chứa bên trong nhiều đối tượng con khác thì Java lấy tất cả các đối tượng con ghi luôn xuống đĩa
Trang 134 Kiến thức về mô hình 2tier, 3 layers
a Mô hình 3layer ( sử dụng trong thiết kế xử lý client và server)
i GUI: nhập liệu, trình bày dữ liệu, kiểm tra trính đúng dắn của dữ liệutrước khi gọi Business Logic Layer
ii Business Logic Layer: đáp ứng các yêu cầu thao tác dữ liệu của GUI, kiểm tra các yêu cầu nghiệp vụ trước khi cập nhật dữ liệu.iii Data Access Layer: kết nối và thao tác với CSDL
Trang 14b Mô hình 2tier (sử dụng trong kết nối máy chủ - máy trạm)
i Client kết nối đến server thông qua RMI
ii Server sẽ thao tác với cơ sở dữ liệu và trả kết quả về cho client
Trang 15III Yêu Cầu
1 Yêu cầu nghiệp vụ
STT Công Việc Loại Công
Việc Quy Định Ghi Chú
1 Tiếp nhận học
sinh Lưu trữ Số tuổi họcsinh được
nhập phải lớnhơn số tuổi tốithiếu và sốtuổi tối đa
Người dùng sẽ nhập điền đầy
đủ thông tin vào form sau đónhấn nút để lưu xuống cơ sở
dữ liệu
2 Xếp lớp Lưu trữ Người dùng sẽ nhấn nút phần
mềm sẽ lần lượt xếp tất cảnhững học sinh đang ở lớpnhập học vào các lớp 6
3 Nhập điểm Lưu trữ Điểm số được
nhập phải nhỏhơn 10 và lớnhơn 0
Sau khi người dùng nhập vàlựa chọn đầy đủ thông tintrên form nhấn nút để nhậpđiểm cho học sinh đó
4 Nhập điểm thi Lưu trữ Điểm số được
nhập phải nhỏhơn 10 và lớnhơn 0
Sau khi người dùng nhập vàlựa chọn đầy đủ thông tintrên form, có để nhấn vào nútxem đểm để xem các điểmquá trình của học sinh đó saukhi chắc chắn nhấn nút đểnhập điểm cho học sinh đó
5 Nhập điểm
tổng kết
Lưu trữ Người dùng sẽ lựa chọn các
thông tin và nhấn nút để nhậpđiểm tổng kết cho nguyên 1
lớp
6 Xét lên lớp Lưu trữ Người dùng sẽ lựa chọn
thông tin sau đó nhấn nút xácnhận để thực hiện quá trìnhxét lên lớp, Người dùng phảixác nhận lại lớp tiếp theo
7 Tra cứu Tra cứu Tìm theo
những thôngtin: Họ tên,địa chỉ, Email,Lớp, NgàySinh
Người dùng chỉ cần nhập vàonhững thông tin đã biết củahọc sinh là có thể tìm đượcchính xác học sinh đó
Trang 168 Danh sách lớp Kết xuất Thống kê
danh sách tất
cả học sinhhiện tại của 1lớp
Người dùng chọn 1 lớp đểlấy danh sách của lớp đó
9 Tổng kết môn Kết xuất Lựa chọn môn
học, năm học,học kỳ
Người dùng lựa chọn đầy đủthông tin chọn xác nhận đểthấy được những báo cáo về
môn học
10 Tổng kết năm Kết xuất Lựa chọn năm
học, lớp
Người dùng lựa chọn đủthông tin sẽ lấy danh sáchđiểm tổng kết của các họcsinh trong lớp đó
đủ thông tin về bảng điểm
12 Danh Sách
Điểm Kết xuất Lựa chọn nămhọc, học kỳ,
lớp
Người dùng lựa chọn đủthông tin sẽ có được thông tin
về điểm của từng học sinh
2 Yêu cầu chức năng
1 Chỉnh sửa chuỗi config Người dùng nhập vào thông
tin máy chủ Sau khi đã kếtnối với máy chủ người dùng
4 Nhập điểm Người dùng nhập điểm các
môn học cho học sinh
5 Nhập điểm thi Người dùng nhập điểm thi
cho học sinh theo từng môn
Trang 176 Nhập điểm tổng kết Người dùng xác nhập muốn
thực hiện tính toán và nhậpđiểm cho cả lớp
7 Xét lên lớp Cho phép người dùng xét lên
lớp của 1 lớp
8 Tìm kiếm Cho phép người dùng tìm
kiếm thông tin học sinh dựatrên 1 số thông tin đã biết
9 Thống kê Cho phép thống kê những
biểu mẫu liên quan
10 Danh sách học sinh Cho phép in ra danh sách học
sinh
11 Danh sách điểm Cho phép in ra danh sách
điểm của 1 lớp
12 Thay đổi quy định Cho phép người dùng thay
đổi các thông tin quy định về
hệ thống
3 Yêu cầu phi chức năng
STT Nội dung Tiêu chuẩn Mô tả chi tiết Ghi chú
có thể thay đổinhững thôngtin đã nhập
2 Cho phép thay
đổi điểm Tiến hóa Người dùngsau khi đã
nhập điểmmôn học cóthể sửa lạiđiểm nhưngvới điều kiện
là chưa nhậpđiểm thi củamôn học đó
3 Cho phép thay
đổi điểm thi Tiến hóa sau khi nhậpNgười dùng
điểm thi có thểthay đổi điểm
Trang 184 Hình thức tra
cứu trực quan Tiện dụng năng trả cứuHỗ trợ khả
nhiều thôngtin 1 lúc trả vềkết quả chínhxác
Trang 19IV Thiết Kế Xử Lý (DFD)
1 Sơ đồ hệ thống con của quy trình
2 Giải thích các dòng dữ liệu lưu chuyển
1 Thông tin học sinh
2 Danh sách học sinh
3 Thông tin điểm của từng môn
4 Danh sách điểm của từng môn
5 Thông tin tra cứu của học sinh
6 Kết quả tra cứu của học sinh
3 Các mô hình DFD
Mô hình DFD cấp 1:
Trang 23o clientqltruonghoc.plXetLenLop
o java.awt.Window (implements javax.accessibility.Accessible)
o java.awt.Dialog
o javax.swing.JDialog (implements javax.accessibility.Accessible, javax.swing.RootPaneContainer, javax.swing.WindowConstants)
o clientqltruonghoc.ClientQLTruongHocAboutBox
Trang 24VI Thiết Kế Dữ Liệu
1 Mô hình thực thể ERD
2 Thuyết minh cho thực thể ERD
Thuộc tính mô tả cho các thực thể
- Thực thể HOCSINH: Mã học sinh, Mật khẩu, Họ học sinh, Tên học
sinh, Giới tính, Ngày sinh, Email, Địa chỉ
- Thực thể LOP: Mã lớp, Tên lớp, Sỉ số.
- Thực thể KHOILOP: Mã khối, Tên khối.
- Thực thể MONHOC: Mã môn học, Tên môn học, Qui định số tiết học
liên tiếp tối thiểu, Qui định số tiết học liên tiếp tối đa