1. Trang chủ
  2. » Luận Văn - Báo Cáo

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

99 778 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 99
Dung lượng 1,3 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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 - Đ

Trang 1

ĐẠ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

Trang 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

Trang 3

MỤC LỤC

MỞ ĐẦU 1

CHƯƠNG 1 12

KHẢO SÁT HIỆN TRẠNG 12

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 12

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 12

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 14

1.4 Xác định yêu cầu nghiệp vụ quản lý kết quả đào tạo 14

1.4.1 Mô tả nghiệp vụ 14

1.4.2 Cơ cấu tổ chức bộ máy của trường Cao đẳng Hải Dương 15

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 17

CHƯƠNG 2 19

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 19

2.1 Vai trò của phân tích và thiết kế hệ thống 19

2.2 Tổng quan về phân tích và thiết kế hệ thống 20

2.3 Tổng quan về cách tiếp cận hướng đối tượng 22

2.3.1 Phương pháp tiếp cận của lập trình truyền thống 22

2.3.2 Cách tiếp cận hướng đối tượng 22

2.3.2.1 Phương pháp lập trình hướng đối tượng 22

2.3.2.2 Phân tích và thiết kế hướng đối tượng 24

2.3.3 So sánh Phương pháp tiếp cận hướng đối tượng với phương pháp tiếp cận truyền thống (phương pháp tiếp cận hướng cấu trúc) 27

2.4 Ngôn ngữ mô hình hóa thống nhất (UML) 28

2.4.1 Giới thiệu tổng quát về UML 28

2.4.2 Các khối xây dựng (building blocks) cơ bản của ULM 33

2.4.3 Một số khái niệm cơ bản trong UML 39

2.4.4 Các quy tắc ngữ nghĩa của UML 42

2.4.5 Các cơ chế chung trong UML 42

2.4.6 Các quy tắc ràng buộc và suy diễn 43

2.5 Quá trình phát triển phần mềm hướng đối tượng 43

CHƯƠNG 3 45

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 45

3.1 Phân tích các chức năng của hệ thống 45

3.2 Phân tích các ca sử dụng 46

3.2.1 Các Actor của hệ thống 46

3.2.2 Danh sách các ca sử dụng 47

Trang 4

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 48

3.2.3.1 Mô tả ca sử dụng gói “quản lý người dùng” 49

3.2.3.2 Mô tả ca sử dụng quản lý dữ liệu hồ sơ sinh viên 53

3.2.3.3 Mô tả ca sử dụng gói phân lớp cho sinh viên 56

3.2.3.4 Mô tả ca sử dụng gói quản lý học kỳ 58

3.2.3.5 Mô tả ca sử dụng gói quản lý nhập điểm cho sinh viên 60

3.2.3.6 Mô tả ca sử dụng gói phân loại sinh viên 63

3.2.3.7 Mô tả ca sử dụng gói quản lý năm học 64

3.2.3.8 Mô tả ca sử dụng gói quản lý thi tốt nghiệp 66

3.2.3.9 Mô tả ca sử dụng gói danh sách sinh viên tốt nghiệp 67

3.3 Mô hình lớp 69

3.3.1 Vấn đề xác định lớp 69

3.3.2 Xây dựng biểu đồ lớp trong pha phân tích 70

3.3.2.1 Xác định các danh từ và động từ .70

3.3.2.2 Xác định các lớp trong hệ thống 70

CHƯƠNG 4 72

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 72

4.1 Kiến trúc hệ thống quản lý kết quả đào tạo 72

4.1.1 Đặc tả kiến trúc hệ thống 72

4.1.2 Giải pháp công nghệ 72

4.2 Biểu đồ cộng tác của các ca sử dụng 73

4.3 Biểu đồ trình tự thực thi các ca sử dụng 79

4.4 Biểu đồ thành phần 92

4.5 Biểu đồ triển khai 93

CHƯƠNG 5 94

CÀI ĐẶT CHƯƠNG TRÌNH QUẢN LÝ KẾT QUẢ ĐÀO TẠO 94

5.1 Ngôn ngữ lập trình C# 94

5.2 Hệ quản trị CSDL SQL 96

5.2.1 Các module chương trình 96

5.3 Thiết kế các Form 98

KẾT LUẬN 99

TÀI LIỆU THAM KHẢO 100

Trang 5

BẢNG TỪ VIẾT TẮT

1 Tiếng Anh

CASE (Computer Aided Software Engineering) Kĩ nghệ phần mềm có máy tính trợ giúp CBD (Component Based Developemnt) Phát triển phần mềm hướng thành phần

OOPL (Object Oriented Programming Language) Ngôn ngữ lập trình hướng đối tượng OOSE (Object Oriented Software Engineering) Kĩ nghệ phần mềm hướng đối tượng

Trang 6

DANH MỤC HÌNH VẼ

Hình 2.1: Tập các lớp đối tượng của hệ thống 25

Hình 2.2: Hai phương pháp chính trong phát triển phần mềm 26

Hình 2.3 Sự phát triển của UML 31

Hình 2.4 Mô hình hóa kiến trúc hệ thống 32

Hình 2.5 Các thành phần cơ sở của ULM 33

Hình 2.6 Lớp 34

Hình 2.7 Giao diện 35

Hình 2.8 Sự cộng tác 35

Hình 2.9 Ca sử dụng 35

Hình 2.10 Lớp 35

Hình 2.11 Thành phần 35

Hình 2.12 Nút 36

Hình 2.13 Thông điệp/thông báo 36

Hình 2.14 Trạng thái .36

Hình 2.15 Gói 36

Hình 2.16 Chú thích 37

Hình 2.17 Quan hệ phụ thuộc 37

Hình 2.18 Kết hợp 37

Hình 2.19 Tổng quát hóa 37

Hình 2.20 Thực hiện hóa 38

DANH MỤC CÁC BẢNG Bảng 3.1 Bảng chức năng quản trị hệ thống 45

Bảng 3.2 Bảng chức năng Quản lý Hồ sơ 45

Bảng 3.3 Bảng chức năng Quản lý chương trình đào tạo 45

Bảng 3.4 Bảng chức năng Quản lý điểm học kỳ 46

Bảng 3.5 Bảng chức năng Quản lý điểm theo năm học 46

Bảng 3.6 Bảng các chức năng Quản lý tốt nghiệp 46

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 49

Hình 3.2 Mô hình ca sử dụng gói quản lý người dùng 50

Hình 3.3 Mô hình ca sử dụng gói quản lý dữ liệu hồ sơ sinh viên 53

Hình 3.4 Mô hình ca sử dụng gói phân lớp cho sinh viên 56

Hình 3.5 Mô hình ca sử dụng quản lý học kỳ 58

Hình 3.6 Mô hình ca sử dụng gói quản lý nhập điểm cho sinh viên 60

Hình 3.7 Mô hình ca sử dụng phân loại sinh viên 63

Hình 3.8 Mô hình ca sử dụng quản lý năm học 64

Hình 3.9 Mô tả ca sử dụng quản lý thi tốt nghiệp 66

Hình 3.10 Mô tả ca sử dụng danh sách sinh viên tốt nghiệp 67

