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

Phương pháp hướng đối tượng và phân tích thiết kế an ninh hệ thố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 (1.7 MB, 75 trang )

ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
TRẦN XUÂN VINH
PHUƠNG PHÁP HƯỚNG ĐỐI TƯỢNG
VÀ PHÂN TÍCH THIẾT KẾ AN NINH
HỆ THỐNG
LUẬN VĂN THẠC SĨ
Hà Nội - 2011
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
TRẦN XUÂN VINH
PHUƠNG PHÁP HƯỚNG ĐỐI TƯỢNG
VÀ PHÂN TÍCH THIẾT KẾ AN NINH
HỆ THỐ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Ĩ
NGƯỜI HƯỚNG DẪN KHOA HỌC: TS. Trương Ninh Thuận
Hà Nội - 2011
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
TRẦN XUÂN VINH
PHUƠNG PHÁP HƯỚNG ĐỐI TƯỢNG
VÀ PHÂN TÍCH THIẾT KẾ AN NINH
HỆ THỐNG
LUẬN VĂN THẠC SĨ
Hà Nội - 2011
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
TRẦN XUÂN VINH


PHUƠNG PHÁP HƯỚNG ĐỐI TƯỢNG
VÀ PHÂN TÍCH THIẾT KẾ AN NINH
HỆ THỐ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Ĩ
NGƯỜI HƯỚNG DẪN KHOA HỌC: TS. Trương Ninh Thuận
Hà Nội - 2011
Mục lục
DANH SÁCH HÌNH VẼ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
DANH SÁCH BẢNG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
DANH SÁCH VÍ DỤ MÃ 6
Chương 1. MỞ ĐẦU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.1.Lý do chọn đề tài và tên đề tài 7
1.1.1. Mục đích và nhiệm vụ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.1.2. Đối tượng và phạm vi nghiên cứu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.1.3. Phương pháp nghiên cứu. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.2.Ý nghĩa khoa học và thực tiễn của luận văn . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.3.Bố cục của luận văn . . . . . . . . . . . . . . . . . . . . . . . 10
Chương 2. KIẾN THỨC TỔNG QUAN. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.1.Phương pháp phân tích thiết kế hệ thống . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.1.1. Phương pháp hướng chức năng. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.1.2. Phương pháp hướng đối tượng . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.2.Phân tích an ninh hệ thống . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.2.1. Đặc điểm an ninh của hệ thống cung cấp thông tin trên Internet . . . . . . . . . . . 23
2.2.2. Một số mối quan tâm an ninh cơ bản . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.2.3. UMLSec . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Chương 3. GIỚI THIỆU BÀI TOÁN . . . . . . . . . . . . . . 27
3.1.Lý do lựa chọn và nội dung bài toán . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

3.1.1. Lý do lựa chọn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.1.2. Nội dung bài toán . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.2.Mô hình hóa nghiệp vụ hệ thống. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.2.1. Các tác nhân tham gia hệ thống . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.2.2. Các khối nghiệp vụ hệ thống. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
1
Phương pháp hướng đối tượng và phân tích thiết kế anh ninh hệ thống 2
3.2.3. Biểu đồ trường hợp sử dụng và biểu đồ hoạt động. . . . . . . . . . . . . . . . . . . . . . 31
3.3.Biểu đồ triển khai hệ thống . . . . . . . . . . . . . . . . . . . . 34
3.4.Phân tích vấn đề an ninh hệ thống. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Chương 4. GIẢI PHÁP PHÂN TÍCH THIẾT KẾ VÀ CÀI ĐẶT AN NINH HỆ
THỐNG. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
4.1.Xác định phạm vi mối quan tâm an ninh. . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
4.1.1. Danh sách các mối quan tâm an ninh . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
4.1.2. Đề xuất biểu diễn các mối quan tâm an ninh. . . . . . . . . . . . . . . . . . . . . . . 47
4.2.Biểu diễn các mối quan tâm an ninh trên biểu đồ UML . . . . . . . . . . . . . 47
4.2.1. Đưa các dấu đặc trưng an ninh vào biểu đồ trường hợp sử dụng. . . . . . . . . . . . 48
4.2.2. Đưa các dấu đặc trưng an ninh vào biểu đồ hoạt động . . . . . . . . . . . . . . . . . 48
4.2.3. Định nghĩa chính sách an ninh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
4.2.4. Thiết kế lớp diễn đạt mối quan tâm an ninh . . . . . . . . . . . . . . . . . . . . . . . 56
4.3.Giải pháp cài đặt mối quan tâm an ninh 56
4.3.1. Giới thiệu về công nghệ AOP và Java annotation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
4.3.2. Sử dụng AOP đối với các mối quan tâm an ninh . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
4.4.Một số chi tiết trong cài đặt chương trình 62
Chương 5. KẾT LUẬN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
5.1.Những đóng góp của luận văn . . . . . . . . . 65
5.2.So sánh với một số công trình liên quan. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
5.3.Những hạn chế của luận văn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
5.4.Các hướng nghiên cứu tiếp theo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
Luận văn thạc sĩ

Danh sách hình vẽ
2.1 Phân rã chức năng hệ thống . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.2 Các đối tượng tham gia tạo nên một chức năng . . . . . . . . . . . . . . . . . . 15
2.3 Biểu đồ hoạt động . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.4 Biểu đồ trường hợp sử dụng . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.5 Biểu đồ lớp mức phân tích . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.6 Biểu đồ lớp mức thiết kế . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.7 Một ví dụ về UMLsec . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.1 Sơ lược về hoạt động nghiệp vụ của hệ thống . . . . . . . . . . . . . . . . . . . . 29
3.2 Biểu đồ trường hợp sử dụng cho khối MS . . . . . . . . . . . . . . . . . . . . . . 35
3.3 Biểu đồ trường hợp sử dụng cho khối LI . . . . . . . . . . . . . . . . . . . . . . 36
3.4 Biểu đồ trường hợp sử dụng cho khối LP . . . . . . . . . . . . . . . . . . . . . . 37
3.5 Biểu đồ trường hợp sử dụng cho khối RE . . . . . . . . . . . . . . . . . . . . . . 38
3.6 Biểu đồ hoạt động trường hợp sử dụng MS01_01 . . . . . . . . . . . . . . . . . 39
3.7 Biểu đồ hoạt động trường hợp sử dụng MS01_02 . . . . . . . . . . . . . . . . . 40
3.8 Biểu đồ hoạt động trường hợp sử dụng MS01_03 . . . . . . . . . . . . . . . . . 41
3.9 Biểu đồ hoạt động trường hợp sử dụng MS01_04 . . . . . . . . . . . . . . . . . 42
3.10 Biểu đồ hoạt động trường hợp sử dụng MS01_05 . . . . . . . . . . . . . . . . . 43
3.11 Biểu đồ triển khai hệ thống . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
4.1 Biểu đồ trường hợp sử dụng cho khối MS đã thêm dấu đặc trưng an ninh . . . . 49
4.2 Biểu đồ trường hợp sử dụng cho khối LI đã thêm dấu đặc trưng an ninh . . . . 50
4.3 Biểu đồ trường hợp sử dụng cho khối LP đã thêm các dấu đặc trưng an ninh . . 51
4.4 Biểu đồ trường hợp sử dụng cho khối RE đã thêm các dấu đặc trưng an ninh . . 52
4.5 Biểu đồ hoạt động của MS01_03 đã thêm các dấu đặc trưng an ninh . . . . . . 53
4.6 Biểu đồ hoạt động của MS01_04 đã thêm các dấu đặc trưng an ninh . . . . . . 54
4.7 Biểu đồ hoạt động của MS01_05 đã thêm các dấu đặc trưng an ninh . . . . . . 55
3
Phương pháp hướng đối tượng và phân tích thiết kế anh ninh hệ thống 4
4.8 Biểu đồ lớp biểu diễn các quan tâm an ninh . . . . . . . . . . . . . . . . . . . . 57
4.9 Ví dụ kế hoạch vận chuyển . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

4.10 Ví dụ xem hóa đơn của công ty khác . . . . . . . . . . . . . . . . . . . . . . . . 63
4.11 Ví dụ xem hóa đơn bị từ chối . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
Luận văn thạc sĩ
Danh sách bảng
1.1 Bảng đối chiếu thuật ngữ Anh-Việt . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.2 Bảng các từ viết tắt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.1 Một số ký hiệu trong biểu đồ hoạt động . . . . . . . . . . . . . . . . . . . . . . 18
2.2 Một số ký hiệu trong biểu đồ trường hợp sử dụng . . . . . . . . . . . . . . . . . 18
2.3 Một số ký hiệu trong biểu đồ lớp . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.4 Một số dấu đặc trưng của UMLsec . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.5 Mô hình đối phương . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.1 Bảng tác nhân hệ thống . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
3.2 Các khối nghiệp vụ chính . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
3.3 Bảng chia nhỏ các khối nghiệp vụ . . . . . . . . . . . . . . . . . . . . . . . . . . 32
3.4 Danh sách trường hợp sử dụng . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
3.4 Danh sách trường hợp sử dụng . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
3.4 Danh sách trường hợp sử dụng . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
4.1 Bảng các mối quan tâm an ninh . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
4.2 Bảng các dấu đặc trưng diễn đạt mối quan tâm an ninh . . . . . . . . . . . . . . 48
4.3 Định nghĩa chính sách an ninh . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
4.4 Định nghĩa bảng CSDL mối quan tâm an ninh . . . . . . . . . . . . . . . . . . . 62
5
Danh sách ví dụ mã
4.1 Thực hiện chuyển khoản . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
4.2 Thực hiện chuyển khoản có quản lý giao dịch . . . . . . . . . . . . . . . . . . . 58
4.3 Định nghĩa lớp trừu tượng khai báo giao dịch . . . . . . . . . . . . . . . . . . . 59
4.4 Thực hiện chuyển khoản quản lý giao dịch qua AOP . . . . . . . . . . . . . . . 60
4.5 Định nghĩa mối quan tâm và điểm cắt . . . . . . . . . . . . . . . . . . . . . . . 61
6
Chương 1

MỞ ĐẦU
1.1. Lý do chọn đề tài và tên đề tài
:Phương pháp hướng đối tượng đã có nhiều thành công và được sử dụng rộng rãi trong
việc đặc tả để phân tích, thiết kế các hệ thống công nghệ thông tin lớn.
Trong phương pháp này, các thành phần tham gia hệ thống, cấu thành hệ thống được mô
hình hoá thành những đối tượng tương tác, được thể hiện qua các biểu đồ. Một trong những
ngôn ngữ mô hình hoá được sử dụng rộng rãi là UML. (Unified Modeling Language).
UML là một ngôn ngữ đặc tả hệ thống, nhưng trong bản chất của nó, UML lại chưa cho
phép đặc tả các vấn đề an ninh. UMLSec làm một trong những UML profile được thiết lập
bởi tổ chức OMG để biễu diển các vấn đề an ninh trong phân tích thiết kế các hệ thống
công nghệ thông tin hiện đại. Tuy nhiên, UMLSec là một hệ thống đồ sộ, và không dễ áp
dụng với các dự án cỡ vừa và nhỏ, đòi hỏi thời gian phân tích thiết kế ngắn hơn.
Có một số cách tiếp cận khác, đề xuất các giải pháp gọn nhẹ hơn trong việc đặc tả an ninh
hệ thống, đưa các vấn đề an ninh đó vào các thiết kế phần mềm.
Trong thực tế hoạt động nghiệp vụ của mình, tác giả cũng như các đồng nghiệp nhận thấy
rằng, với các hệ thống cỡ trung bình, vấn đề đặc tả và thiết kế an ninh hệ thống khá sơ sài,
hoặc được mô tả một cách giản đơn. Nhiều dự án, sau khi phân tích nghiệp vụ xong, người
ta mới thêm và các đoạn mã chương trình ở những chỗ cần kiểm soát quyền truy cập. Và
như vậy, vấn đề đã không được giải quyết từ mức khái niệm, mà ở mức kỹ thuật.
7
Phương pháp hướng đối tượng và phân tích thiết kế anh ninh hệ thống 8
1.1.1. Mục đích và nhiệm vụ
Mục đích
Luận văn có những mục đích sau:
• Về học thuật: Đề tài tập trung vào việc nghiên cứu cách thức biểu diễn các mối quan
tâm về an ninh hệ thống trên các biểu đồ UML, nhằm đưa ra một phương pháp thuận
tiện, thích hợp với những dự án cỡ trung bình. Từ đó đưa các mối quan tâm đó vào
bản thiết kế chương trình.
• Về ứng dụng thực tiễn: Kết quả nghiên cứu của đề tài có thể được áp dụng vào
các dự án hợp lý. Thực tế, tác giả đã và đang áp dụng trong hoạt động thực tiễn của

mình. Các kết quả nghiên cứu cũng có thể được phát triển sâu hơn, nhằm xây dựng
một phương pháp luận hoàn thiện trong việc đặc tả, phân tích, thiết kế, kiểm thử an
ninh các hệ thống cung cấp dịch vụ.
Nhiệm vụ
Luận văn thực hiện những nhiệm vụ sau:
• Nghiên cứu về các nguyên tắc cơ bản trong việc mô hình hóa các hệ thống công nghệ
thông tin bằng phương pháp hướng đối tượng, đặc biệt là sử dụng ngôn ngữ UML.
• Nghiên cứu cách thức biểu diễn các mối quan tâm an ninh trên các biểu đồ UML.
• Đề xuất giải pháp, công cụ để đặc tả các môi quan tâm an ninh bằng UML và đưa các
mối quan tâm đó vào các bản thiết kế phần mềm.
• Xây dựng một chương trình minh họa việc áp dụng các đề xuất, đánh giá việc áp dụng
các ý tưởng đó.
1.1.2. Đối tượng và phạm vi nghiên cứu
Đối tượng nghiên cứu
Nghiên cứu cách biểu diễn các mối quan tâm an ninh trên các biểu đồ UML, đưa các
mối quan tâm an ninh từ đặc tả hệ thống tới bản thiết kế hệ thống, xây dựng kiểm thử an
ninh cho hệ thống.
Luận văn thạc sĩ
Phương pháp hướng đối tượng và phân tích thiết kế anh ninh hệ thống 9
Phạm vi nghiên cứu
Đề tài tập trung vào việc đặc tả, phân tích, thiết kế, kiểm thử một vấn đề an ninh cơ
bản là sự truy xuất chéo dữ liệu giữa các thành phần khác nhau trong hệ thống.
1.1.3. Phương pháp nghiên cứu
• Phương pháp nghiên cứu dựa trên các nguyên lý cơ bản của phương pháp mô hình hóa
trong phân tích thiết kế hệ thống.
• Xuất phát từ kinh nghiệm hoạt động thực tế của tác giả
• Thu thập các nguồn thông tin đáng tin cậy, các giải pháp đã được đề xuất về vấn đề
có liên quan. Tìm hiểu, kế thừa các giải pháp đã đặt ra để xây dựng một giải pháp
hợp lý.
1.2. Ý nghĩa khoa học và thực tiễn của luận văn

• Ý nghĩa khoa học:
– Trình bày về các nguyên tắc cơ bản của phương pháp mô hình hóa hướng đối
tượng.
– Phân tích các mối nguy cơ an ninh đối với một hệ thống cung cấp dịch vụ trên
Internet
– Từ đó đưa ra giải pháp phân tích, đặc tả, thiết kế đáp ứng các mối quan tâm an
ninh cho một hệ thống cụ thể.
• Ý nghĩa thực tiễn
– Đã đưa ra một giải pháp cho việc phân tích, đặc tả, thiết kế,đối với việc truy xuất
dữ liệu giữa các thành phần khác nhau trong hệ thống.
– Cài đặt thử nghiệm một số phần minh họa cho giải pháp
– Đưa ra đánh giá hiệu quả của giải pháp đặt ra.
Luận văn thạc sĩ
Phương pháp hướng đối tượng và phân tích thiết kế anh ninh hệ thống 10
1.3. Bố cục của luận văn
Luận văn bao gồm 5 chương có bố cục như sau
Chương 1 : Mở đầu.
Chương 2 : Kiến thức tổng quan.
Chương 3 : Giới thiệu bài toán nghiên cứu, vấn đề đặt ra.
Chương 4 : Đề xuất giải pháp cho vấn đề đặt ra.
Chương 5 : Kết luận và các hướng nghiên cứu tiếp theo.
Nội dung chương 2 trình bày một số kiến thức tổng quan về phương pháp phân tích thiết
kế hệ thống bằng UML, một số ký hiệu của UML. Chương 3 giới thiệu nội dung nghiệp vụ
của bài toán nghiên cứu, giới hạn phạm vi nghiên cứu. Tiếp đó, trong chương 4, chúng tôi
đề xuất giải pháp đặc tả mối quan tâm an ninh, thiết kế và cách cài đặt các mối quan tâm
đó. Chương cuối trình bày kết luận rút ra trong quá trình nghiên cứu, so sánh với mọt số
giải pháp khác và đặt vấn đề hướng nghiên cứu tiếp theo.
Luận văn thạc sĩ
Phương pháp hướng đối tượng và phân tích thiết kế anh ninh hệ thống 11
BẢNG ĐỐI CHIẾU THUẬT NGỮ ANH VIỆT

Tiếng Việt English Giải thích
Use case Trường hợp sử
dụng
Diagram Biểu đồ
Activity dia-
gram
Biểu đồ hoạt
động
Sequence dia-
gram
Biểu đồ trình tự
Use case dia-
gram
Biểu đồ trường
hợp sử dụng
Actor Tác nhân
Streotype Đặc trưng
Security An ninh
Module Đơn thể Một đơn vị chương trình
Aspect Khía cạnh Một mối quan tâm nào đó
Cargo Hàng hoá Danh từ dùng trong ngành vận chuyển để chỉ
vật, sản phẩm được đóng gói để vận chuyển
Container Công-ten-nơ Thùng chứa hàng dùng trong vận chuyển
Invoice (I/V) Hoá đơn
Packing list
(P/L)
Bảng liệt kê
đóng gói hàng
Purchase order
(P/O)

Đơn đặt hàng
Bill of lading
(B/L)
Vận đơn Giấy tờ của chủ tàu giao cho bên thuê vận
chuyển xác nhận người sở hữu hàng
Tracking Theo dõi Quá trình theo dõi và giám sát hàng hoá trên
đường vận chuyển
Bảng 1.1: Bảng đối chiếu thuật ngữ Anh-Việt
Luận văn thạc sĩ
Phương pháp hướng đối tượng và phân tích thiết kế anh ninh hệ thống 12
BẢNG CÁC TỪ VIẾT TẮT
Viết tắt Tiếng Việt English
UC Trường hợp sử dụng Use case
AOP Lập trình hướng khía cạnh Aspect oriented program-
ming
I/V Hóa đơn Invoice
P/L Đóng gói Packing list
P/O Đơn hàng Purchase order
B/L Vận đơn Bill of lading
Bảng 1.2: Bảng các từ viết tắt
Luận văn thạc sĩ
Chương 2
KIẾN THỨC TỔNG QUAN
Nội dung chương này trình bày tóm tắt một số kiến thức tổng quan về phương pháp
phân tích, đặc tả, thiết kế hệ thống theo phương pháp hướng đối tượng. Trước hết ta sẽ xem
xét một số phương pháp phân tích thiết kế hệ thống.
2.1. Phương pháp phân tích thiết kế hệ thống
2.1.1. Phương pháp hướng chức năng
Phương pháp hướng chức năng là phương pháp phân tích thiết kế hệ thống ra đời sớm.
Đặc trưng của phương pháp này là hệ thống cần xây dựng được phân tích từ trên xuống

như hình 2.1
Đầu tiên, chúng ta sẽ hình dung hệ thống như là một chức năng lớn, chức năng lớn này sẽ
được chia thành các chức năng nhỏ hơn. Các chức năng tiếp tục được phân nhỏ tới mức nào
đó thì dừng lại và có thể thiết kế thành các thủ tục. Tiếp tới ta đi phân tích các cấu trúc dữ
liệu, biểu đồ luồng dữ liệu, từ mức đỉnh, tới mức chi tiết, tới mức vật lý, và tiến hành thiết
kế cơ sở dữ liệu và lập trình [9] [11] [8]. Phương pháp hướng chức năng và tiếp cận từ trên
xuống mặc dù đã có những thành công và có rất nhiều hệ thống được xây dựng theo phương
pháp này, nhưng việc sử dụng rộng rãi phương pháp hướng chức năng cũng cho thấy nó bộc
lộ ra những hạn chế sau
• Khó mở rộng, thay đổi Do ngay từ đầu ta đã hướng hệ thống theo những chức
năng nhất định, và toàn bộ sự phân tích sau đó sẽ đi theo hướng triển khai chi tiết
chức năng mức đỉnh này. Tất cả các cấu trúc dữ liệu và giải thuật xây dựng trên cơ sở
đáp ứng chức năng cao nhất của chương trình, nên nếu muốn bổ sung thay đổi chức
13
Phương pháp hướng đối tượng và phân tích thiết kế anh ninh hệ thống 14
Hình 2.1: Phân rã chức năng hệ thống
năng thì rất khó khăn.
• Khó kế thừa mã Vì lập trình theo hướng thủ tục nên việc kế thừa mã rất khó khăn,
mỗi thủ tục chỉ giao tiếp với bên ngoài thông qua đầu vào và đầu ra đã quy định.
• Khó kiểm soát Mặc dù cấu trúc dữ liệu gắn với xử lý nhưng nó vẫn không đóng gói
ngay với xử lý (thủ tục tách rời khỏi cấu trúc dữ liệu liên quan), và có thể bị thay đổi
bởi một thủ tục khác.
• Khó áp dụng cho hệ thống lớn Nếu chúng ta thử phân tích một hệ thống xử lý
văn bản, thì có thể hình dung được chức năng lớn của nó, nhưng nếu giả sử chúng ta
phải xây dựng hệ thống quản lý sản xuất, thì chức năng lớn nhất của nó sẽ khó có thể
nhìn ra để phân rã ngay từ đầu.
2.1.2. Phương pháp hướng đối tượng
Những hạn chế của phương pháp hướng chức năng, cùng với nhu cầu xây dựng các hệ
thống ngày càng lớn, đã thúc đẩy những nghiên cứu cải tiếp phương pháp phân tích và thiết
kế các hệ thống thông tin dẫn tới sự ra đời của phương pháp hướng đối tượng.

Khác với phương pháp hướng chức năng tập trung ngay từ đầu trả lời câu hỏi: “Chức năng
lớn nhất của hệ thống là gì”, và từ đó phân rã để xây dựng hệ thống xoay quanh chức năng
Luận văn thạc sĩ
Phương pháp hướng đối tượng và phân tích thiết kế anh ninh hệ thống 15
Hình 2.2: Các đối tượng tham gia tạo nên một chức năng
lớn nhất đó, phương pháp hướng đối tượng sẽ trả lời các câu hỏi như: “Hệ thống gồm những
ai/cái gì tham gia”, “Những tác nhân đó làm gì với hệ thống”, “Hệ thống quản lý những đối
tượng gì”, “Hành vi và thuộc tính của những đối tượng đó ra sao”, và cuối cùng mới là hệ
thống sẽ có những chức năng gì, trên cơ sở của các đối tượng được xây dựng ra trong hệ
thống (Hình 2.2).
Để phân tích, đặc tả, thiết kế các hệ thống theo phương pháp hướng đối tượng, một hệ
thống chuẩn các ký hiệu (hình khối, đường vẽ) đã được xây dựng. Một trong những ngôn
ngữ mô hình hóa phổ biến là UML (Unified Modeling Language)
Giới thiệu UML
UML là một chuẩn quy định các ký hiệu, các biểu đồ, theo một ý nghĩa và trình tự xác
định để phân tích, đặc tả, thiết kế hệ thống theo phương pháp hướng đối tượng. Ngoài lợi
điểm của việc chuẩn hóa ký hiệu, thì do sự phát triển rất mạnh và ứng dụng rộng rãi của
UML, nên nó nhận được sự quan tâm của nhiều học giả, và có nhiều phương pháp tiếp cận,
cũng như công cụ được xây dựng để kiểm chứng mô hình UML được xây dựng [7]. Điều đó
đảm bảo một chất lượng phân tích thiết kế tốt khi sử dụng UML.
UML có một số khái niệm đặc trưng như sau:
Luận văn thạc sĩ
Phương pháp hướng đối tượng và phân tích thiết kế anh ninh hệ thống 16
Tác nhân: tác nhân(actor) là một người thao tác với hệ thống, hoặc một hệ thống khác
có tương tác với hệ thống cần xây dựng. Ví dụ: nếu ta đang xây dựng hệ thống quản lý sản
xuất, và người lập kế hoạch có sử dụng hệ thống, thì người lập kế hoạch là một tác nhân.
Nếu hệ thống quản lý xe tải có tương tác với hệ thống quản lý sản xuất, thì hệ thống quản
lý xe tải cũng là một tác nhân.
Ký hiệu: Kí hiệu gồm các hình khối, đường nét cơ bản và có ý nghĩa xác định trong UML.
Phần sau sẽ trình bày kỹ hơn về một số ký hiệu thường dùng của UML

Biểu đồ: Biểu đồ (diagram) gồm một nhóm ký hiệu diễn đạt một mục tiêu nhất định.
UML định nghĩa sẵn các biểu đồ để chúng ta sử dụng trong phân tích thiết kế hệ thống.
Phần sau sẽ trình bày một số biểu đồ thông dụng của UML.
Đặc trưng : Đặc trưng («stereotype») là một cách để mở rộng ý nghĩa của các ký hiệu
của UML. Bằng cách gán một đặc trưng khác cho một ký hiệu có sẵn của UML, ta có thể
bổ sung ý nghĩa, hoặc định nghĩa mới ký hiệu cho UML để sử dụng trong một tình huống
cụ thể.
Hồ sơ UML : Hồ sơ UML (UML profile) là một tập các mở rộng, gồm các đặc trưng
(«stereotype») và các ký hiệu mở rộng, phục vụ đặc tả một lớp bài toán hoặc một lớp mối
quan tâm nào đó.
Một số biểu đồ tiêu biểu của UML
Biểu đồ hoạt động : Biểu đồ hoạt động (activity diagram) là một trong những biểu đồ
rất thông dụng của UML. Biểu đồ này diễn đạt một chuỗi các hoạt động của một hoặc nhiều
tác nhân trong một kịch bản nào đó (Hình 2.3). Trong biểu đồ hoạt động (Hình 2.3, tác
nhân A bắt đầu kịch bản này, sau đó tùy theo tình huống mà quyết định hành động 1 hoặc
2. Sau khi xong một trong hai hoạt động trên, tác nhân tiếp tục thực hiện hoạt động 3. Sau
đó có 2 quá trình đồng thời (5 và 4). Sau các hoạt động đó xong, tác nhân quan về hành
động 6 và kết thúc.
Một số ký hiệu trong biểu đồ hoạt động Biểu đồ hoạt động sử dụng một số ký
hiệu như trong bảng 2.1. Tất nhiên đây không phải là tất cả.
Luận văn thạc sĩ
Phương pháp hướng đối tượng và phân tích thiết kế anh ninh hệ thống 17
Hình 2.3: Biểu đồ hoạt động
Luận văn thạc sĩ
Phương pháp hướng đối tượng và phân tích thiết kế anh ninh hệ thống 18
Ký hiệu Giải thích
Hoạt động: là một hành động nếu đây là tác nhân người, là
một xử lý nếu đây là tác nhân máy
Điểm bắt đầu của chuỗi hoạt động, mỗi biểu đồ hoạt động chỉ
có một điểm bắt đầu

Điểm kết thúc của chuỗi hoạt động, mỗi biểu đồ hoạt động có
thể có nhiều điểm kết thúc
Điểm quyết định và rẽ nhánh
Điểm chia tách thành các hoạt động song song
Điểm nhập lại của các hoạt động song song
Bảng 2.1: Một số ký hiệu trong biểu đồ hoạt động
Ký hiệu Giải thích
Tác nhân
Trường hợp sử dụng
Bảng 2.2: Một số ký hiệu trong biểu đồ trường hợp sử dụng
Biểu đồ trường hợp sử dụng : Biểu đồ trường hợp sử dụng (use case diagram) diễn đạt
mối quan hệ giữa các tác nhân với các trường hợp sử dụng mà tác nhân đó tham gia. Biểu
đồ này cho ta biết một tác nhân có thể tham gia vào những trường hợp sử dụng nào. Trong
biểu đồ trường hợp sử dụng ở trên, ta thấy tác nhân Actor0 có thể tham gia vào 5 trương
hợp sử dụng là “Tạo đơn hàng”, “Tìm đơn hàng”, “Sửa đơn hàng”, “Xem đơn hàng” và “Xóa
đơn hàng”. Biểu đồ trường hợp sử dụng không nói lên thứ tự mà tác nhân thao tác với hệ
thống, nó chỉ cho biết rằng tác nhân có thể tham gia vào các trường hợp sử dụng nào đó.
Một số ký hiệu trên biểu đồ trường hợp sử dụng Biểu đồ trường hợp sử dụng
có sử dụng một số ký hiệu như trong bảng 2.2 Trong biểu đồ trường hợp sử dụng (Hình 2.4)
Luận văn thạc sĩ
Phương pháp hướng đối tượng và phân tích thiết kế anh ninh hệ thống 19
Hình 2.4: Biểu đồ trường hợp sử dụng
Luận văn thạc sĩ
Phương pháp hướng đối tượng và phân tích thiết kế anh ninh hệ thống 20
Hình 2.5: Biểu đồ lớp mức phân tích
, ta cũng thấy dấu đặc trưng «include». Đây là một mở rộng của UML để diễn đạt sự bao
hàm (một trường hợp sử dụng có thể bao hàm một trường hợp sử dụng khác).
Biểu đồ lớp : Biểu đồ lớp (class diagram) là một biểu đồ rất thường sử dụng của UML.
Biểu đồ này diễn tả mối liên quan giữa các lớp đối tượng trong một tình huống cụ thể. Biểu
đồ lớp có 2 mức: mức phân tích và mức thiết kế. Biểu đồ lớp mức phân tích (Hình 2.5)

(analysis class) là mức đưa ra các lớp và liên quan giữa chúng. Biểu đồ lớp mức thiết kế
(design class) (Hình 2.6) tìm ra các thuộc tính và hành vi cụ thể của các lớp đó. Trong biểu
đồ lớp mức phân tích ở hình 2.5 ta thấy lớp điều khiển cài đặt một giao diện 0 và sử dụng
lớp biên 0 và lớp thực thể 0 Trong biểu đồ lớp mức thiết kế ở hình 2.6 ta thấy lớp 1 kế thừa
từ lớp 2 và cài đặt giao diện 2.
Một số ký hiệu trên biểu đồ lớp Biểu đồ lớp sử dụng một số ký hiệu như trong
bảng 2.3
2.2. Phân tích an ninh hệ thống
Trong các phần trên, chúng tôi đã điểm qua về các khái niệm cơ bản của phân tích thiết
kế hệ thống theo nguyên lý hướng đối tượng, và cũng đồng thời trình bày các biểu đồ, ký
hiệu cơ bản của ngôn ngữ UML. Phần tiếp theo chúng tôi sẽ trình bày về phân tích an ninh
hệ thống.
Luận văn thạc sĩ
Phương pháp hướng đối tượng và phân tích thiết kế anh ninh hệ thống 21
Ký hiệu Giải thích
Giao diện, (mức phân tích) là một bản mẫu của các lớp
Giao diện, (mức thiết kế) là một bản mẫu của các lớp
Lớp điều khiển, (lớp mức phân tích)
Lớp thực thể, (lớp mức phân tích)
Lớp biên, (lớp mức phân tích)
Lớp (lớp mức thiết kế)
Kế thừa một lớp (mức thiết kế)
Cài đặt một giao diện (mức thiết kế)
Bảng 2.3: Một số ký hiệu trong biểu đồ lớp
Luận văn thạc sĩ

×