Tải bản đầy đủ (.docx) (106 trang)

Phân tích thiết kế hệ thống thông tin quản lý kết quả đào tạotheo hướng đối tượng trường cao đẳng hải dương

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 (3.59 MB, 106 trang )

ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

PHẠM THỊ LOAN

PHÂN TÍCH THIẾT KẾ HỆ THỐNG THÔNG TIN
“QUẢN LÝ KẾT QUẢ ĐÀO TẠO” THEO HƯỚNG ĐỐI TƯỢNG
- TRƯỜNG CAO ĐẲNG HẢI DƯƠNG

LUẬN VĂN THẠC SĨ

Hà Nội - 2011


2
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

PHẠM THỊ LOAN

PHÂN TÍCH THIẾT KẾ HỆ THỐNG THÔNG TIN
“QUẢN LÝ KẾT QUẢ ĐÀO TẠO” THEO HƯỚNG ĐỐI TƯỢNG
-

TRƯỜNG CAO ĐẲNG HẢI DƯƠNG

Ngành: Công nghệ thông tin
Chuyên ngành: Hệ thống thông tin
Mã số: 60.48.05

LUẬN VĂN THẠC SĨ



Người hướng dẫn khoa học: TS Lê Văn Phùng

Hà Nội - 2011


MỞ ĐẦU......................................................................................................................
CHƢƠNG 1.................................................................................................................
KHẢO SÁT HIỆN TRẠNG ........................................................................................

1. Thực trạng và những vấn đề nảy sinh trong hệ thống quản lý kết quả đào tạo tại
trƣờng CĐ Hải Dƣơng .................................................................................................
1.1 Một số vấn đề về việc tin học hoá quản lý trong trƣờng cao đẳng Hải Dƣơng ........
1.2. Tổng quan về hệ thống thông tin kết quả đào tạo tại trƣờng Cao đẳng Hải Dƣơng.13
1.3. Mục đích của đề tài ...............................................................................................
1.4. Xác định yêu cầu nghiệp vụ quản lý kết quả đào tạo .............................................
1.4.1
Mô tả nghiệp vụ ....................................................................
1.4.2
Cơ cấu tổ chức bộ máy của trƣờng Cao đẳng Hải Dƣơng ....
1.4.3
Tổng quát về công tác quản lý kết quả đào tạo tại trƣờng Cao
CHƢƠNG 2.................................................................................................................
CƠ SỞ NỀN TẢNG KHOA HỌC PHÁT TRIỂN HỆ THỐNG TRONG KỸ NGHỆ
PHẦN MỀM HƢỚNG ĐỐI TƢỢNG ..........................................................................
2.1 Vai trò của phân tích và thiết kế hệ thống...............................................................
2.2 Tổng quan về phân tích và thiết kế hệ thống ..........................................................
2.3 Tổng quan về cách tiếp cận hƣớng đối tƣợng .........................................................
2.3.1
Phƣơng pháp tiếp cận của lập trình truyền thống .................

2.3.2
Cách tiếp cận hƣớng đối tƣợng ............................................
2.3.2.1 Phƣơng pháp lập trình hƣớng đối tƣợng ...........................................................
2.3.2.2 Phân tích và thiết kế hƣớng đối tƣợng ..............................................................
2.3.3
So sánh Phƣơng pháp tiếp cận hƣớng đối tƣợng với phƣ
truyền thống (phƣơng pháp tiếp cận hƣớng cấu trúc) ...................................................
2.4. Ngôn ngữ mô hình hóa thống nhất (UML) ............................................................
2.4.1. Giới thiệu tổng quát về UML .............................................................................
2.4.2. Các khối xây dựng (building blocks) cơ bản của ULM .......................................
2.4.3. Một số khái niệm cơ bản trong UML .................................................................
2.4.4
Các quy tắc ngữ nghĩa của UML ..........................................
2.4.5
Các cơ chế chung trong UML ...............................................
2.4.6
Các quy tắc ràng buộc và suy diễn ........................................
2.5 Quá trình phát triển phần mềm hƣớng đối tƣợng ....................................................
CHƢƠNG 3.................................................................................................................
PHÂN TÍCH HỆ THỐNG QUẢN LÝ KẾT QUẢ ĐÀO TẠO THEO PHƢƠNG PHÁP
TIẾP CẬN HƢỚNG ĐỐI TƢỢNG .............................................................................
3.1. Phân tích các chức năng của hệ thống ...................................................................
3.2 Phân tích các ca sử dụng ........................................................................................
3.2.1 Các Actor của hệ thống .......................................................................................
3.2.2
Danh sách các ca sử dụng......................................................


7
3.2.3. Mô hình các ca sử dụng và mô tả các ca sử dụng mô hình miền

3.2.3.1. Mô tả ca sử dụng gói “quản lý ngƣời dùng” ....................................................
3.2.3.2. Mô tả ca sử dụng quản lý dữ liệu hồ sơ sinh viên ............................................
3.2.3.3. Mô tả ca sử dụng gói phân lớp cho sinh viên ...................................................
3.2.3.4. Mô tả ca sử dụng gói quản lý học kỳ ...............................................................
3.2.3.5. Mô tả ca sử dụng gói quản lý nhập điểm cho sinh viên ....................................
3.2.3.6. Mô tả ca sử dụng gói phân loại sinh viên .........................................................
3.2.3.7. Mô tả ca sử dụng gói quản lý năm học ............................................................
3.2.3.8. Mô tả ca sử dụng gói quản lý thi tốt nghiệp .....................................................
3.2.3.9. Mô tả ca sử dụng gói danh sách sinh viên tốt nghiệp .......................................
3.3
Mô hình lớp ...........................................................................................................
3.3.1 Vấn đề xác định lớp.............................................................................................
3.3.2 Xây dựng biểu đồ lớp trong pha phân tích ...........................................................
3.3.2.1. Xác định các danh từ và động từ. ....................................................................
3.3.2.2 Xác định các lớp trong hệ thống .......................................................................
CHƢƠNG 4.................................................................................................................
THIẾT KẾ HỆ THỐNG QUẢN LÝ KẾT QUẢ ĐÀO TẠO THEO PHƢƠNG PHÁP
HƢỚNG ĐỐI TƢỢNG................................................................................................
4.1. Kiến trúc hệ thống quản lý kết quả đào tạo ............................................................
4.1.1. Đặc tả kiến trúc hệ thống ....................................................................................
4.1.2. Giải pháp công nghệ ..........................................................................................
4.2
Biểu đồ cộng tác của các ca sử dụng ......................................................................
4.3
Biểu đồ trình tự thực thi các ca sử dụng .................................................................
4.4
Biểu đồ thành phần ................................................................................................
4.5
Biểu đồ triển khai ...................................................................................................
CHƢƠNG 5.................................................................................................................

CÀI ĐẶT CHƢƠNG TRÌNH QUẢN LÝ KẾT QUẢ ĐÀO TẠO................................
5.1
Ngôn ngữ lập trình C#............................................................................................
5.2
Hệ quản trị CSDL SQL ..........................................................................................
5.2.1 Các module chƣơng trình ....................................................................................
5.3. Thiết kế các Form .................................................................................................
KẾT LUẬN .................................................................................................................
TÀI LIỆU THAM KHẢO..........................................................................................


3
BẢNG TỪ VIẾT TẮT

1. Tiếng Anh
CASE

(Computer Aided Software Engineering)

CBD

(Component Based Developemnt)

IT

(Information Technology)

OMT

(Object Modelling Technique)


OOL

(Object Oriented Language)

OOP

(Object Oriented Programming)

OOPL

(Object Oriented Programming Language)

OOSE

(Object Oriented Software Engineering)

PC

(Personal Computer)

UML

(Unified Modelling Language)

2. Tiếng Việt
CD

Cao đẳng


CNTT

Công nghệ thông tin

CSDL

Cơ sở dữ liệu

ĐVHT

Đơn vị học trình

HK

Học kỳ

HSSV

Học sinh sinh viên

HT

Hệ thống

HTTT

Hệ thống thông tin

NSD


Ngƣời sử dụng

PM

Phần mềm

PTTK

Phân tích thiết kế

SV

Sinh viên


8
DANH MỤC HÌNH VẼ
Hình 2.1: Tập các lớp đối tƣợng của hệ thống ..............................................................
Hình 2.2: Hai phƣơng pháp chính trong phát triển phần mềm ......................................
Hình 2.3. Sự phát triển của UML .................................................................................
Hình 2.4. Mô hình hóa kiến trúc hệ thống ....................................................................
Hình 2.5. Các thành phần cơ sở của ULM....................................................................
Hình 2.6. Lớp ..............................................................................................................
Hình 2.7 Giao diện .......................................................................................................
Hình 2.8 Sự cộng tác....................................................................................................
Hình 2.9 Ca sử dụng ....................................................................................................
Hình 2.10 Lớp .............................................................................................................
Hình 2.11 Thành phần .................................................................................................
Hình 2.12 Nút ..............................................................................................................
Hình 2.13 Thông điệp/thông báo ..................................................................................