Hình 3.11 Biểu đồ lớp của hệ thống quản lý kết quả đào tạo 71

Trang 7

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

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 74

Hình 4.3 Biểu đồ cộng tác thực thi ca sử dụng sửa hồ sơ sinh viên 74

Hình 4.4 Biểu đồ cộng tác thực thi ca sử dụng xóa hồ sơ sinh viên 75

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 75

Hình 4.6 Biểu đồ cộng tác thực thi ca sử dụng sửa điểm sinh viên 76

Hình 4.7 Biểu đồ cộng tác thực thi ca sử dụng xóa điểm sinh viên 76

Hình 4.8 Biểu đồ cộng tác thực thi ca sử dụng tính điểm sinh viên 77

Hình 4.9 Biểu đồ cộng tác thực thi ca sử dụng in danh sách sinh viên 77

Hình 4.10 Biểu đồ cộng tác thực thi ca sử dụng nhập môn thi 78

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 78

Hình 4.12 Biểu đồ tuần tự thực thi ca sử dụng nhập hồ sơ sinh viên 79

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 80

Hình 4.14 Biểu đồ tuần tự thực thi ca sử dụng sửa hồ sơ sinh viên 81

Hình 4.15 Biểu đồ tuần tự thực thi ca sử dụng xóa hồ sơ sinh viên 82

Hình 4.16 Biểu đồ tuần tự thực thi ca sử dụng nhập điểm sinh viên 83

Hình 4.17 Biểu đồ tuần tự thực thi ca sử dụng sửa điểm sinh viên 84

Hình 4.18 Biểu đồ tuần tự thực thi ca sử dụng xóa điểm sinh viên 85

Hình 4.19 Biểu đồ tuần tự thực thi ca sử dụng tính điểm sinh viên 86

Hình 4.20 Biểu đồ tuần tự thực thi ca sử dụng in danh sách sinh viên 87

Hình 4.21 Biểu đồ hoạt động Đăng nhập 88

Hình 4.22 Biểu đồ hoạt động Nhập điểm 89

Hình 4.23 Biểu đồ lớp thực thi gói quản lý hồ sơ và điểm 90

Hình 4.24 Biểu đồ lớp thực thi ca sử dụng nhập mới hồ sơ sinh viên 90

Hình 4.25 Biểu đồ lớp thực thi ca sử dụng nhập điểm cho sinh viên 91

Hình 4.26 Biểu đồ lớp thực thi ca sử dụng in danh sách sinh viên 91

Hình 4.27 Biểu đồ lớp thực thi ca sử dụng in bảng điểm sinh viên 92

Hình 4.28 Biểu đồ thành phần chương trình 93

Hình 4.29 Biểu đồ triển khai chương trình 93

Trang 8

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

Trang 9

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

Trang 10

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

Trang 11

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

Trang 12

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

Trang 13

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

Trang 14

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:

Trang 15

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

Đơ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

Trang 16

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,

Trang 17

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

Trang 18

- 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à

Trang 19

í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:

1 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

2 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

3 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)

Trang 20

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 đó

* 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

Trang 21

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

Trang 22

Đặ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

Trang 23

- 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

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:

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ì:

Trang 24

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át triển phần mềm có cấu trúc

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

Lập trình hướng đối tượng

Bước đệm

Bước đệm

Bước đệm

Trang 25

Từ tập các use case và scenario, nhóm phát triển hệ thống sẽ phải chỉ ra các lớp, xác định các thuộc tính, các phương thức và các mối quan hệ giữa các lớp

• Mô hình động: biểu diễn các hoạt động liên quan đến một lớp hay lớp con

Các hoạt động này được biểu diễn dưới dạng tương tự như sơ đồ máy trạng thái hữu hạn và được gọi là biểu đồ trạng thái Ngoài biểu đồ trạng thái, trong mô hình động còn có các biểu đồ khác là: biểu đồ tương tác (gồm cả biểu đồ tuần tự, biểu đồ cộng tác) và biểu đồ động Tuy nhiên, trong pha phân tích, người phát triển hệ thống chỉ quan tâm đến biểu đồ trạng thái cho mỗi lớp đã xác định được trong mô hình lớp

Dựa trên các kết quả của pha phân tích, pha thiết kế hướng đối tượng được chia thành các bước như sau:

• Xây dựng các biểu đồ tương tác, bao gồm biểu đồ tuần tự và biểu đồ cộng tác

• Xây dựng biểu đồ lớp chi tiết: thực hiện hoàn chỉnh sơ đồ lớp, xác định và biểu diễn đầy đủ các phương thức cho từng lớp, xác định mối quan hệ giữa các lớp

• Thiết kế chi tiết: xây dựng các biểu đồ động cho các phương thức phức tạp trong các lớp và xây dựng bảng thiết kế chi tiết cũng như kế hoạch cài đặt và tích hợp

• Xây dựng biểu đồ thành phần và biểu đồ triển khai hệ thống

• Phát sinh mã, chuẩn bị cho cài đặt hệ thống

2.3.3 So sánh Phương pháp tiếp cận hướng đối tượng với phương pháp tiếp cận truyền thống (phương pháp tiếp cận hướng cấu trúc)

Phương pháp tiếp cận hướng đối tượng có bản chất hoàn toàn khác với phương pháp tiếp cận truyền thống (phương pháp tiếp cận hướng cấu trúc) trên nhiều mặt:

- Phương pháp mô hình bài toán khác nhau

- Đặc trưng khác nhau về đóng gói

- Ưu / nhược điểm khác nhau

- Lĩnh vực ứng dụng khác nhau

Khác nhau về phương pháp mô hình

Hai phương pháp này khác nhau hoàn toàn ở cách tiếp cận và mô hình bài toán, phương pháp hướng đối tượng tiến hành theo phương pháp từ dưới lên trên, từ thấp lên cao, từ cụ thể đến trừu tượng Trong khi đó, phương pháp cấu trúc tiếp cận theo phương pháp từ trên xuống dưới, từ tổng quan đến chi tiết:

- Phương pháp hướng đối tượng bắt đầu bằng những đối tượng cụ thể, tập hợp các thuộc tính của từng đối tượng Sau đó, nhóm các đối tượng tương tự nhau thành nhóm, loại bỏ các thuộc tính quá cá biệt, chỉ giữ lại các thuộc tính chung nhất, nhóm thành lớp Cho nên, quá trình hình thành lớp là quá trình đi từ thấp lên cao, từ cụ thể ở mức thấp đến trừu tượng hoá ở mức cao

- Trong khi đó, phương pháp hướng cấu trúc lại đi theo chiều ngược lại Phương

Trang 26

pháp này bắt đầu từ một bài toán tổng quan, ở mức khái quát cao, chia nhỏ dần và làm mịn dần cho đến khi thu được một tập các bài toán con, nhỏ hơn, cụ thể hơn, chi tiết hơn

Khác nhau về đặc trưng đóng gói

Hai phương pháp tiếp cận này cũng có những đặc trưng hoàn toàn khác nhau:

