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

Phân tích thiết kế Hệ thống quản lý thiết bị và sự cố tin học theo hướng đối tượ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 (2.63 MB, 90 trang )

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







TRẦN THỊ LAN PHƢƠNG






PHÂN TÍCH THIẾT KẾ "HỆ THỐNG
QUẢN LÝ THIẾT BỊ VÀ SỰ CỐ TIN HỌC”
THEO HƢỚNG ĐỐI TƢỢNG








LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN







Hà Nội – 2013


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




TRẦN THỊ LAN PHƢƠNG






PHÂN TÍCH THIẾT KẾ "HỆ THỐNG
QUẢN LÝ THIẾT BỊ VÀ SỰ CỐ TIN HỌC”
THEO HƢỚNG ĐỐI TƢỢNG




Ngành : Công nghệ thông tin
Chuyên ngành : Công nghệ phần mềm
Mã số : 60.48.10



LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN



NGƢỜI HƢỚNG DẪN KHOA HỌC: Tiến sỹ Lê Văn Phùng



Hà Nội - 2013

MỤC LỤC
MỞ ĐẦU 1
CHƢƠNG 1 HIỆN TRẠNG CÔNG TÁC QUẢN LÝ THIẾT BỊ VÀ SỰ CỐ
TIN HỌC TẠI TRUNG TÂM TIN HỌC - BỘ KẾ HOẠCH VÀ ĐẦU TƢ 3
1.1. Giới thiệu khái quát về Bộ Kế hoạch và Đầu tư 3
1.2. Giới thiệu khái quát về Trung tâm Tin học - Bộ Kế hoạch và Đầu tư 3
1.3. Sự cần thiết phải xây dựng Hệ thống Quản lý thiết bị và sự cố tin học 6
CHƢƠNG 2 CƠ SỞ LÝ LUẬN XÂY DỰNG HỆ THỐNG QUẢN LÝ
THIẾT BỊ VÀ SỰ CỐ TIN HỌC THEO HƢỚNG ĐỐI TƢỢNG 8
2.1. Tổng quan về cách tiếp cận hướng đối tượng 8
2.2. Ngôn ngữ mô hình hóa thống nhất (UML) 11
2.2.1. Giới thiệu tổng quát về UML 11
2.2.2. Các khối xây dựng (building blocks) cơ bản của UML 13
2.2.2.1. Các sự vật (things) 14
2.2.2.2. Các mối quan hệ (relationships) 17
2.2.2.3. Các sơ đồ 17
2.2.3. Một số khái niệm cơ bản trong UML 18
2.2.3.1. Các đối tượng 19
2.2.3.2. Lớp các đối tượng 19

2.2.3.3. Các giá trị và thuộc tính của đối tượng 19
2.2.3.4. Các thao tác và phương thức 20
2.2.3.5. Các gói 20
2.2.4 Các quy tắc ngữ nghĩa của UML 20
2.2.5 Các cơ chế chung trong UML 21
2.2.5.1. Các đặc tả (Specification) 21
2.2.5.2. Các bài trí (Adornments) 21
2.2.5.3. Sự phân hoạch chung (Common divisions) 21
2.2.5.4. Các cơ chế mở rộng (Extensibility mechanisms) 21
2.2.6. Các quy tắc ràng buộc và suy diễn 21
2.3. Quá trình phát triển phần mềm hướng đối tượng 22
2.3.1 Xác định các yêu cầu của hệ thống 22
2.3.1.1. Xây dựng mô hình nghiệp vụ 22
2.3.1.2 Xác định yêu cầu 24
2.3.2. Phân tích hệ thống 27
2.3.2.1. Phân tích kiến trúc 28
2.3.2.2. Phân tích một ca sử dụng 29
2.3.2.3. Phân tích một lớp 30
2.3.2.4. Phân tích một gói 30
2.3.3. Thiết kế hệ thống 30
2.3.3.2. Thiết kế một ca sử dụng 32
2.3.3.3. Thiết kế một lớp 34
2.3.3.4. Thiết kế một hệ thống con 35
2.3.4. Lập trình và kiểm tra chương trình 36
2.3.5. Vận hành và bảo trì hệ thống 37
2.4. Tổng quan về mẫu thiết kế trong kỹ nghệ hướng đối tượng 37
2.4.1. Mẫu thiết kế 37
2.4.1.1. Khái niệm mẫu thiết kế 37
2.4.1.2. Các thành phần của mẫu thiết kế 37
2.4.2. Phân tích và thiết kế hướng mẫu trong công nghệ hướng đối tượng 38

2.4.2.1. Vai trò của mẫu trong phát triển phần mềm 38
2.4.2.2. Mục đích của việc phân tích thiết kế hướng mẫu 39
2.4.2.3. Những vấn đề thiết kế hướng mẫu 39
2.4.3. Phân loại mẫu thiết kế 40
2.4.3.1. Phân loại theo mục đích sử dụng 40
2.4.3.2. Phân loại theo phạm vi sử dụng 40
CHƢƠNG 3 ỨNG DỤNG CÁCH TIẾP CẬN HƢỚNG ĐỐI TƢỢNG ĐỂ
PHÂN TÍCH THIẾT KẾ HỆ THỐNG QUẢN LÝ THIẾT BỊ VÀ SỰ CỐ TIN HỌC 41
3.1. Bài toán Quản lý thiết bị và sự cố tin học tại Trung tâm tin học - Bộ Kế
hoạch và Đầu tư 41
3.1.1. Mục tiêu và yêu cầu khi xây dựng Hệ thống Quản lý thiết bị và sự cố tin
học 41
3.1.1.1. Mục tiêu tổng quát 41
3.1.1.2. Mục tiêu và yêu cầu cụ thể 41
3.1.2. Mô tả nghiệp vụ quản lý thiết bị và sự cố tin học 42
3.1.3. Kiến trúc hệ thống quản lý thiết bi
̣
va
̀