Hình 2.14 Trạng thái. ...................................................................................................
Hình 2.15 Gói ..............................................................................................................
Hình 2.16 Chú thích .....................................................................................................
Hình 2.17 Quan hệ phụ thuộc ......................................................................................
Hình 2.18 Kết hợp .......................................................................................................
Hình 2.19 Tổng quát hóa .............................................................................................
Hình 2.20 Thực hiện hóa..............................................................................................
DANH MỤC CÁC BẢNG
Bảng 3.1 Bảng chức năng quản trị hệ thống .................................................................
Bảng 3.2 Bảng chức năng Quản lý Hồ sơ .....................................................................
Bảng 3.3 Bảng chức năng Quản lý chƣơng trình đào tạo ..............................................
Bảng 3.4 Bảng chức năng Quản lý điểm học kỳ ...........................................................
Bảng 3.5 Bảng chức năng Quản lý điểm theo năm học ................................................
Bảng 3.6 Bảng các chức năng Quản lý tốt nghiệp ........................................................
DANH MỤC BIỂU ĐỒ VÀ MÔ HÌNH
Hình 3.1. Mô hình ca sử dụng toàn hệ thống ................................................................
Hình 3.2. Mô hình ca sử dụng gói quản lý ngƣời dùng .................................................
Hình 3.3. Mô hình ca sử dụng gói quản lý dữ liệu hồ sơ sinh viên ...............................
Hình 3.4. Mô hình ca sử dụng gói phân lớp cho sinh viên ............................................
Hình 3.5 Mô hình ca sử dụng quản lý học kỳ ...............................................................
Hình 3.6 Mô hình ca sử dụng gói quản lý nhập điểm cho sinh viên ..............................
Hình 3.7 Mô hình ca sử dụng phân loại sinh viên.........................................................
Hình 3.8 Mô hình ca sử dụng quản lý năm học ............................................................
Hình 3.9 Mô tả ca sử dụng quản lý thi tốt nghiệp .........................................................
Hình 3.10 Mô tả ca sử dụng danh sách sinh viên tốt nghiệp .........................................
Hình 3.11 Biểu đồ lớp của hệ thống quản lý kết quả đào tạo ........................................


9
Hình 4.1 Biểu đồ cộng tác thực thi ca sử dụng nhập mới hồ sơ ....................................

Hình 4.2. Biểu đồ cộng tác thực thi ca sử dụng tìm kiếm hồ sơ sinh viên .....................
Hình 4.3 Biểu đồ cộng tác thực thi ca sử dụng sửa hồ sơ sinh viên ..............................
Hình 4.4 Biểu đồ cộng tác thực thi ca sử dụng xóa hồ sơ sinh viên ..............................
Hình 4.5 Biểu đồ cộng tác thực thi ca sử dụng nhập điểm cho sinh viên ......................
Hình 4.6 Biểu đồ cộng tác thực thi ca sử dụng sửa điểm sinh viên ...............................
Hình 4.7 Biểu đồ cộng tác thực thi ca sử dụng xóa điểm sinh viên ...............................
Hình 4.8 Biểu đồ cộng tác thực thi ca sử dụng tính điểm sinh viên ..............................
Hình 4.9 Biểu đồ cộng tác thực thi ca sử dụng in danh sách sinh viên ..........................
Hình 4.10 Biểu đồ cộng tác thực thi ca sử dụng nhập môn thi ......................................
Hình 4.11 Biểu đồ cộng tác thực thi ca sử dụng in bảng điểm sinh viên .......................
Hình 4.12 Biểu đồ tuần tự thực thi ca sử dụng nhập hồ sơ sinh viên ............................
Hình 4.13 Biểu đồ tuần tự thực thi ca sử dụng tìm kiếm hồ sơ sinh viên ......................
Hình 4.14 Biểu đồ tuần tự thực thi ca sử dụng sửa hồ sơ sinh viên ...............................
Hình 4.15 Biểu đồ tuần tự thực thi ca sử dụng xóa hồ sơ sinh viên ..............................
Hình 4.16 Biểu đồ tuần tự thực thi ca sử dụng nhập điểm sinh viên .............................
Hình 4.17 Biểu đồ tuần tự thực thi ca sử dụng sửa điểm sinh viên ...............................
Hình 4.18 Biểu đồ tuần tự thực thi ca sử dụng xóa điểm sinh viên ...............................
Hình 4.19 Biểu đồ tuần tự thực thi ca sử dụng tính điểm sinh viên ...............................
Hình 4.20 Biểu đồ tuần tự thực thi ca sử dụng in danh sách sinh viên ..........................
Hình 4.21 Biểu đồ hoạt động Đăng nhập......................................................................
Hình 4.22 Biểu đồ hoạt động Nhập điểm .....................................................................
Hình 4.23 Biểu đồ lớp thực thi gói quản lý hồ sơ và điểm ............................................
Hình 4.24 Biểu đồ lớp thực thi ca sử dụng nhập mới hồ sơ sinh viên ...........................
Hình 4.25 Biểu đồ lớp thực thi ca sử dụng nhập điểm cho sinh viên ............................
Hình 4.26 Biểu đồ lớp thực thi ca sử dụng in danh sách sinh viên ................................
Hình 4.27 Biểu đồ lớp thực thi ca sử dụng in bảng điểm sinh viên ...............................
Hình 4.28 Biểu đồ thành phần chƣơng trình .................................................................
Hình 4.29 Biểu đồ triển khai chƣơng trình ...................................................................



10
MỞ ĐẦU
Trong quá trình phát triển của công nghệ phần mềm, nhiều dự án, nhiều chƣơng
trình phát triển phần mềm đã đƣợc thực hiện, nhƣng hoặc là không kết thúc, hoặc xây
dựng xong nhƣng không thực hiện đƣợc hoặc đã xây dựng xong nhƣng còn nhiều lỗi
không đáp ứng đƣợc yêu cầu của ngƣời sử dụng. Vì để xây dựng một phần mềm tốt
cần phải chú ý tới các vấn đề chính sau:
-

Dữ liệu, đối tƣợng và cấu trúc của chúng

-

Những hành vi thể hiện các chức năng và quá trình trong hệ thống

-

Điều khiển hành vi tổng thể của hệ thống

Nhiệm vụ của công nghệ thông tin nói chung, công nghệ phần mềm nói riêng là
nghiên cứu các mô hình, phƣơng pháp và công cụ để tạo ra những hệ thống phần mềm
chất lƣợng cao nhằm đáp ứng đƣợc những nhu cầu thƣờng xuyên thay đổi, ngày một
phức tạp của thực tế. Nhiều hệ thống phần mềm đã đƣợc xây dựng theo các cách tiếp
cận truyền thống tỏ ra lạc hậu, không đáp ứng đƣợc các yêu cầu của ngƣời sử dụng.
Cách tiếp cận hƣớng đối tƣợng giúp chúng ta có đƣợc những công cụ, phƣơng pháp
mới, phù hợp để giải quyết những vấn đề nêu trên. Cách tiếp cận này rất phù hợp với
cách quan sát và quan niệm của chúng ta về thế giới xung quanh và tạo ra những công
cụ mới, hữu hiệu để phát triển các hệ thống có tính mở, dễ thay đổi theo yêu cầu của
ngƣời sử dụng, đáp ứng đƣợc các tiêu chuẩn phần mềm theo yêu cầu của nền công
nghệ thông tin hiện đại, giải quyết đƣợc những vấn đề phức tạp của thực tế đặt ra

trong thế kỷ 21.
Trong thực tế, cấu trúc dữ liệu và hành vi của hệ thống phải thƣờng xuyên thay
đổi theo yêu cầu của ngƣời sử dụng. Do vậy, việc khảo sát, phân tích, thiết kế hệ
thống là một công việc rất phức tạp và quan trọng trong quá trình xây dựng một hệ
thống phần mềm. Phải phân tích kỹ bài toán, lựa chọn phƣơng pháp phát triển hệ
thống thích hợp để cho hệ thống có tính mở, dễ thích nghi, chất lƣợng cao, giúp cho
công việc bảo trì hệ thống đỡ tốn kém.
Trong tất cả các giải pháp phát triển phần mềm hiện nay, giải pháp hƣớng đối
tƣợng đã đƣợc xem nhƣ là giải pháp tốt cho những hệ thống phần mềm có qui mô
lớn, độ phức tạp cao, có nhiều ƣu điểm so với phƣơng pháp hƣớng chức năng truyền
thống. Cách tiếp cận hƣớng đối tƣợng đặt trọng tâm vào việc xây dựng lý thuyết cho
các hệ thống tổng quát nhƣ là mô hình cơ bản. Hệ thống đƣợc xem nhƣ là một tập các
thực thể tác động qua lại và trao đổi với nhau bằng các thông điệp để thực hiện những
nhiệm vụ đặt ra. Các khái niệm mới của mô hình hệ thống hƣớng đối tƣợng và các
bƣớc thực hiện phân tích, thiết kế hƣớng đối tƣợng đƣợc mô tả, hƣớng dẫn thực hiện
thông qua ngôn ngữ chuẩn UML cùng phần mềm công cụ hỗ trợ mô hình hoá Rational
Rose.
Có thể giải pháp hƣớng đối tƣợng sẽ còn đƣợc tiếp tục đƣợc cải tiến cùng với mô
hình phát triển phần mềm. Nhƣng hiện nay đây là một giải pháp tốt đang đƣợc sự quan