- Phương pháp hướng đối tượng có đặc trưng là dữ liệu được đóng gói để hạn chế truy nhập tự do trực tiếp vào dữ liệu Thứ hai là cho phép sử dụng lại mã nguồn

để tiết kiệm tài nguyên và công sức lập trình

- Trong khi đó, đặc trưng của phương pháp cấu trúc là cấu trúc dữ liệu và giải thuật

và mối quan hệ phụ thuộc chặt nhẽ của giải thuật vào cấu trức dữ liệu

Khác nhau về ưu nhược điểm

Hai phương pháp này cũng có những ưu nhược điểm trái ngược nhau:

- Phương pháp hướng đối tượng có ưu điểm là bảo vệ được dữ liệu tránh bị truy nhập trực tiếp tự do từ bên ngoài, tiết kiệm được tài nguyên và công sức lập trình do

có thể dùng lại mã nguồn Tuy nhiên, phương pháp này lại khá phức tạp, khó theo dõi được luồng dữ liệu và hơn nữa, giải thuật không phải là vấn đề trọng tâm của phương pháp này

- Trái lại, phương pháp hướng cấu trúc lại có ưu điểm là tư duy giải thuật rõ ràng,

dễ theo dõi luồng dữ liệu, chương trình đơn giản và dễ hiểu Tuy nhiên, không bảo

về được an toàn dữ liệu trong chương trình Hơn nữa, hạn chế lớn nhất là sự phụ thuộc chặt chẽ của giải thuật vào cấu trúc dữ liệu, khiến cho khi thay đổi cấu trúc

dữ liệu, thường phải thay đổi giải thuật, và do đó, phải viết lại mã cho chương trình

mã nguồn của phương pháp này để tiết kiệm tài nguyên và công sức

- Trong khi đó, phương pháp cấu trúc thường phù hợp với các bài toán nhỏ, có luồng

dữ liệu rõ ràng, cần phải tư duy giải thuật rõ ràng và người lập trình vẫn có khả năng tự quản lí được mọi truy nhập đến các dữ liệu của chương trình

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

Tiến trình phát triển phần mềm thống nhất (Unified Software Development Proccess: USDP) và ngôn ngữ mô hình hóa thống nhất (Unified Modeling Language:

Trang 27

UML) là phương pháp luận và công cụ điển hình cho công nghệ phát triển phần mềm hướng đối tượng

UML là ngôn ngữ mô hình hóa chuẩn, ngôn ngữ mô hình đồ họa, trực quan, vừa đặc tả vừa có cấu trúc, đồng thời lại là ngôn ngữ làm tài liệu Vì vậy đối với việc phát triển phần mềm hướng đối tượng, UML đặc biệt có khả năng sau:

- Cho phép mô tả toàn bộ các sản phẩm phân tích và thiết kế

- Trợ giúp việc tự động hóa quá trình thiết kế trên máy tính

- Trợ giúp việc dịch xuôi và dịch ngược các thiết kế sang mã nguồn của ngôn ngữ lập trình và CSDL

Đầu những năm 1980, ngành công nghệ phần mềm chỉ có duy nhất một ngôn ngữ hướng đối tượng là Simula Sang nửa sau của thập kỷ 1980, các ngôn ngữ hướng đối tượng như Smalltalk và C++ xuất hiện Cùng với chúng, nảy sinh nhu cầu mô hình hoá các hệ thống phần mềm theo hướng đối tượng Và một vài trong số những ngôn ngữ mô hình hoá xuất hiện những năm đầu thập kỷ 90 được nhiều người dùng là:

- Grady Booch‟s Booch Modeling Methodology

- James Rambaugh‟s Object Modeling Technique – OMT

- Ivar Jacobson‟s OOSE Methodology

- Hewlett- Packard‟s Fusion

- Coad and Yordon‟s OOA and OOD

Mỗi phương pháp luận và ngôn ngữ trên đều có hệ thống ký hiệu riêng, phương pháp xử lý riêng và công cụ hỗ trợ riêng, khiến nảy ra cuộc tranh luận phương pháp nào là tốt nhất Đây là cuộc tranh luận khó có câu trả lời, bởi tất cả các phương pháp trên đều có những điểm mạnh và điểm yếu riêng Vì thế, các nhà phát triển phần mềm nhiều kinh nghiệm thường sử dụng phối hợp các điểm mạnh của mỗi phương pháp cho ứng dụng của mình Trong thực tế, sự khác biệt giữa các phương pháp đó hầu như không đáng kể và theo cùng tiến trình thời gian, tất cả những phương pháp trên đã tiệm cận lại và bổ sung lẫn cho nhau Chính hiện thực này đã được những người tiên phong trong lĩnh vực mô hình hoá hướng đối tượng nhận ra và họ quyết định ngồi lại cùng nhau để tích hợp những điểm mạnh của mỗi phương pháp và đưa ra một mô hình thống nhất cho lĩnh vực công nghệ phần mềm

Trong bối cảnh trên, người ta nhận thấy cần thiết phải cung cấp một phương pháp tiệm cận được chuẩn hoá và thống nhất cho việc mô hình hoá hướng đối tượng Yêu cầu cụ thể là đưa ra một tập hợp chuẩn hoá các ký hiệu (Notation) và các biểu đồ (Diagram) để nắm bắt các quyết định về mặt thiết kế một cách rõ ràng, rành mạch Đã

có ba công trình tiên phong nhắm tới mục tiêu đó, chúng được thực hiện dưới sự lãnh đạo của James Rumbaugh, Grady Booch và Ivar Jacobson Chính những cố gắng này dẫn đến kết quả là xây dựng được một Ngôn Ngữ Mô Hình Hoá Thống Nhất (Unifield Modeling Language – UML)

Trang 28

UML là một ngôn ngữ mô hình hoá thống nhất có phần chính bao gồm những

ký hiệu hình học, được các phương pháp hướng đối tượng sử dụng để thể hiện và miêu

tả các thiết kế của một hệ thống Nó là một ngôn ngữ để đặc tả, trực quan hoá, xây dựng và làm sưu liệu cho nhiều khía cạnh khác nhau của một hệ thống có nồng độ phần mềm cao UML có thể được sử dụng làm công cụ giao tiếp giữa người dùng, nhà phân tích, nhà thiết kế và nhà phát triển phần mềm

Trong quá trình phát triển có nhiều công ty đã hỗ trợ và khuyến khích phát triển UML có thể kể tới như : Hewlett Packard, Microsoft, Oracle, IBM, Unisys

UML được hợp nhất từ nhiểu thành tựu, kinh nghiệm nghiên cứu và triển khai nhờ:

- Cách tiếp cận của Grady Booch (Booch Approach),

- Kỹ thuật mô hình đối tượng (OMT: Object Modelin Technique) của James Rumbaugh

- Kỹ nghệ phần mềm hướng đối tượng (OOSE: Object-Oriented Software Engineering) của Ivar Jacobson

- Thống nhất được nhiều ký pháp, khái niệm của nhiều phương pháo khác nhau Quá trình hình thành UML bắt đầu từ ngôn ngữ Ada (Booch) trước năm 1990