̣
cố tin ho
̣
c 44
3.2. Các mô hình phân tích 45
3.2.1. Phân tích các chức năng của hệ thống 45
3.2.2 Phân tích các ca sử dụng 46
3.2.2.1 Các tác nhân của hệ thống 46
3.2.2.2. Danh sách các ca sử dụng 46
3.2.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 47

3.2.3. Mô hình lớp 62
3.2.3.1. Vấn đề xác định lớp 62
3.2.3.2 Xây dựng biểu đồ lớp trong pha phân tích 63
3.3. Các mô hình thiết kế 66
3.3.1. Biểu đồ cộng tác của các ca sử dụng 66
3.3.2. Biểu đồ trình tự thực thi các ca sử dụng 68
3.3.3 Biểu đồ hoạt động 70
3.3.4 Biểu đồ lớp chi tiết 72
3.3.5 Biểu đồ thành phần 73
3.3.6 Biểu đồ triển khai 73
3.4. Cài đặt chương trình quản lý thiết bị và sự cố tin học 74
3.4.1. Môi trường cài đặt 74
3.4.1.1. Ngôn ngữ lập trình 74
3.4.1.2. Hệ quản trị cơ sở dữ liệu SQL 75
3.4.2. Hướng dẫn cài đặt và sử dụng phần mềm 76
3.4.3. Các module chương trình 76
3.4.4. Thiết kế các Form 76
KẾT LUẬN 80
TÀI LIỆU THAM KHẢO 81
DANH MỤC CÁC BẢNG
Bảng 3.1. Bảng các chức năng của hệ thống 45
Bảng 3.2. Bảng các bước trong ca sử dụng Tạo mới người sử dụng 48
Bảng 3.3. Bảng các bước trong ca sử dụng Tạo dữ liệu phân quyền người sử dụng 49
Bảng 3.4. Bảng các bước trong ca sử dụng Sửa thông tin người sử dụng 49
Bảng 3.5. Bảng các bước trong ca sử dụng Xóa thông tin người sử dụng 50
Bảng 3.6. Bảng các bước trong ca sử dụng Tìm kiếm thông tin người sử dụng 51
Bảng 3.7. Bảng các bước trong ca sử dụng Nhập thêm danh mục 51
Bảng 3.8. Bảng các bước trong ca sử dụng Sửa thông tin danh mục 52
Bảng 3.9. Bảng các bước trong ca sử dụng Xóa thông tin danh mục 53
Bảng 3.10. Bảng các bước trong ca sử dụng Thêm thiết bị 53

Bảng 3.11. Bảng các bước trong ca sử dụng Sửa thông tin thiết bị 54
Bảng 3.12. Bảng các bước trong ca sử dụng Xóa thông tin thiết bị 55
Bảng 3.13. Bảng các bước trong ca sử dụng Thêm thông tin nhập/xuất linh kiện 55
Bảng 3.14. Bảng các bước trong ca sử dụng Sửa thông tin nhập/xuất 56
Bảng 3.15. Bảng các bước trong ca sử dụng Xóa thông tin nhập/xuất 57
Bảng 3.16. Bảng các bước trong ca sử dụng Thêm thông tin sự cố tin học 57
Bảng 3.17. Bảng các bước trong ca sử dụng Sửa thông tin sự cố tin học 58
Bảng 3.18. Bảng các bước trong ca sử dụng Xóa thông tin sự cố tin học 59
Bảng 3.19. Bảng các bước trong ca sử dụng Tra cứu hồ sơ thiết bị 59
Bảng 3.20. Bảng các bước trong ca sử dụng Tra cứu hồ sơ sự cố 60
Bảng 3.21. Bảng các bước trong ca sử dụng Kết xuất báo cáo thống kê tài sản 61
Bảng 3.22. Bảng các bước trong ca sử dụng Kết xuất báo cáo thống kê sự cố 61
Bảng 3.23. Bảng các bước trong ca sử dụng Kết xuất báo cáo thống kê chi tiết thiết bị 62
DANH MỤC HÌNH VẼ
Hình 2.1: Tập các lớp đối tượng của hệ thống 9
Hình 2.2. Sự phát triển của UML 11
Hình 2.3. Mô hình hóa kiến trúc hệ thống 12
Hình 2.4. Các thành phần cơ sở của UML 13
Hình 2.5. Lớp 14
Hình 2.6. Giao diện 14
Hình 2.7. Sự cộng tác 14
Hình 2.8. Ca sử dụng 15
Hình 2.9. Lớp 15
Hình 2.10. Thành phần 15
Hình 2.11 Nút 15
Hình 2.12. Thông điệp/thông báo 16
Hình 2.13. Trạng thái. 16
Hình 2.14. Gói 16
Hình 2.15. Chú thích 16
Hình 2.16. Quan hệ phụ thuộc 17

Hình 2.17. Kết hợp 17
Hình 2.18. Tổng quát hóa 17
Hình 2.19. Thực hiện hóa 17

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 47
Hình 3.2. Mô hình ca sử dụng gói Quản lý người dùng 48
Hình 3.3. Mô hình ca sử dụng gói Quản lý danh mu
̣
c 51
Hình 3.4. Mô hình ca sử dụng gói Quản lý thiết bị 53
Hình 3.5. Mô hình ca sử dụng gói Qua
̉
n ly
́
nhâ
̣
p xuất 55
Hình 3.6. Mô hình ca sử dụng gói Qua
̉
n ly
́

