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

Mô hình hóa trong tiến trình phát triển phần mềm và ứng dụng trong việc xây dựng hệ thống cấp giấy chứng nhận quyền dùng đất

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.98 MB, 120 trang )

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

NGUYỄN THỊ HỒNG LOAN

MÔ HÌNH HÓA TRONG TIẾN TRÌNH
PHÁT TRIỂN PHẦN MỀM VÀ ỨNG DỤNG
TRONG VIỆC XÂY DỰNG HỆ THỐNG
CẤP GIẤY CHỨNG NHẬN
QUYỀN SỬ DỤNG ĐẤT

LUẬN VĂN THẠC SĨ

Hà Nội - 2010


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

NGUYỄN THỊ HỒNG LOAN

MÔ HÌNH HÓA TRONG TIẾN TRÌNH
PHÁT TRIỂN PHẦN MỀM VÀ ỨNG DỤNG
TRONG VIỆC XÂY DỰNG HỆ THỐNG
CẤP GIẤY CHỨNG NHẬN
QUYỀN SỬ DỤNG ĐẤT

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. LÊ VĂN PHÙNG

Hà Nội - 2010


-i-

Lời cảm ơn
Trƣớc hết tôi xin gửi lời cảm ơn đặc biệt nhất tới TS. Lê Văn Phùng - Viện
Công nghệ Thông tin - Viện Khoa học Việt Nam, ngƣời đã định hƣớng đề tài và
tận tình hƣớng dẫn chỉ bảo tôi trong suốt quá trình thực hiện luận văn cao học này.
Tôi xin đƣợc gửi lời cảm ơn sâu sắc tới Khoa Sau đại học và Nghiên cứu khoa
học cùng các thầy cô giáo trong Khoa Công nghệ thông tin, Trƣờng Đại học Công
nghệ, Đại học Quốc gia Hà Nội và Viện Công nghệ Thông tin, Viện Khoa học Việt
Nam đã tận tình giảng dạy và truyền đạt những kiến thức, những kinh nghiệm quý
báu cho tôi trong suốt thời gian tôi học Cao học.
Tôi xin bày tỏ lòng cảm ơn chân thành tới các đồng nghiệp ở Viện Khoa học
Đo đạc và Bản đồ, Trung tâm Viễn thám, Viện Công nghệ Thông tin – Bộ Tài
nguyên và Môi trƣờng đã nhiệt tình giúp đỡ tôi trong suốt thời gian thực hiện luận
văn này.
Cuối cùng tôi xin dành một tình cảm biết ơn tới gia đình và bạn bè, những
ngƣời đã luôn luôn ở bên cạnh tôi, động viên, chia sẻ cùng tôi trong suốt thời gian
học Cao học cũng nhƣ quá trình thực hiện luận văn Cao học.

Hà Nội, tháng 3 năm 2010
Nguyễn Thị Hồng Loan



- ii -

Lời cam đoan
Tôi xin cam đoan: luận văn “Mô hình hóa trong tiến trình phát triển phần mềm
và ứng dụng trong việc xây dựng hệ thống cấp Giấy chứng nhận quyền sử dụng
đất” là công trình nghiên cứu của riêng chúng tôi.
Các kết quả nêu trong bản luận văn này là trung thực và chƣa từng đƣợc ai
công bố trong bất cứ công trình nào khác.

Hà Nội, tháng 3 năm 2010
Nguyễn Thị Hồng Loan


- iii -

MỤC LỤC
Lời cảm ơn ...................................................................................................................... i
Lời cam đoan ................................................................................................................. ii
MỤC LỤC .....................................................................................................................iii
Danh mục ký hiệu, từ viết tắt .................................................................................... v
Danh mục hình vẽ, đồ thị........................................................................................... vi
Danh mục bảng ..........................................................................................................viii
MỞ ĐẦU

................................................................................................... 1
CHƢƠNG 1 - MÔ HÌNH HÓA PHẦN MỀM DỰA TRÊN UML .................... 4
1.1. Mô hình hóa phần mềm .................................................................................. 4
1.1.1 Khái niệm mô hình hóa phần mềm .......................................................... 4

1.1.2 Phƣơng pháp và các ngôn ngữ mô hình hoá .......................................... 5
1.1.3 Các bƣớc của tiến trình phát triển phần mềm ...................................... 6
1.1.4 Đặc trƣng tiến trình phát triển phần mềm hƣớng đối tƣợng ............. 6
1.1.5 Ý nghĩa khi xây dựng mô hình ................................................................ 10
1.2. Mô hình hóa phần mềm với UML .............................................................. 11
1.2.1 Khái niệm UML .......................................................................................... 11
1.2.2 UML và các giai đoạn phát triển phần mềm ........................................ 12
1.2.3 Cấu trúc thành phần của UML ............................................................... 13
CHƢƠNG 2 - THỰC TRẠNG HỆ THỐNG CẤP GIẤY CHỨNG NHẬN
QUYỀN SỬ DỤNG ĐẤT ................................................................................ 19
2.1. Mô hình trao đổi thông tin trong hệ thống cấp giấy chứng nhận quyền
sử dụng đất .................................................................................................................. 19
2.2. Yêu cầu thông tin và chuẩn hóa dữ liệu .................................................... 21
2.2.1 Cơ sở dữ liệu địa chính ............................................................................. 21
2.2.2 Tổ chức CSDL đất đai ............................................................................... 22
2.2.3 Thông tin dữ liệu bản đồ, thửa đất ......................................................... 24
2.2.4 Thông tin về danh mục.............................................................................. 25
2.2.5 Thông tin về giấy chứng nhận QSDĐ .................................................... 26
2.2.6 Thông tin về sổ sách, báo cáo ................................................................... 26
2.3. Sự cần thiết cuả việc xây dựng phần mềm ............................................... 27
CHƢƠNG 3 - ỨNG DỤNG MÔ HÌNH HÓA TRONG VIỆC XÂY DỰNG
PHẦN MỀM CẤP GIẤY CHỨNG NHẬN QUYỀN SỬ DỤNG ĐẤT ........... 29
3.1. Xác định yêu cầu nghiệp vụ ......................................................................... 29
3.1.1 Cập nhật danh mục .................................................................................... 30


- iv -

3.1.2 Quản lý hồ sơ cấp GCN ............................................................................ 37
3.1.3 Quản lý bản đồ ............................................................................................ 42