UML có thể được sử dụng trong nhiều giai đoạn, từ phát triển, thiết kế cho tới thực hiện và bảo trì Vì mục đích chính của ngôn ngữ này là dùng các biểu đồ hướng đối tượng để mô tả hệ thống nên miền ứng dụng của UML bao gồm nhiều loại hệ thống khác nhau như:

- Hệ thống thống tin (Information System): Cất giữ, lấy, biến đổi biểu diễn thông tin cho người sử dụng Xử lý những khoảng dữ liệu lớn có các quan hệ phức tạp,

mà chúng được lưu trữ trong các cơ sở dữ liệu quan hệ hay hướng đối tượng

- Hệ thống kỹ thuật (Technical System): Xử lý và điều khiển các thiết bị kỹ thuật như viễn thông, hệ thống quân sự, hay các quá trình công nghiệp Đây là loại thiết bị phải xử lý các giao tiếp đặc biệt, không có phần mềm chuẩn và thường là các

hệ thống thời gian thực (real time)

- Hệ thống nhúng (Embeded System): Thực hiện trên phần cứng gắn vào các thiết bị như điện thoại di động, điều khiển xe hơi,… Điều này được thực hiện bằng việc lập trình mức thấp với hỗ trợ thời gian thực Những hệ thống này thường không

có các thiết bị như màn hình đĩa cứng, …

- Hệ thống phân bố (Distributed System): Được phân bố trên một số máy cho phép truyền dữ liệu từ nơi này đến nơi khác một cách dễ dàng Chúng đòi hỏi các cơ chế liên lạc đồng bộ để đảm bảo toàn vẹn dữ liệu và thường được xây dựng trên một

số các kỹ thuật đối tượng như CORBA, COM/DCOM, hay Java Beans/RMI

Trang 29

- Hệ thống Giao dịch (Business System): Mô tả mục đích, tài nguyên (con người, máy tính, …), các quy tắc (luật pháp, chiến thuật kinh doanh, cơ chế, …), và công việc hoạt động kinh doanh

- Phần mềm hệ thống (System Software): Định nghĩa cơ sở hạ tầng kỹ thuật cho phần mềm khác sử dụng, chẳng hạn như hệ điều hành, cơ sở dữ liệu, giao diện người

sử dụng

1990

1995

1997

Hình 2.3 Sự phát triển của UML

Trong UML, kiến trúc của hệ thống phần mềm chuyên sâu (cho ta một cách nhìn khái quát nhất về hệ thống phần mềm ở các góc độ khác nhau) được mô tả theo 5 loại khung nhìn (views) khác nhau Mỗi khung nhìn phản ánh về một khía cạnh của tổ chức và cấu trúc của hệ thống, tập trung vào từng mặt cụ thể giúp cho ta hiểu và sử dụng hệ thống tốt nhất Mỗi khung nhìn thường được thể hiện trong một số sơ đồ nhất định [16] – [18]

UML 0.9 Booch/Rumbaugh

OMT 94

Trang 30

Hình 2.4 Mô hình hóa kiến trúc hệ thống

- Khung nhìn ca sừ dụng (Use case view) chứa các tác nhân, ca sử dụng, sơ đồ ca

sử dụng (khía cạnh tĩnh của khung nhìn) trong hệ thống Chúng cũng có thể bao gồm vài sơ đồ trình tự, sơ đồ cộng tác (khía cạnh động của khung nhìn) và gói Khung nhìn

ca tập trung vào mức cao của cái hệ thống sẽ làm, không quan tâm đến hệ thống làm như thế nào

- Khung nhìn thiết kế (design view) tập trung vào hệ thống cài đặt hành vi trong

ca sử dụng như thế nào Nó bao gồm các lớp, sơ đồ lớp, sơ đồ đối tượng (khía cạnh tĩnh của khung hình), sơ đồ tương tác, sơ đồ hoạt động, sơ đồ biển đổi trạng thái (khía cạnh động của khung hình) và các gói Trong khung nhìn, người ta quan tâm đến hai lớp quan trọng là lớp phân tích (lớp biên, lớp điều khiển, lớp dữ liệu) và lớp thiết kế (lớp phụ thuộc vào ngôn ngữ) Khung nhìn này tập trung vào cấu trúc logic của hệ thống nên còn được gọi là khung nhìn logic (logical view) Khung nhìn này tập trung vào cấu trúc của hệ thống Nhờ nó, người ta nhận ra các bộ phận cơ bản cấu thành hệ thống thể hiện mọi quá trình trao đổi, xử lý thông tin cơ bản trong hệ thống

- Khung nhìn tiến trình/tương tranh (process view) biểu diễn sự phân chia các luồng thực hiện công việc, các lớp đối tượng cho các tiến trình và sự đồng bộ giữa các luồng (thread) trong hệ thống Khung nhìn này tập trung vào các nhiệm vụ tương tranh, tương tác với nhau trong hệ thống đa nhiệm Nó chủ yếu diễn đạt hiệu năng, quy

mô và năng lực thông qua của hệ thống

- Khung nhìn thành phần/cài đặt (component/implementation view) bao gồm các thành phần (là mô-đun vật lý hay các file) để lắp ráp thành hệ thống vật lý Khung nhìn này hướng đến việc quản lý cấu hình của hệ thống Khung nhìn này bao gồm thành phần, sơ đồ thành phần và gói

- Khung nhìn bố trí/ triển khai (Deloyment view) bao gồm các nút tạo nên kết cấu phần cứng mà trên đó hệ thống vận hành Khung nhìn này chủ yếu hướng đến sự phân tán và cài đặt cụ thể của hệ thống, tức là liên quan đến triển khai vật lý của hệ thống Khung nhìn triển khai chỉ ra các tiến trình và thiết bị trên mạng và các kết nối vật lý giữa chúng Sơ đồ triển khai cũng hiển thị tiến trình và chỉ ra tiến trình nào chạy trên máy nào Khung nhìn này được thể hiện trong các sơ đồ triển khai/bố trí các nút của hệ thống.[6]

Khung nhìn cài đặt/thành phần

Khung nhìn triển khai/bố trí

Trang 31

Để hiểu và sự dụng tốt UML trong phân tích, thiết kế hệ thống, đòi hỏi phải nắm bắt đƣợc ba vấn đề chính:

- Các khối xây dựng cơ bản

- Các quy tắc ngữ nghĩa

- Một số cơ chế chung đƣợc áp dụng cho việc mô hình hóa

2.4.2 Các khối xây dựng (building blocks) cơ bản của ULM

Hình 2.5 Các thành phần cơ sở của ULM

Các sự vật (things) là các trừu tƣợng hóa và là những phần tử lớp đầu tiên (những viên gạch) để xây dựng lên các mô hình trong ULM Các quan hệ (relationships) gắn kết các sự vật với nhau, các sơ đồ (diagrams) nhóm các sự vật đƣợc quan tâm lại tạo nên ngƣ nghĩa của nó (cho một mô hình)

1 Các sự vật (things)

UML có bốn loại sự vật, đó là sự vật cấu trúc, hành vi, nhóm và chú thích