̣
cố tin ho
̣
c 57
Hình 3.7. Mô hình ca sử dụng gói Tra cư
́
u hồ sơ 59

Hình 3.8. Mô hình ca sử dụng gói Kết xuất ba
́
o ca
́
o thống kê 60
Hình 3.9. Biểu đồ lớp của hệ thống quản lý thiết bi
̣
va
̀

̣
cố tin ho
̣
c 64
Hình 3.10. Biểu đồ cộng tác thực thi ca sử dụng Nhập mới người sử dụng 67
Hình 3.11 Biểu đồ cộng tác thực thi ca sử dụng Thêm thông tin sự cố 67
Hình 3.12. Biểu đồ cộng tác thực thi ca sử dụng Sửa thông tin sự cố 68
Hình 3.13. Biểu đồ cộng tác thực thi ca sử dụng Xóa thông tin sự cố 68
Hình 3.14. Biểu đồ trình tự thực thi ca sử dụng Thêm người sử dụng 69
Hình 3.15. Biểu đồ trình tự thực thi ca sử dụng Tiếp nhâ
̣
n sư
̣
cố 69
Hình 3.16. Biểu đồ trình tự thực thi ca sử dụng Phân bô
̉

̉
ly
́


̣
cố 70
Hình 3.17. Biểu đồ trình tự thực thi ca sử dụng Xư
̉
ly
́

̣
cố 70
Hình 3.18. Biểu đồ hoạt động thực thi ca sử dụng Đăng nhâ
̣
p 71
Hình 3.19. Biểu đồ hoạt động thực thi ca sử dụng Nhâ
̣
p thông tin sư
̣
cố tin ho
̣
c . 72
Hình 3.20. Biểu đồ lớp chi tiết của chương trình 72
Hình 3.21. Biểu đồ thành phần của chương trình 73
Hình 3.22. Biểu đồ triển khai của chương trình 74

1
MỞ ĐẦU

Nhiệm vụ của các ngành khoa học là nghiên cứu các quá trình, các qui luật tự
nhiên, tính chất và hành vi của các hệ thống để mô hình hoá, đề xuất những phương
pháp để giải quyết những vấn đề xảy ra trong các hoạt động của con người sao cho

hiệu quả nhất, sao cho phù hợp với các qui luật xã hội và tự nhiên nhất. Đóng góp vào
sứ mệnh chung của các ngành khoa học, ngành công nghệ phần mềm thực hiện nhiệm
vụ 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 trong phạm vi hạn chế về tài nguyên nhằm đáp ứng được những
nhu cầu thường xuyên thay đổi của khách hàng, giải quyết được những vấn đề phức
tạp đặt ra trong thực tế.
Trong công nghệ phần mềm, nhiều mô hình, phương pháp phát triển phần mềm
đã lần lượt ra đời với những ưu, nhược điểm riêng, có thể được ưa chuộng ở nơi này, ở
lĩnh vực nào đó nhưng lại không được ưa chuộng ở những nơi khác. Trải qua thời
gian, một số phương pháp như các phương pháp có cấu trúc vẫn có sức sống dẻo dai,
vẫn đang được áp dụng rộng rãi trong thực tế. Tuy vẫn chưa lạc hậu và còn phát huy
tác dụng trong những hệ thống có cấu trúc dữ liệu tương đối thuần nhất, nhưng do sự
phong phú về phương pháp luận và sự đa dạng về sự biểu diễn các khái niệm (các ký
hiệu rất khác nhau, không thống nhất) dẫn tới khó có thể đưa ra được một qui trình
thống nhất cho quá trình phát triển phần mềm. Mặt khác, nhiều vấn đề phức tạp mới
xuất hiện, không chỉ yêu cầu tính toán lớn, xử lý phân tán, thường xuyên thay đổi các
yêu cầu mà còn đòi hỏi phải quản lý với nhiều loại dữ liệu khác nhau, dữ liệu đa
phương tiện, dữ liệu âm thanh, hình ảnh, v.v.
Tới những năm 90 của thế kỷ 20, sự ra đời của phương pháp hướng đối tượ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.
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 khái niệm cơ sở. Hệ thống được xem như là tập các
đối tượng tác động với nhau trên cơ sở truyền thông điệp để thực thi các nhiệm vụ đặt
ra trong hệ thống đó. 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.
Có thể nói, hiện nay, giải pháp hướng đối tượng là một giải pháp tốt đang được
sự quan tâm đặc biệt và nhiều công ty đã triển khai mặc dù giải pháp này vẫn còn tiếp
tục được cải tiến cùng với mô hình phát triển phần mềm. 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 (Unified Modeling
Language) đã 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.
2
Không chỉ vậy, các thay đổi yêu cầu từ phía khách hàng, các điều kiện phát sinh
hay việc thiết kế một cách cứng nhắc trong quá trình thiết kế thường làm cho hệ thống
trở nên rối rắm, các mô đun càng ngày càng bị phụ thuộc vào nhau. Việc tìm cách áp
dụng những mô hình đã thành công trong thực tế đối với một số bài toán tương tự đã
từng gặp vào thiết kế của mình mà không cần phải xem xét lại từ đầu, đảm bảo tiết
kiệm chi phí, thời gian xây dựng và phát triển, nâng cao độ tin cậy và chất lượng phần
mềm cũng là giải pháp thể hiện ưu thế trong phát triển phần mềm. 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, sử dụng UML và các mẫu thiết
kế để phát triển phần mềm đang là một xu hướng trong kỹ nghệ phần mềm. Luận văn
được thực hiện cũng không nằm ngoài xu hướng này.
Mục đích nghiên cứu: Thực hiện luận văn với đề tài “Phân tích thiết kế Hệ
thống Quản lý thiết bị và sự cố tin học theo hướng đối tượng” nhằm giúp tôi tìm hiểu
sâu về phương pháp mô hình hoá hệ thống phần mềm hướng đối tượng, các mẫu thiết
kế và các bước để phân tích, thiết kế một ứng dụng. Đồng thời, luận văn thực hiện
phân tích thiết kế "hệ thống quản lý thiết bị và sự cố tin học" góp phần vào việc tin học
hóa công tác quản lý, mang lại sự hiệu quả, chính xác và tiết kiệm thời gian, công sức
của cán bộ chuyên trách của Trung tâm tin học – đơn vị đầu mối chuyên trách về công
nghệ thông tin của Bộ Kế hoạch và Đầu tư.
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; Tìm hiểu quá trình phân tích, thiết kế hướng đối tượng; Tìm
hiểu về mẫu thiết kế trong kỹ nghệ hướng đối tượng

 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ý thiết bị và sự cố tin học" tại Trung tâm Tin học – Bộ Kế hoạch và Đầu tư.