11
tâm đặc biệt và nhiều công ty đã triển khai. Cùng với phƣơng pháp luận, phƣơng pháp
phát triển phần mềm hƣớng đối tƣợng, công cụ UML (Unifiel Modelling Language)
và các phần mêm đƣợc xây dựng trên nó (Rational Rose, ...) đã cung cấp một phƣơng
tiện mạnh cho phép triển khai phƣơng pháp trên trong môi trƣờng công nghiệp. UML
là một ngôn ngữ mô hình hoá dùng để đặc tả, mô hình hoá, xây dựng và làm tài liệu
cho một hệ thống phần mềm hƣớng đối tƣợng. Ngôn ngữ này thể hiện trực quan đƣợc
những quyết định và sự hiểu biết của chúng ta về hệ thống cần xây dựng. Nó là một
công cụ mạnh và đầy đủ đƣợc dùng để phân tích, thiết kế, cài đặt, bảo trì và kiểm soát

thông tin của hệ thống phần mềm lớn và phức tạp. Vì vậy việc nghiên cứu phƣơng
pháp phân tích, thiết kế hƣớng đối tƣợng và sử dụng UML để phát triển phần mềm
đang là một xu hƣớng trong kỹ nghệ phần mềm.
Những nội dung chính của luận văn:
Tổng quan phƣơng pháp phát triển phần mềm theo hƣớng đối tƣợng.
Giới thiệu về hệ công cụ UML.
Vận dụng phƣơng pháp và công cụ nêu trên tiến hành phân tích, thiết kế hệ
thống quản lý kết quả đào tạo ở trƣờng Cao đẳng Hải Dƣơng.
Luận văn gồm 5 chƣơng. Chƣơng 1 giới thiệu về việc khảo sát và xác định hiện
trạng của hệ thống quản lý kết quả đào tạo ở trƣờng CĐ Hải Dƣơng. Chƣơng 2 giới
thiệu tổng quan về phƣơng pháp hƣớng đối tƣợng và các công cụ hỗ trợ. Chƣơng 3
và chƣơng 4 xây dựng mô hình cho hệ thống quản lý đào tạo sử dụng UML. Chƣơng
5 xây dựng phần mềm chƣơng trình.
Quản lý kết quả đào tạo là một công việc không thể thiếu đƣợc trong tất cả các
hệ thống các trƣờng cao đẳng, đại học, việc xây dựng một hệ thống quản lý tự động sẽ
giúp hệ thống các trƣờng học quản lý đƣợc hiệu quả, chính xác và đỡ tốn thời gian,
sức lực của nhiều ngƣời. Thực hiện đề tài này giúp tôi hiểu sâu hơn các bƣớc để phân
tích, thiết kế một ứng dụng và phƣơng pháp mô hình hoá hệ thống phần mềm hƣớng
đối tƣợng. Vì vấn đề đƣợc xét là rộng lớn và phức tạp, kết quả của luận văn mới dừng
lại ở bƣớc phân tích tổng thể bài toán và thiết kế chi tiết cho một phần quan trọng của
bài toán. Tuy vậy, những vấn đề lý thuyết, phƣơng pháp luận và công cụ phát triển
phần mềm hƣớng đối tƣợng đã đƣợc sử dụng, vận dụng khá toàn diện. Đây là kết quả
bƣớc đầu nghiên cứu khoa học, chắc chắn còn rất nhiều hạn chế, rất mong đƣợc ý
kiến đóng góp quý báu của các thầy cô và các bạn. Em cũng xin gửi lời cảm ơn chân
thành đến TS Lê Văn Phùng, ngƣời đã giúp đỡ em rất nhiều để em có thể hoàn thành
luận văn này.
Hà Nội, tháng 10 năm 2011
Học viên thực hiện
Phạm Thị Loan



12
CHƢƠNG 1
KHẢO SÁT HIỆN TRẠNG
VÀ XÁC ĐỊNH YÊU CẦU NGHIỆP VỤ QUẢN LÝ KẾT QUẢ ĐÀO TẠO
1. Thực trạng và những vấn đề nảy sinh trong hệ thống quản lý kết quả đào tạo
tại trƣờng CĐ Hải Dƣơng
1.1 Một số vấn đề về việc tin học hoá quản lý trong trƣờng cao đẳng Hải Dƣơng

Thực hiện chủ trƣơng của Chính phủ và Bộ Giáo dục và Đào tạo về việc đẩy
mạnh ứng dụng công nghệ thông tin trong đào tạo và quản lý ở các trƣờng đại học và
cao đẳng trong cả nƣớc. Các trƣờng cao đẳng trong cả nƣớc đều đã quán triệt và thực
hiện tăng cƣờng xây dựng cơ sở hạ tầng, trƣớc hết là hệ thống mạng cục bộ và đƣờng
truyền Internet. Tuy nhiên việc tin học hoá quá trình quản lý nói chung và xây dựng hệ
thống quản lý kết quả đào tạo tại các trƣờng cao đẳng, kết quả còn hạn chế.
Qua khảo sát sơ bộ tại hơn 50 trƣờng Cao đẳng và Trung cấp chuyên nghiệp
cho thấy các hệ thống quản lý mới đang đƣợc triển khai ứng dụng ở các trƣờng với
những phần mềm riêng lẻ và tập trung vào một số mảng nhƣ: quản lý tài chính; tính
lƣơng, tính học bổng; quản lý vật tƣ; quản lý hồ sơ cán bộ, giảng viên; quản lý hồ sơ
sinh viên. Riêng có phần mềm quản lý tuyển sinh đối với hệ Cao đẳng và Trung cấp
chuyên nghiệp đƣợc Bộ Giáo dục và Đào tạo triển khai thì đang đƣợc các trƣờng ứng
dụng khá hiệu quả. Máy tính dùng cho công tác quản lý với tỷ lệ lớn vẫn là dùng cho
việc soạn thảo các văn bản riêng lẻ, hệ thống báo cáo với Bộ chủ quản và Bộ Giáo dục
và Đào tạo vẫn chủ yếu qua con đƣờng công văn. Hệ thống cơ sở dữ liệu về giảng
viên, nhân viên, sinh viên đang phân tán và mang lại hiệu quả quản lý chƣa cao. Một
số các công ty phần mềm chào giá các hệ thống lớn nhƣ: "Trung tâm Quản lý", có các
hệ thống con bao quát hầu hết các nghiệp vụ quản lý trong nhà trƣờng nhƣ: quản lý
cán bộ, giảng viên; quản lý tuyển sinh; quản lý tài chính; quản lý thƣ viện; quản lý
sinh viên; quản lý điểm... Tuy nhiên lại nảy sinh vấn đề thứ nhất là kinh phí lớn để
triển khai cho phần cứng và phần mềm, thứ hai là vấn đề cập nhật dữ liệu cho hệ thống

và các hệ thống lớn thƣờng khó khăn trong xử lý lỗi. Do đó phát huy hiệu quả nói
chung là không cao, một số trƣờng chủ yếu chỉ triển khai mảng quản lý hồ sơ cán bộ,
giảng viên và sinh viên.
Trong các trƣờng đào tạo, với sản phẩm đặc thù là kiến thức, kỹ năng của
ngƣời học thì việc tin học hoá quản lý sinh viên từ khi nộp hồ sơ dự tuyển và kết quả
đào tạo của sinh viên đến khi tốt nghiệp ra trƣờng là một mảng quản lý rất quan trọng,
giải quyết bài toán quản lý sinh viên và kết quả đào tạo của sinh viên là một vấn đề đặt
ra rất hết sức cần thiết. Nó đƣợc đặt trong mối quan hệ là một hệ thống con quan trọng
trong hệ thống lớn quản lý các hoạt động của nhà trƣờng.
Trƣớc thực trạng đó, trong điều kiện hiện nay và đặc biệt là một trong những
nhiệm vụ trọng tâm của năm học 2011-2012 là đẩy mạnh ứng dụng công nghệ thông tin
trong trƣờng học, các trƣờng đều rất quan tâm dần từng bƣớc, căn cứ vào điều kiện


13
có thể để ƣu tiên phát triển xây dựng hệ thống quản lý các hoạt động nhà trƣờng mà
hạt nhân là hệ thống quản lý sinh viên và kết quả đào tạo.
1.2. Tổng quan về hệ thống thông tin kết quả đào tạo tại trƣờng Cao đẳng Hải
Dƣơng.
Trƣờng Cao đẳng Hải Dƣơng là một đơn vị sự nghiệp có chức năng đào tạo
sinh viên các ngành nghề sƣ phạm, kỹ thuật và kinh tế… Quy mô của trƣờng với 150
cán bộ giáo viên, công nhân viên, với số sinh viên hiện tại là 3.500 sinh viên.
Hệ thống máy tính đƣợc chia thành 2 loại với 200 máy tính cho đào tạo ngành
CNTT và khoảng 100 máy tính phục vụ cho quản lý tại các Phòng, Khoa. Các máy
tính đƣợc nối mạng cục bộ. Hệ thống phần mềm đang áp dụng chủ yếu cho lĩnh vực
Tài chính, kế toán với các phần mềm sử dụng nội bộ trong phòng Tài chính, kế toán
nhƣ phần mềm Kế toán hành chính sự nghiệp, phần mềm quản lý học phí, phần mềm
tính và thanh toán lƣơng. Với nhiệm vụ trung tâm là đào tạo, sản phẩm cuối cùng là
kiến thức và kỹ năng của sinh viên. Thông tin về sinh viên và kết quả học tập của sinh
viên có vai trò rất quan trọng cho hệ thống quản lý và công tác ra quyết định. Nắm