Sự vật cấu trúc (structural things): là các danh từ trong mô hình UML, biểu diễn cho các thành phần khái niệm hay vật lý của hệ thống

UML có bảy sự vật cấu trúc:

+ Lớp (class) Lớp là tập các đối tƣợng cùng chia sẻ các thuộc tính, thao tác, quan hệ và ngữ nghĩa Một lớp có trách nhiệm thực hiện một hay nhiều giao diện Một

CÁC KHỐI XÂY DỰNG

Kết hợp Tổng quát hoá (kế thừa) Hiện thực hóa

Ca sử dụng Lớp Đối tƣợng Tuần tự Cộng tác Trạng thái Hoạt động Thành phần Triển khai

Máy trạng thái

Gói

Mô hình

Hệ thống con Khung làm việc

Ghi chú

Trang 32

lớp được biểu diễn bằng một hình chữ nhật bên trong có tên, các thuộc tính và các tác

vụ

Hình 2.6 Lớp

Một lớp có ba thành phần như sau: tên lớp, các thuộc tính, các phương thức (ứng xử) của lớp

Tên lớp thường là danh từ, ví dụ: sinh viên

Các thuộc tính được coi là đúng nếu nó bao gồm các thông tin để mô tả và nhận dạng một thực thể cụ thể của một lớp Tuy nhiên chỉ nên đưa vào các thuộc tính mà hệ thống quan tâm Mỗi một thuộc tính đều thuộc một kiểu dữ liệu nào đó Kiểu dữ liệu nguyên thuỷ bao gồm các kiểu như: Integer, Boolean, Real Ngoài ra các thuộc tính còn có khả năng nhìn thấy được (Visibility) bao gồm public, private và protected Nếu một thuộc tính là public nghĩa là một lớp khác có thể tham chiếu đến và sử dụng thuộc tính đó Nếu là private thì các lớp khác không thể tham chiếu đến thuộc tính này

Các phương thức trong một lớp mô tả cái mà lớp đó có thể làm Các phương thức thường được gọi là các hàm (funtion) nhưng chúng chỉ thuộc vào lớp đó và áp dụng đối với các đối tượng của lớp đó Cũng giống như các thuộc tính, các phương thức cũng có phạm vi và khả năng nhìn thấy được

Đối tượng là khái niệm dùng để mô hình hoá một vật hoặc một khái niệm trong thế giới thực, có thể là một phần của bất kỳ loại hệ thống nào như máy móc hay một tổ chức Có một số đối tượng (ví dụ như các đối tượng thực thi trong hệ thống phần mềm) không tồn tại một cách trực tiếp trong thế giới thực nhưng nó phát sinh bắt nguồn từ việc nghiên cứu cấu trúc và hành vi của các đối tượng trong thế giới thực Vì thế các đối tượng liên quan đến hiểu biết của chúng ta về thế giới thực bởi đối tượng là thể hiện của một lớp nào đó

Ký pháp: trong UML đối tượng được thể hiện bởi một hình chữ nhật với tên ở bên trong Tên đối tượng được gạch chân

+ Giao diện (interface) Giao diện là tập các thao tác làm dịch vụ cho lớp hay thanh phần (mô-đun vật lý hoặc mã chương trình) Giao diện mô tả hành vi quan sát được từ bên ngoài thành phần Giao diện chỉ khai báo các phuuwong thức xử lý không định nghĩa nội dung thực hiện Nó thường không đứng một mình mà thường nó được gắn với lớp hay một thành phần thực hiện giao diện

Window Size Origin Open() Close() Move() Display

Tên lớp Thuộc tính Tác vụ/ phương thức

Trang 33

Hình 2.7 Giao diện

+ Cộng tác (collaboration) Sự cộng tác xác định các hoạt động bên trong hệ thống và

là một bộ các nguyên tắc và các phần tử khác nhau cùng làm việc để cung cấp một hành vi hợp tác lớn hơn tổng hành vi vủa tất cả các phần tử Nó được ký hiệu bằng hình elip với đường đứt nét và thường chỉ gồm có tên

Hình 2.8 Sự cộng tác

+ Ca sử dụng (use case) Ca sử dụng mô tả một tập các hành động mà hệ thống sẽ thực hiện để phục vụ cho các tác nhân ngoài Tác nhân ngoài là những gì bên ngoài có tương tác, trao đổi với hệ thống Nó được ký hiệu bằng hình elip nét liền, thwuowngf chỉ bao gồm có tên

Hình 2.9 Ca sử dụng

+ Lớp tích cực/hoạt động (active class) Lớp tích cực được xem như là lớp có đối tượng làm chủ một hay nhiều tiến trình, luồng hành động Bởi vậy nó có thể khởi động hoạt động điều khiển Nó được ký hiệu như một lớp nhưng có đường viền đậm

Hình 2.10 Lớp

+ Thành phần (component) 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 Một thành phần được ký hiệu bằng một hình chữ nhật với các bảng và thường bao gồm chỉ có tên của nó

Hình 2.11 Thành phần

interface

Dãy các trách nhiệm

Sửa hồ sơ sinh viên

Window Size Origin Open() Close() Move()

Orderform.java

Trang 34

Hiển thị

+ Nút (node) Nút thể hiện thành phần vật lý, tồn tại khi chương trình chạy và biểu diễn cho các tài nguyên được sử dụng trong hệ thống, thường có ít nhất bộ nhớ và khả năng xử lý Nó được ký hiệu bằng một hình hộp thường bao gồm tên của nó

Hình 2.13 Thông điệp/thông báo

+ Máy biến đổi trạng thái (state machine) Máy biến đổi trạng thái (otomat hữu hạn trạng thái) chỉ ra trật tự thay đổi trạng thái khi các đối tượng hay sự tương tác sẽ phải

đi qua để đáp ứng các sự kiện xảy ra Nó gồm một số phần tử biểu diễn trạng thái, các dịch chuyển (từ trạng thái này sang trạng thái khác) và các sự kiện (kích hoạt dịch chuyển) Một trạng thái được ký hiệu bằng hình chữ nhật tròn góc trong đó có tên trạng thái

Hình 2.14 Trạng thái

Các sự vật nhóm gộp (grouping things): là bộ phận tổ chức của mô hình UML

Nó là công cụ để tổ chức các thành phần của một mô hình các nhóm Mô hình có thể được phân chia vào trong các gói Một gói đơn thuần là một khái niệm Trong ký hiệu một gói thường có tên, đôi khi có nội dung của nó Các sự vật nhóm có gói (package),

mô hình và khung công việc

+ Gói (package) Gói là phần tử đa năng được sử dụng để tổ chức các lớp, hay một số nhóm khác trong một nhóm Không giống với thành phần (compoent), phần tử gói hoàn toàn là khái niệm, có nghĩa chúng chỉ tồn taị trong mô hình vào thời điểm phát triển hệ thống chứ không tồn tại vào thời điểm chạy chương trình Gói giúp ta quan sát

Trang 35

+ Khung làm việc Khung làm việc là một tập hợp các lớp trừu tượng hay cụ thể được

sử dụng như là các khuôn mẫu để giải quyết một họ các vấn đề tương tự