Cấu trúc luận văn: gồm 3 chương:
 Chương 1: Khảo sát hiện trạng quản lý thiết bị và sự cố tin học tại Trung
tâm tin học – Bộ Kế hoạch và Đầu tư.
 Chương 2: Giới thiệu tổng quan về phương pháp hướng đối tượng, quá trình
phân tích thiết kế hướng đối tượng và mẫu thiết kế.
 Chương 3: Ứng dụng cách tiếp cận hướng đối tượng để phân tích thiết kế
"hệ thống quản lý thiết bị và sự cố tin học”
Luận văn là kết quả bước đầu nghiên cứu khoa học, chắc chắn còn nhiều hạn
chế, rất mong được sự đóng góp ý kiến của các thầy cô và các bạn. Em cũng xin chân
thành cảm ơn TS. Lê Văn Phùng, người đã giúp đỡ em rất nhiều trong việc hoàn thành
luận văn này.
Hà Nội, tháng 9 năm 2013
Học viên thực hiện


Trần Thị Lan Phƣơng
3
CHƢƠNG 1
HIỆN TRẠNG CÔNG TÁC QUẢN LÝ THIẾT BỊ VÀ SỰ CỐ TIN HỌC
TẠI TRUNG TÂM TIN HỌC - BỘ KẾ HOẠCH VÀ ĐẦU TƢ

1.1. Giới thiệu khái quát về Bộ Kế hoạch và Đầu tƣ
Bộ Kế hoạch và Đầu tư là cơ quan của Chính phủ có chức năng tham mưu tổng
hợp về xây dựng chiến lược, quy hoạch, kế hoạch phát triển kinh tế - xã hội của cả
nước, về cơ chế, chính sách quản lý kinh tế, quản lý nhà nước về lĩnh vực đầu tư trong
và ngoài nước; giúp Chính phủ phối hợp điều hành thực hiện các mục tiêu và cân đối
chủ yếu của nền kinh tế quốc dân.
Về cơ cấu tổ chức, Bộ Kế hoạch và Đầu tư có 33 Cục, Vụ, Viện, Trung tâm,

bao gồm:
- 6 Vụ, Văn phòng, Trung tâm đảm nhận chức năng quản lý và hỗ trợ cơ quan mà
Bộ nào cũng có (Văn phòng Bộ, Vụ Tổ chức cán bộ, Vụ Pháp chế, Thanh tra Bộ, Vụ
Thi đua - Khen thưởng và Trung tâm Tin học);
- 8 Vụ tập trung vào các lĩnh vực kinh tế theo ngành và có liên quan đến các Bộ
tương ứng (Vụ Tài chính tiền tệ, Vụ Kinh tế công nghiệp, Vụ Kinh tế nông nghiệp, Vụ
Kinh tế dịch vụ, Vụ Kết cấu hạ tầng và đô thị, Vụ Quốc phòng - An ninh, Vụ Khoa học,
Giáo dục, Tài nguyên và Môi trường, Vụ Lao động, Văn hóa và Xã hội);
- 11 Vụ, Cục tập trung vào các lĩnh vực liên quan đến nhiều ngành (Vụ Giám sát
và Thẩm định đầu tư, Vụ Quản lý quy hoạch, Cục Quản lý đấu thầu, Cục Đầu tư nước
ngoài, Vụ Kinh tế địa phương và lãnh thổ, Vụ Tổng hợp kinh tế quốc dân, Vụ Kinh tế
đối ngoại, Cục Phát triển doanh nghiệp, Cục Quản lý đăng ký kinh doanh, Vụ Hợp tác
xã, Vụ Quản lý các khu kinh tế);
- 6 Viện, Trung tâm, đơn vị thuộc Bộ thực hiện công tác nghiên cứu và phổ biến
thông tin (Trung tâm Thông tin và dự báo kinh tế - xã hội quốc gia, Viện Chiến lược
phát triển, Viện Quản lý kinh tế trung ương, Báo Đầu tư, Tạp chí Kinh tế và Dự báo,
Học viện Chính sách và Phát triển, Trường Cao đẳng Kinh tế - Kế hoạch Đà Nẵng).
- Tổng cục Thống kê, chịu trách nhiệm thu thập, xử lý và phổ biến các dữ liệu
thống kê và thực hiện quản lý nhà nước về công tác thống kê.
Bộ Kế hoạch và Đầu tư có khoảng 1.470 cán bộ. Tổng cục Thống kê có trên
5.000 cán bộ, trong đó khoảng 600 cán bộ tại Trung ương và số cán bộ còn lại tại các
tỉnh thành hoặc quận huyện.
1.2. Giới thiệu khái quát về Trung tâm Tin học - Bộ Kế hoạch và Đầu tƣ
Chức năng và nhiệm vụ của Trung tâm Tin học được quy định rõ Quyết định số
522/QĐ-BKH của Bộ trưởng Bộ Kế hoạch và Đầu tư ngày 16/04/2009
Trung tâm Tin học thuộc Bộ Kế hoạch và Đầu tư có chức năng tham mưu, giúp
Bộ trưởng thống nhất quản lý hoạt động ứng dụng công nghệ thông tin; nghiên cứu,
4
phát triển và ứng dụng công nghệ thông tin phục vụ các lĩnh vực công tác của Bộ Kế
hoạch và Đầu tư và toàn ngành kế hoạch và đầu tư.

Trung tâm Tin học là đơn vị sự nghiệp có thu, có con dấu và tài khoản riêng,
được hoạt động tự chủ theo quy định của pháp luật và phân cấp quản lý của Bộ trưởng
Bộ Kế hoạch và Đầu tư.
Trung tâm Tin học có 9 nhiệm vụ chuyên môn chính:
(1) Tổ chức xây dựng chiến lược, quy hoạch, kế hoạch tổng thể ứng dụng công
nghệ thông tin trong Ngành, trình Bộ trưởng phê duyệt và quản lý thực hiện sau khi
được phê duyệt; hướng dẫn các đơn vị thuộc Bộ xây dựng các kế hoạch và các dự án
ứng dụng công nghệ thông tin phù hợp với kế hoạch tổng thể đã được phê duyệt; tổ
chức theo dõi, giám sát việc thực hiện các kế hoạch, dự án ứng dụng công nghệ thông
tin theo quy định của pháp luật; tổ chức thực hiện các dự án được Bộ trưởng giao làm
chủ đầu tư.
(2) Quản lý thống nhất các hoạt động ứng dụng công nghệ thông tin, bao gồm:
Chủ trì xây dựng, trình Bộ trưởng ban hành các chế độ, chính sách, quy định về quản
lý hoạt động ứng dụng công nghệ thông tin trong toàn ngành Kế hoạch và Đầu tư; quy
định về ứng dụng công nghệ thông tin áp dụng thống nhất trong toàn cơ quan Bộ và
trong toàn ngành Kế hoạch và Đầu tư; tham gia góp ý kiến và đề xuất phương án phân
bổ các nguồn lực cho hoạt động ứng dụng công nghệ thông tin hàng năm của Bộ, bảo
đảm phù hợp với kế hoạch tổng thể ứng dụng công nghệ thông tin đã được phê duyệt;
có ý kiến thẩm định về mặt kỹ thuật và công nghệ đối với các dự án ứng dụng công
nghệ thông tin, các dự án có nội dung ứng dụng công nghệ thông tin của các đơn vị
thuộc Bộ.
(3) Kiểm tra việc thực hiện các quy định của Nhà nước, của Bộ trong hoạt động
ứng dụng công nghệ thông tin, bao gồm: kiểm tra việc thực hiện các quy định về ứng
dụng công nghệ thông tin áp dụng thống nhất trong cơ quan Bộ và toàn ngành Kế
hoạch và Đầu tư; các quy định của nhà nước trong hoạt động ứng dụng công nghệ
thông tin; các kế hoạch, dự án ứng dụng công nghệ thông tin theo quy định; kiến nghị
với Bộ trưởng xử lý những sai phạm của các đơn vị và cá nhân thuộc Bộ trong hoạt
động ứng dụng công nghệ thông tin.
(4) Tổ chức xây dựng, quản lý và vận hành hệ thống kết cấu hạ tầng kỹ thuật
công nghệ thông tin dùng chung của Bộ, bao gồm: Mạng diện rộng (WAN); mạng cục

bộ (LAN); Trung tâm dữ liệu và Trung tâm dữ liệu dự phòng; hệ thống mạng máy tính
của Bộ; việc sử dụng Internet từ mạng máy tính của Bộ; chủ trì, phối hợp với các đơn
vị thuộc Bộ, các tổ chức liên quan thực hiện công tác bảo đảm an toàn và bảo mật hệ
thống thông tin, cơ sở dữ liệu điện tử của Bộ;…
(5) Tổ chức xây dựng, quản lý và vận hành các hệ thống ứng dụng công nghệ
thông tin dùng chung của Bộ, bao gồm: Cổng thông tin điện tử Bộ Kế hoạch và Đầu
tư; Hệ thống thông tin điều hành nội bộ; Hệ thống thư điện tử; Hệ thống quản lý văn
bản và hồ sơ công việc; Hệ thống hội nghị truyền hình và các hệ thống ứng dụng khác;
5
chủ trì, phối hợp với các đơn vị thuộc Bộ và các cơ quan liên quan xây dựng, tích hợp
các cơ sở dữ liệu về các lĩnh vực thuộc phạm vi quản lý nhà nước của Bộ;…
(6) Chủ trì, phối hợp với Văn phòng Bộ, Người phát ngôn của Bộ và các tổ
chức, đơn vị liên quan thu thập, lưu trữ, biên tập và cung cấp thông tin điện tử phục vụ
công tác điều hành và quản lý nhà nước của Bộ.
(7) Phối hợp với Vụ Tổ chức cán bộ xây dựng kế hoạch bồi dưỡng và nâng cao
kiến thức về ứng dụng công nghệ thông tin cho các cán bộ, công chức, viên chức của
Bộ; chủ trì và phối hợp với các đơn vị liên quan tổ chức thực hiện kế hoạch đã được
phê duyệt. Đào tạo, bồi dưỡng và cấp chứng chỉ công nghệ thông tin theo quy định của
pháp luật và của Bộ.
(8) Phối hợp với các đơn vị trong Bộ và các cơ quan liên quan hợp tác nghiên
cứu, phát triển ứng dụng công nghệ thông tin theo sự phân công của Bộ.
(9) Thực hiện cung cấp sản phẩm, dịch vụ công nghệ thông tin và thông tin theo
quy định của pháp luật và của Bộ.
Trong 9 nhiệm vụ nêu trên: 3 nhiệm vụ đầu tiên là hoạt động quản lý nhà nước
về mặt ứng dụng công nghệ thông tin trong phạm vi toàn ngành Kế hoạch và Đầu tư;
nhiệm vụ thứ 4 đến thứ 7 là hoạt động kết hợp giữa quản lý và vận hành các hệ thống
kỹ thuật phục vụ các hoạt động nghiệp vụ của Bộ Kế hoạch và Đầu tư; Công tác quản
lý thiết bị và sự cố tin học cũng chính là một trong những công việc thường xuyên
nhằm thực hiện nhiệm vụ thứ 4; nhiệm vụ thứ 8 là hoạt động nghiên cứu phát triển ứng
dụng công nghệ thông tin phục vụ các hoạt động nghiệp vụ của Bộ Kế hoạch và Đầu

tư; nhiệm vụ thứ 9 là hoạt động cung cấp các dịch vụ ứng dụng công nghệ thông tin và
thông tin có thu để tạo điều kiện củng cố, phát triển nguồn lực về ứng dụng về công
nghệ thông tin của Bộ Kế hoạch và Đầu tư.
Trong những năm qua, Trung tâm Tin học đã động viên được tinh thần nỗ lực
cao trong đơn vị, phấn đấu hoàn thành một khối lượng công việc chuyên môn rất lớn
so với nguồn nhân lực và kinh phí có hạn. Tuy nhiên, với tư cách là đơn vị sự nghiệp,
Trung tâm Tin học mới thực hiện được chức năng và nhiệm vụ phục vụ các đơn vị
thuộc Bộ là chính, chưa mở rộng phục vụ cho toàn ngành Kế hoạch và Đầu tư; chưa
thực hiện được chức năng và các nhiệm vụ về tham mưu, giúp Bộ trưởng quản lý
thống nhất các hoạt động ứng dụng công nghệ thông tin trong phạm vi của Bộ cũng
như toàn ngành Kế hoạch và Đầu tư.
Về cơ cấu tổ chức, Trung tâm Tin học thuộc Bộ Kế hoạch và Đầu tư có 01 Văn
phòng và 04 Phòng chuyên môn, gồm: Phòng Quản lý chất lượng thông tin và dữ liệu;
Phòng Quản lý và vận hành mạng; Phòng Công nghệ phần mềm; Phòng Nội dung
thông tin.
Về tình hình ứng dụng công nghệ thông tin tại Trung tâm Tin hoc – Bộ Kế
hoạch và Đầu tư: Thực hiện Nghị định số 64/2007/NĐ-CP, Trung tâm Tin học chủ trì
và phối hợp với các đơn vị trong Bộ xây dựng Kế hoạch tổng thể ứng dụng công nghệ
thông tin trong hoạt động của Bộ Kế hoạch và Đầu tư giai đoạn 2011-2015 và định
6
hướng đến năm 2020 và được Lãnh đạo Bộ phê duyệt tại Quyết định số 2094/QĐ-
BKH ngày 01/12/2010.
Trung tâm Tin học là đơn vị đầu mối chuyên trách về công nghệ thông tin của
Bộ Kế hoạch và Đầu tư. Đây cũng là đơn vị tiên phong trong việc ứng dụng công nghệ
thông tin trong các hoạt động chuyên môn. Hiện nay Trung tâm Tin học trao đổi công
việc hầu hết qua môi trường mạng (thông qua Hệ thống Quản lý văn bản và hồ sơ công
việc tại website , Hệ thống mail tại website
). Song song với việc trao đổi văn bản điện tử qua môi trường
mạng, Trung tâm Tin học đã triển khai áp dụng chữ ký số nhằm đảm bảo an toàn trong
trao đổi thông tin. Bên cạnh đó, Trung tâm Tin học đã xây dựng và đưa vào sử dụng

phần mềm Quản lý cán bộ, phần mềm Quản lý thi đua – khen thưởng. Ngoài ra, Trung
tâm Tin học còn sử dụng phần mềm Quản lý tài sản, phần mềm Kế toán,…
Trung tâm Tin học cũng triển khai các giải pháp đảm bảo an toàn, an ninh
thông tin cho toàn Bộ Kế hoạch và Đầu tư nói chung và Trung tâm Tin học nói riêng:
+ Hệ thống tường lửa;
+ Hệ thống mail sercurity;
+ Hệ thống antivirus tập trung;
+ Hệ thống vá lỗi tập trung (WSUS);
+ Hệ thống ghi nhật ký tập trung (Logcentre);
+ Hệ thống phát hiện xâm nhập;
+ Hệ thống sao lưu và phục hồi dữ liệu tập trung;
+ Triển khai Port Sercurity;
+ Hệ thống PKI chuyên dùng của Bộ Kế hoạch và Đầu tư;
+ Hệ thống danh bạ điện tử dùng chung cho toàn bộ các ứng dụng;
+ Hệ thống quản lý wi-fi tập trung.
Việc ứng dụng công nghệ thông tin trong hoạt động của Trung tâm Tin học nói
riêng và Bộ Kế hoạch và Đầu tư nói chung đã góp phần nâng cao hiệu quả hoạt động
chuyên môn nghiệp vụ của các đơn vị thuộc Bộ cũng như của Trung tâm Tin học.
1.3. Sự cần thiết phải xây dựng Hệ thống Quản lý thiết bị và sự cố tin học
Theo quy định tại Điều 45 và Điều 46 của Nghị định số 64/2007/NĐ-CP, Trung
tâm Tin học là đơn vị đầu mối chuyên trách về công nghệ thông tin của Bộ Kế hoạch
và Đầu tư. Riêng công tác quản lý hoạt động ứng dụng công nghệ thông tin của Tổng
cục Thống kê do Vụ Phương pháp chế độ thống kê và công nghệ thông tin thuộc Tổng
cục thực hiện. Trụ sở chính của Bộ Kế hoạch và Đầu tư đặt tại địa chỉ 6B Hoàng Diệu,
Ba Đình, Hà Nội, ngoài ra trên địa bàn Hà Nội Bộ Kế hoạch và Đầu tư còn 02 trụ sở
đặt tại 68 Phan Đình Phùng và 65 Văn Miếu.
Các hệ thống thiết bị thuộc hệ thống mạng của Bộ bao gồm các hệ thống: Hệ
thống thiết bị thuộc Trung tâm dữ liệu, 69 thiết bị chuyển mạch ngoài trung tâm dữ
liệu, 21 thiết bị wifi và khoảng 1500 thiết bị đầu cuối, bao gồm máy tính, máy in,
máy scan.

7
Hiện tại Trung tâm Tin học – Bộ Kế hoạch và Đầu tư có 30 cán bộ trong đó chỉ
có 07 cán bộ trực tiếp quản lý thiết bị và hỗ trợ xử lý sự cố tin học trong toàn Bộ. Với
lượng nhân lực này thì việc quản lý thiết bị và sự cố tin học thực sự rất khó khăn. Hơn
nữa các thiết bị tin học có được do nhiều nguồn khác nhau, có thể được đầu tư từ ngân
sách, cũng có thể được đầu tư từ các dự án. Để biết được thiết bị này được đầu tư từ
nguồn nào, đã được thay thế linh kiện nào, đã xảy ra bao nhiêu sự cố và thiết bị này do
ai quản lý là rất khó nếu như chỉ lưu trên giấy tờ.
Sự cố tin học: là sự cố xảy ra được ghi nhận trên máy tính của cán bộ, hệ thống
cơ sở hạ tầng công nghệ thông tin tại Bộ Kế hoạch và Đầu tư liên quan đến các chi tiết
trong máy tính, mạng máy tính, các phần mềm ứng dụng, hệ thống thư điện tử, dịch vụ
online, các thiết bị chuyển mạch, thiết bị wifi trong và ngoài trung tâm dữ liệu.
Hàng năm Trung tâm Tin học khắc phục trên 1000 sự cố thường xuyên, gần
100 sự cố máy tính phát sinh và sự cố máy tính cần thay thế thiết bị cho các máy tính
của các cán bộ công chức, viên chức thuộc Bộ (trong khu vực Hà Nội). Cụ thể, năm
2012 tính đến ngày 05/12 Trung tâm đã khắc phục tổng cộng 1620 sự cố thường
xuyên; 52 sự cố máy tính phát sinh và 37 sự cố máy tính cần thay thế thiết bị cho các
máy tính của các cán bộ công chức, viên chức thuộc Bộ (trong khu vực Hà Nội).
Với lượng nhân lực hiện tại, để quản lý tốt các thiết bị và sự cố tin học cần thiết
phải xây dựng hệ thống quản lý thiết bị và sự cố tin học. Hệ thống sẽ giúp các cán bộ
kỹ thuật dễ dàng trả lời được các câu hỏi: thiết bị này được đầu tư từ nguồn nào? do ai
quản lý? đặt tại vị trí nào? đã thay thế những linh kiện gì? đã xảy ra những sự cố nào?
8
CHƢƠNG 2
CƠ SỞ LÝ LUẬN XÂY DỰNG HỆ THỐNG QUẢN LÝ THIẾT BỊ
VÀ SỰ CỐ TIN HỌC THEO HƢỚNG ĐỐI TƢỢNG
2.1. Tổng quan về cách tiếp cận hƣớng đối tƣợng
Vào đầu những năm 90 của thế kỷ 20, người ta đã nghiên cứu một mô hình mới
thích hợp với việc phát triển phần mềm lớn và phức tạp. Đó là mô hình hướng đối
tượng. Theo cách tiếp cận hướng đối tượng, hệ thống được nhìn nhận như một bộ các

đối tượng. Trong đó, đố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 ngôn ngữ lập trình hướng đối tượng.
Cách tiếp cận 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. 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à í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.
Thực tế, các hệ phần mềm lớn đều 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).
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], [4]
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?
9
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.
* 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 mà chúng ta đang quan tâm, hay cần phải xử lý.
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ý thiết bị”, 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ì: 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.
Nhà_Cung_Cấp
Thiết_Bị
Linh_Kiện
Hãng_Sản_Xuất
10
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.
* Ƣu điểm của cách tiếp cận hƣớng đối tƣợng
- Đối tượng là cơ sở để kết hợp các đơn thể có thể sử dụng lại thành hệ thống
lớn hơn, tạo ra những sản phẩm có chất lượng cao. Đây cũng là cơ sở để thực hiện
theo công nghệ thành phần.
- Qui ước truyền thông điệp giữa các đối tượng đảm bảo cho việc mô tả các
giao diện giữa các đối tượng thành phần bên trong hệ thống và những hệ thống bên
ngoài trở nên dễ dàng hơn. Điều đó giúp cho việc phân chia những dự án lớn, phức tạp
để phân tích, thiết kế theo cách chia nhỏ bài toán thành các lớp đối tượng hoàn
toàn tương ứng với quan điểm hướng tới lời giải phù hợp với thế giới thực một
cách tự nhiên.
- Nguyên lý bao gói, che giấu thông tin hỗ trợ cho việc xây dựng những hệ

thống thông tin an toàn và tin cậy.
- Không những có thể giảm thiểu được thời gian thực hiện mà còn làm cho hệ
thống có tính mở, tin cậy hơn do nguyên lý kế thừa dựa chính vào dữ liệu rất phù hợp
với ngữ nghĩa của mô hình trong cài đặt.
- Nguyên lý kế thừa cho phép dễ dàng xác định những bộ phận cơ bản, xây
dựng các lớp như là các đơn vị cơ sở của hệ thống và sử dụng ngay khi chúng mà
không cần phải hoàn thiện, không đòi hỏi phải thực hiện đầy đủ tất cả các chức năng
(đơn thể mở) và sau đó có thể mở rộng dần và không làm ảnh hưởng tới các đơn thể
khác, không đòi hỏi phải thiết kế lại.
- Định hướng đối tượng cung cấp những công cụ, môi trường mới, hiệu quả để
phát triển phần mềm theo hướng công nghiệp và hỗ trợ để tận dụng được những khả
năng kế thừa, sử dụng lại ở phạm vi diện rộng để xây dựng được những hệ thống phức
tạp, nhạy cảm.
- Xoá bỏ được hố ngăn cách giữa các pha phân tích, thiết kế, cài đặt và kiểm
định trong quá trình xây dựng phần mềm. Nhiều kết quả (sản phẩm) của các giai đoạn
trước có thể sử dụng ngay ở những giai đoạn sau.
* Hạn chế của cách tiếp cận hƣớng đối tƣợng
-
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 tương đối chưa chín muồi, vẫn
còn đang thay đổi nhanh chóng. Phương pháp hiện đang được sử dụng rộng rãi nhất
vẫn là phương pháp dựa trên sự phân rã chức năng (hướng cấu trúc).
11
2.2. Ngôn ngữ mô hình hóa thống nhất (UML)
2.2.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:

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à cơ sở dữ liệu.
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. UML đượ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.

Hình 2.2. Sự phát triển của UML
12
Quá trình hình thành UML bắt đầu từ ngôn ngữ Ada (Booch) trước năm 1990.
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 Modeling 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áp khác nhau.
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] – [19]






Hình 2.3. 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 sử dụng 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
Khung nhìn

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

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

Khung nhìn
tiến trình /tương tranh


Khung nhìn
thiết kế /logic

Khung nhìn
ca sử dụng
13
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 (Deployment 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]
2.2.2. Các khối xây dựng (building blocks) cơ bản của UML
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 UML. 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).

Hình 2.4. Các thành phần cơ sở của UML
CÁC KHỐI XÂY DỰNG
Sự vật
Quan hệ
Sơ đồ
Cấu trúc
Hành vi
Nhóm gộp
Chú thích
Phụ thuộc
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
Ca sử dụng
Lớp
Lớp hoạt
động

Giao diện
Thành phần
Sự cộng tác
Nút
Sự Tương
tác
Máy trạng
thái
Gói
Mô hình
Hệ thống con
Khung làm việc
Ghi chú
14
2.2.2.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.
a. 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
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ụ. 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.








Hình 2.5. Lớp
+ Giao diện (interface). Giao diện là tập các thao tác làm dịch vụ cho lớp hay
thành 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 phương 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.




Hình 2.6. 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 củ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.7. 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
Window
Size
Origin
Open()
Close()
Move()
Display()
Tên lớp


Thuộc tính

Tác vụ/ phương thức

Interface
Dãy các trách nhiệm
15
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, thường
chỉ bao gồm có tên.



Hình 2.8. 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.9. 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.10. Thành phần

+ 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.11 Nút
b. Sự vật hành vi (behavioral things): biểu diễn hành vi trong tương tác của
các thành phần và sự biến đổi trạng thái của hệ thống. Như vậy nó mô tả hành vi của
hành vi của hệ thống theo thời gian và không gian. Có hai loại chính là sự tương tác và
máy biển đổi trạng thái.
+ Sự tương tác (interaction). Sự tương tác là hành vi bao gồm một tập các thông
điệp trao đổi giữa các đối tượng trong một ngữ cảnh cụ thể để thực hiện một ca sử
Sửa danh mục
thiết bị

Orderform.java
Máy dịch vụ

Window

Size
Origin
Open()
Close()
Move()
16
dụng. Một thông điệp được ký hiệu bằng một đường thẳng có hướng gồm tên tác vụ


Hình 2.12. 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.13. Trạng thái.
c. 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 (component), phần
tử gói hoàn toàn là khái niệm, có nghĩa chúng chỉ tồn tại 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 hệ thống ở mức tổng quát.


Hình 2.14. Gói
+ Mô hình: là những mô tả về các đặc tính tĩnh và/hoặc động của các chủ thể
trong hệ thống
+ 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ự.
d. 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ình 2.15. Chú thích
Các quy tắc nghiệp vụ

Hướng thông điệp
Trả lại bản sao

Hiển thị
17
2.2.2.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.16. 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.17. Kết hợp
+ Quan hệ tổng quát hóa (generalization): Đâ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.18. Tổng quát hóa
+ Thực hiện hóa (realization). 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
các 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.

Hình 2.19. Thực hiện hóa
2.2.2.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
Chủ sở hữu
0 1
*
Ô tô
Con
Cha

×