vững các thông tin về hồ sơ lý lịch sinh viên, điểm trung bình các học kỳ, điểm thi tốt
nghiệp, điều kiện tốt nghiệp… là yêu cầu thƣờng xuyên của hệ thống quản lý đào tạo.
Các công việc chuyên môn nghiệp vụ trong lĩnh vực quản lý sinh viên và kết
quả đào tạo hiện tại từ việc lập danh sách sinh viên từ khi nhập học, phân lớp, phân
công giáo viên chủ nhiệm, vào điểm, xét học bổng, xét lên lớp, xét điều kiện dự thi tốt
nghiệp, xét kết quả tốt nghiệp đều đang thực hiện thủ công. Máy tính chỉ là nơi lƣu trữ
các file văn bản, việc trao đổi thông tin vẫn chủ yếu bằng điện thoại và các cuộc họp
trực tiếp. Trƣớc tình hình thực tế đó, xuất phát từ các yêu cầu quản trị công tác sinh
viên, nhu cầu về lƣu trữ, khai thác và trao đổi thông tin. Vấn đề thiết kế, xây dựng hệ
thống thông tin quản lý kết quả đào tạo của sinh viên có sự tham gia của máy tính,
khai thác mạng máy tính cục bộ, tự động hoá công tác tính toán, báo cáo, thống kê của
Nhà trƣờng là hết sức cần thiết.
Mục đích của đề tài là: Xây dựng hệ thống thông tin nhằm cung cấp chính xác,
kịp thời các thông tin về hồ sơ lý lịch sinh viên, điểm trung bình chung và điểm rèn
luyện từng học kỳ của sinh viên, các kết quả xét duyệt phục vụ cho quản lý đào tạo và
công tác lãnh đạo quản lý nói chung trong Nhà trƣờng. Hoạt động quản lý bắt đầu từ
khi có đƣợc danh sách sinh viên trúng tuyển đến trƣờng nhập học, sau khi đã qua các
thủ tục thi tuyển hoặc xét tuyển do Phòng Đào tạo thực hiện. Danh sách này đƣợc
chuyển đến Phòng Đào tạokèm theo hồ sơ. Đến đây số sinh viên này thuộc quyền quản
lý của Phòng Đào tạo. Phòng Đào tạo thực hiện phân lớp, phân công giáo viên chủ
nhiệm, lƣu trữ hồ sơ và bắt đầu quá trình quản lý sinh viên và kết quả đào tạo tại
trƣờng.
Trong quá trình đào tạo, có thể bổ sung hồ sơ, lý lịch, mỗi học kỳ các giáo viên
chủ nhiệm phải tổng kết điểm trung bình từng môn học và điểm trung bình chung của


14
cả học kỳ, đánh giá kết quả rèn luyện đạo đức của từng sinh viên theo mẫu và chuyển
cho Phòng Công tác HS-SV. Cũng định kỳ mỗi học kỳ, Phòng Công tác HS-SV căn cứ
vào điểm số và kết quả rèn luyện của từng sinh viên do giáo viên chủ nhiệm chuyển

đến để tổ chức xét học bổng theo các điều kiện quy định. Đến cuối học kỳ II, giáo viên
chủ nhiệm phải tổng kết cả năm học cho từng sinh viên, xác định điểm trung bình
chung và kết quả rèn luyện của cả năm học. Kết thúc thời gian đào tạo theo kế hoạch
với từng khoá, lớp, trƣớc khi thi tốt nghiệp, phòng Đào tạo tổ chức xét điều kiện dự thi
tốt nghiệp, căn cứ vào kết quả học tập, rèn luyện và điểm thực tập. Chuyển kết quả xét
đó cho Phòng Đào tạo thi tốt nghiệp. Sau khi có điểm thi tốt nghiệp, phòng Đào tạo tổ
chức xét tốt nghiệp và phân loại tốt nghiệp, căn cứ vào kết quả học tập, rèn luyện toàn
khoá và điểm thi tốt nghiệp. Hoạt động làm bằng tốt nghiệp, tổ chức bế giảng, phát
bằng tốt nghiệp… (những sinh viên không đủ điều kiện thi tốt nghiệp hoặc không tốt
nghiệp phải chuyển khoá sau để thi tốt nghiệp lại) là hoạt động cuối cùng của quá trình
quản lý sinh viên và kết quả đào tạo. Trong quá trình quản lý sinh viên và kết quả đào
tạo có thể có những biến động về sinh viên nhƣ: bổ sung hồ sơ, xin thôi học, buộc thôi
học, chuyển lớp, chuyển ngành, nghề... Tất cả các biến động, thay đổi đó đều do
Phòng đào tạo và Công tác HS-SV xử lý.
1.3. Mục đích của đề tài
Nghiên cứu xây dựng chƣơng trình Quản lý đào tạo là một bài toán thực tế đã
đƣợc đặt ra từ lâu trong các trƣờng đại học nói chung và Cao đẳng Hải Dƣơng nói
riêng. Ở Cao đẳng Hải Dƣơng, trƣớc đây công việc này đƣợc làm thủ công đòi hỏi
nhiều ngƣời tham gia làm việc và thông qua việc lƣu trữ các thông tin bằng văn bản,
giấy tờ. Với số lƣợng loại hình đào tạo ngày càng rộng, học viên, giáo viên, môn học
ngày càng lớn làm cho công việc quản lý, tìm kiếm thông tin trở nên khó khăn và tốn
thời gian mà hiệu quả làm việc lại không cao. Công việc lập kế hoạch học kỳ, lập
phiếu báo dạy, quản lý thời khoá biểu, quản lý hồ sơ, điểm của học viên, cũng nhƣ
việc đáp ứng các nhu cầu của các cơ quan, đơn vị, cá nhân cần quan tâm trở nên chậm
chạp và vất vả, dễ xảy ra việc thông tin không đầy đủ và kém chính xác, gây những
hậu quả không mong muốn trong công tác đào tạo tại trƣờng Cao đẳng Hải Dƣơng.
Trƣớc những yêu cầu cấp bách của thực tế, đòi hỏi phải đƣa ra một biện pháp hữu
hiệu khác có đủ khả năng đáp ứng các công việc trên một cách hiệu quả, nhanh chóng
và chính xác. Đó là việc ứng dụng máy tính vào công tác quản lý và khai thác trong
lĩnh vực đào tạo.

1.4. Xác định yêu cầu nghiệp vụ quản lý kết quả đào tạo
1.4.1 Mô tả nghiệp vụ
Quản lý đào tạo là một hoạt động không thể thiếu đƣợc trong tất cả các trƣờng
học. Đây là một hoạt động nhằm quản lý hệ thống đào tạo trong các trƣờng. Việc quản
lý hàng ngàn thậm chí còn nhiều hơn nữa hồ sơ, sổ sách, giấy tờ là một công việc rất
phức tạp mà nếu làm bằng tay thì có thể có rất nhiều sai sót. Việc xây dựng một


15
chƣơng trình để quản lý các hồ sơ sinh viên và các hoạt động liên quan đến đào tạo
trong một trƣờng đại học, cao đẳng là một việc làm cấp thiết. Và để có một chƣơng
trình tốt, trƣớc hết ta phải nắm bắt một cách chính xác các yêu cầu, từ đó xây dựng
nên một mô hình tốt. Luận văn này đề cập đến việc phân tích và thiết kế hệ thống bằng
phƣơng pháp hƣớng đối tƣợng để nắm bắt các yêu cầu và tiến hành các phân tích và
thiết kế mô hình cho hệ thống quản lý đào tạo trong một trƣờng đại học.
Có thể hình dung công việc quản lý kết quả đào tạo ở trƣờng Cao đẳng Hải
Dƣơng bao gồm những công việc cụ thể nhƣ sau:



Quản lý sinh viên: bao gồm việc lƣu trữ, cập nhật, tìm kiếm, thống kê hồ sơ
sinh viên. Hồ sơ sinh viên đƣợc quản lý riêng, phân chia thành từng khoá, từng ngành,
từng lớp. Kho hồ sơ lƣu toàn bộ thông tin về sinh viên. Các thông tin đƣợc phân vùng
theo chủ đề. Toàn bộ thông tin trong hồ sơ của mỗi học viên có thể đƣợc in thành
quyển và dùng làm hồ sơ sinh viên khi ra trƣờng. Hồ sơ cần tổ chức sao cho có thể cập
nhật dễ dàng, tìm kiếm theo yêu cầu một cách nhanh chóng.



Quản lý chƣơng trình đào tạo bao gồm toàn bộ quá trình cập nhật ngành đào tạo,

hệ đào tạo, cập nhật môn học, xác lập chƣơng trình đào tạo cho mỗi lớp và lập lịch thực
hiện. Những ngƣời quan tâm tới chƣơng trình đào tạo có thể xem chƣơng trình đào tạo
đó và những chƣơng trình đào tạo có thể đƣợc sao lƣu lại, in ấn nếu cần thiết.



Quản lý học tập là toàn bộ các hoạt động quản lý quá trình học tập của sinh
viên. Quản lý học tập bao gồm quản lý khoá học, quản lý lớp học, quản lý chƣơng
trình học, mở lớp, lập lịch thi, lập danh sách thi, cập nhật điểm thi đi, thi lại, lên danh
sách thi lại, giám sát, cập nhật học bạ, duy trì sổ điểm cùng rất nhiều chi tiết khác.