Chú thích: là bộ phận chú giải của mô hình, giải thích về các phần tử, khái niệm và cách sử dụng chúng trong mô hình

Hướng thông điệp

Hình 2.16 Chú thích

2 Các mối quan hệ (relationships)

UML cho phép biểu diễn cả bốn mối quan hệ giữa các đối tượng trong các hệ thống

Đó là các quan hệ: phụ thuộc, kết hợp, tổng quát hóa và hiện thực hóa

+ Quan hệ phụ thuộc (dependency) Đây là quan hệ ngữ nghĩa giữa hai sự vật, trong đó

có sự thay đổi một sư vật sẽ tác động đến ngữ nghĩa của sự vật phụ thuộc

Hình 2.17 Quan hệ phụ thuộc

+ Quan hệ kết hợp (association) Kết hợp là quan hệ cấu trúc xác định mối liên kết giữa các lớp đối tượng Khi có một đối tượng của lớp này gửi/nhận thông điệp đến/từ chỗ đối tượng của lớp kia thì hai lớp đó có quan hệ kết hợp Một dạng đặc biệt của quan hệ kết hợp là quan hệ tụ hợp (aggregation), biểu diễn mối quan hệ giữa toàn thể

và bộ phận Trong ký hiệu thường có nhãn và thường có chứa các bài trí khác nhau giải thích vai trò của đối tượng tham gia vào liên kết và các bản số của chúng

Hình 2.18 Kết hợp

+ Quan hệ tổng quát hóa (generralization): Đây là quan hệ mô tả sự khái quát hóa mà trong đó một số đối tượng cụ thể (con) sẽ được thừa kế các thuộc tính, các phương thức của các đối tượng tổng quát (cha) Nó được ký hiệu bằng đường nét liền với mũi tên rỗng chỉ về phía cha

Hình 2.19 Tổng quát hóa

+ Thực hiện hóa (realiazation) Thực hiện hóa là quan hệ ngữ nghĩa giữa giao diện và lớp (hay thành phần) để thực hiện cài đặt các dịch vụ đã được khai báo trong cac giao diện Mối quan hệ này dựa vào 2 vị trí: giữa các giao diện và các lớp hoặc các thành phần thực hiện nó Một mối quan hệ thực hiện được xem như một mối quan hệ nằm giữa mối quan hệ tổng quát hóa và mối quan hệ phụ thuộc, vì thế nó được ký hiệu bằng đường nét đứt có mũi tên rỗng

Trang 36

Hình 2.20 Thực hiện hóa

3 Các sơ đồ

Sơ đồ (diagram) là đồ thị biểu diễn đồ họa về tập các phần tử (các từ vựng) trong mô hình và mói quan hệ của chúng (một số tác giả ghi là biểu đồ) Sơ đồ thường được thể hiện như một đồ thị liên thông với các đỉnh (là các sự vật) và các cung (là các mối quan hệ) Sơ đồ chứa đựng các nội dung của các khung nhìn dưới các góc độ khác nhau và một thành phần của hệ thống có thể xuất hiện trong một hay nhiều sơ đồ UML cung cấp những sơ đồ trực quan để biểu diễn các khía cạnh khác nhau của hệ thống, bao gồm:

- Sơ đồ ca sử dụng (use case diagram) mô tả sự tương tác giữa các tác nhân ngoài

và hệ thống thông qua các ca sử dụng Các ca sử dụng là những nhiệm vụ chính, các dịch vụ, những trường hợp sử dụng cụ thể mà hệ thống cung cấp cho người sử dụng và ngược lại

- Sơ đồ lớp (class diagram) mô tả cấu trúc tĩnh, mô tả mô hình khái niệm bao gồm các lớp đối tượng và các mối quan hệ của chúng trong hệ thống hướng đối tượng

Người ta sử dụng sơ đồ lớp để mô hình hóa khung nhìn thiết kế tĩnh của hệ thống và thường sử dụng sơ đồ này để mô hình hóa bảng từ vụng của hệ thống, mô hình hóa các cộng tác đơn giản, mô hình hóa cơ sở dữ liệu logic Người ta còn sử dụng

sơ đồ đối tượng để mô hình hóa khung nhìn thiết kế tĩnh của hệ thống cũng như mô hình hóa cấu trúc của đối tượng Sơ đồ dối tượng mô dình hóa các thể hiện của các sự vật trong một sơ đồ lướp Nó đưa ra một tập các đối tượng và các mối quan hệ giữa chúng tại một thời điểm

- Sơ đồ trình tự (sequence diagram) ;là một loại sơ đồ tương tác (interaction diagram) thể hiện sự tương tác của các đối tượng với nhau, chủ yếu là trình tự gửi và nhận thông điệp để thực thi các yêu cầu, các công việc theo thời gian

- Sơ đồ cộng tác (collaboration diagram) cũng là một loại sơ đồ tương tác, tương

tự như sơ đồ trình tự nhưng nhấn mạnh vào sự tương tác của các đối tượng trên cơ sở cộng tác với nhau bằng cách trao đổi các thông điệp để thực hiện các yêu cầu theo ngữ cảnh công việc

- Sơ đồ trạng thái (statechart diagram) cũng là một loại sơ đồ tương tác, biểu diễn một máy trạng thái Nó biểu diễn dòng điều khiển từ trạng thái này tới trạng thái khác

Nó nhấn mạnh dòng điều khiển từ hoạt động này đến hoạt động khác đang xảy ra bên trong một máy trạng thái

- Sơ đồ hành động (activity diagram) cũng là một loại sơ đồ tương tác, chỉ ra dòng hoạt động của hệ thống, bao gồm các trạng thái hoạt động, trong đó từ một trạng thái hoạt động sẽ chuyển sang trạng thái khác sau khi một hoạt động tương ứng được thực hiện Nó chỉ ra trình tự các bước, tiến trình thực hiện cũng như các điểm quyết

Trang 37

định và sự rẽ nhánh theo luồng sự kiện

Sơ đồ triển khai (deployment diagram) chỉ ra cách bố trí vật lý các thành phần theo kiến trúc được thiết kế của hệ thống [7]

2.4.3 Một số khái niệm cơ bản trong UML

Ngay từ đầu chương, chúng ta đã nêu rõ bản chất của cách tiếp cận hướng đối tượng và khái niệm chung nhất về đối tượng Chúng ta thấy rằng cách tiếp cận hướng đối tượng để phát triển phần mềm dựa trên mô hình dữ liệu trừu tượng và khái niệm lớp nhằm chỉ ra những đặc tính chung các cấu trúc dữ liệu được sử dụng trong quá trình mô hình hóa hệ thống Để làm tốt được điều đó, trước hết chúng ta cần tìm hiểu sâu hơn một số khái niệm cơ bản dưới đây

1 Các đối tượng