3.1.4 Quản lý lớp bản đồ ..................................................................................... 49
3.1.5 Tìm kiếm thông tin trên bản đồ .............................................................. 52
3.1.6 Thao tác bản đồ .......................................................................................... 54
3.1.7 Tìm kiếm, tra cứu hồ sơ ............................................................................ 57
3.1.8 Báo cáo thống kê ......................................................................................... 62
3.2. Các mô hình phân tích .................................................................................. 63
3.2.1 Biểu đồ hoạt động ....................................................................................... 63
3.2.2 Biểu đồ trình tự, biểu đồ cộng tác........................................................... 69
3.3. Các mô hình thiết kế ...................................................................................... 71
3.3.1 Thiết kế cơ sở dữ liệu vật lý ..................................................................... 74
3.3.2 Kiến trúc hệ thống...................................................................................... 81
3.4. Quản trị hệ thống ........................................................................................... 82
3.4.1 Đổi mật khẩu ............................................................................................... 82
3.4.2 Đăng nhập .................................................................................................... 83
3.4.3 Sao lƣu, phục hồi cơ sở dữ liệu ................................................................ 85
3.4.4 Sử dụng các mức an toàn bảo mật.......................................................... 85
CHƢƠNG 4 - THỬ NGHIỆM ....................................................................... 87
4.1. Lựa chọn công nghệ nền ............................................................................... 87
4.2. Giải pháp mã tiếng Việt ................................................................................ 87
4.3. Yêu cầu hạ tầng kỹ thuật .............................................................................. 87
4.4. Cài đặt và sử dụng phần mềm cấp giấy chứng nhận quyền sử dụng
đất
............................................................................................................................ 89
CHƢƠNG 5 - KẾT LUẬN ........................................................................... 100
5.1. Đánh giá hiệu quả......................................................................................... 100
5.2. Định hƣớng phát triển ................................................................................. 100
TÀI LIỆU THAM KHẢO ............................................................................ 101
PHỤ LỤC

............................................................................................... 102



-v-

Danh mục ký hiệu, từ viết tắt
Từ
viết tắt

Thuật ngữ

Ý nghĩa

MicroStation MicroStation là một phần mềm giúp thiết kế (CAD) đƣợc sản
xuất và phân phối bởi Bentley Systems. MicroStation có môi
trƣờng đồ họa rất mạnh cho phép xây dựng, quản lý các đối tƣợng
đồ họa thể hiện các yếu tố bản đồ.
ArcGIS

ArcGIS là dòng sản phẩm hỗ trợ trong hệ thống thông tin địa lý
(GIS) của ESRI. ArcGIS hỗ trợ nhiều phần mở rộng gọi là các
Extension, mỗi Extension hỗ trợ một số chức năng chuyên biệt
nhƣ: phân tích không gian (spatial analyst), phân tích 3D (3D
analyst), phân tích mạng (Network analyst), xử lý dữ liệu, thống
kê không gian...

CSDL

Cơ sở dữ liệu

MapObject


Là bộ thƣ viện dùng phát triển các ứng dụng độc lập của ESRI.

ESRI.

Là nhà phân phối sản phẩm của Viện nghiên cứu hệ thống môi
trƣờng của Mỹ

Actors

Tác nhân

Use case

Ca sử dụng

GCN

Giấy chứng nhận quyền sử dụng đất

UML

Unified Modeling Language – Ngôn ngữ mô hình hóa thống nhất

PK

Primary Key – khóa chính

FK


Foreign Key – khóa phụ


- vi -

Danh mục hình vẽ, đồ thị
Hình 1: Ca sử dụng điều khiển quá trình phát triển phần mềm ................................ 7
Hình 2: Các ca sử dụng đƣợc bổ sung và triển khai tại mỗi bƣớc ............................ 9
Hình 3: Cấu trúc thành phần của UML ................................................................... 14
Hình 4: Khung nhìn trong UML ............................................................................. 14
Hình 5: Kiến trúc chung của hệ thống cấp Giấy chứng nhận quyền sử dụng đất ... 19
Hình 6: Cơ sở dữ liệu của hệ thống cấp giấy chứng nhận quyền sử dụng đất ........ 20
Hình 7: Mô hình hệ thống cấp giấy chứng nhận quyền sử dụng đất ...................... 21
Hình 8: Mô hình chức năng .................................................................................... 29
Hình 9: Tác nhân ..................................................................................................... 29
Hình 10: Cập nhật danh mục................................................................................... 30
Hình 11: Mục đích sử dụng đất ............................................................................... 30
Hình 12: Nguồn gốc sử dụng đất ............................................................................ 33
Hình 13: Danh mục đối tƣợng sử dụng đất ............................................................. 35
Hình 14: Danh mục đơn vị hành chính ................................................................... 35
Hình 15: Quản lý hồ sơ cấp GCN ........................................................................... 37
Hình 16: Quản lý bản đồ ......................................................................................... 42
Hình 17: Chuẩn hóa dữ liệu bản đồ ........................................................................ 43
Hình 18: Nhập dữ liệu bản đồ vào cơ sở dữ liệu .................................................... 46
Hình 19: Quản lý lớp bản đồ ................................................................................... 49
Hình 20: Tìm kiếm thông tin trên bản đồ ................................................................ 52
Hình 21: Xem thông tin thửa đất............................................................................. 54
Hình 22: Thao tác bản đồ ........................................................................................ 55
Hình 23: Tìm kiếm, tra cứu hồ sơ ........................................................................... 57
Hình 24: Báo cáo thống kê ...................................................................................... 62

Hình 25: Quy trình thêm mới danh mục ................................................................. 63
Hình 26: Quy trình chuẩn hóa dữ liệu bản đồ ......................................................... 64
Hình 27: Quy trình thẩm tra, xác minh hồ sơ ......................................................... 65
Hình 28: Quy trình cấp GCN quyền sử dụng đất .................................................... 66
Hình 29: Quy trình tạo báo cáo, sổ sách ................................................................. 67
Hình 30: Quy trình tra cứu thông tin ....................................................................... 68
Hình 31a: Biểu đồ trình tự cấp GCN quyền sử dụng đất ........................................ 69
Hình 31b: Biểu đồ cộng tác cấp GCN quyền sử dụng đất ...................................... 70


- vii -

Hình 32: Biểu đồ lớp chi tiết hệ thống cấp GCN quyền sử dụng đất ..................... 74
Hình 33: Sơ đồ quan hệ giữa các bảng.................................................................... 81
Hình 34: Đăng nhập ................................................................................................ 85
Hình 35: Đăng nhập hệ thống ................................................................................. 89
Hình 36: Giao diện phần mềm cấp GCN ................................................................ 89
Hình 37: Menu hệ thống ......................................................................................... 89
Hình 38: Menu cập nhật danh mục ......................................................................... 89
Hình 39: Menu tìm kiếm ......................................................................................... 90
Hình 40: Giao diện chọn đơn vị hành chính ........................................................... 90
Hình 41: Giao diện chọn tỉnh (thành phố) khác ...................................................... 91
Hình 42: Bản đồ địa chính xã có đủ thông tin thửa đất số thửa, diện tích, loại đất ........ 91
Hình 43: Menu hồ sơ cấp GCN............................................................................... 92
Hình 44: Nhập đơn xin đăng ký quyền sử dụng đất đồi với hộ gia đình, cá nhân .. 92
Hình 45: Nhập đơn xin đăng ký quyền sử dụng đất đồi với các tổ chức ................ 93
Hình 46: In đơn đăng ký quyền sử dụng đất đồi với hộ gia đình, cá nhân ............. 93
Hình 47: In đơn đăng ký quyền sử dụng đất đồi với các tổ chức ........................... 94
Hình 48: In giấy chứng nhận quyền sử dụng đất đồi với các tổ chức..................... 94
Hình 49: Giao diện tìm kiếm theo chủ sử dụng ...................................................... 95

