Chươ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
6/1/2011
Mục Lục
Lờ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
NHẬN XÉT CỦA GIÁO VIÊN
...................................................................................................................................................
...................................................................................................................................................
...................................................................................................................................................
...................................................................................................................................................
...................................................................................................................................................
...................................................................................................................................................
...................................................................................................................................................
...................................................................................................................................................
...................................................................................................................................................
...................................................................................................................................................
...................................................................................................................................................
...............................................................................................................
...................................................................................................................................................
.............................................................................................................................................
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ời
gian 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ựng phầ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à mang lạ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 2
tầ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ủ:
• 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ực
tiế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ủa
cá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ọc
sinh 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ông
tin đó 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ời gian,
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ây dự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.
- 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
II. 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…
c. Các Components
Hiểu biết về các loại components như: JTabbedPanel, JLabel, TextField,
JButton, JCombobox, JTable…
d. Các sự kiện
Hiểu biết về các sự kiện như: ActionListener, ItemListener, KeyListener…
2. Kiến thức về JDBC
Cần có kiến thức về JDBC(Java DataBase Connectivity), mô hình chi tiết kiến trúc
của JDBC, JDBC Interface và mô hình của nó … Kiến thức cơ bản này sẽ hỗ trợ
việc truy xuất cơ sở dữ liệu được dễ dàng hơn.
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 phong
trong 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 tiế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.
ObjectName: 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.
4. 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ệu
trướ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.
b. 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.
III. 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ọc
sinh được
nhập phải lớn
hơn số tuổi tối
thiế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ớp
nhậ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ớn
hơn 0
Sau khi người dùng nhập và
lựa chọn đầy đủ thông tin trê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ớn
hơn 0
Sau khi người dùng nhập và
lựa chọn đầy đủ thông tin trên
form, có để nhấn vào nút xem
đểm để xem các điểm quá
trình của học sinh đó sau khi
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ác nhận
để thực hiện quá trình xét lên
lớp, Người dùng phải xác
nhận lại lớp tiếp theo.
7 Tra cứu Tra cứu Tìm theo
những thông
tin: Họ tên, địa
chỉ, Email,
Lớp, Ngày
Sinh
Người dùng chỉ cần nhập vào
những thông tin đã biết của
học sinh là có thể tìm được
chính xác học sinh đó
8 Danh sách lớp Kết xuất Thống kê danh
sách tất cả học
sinh hiện tại
của 1 lớ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ọc
sinh trong lớp đó.
11 Bảng điểm
tổng kết
Kết xuất Lựa chọn năm
học và học kỳ
Người dùng lựa chọn đủ
thông tin và nhấn nút sẽ có đủ
thông tin về bảng điểm
12 Danh Sách
Điểm
Kết xuất Lựa chọn năm
họ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
STT Nội Dung Mô Tả Ghi Chú
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ết
nối với máy chủ người dùng
có thể sử dụng tất cả ứng
dụng
2 Tiếp nhận học sinh người dùng có thể tiếp nhận
học sinh
3 Xếp lớp Cho phép người dùng xếp lớp
1 cách tự độ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
học
6 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ựa
trê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ú
1 Cho phép thay
đổi thông tin
học sinh
Tiến hóa Người dùng
sau khi đã
nhập học sinh
có thể thay đổi
những thông
tin đã nhập
2 Cho phép thay
đổi điểm
Tiến hóa Người dùng
sau khi đã
nhập điểm
môn học có thể
sửa lại điểm
nhưng với điều
kiện là chưa
nhập điểm thi
của môn học
đó
3 Cho phép thay
đổi điểm thi
Tiến hóa Người dùng
sau khi nhập
điểm thi có thể
thay đổi điểm
4 Hình thức tra
cứu trực quan
Tiện dụng Hỗ trợ khả
năng trả cứu
nhiều thông tin
1 lúc trả về kết
quả chính xác
IV. 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
Số Diễn giải
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:
Mô hình DFD cấp 2: