Tải bản đầy đủ (.pdf) (62 trang)

Xây dựng chương trình quản lý điểm học sinh trường THPT giao thủy nam định

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.5 MB, 62 trang )

MỤC LỤC

MỤC LỤC......................................................................................................... 1
LỜI CẢM ƠN.......................................................Error! Bookmark not defined.
LỜI CAM ĐOAN .................................................Error! Bookmark not defined.
CHƯƠNG 1 : TỔNG QUAN VỀ THIẾT KẾ HƯỚNG ĐỐI TƯỢNG.......... 4
1.1 Quy trình phát triển phần mềm (Rational Unified Process - RUP).......4
1.2 Giới thiệu ngôn ngữ mô hình hóa (Unified Model Languae - UML).....5
1.3 Ứng dụng UML trong RUP .....................................................................9
1.3.1 Mô hình hóa nghiệp vụ ......................................................................9
1.3.2 Xác định yêu cầu ................................................................................9
1.3.3 Phân tích.............................................................................................9
1.3.4 Thiết kế ...............................................................................................9
1.3.5 Cài đặt...............................................................................................10
1.3.6 Kiểm chứng ......................................................................................10
1.4 Giới thiệu ngôn ngữ cài đặt chương trình.............................................10
1.4.1 Giới thiệu ngôn ngữ Java .................................................................10
4.1.2 Giới thiệu hệ quản trị cơ sở dữ liệu SQL 2005.................................17
CHƯƠNG 2 : NẮM BẮT CÁC YÊU CẦU CỦA HỆ THỐNG.................... 22
2.1 Khảo sát hiện trạng hệ thống quản lý điểm của trường THPT ...........22
2.1.1 Quá trình đào tạo học sinh tại trường:.............................................22
2.1.2 Quy trình quản lý điểm ....................................................................22
2.1.3 Các môn học trong chương trình đào tạo........................................23
2.1.4 Quy định về tính điểm cho học sinh .................................................24
2.1.5 Quy định về đánh giá, xếp loại hạnh kiểm cho học sinh..................26
2.1.6 Quy định về đánh giá, xếp loại học lực cho học sinh.......................27
2.1.7 Sử dụng kết quả đánh giá xếp loại ...................................................28
2.2 Mục đích xây dựng hệ thống quản lý điểm học sinh ............................29
2.3 Các thuộc tính của hệ thống ..................................................................30
2.4 Biểu đồ ca sử dụng và đặc tả các ca sử dụng ........................................30


1


2.4.1 Xác định các tác nhân ......................................................................30
2.4.2 Biểu đồ ca sử dụng của hệ thống .....................................................30
CHƯƠNG 3 : PHÂN TÍCH HỆ THỐNG ..................................................... 36
3.1 Xác định các khái niệm..........................................................................36
3.1.1 Các khái niệm cơ bản .......................................................................36
3.2 Biểu đồ trình tự hệ thống.......................................................................37
3.2.1 Quản lý hệ thống ..............................................................................43
3.2.2 Quản lý cập nhật ..............................................................................43
3.2.3 Tiến trình tính điểm..........................................................................45
3.2.4 Tiến trình tìm kiếm ...........................................................................46
CHƯƠNG 4 : THIẾT KẾ HỆ THỐNG VÀ CÀI ĐẶT CHƯƠNG TRÌNH 47
4.1 Thiết kế hệ thống....................................................................................47
4.1.1 Biểu đồ cộng tác ...............................................................................47
4.1.2 Thiết kế cơ sở dữ liệu........................................................................52
4.2 Cài đặt chương trình..............................................................................57
KẾT LUẬN..................................................................................................... 61
TÀI LIỆU THAM KHẢO.............................................................................. 62
NHẬN XÉT CỦA GIẢNG VIÊN.........................Error! Bookmark not defined.

2


Lời nói đầu
Ngày nay, công nghệ thông tin đã và đang đóng vai trò quan trọng trong
đời sống kinh tế, xã hội của nhiều quốc gia trên thế giới. Nói đến công nghệ
thông tin, chúng ta không thể không nhắc tới công nghệ phần mềm, phần mềm
đóng vai trò cực kỳ quan trọng trong lĩnh vực công nghệ thông tin.

Công nghệ phần mềm đã và đang tiến bộ từng ngày điều đó có nghĩa là
thực tế rất cần những hệ thống phần mềm chất lượng cao. Để có được cái đó thì
cần phải có phương pháp và công cụ đủ mạnh để đáp ứng được những nhu cầu
thường xuyên thay đổi, ngày một phức tạp hệ thống. Cách tiếp cận hướng đối
tượng như là một giải pháp tốt cho những người làm phần mềm hiện nay. Do vậy
nghiên cứu, áp dụng quy trình phát triển phần mềm hướng đổi tượng bằng UML
là hướng đi đúng đắn nhằm nắm bắt một phương pháp mới trong phát triển phần
mềm. Với những lý do đó em đã đi sâu vào tìm hiểu về quy trình phát triển phần
mềm hướng đối tượng. Cùng những kiến thức tìm hiểu và những kiến thức được
học được trong thời tại khoa em thử nghiệm xây dựng bài toán ứng dụng quản lý
điểm học sinh với hy vọng xây dựng được hệ thống phần mềm quản lý điểm học
sinh thay vì làm trên giấy tờ thành hồ sơ lưu trữ trên máy tính.
Được sự giúp đỡ của cô giáo HÀ THỊ THANH và thầy cô giáo trong
khoa, em xin thực hiện đồ án với nội dung: “XÂY DỰNG PHẦN MỀM QUẢN
LÝ ĐIỂM HỌC SINH THPT GIAO THỦY”.
Trong thời gian làm đồ án tốt nghiệp dù đã rất cố gắng để làm tốt đề tài
của mình nhưng không thể không có những thiếu xót. Kính mong thầy cô giáo
góp ý để đề tài của em hoàn thiện hơn. Em xin chân thành cảm ơn thầy giáo, cô
giáo trong khoa. Cảm ơn cô giáo HÀ THỊ THANH đã tận tình hướng dẫn em
trong suốt thời gian thực tập.

3


CHƯƠNG 1 : TỔNG QUAN VỀ THIẾT KẾ HƯỚNG ĐỐI TƯỢNG

Ngày nay, chất lượng phần mềm phụ thuộc vào rất nhiều yếu tố khác
nhau, trong đó quy trình công nghệ đóng một vai trò quan trọng vào bậc nhất.
Trước tình hình đó các công ty phần mềm lớn trên thế giới đã nhanh chóng đưa
ra nhiều quy trình công nghệ khác nhau, trước tiên là phục vụ cho nhu cầu phát

triển phần mềm trong công ty mình, sau đó là công bố rộng rãi để thu thập ý kiến
từ những đối tác nhằm tìm kiếm lời giải cho bài toán tối ưu hóa quy trình công
nghệ của mình. Hiện nay có rất nhiều quy trình phát triển phần mềm khác nhau
được sử dụng trong các công ty phát triển phần mềm như: Water fall Process,
Open Process, Object-Oriented Software Process… Mỗi quy trình đều có những
ưu khuyết điểm riêng của mình nhưng nổi bật nhất và ngày nay càng được sử
dụng đó là quy trình phát triển phần mềm mang tên RUP (Rational Unified
Process). Mặc dù RUP mới được phát triển trong những năm gần đây, nhưng sự
xuất hiện của RUP đánh dấu một xu hướng phát triển mới trong giai đoạn bùng
nổ của ngành công nghệ phần mềm.
1.1 Quy trình phát triển phần mềm (Rational Unified Process - RUP)
Quy trình RUP: Là một quy trình phát triển phần mềm được hãng Rational
phát triển, thường được dùng trong các dự án phần mềm lớn và phức tạp. RUP sử
dụng ngôn ngữ UML(Unified Modeling Language) để mô hình hóa và cung cấp
những hướng dẫn để sử dụng UML một cách hiệu quả nhất. Quy trình RUP được
chia ra làm 4 giai đoạn:
1.1.1 Khởi đầu (Inception): Giai đoạn thu thập thông tin (thực tế thiết kế và sản
xuất) nhằm đặt ra mục đích và tầm mức của Dự án phần mềm:
+ Phạm vi dự án, yêu cầu người dùng và ràng buộc
+ Yêu cầu nghiệp vụ, rủi ro, kế hoạch dự án (phân công, chi phí)
+ Phác thảo kiến trúc (chi phí, lịch, tài nguyên)
Cấu hình môi trường làm việc, công cụ

4


1.1.2 Dự thảo chi tiết (Elaboration): Phân tích, đánh giá các thông tin thu thập
được nhằm xác định cụ thể, chính thức:
+ Tầm mức dự án (project’s scope), các yêu cầu của dự án (project’s
requirements), các điều kiện để dự án được xem là hoàn thành (project’s

acceptance criteria).
+ Các tính năng của dự án (project’s features), tính năng nào quan trọng
(critical criteria), những rủi ro, mạo hiểm (potential risk)
+ Chi tiết thực tế sản xuất (business specification) được dẫn đến xây dựng
chi tiết về thiết kế phần mềm (design specification), xây dựng dự thảo cho kiến
trúc phần mềm (software architecture), chọn thành phần (component).
+ Những công việc hỗ trợ: thiết lập mạng, phần cứng, phần mềm, chuẩn bị
quy trình, công cụ (CASE)
1.1.3 Thực hiện xây dựng (Construction): chủ yếu là bàn về kiến trúc trúc phần
mềm. Quản lý tiến trình tạo sản phẩm đảm bảo năng suất, chất lượng. Quy trình
thực hiện như tạo use case diagram, cài đặt môi trường phần mềm, kế hoạch triển
khai ứng dụng, người dùng
1.1.4> Chuyển giao (Transition)
+ Kiểm tra sản phẩm
+ Xưởng, thu thập phản hồi
+ Hỗ trợ hiệu chỉnh
+ Kế hoạch cải tiến
+ Phân phối
1.2 Giới thiệu ngôn ngữ mô hình hóa (Unified Modeling Languae - UML)
1.2.1 Mục đích của UML: xây dựng mô hình cho các hệ thống phần mềm, nó có
thể được sử dụng một cách hiệu quả trong nhiều lĩnh vực như:
* Hệ thống thông tin doanh nghiệp (enterprise)
* Ngân hàng và dịch vụ tài chính
* Viễn thông
* Giao thông
* Hàng không và quốc phòng

5



* Máy móc điện tử dùng trong y tế
* Khoa học
* Các ứng dụng phân tán dựa trên Web
1.2.2 Các phần tử của UML: có bốn loại phần tử mô hình, đó là cấu trúc, hành
vi, nhóm và chú thích. Các phần tử này là các khối để xây dựng hướng đối tượng
cơ bản của UML.
a. Phần tử cấu trúc: là danh từ trong mô hình UML. Chúng là bộ phận tĩnh
của mô hình để biểu diễn các thành phần khái niệm hay vật lý.
Có bảy loại phần tử có cấu trúc sau:
*Lớp: lớp là mô tả tập các đối tượng cùng chung thuộc tính, thao tác,quan
hệ và ngữ nghĩa. Một lớp cài đặt nhiều một hay nhiều ghép nối.
-Lớp được biểu diễn bằng hình chữ nhật, thông thường chúng có tên,
thuộc tính và thao tác.
Tên lớp

Thuộc tính

Phương thức

*Giao diện: giao diện là tập hợp các thao tác làm dịch vụ của lớp hay
thành phần. Giao diện mô tả hành vi thấy được từ ngoài của thành phần. Giao
diện biểu diễn toàn bộ hay một phần của hành vi của lớp. Giao diện thường
không đứng một mình mà được gắn vào trong lớp hay thực hiện giao diện.
Kí pháp đồ họa:

* phần tử cộng tác: phần tử cộng tác là mô tả ngữ cảnh của tương tác. Ký
pháp đồ họa của nó là hình elip vớI đường vẽ nét đứt, kèm theo tên. Phần tử cộng
tác thể hiện một giải pháp thi hành bên trong hệ thống, bao gồm các lớp, quan hệ
và tương tác giữa chúng để đạt được một chức năng mong đợi của UC.
*trường hợp sử dụng(Use case) : mô tả tập trình tự các hành động mà hệ

thống sẽ thực hiện để đạt được một kết quả cho tác nhân nào đó.

6


Tác nhân là những gì bên ngoài tương tác với hệ thống. Tập các UC của hệ
thống sẽ hình thành các trường hợp mà hệ thống được sử dụng. Sử dụng UC để
cấu trúc các phần tử có tính hành vi trong mô hình.
Tên Use case
Use case

* Lớp tích cực (active class): lớp tích cực là lớp đối tượng làm chủ một hay
nhiều tiến trình luồng. Lớp tích cực xem như lớp thông thường nhưng đối tượng
của nó biểu diễn các thành phần có hành vi đang tương tranh với các thành phần
khác. Ký pháp đồ họa của nó tương tự lớp thông thường nhưng biên hình chữ
nhật được tô đậm. Thông thường chúng cũng có tên, thuộc tính và thao tác.
Thành phần: thành phần biểu diễn vật lý mã nguồn, các tệp nhị phân trong
quá trình phát triển hệ thống.
Ký pháp đồ họa:

Myfile.ccp

Thành phần

b. Phần tử hành vi: Phần tử hành vi là bộ phận động của mô hình UML.
Chúng là các động từ của mô hình, biểu diễn hành vi theo thời gian và không
gian. Có hai loại chính tương tác và trạng thái.
Tương tác: tương tác là hành vi bao gồm tập các thông điệp trao đổi giữa các
đối tượng trong ngữ cảnh cụ thể để thực hiện mục đích cụ thể. Hành vi của nhóm
đối tượng hay của mỗi thao tác cụ thể chỉ được chỉ ra bằng tương tác.

Ký pháp đồ họa: bao gồm mũi tên và thao tác của nó.

7


Hiển thị

Thông điệp
Máy trạng thái: máy trạng thái là hành vi chỉ ra trật tự các trạng thái mà
đối tượng hay tương tác sẽ đi qua để đáp ứng sự kiện.
Ký pháp đồ họa:

chờ
trạng thái
c. Phần tử nhóm: là bộ phận tổ chức của mô hình UML. chỉ có một phần tử
thuộc nhóm này có tên là gói (package). Gói là cơ chế đa năng để tổ chức các
phần tử vào nhóm. Các phần tử cấu trúc, hành vi và ngay cả phần tử nhóm có thể
cho vào gói. Không giống thành phần(conponent), phần tử nhóm hoàn toàn là
khái niệm, có nghĩa rằng chúng chỉ tồn tại vào thời điểm phát triển của hệ thống
chứ không tồn tại vào thời gian chạy chương trình.
Ký pháp đồ họa: là hình chữ nhật có quai.

Tên gói

d. Phần tử chú thích: là bộ phận chú giải của mô hình UML. Đó là lời giải
thích áp dụng để mô tả các phần tử khác trong mô hình. phần tử chú thích được
gọi là lời ghi chú (note).
Ký pháp đồ họa:

Lời Giải Thích

8


1.3 Ứng dụng UML trong RUP
1.3.1 Mô hình hóa nghiệp vụ
Mô hình hóa nghiệp vụ nhằm mục đích nắm bắt quy trình hoạt động của
tổ chức nơi cần xây dựng hệ thống phần mềm bao gồm quy trình nghiệp vụ và
cách thức thực hiện, đối tượng thực hiện nghiệp vu và đối tượng thao tác của
nghiệp vụ, các tác nhân bên ngoài có giao tiếp và ảnh hưởng đến hoạt động của
tổ chức. Mô hình hóa nghiệp vụ là tùy chọn cho từng dự án.
1.3.2 Xác định yêu cầu
Mục đích của giai đoạn xác định yêu cầu là có được một sự thống nhất
giữa khách hàng với các nhà phát triển về những gì mà hệ thống sẽ thực hiện.
1.3.3 Phân tích
RUP mở rộng lược đồ Class cho công việc phân tích bằng cách định nghĩa
thêm boundary, control và entity từ cơ chế mở rộng của UML.
-

Boundary: lớp trong hệ thống đảm nhận vai trò giao tiếp giữa hệ thống
với các tác nhân bên ngoài ví dụ như giao diện người sử dụng

-

Control: lớp mang chức năng xử lý, điều khiển các hoạt động xử lý,
tính toán

-

Entity: lớp đại diện cho thực thể nghĩa là các đối tượng dữ liệu có thể
lưu trữ, tham chiếu hay sửa đổi.


Mô hình phân tích có chức năng làm rõ các use case, mô tả các quan hệ
giữa ba thành phần boundary, control, entity trong hệ thống để thực hiện use
case.
1.3.4 Thiết kế
Thiết kế là công việc sử dụng các kết quả ở mức phân tích cho một nhóm
use case để tiếp tục phát triển hệ thống về kiến trúc, chi tiết các chức năng cũng
như lưu ý đến các yêu cầu phi chức năng, các ràng buộc có thể có.
Các vấn đề quan trâm trong công việc này có thể kể đến là:
+ Môi trường phát triển phần mềm, ngôn ngữ lập trình, hệ điều hành, các
yêu cầu xử lý đồng thời hay phân tán và môi trường cơ sở dữ liệu.

9


+ Định dạng kiến trúc hệ thống trên cơ sở bảo toàn kiến trúc ở mức phân
tích nhưng có thể tiếp tục phân rã các hệ thống con thành các đơn vị nhỏ hơn để
có thể quản lý và cài đặt một cách hiệu quả.
+ Thiết kế các giao diện chủ yếu để có thể giao tiếp với các hệ thống con
và phát triển tương đối độc lập các hệ thống con này
1.3.5 Cài đặt
- Kiến trúc cài đặt: Phác thảo mô hình thành phần bằng cách xác định các
thành phần mang tính chủ yếu, cấu tạo nên kiến trúc hệ thống như các thành phần
chứa tài liệu hay đóng gói các file mã nguồn và gắn các thành phần chính này
vào các chương trình chính.
- Cài đặt và tích hợp hệ thống: Lập kế hoạch cho việc cài đặt và tích hợp
từng bước các thành phần của hệ thống khởi đầu từ các use case. Điều này khiến
việc kiểm chứng một use case hoàn chỉnh dễ dàng hơn. Quá trình cài đặt các
thành phần cần phải dựa vào các phụ thuộc giữa các thành phần.
1.3.6 Kiểm chứng

- Lập kế hoạch kiểm chứng: Xác định chiến lược kiểm chứng, nhân sự và
các tài nguyên liên quan, các kết quả đạt được trong mỗi quy trình kiểm chứng.
- Thiết kế các quy trình kiểm chứng
- Thực hiện kiểm chứng: tự động hóa các quy trình kiểm chứng một cách
tối đa bằng cách tạo các thành phần kiểm chứng. Mỗi thành phần chứa các kịch
bản cho quy trình kiểm chứng. Kiểm chứng kết quả là tích hợp. Đánh giá kết quả
kiểm chứng các độ đo về mức độ hoàn chỉnh và tin cậy.
1.4 Giới thiệu ngôn ngữ cài đặt chương trình
1.4.1 Giới thiệu ngôn ngữ Java
 Lịch sử của java

Java được khởi đầu bởi James Gosling và bạn đồng nghiệp ở Sun
Microsystems năm 1991. Ban đầu ngôn ngữ này được gọi là Oak (có nghĩa là
cây sồi; do bên ngoài cơ quan của ông Gosling có trồng nhiều loại cây này), họ
dự định ngôn ngữ đó thay cho C++, nhưng các tính năng giống Objective C.
Không nên lẫn lộn Java với JavaScript, hai ngôn ngữ đó chỉ giống tên và loại cú

10


pháp như C. Công ty Sun Microsystems đang giữ bản quyền và phát triển Java
thường xuyên.
Java được tạo ra với tiêu chí "Viết (code) một lần, chạy khắp nơi" ("Write
Once, Run Anywhere" (WORA)). Chương trình phần mềm viết bằng Java có thể
chạy trên mọi nền tảng (platform) khác nhau thông qua một môi trường thực thi
với điều kiện có môi trường thực thi thích hợp hỗ trợ nền tảng đó. Môi trường
thực thi của Sun Microsystems hiện hỗ trợ Sun Solaris, Linux, Mac OS,
FreeBSD & Windows. Ngoài ra, một số công ty, tổ chức cũng như cá nhân khác
cũng phát triển môi trường thực thi Java cho những hệ điều hành khác. Trong đó
đáng nói đến nhất là IBM Java Platform hỗ trợ Windows, Linux, AIX & z/OS.

 Đặc điểm của java


Đơn giản( simple). Tương tự như C++ nhưng bỏ bớt các đặc tính phức tạp
của C++ như: quản lý bộ nhớ, pointer, overload toán tử, không dùng
include, bỏ struct, union.



Hướng đối tương(Object-oriented).Giống như C++, Java sử dụng các lớp
để tổ chức mã trong các module logic. Trong thời gian chạy, một chơng
trình tạo các đối tợng từ các lớp. Các lớp Java có thể kế thừa từ các lớp
khác, nhng sự kế thừa nhiều lớp, theo một khía cạnh nào đó, một lớp kế
thừa các hệ thống và các trờng từ nhiều hơn một lớp thì không đợc phép.



Phân tán (Distributed). Nhắm đến phân bố ứng dụng trên mạng, ứng
dụng độc lập platform.



Mạnh (Robust). Định kiểu mạnh, tường minh, kiểm tra lúc biên dịch và
kiểm tra khi thông dịch trước khi thực thi vì vậy Giới hạn được lỗi; kiểm
tra truy xuất phần tử của mảng, chuỗi lúc thực thi, kiểm tra ép kiểu runtime. Có trình gom rác – garbage collection- programmer không cần phải
lo toan đến việc hủy đối tượng.



Bảo mật (Secure): Kiểm tra an toàn code trước khi thực thi, có nhiều mức

kiểm tra bảo mật nên Môi trường thực thi an toàn. Hệ thống Java không
chỉ kiểm tra mọi sự truy cập bộ nhớ mà còn bảo đảm không virus nào có
thể làm ngưng trệ một applet đang chạy. Vì các con trỏ không đợc hỗ trợ

11


trong ngôn ngữ Java nên các chơng trình không thể truy cập vào các vùng
của hệ thống khi chúng không được phép.


Đa luồng (multithreading). Cho phép lập trình đa luồng (nhiều chương
trình đồng hành nhờ lớp Thread : khởi tạo, ngưng 1 luồng, kiểm tra trạng
thái của luồng).
thread: một luồng thực thi của CPU cũng như là 1 chương trình



Linh động (dynamic): Cho phép tương thích với sự thay đổi của môi
trường, Trong CT java có các thông tin run-time vì vậy Kiểm tra truy xuất
lớp an toán, do đó an toàn để liên kết cấu lớpvào CT nên dynamic



Dịch (Compiled): Trước khi bạn chạy một chương trình viết bằng Java,
chương trình phải được dịch bởi chương trình dịch Java. Kết quả sẽ được
đưa ra trong một file “byte_code” tương đương với một file mã máy, có
thể được thực hiện trong bất kỳ hệ tính toán nào mà có trình thông dịch
Java. Trình thông dịch này đọc file “byte_code” và dịch các lệnh
byte_code sang các lệnh trong ngôn ngữ máy mà có thể được thực hiện

trực tiếp bằng máy.

 Lập trình giao diện với Swing.
Là một gói nằm trong thư viện JFC, gồm nhiều lớp (classes) và giao diện
(interfaces) hỗ trợ mạnh mẽ cho việc lập trình giao diện đồ họa trên JDK.
Các thành phần của Swing thường bắt đầu bằng chữ J bao gồm:
-Jlabel: nhãn.
-JtextField: ô text.
-Jbutton: nút bấm.
-JTextArea: vùng văn bản.
-Jframe: cửa sổ.
-JPanel: khung chứa.
-JComboBox: danh sách sổ.
-JList: Hộp danh sách.
-JScrollPane: Thanh cuộn.
……….

12


a.Làm việc với các component.
+JFrame: là các cửa sổ, là lớp con của lớp Windown, là khung chứa các
component khác. Các hàm cơ bản của nó là:
-setSize(int with,int hight): đặt kích thước cửa sổ.
-setVisible(boolean kt): cho phép hiển /ẩn cửa sổ.
-add(component t): thêm một component lên cửa sổ.
-setTile(String st): đặt tiêu đề cho cửa sổ.
+JPanel: là các vùng chứa trong cửa sổ, dùng để nhóm các thành phần
khác. Các hàm cơ bản của nó là:
-setBorder(): đặt đường viền.

-setSize(): đặt kích thước.
-add(component t): thêm component.
+JDialog: là lớp con của lớp Windown, không có chức năng phong to thu
nhỏ, và được sử dụng như sau:
Frame myframe = new Frame(“My frame”);
String title = “Title”;
boolean modal = true;
Dialog dlg = new Dialog( myframe, title, modal);
Trong đó myframe là khung chứa nó, title là tiêu đề của dialog, modal tùy
vào giá trị nhận được là true/false để cho phép người dùng có thể làm việc với
cửa sổ khác hay không.
+JLabel: là một nhãn hiển thị chuỗi (String), các phương thức hay dùng:
-setText(String st): đặt chuỗi hiển thị.
-getText(): lấy về giá trị của chuỗi đang có trên Jlabel.
-setFont(Font f): đặt Font chữ hiển thị.
+JTextField: là điều khiển Text, dùng để hiển thị hoặc cho phép người
dùng nhập liệu: các phương thức hay dùng là:
-setText(String st): đặt chuỗi hiện thị.
-getText(): lấy về giá trị trong JtextFiled hiện thời.

13


-setEditable(boolean kt): cho phép hoặc không cho phép làm việc với
JTextFiled.
+JButton: là điều khiển thực hiện các thao tác, xử lý. Nó thường đi kèm
với các hành động tác động vào nó.
+JTextAre: được dùng khi text có từ hai dòng trở lên, hỗ trợ soản thảo
nhiều dòng.
+JCheckBoxes: được dùng để cho phép người dùng chọn nhiều lựa chọn,

các phương thức hay dùng là:
-setText(String st): đặt nhãn cho checkbox.
-getText(String st): lấy về nhãn của checkbox.
-setSelected(boolean kt): đặt thuộc tính có được chọn hay không.
+JRadioButton: được dùng để cho phép user chỉ đựợc chọn một lựa chọn
duy nhất. các JradioButton nay phài được đặt trong cùng một nhóm (Group). Các
phương thức hay dùng là:
-setText(String st): đặt nhãn cho radio.
-getText(): lấy về giá trị của nhãn.
-setSelected: đặt thuộc tính có được chọn hay không.
+JChoiseList: cho phép tạo danh sách với nhiều lựa chọn. ta có thể thêm
bớt các lựa chọn. Các phương thức hay dùng là:
-addItem(): thêm một lựa chọn.
-remove(): xóa lựa chọn.
+JMenuBar: là thanh chứa các Menu.
+JMenu: là các Menu chứa các MenuItem.
+JMenuItem: là các item, thường gắn với sự kiện.
b.Sự kiện (Event)
Ta dùng chúng để điều khiển các thay đổi diễn ra, hay bắt các hành
động như ấn phím, click button, di chuyển chuột, click chuột phải, chuột trái, giữ
phím….
Để sử dụng được chúng ta phải đăng ký trình xử lý sự kiện với các đối tượng.
Các trình xử lý này sẽ được gọi khi có một sự kiện tương ứng xảy ra. Event

14


listener sẽ lắng nghe một sự kiện cụ thể mà đối tượng đó tạo ra. Mỗi Event
listener cung cấp các phương thức để xử lý các sự kiện này. Lớp cài đặt listener
cần định nghĩa các phương thức này. Các sự kiện và listener tương ứng :


Sự kiện

Listener tương ứng

ActionEvent

ActionListener

Chú giải
Thường dùng cho các
button.

AdjustmentEvent

AdjustmentListener

Sự kiện khi các giá tri thay
đổi

ComponentEvent

ComponentListener

FocusEvent

FocusListener

ItemEvent


ItemListener

WindowEvent

WindowListener

TextEvent
MouseEvent
KeyEvent

dùng cho các MenuItem
Dùng cho các cửa sổ

TextListener

Dùng cho texfield, TextAre

MouseListener

Sự kiện chuột

KeyListener

Sự kiện phím

 Lập trình cơ sở dữ liệu trong java
a.Kết nối cơ sở dữ liệu.
Để kết nối với cơ sở dữ liệu, JDBC đòi hỏi hai yếu tố là trình điều
khiển (tương ứng với các kết nối ) và thông tin để kết nối (như địa chỉ máy chủ,
tên tài khoản đăng nhập và mật khẩu …) ở đây em xin trình bày cách kêt nối

thông qua trình điều khiển của Microsoft với cơ sở dữ liệu SQL2000. Chúng ta
khai báo tên lớp này như sau:
String drivename=” com.microsoft.jdbc.sqlserver.SQLServerDriver”;

Để có driver này bạn download driver từ trang web theo địa chỉ sau:
sau khi cài đặt bạn add 3 file jar trong thư mục lib của thư

mục cài đặt vào trong project của bạn.
Tiếp đến gọi phương thức tĩnh forName của lớp Class dể nạp và khởi tạo
trình điều khiển

15


Class.forName(drivername).newInstance();

Kể từ lúc này chúng ta đã hoàn toàn có khả năng sử dụng trình điều khiển
để truy xuất dữ liệu. Tuy nhiên trình điều khiển của bạn cần biết thêm những
thông tin cụ thể như tài khoản đăng nhập, địa chỉ máy chủ nơi chứa cơ sở dữ liệu.
Những thông tin này cần phải được thiết lập trước khi cấu hình cho chuỗi kết nối.
Chẳng hạn bạn có cơ sở dữ liệu “QLTV”, username=“sa”, pass=“” bạn thực hiện
kết nối bằng cách gọi đối tượng Connection để kết nối tới cơ sở dữ liệu, và gọi
phương thức getConnection của lớp DriverManager để yêu cầu trình điều khiển
để tiếp nhận thông tin và thực thi kết nối như sau:
String connectionURL=”jdbc:microsoft:sqlserver://ngoc:1433;DatabaseName=QLTV”
String username=”sa”
String pass=””;
Connection con=null;
Con=DriverManger.getConnection(connectionURL,username,pass);


b.Truy vấn dữ liệu
Tiếp theo bước quan trọng là trích rút dữ liệu của các bảng trong cơ sơ dữ
liệu . Chúng ta định nghĩa câu truy vấn như sau:
String sqlQuery=”SELECT * FORM TENBANG”;

Câu truy vấn này sẽ chọn tất cả dữ liệu của các cột có trong bảng tenbang. Nếu
chỉ muốn tuyển ra một số cột nào đó bạn chỉ định tường minh lệnh SELECT như
sau:
String sqlQuery=”select tencot1,tencot2 from tenbang”;

Để yêu cầu JDBC truy vấn dữ liệu bạn dựa vào đối tượng Statements. Đối tượng
này được dùng để thực thi mọi câu lệnh SQL. Riêng đối với lệnh SQL seclect
nếu truy vấn thành công. Statement sẽ trả về kết quả là tập dữ liệu được có kiểu
dữ liệu ResultSet dưới đây là đoạn thực thi câu truy vấn:
Statements stmt=null;
ResultSet rs=null;
stmt=con.createStatement();
rs=stmt.excutequery(sqlQuery);

c.Trích xuất dữ liệu

16


Đối với lệnh select sau khi nhận được kết quả trả về là tập ResultSet, bạn
gọi phương thức next() sẽ trả về false nếu đến cuối tập dữ liêu. Đoạn mã thông
dụng để lấy về các mẩu tin trong ResultSet bằng vòng lặp sau:
While(rs.next()){
String st=rs.getString(1);
Int so=rs.getInt(2;

……..
}

Trong đó các phương thức getString()(getInt())sẽ trả về giá trị kiểu
String(int) tuỳ theo giá trị của cột tương ứng trong mẩu tin.
Để lấy về số cột cũng như kiểu dữ liệu của mỗi cột ta sử dụng phương thức
getMetaData(), ví dụ để lấy về số lượng cột hiện có ta dùng câu lệnh sau:
ResultSetMetaData rsmd=rs.getMetaData();
Int socot=rsmd.getColumnCount();

d.Cập nhật-xóa-sửa cơ sở dữ liệu.
Ngoài lệnh SQL SELECT thường sử dụng ra , các lệnh thay đổi dữ liệu
như INSERT (tạo mới tập tin) , UDATE (cập nhật mẩu tin), cũng sẽ gặp trong
qua trình phát triển ứng dụng. Thực thi những lệnh này cũng tương tự như thực
thi lệnh select. Chúng ta dựa vào đối tượng Statements. Tuy nhiên khác với
SELECT, những lệnh SQL như INSERT/UPDAT/DELETE sau khi thực thi
không trả về kết quả ResultSet. Thực tế bạn cũng không cần nhận kết quả trả về
từ những lệnh này, vì chúng đã phản ánh bằng sự tác động vào những thay đổi
trong bảng. Để thực thi các câu lệnh này thay vì gọi phương thức excuteQuery(),
ta sẽ gọi phương thức
executeUpdate(). Ví dụ như ta cần cập nhật thông tin thì có đoạn lệnh như sau:
String sqlQuery=”update tenbang set tencot1=giatri1 where tencot2=giatri2”;
stmt. executeUpdate();

4.1.2 Giới thiệu hệ quản trị cơ sở dữ liệu SQL 2005
Microsoft SQL Server là một hệ quản trị cơ sở dữ liệu quan hệ (Relation
Database Management System - RDBMS), cung cấp cách tổ chức dữ liệu bằng

17



cách lưu chúng vào các bảng. Dữ liệu quan hệ được lưu trữ trong các bảng và các
quan hệ đó được định nghĩa giữa các bảng với nhau.
Người dùng truy cập dữ liệu trên Server thông qua ứng dụng. Người quản
trị CSDL truy cập Server trực tiếp để thực hiện các chức năng cấu hình, quản trị
và thực hiện các thao tác bảo trì CSDL.
Ngoài ra, SQL Server là một CSDL có khả năng mở rộng, nghĩa là chúng
có thể lưu một lượng lớn dữ liệu và hỗ trợ tính năng cho phép nhiều người dùng
truy cập dữ liệu đồng thời.
Các phiên bản của SQL Server phổ biến hiện này trên thị trường là SQL
Server 7.0, SQL Server 2000, SQL Server 2005, SQL Server 2008.
 Các thành phần của SQL server 2005
+ SQL Server Database
Cỗ máy cơ sở dữ liệu bao gồm Database Engine, lõi dịch vụ cho việc lưu
trữ, xử lý và bảo mật dữ liệu, sao lưu và đồng bộ (Replication), tìm kiếm toàn
văn (Full-Text Search), và các công cụ cho việc quản trị dữ liệu quan hệ và
XML.
+ Analysis Services
Analysis Services bao gồm các công cụ cho việc tạo và quản lý tiến trình
phân tích trự tuyến (online analytical processing - OLAP) và các ứng dụng khai
thác dữ liệu.
+ Reporting Services
Reporting Services bao gồm các thành phần server và client cho việc tạo,
quản lý và triển khai các báo cáo. Reporting Services cũng là nền tảng cho việc
phát triển và xây dựng các ứng dụng báo cáo.
+ Notification Services
Dịch vụ thông báo Notification Services là nền tảng cho sự phát triển và
triển khai các ứng dụng tạo và gửi thông báo. Notification Services có thể gửi
thông báo theo địch thời đến hàng ngàn người đăng ký sử dụng nhiều loại thiết bị
khác nhau.

+ Integration Services

18


Integration Services là một tập hợp các công cụ đồ họa và các đối tượng lập trình
cho việc di chuyển, sao chép và chuyển đổi dữ liệu.
 Làm việc với các đối tượng cơ bản trong SQL server 2005
a) Các Database hệ thống
Khi cài đặt SQL Server có 4 Database hệ thống được cài đặt, đó là:
- master: Ghi nhận thông tin cấp hệ thống, thông tin khởi tạo SQL Server
và thiết lập cấu hình SQL Server. Database này cũng ghi nhận tất cả các tài
khoản đăng nhập, sự tồn tại của các Database khác, vị trí tập tin chính cho tất cả
Database người dùng.
- tempdb: Giữ các bảng tạm, các stored procedure tạm,.v.v... Được dùng
cho các nhu cầu lưu trữ tạm của SQL Server.
- model: là khuôn mẫu cho tất cả các CSDL khác được tạo trên hệ thống
kể cả tempdb. Database model phải được tồn tại trên hệ thống, bởi vì nó được
dùng để tạo lại tempdb mỗi khi SQL server được khởi động.
- msdb: Giữ các bảng mà SQL Server Agent dùng để lập thời gian biểu
thực thi các công việc, các cảnh báo và các operator.
b) Bảng – Table
* Dùng SQL Server Management Studio trong SQL Server 2005:
Để tạo bảng trong SQL Server Management Studio ta thực hiện:
1. Mở rộng các đối tượng trên thể hiện của SQL trong cửa sổ Object
Explorer muốn tạo bảng.
2. Mở rộng mục Database và chọn cơ sở dữ liệu muốn tạo bảng.
Right click lên mục Table và chọn New Table xuất hiện cửa sổ thiết kế
table
+ Column Name: Nhập tên các cột trong bảng.

+ Data Type: Chọn kiểu dữ liệu và độ dài cho kiểu.
+ Allow Nulls: Cho phép chấp nhận dữ liệu NULL hay không?
+ Column Properties: Thiết lập các thuộc tính cho cột đang được chọn.

19


3. Để thiết lập khóa, chọn các trường khóa của bảng sau đó click vào nút
biểu tượng khóa (Set Primary Key) hoặc right click vào các trường đó và chọn
Set Primary Key.
4. Dùng tổ hợp phím Ctrl+S hoặc click vào nút Save để lưu cấu trúc bảng
vừa tạo trong cơ sở dữ liệu.
c) Khung hình – View
+ Khái niệm View
View là một bảng ảo được định nghĩa bởi một truy vấn với phát biểu
SELECT. View được hình thành dữ liệu từ một hoặc nhiều bảng thật. Đối với
người sử dụng thì view giống như một bảng thật.
+ Tạo view
Trong SQL Server 2005 , ta có 2 cách khác nhau để tạo:
+ SQL Server Management Studio
+ Dùng T-SQL
+ Thay đổi view
* Dùng SQL Server Management Studio
* Dùng T-SQL:
+ Xóa view
- Trong cửa sổ SQL Server Management Studio, mở rộng danh mục
Database, mở rộng cơ sở dữ liệu muốn xóa view, chẳng hạn CSDL QLNS và
chọn mụcViews. Sau đó right click lên View muốn xóa, chọn Delete xuất hiện
cửa sổ xác nhận xóa chọn OK.
- Dùng T-SQL dùng lệnh DROP VIEW theo cú pháp:

DROP VIEW View_name
d). Lược đồ - Diagrams
a) Tạo lược đồ
* Dùng SQL Server Management Studio
+ Trong SQL Server Management Studio, mở rộng danh mục Database,
mở rộng cơ sở dữ liệu muốn tạo Database Diagrams. Right click và chọn New

20


Database Diagram xuất hiện cửa sổ Add Table. Chọn các bảng xây dựng lược đồ
thông qua nút Add. Xuất hiện cửa sổ thiết kế Diagram.
Ta thực hiện thiết kế mối quan hệ giữa các bảng trong cơ sở dữ liệu bằng
việc kéo và giữ trường của bảng này thả sang trường tương ứng của bảng khác
xuất hiện cửa sổ Table and Columns. Ta thực hiện điều chỉnh các tham số cho
mối quan hệ đó.
b) Chỉnh sửa lược đồ
* Dùng SQL Server Management Studio
+ Trong SQL Server Management Studio, mở rộng danh mục Database,
mở rộng cơ sở dữ liệu sửa đổi Database Diagrams. Right click vào Diagram
muốn sửa đổi và chọn Modify xuất hiện cửa sổ thiết kế Database ta thực hiện sửa
đổi trên cửa sổ này.
c) Xóa lược đồ
Trong SQL Server Management Studio, mở rộng danh mục Database, mở
rộng cơ sở dữ liệu sửa đổi Database Diagrams. Right click vào Diagram muốn
sửa đổi và chọn Delete xuất hiện cửa sổ xác nhận xóa và chọn ok.

21



CHƯƠNG 2 : NẮM BẮT CÁC YÊU CẦU CỦA HỆ THỐNG

2.1 Khảo sát hiện trạng hệ thống quản lý điểm của trường THPT
2.1.1 Quá trình đào tạo học sinh tại trường:
- Bắt đầu mỗi năm học, nhà trường tổ chức tuyển sinh học sinh cho khoá
học mới và công tác tuyển sinh được thực hiện theo quy chế của Bộ Giáo dục và
Đào tạo ban hành. Thông tin về học sinh được lưu trong hồ sơ học sinh.
- Nhà trường đào tạo học sinh theo khoá, mỗi một khoá học là ba năm (lớp
10, 11, 12), mỗi năm học gồm 2 kỳ
- Theo quy chế 40 của Bộ Giáo dục và Đào tạo (áp dụng từ năm học 2006 2007), học sinh THPT được phân thành 3 ban là: Ban khoa học tự nhiên
(KHTN), ban khoa học xã hội và nhân văn (KHXH-NV) và ban Cơ bản. Việc
phân ban được thực hiện dựa vào nguyện vọng của học sinh, kết quả tuyển sinh
và cơ cấu giáo viên của nhà trường.
- Học sinh được tổ chức thành từng lớp theo ban được phân, mỗi lớp có một
giáo viên chủ nhiệm.
- Các môn học trong nhà trường được tổ chức thành các bộ môn, đứng đầu
mỗi bộ môn là tổ trưởng bộ môn.
- Cuối mỗi kỳ nhà trường tổ chức thi kiểm tra và đánh giá kết quả học tập,
hạnh kiểm của từng học sinh và xét khen thưởng cho học sinh.
- Đến cuối mỗi năm học nhà trường đều tiến hành thi chất lượng (thi học
kỳ) hoặc thi tốt nghiệp tuỳ thuộc vào từng khối học, tổng kết kết quả học tập của
từng học sinh và xét duyệt cho lên lớp, thi lại hay lưu ban, được tốt nghiệp hay
trượt tốt nghiệp.
- Kết quả rèn luyện của học sinh được đánh giá thông qua hạnh kiểm và
điểm tổng kết học tập.
2.1.2 Quy trình quản lý điểm
- Điểm của từng môn học do Giáo viên bộ môn chấm, lưu vào sổ điểm cái
(do giáo viên chủ nhiệm giữ) và sổ điểm cá nhân của giáo viên bộ môn. Giáo
viên bộ môn chịu trách nhiệm cộng điểm trung bình kiểm tra, điểm thi, điểm


22


trung bình học kỳ 1, điểm trung bình học kỳ 2 và tính điểm trung bình môn cả
năm. Và đến cuối mỗi kỳ giáo viên bộ môn phải hoàn tất điểm của bộ môn mình
và chuyển vào sổ cái.
- Cuối mỗi kỳ, Giáo viên chủ nhiệm lớp sẽ cầm sổ cái, tiến hành cộng điểm
trung bình học kỳ, điểm trung bình cả năm, xét học lực, hạnh kiểm cho từng học
sinh trong lớp mình. Xem có bao nhiêu học sinh được khen thưởng, được lên lớp,
bao nhiêu học sinh thi lại, bao nhiêu học sinh lưu ban. Khi đã tổng hợp xong hết
thì Giáo viên chủ nhiệm lớp sẽ đọc kết quả học tập cũng như rèn luyện của từng
học sinh trước lớp.
- Sổ điểm từ khi cho điểm vào tới khi tổng hợp xong từng học kỳ, cả năm
phải bảo đảm là đúng, sạch, không tẩy xoá, không sửa chữa. Và giáo viên chủ
nhiệm lớp sẽ nộp lại sổ điểm (sổ cái), báo cáo kết quả học tập cho nhà trường.
Nhà trường sẽ tiến hành đối chiếu lại điểm và cách đánh giá, xếp loại học sinh
của giáo viên chủ nhiệm lớp đưa lên xem đã đúng và đủ chưa. Để đưa ra được
những mức khen thưởng, kỷ luật đúng, kịp thời cho từng cá nhân học sinh, từng
tập thể lớp.
- Đến hết một năm học sổ điểm sẽ được lưu trong phòng văn thư của nhà
trường.
- Mỗi giáo viên bộ môn có sổ điểm của môn mà mình giảng dạy và phải
nộp lại cho Ban giám hiệu nhà trường kiểm tra, sau đó tổ trưởng bộ môn sẽ lưu
giữ.
- Sổ điểm lớn của mỗi lớp để theo dõi và lưu trữ thông tin của học sinh: Sơ
yếu lý lịch, kiểm diện học sinh trong 9 tháng của một năm học, điểm các môn
học, điểm tổng kết học kỳ và cả năm, xếp loại hạnh kiểm và học lực.
- Khi cần thông tin về điểm của học sinh, ta có thể tra cứu trong sổ điểm lớn
của lớp hoặc sổ điểm của giáo viên phụ trách môn đó.
2.1.3 Các môn học trong chương trình đào tạo

* Khối 10: (Đã phân ban)
- Học kỳ 1 và học kỳ 2 đều có các môn học như sau: Ngữ văn, Toán
học, Vật lý, Hoá học, Lịch sử, Địa lý, Sinh học, Ngoại ngữ (NN), Tin học,

23


Công nghệ (CN), Giáo dục công dân (GDCD), Giáo dục quốc phòng - an
ninh (GDQP-AN) (không tính vào môn chính khóa), Thể dục.
* Khối 11: (Đã phân ban)
- Học kỳ 1 và học kỳ 2 đều có các môn học: Ngữ văn, Toán học, Vật
lý, Hoá học, Lịch sử, Địa lý, Sinh học, Ngoại ngữ, Tin học, Công nghệ,
Giáo dục công dân (GDCD), Giáo dục quốc phòng - an ninh (GDQP), Thể
dục
* Khối 12: (Đã phân ban)
- Học kỳ 1 và học kỳ 2 học các môn: Toán, Vật Lí, Hóa Học, Sinh
Học, Tin Học, Ngữ Văn, Lịch Sử, Địa Lý, Ngoại Ngữ, GDCD, Công Nghệ,
Thể Dục. Môn Giáo dục quốc phòng - an ninh không tính vào môn chính
khoá.
2.1.4 Quy định về tính điểm cho học sinh
a. Quy định về điểm và hệ số môn học:
* Quy định về điểm:
- Mỗi môn học có các loại điểm: Điểm hệ số 1 (HS1), Điểm hệ số 2 (HS2),
điểm thi.
- Số lượng điểm HS1 và HS2 phụ thuộc vào từng môn học và số tiết trên
một tuần. Trong trường THPT, tối đa 1 môn học có 4 tiết 1 tuần, với môn học 4
tiết 1 tuần sẽ có 4 điểm HS2 và ít nhất 4 điểm HS1 và 1 điểm thi (hay điểm kiểm
tra học kỳ).
- Điểm HS1: Là các điểm kiểm tra miệng (mỗi môn có ít nhất 1 điểm
miệng), điểm kiểm tra viết dưới 1 tiết.

- Điểm HS2: Là các điểm kiểm tra viết, các bài thực hành từ 1 tiết trở lên.
- Điểm thi: Theo quy chế 40 thì hiện nay, học sinh lớp 10, 11 và 12 đã thực
hiện phân ban điểm thi có hệ số 3 trong khi tính điểm trung bình môn (không có
điểm trung bình kiểm tra).
* Hệ số môn học:
- Đối với học sinh đã phân ban thì phụ thuộc vào từng ban:

24


+ Ban KHTN(khoa học tự nhiên): Các môn hệ số 2 là Toán, Vật Lý, Hoá
học, Sinh học, các môn còn lại hệ số 1.
+ Ban KHXH-NV(khoa học xã hội và nhân văn): Các môn hệ số 2 là Ngữ
văn, Lịch sử, Địa lý, Ngoại ngữ, các môn còn lại hệ số 1.
+ Ban Cơ bản: Hệ số 2 được tính nếu học 3 hoặc 2 môn nâng cao thì tính
cho cả 3 hoặc 2 môn học nâng cao đó. Nếu chỉ học 1 môn nâng cao là Toán hoặc
Ngoại ngữ thì tính thêm cho môn còn lại trong 2 môn này. Nếu học 1 môn nâng
cao mà không phải là Toán hoặc Ngoại ngữ thì tính môn nâng cao và một trong 2
môn này. Nếu không học môn nâng cao nào thì tính cho 2 môn này. Các môn còn
lại hệ số 1
Tuy nhiên, đối với trường THPT Giao Thủy – Nam Định, nhà trường quy
định chung với Ban Cơ bản là tính điểm hệ số 2 cho 2 môn Toán và Ngoại ngữ.
b. Các công thức tính điểm:
* Các loại điểm trung bình cần tính:
- Đối với học sinh THPT, mỗi học sinh tính điểm sẽ cần phải có 3 giá trị:
+ Điểm trung bình các môn học kỳ 1 (TBCMHK1)
+ Điểm trung bình các môn học kỳ 2 (TBCMHK2)
+ Điểm trung bình các môn cả năm (TBCMCN)
Trong đó: TBCMCN được tính từ các giá trị TBCMHK1 và TBCMHK2
theo công thức sau:

TBCMCN = (TBCMHK1 + 2*TBCMHK2) / 3 (1)
* Các công thức tính điểm trung bình môn học và học kỳ:
 Đối với học sinh phân ban:
+ Điểm trung bình môn học học kỳ (TBMHK) và cả năm (TBMCN):
TBMHK = (∑HS1 + 2*∑HS2 + 3*DT) / (n1 + 2*n2 + 3) (2)
TBMCN = (TBMHK1 + 2*TBMHK2) / 3
Trong đó: ∑HS1 là tổng điểm HS1, ∑HS2 là tổng điểm hệ số 2, n1 là số
điểm HS1, n2 là số điểm HS1, DT là điểm thi.
+ Điểm TBCMHK:
TBCMHK = (∑hesoi*TBMHKi) / (∑hesoi) (3)

25


×