Hình 50: Sổ địa chính .............................................................................................. 95
Hình 51: Trang sổ địa chính .................................................................................... 96
Hình 52: Giao diện quản lý ngƣời dùng .................................................................. 96
Hình 53: Giao diện sửa thông tin ngƣời sử dụng .................................................... 97
Hình 54: Giao diện đổi mật khẩu ............................................................................ 97
Hình 55: Giao diện danh mục loại đất .................................................................... 98
Hình 56: Giao diện danh mục đối tƣợng sử dụng đất ............................................. 98
Hình 57: Giao diện danh mục nguồn gốc sử dụng đất ............................................ 99
Hình 58: Giao diện danh mục đơn vị hành chính ................................................... 99


- viii -

Danh mục bảng
UC_01: Mục đích sử dụng đất. ............................................................................... 29
UC_02: Cập nhật danh mục nguồn gốc sử dụng đất............................................... 32
UC_03: Cập nhật danh mục đơn vị hành chính. ..................................................... 35
UC_04: Thêm mới hồ sơ cấp GCNQSDĐ .............................................................. 37
UC_05: Xóa hồ sơ cấp giấy chứng nhận quyền sử dụng đất .................................. 37
UC_06a: Sửa hồ sơ cấp giấy chứng nhận quyền sử dụng đất ................................. 38
UC_06b: Cấp giấy chứng nhận quyền sử dụng đất ................................................ 40
UC_07: Chuẩn hóa dữ liệu bản đồ nền ................................................................... 42
UC_08: Chuẩn hóa trích lục thửa đất ...................................................................... 43
UC_09: Chuẩn hóa dữ liệu bản đồ địa chính .......................................................... 44
UC_10: Nhập dữ liệu bản đồ nền ............................................................................ 45
UC_11: Nhập dữ liệu trích đo thửa đất ................................................................... 46
UC_12: Nhập dữ liệu bản đồ địa chính ................................................................... 47
UC_13: Thêm mới lớp bản đồ ................................................................................ 48
UC_14: Bật /tắt lớp bản đồ ..................................................................................... 49
UC_15: Xóa lớp bản đồ .......................................................................................... 49

UC_16: Trình bày bản đồ ........................................................................................ 50
UC_17: Tìm kiếm theo đối tƣợng thuộc tính .......................................................... 51
UC_18: Mở bản đồ .................................................................................................. 54
UC_19: Phóng to ..................................................................................................... 55
UC_20: Tìm theo bản đồ hành chính ...................................................................... 56
UC_21: Tìm theo mục đích sử dụng đất ................................................................. 57
UC_22: Xem chi tiết hồ sơ ...................................................................................... 58
UC_23: Tìm theo tên hồ sơ ..................................................................................... 59
UC_24: Tìm hồ sơ theo thông tin tổng hợp ............................................................ 59
UC_25: Báo cáo, thống kê ...................................................................................... 61
UC_26: Sửa thông tin ngƣời sử dụng ..................................................................... 62
UC_27: Đăng nhập .................................................................................................. 63
UC_28: Thiết lập cấu hình ...................................................................................... 65


-1-

MỞ ĐẦU
Đặt vấn đề
Mô hình hóa là cách xem xét một bài toán thông qua việc sử dụng các mô hình.
Mô hình dùng để hiểu rõ bài toán, trao đổi thông tin giữa những ngƣời liên quan
nhƣ khách hàng, chuyên gia, ngƣời phân tích, ngƣời thiết kế... Mô hình giúp cho
việc xác định các yêu cầu tốt hơn, thiết kế rõ ràng hơn và khả năng bảo trì hệ thống
cao hơn.
Mô hình là sự trừu tƣợng hóa, mô tả mặt bản chất của một vấn đề hoặc một cấu
trúc phức tạp bằng cách loại bỏ những chi tiết không quan trọng, khiến cho bài toán
trở nên dễ hiểu và dễ nắm bắt hơn. Trừu tƣợng hóa là một khả năng cơ bản của con
ngƣời trong việc giải quyết các vấn đề phức tạp. Các kỹ sƣ, kiến trúc sƣ, các nghệ
sĩ đã từng xây dựng những mô hình từ hàng nghìn năm nay để thử các thiết kế của
họ trƣớc khi thực hiện chúng. Việc phát triển các hệ thống phần mềm cũng không

ngoại lệ. Để xây dựng một hệ thống phức tạp, những ngƣời phát triển phải trừu
tƣợng hóa những khía cạnh (View) khác nhau của hệ thống, xây dựng các mô hình
bằng cách sử dụng các kí hiệu một cách rõ ràng, cẩn thận, kiểm tra xem các mô
hình đã thoả mãn các yêu cầu của hệ thống chƣa và dần dần thêm vào các chi tiết
để có thể chuyển đổi từ mô hình sang một cài đặt cụ thể.
Chúng ta xây dựng mô hình của những hệ thống phức tạp bởi vì chúng ta
không thể lĩnh hội một lúc toàn bộ hệ thống đó. Ví dụ nhƣ khi xây một nhà kho
chúng ta có thể bắt tay vào xây ngay, khi xây một ngôi nhà chúng ta có thể cần bản
thiết kế của ngôi nhà đó. Khi cần xây một tòa nhà cao tầng, chúng ta chắc chắn cần
bản thiết kế của toà nhà đó. Điều này cũng đúng trong lĩnh vực phần mềm. Hệ
thống càng phức tạp thì việc xây dựng mô hình càng quan trọng. Xây dựng mô
hình cho phép ngƣời thiết kế thấy đƣợc bức tranh tổng quan của hệ thống, thấy
đƣợc các thành phần của hệ thống tƣơng tác với nhau nhƣ thế nào hơn là việc sa lầy
vào chi tiết bên trong của các thành phần đó.
Trong thế giới luôn biến động của các ứng dụng hƣớng đối tƣợng thì việc phát
triển và bảo trì các ứng dụng có chất lƣợng cao trong một khoảng thời gian hợp lý
ngày càng trở nên khó khăn hơn. Một tổ chức phát triển phần mềm thành công là tổ


-2-

chức xây dựng đƣợc các phần mềm có chất lƣợng, thoả mãn đƣợc mọi yêu cầu của
khách hàng.
Mô hình hóa là phần trung tâm trong các công việc, các hoạt động để dẫn tới
một phần mềm tốt. Chúng ta xây dựng mô hình để trao đổi, bàn bạc về cấu trúc và
ứng xử (behavior) mong muốn của hệ thống. Chúng ta xây dựng mô hình để trực
quan hóa và kiểm soát kiến trúc của hệ thống.
Mô hình có thể mô tả các cấu trúc, nhấn mạnh về mặt tổ chức của hệ thống
hoặc nó có thể mô tả các hành vi, tập trung vào mặt động của hệ thống.
Chúng ta xây dựng mô hình để hiểu rõ hơn về hệ thống mà chúng ta đang xây

dựng, tạo ra cơ hội để có thể đơn giản hóa và tái sử dụng. Chúng ta xây dựng mô
hình để kiểm soát rủi ro.
Việc lập mô hình không chỉ dành cho các hệ thống lớn. Khi xây dựng mô hình
chúng ta sẽ đạt đƣợc 4 mục đích sau:


Mô hình giúp chúng ta trực quan hóa hệ thống nhƣ là nó vốn có hay theo
cách mà chúng ta muốn nó sẽ nhƣ vậy.



Mô hình cho phép chúng ta chỉ rõ cấu trúc và ứng xử của hệ thống.



Mô hình cho chúng ta một khuôn mẫu để hƣớng dẫn chúng ta trong quá
trình xây dựng hệ thống.



Mô hình đƣa ra các dẫn chứng bằng tài liệu về các quyết định mà chúng
ta đã đƣa ra trong quá trình thiết kế hệ thống.

Thông qua việc mô hình hóa, chúng ta thu hẹp bài toán mà chúng ta đang
nghiên cứu bằng cách chỉ tập trung vào một khía cạnh tại một thời điểm. Điều này
cũng giống nhƣ phƣơng pháp “chia để trị” mà Edsger Diskstra đã đƣa ra: “Giải
quyết một vấn đề khó bằng cách chia nó thành những bài toán nhỏ hơn mà bạn có
thể giải quyết đƣợc.”
Mô hình hóa là việc đơn giản hóa thực tế, loại bỏ những điểm thứ yếu, tuy
nhiên ta phải chắc chắn rằng không bỏ sót một chi tiết quan trọng nào.

Tùy thuộc vào đặc điểm tự nhiên của hệ thống, mỗi mô hình có thể tập trung vào
những mặt khác nhau của hệ thống. Nhƣ hệ thống tập trung vào dữ liệu thì các mô
hình về phần thiết kế tĩnh của hệ thống sẽ đƣợc chú ý hơn. Trong hệ thống giao
diện ngƣời dùng thì phần tĩnh và động của Use case sẽ là quan trọng. Trong hệ
thống thời gian thực, các tiến trình động là quan trọng.


-3-

Nội dung nghiên cứu
Trong thời gian thực hiện luận văn, chúng tôi đã nghiên cứu về mô hình hóa hệ
thống và ứng dụng cho hệ thống bao gồm:
 Mô hình hóa trực quan: Sử dụng ngôn ngữ chuẩn UML (Unified Modelling
Language) để mô hình hóa toàn bộ hệ thống phần mềm cần phát triển. Việc
mô hình hóa trực quan bằng ngôn ngữ UML cho phép: thu thập đƣợc toàn
bộ cấu trúc và hành vi của hệ thống, chỉ ra cách thức để các thành phần của
hệ thống có thể kết hợp với nhau, đảm bảo sự thống nhất giữa bản thiết kế
và bản chƣơng trình phần mềm đƣợc xây dựng.
 Tìm hiểu các vấn đề về hệ thống cấp giấy chứng nhận quyền sử dụng đất
bao quát hơn là hệ thống thông tin đất đai. Ứng dụng Mô hình hóa hệ thống
trong tiến trình xây dựng hệ thống giấy cấp chứng nhận quyền sử dụng đất
nhằm cung cấp, quản lý thông tin đất đai của Nhà nƣớc và ngành Tài nguyên
và Môi trƣờng.
 Nghiên cứu và xây dựng hệ thống thực nghiệm chứng minh tính đúng đắn
và hữu ích của mô hình đề xuất.
Cấu trúc luận văn
Nội dung các phần còn lại của luận văn có cấu trúc chi tiết nhƣ sau:
Chương 1 Mô hình hóa phần mềm dựa trên UML
Chương 2: Thực trạng hệ thống cấp giấy chứng nhận quyền sử dụng đất
Chương 3: Ứng dụng mô hình hóa trong việc xây dựng phần mềm cấp giấy

chứng nhận quyền sử dụng đất.
Chương 4: Thử nghiệm
Chương 5: Kết luận


-4-

CHƢƠNG 1 - MÔ HÌNH HÓA PHẦN MỀM DỰA TRÊN UML
1.1. Mô hình hóa phần mềm
1.1.1 Khái niệm mô hình hóa phần mềm
Mô hình là sự trừu tƣợng hóa, mô tả bản chất của một vấn đề hoặc một cấu
trúc phức tạp bằng cách loại bỏ những chi tiết không quan trọng, làm cho bài toán
trở nên dễ hiểu và dễ nắm bắt hơn. Trừu tƣợng hóa là một khả năng cơ bản của con
ngƣời trong việc giải quyết các vấn đề phức tạp. Để xây dựng một hệ thống phức
tạp, những ngƣời phát triển phải trừu tƣợng hóa những khía cạnh khác nhau của hệ
thống, xây dựng các mô hình bằng cách sử dụng các kí hiệu một cách rõ ràng, cẩn
thận, kiểm tra xem các mô hình đã thoả mãn các yêu cầu của hệ thống chƣa và dần
dần thêm vào các chi tiết để có thể chuyển đổi từ mô hình sang một cài đặt cụ
thể[1].
Nhƣ vậy, mô hình hóa là biểu diễn hệ thống dƣới các dạng hình thức dễ hiểu
nhƣ biểu đồ, đồ thị, công thức... Mô hình hóa giúp hiểu rõ bài toán, trao đổi thông
tin giữa những ngƣời liên quan nhƣ khách hàng, chuyên gia, ngƣời phân tích, ngƣời
thiết kế. Mô hình giúp cho việc xác định các yêu cầu tốt hơn, thiết kế rõ ràng hơn
và khả năng bảo trì hệ thống cao hơn.
Mô hình hóa là phần trung tâm trong các công việc, các hoạt động để dẫn tới
một phần mềm tốt. Chúng ta xây dựng mô hình để trao đổi, bàn bạc về cấu trúc và
hành vi mong muốn của hệ thống. Đồng thời xây dựng mô hình để trực quan hóa
và kiểm soát kiến trúc của hệ thống.
Mô hình hóa có thể mô tả các cấu trúc, nhấn mạnh về mặt tổ chức của hệ
thống hoặc nó có thể mô tả các hành vi, tập trung vào mặt động của hệ thống.

Do đó, mô hình hóa hệ thống giúp chúng ta hiểu rõ hơn về hệ thống mà
chúng ta đang xây dựng, tạo ra cơ hội để có thể đơn giản hóa và tái sử dụng. Ngoài
ra việc mô hình hóa còn giúp chúng ta dễ dàng kiểm soát rủi ro.
Trong quá trình mô hình hóa, mỗi hệ thống thực tế có thể đƣợc tiếp cận
thông qua một hay một số mô hình khác nhau. Quá trình mô hình hoá hệ thống
phần mềm thƣờng thực hiện theo hai cấp:


-5-

+ Mô hình logic: mô tả các thành phần và mối quan hệ của chúng để tổ chức
thực hiện. Mô hình logic trả lời câu hỏi “cái gì?”
+ Mô hình vật lý: xác định kiến trúc các thành phần và tổng thể của hệ thống.
Mô hình vật lý sẽ trả lời câu hỏi “nhƣ thế nào”.
Tóm lại, mô hình hoá một hệ thống phải thực hiện theo cả bốn hƣớng:
Kiến trúc
Các
chức
năng,
nhiệm vụ hoặc quá
trình xử lý các nhiệm
vụ của hệ thống.