Đối tượng là khái niệm cơ sở quan trọng nhất của cách tiếp cận hướng đối tượng Đối tượng là một khái niệm, một sự trừu tượng hóa hay một sự vật có nghĩa trong bài toán đang khảo sát Đó chính là các mục mà ta đang nghiên cứu, đang thảo luận về chúng Đối tượng là thực thể của hệ thống, của CSDL và được xác định thông qua định danh của chúng Thông thường các đối tượng được mô tả bởi các danh từ riêng (tên gọi) hoặc được tham chiếu tới trong các mô tả của bài toán hay trong các thảo luận với người sử dụng Có những đối tượng là những thực thể có trong thế giới thực như người, sự vật cụ thể, hoặc là những khái niệm như một công thức, hay khái niệm trừu tượng … Có một số đối tượng được bổ sung vào hệ thống với lý do phục vụ cho việc cài đặt và có thể không có trong thực tế

Đối tượng là những thực thể được xác định trong thời gian hệ thống hoạt động Trong giai đoạn phân tích, ta phải đảm bảo rằng các đối tượng đều được xác định được bằng các định danh Đến khâu thiết kế, ta phải lựa chọn cách thể hiện những định danh

đó theo cách ghi địa chỉ bộ nhớ, gán các số hiệu, hay dùng tổ hợp một số giá trị của một số thuộc tính để biểu diễn Theo quan điểm người lập trình, đối tượng được xem như là một vùng nhớ được phân chia trong máy tính để lưu trữ dữ liệu (thuộc tính) và tập các hàm thao tác trên dữ liệu được gắn với nó Bởi vì các vùng nhớ được phân hoạch là độc lập với nhau nên các đối tượng có thể tham gia vào nhiều chương trình khác nhau mà không ảnh hưởng lẫn nhau

2 Lớp các đối tượng

Đối tượng là thể hiện, là một đại biểu của một lớp Lớp là một mô tả về một nhóm các đối tượng có những tính chất (thuộc tính) giống nhau, có ching các hành vi ứng xử (thao tác gần như nhau), có cùng mối liên quan với các đối tượng của các lướp khác và có chung ngữ nghĩa trong hệ thống Lớp chính là cơ chế được sử dụng để phân loại các đối tượng của một hệ thống Lớp thường xuất hiện dưới dạng những danh từ chung trong các tài liệu mô tả bài toán hay trong các thảo luận với người sử dụng Cũng như các đối tượng, lớp có thể là những nhóm thực thể có trong thế giới thực,

Trang 38

cũng có những lớp là khái niệm trừu tượng và có những lớp được đưa vào trong thiết

kế để phục vụ cho cài đặt hệ thống, …

Lớp và mối quan hệ của chúng có thể mô tả trong các sơ đồ lớp sơ đồ đối tượng

và một số sơ đồ khác của UML Trong sơ đồ lớp, lớp được mô tả bằng một hình hộp chữ nhật, trong đó có tên của lớp, có thể có các thuộc tính và các hàm (phương thức)

Người ta thường đặt tên theo một quy tắc thống nhất như sau:

+ Tên của lớp thì chữ cái đầu của tất cả các từ đều viết hoa, ví dụ: SinhVien, HocSinh, KhachHang,…

+ Tên của đối tượng, tên của thuộc tính thì viết hoa chữ cài đầu của các từ trừ từ đầu tiên, ví dụ: hoTen, danhSachSV,…

+ Tên của hàm (phương thức) viết giống như tên của đối tượng nhưng có thêm cặp ngoặc đơn „(„ và „)‟, ví dụ hienThi(), nhapDiem(),…

Trong sơ đồ ở giai đoạn phân tích, một lớp có thể chỉ cần có tên lớp, tên và thuộc tính, hoặc có cả tên gọi, thuộc tính và các phương thức

3 Các giá trị và thuộc tính của đối tượng

Giá trị (value) là một phần của dữ liệu Các giá trị thường là các số hoặc là các

ký tự Thuộc tính của đối tượng là thuộc tính của lớp được mô tả bởi giá trị của mỗi đối tượng trong lớp đó

Không nên nhầm lẫn giá trị với đối tượng Các đối tượng có định danh chứ không phải là các giá trị Giá trị có thể là các giá trị của các kiểu dữ liệu nguyên thủy như cá kiểu số hoặc cá kiểu xâu ký tự, hoặc là tập hợp của các giá trị nguyên thủy

Các dữ liệu thành phần của một lớp có thể được bao gói thông qua các thuộc tính quản lý sự truy nhập để phục vụ việc che dầu thông tin của phương pháp hướng đối tượng Trong UML ta có thể sử dụng cá ký hiệu để đặc tả các thuộc tính đó

Ký hiệu:

„+‟ đứng trước tên thuộc tính, hàm xác định tính công khai (public), mọi đối tượng trong hệ thống đều nhìn thấy được Nghĩa là mọi đối tượng đều có thể truy nhập được vào dữ liệu công khai Trong Rose, ký hiệu là ổ khóa không bị khóa

„#‟ đứng trước tên thuộc tính, hàm xác định tính được bảo vệ (protected), chỉ những đối tượng có quan hệ kế thừa với nhau nhìn thấy được Trong Rose ký hiệu là ổ khóa bị khóa, nhưng có chìa để bên cạnh

„_‟ đứng trước tên thuộc tính, hàm xác định tính sở hữu triêng (private), chỉ các đối tượng trong cùng lớp mới nhìn thấy được Trong Rose ký hiệu là ổ khóa bị khóa và không có chìa để bên cạnh

Trong trường hợp không sử dụng một trong ba ký hiệu trên thì đó là trường hợp mặc định Thuộc tính quản lý truy cập mặc định của những hệ thống khác nhau có thể khác nhau, ví dụ trong C++, các thuộc tính mặc định trong lớp được qui định là private, còn trong Java lại qui định khác, đó là những thuộc tính rộng hơn private

Trang 39

Những thuộc tính trên thiết lập quyền truy cập cho mọi đói tượng trong các lớp, cá gói, các hệ thống con của hệ thống phần mềm

Một phương thức là một cách thức cài đặt một thao tác trong một lớp

Một số thao tá có thể là đa xạ, được nạp chồng Đa xạ nghĩa là nó có thể áp dụng cho nhiều lớp khác nhau với những nội dung thực hiện có thể khác nhau, nhưng cùng tên gọi Ví dụ lớp ThietBi có hàm tinhGia() Nạp chồng nghĩa là có nhiều phương thức (công thức) thính giá bán khác nhau tùy thuộc vào từng loại thiết bị Tất

cả các phương thức này đều thực hiện một nhiệm vụ tinhGia(), nhưng được cài đặt với nội dung (các đoạn chương trình) khác nhau Hệ thống hướng đối tượng tự động chọn phương thức tương ứng với ngữ cảnh của đối tượng đích để thực hiện

Tương tự như các dữ liệu thành phần, các phương thức cũng được quản lý truy cập và được ký hiệu như trên

Lưu ý: Một số tác giả không phân biệt thao tác, hàm với phương thức mà có thể đồng nhất chúng với nhau trong quá trình phân tích, thiết kế và lập trình Trong các phần sau chúng ta gọi chung là hàm hoặc hàm thành phần

5 Các gói

Để hiểu được những hệ thống lớn, phức tạp có nhiều lớp đối tượng, thì chúng ta phải có cách chia các lớp đó thành một số nhóm được gọi là gói Gói là một nhóm các phần tử của mô hình gồm các lớp, các mối quan hệ và các gói nhỏ hơn Cách tổ chức