Quản lý tốt nghiệp: dựa vào các tiêu chuẩn để xét tốt nghiệp mà đƣa ra danh
sách sinh viên đủ điều kiện tốt nghiệp cũng nhƣ danh sách sinh viên không đủ điều
kiện tốt nghiệp. Tổ chức việc thi tốt nghiệp, làm đồ án khoá luận cuối khoá, làm hồ sơ
công nhận tốt nghiệp. Khi phát bằng tốt nghiệp cho sinh viên thì lƣu thông tin đã phát
bằng tốt nghiệp cho học viện.
1.4.2 Cơ cấu tổ chức bộ máy của trƣờng Cao đẳng Hải Dƣơng
Trƣờng Cao Đẳng Hải Dƣơng thành lập tháng 10 năm 1960 (tiền thân là
trƣờng Trung cấp SP Hải Dƣơng) là một Trƣờng Cao Đẳng Sƣ Phạm đa hệ trong đó
hệ Cao đẳng là then chốt. Trƣờng đào tạo giáo viên các trình độ Cao đẳng, Trung học,
bồi dƣỡng cán bộ quản lý từ Hiệu trƣởng, Phó Hiệu trƣởng các trƣờng từ Mầm non,
tiểu học đến THCS; bồi dƣỡng chuẩn hóa giáo viên Mầm non, 10+3, 12+2. Nhà
trƣờng còn liên kết với trƣờng ĐHSP Hà Nội, ĐH thƣơng mại để mở các lớp đại học
từ xa thuộc các hệ THCS, tiểu học, mầm non..., kinh tế, quản trị kinh doanh…
Trong giai đoạn mới, trƣờng đã vƣợt qua nhiều khó khăn tập trung đào tạo hàng
vạn học sinh trung học chuyên nghiệp và cao đẳng sƣ phạm, chuyên viên kỹ thuật cao
cấp lành nghề và đƣợc Nhà nƣớc phong tặng nhiều danh hiệu cao quý. Thế hệ học
sinh, sinh viên ngày nay đã tiếp tục kế thừa, phát huy truyền thống và phẩm chất của



16
lớp đàn anh trƣớc đây, đạt nhiều kết quả tốt đẹp trong học tập và rèn luyện, trở thành
“nguồn nhân lực chất lƣợng cao” đóng góp tích cực cho sự nghiệp công nghiệp hóa,
hiện đại hoá đất nƣớc.
Nhiều cựu học sinh, sinh viên của trƣờng nay đã trƣởng thành, giữ những trọng
trách trong Đảng, chính quyền, quân đội, đoàn thể, giáo dục, trong công tác quản lý
kinh doanh, kỹ thuật và nhiều lĩnh vực khác cùng những tấm gƣơng học giỏi, vƣợt
khó, lao động sáng tạo của học sinh, sinh viên trƣờng ngày nay là những điểm son
trong bảng vàng truyền thống của trƣờng.
Năm 2008 trƣờng đƣợc đổi tên thành trƣờng Cao đẳng Hải Dƣơng, trƣờng đã
thật sự trở thành nguyên khí của nhiều thế hệ, là bảo tàng sống giáo dục tuổi trẻ, đang
gánh vác trách nhiệm góp phần đào tạo nguồn nhân lực chất lƣợng cao đáp ứng công
cuộc đổi mới và hội nhập của đất nƣớc. Truyền thống hơn 50 năm xây dựng và trƣởng
thành đã và đang đƣợc nhiều thế hệ thầy và trò của trƣờng kế tục nhau vun bồi trong
trọn một thế kỷ mãi mãi là hành trang quý giá của nhà trƣờng và các thế hệ học sinh,
sinh viên trên chặng đƣờng mới.
Năm 2010, Trƣờng Cao đẳng Hải Dƣơng kỷ niệm 50 năm ngày thành lập
trƣờng. Trải qua 50 năm xây dựng và phát triển, Nhà trƣờng đã luôn gắn bó đồng
hành cùng ngành Giáo dục- Đào tạo và Khoa học- Công nghệ của Tỉnh Hải Dƣơng và
cả nƣớc, không ngừng phát huy vai trò, vị trí là một trong những trung tâm Giáo dục,
Khoa học của tỉnh nhà. Với truyền thống và bề dày tròn nửa thế kỉ, nhà trƣờng đã đào
tạo và bồi dƣỡng hơn 40.000 giáo viên, cán bộ quản lí cho các bậc học Mầm non, Tiểu
học, Trung học cơ sở. Từ năm 2005 nhà trƣờng bắt đầu đào tạo đa ngành. Đến năm
2009, nhà trƣờng trở thành trƣờng cao đẳng đa ngành. Bên cạnh đào tạo sƣ phạm,
trƣờng còn đào tạo nhân lực cho các ngành: thiết bị - thƣ viện trƣờng học; kế toán; tài
chính ngân hàng; quản trị kinh doanh; Thƣ viện - Thông tin; Quản lí Văn hoá; Kiểm
soát và Bảo vệ môi trƣờng; Tin học...
Trƣờng đƣợc phân thành các phòng ban nhƣ sau:

Khoa Ngoại Ngữ
Khoa Tiểu Học
Khoa Giáo dục Mầm Non
Khoa Xã Hội
Khoa Tự Nhiên
Khoa Cán bộ quản lý
Tổ Mác - Lê
Phòng Đào tạo
Phòng Hành chính
Phòng Tài vụ


17
Phòng Tổ chức – Công Tác
1.4.3 Tổng quát về công tác quản lý kết quả đào tạo tại trƣờng Cao đẳng Hải
Dƣơng
Nội dung đào tạo trong toàn khoá học của từng ngành đào tạo đƣợc thể hiện
thành chƣơng trình đào tạo. Chƣơng trình đào tạo của mỗi ngành đào tạo do Trƣờng
CĐ Hải Dƣơng xây dựng trên cơ sở chƣơng trình khung của Bộ Giáo dục và Đào tạo
quy định. Chƣơng trình khung gồm cơ cấu nội dung các môn học, thời gian đào tạo, tỷ
lệ phân bố thời gian đào tạo giữa các môn học cơ bản và chuyên ngành, giữa lý thuyết
và thực hành, thực tập.
Chƣơng trình đào tạo gồm các khối kiến thức



Khối kiến thức đại cƣơng




Khối kiến thức chuyên
ngành Trong đó
Các chƣơng trình đƣợc tổ chức thành học phần, các học phần trong chƣơng
trình ban hành đều là bắt buộc.
Học phần
Học phần là khối kiến thức tƣơng đối trọn vẹn, thuận tiện cho ngƣời học tích
luỹ trong quá trình học tập. Mỗi học phần có khối lƣợng từ 2 đến 7 đơn vị học trình
(ĐVHT), đƣợc bố trí giảng dạy trọn vẹn và phân bố đều trong một học kỳ. Khối
lƣợng ĐVHT trong mỗi học phần đƣợc Hiệu trƣởng duyệt trong khi duyệt chƣơng
trình đào tạo. Học phần có thể là một phần của môn học hoặc nhiều môn học.
Đơn vị học trình (ĐVHT)
Đơn vị để tính khối lƣợng học tập của học sinh sinh viên là đơn vị học trình
(ĐVHT). Một đơn vị học trình đƣợc quy định khoảng bằng 15 tiết học.
Thời gian và kế hoạch đào tạo
Trƣờng tổ chức đào tạo theo khoá học và năm học.
Khoá học là thời gian đƣợc thiết kế để học sinh sinh viên hoàn thành chƣơng
trình đào tạo của một ngành chuyên môn cụ thể.
Khoá học đƣợc chia thành các năm học, mỗi năm học gồm có hai học kỳ.
Đầu khoá học, nhà trƣờng thông báo cho học sinh sinh viên về kế hoạch học
tập, lịch trình, chƣơng trình đào tạo toàn khoá của các ngành đào tạo, về quy chế học
tập, kiểm tra, thi, đánh giá, xếp loại học tập và công nhận tốt nghiệp, về nghĩa vụ và
quyền lợi của học sinh sinh viên, các quy định của trƣờng.
Đầu mỗi năm học, nhà trƣờng thông báo lịch học trong từng học kỳ, đề cƣơng
chi tiết của các học phần, điều kiện để đƣợc học tiếp; lịch kiểm tra và thi, hình thức
kiểm tra và thi các học phần (bằng thời khoá biểu).
Phân công giảng dạy


18
Dựa vào giấy báo dạy và khả năng, điều kiện của các giáo viên trong bộ môn