Cấu trúc tĩnh (dữ liệu,
thông tin đƣợc lƣu trữ,
xử lý và các yếu tố tạo
nên hệ thống).
Cách ứng xử
Các hƣớng mô hình hóa


Hƣớng của điểm xuất phát sẽ kéo theo phƣơng pháp cần lựa chọn để phát
triển phần mềm. Nếu ta bắt đầu từ bên trái, nghĩa là tập trung vào chức năng để
phân tích thì chúng ta thực hiện, phát triển phần mềm theo cách tiếp cận hƣớng
chức năng. Ngƣợc lại, nếu bắt đầu từ bên phải, nghĩa là dựa vào dữ liệu là chính thì
chúng ta sử dụng phƣơng pháp hƣớng đối tƣợng[1].
1.1.2 Phƣơng pháp và các ngôn ngữ mô hình hoá
Phƣơng pháp là cách trực tiếp cấu trúc hoá sự suy nghĩ và hành động của
con ngƣời. Phƣơng pháp cho ngƣời sử dụng biết phải làm gì? Làm nhƣ thế nào?
Khi nào? và tại sao (mục đích của hành động)?. Phƣơng pháp chứa các mô hình
(model), các mô hình đƣợc dùng để mô tả những gì sử dụng cho việc truyền đạt kết
quả trong quá trình sử dụng phƣơng pháp.
Đồng thời, mô hình lại đƣợc biểu diễn theo một ngôn ngữ mô hình hoá.
Ngôn ngữ mô hình hoá bao gồm các ký hiệu – những biểu tƣợng đƣợc dùng trong
mô hình – và một tập các quy tắc chỉ cách sử dụng chúng. Các quy tắc này bao
gồm:
- Cú pháp (syntactic): cho biết hình dạng các biểu tƣợng và cách kết hợp chúng
trong ngôn ngữ.
- Ngữ nghĩa (semantic): cho biết ý nghĩa của mỗi biểu tƣợng, chúng đƣợc hiểu
thế nào khi nằm trong hoặc không nằm trong ngữ cảnh của các biểu tƣợng khác.


-6-

- Mục đích (pragmatic): định nghĩa ý nghĩa của biểu tƣợng để sao cho mục đích
của mô hình đƣợc thể hiện và mọi ngƣời có thể hiểu đƣợc.
1.1.3 Các bƣớc của tiến trình phát triển phần mềm
Một quá trình phát triển phần mềm là một tập của các hoạt động cần thiết để
chuyển các yêu cầu ngƣời dùng thành một hệ thống phần mềm đáp ứng đƣợc các
yêu cầu đặt ra.
Yêu cầu

ngƣời dùng

Tiến trình phát triển
phần mềm

Hệ thống
phần mềm

Vòng đời phát triển phần mềm đƣợc chia thành 4 pha: sơ bộ, soạn thảo, xây
dựng và chuyển giao. Trong mỗi pha lại chia thành nhiều bƣớc lặp nhỏ. Mỗi bƣớc
lặp đều gồm một số công việc thực hiện trọn vẹn một sản phẩm phần mềm: lập mô
hình nghiệp vụ, xác định yêu cầu, phân tích, thiết kế, triển khai và kiểm thử. Tuy
nhiên, bƣớc lặp trong mỗi pha khác với bƣớc lặp ở các pha khác nội dung cũng nhƣ
khối lƣợng mỗi loại công việc thực hiện.
Sơ bộ

Soạn thảo

Xây dựng

Chuyển giao

Bƣớc 1 Bƣớc 2 Bƣớc 3 Bƣớc 4 Bƣớc 5

Bƣớc n-1 Bƣớc n
Với mỗi bƣớc lặp, các hoạt động phát triển đƣợc thực hiện trên một phạm vi
chỉ liên quan đến một số thành phần nhất định của hệ thống, và kết thúc mỗi bƣớc
lặp ta nhận đƣợc một thành phần mới của hệ thống mà sẵn sàng để phân phối và
thực hiện đƣợc. Nó bao gồm các mã nguồn đƣợc viết dƣới dạng các thành phần mà
có thể đƣợc biên dịch và thực thi, cùng với các hƣớng dẫn sử dụng và nhiều thành

phần khác. Tuy nhiên, các thành phần này còn chƣa phải là sản phẩm cuối cùng, vì
sản phẩm cuối cùng phải là sản phẩm hoàn thiện thỏa mãn đƣợc yêu cầu của ngƣời
dùng.
1.1.4 Đặc trƣng tiến trình phát triển phần mềm hƣớng đối tƣợng
Quá trình phát triển phần mềm hƣớng đối tƣợng có thể sử dụng các công cụ
khác nhau. Quá trình phát triển phần mềm có 3 đặc trƣng cơ bản sau:
- Ca sử dụng điều khiển quá trình phát triển
- Lấy kiến trúc làm trung tâm
- Tiến trình phát triển là tiến trình lặp và tăng dần


-7-

1.1.4.1. Ca sử dụng điều khiển toàn bộ quá trình phát triển
Một hệ thống phần mềm đƣợc tạo ra là để phục vụ ngƣời dùng. Ngƣời dùng
ở đây bao gồm cả ngƣời dùng hệ thống hay các hệ thống ngoài khác tƣơng tác với
hệ thống.
Một ca sử dụng là một phần chức năng của hệ thống cung cấp cho ngƣời
dùng để đem lại một kết quả nào đó khi sử dụng nó. Các ca sử dụng dùng để nắm
bắt các yêu cầu chức năng. Tập hợp tất cả các ca sử dụng lập thành mô hình ca sử
dụng mô tả chức năng đầy đủ của hệ thống. Một đặc tả chức năng thƣờng trả lời
câu hỏi: hệ thống đƣợc dự kiến sẽ làm gì? Nhƣng đối với ca sử dụng thì câu hỏi lại
là: hệ thống đƣợc dự kiến sẽ làm đƣợc gì cho mỗi ngƣời sử dụng?

Hình 1: Ca sử dụng điều khiển quá trình phát triển phần mềm
Ca sử dụng không chỉ là một công cụ để đặc tả các yêu cầu của hệ thống mà
còn điều khiển quá trình phân tích, thiết kế, cài đặt và kiểm thử. Trƣớc hết ca sử
dụng phản ánh yêu cầu của hệ thống cần phải thực hiện để đem lại dịch vụ cho
những ngƣời sử dụng và kết quả là những giá trị gia tăng mà họ nhận đƣợc. Dựa
trên mô hình ca sử dụng, ngƣời phát triển tạo ra một loạt các mô hình phân tích,

thiết kế và cài đặt nhằm vào việc thực hiện các ca sử dụng ở những mức khác nhau
và xem xét để sao cho mỗi mô hình này là phù hợp với việc thực hiện mô hình ca
sử dụng xây dựng đƣợc. Những ngƣời kiểm tra sẽ kiểm tra các cài đặt để đảm bảo
rằng các thành phần của mô hình cài đặt thực hiện đúng các ca sử dụng. Do vậy, ta


-8-

nói rằng: ca sử dụng điều khiển quá trình phát triển có nghĩa là quá trình phát triển
tuân theo các luồng công việc đƣợc điều khiển bởi ca sử dụng.
1.1.4.2. Quá trình phát triển lấy kiến trúc làm trung tâm
Vai trò của kiến trúc hệ thống phần mềm giống một khung nền dựa trên đó
phần mềm đƣợc xây dựng và phát triển đến hoàn thiện. Khái niệm kiến trúc phần
mềm chứa đựng những khía cạnh tĩnh và động có ý nghĩa nhất định đối với hệ
thống. Nó đƣợc phát triển dựa theo yêu cầu của tổ chức, theo cảm nhận của ngƣời
dùng và các tổ chức có liên quan khác. Mặt khác, nó cũng chịu ảnh hƣởng của rất
nhiều nhân tố khác, chẳng hạn nhƣ phần mềm của hệ thống, các khối xây dựng
dùng lại đƣợc có sẵn, các cân nhắc về điều kiện triển khai, các hệ thống có sẵn
trong môi trƣờng tƣơng tác với nó, và cả các yêu cầu phi chức năng. Kiến trúc là
một cái nhìn thiết kế tổng thể những đặc điểm quan trọng nhất về hệ thống phần
mềm khi tạm bỏ qua các chi tiết.
Mọi sản phẩm phần mềm đều bao gồm chức năng và hình thức thể hiện. Hai
yếu tố này phải cân bằng với nhau để đem lại kết quả tốt nhất. Chức năng tƣơng
ứng với ca sử dụng và hình thức thể hiện tƣơng ứng với kiến trúc. Do đó, việc lựa
chọn các ca sử dụng để phát triển đƣợc định hƣớng theo kiến trúc và phải phù hợp
với kiến trúc. Nói cách khác, kiến trúc phải cung cấp chỗ dựa cho việc thực hiện
các ca sử dụng ngay khi bắt đầu tiến trình phát triển hệ thống và cả trong tƣơng lai.
Để có đƣợc bản mẫu cho kiến trúc, ngƣời phân tích phải có hiểu biết chung về các
chức năng chính, đó là các ca sử dụng chính yếu. Chúng là các ca sử dụng mang ý
nghĩa nhất, tạo nên các chức năng chủ yếu của hệ thống và thƣờng ít thay đổi trong

quá trình phát triển.
1.1.4.3. Tiến trình phát triển là quá trình lặp và tăng dần
Việc phát triển một phần mềm nói chung đòi hỏi một số lớn công việc và có
thể diễn ra trong một khoảng thời gian. Việc chia nhỏ toàn bộ công việc thành các
phần nhỏ hoặc các dự án con là yêu cầu thiết thực. Mỗi dự án con là một bƣớc lặp
và tạo nên một sự tăng trƣởng. Điều này dễ dàng thực hiện đƣợc khi phát triển phần
mềm hƣớng đối tƣợng vì phần mềm đƣợc cấu thành từ các thành phần độc lập ghép
nối lại với nhau. Để đạt hiệu quả nhất, các bƣớc lặp phải đƣợc điều khiển, tức là
chúng phải đƣợc lựa chọn và tiến hành theo một cách có kế hoạch từ trƣớc.
Lựa chọn cái gì cần cài đặt trong một bƣớc lặp dựa trên hai yếu tố sau: thứ
nhất, bƣớc lặp phải liên quan tới một nhóm các ca sử dụng để mở rộng tính khả


-9-

dụng của hệ thống khi phát triển. Thứ hai, bƣớc lặp phải giải quyết những rủi ro
quan trọng nhất.

Bƣớc 1

Bƣớc 2

Bƣớc 3

Bƣớc 4

Bƣớc 5

Hình 2: Các ca sử dụng được bổ sung và triển khai tại mỗi bước
Mỗi bƣớc lặp tiếp đƣợc xây dựng trên cơ sở các sản phẩm thiết kế từ trạng

thái mà nó vừa kết thúc ở bƣớc lặp trƣớc. Bởi vì là một dự án con, nên từ các ca sử
dụng đã dùng, nó tiếp tục mở rộng việc thực hiện các công việc phân tích, thiết kế,
cài đặt và kiểm thử đối với các chức năng còn lại đƣợc nắm bắt trong các ca sử
dụng tiếp theo để đƣa chúng về dạng các mã nguồn thực thi đƣợc. Tuy nhiên, trong
một vài bƣớc ban đầu, ngƣời phát triển có thể chỉ thay thế một thiết kế còn sơ bộ
bằng một kiến trúc khác chi tiết hơn, phức tạp hơn, vì vậy có thể chƣa tạo ra sự
tăng trƣởng của sản phẩm thiết kế. Nhƣng ở các bƣớc sau, một sự tăng trƣởng của
sản phẩm nói chung là tất yếu và cần thiết.
Trong mỗi bƣớc lặp, ngƣời thiết kế xác định các ca sử dụng liên quan, tạo
lập một thiết kế dựa trên kiến trúc đã chọn, triển khai thiết kế dƣới dạng các thành
phần, và kiểm tra mức độ tƣơng ứng giữa các thành phần và các ca sử dụng. Nếu
một bƣớc lặp thỏa mãn đƣợc các mục đích của nó thì có thể chuyển sang bƣớc lặp
tiếp theo. Nếu không, ngƣời thiết kế sẽ phải xem lại và thử một cách tiếp cận mới.
Một dự án gọi là thành công nếu đƣợc tiến hành mà không chệch hƣớng
nhiều so với kế hoạch đã đƣợc định ra. Tối thiểu hóa đƣợc các vấn đề còn chƣa
đƣợc nhận thức chính là một trong các mục tiêu của việc giảm rủi ro. Một quá trình
lặp có điều khiển sẽ mang lại rất nhiều lợi ích, đặc biệt giải quyết đƣợc những vấn
đề liên quan đến các rủi ro.


- 10 -

Những khái niệm – ca sử dụng điều khiển tiến trình, tập trung kiến trúc lặp
và tăng dần – có mức độ quan trọng nhƣ nhau. Kiến trúc cung cấp cấu trúc mà theo
đó chỉ dẫn công việc trong các bƣớc lặp. Trong khi đó ca sử dụng xác định mục
tiêu và định hƣớng công việc cho mỗi vòng lặp. Thiếu một trong ba khái niệm này
sẽ làm giảm nghiêm trọng giá trị của quá trình phát triển. Chính quá trình lặp làm
dễ dàng cho hoạt động quản lý và giảm sự phức tạp của quá trình phát triển, nhờ
vậy mà giảm bớt những rủi ro.
1.1.5 Ý nghĩa khi xây dựng mô hình

Mô hình giúp ta hiểu và thực hiện đƣợc sự trừu tƣợng, tổng quát hoá các
khái niệm cơ sở để giảm thiểu độ phức tạp của hệ thống. Qua mô hình chúng ta biết
đƣợc hệ thống gồm những gì? và chúng hoạt động nhƣ thế nào. Do vậy, quá trình
phát triển phần mềm là quá trình nhận thức và mô tả lại hệ thống. Vì vậy, việc mô
hình hóa đúng sẽ giúp ta làm sáng tỏ những vấn đề phức tạp và cho ta cái nhìn thấu
đáo về vấn đề cần giải quyết.
Mô hình giúp chúng ta quan sát đƣợc hệ thống nhƣ nó vốn có trong thực tế
hoặc nó phải có nhƣ ta mong muốn. Muốn hiểu và phát triển đƣợc hệ thống phần
mềm theo yêu cầu thực tế thì ta phải quan sát nó theo nhiều góc nhìn khác nhau:
theo chức năng sử dụng, theo các thành phần logic.
Mô hình cho phép ta đặc tả đƣợc cấu trúc và hành vi của hệ thống:
+ Đảm bảo hệ thống đạt đƣợc mục đích đã xác định trƣớc. Mọi mô hình đều
đơn giản hoá thế giới thực, nhƣng phải đảm bảo sự đơn giản đó không loại
bỏ đi những những yếu tố quan trọng.
+ Kiểm tra đƣợc các quy định về cú pháp, ngữ nghĩa về tính chặt chẽ và đầy
đủ của mô hình, khẳng định đƣợc tính đúng đắn của thiết kế, phù hợp với
yêu cầu của khách hàng. Nghĩa là, mô hình hoá là quá trình hoàn thiện và
tiến hoá liên tục.
Mô hình hóa nhằm tạo ra khuôn mẫu và hƣớng dẫn cách xây dựng hệ thống,
cho phép thử nghiệm, mô phỏng và thực hiện, hoàn thiện theo mô hình. Đồng thời,
mô hình là cơ sở để trao đổi, ghi lại những quyết định đã thực hiện trong nhóm
tham gia dự án phát triển phần mềm. Mọi quan sát, mọi kết quả phân tích đều đƣợc
ghi lại chi tiết để phục vụ cho cả quá trình phát triển phần mềm.


- 11 -

1.2. Mô hình hóa phần mềm với UML
1.2.1 Khái niệm UML
1.2.1.1. Định nghĩa

UML là ngôn ngữ mô hình hoá, ngôn ngữ đặc tả và ngôn ngữ xây dựng mô
hình trong quá trình phát triển phần mềm, đặc biệt là trong phân tích và thiết kế hệ
thống hƣớng đối tƣợng. UML là ngôn ngữ hình thức, thống nhất và chuẩn hoá mô
hình hệ thống một cách trực quan. Nghĩa là các thành phần trong mô hình đƣợc thể
hiện bởi các ký hiệu đồ hoạ, biểu đồ và thể hiện đầy đủ mối quan hệ giữa chúng
một cách thống nhất và có logic chặt chẽ[2].
1.2.1.2. Mục đích chính của UML
 Mô hình hóa đƣợc các hệ thống và sử dụng đƣợc tất cả các khái niệm hƣớng
đối tƣợng một cách thống nhất.
 Cho phép đặc tả, hỗ trợ để đặc tả tƣờng minh mối quan hệ giữa các khái
niệm cơ bản trong hệ thống, đồng thời mô tả đƣợc mọi trạng thái hoạt động
của hệ thống đối tƣợng. Nghĩa là cho phép mô tả đƣợc cả mô hình tĩnh lẫn
mô hình động một cách đầy đủ và trực quan.
 Tận dụng đƣợc những khả năng sử dụng lại và kế thừa ở phạm vi diện rộng
để xây dựng đƣợc những hệ thống phức tạp và nhạy cảm nhƣ: các hệ thống
động, hệ thống thời gian thực, hệ thống nhúng thời gian thực...
 Tạo ra những ngôn ngữ mô hình hoá sử dụng đƣợc cho cả ngƣời lẫn máy
tính[1].
1.2.1.3. Quy trình phát triển phần mềm hợp nhất
UML đƣợc phát triển để đặc tả trong quá trình phát triển phần mềm, nhằm
mô hình hoá hệ thống. Quy trình phát triển phần mềm có sử dụng UML đƣợc gọi là
quy trình phát triển phần mềm hợp nhất.
Các đặc trƣng của quy trình hợp nhất
 Quy trình hợp nhất bao gồm con ngƣời, dự án, sản phẩm, quy trình và
công cụ. Con ngƣời là những ngƣời tham gia dự án để tạo ra sản phẩm
phần mềm theo một quy trình với sự hỗ trợ của công cụ đƣợc cung cấp.
 Quy trình hợp nhất là quy trình phát triển phần mềm đƣợc hƣớng dẫn bởi
các ca sử dụng. Nghĩa là các yêu cầu của ngƣời sử dụng đƣợc mô tả
trong các ca sử dụng, là chuỗi các hành động đƣợc thực hiện bởi hệ
thống nhằm cung cấp các dịch vụ, các thông tin cho khách hàng. Các ca



- 12 -

sử dụng bao gồm chuỗi các công việc đƣợc xem là nền tảng để tạo ra mô
hình thiết kế và cài đặt hệ thống.
 Quy trình hợp nhất cũng là quy trình tập trung vào kiến trúc, đƣợc lặp và
phát triển tăng trƣởng liên tục.
 Quy trình hợp nhất không chỉ tạo ra một hệ thống phần mềm hoàn chỉnh
mà còn tạo ra một số sản phẩm trung gian nhƣ các mô hình: mô hình ca
sử dụng, mô hình khái niệm, mô hình thiết kế, mô hình triển khai và mô
hình trắc nghiệm.
1.2.2 UML và các giai đoạn phát triển phần mềm
1.2.2.1. Giai đoạn nghiên cứu sơ bộ
UML đƣa ra khái niệm Ca sử dụng (Use Case) để nắm bắt các yêu cầu của
ngƣời sử dụng. UML sử dụng biểu đồ ca sử dụng để nêu bật mối quan hệ cũng nhƣ
sự giao tiếp với hệ thống.
Qua phƣơng pháp mô hình hóa ca sử dụng, các tác nhân (Actor) bên ngoài
quan tâm đến hệ thống sẽ đƣợc mô hình hóa song song với chức năng mà họ đòi
hỏi từ phía hệ thống. Các tác nhân và các ca sử dụng đƣợc mô hình hóa cùng các
mối quan hệ và đƣợc miêu tả trong biểu đồ ca sử dụng của UML. Mỗi ca sử dụng
sẽ đặc tả các yêu cầu của ngƣời dùng.
1.2.2.2. Giai đoạn phân tích
Giai đoạn phân tích quan tâm đến quá trình trừu tƣợng hóa đầu tiên (các lớp
và các đối tƣợng) cũng nhƣ cơ chế hiện hữu trong phạm vi vấn đề. Sau khi nhà
phân tích đã nhận biết đƣợc các lớp thành phần của mô hình cũng nhƣ mối quan hệ
giữa chúng với nhau, các lớp cùng các mối quan hệ đó sẽ đƣợc miêu tả bằng công
cụ biểu đồ lớp của UML. Sự cộng tác giữa các lớp nhằm thực hiện các ca sử dụng
cũng sẽ đƣợc miêu tả nhờ vào các mô hình động (dynamic models) của UML.
Trong giai đoạn phân tích, chỉ duy nhất các lớp có tồn tại trong phạm vi các khái

niệm đời thực là đƣợc mô hình hóa. Các lớp kỹ thuật định nghĩa chi tiết cũng nhƣ
giải pháp trong hệ thống phần mềm, ví dụ nhƣ các lớp cho giao diện ngƣời dùng,
cho ngân hàng dữ liệu, cho sự giao tiếp, trùng hợp..., chƣa phải là mối quan tâm
của giai đoạn này.


- 13 -

1.2.2.3. Giai đoạn thiết kế
Trong giai đoạn này, kết quả của giai đoạn phân tích sẽ đƣợc mở rộng thành
một giải pháp kỹ thuật. Các lớp mới sẽ đƣợc bổ sung để tạo thành một hạ tầng cơ
sở kỹ thuật: giao diện ngƣời dùng, các chức năng để lƣu trữ các đối tƣợng trong
ngân hàng dữ liệu, giao tiếp với các hệ thống khác, giao diện với các thiết bị ngoại
vi và các máy móc khác trong hệ thống. Các lớp thuộc phạm vi vấn đề có từ giai
đoạn phân tích sẽ đƣợc "nhúng" vào hạ tầng cơ sở kỹ thuật này, tạo ra khả năng
thay đổi trong cả hai phƣơng diện: phạm vi vấn đề và hạ tầng cơ sở. Giai đoạn thiết
kế sẽ đƣa ra kết quả là bản đặc tả chi tiết cho giai đoạn xây dựng hệ thống.
1.2.2.4. Giai đoạn lập trình
Trong giai đoạn lập trình, các lớp của giai đoạn thiết kế sẽ đƣợc mã hóa
trong một ngôn ngữ lập trình hƣớng đối tƣợng cụ thể. Phụ thuộc vào khả năng của
ngôn ngữ đƣợc sử dụng, đây có thể là một công việc khó khăn hay dễ dàng. Khi tạo
ra các mô hình phân tích và thiết kế trong UML, tốt nhất nên cố gắng né tránh việc
ngay lập tức biến đổi các mô hình này thành các dòng code. Trong những giai đoạn
trƣớc, mô hình đƣợc sử dụng để dễ hiểu, dễ giao tiếp và tạo nên cấu trúc của hệ
thống. Vì vậy, vội vàng đƣa ra những kết luận về việc lập trình có thể sẽ thành một
trở ngại cho việc tạo ra các mô hình chính xác và đơn giản. Giai đoạn xây dựng là
một giai đoạn riêng biệt, nơi các mô hình đƣợc mã hóa.
1.2.2.5. Kiểm thử
Một hệ thống phần mềm thƣờng đƣợc kiểm thử qua nhiều giai đoạn và với
nhiều nhóm kiểm thử khác nhau. Các nhóm sử dụng nhiều loại biểu đồ UML khác

nhau làm nền tảng cho công việc của mình: kiểm thử đơn vị sử dụng biểu đồ lớp và
đặc tả lớp, kiểm thử tích hợp thƣờng sử dụng biểu đồ thành phần và biểu đồ cộng
tác, và giai đoạn kiểm thử hệ thống sử dụng biểu đồ ca sử dụng để đảm bảo hệ
thống có đáp ứng đƣợc đúng các chức năng nhƣ đã yêu cầu hay không.
1.2.3 Cấu trúc thành phần của UML
Khi mô hình hóa hệ thống, chúng ta cần quan tâm tới một loạt các khía cạnh
khác nhau nhƣ về mặt chức năng (cấu trúc tĩnh của nó cũng nhƣ các tƣơng tác
động), về mặt phi chức năng (yêu cầu về thời gian, về độ đáng tin cậy, về quá trình
thực thi) cũng nhƣ về khía cạnh tổ chức (tổ chức làm việc, ánh xạ nó vào các
module...). Vì vậy một hệ thống khi mô hình hóa với UML thƣờng đƣợc miêu tả


- 14 -

trong một loạt các hƣớng nhìn khác nhau, mỗi hƣớng nhìn sẽ thể hiện một bức ảnh
ánh xạ của toàn bộ hệ thống và chỉ ra một khía cạnh riêng của hệ thống.
UML

Ca sử dụng
Logic
Thành phần
Sự đồng thời
Triển khai

Quan hệ

Phần tử mô hình

Các khung nhìn


Cấu trúc

Hành vi

Ca sử dụng Sự tương
Lớp
tác
Giao diện Máy trạng
Thành phần
thái
Lớp tích cực
Sự cộng tác

Nhóm gộp

Chú dẫn

Gói
Mô hình
Hệ thống con
Khung làm

Ghi chú

Phụ thuộc
Liên kết
Tổng quát
hóa

Biểu đồ


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

việc

Nút

Hình 3: Cấu trúc thành phần của UML
1.2.3.1. Các khung nhìn
Khung nhìn trong UML tập trung khảo sát và mô tả một khía cạnh của hệ
thống và thƣờng đƣợc thể hiện trong một số biểu đồ nhất định.
Khung nhìn
logic

Khung nhìn thành
phần

Khung nhìn
ca sử dụng
Khung nhìn
triển khai

Khung nhìn

đồng thời

Hình 4: Khung nhìn trong UML


- 15 -

 Khung nhìn ca sử dụng (use case view): mô tả các chức năng, nhiệm vụ của
hệ thống. Quan sát này thể hiện mọi yêu cầu của hệ thống. Quan sát ca sử
dụng đƣợc thể hiện trong các biểu đồ ca sử dụng và có thể ở một vài biểu đồ
trình tự, cộng tác…

 Khung nhìn thành phần (component view): xác định các modul vật lý hay
tệp mã chƣơng trình và sự liên hệ giữa chúng để tổ chức thành hệ thống
phần mềm. Quan sát thành phần đƣợc thể hiện trong các biểu đồ thành phần
và các gói.

 Khung nhìn logic (logical view): biểu diễn tổ chức logic của các lớp và các
quan hệ của chúng với nhau. Nó mô tả cấu trúc tĩnh của các lớp, đối tƣợng
và sự liên hệ của chúng thể hiện mối liên kết động thông qua sự trao đổi các
thông điệp. Quan sát đƣợc thể hiện trong các biểu đồ lớp, biểu đồ đối tƣợng,
biểu đồ tƣơng tác, biểu đồ biến đổi trạng thái. Quan sát logic tập trung vào
cấu trúc của hệ thống. Trong quan sát này 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 triển khai (deployment view): mô tả sự phân bổ tài nguyên và
nhiệm vụ trong hệ thống. Nó liên quan đến các tầng kiến trúc của phần
mềm, thƣờng là kiến trúc ba tầng, tầng giao diện, tầng logic tác nghiệp và
tầng lƣu trữ CSDL đƣợc tổ chức trên một hay nhiều máy tính khác nhau.

Quan sát triển khai bao gồm các luồng công việc, bộ xử lý và các thiết bị.
Biểu đồ triển khai mô tả các tiến trình và chỉ ra những tiến trình nào trên
máy nào.

 Khung nhìn đồng thời (concurrency 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 trong hệ thống. Quan sát này tập trung vào các nhiệm vụ tƣơng tác
với nhau trong hệ thống đa nhiệm.
1.2.3.2. Các phần tử của mô hình
UML có bốn phần tử mô hình, đó là cấu trúc, hành vi, nhóm và chú thích.


×