hệ thống thành các gói (hệ thống con) chính là cách phân hoạch mô hình thành các đơn

vị nhỏ hơn để trị, dễ hiểu và dễ quản lý hơn Gói được mô tả trong UML gồm tên của gói, có thể có các lớp, gói nhỏ khác bên trong

Khi phân chia các lớp thành các gói, chúng ta có thể dựa vào: các lớp chính (thống trị), các mối quan hệ chính, các chức năng chính Theo cách phân chia đó chúng ta có thể chia hệ thống thành các phân hệ phù hợp với cách phan chia trong hệ thống thực

Ví dụ, hệ thống quản lý thư viện có thể tổ chức thành bốn gói: gói giao diện, gói nghiệp vụ, gói CSDL và gói tiện ích Trong đó:

Gói giao diện (Use Interface Package): bao gồm các lớp giao diện với người dùng, cho các khả năng quan sát và truy nhập vào dữ liệu Các đối tượng trong gói này

có thể thực hiện các thao tác trên các đối tượng tác nghiệp để truy vấn hay nhập dữ liệu

Trang 40

Gói nghiệp vụ (Business Package): chứa các lớp thực thể thuộc lĩnh vực bài toán ứng dụng

Gói CSDL (Database Package): chứa các lớp dịch vụ cho các lớp ở gói nghiệp

vụ trong việc tổ chức, quản lý và lưu trữ dữ liệu

Gói tiện tích (Utility Package): chứa các lớp dịch vụ cho các gói khác của hệ thống Các gói của một hệ thống thường có mối quan hệ với nhau, như quan hệ phụ thuộc

2.4.4 Các quy tắc ngữ nghĩa của UML

Mô hình hóa của một hệ thống không đơn giản là lắp ghép các khối được xây dựng của UML một cách ngẫu nhiên Cũng như mọi ngôn ngữ, UML có một số quy tắc chỉ ra rằng, một mô hình được xây dựng tốt là mô hình có ngữ nghĩa chắc chắn và đồng bộ với tất cả mô hình có quan hệ với nó

UML đưa ra các quy tắc ngữ nghĩa:

- Tên gọi: là cái mà ta gọi là các sự vật, các mối quan hệ và các sơ đồ

- Phạm vi: là khuôn khổ cho ý nghĩa cụ thể đối với một tên gọi

- Tính trực quan: các tên gọi có thể nhìn thấy và được các phần từ khác sử dụng

- Tính tích hợp: các sự vật có thể liên kết với các sự vật khác như thế nào

- Tính thực hiện được: nó có ý nghĩa gì để vận hành và mô phỏng một mô hình động

Những nguyên tắc khác cần biết để xây dựng tốt các mô hình:

- Sự lược đi: một số phần tử được dấu đi làm đơn giản sự nhìn nhận của mô hình

- Sự không đầy đủ: một số phần tử có thể tạm bỏ qua

- Sự không chắc chắn: sự tích hợp của mô hình là chưa đảm bảo

2.4.5 Các cơ chế chung trong UML

UML cung cấp 4 cơ chế chung để áp dụng trong khi mô hình hóa:

- Các đặc tả (Specificcation)

- Các bài trí (Adornmentns)

- Sự phân hoạch chung (Common divisions)

- Các cơ chế mở rộng (Extensibility mechanisms)

1 Các đặc tả (Specificcation)

UML mạnh hơn một ngôn ngữ đồ họa: vì rằng bên cạnh các ký hiệu đồ họa có còn cung cấp một cách diễn tả vượt trội bằng văn bản theo cú pháp và ngữ nghĩa của khối đồ họa sử dụng Ví dụ như một tập đầy đủ các thuộc tính, các tác vụ và các hành

vi mà lớp đó chứa Nhờ vậy ta dùng ký hiệu đồ họa để là trực quan hóa hệ thống, dùng đặc tả để chỉ ra các chi tiết của hệ thống

2 Các bài trí (Adornmentns)

Hầu hết các phần tử trong UML đều có ký hiệu đồ họa duy nhất, trực tiếp để

Ngày đăng: 25/03/2015, 10:04

HÌNH ẢNH LIÊN QUAN

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 - 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
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 (Trang 73)
Hình 4.6 Biểu đồ cộng tác thực thi ca sử dụng sửa điểm sinh viên - 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
Hình 4.6 Biểu đồ cộng tác thực thi ca sử dụng sửa điểm sinh viên (Trang 74)
Hình 4.7 Biểu đồ cộng tác thực thi ca sử dụng xóa điểm sinh viên - 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
Hình 4.7 Biểu đồ cộng tác thực thi ca sử dụng xóa điểm sinh viên (Trang 74)
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 - 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
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 (Trang 78)
Hình 4.14 Biểu đồ tuần tự thực thi ca sử dụng sửa hồ sơ sinh viên - 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
Hình 4.14 Biểu đồ tuần tự thực thi ca sử dụng sửa hồ sơ sinh viên (Trang 79)
Hình 4.15 Biểu đồ tuần tự thực thi ca sử dụng xóa hồ sơ sinh viên - 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
Hình 4.15 Biểu đồ tuần tự thực thi ca sử dụng xóa hồ sơ sinh viên (Trang 80)
Hình 4.16 Biểu đồ tuần tự thực thi ca sử dụng nhập điểm sinh viên - 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
Hình 4.16 Biểu đồ tuần tự thực thi ca sử dụng nhập điểm sinh viên (Trang 81)
Hình 4.17 Biểu đồ tuần tự thực thi ca sử dụng sửa điểm sinh viên - 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
Hình 4.17 Biểu đồ tuần tự thực thi ca sử dụng sửa điểm sinh viên (Trang 82)
Hình 4.19 Biểu đồ tuần tự thực thi ca sử dụng tính điểm sinh viên - 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
Hình 4.19 Biểu đồ tuần tự thực thi ca sử dụng tính điểm sinh viên (Trang 84)
Hình 4.20 Biểu đồ tuần tự thực thi ca sử dụng in danh sách sinh viên - 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
Hình 4.20 Biểu đồ tuần tự thực thi ca sử dụng in danh sách sinh viên (Trang 85)
Hình 4.22 Biểu đồ hoạt động Nhập điểm - 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
Hình 4.22 Biểu đồ hoạt động Nhập điểm (Trang 87)
Hình 4.25 Biểu đồ lớp thực thi ca sử dụng nhập điểm cho sinh viên - 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
Hình 4.25 Biểu đồ lớp thực thi ca sử dụng nhập điểm cho sinh viên (Trang 89)
Hình 4.27 Biểu đồ lớp thực thi ca sử dụng in bảng điểm sinh viên - 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
Hình 4.27 Biểu đồ lớp thực thi ca sử dụng in bảng điểm sinh viên (Trang 90)
Hình 4.28 Biểu đồ thành phần chương trình  4.7 Biểu đồ triển khai - 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
Hình 4.28 Biểu đồ thành phần chương trình 4.7 Biểu đồ triển khai (Trang 91)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w