mà từng bộ môn sẽ tiến hành phân công cho từng giáo viên đảm nhiệm dạy cho từng
lớp sau đó gửi bảng phân công giảng dạy cho khoa để khoa tổng hợp gửi lên Phòng
đào tạo. Bảng phân công giảng dạy chứa các thông tin sau: học kỳ, năm học, thông tin
bộ môn (tên, quân số, quân số giảng dạy, nhân viên hƣớng dẫn thí nghiệm), tên môn
học, danh sách lớp học, quân số lớp, số tiết môn học (số tiết lý thuyết, bài tập, quy
chuẩn), thông tin giáo viên (tên, cấp bậc, học hàm, học vị).
Kế hoạch giảng dạy môn học
Sau khi phân công giảng dạy cho từng giáo viên trong từng khoa, khoa sẽ yêu
cầu từng giáo viên đã đƣợc phân công giảng dạy trong học kỳ lập kế hoạch giảng dạy
môn học mà giáo viên đó đảm nhiệm. Sau khi lập xong kế hoạch môn học kèm theo
những yêu cầu, từng giáo viên sẽ gửi cho khoa để khoa thông qua và gửi cho Ban kế
hoạch chƣơng trình của nhà trƣờng.
Kế hoạch môn học chứa các thông tin sau: Học kỳ, năm học, môn học, tổng số
tiết, phân chia số tiết cho các hình thức (lý thuyết, bài tập, thực tập), giáo viên phụ
trách, phân chia ra các bài, đề mục và số tiết của các bài, đề mục, địa điểm học.
Tất cả các kế hoạch thực hiện đƣợc Ban kế hoạch chƣơng trình chuyển xuống
cho Phòng đào tạo để triển khai việc thực hiện ngoài ra Phòng đào tạo còn dựa vào đó
để thƣờng xuyên kiểm tra, giám sát quá trình thực hiện kế hoạch đào tạo đặt ra cho
mỗi năm học.
* Các bộ phận tham gia công tác quản lý
Phòng đào tạo: quản lý chƣơng trình đào tạo (ban kế hoạch chƣơng trình), quản
lý quá trình học tập của học sinh sinh viên dân sự (ban tại chức) và quân sự, quản lý
thời khoá biểu,
Ban cán bộ: quản lý hồ sơ lý lịch của học sinh sinh viên quân sự, hồ sơ lý lịch
của giáo viên,
Các khoa và các bộ môn: quản lý giáo viên của khoa (bộ môn) mình, phân công
giảng dạy cho từng giáo viên, quản lý kế hoạch môn học,
Ban quản lý hội trƣờng: quản lý các nhân viên tham gia quản lý hội trƣờng,
quản lý phòng học phục vụ công tác đào tạo.
Ban thanh tra, ban giám hiệu: giám sát việc thực hiện chƣơng trình đào tạo của

giáo viên, học sinh sinh viên,


19
CHƢƠNG 2
CƠ SỞ NỀN TẢNG KHOA HỌC PHÁT TRIỂN HỆ THỐNG TRONG
KỸ NGHỆ PHẦN MỀM HƢỚNG ĐỐI
TƢỢNG 2.1 Vai trò của phân tích và thiết kế hệ thống
Kinh nghiệm của nhiều nhà thiết kế và phát triển cho thấy phát triển phần mềm
là một bài toán phức tạp. Một số các lý do thƣờng đƣợc kể đến:
Những ngƣời phát triển phần mềm rất khó hiểu cho đúng những gì ngƣời
dùng cần.
- Yêu cầu của ngƣời dùng thƣờng thay đổi trong thời gian phát triển.
Yêu cầu thƣờng đƣợc miêu tả bằng văn bản, dài dòng, khó hiểu, nhiều khi
thậm chí mâu thuẫn.
Đội quân phát triển phần mềm, vốn là ngƣời "ngoài cuộc", rất khó nhận thức
thấu đáo các mối quan hệ tiềm ẩn và phức tạp cần đƣợc thể hiện chính xác trong các
ứng dụng lớn.
Khả năng nắm bắt các dữ liệu phức tạp của con ngƣời (tại cùng một thời
điểm) là có hạn.
Khó định lƣợng chính xác hiệu suất của thành phẩm và thỏa mãn chính xác
sự mong chờ từ phía ngƣời dùng.
Chọn lựa phần cứng và phần mềm thích hợp cho giải pháp là một trong những
thách thức lớn đối với Designer.
Phần mềm ngoài ra cần có khả năng thích ứng và mở rộng. Phần mềm đƣợc
thiết kế tốt là phần mềm đứng vững trƣớc những biến đổi trong môi trƣờng, dù từ phía
cộng đồng ngƣời dùng hay từ phía công nghệ. Ví dụ phần mềm đã đƣợc phát triển cho
một nhà băng cần có khả năng tái sử dụng cho một nhà băng khác với rất ít sửa đổi
hoặc hoàn toàn không cần sửa đổi. Phần mềm thoả mãn các yêu cầu đó đƣợc coi là
phần mềm có khả năng thích ứng.

Một phần mềm có khả năng mở rộng là phần mềm đƣợc thiết kế sao cho dễ
phát triển theo yêu cầu của ngƣời dùng mà không cần sửa chữa nhiều.
Chính vì vậy, một số các khiếm khuyết thƣờng gặp trong phát triển phần mềm
là:
- Hiểu không đúng những gì ngƣời dùng cần.
- Không thể thích ứng cho phù hợp với những thay đổi về yêu cầu đối với hệ
thống.
- Các Module không khớp với nhau.
- Phần mềm khó bảo trì và nâng cấp, mở rộng.
- Phát hiện trễ các lỗ hổng của dự án.
- Chất lƣợng phần mềm kém.


20
- Hiệu năng của phần mềm thấp.
Các thành viên trong nhóm không biết đƣợc ai đã thay đổi cái gì, khi nào, ở
đâu, tại sao phải thay đổi.
Phân tích và thiết kế là giai đoạn đầu của quá trình phát triển hệ thống thông
tin. Nó quyết định đến chất lƣợng và giá thành của phần mềm.
- Nhờ thiết kế tốt mà các hệ thống thông tin đƣợc duy trì hoạt động tốt và
phát
triển.
Quy mô và mức độ phức tạp của các hệ thống ngày càng tăng, nên phân tích
và thiết kế trở thành một yêu cầu bắt buộc để có đƣợc một hệ thống tốt. Trong thực tế
ngƣời ta thấy:
+
Những sai sót trong phân tích và thiết kế làm cho chi phí bảo trì trung bình
của các hệ thống thông tin chiếm tới gần 60% tổng chi phí.
+
Có hiện tƣợng này là vì mức độ chi phí sửa chữa một sai lầm bị bỏ sót qua

các giai đoạn phát triển hệ thống tăng lên đáng kể.
+
Một lỗi bị bỏ sót trong giai đoạn phân tích đến khi lập trình và cài đặt mới
phát hiện ra thì chi phí sửa chữa tăng lên 40 lần và đến giai đoạn bảo trì mới phát hiện
ra thì chi phí sữa chữa tăng lên gấp 90 lần.
+
Hơn nữa, nếu thiếu phân tích thiết kế tốt thì rất khó và thậm chí không thể
bảo trì đƣợc.
Một kỹ sƣ công nghệ thông tin bất kỳ, không thể không biết đọc các bản vẽ
phân tích và thiết kế về hệ thống thông tin. Phân tích và thiết kế hệ thống có những
phƣơng pháp riêng và công cụ riêng, cũng nhƣ cần có kinh nghiệm nghề nghiệp. Một
kỹ sƣ CNTT cần nhiều năm mới trở thành một nhà phân tích và thiết kế hệ thống [1].
2.2 Tổng quan về phân tích và thiết kế hệ thống
Phƣơng pháp hƣớng đối tƣợng ra đời vào đầu những năm 90 đã khắc phục
đáng kể đƣợc nhƣợc điểm trên. Phƣơng pháp này lấy đối tƣợng làm đơn nguyên cơ
bản của hệ thống. Đối tƣợng là sự kết hợp giữa chức năng và dữ liệu – đó là một sự
kết hợp có lý vò mỗi chức năng chỉ thao tác trên một số dữ liệu nhất định và ngƣợc lại,
mỗi dữ liệu cũng chỉ đƣợc xử lý bởi một số chức năng nào đó. Điều này không những
hợp lý mà còn rất tự nhiên và dễ hiểu: các đối tƣợng tin học thƣờng dùng để phản ánh
hay mô phỏng các đối tƣợng trong thế giới thực. Phƣơng pháp hƣớng đối tƣợng sẽ
dẫn đến việc cài đặt các hệ thống bằng NNLT hƣớng đối tƣợng (C++, Java, …).
Thiết kế hƣớng đối tƣợng dựa trên ý tƣởng che dấu thông tin. Thiết kế hƣớng
đối tƣợng gần đây đƣợc phát triển nhiều đã tạo ra các hệ thống cấu tạo bởi nhiều
thành phần độc lập và có tƣơng tác với nhau. Che dấu thông tin là chiến lƣợc thiết kế
dấu càng nhiều thông tin trong các thành phần càng hay. Cái đó ngầm hiểu rằng việc
kết hợp điều khiển logic và cấu trúc dữ liệu đƣợc thực hiện trong thiết kế càng chậm
càng tốt. Liên lạc thông qua các thông tin trạng thái dùng chung (các biến tổng thể) là


21

ít nhất, nhờ vậy khả năng hiểu đƣợc nâng lên. Thiết kế là tƣơng đối dễ thay đổi vì sự
thay đổi một thành phần không thể không dự kiến các hiệu ứng phụ trên các thành
phần khác
* Ba đặc trƣng của thiết kế hƣớng đối tƣợng:
2.
Không có vùng dữ liệu dùng chung. Các đối tƣợng liên lạc với nhau bằng cách
trao đổi thông báo chứ không phải bằng các biến dùng chung.
3.
Các đối tƣợng là các thực thể độc lập, dễ thay đổi vì rằng tất cả các trạng thái
và các thông tin biểu diễn chỉ ảnh hƣởng trong phạm vi chính đối tƣợng đó thôi. Các
thay đổi về biểu diễn thông tin có thể đƣợc thực hiện không cần sự tham khảo tới các
đối tƣợng hệ thống khác
4.

Các đối tƣợng có thể phân tán và có thể hành động tuần tự hoặc song song.
* Các ƣu khuyết điểm của thiết kế hƣớng đối tƣợng

Dễ bảo trì vì các đối tƣợng là độc lập. Các đối tƣợng có thể hiểu và cải biên nhƣ
là một thực thể độc lập. Thay đổi trong thực hiện một đối tƣợng hoặc thêm các dịch
vụ sẽ không làm ảnh hƣởng tới các đối tƣợng hệ thống khác.
Các đối tƣợng là các thành phần dùng lại đƣợc thích hợp (do tính độc lập của
chúng). Một thiết kế có thể dùng lại đƣợc các đối tƣợng đã đƣợc thiết kế trong các
bản thiết kế trƣớc đó
Có một vài lớp hệ thống thể hiện phản ánh quan hệ rõ ràng giữa các thực thể có
thực (chẳng hạn nhƣ các thành phần phần cứng) với các đối tƣợng điều khiển nó
trong hệ thống. Điều này đạt đƣợc tính dễ hiểu của thiết kế.
Sự tƣờng minh các đối tƣợng hệ thống thích hợp là khó khăn. Cách nhìn tự
nhiên nhiều hệ thống là cách nhìn chức năng và việc thích nghi với cách nhìn hƣớng
đối tƣợng đôi khi là khó khăn, nhất là đối tƣợng trừu tƣợng, không phải đối tƣợng cụ
thể.

Phƣơng pháp thiết kế hƣớng đối tƣợng vẫn còn là tƣơng đối chƣa chín muồi và
đang thay đổi nhanh chóng. Phƣơng pháp hiện đang đƣợc sử dụng rộng rãi nhất là
phƣơng pháp dựa trên sự phân rã chức năng.
Sự thật, các hệ phần mềm lớn là phức tạp đến mức mà ngƣời ta đã dùng các
phƣơng pháp tiếp cận khác nhau trong việc thiết kế các thành phần khác nhau của một
hệ thống. Chẳng có một chiến lƣợc tốt nhất nào cho các dự án lớn. Các cách tiếp cận
hƣớng chức năng và hƣớng đối tƣợng là bổ sung hỗ trợ cho nhau chứ không đối
kháng nhau. Kỹ sƣ phần mềm sẽ chọn cách tiếp cận thích hợp nhất cho từng giai đoạn
thiết kế. Nhìn ở mức tổng thể thì hệ thống nhƣ một bộ các đối tƣợng (chứ không phải
là bộ các chức năng), cho nên ở mức trừu tƣợng thì cách tiếp cận hƣớng đối tƣợng là
thích hợp hơn. Đến mức chi tiết thì tự nhiên hơn là nên xem chúng là các chức năng
tƣơng tác giữa các đối tƣợng. Sau đó mỗi đối tƣợng lại đƣợc phân giải thành các
thành phần, tức là lại có thể xem nó nhƣ là một hệ (con)


22
Rất nhiều hệ thống, đặc biệt là hệ thống thời gian thực đƣợc nhúng (vào một hệ
thiết bị vật chất có thực), đƣợc cấu tạo nhƣ là một hệ gồm một bộ các quá trình hoạt
động song song và có liên lạc với nhau. Các hệ này thƣờng phải tuân theo các ràng
buộc nghiêm ngặt về thời gian, mà các phần cứng thƣờng hoạt động tƣơng đối chậm,
chỉ có cách tiếp cận nhiều bộ xử lý hoạt động song song mới có thể hoàn thành đƣợc
yêu cầu về thời gian. [3] – [5]
1.
2.3 Tổng quan về cách tiếp cận hƣớng đối tƣợng
2.3.1 Phƣơng pháp tiếp cận của lập trình truyền
thống * Lập trình tuyến tính
Đặc trƣng cơ bản của lập trình tuyến tính là tƣ duy theo lối tuần tự. Chƣơng
trình sẽ đƣợc thực hiện tuần tự từ đầu đến cuối, lệnh này kế tiếp lệnh kia cho đến khi
kết thúc chƣơng trình.
Đặc trưng

Lập trình tuyến tính có hai đặc trƣng:
- Đơn giản: chƣơng trình đƣợc tiến hành đơn giản theo lối tuần tự, không phức tạp.
- Đơn luồng: chỉ có một luồng công việc duy nhất, và các công việc đƣợc thực hiện
tuần tự trong luồng đó.
Tính chất
- Ƣu điểm: Do tính đơn giản, lập trình tuyến tính có ƣu điểm là chƣơng trình đơn
giản, dễ hiểu. Lập trình tuyến tính đƣợc ứng dụng cho các chƣơng trình đơn giản.
- Nhƣợc điểm: Với các ứng dụng phức tạp, ngƣời ta không thể dùng lập trình tuyến
tính để giải quyết.
Ngày nay, lập trình tuyến tính chỉ tồn tại trong phạm vi các modul nhỏ nhất của
các phƣơng pháp lập trình khác. Ví dụ trong một chƣơng trình con của lập trình cấu
trúc, các lệnh cũng đƣợc thực hiện theo tuần tự từ đầu đến cuối chƣơng trình con.
* Lập trình cấu trúc
Trong lập trình hƣớng cấu trúc, chƣơng trình chính đƣợc chia nhỏ thành các
chƣơng trình con và mỗi chƣơng trình con thực hiện một công việc xác định. Chƣơng
trình chính sẽ gọi đến chƣơng trình con theo một giải thuật, hoặc một cấu trúc đƣợc
xác định trong chƣơng trình chính.
Các ngôn ngữ lập trình cấu trúc phổ biến là Pascal, C và C++. Riêng C++ ngoài
việc có đặc trƣng của lập trình cấu trúc do kế thừa từ C, còn có đặc trƣng của lập trình
hƣớng đối tƣợng. Cho nên C++ còn đƣợc gọi là ngôn ngữ lập trình nửa cấu trúc, nửa
hƣớng đối tƣợng.
2.3.2 Cách tiếp cận hƣớng đối tƣợng
2.3.2.1 Phƣơng pháp lập trình hƣớng đối tƣợng


23
Xuất phát từ hai hạn chế chính của phƣơng pháp lập trình cấu trúc:
- Không quản lí đƣợc sự thay đổi dữ liệu khi có nhiều chƣơng trình cùng thay đổi
một biến chung. Vấn đề này đặc biệt nghiêm trọng khi các ứng dụng ngày càng lớn,
ngƣời ta không thể kiểm soát đƣợc sự truy nhập đến các biến dữ liệu chung.

- Không tiết kiệm đƣợc tài nguyên con ngƣời: Giải thuật gắn liền với cấu trúc dữ liệu,
nếu thay đổi cấu trúc dữ liệu, sẽ phải thay đổi giải thuật, và do đó, phải viết lại mã
chƣơng trình từ đầu.
Để khắc phục đƣợc hai hạn chế này khi giải quyết các bài toán lớn, ngƣời ta
xây dựng một phƣơng pháp tiếp cận mới, là phƣơng pháp lập trình hƣớng đối tƣợng,
với hai mục đích chính:
- Đóng gói dữ liệu để hạn chế sự truy nhập tự do vào dữ liệu, không quản lí đƣợc.
- Cho phép sử dụng lại mã nguồn, hạn chế việc phải viết lại mã từ đầu cho các chƣơng
trình. Việc đóng gói dữ liệu đƣợc thực hiện theo phƣơng pháp trừu tƣợng hoá đối
tƣợng thành lớp từ thấp lên cao nhƣ sau:
Thu thập các thuộc tính của mỗi đối tƣợng, gắn các thuộc tính vào đối tƣợng
tƣơng ứng.
Nhóm các đối tƣợng có các thuộc tính tƣơng tự nhau thành nhóm, loại bỏ bớt
các thuộc tính cá biệt, chỉ giữ lại các thuộc tính chung nhất. Đây đƣợc gọi là quá trình
trừu tƣợng hoá đối tƣợng thành lớp.
Đóng gói dữ liệu của các đối tƣợng vào lớp tƣơng ứng. Mỗi thuộc tính của
đối tƣợng trở thành một thuộc tính của lớp tƣơng ứng.
Việc truy nhập dữ liệu đƣợc thực hiện thông qua các phƣơng thức đƣợc
trang bị cho lớp. Không đƣợc truy nhập tự do trực tiếp đến dữ liệu.
Khi có thay đổi trong dữ liệu của đối tƣợng, ta chỉ cần thay đổi các phƣơng
thức truy nhập thuộc tính của lớp, mà không cần phải thay đổi mã nguồn của các
chƣơng trình sử dụng lớp tƣơng ứng.
Việc cho phép sử dụng lại mã nguồn đƣợc thực hiện thông qua cơ chế kế thừa
trong lập trình hƣớng đối tƣợng. Theo đó:
- Các lớp có thể đƣợc kế thừa nhau để tận dụng các thuộc tính, các phƣơng thức của
nhau.
- Trong lớp dẫn xuất (lớp đƣợc kế thừa) có thể sử dụng lại các phƣơng thức của lớp
cơ sở (lớp bị lớp khác kế thừa) mà không cần thiết phải cài đặt lại mã nguồn.
- Ngay cả khi lớp dẫn xuất định nghĩa lại các phƣơng thức cho mình, lớp cơ sở cũng
không bị ảnh hƣởng và không phải sửa lại bất kì một đoạn mã nguồn nào.

Ngôn ngữ lập trình hƣớng đối tƣợng phổ biến hiện nay là Java và C++. Tuy nhiên,
C++ mặc dù cũng có những đặc trƣng cơ bản của lập trình hƣớng đối tƣợng nhƣng
vẫn không phải là ngôn ngữ lập trình thuần hƣớng đối tƣợng. Java thật sự là một ngôn
ngữ lập trình thuần hƣớng đối tƣợng.


24
Đặc trưng
Lập trình hƣớng đối tƣợng có hai đặc trƣng cơ bản:
- Đóng gói dữ liệu: dữ liệu luôn đƣợc tổ chức thành các thuộc tính của lớp đối tƣợng.
Việc truy nhập đến dữ liệu phải thông qua các phƣơng thức của đối tƣợng lớp.
- Sử dụng lại mã nguồn: việc sử dụng lại mã nguồn đƣợc thể hiện thông qua cơ chế
kế thừa. Cơ chế này cho phép các lớp đối tƣợng có thể kế thừa từ các lớp đối tƣợng
khác. Khi đó, trong các lớp kế thừa, có thể sử dụng các phƣơng thức (mã nguồn) của
các lớp bị kế thừa, mà không cần phải định nghĩa lại.
Ưu điểm
Lập trình hƣớng đối tƣợng có một số ƣu điểm nổi bật:
- Không còn nguy cơ dữ liệu bị thay đổi tự do trong chƣơng trình. Vì dữ liệu đã đƣợc
đóng gói vào các đối tƣợng. Nếu muốn truy nhập vào dữ liệu phải thông qua các
phƣơng thức cho phép của đối tƣợng.
- Khi thay đổi cấu trúc dữ liệu của một đối tƣợng, không cần thay đổi các đổi mã
nguồn của các đối tƣợng khác, mà chỉ cần thay đổi một số hàm thành phần của đối
tƣợng bị thay đổi. Điều này hạn chế sự ảnh hƣởng xấu của việc thay đổi dữ liệu đến
các đối tƣợng khác trong chƣơng trình.
- Có thể sử dụng lại mã nguồn, tiết kiệm tài nguyên. Vì nguyên tắc kế thừa cho phép
các lớp kế thừa sử dụng các phƣơng thức đƣợc kế thừa từ lớp khác nhƣ những
phƣơng thức của chính nó, mà không cần thiết phải định nghĩa lại.
- Phù hợp với các dự án phần mềm lớn, phức tạp.
2.3.2.2 Phân tích và thiết kế hƣớng đối tƣợng
Một vấn đề cơ bản đặt ra cho phƣơng pháp hƣớng đối tƣợng là từ một bài toán

ban đầu, làm sao để thu đƣợc một tập các đối tƣợng, với các chức năng đƣợc phối
hợp với nhau, đáp ứng đƣợc yêu cầu của bài toán đặt ra?
Phƣơng pháp phân tích thiết kế hƣớng đối tƣợng ra đời nhằm trả lời cho câu hỏi này.
Mục đích là xây dựng một tập các lớp đối tƣợng tƣơng ứng với mỗi bài toán, phƣơng
pháp này tiến hành theo hai pha chính:
Pha phân tích: Chuyển đổi yêu cầu bài toán từ ngôn ngữ tự nhiên sang ngôn
ngữ mô hình.
Pha thiết kế: Chuyển đổi đặc tả bài toán dƣới dạng ngôn ngữ mô hình sang
một mô hình cụ thể có thể cài đặt đƣợc.
Hai pha phân tích và thiết kế này bao gồm nhiều bƣớc khác nhau:
-

Mô tả bài toán

-

Đặc tả yêu cầu

-

Trích chọn đối tƣợng

-

Mô hình hoá lớp đối tƣợng


25
-


Thiết kế tổng quan

-

Thiết kế chi tiết.

Để khắc phục đƣợc những vấn đề tồn tại nêu trên thì chúng ta cần phải nghiên
cứu phƣơng pháp, mô hình và công cụ mới, thích hợp cho việc phát triển phần mềm
đáp ứng các yêu cầu của khách hàng. Mô hình hƣớng đối tƣợng có thể giúp chúng ta
vƣợt đƣợc khủng hoảng trong công nghệ phần mềm và hy vọng sẽ đƣa ra đƣợc
những sản phẩm phần mềm thƣơng mại chất lƣợng cao:tin cậy, dễ mở rộng, dễ thích
nghi, cƣờng tráng và phù hợp với yêu cầu của khách hàng. Cách tiếp cận hƣớng đối
tƣợng có những đặc trƣng sau.
1.
Đặt trọng tâm vào dữ liệu (thực thể). Khi khảo sát, phân tích một hệ thống
chúng ta không tập trung vào các nhiệm vụ nhƣ trƣớc đây mà tìm hiểu xem nó gồm
những thực thể nào. Thực thể hay còn gọi là đối tượng, là những gì nhƣ ngƣời, vật, sự
kiện, v.v. mà chúng ta đang quan tâm, hay cần phải xử lý. Ví dụ, khi xây dựng “Hệ
thống quản lý thư viện” thì trƣớc hết chúng ta tìm hiểu xem nó gồm những lớp đối
tƣợng hoặc những khái niệm nào.
2.
Xem hệ thống nhƣ là tập các thực thể, các đối tƣợng. Để hiểu rõ về hệ thống,
chúng ta phân tách hệ thống thành các đơn thể đơn giản hơn. Quá trình này đƣợc lặp
lại cho đến khi thu đƣợc những đơn thể tƣơng đối đơn giản, dễ hiểu và thực hiện cài
đặt chúng mà không làm tăng thêm độ phức tạp khi liên kết chúng trong hệ thống. Xét
“Hệ thống quản lý thư viện”, chúng ta có các lớp đối tƣợng sau:
Tập_Danh_Mục

Sách


Bạn_Đọc

Tạp_Chí

Hình 2.1: Tập các lớp đối tƣợng của hệ thống
3.
Các lớp đối tƣợng trao đổi với nhau bằng các thông điệp. Theo nghĩa thông
thƣờng thì lớp là nhóm một số ngƣời, vật có những đặc tính tƣơng tự nhau hoặc có
những hành vi ứng xử giống nhau. Trong mô hình đối tƣợng, khái niệm lớp là cấu trúc
mô tả hợp nhất các thuộc tính, hay dữ liệu thành phần thể hiện các đặc tính của mỗi
đối tƣợng và các phƣơng thức, hay hàm thành phần thao tác trên các dữ liệu riêng và
là giao diện trao đổi với các đối tƣợng khác để xác định hành vi của chúng trong hệ
thống. Khi có yêu cầu dữ liệu để thực hiện một nhiệm vụ nào đó, một đối tƣợng sẽ gửi
một thông điệp (gọi một phƣơng thức) cho đối tƣợng khác. Đối tƣợng nhận đƣợc
thông điệp yêu cầu sẽ phải thực hiện một số công việc trên các dữ liệu mà nó sẵn có
hoặc lại tiếp tục yêu cầu những đối tƣợng khác hỗ trợ để có những thông tin trả lời cho
đối tƣợng yêu cầu. Với phƣơng thức xử lý nhƣ thế thì một chƣơng trình hƣớng đối
tƣợng thực sự có thể không cần sử dụng biến toàn cục nữa.
4.

Tính mở và thích nghi của hệ thống cao hơn vì:


26
Hệ thống đƣợc xây dựng dựa vào các lớp đối tƣợng nên khi có yêu cầu thay đổi
thì chỉ thay đổi những lớp đối tƣợng có liên quan hoặc bổ sung thêm một số lớp đối
tƣợng mới (có thể kế thừa từ những lớp có trƣớc) để thực thi những nhiệm vụ mới mà
hệ thống cần thực hiện. Ví dụ: Giám đốc thƣ viện yêu cầu bổ sung chức năng theo dõi
những tài liệu mới mà bạn đọc thƣờng xuyên yêu cầu để đặt mua, ta có thể bổ sung
thêm lớp mới để theo dõi yêu cầu: lớp Yêu_Cầu.

5.
Hỗ trợ sử dụng lại và cơ chế kế thừa. Các lớp đối tƣợng đƣợc tổ chức theo
nguyên lý bao gói và che giấu thông tin, điều này làm tăng thêm hiệu quả của kế thừa
và độ tin cậy của hệ thống. Các ngôn ngữ lập trình hƣớng đối tƣợng nhƣ: C++, Java,
C#, Delphi, v.v. đều hỗ trợ quan hệ kế thừa.
Phát triển phần mềm hƣớng đối tƣợng

Phân tích

Thiết kế

Lập trình

CSDL

Bƣớc đệm

CSDL hƣớng
đối tƣợng

CSDL
CSDL
quan hệ

Hình 2.2: Hai phƣơng pháp chính trong phát triển phần mềm
Phân tích hƣớng đối tƣợng đƣợc chia làm ba bƣớc tƣơng ứng với ba dạng mô
hình UML là:

Mô hình use case: bƣớc này nhằm xây dựng mô hình chức năng của sản
phẩm phần mềm. Các chức năng này đƣợc nhìn từ quan điểm của những ngƣời sử

dụng hệ thống. Kết quả của bƣớc này là một biểu đồ use case đƣợc phân cấp cùng các


scenario tƣơng ứng của từng use case, trong đó biểu diễn đầy đủ các chức năng của hệ
thống và đƣợc khách hàng chấp nhận.
• Mô hình lớp: biểu diễn các lớp, các thuộc tính và mối quan hệ giữa các
lớp.


×