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

Ứng dụng công nghệ hướng đối tượng và xml để phát triển hệ thống trên nền web

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.49 MB, 135 trang )

III

Mục lục
Lời cảm ơn ...................................................................................... I
Tóm tắt kết quả.........................................................................II
Mục lục......................................................................................... III
Bảng ký hiệu viết tắt ..........................................................VII
Danh sách hình vẽ, bảng biểu ....................................... VIII
Mở đầu............................................................................................. 1
Chơng 1. Phân tích thiết kế hớng đối tợng
hớng mẫu .................................................................................... 3
1.1. Tái sử dụng phần mềm ......................................................................3
1.1.1. Tái sử dụng phần mềm là gì? ....................................................................3
1.1.2. Khủng hoảng tái sử dụng phần mềm hớng đối tợng .............................3
1.1.3. Lợi ích của cách tiếp cận hớng đối tợng................................................4
1.1.4. Tầm quan trọng của việc tái sử dụng phần mềm.......................................4
1.1.5. Các nguyên tắc của kỹ nghệ phần mềm hớng đối tợng.........................5
1.1.6. Mục tiêu của tái sử dụng phần mềm hớng đối tợng ..............................8
1.1.7. Sự tiến triển của tái sử dụng phần mềm hớng đối tợng .......................10
1.2. Mô hình tái sử dụng phần mềm hớng đối tợng............11
1.2.1. Nguyên lý tảng băng trôi trong phát triển phần mềm hớng đối tợng..11
1.2.2. Đặc điểm của tái sử dụng phần mềm hớng đối tợng ...........................12
1.2.3. Vòng đời quan trọng của tái sử dụng phần mềm hớng đối tợng .........20
1.3. Qui trình tái sử dụng phÇn mỊm...............................................21
1.3.1. MiỊn øng dơng ........................................................................................21


IV
1.3.2. Ranh giíi miỊn ........................................................................................21
1.3.3. M«i tr−êng miỊn......................................................................................21
1.3.4. KiÕn tróc miền cụ thể ..............................................................................23


1.3.5. Sự phân lớp tái sử dụng phần mềm..........................................................23
1.3.6. Các qui trình cơ bản ................................................................................24

Chơng 2. XMl - Ngôn ngữ trợ giúp phát triển phần
mềm trên nền web................................................................... 27
2.1.1. XML là gì? .............................................................................................27
2.1.2. Sự khác nhau chính giữa XML và HTML...............................................28
2.1.3. Sử dụng XML .........................................................................................29
2.1.4. Cấu trúc và cú pháp của XML ................................................................30
2.1.5. Định nghĩa kiểu tài liệu .........................................................................32
2.2. phát triển ứng dụng với xML.....................................................38
2.2.1. Kiểu dữ liệu trong XML .........................................................................38
2.2.2. Không gian tên XML .............................................................................39
2.2.3. Lợc đồ XML .........................................................................................42
2.3. Mô hình DOM ........................................................................................47
2.3.1. DOM là gì ?.............................................................................................47
2.3.2. Cái gì không phải là DOM ......................................................................49

Chơng 3. phát triển ứng dụng với bài toán tuyển
dụng cán bộ công chức, viên chức................................51
3.2. Thực trạng công tác tuyển dụng..........................................52
3.2.1. Cơ cấu tổ chức của Bộ Lao động Thơng binh và X hội ...................52
3.2.2. Đối tợng và vị trí tuyển dông.................................................................53


V
3.2.3. Những vấn đề tồn tại hiện nay trong công tác tuyển dụng......................54
3.2.4. Hoạt động tuyển dụng .............................................................................55
3.2.5. Các chức năng nghiệp vụ.........................................................................64
3.3. Giải pháp ................................................................................................65

3.4. Mô hình hoá và nắm bắt yêu cầu hệ thống ......................65
3.4.1. Xác định các tác nhân của hệ thống........................................................65
3.4.2. Xác định các ca sử dụng..........................................................................66
3.4.3. Phát triển các mô hình ca sử dụng...........................................................68
3.5. Mô tả chi tiết các ca sử dụng ...................................................71
3.5.1. Gói ca sử dụng "Xác định chỉ tiêu tuyển dụng"......................................71
3.5.2. Gói ca sử dụng "Quản lý hồ sơ dự tuyển" ...............................................74
3.5.3. Gói ca sư dơng "S¬ tun".......................................................................77
3.5.4. Gãi ca sư dơng "Thi tuyển" .....................................................................80
3.5.5. Gói ca sử dụng "Ra quyết định tuyển dơng"...........................................81
3.6. Ph©n tÝch tõng ca sư dơng..........................................................83
3.6.1. Ca sư dơng Yêu cầu báo cáo nhân sự ..................................................83
3.6.2. Ca sử dụng Báo cáo nhân sự ................................................................85
3.6.3. Ca sử dụng Tổng hợp báo cáo nhân sự ................................................87
3.6.4. Ca sử dụng Phân chỉ tiêu .....................................................................88
3.6.5. Ca sử dụng Thông báo tuyển dụng ......................................................90
3.6.6. Ca sư dơng “NhËn hå s¬” ........................................................................91
3.6.7. Ca sư dơng “CËp nhËt kÕt qu¶ xÐt dut”................................................93
3.6.8. Ca sư dơng “Tỉng hợp báo cáo hồ sơ dự tuyển .....................................95
3.6.9. Ca sử dơng “Tra cøu hå s¬”.....................................................................96


VI
3.7. Thiết kế biểu đồ lớp cho các ca sử dụng ............................98
3.7.1. Biểu đồ lớp ca sử dụng Yêu cầu báo cáo nhân sự................................98
3.7.2. Biểu đồ lớp ca sử dụng Báo cáo nhân sự..............................................98
3.7.3. Biểu đồ lớp ca sử dụng Tổng hợp báo cáo ...........................................99
3.7.4. Biểu đồ lớp ca sử dụng Phân chỉ tiêu...................................................99
3.7.5. Biểu đồ lớp ca sử dụng Thông báo tuyển dụng..................................100
3.8. Cài đặt và thử nghiệp ..................................................................100

3.8.1. Công nghệ sử dụng ................................................................................100
3.8.2. Cài đặt và thử nghiệp.............................................................................100

Kết luận ..................................................................................... 107
Tài liệu tham khảo............................................................... 108
phụ lục........................................................................................ 110


VII

Bảng ký hiệu viết tắt
Từ viết tắt

Viết đầy đủ

CASE

Computer Aider System Engineering

CMM

Capability Maturity Model

CORBA

Common Object Request Broker
Architecture

DOM


Document Object Modeling

DTD

Document Type Definition

HTML

Hypertext Markup Language

HTTP

Hypertext Transport Protocol

OMG

Object Management Group

SEI

Software Engineering Institute

SGML

Standard Generalized Markup
Language

WML

Wireless Markup Language


XML

eXtensible Markup Language


VIII

Danh sách hình vẽ, bảng biểu
Tên hình vẽ, bảng biểu

Trang

Hình 1.1. Khủng hoảng phát triển phần mềm .....................................................4
Hình 1.2. Giảm bớt giá thành phần cứng máy tính bằng cách kết hợp chặt chẽ
tái sử dụng các thành phần với kiến trúc .............................................5
Hình 1.3. Các mục tiêu của tái sử dụng phần mềm.............................................9
Hình 1.4. Sự tiến triển của tái sử dụng phần mềm ............................................11
Hình 1.5. Tảng băng phần mềm ........................................................................12
Hình 1.6. Khái niệm trừu tợng hoá..................................................................13
Hình 1.7. Tính kế thừa.......................................................................................16
Hình 1.8. Đa kế thừa..........................................................................................17
Hình 1.9. Các lớp kế thừa ..................................................................................18
Hình 1.10. Sử dụng lại các thuộc tính kế thừa...................................................18
Hình 1.11. Sự quá tải và nạp chồng...................................................................19
Hình 1.12. Thực thi đa hình...............................................................................19
Hình 1.13. Mối quan hệ giữa miền, ranh giới và môi trờng............................22
Hình 1.14. Thứ bậc của các miền, miền con và các hệ thống ...........................22
Hình 1.15. Tác động của việc thay đổi các yêu cầu..........................................23
Hình 2.1. Cấu trúc tài liệu XML .......................................................................30

Hình 2.2. Cấu trúc mô tả bởi DOM...................................................................49
Hình 3.1. Cơ cấu tổ chức Bộ Lao động Thơng binh và X hội ....................53
Hình 3.2. Biểu đồ hoạt động tuyển dụng cán bộ công chức, viên chức ............63
Bảng 3.3. Bảng tham chiếu các chức năng nghiệp vụ .......................................64
Hình 3.4. Mô hình ca sư dơng møc tỉng qu¸t ...................................................68


IX
Hình 3.5. Mô hình ca sử dụng mức cao.............................................................68
Hình 3.6. Mô hình gói ca sử dụng Xác định chỉ tiêu tuyển dụng..................69
Hình 3.7. Mô hình gói ca sử dụng Quản lý hồ sơ dự tuyển...........................69
Hình 3.8. Mô hình gói ca sử dụng Sơ tuyển ..................................................70
Hình 3.9. Mô hình gói ca sử dụng Thi tuyển.................................................70
Hình 3.10. Mô hình gói ca sử dụng Ra quyết định tuyển dụng.....................71
Hình 3.11. Biểu đồ tuần tự ca sử dụng Yêu cầu báo cáo nhân sự..................83
Hình 3.12. Sơ đồ liên kết ca sử dụng Yêu cầu báo cáo nhân sự....................85
Hình 3.13. Biểu đồ tuần tự ca sử dụng Báo cáo nhân sự................................85
Hình 3.14. Sơ đồ liên kết ca sử dụng Báo cáo nhân sự ..................................86
Hình 3.15. Biểu đồ tuần tự ca sử dụng Tổng hợp báo cáo nhân sự................87
Hình 3.16. Sơ đồ liên kết ca sử dụng Tổng hợp báo cáo ...............................88
Hình 3.17. Biểu đồ tuần tự ca sử dụng Phân chỉ tiêu.....................................88
Hình 3.18. Sơ đồ liên kết ca sử dụng Phân chỉ tiêu .......................................89
Hình 3.19. Biểu đồ tuần tự ca sử dụng Thông báo tuyển dụng......................90
Hình 3.20. Sơ đồ liên kết ca sử dụng Thông báo tuyển dụng ........................91
Hình 3.21. Biểu đồ tuần tự ca sử dụng Nhận hồ sơ .......................................92
Hình 3.22. Sơ đồ liên kết ca sử dụng Nhận hồ sơ..........................................93
Hình 3.23. Biểu đồ tuần tự ca sử dụng Cập nhật kết quả xét duyệt...............93
Hình 3.24. Sơ đồ liên kết ca sử dụng Cập nhật kết quả xét duyệt .................94
Hình 3.25. Biểu đồ tuần tự ca sử dụng Tổng hợp báo cáo hồ sơ dự tuyển ....95
Hình 3.26. Sơ đồ liên kết ca sử dụng Tổng hợp báo cáo hồ sơ dự tuyển.......96

Hình 3.27. Biểu đồ tuần tự ca sử dụng Tra cứu hồ sơ....................................96
Hình 3.28. Sơ đồ liên kết ca sử dụng Tra cøu hå s¬” ......................................97


X
Hình 3.29. Biểu đồ lớp ca sử dụng yêu cầu báo cáo nhân sự.........................98
Hình 3.30. Biểu đồ lớp ca sử dụng Báo cáo nhân sự......................................98
Hình 3.31. Biểu đồ lớp ca sử dụng Tổng hợp báo cáo ...................................99
Hình 3.32. Biểu đồ lớp ca sử dụng Phân chỉ tiêu...........................................99
Hình 3.33. Biểu đồ lớp ca sử dụng Thông báo tuyển dụng..........................100


Luận văn tốt nghiệp thạc sỹ

1

Nguyễn Thanh Thảo

Mở đầu
Chúng ta đang sống trong những năm đầu của thể kỷ XXI, với bao thành tựu
của Khoa học Kỹ thuật đặc biệt là Công nghệ thông tin. Trên thế giới công nghệ
thông tin đ phát triển và ứng dụng mạnh mẽ từ những năm 1960 của thể kỷ trớc, tại
Việt nam Công nghệ thông tin cũng đ phát triển và ứng dụng rộng r i đợc một vài
thập niên. Tuy nhiên, sự phát triển và ứng dụng Công nghệ thông tin tại nớc ta chỉ
thực sự nh một ngành kinh tế mũi nhọn vào những năm cuối của thế kỷ trớc. Với
vai trò to lớn mà công nghệ thông tin đem lại cho con ngời, ngời ta đ nhận định
thế kỷ XXI là kỷ nguyên của công nghệ thông tin. Thấy đợc vai trò của công nghệ
thông tin, Đảng và Nhà nớc ta đ có những chủ trơng, chính sách đẩy nhanh việc
tin học hoá trong sản xuất, kinh tế, trong quản lý hành chính Nhà nớc,... Công nghệ
thông tin không ngừng phát triển và ngày càng có nhiều công nghệ mới ra đời hỗ trợ

con ngời trong việc triển khai, phát triển các ứng dụng một cách thuận lợi, dễ dàng.
Trong đó có công nghệ hớng đối tợng và công nghệ XML đợc xem là công nghệ
tơng lai trong việc triển khai ứng dụng của công nghệ thông tin. Trên cơ sở đó tôi đ
chọn đề tài ứng dụng công nghệ hớng đối tợng và XML để phát triển hệ
thống trên nền Web.
Mục đích của tôi khi thực hiện đề tài là nghiên cứu phơng pháp phân tích
thiết kế hớng đối tợng từ đó nghiên cứu việc thiết kế mẫu để phát triển các ứng
dụng, sử dụng phơng pháp mô hình hoá UML trong phân tích thiết kế hớng đối
tợng và nghiên cứu công nghệ XML trong việc biểu diễn, lu trữ dữ liệu để phát
triển ứng dụng trên nền Web.
Nội dung luận văn gồm 03 chơng:
Chơng 1. Phân tích thiết kế hớng đối tợng hớng mẫu
Chơng này sử dụng kết quả nghiên cứu phân tích thiết kế hớng đối tợng để
nghiên cứu qui trình, mô hình tái sử dụng phần mềm hớng đối tợng theo hớng
nghiên cứu để thiết kế mẫu.
Chơng 2. XML Ngôn ngữ trợ giúp phát triển phần mềm trên nền Web
Chơng này nghiên cứu ngôn ngữ XML trong việc phát triển ứng dụng trên
nền Web

ứng dụng công nghệ hớng đối tợng và XML để phát triển hƯ thèng trªn nỊn Web


Luận văn tốt nghiệp thạc sỹ

2

Nguyễn Thanh Thảo

Chơng 3. Phát triển ứng dụng với bài toán Tuyển dụng cán bộ công
chức, viên chức

Chơng này sử dụng các kết quả đ nghiên cứu đợc để triển khai phân tích
thiết kế theo phơng pháp hớng đối tợng, sử dụng phơng pháp mô hình hoá UML
và công cụ Rational Rose để phân tích thiết kế bài toán và sử dụng công nghệ lập
trình DotNet và công nghệ XML để phát triển ứng dụng.

ứng dụng công nghệ hớng đối tợng và XML để phát triĨn hƯ thèng trªn nỊn Web


Chơng 1
Phân tích thiết kế hớng đối tợng hớng mẫu
1.1. Tái sử dụng phần mềm

1.1.1. Tái sử dụng phần mềm là gì?
Tái sử dụng phần mềm là quá trình bổ sung hoặc cập nhật các hệ thống phần
mềm trên cơ sở sử dụng các tài nguyên phần mềm sẵn có. Các tài nguyên này có thể
đợc xác định nh các thành phần phần mềm, các đối tợng, các mô hình phân
tích/thiết kế yêu cầu phần mềm, kiến trúc miền, lợc đồ cơ sở dữ liệu, m nguồn, tài
liệu, hớng dẫn sử dụng, các mẫu, các kịch bản kiểm thử và các kế hoạch. Tái sử
dụng phần mềm có thể xảy ra trong một hệ thống phần mềm, qua các hệ thống phần
mềm tơng tự hoặc trong các hệ thống phần mềm có sự khác biệt lớn [14].

1.1.2. Khủng hoảng tái sử dụng phần mềm hớng đối tợng
Các phơng pháp phát triển phần mềm truyền thống nh phân tích thiết kế
hớng cấu trúc bao gồm các sơ đồ phân r chức năng, biểu đồ phân cấp, biểu đồ
luồng dữ liệu và biểu đồ chuyển trạng thái nhng vẫn không kìm h m đợc cơn
khủng hoảng gia tăng chi phí. Phân tích thiết kế hớng dữ liệu, phân tích thiết kế
hớng cấu trúc và các biến thể của chúng giải quyết các thao tác và dữ liệu nh
những thành phần riêng biệt và kết hợp với nhau một cách lỏng lẻo. Các thao tác
quyết định cấu trúc của hệ thống, còn dữ liệu là thành phần quan trọng thứ yếu. Chi
phí cho việc phát triển phần mềm tăng theo hàm mũ (Hình 1.1) [14].

Cách tiếp cận hớng đối tợng trong phát triển phần mềm đợc a thích hơn là
vì nó dựa vào các lớp có khả năng tái sử dụng. Các đối tợng là các thành phần phần
mềm riêng biệt bao gói cả dữ liệu và thủ tục, kết hợp các phép toán và dữ liệu tạo
thành các đối tợng mẫu. Các hệ thống đợc chia nhỏ dựa trên các đối tợng. Dữ liệu
qui định cấu trúc của phần mềm [14].


Luận văn tốt nghiệp thạc sỹ

Nguyễn Thanh Thảo

4

Bẻ ngang đờng cong nhờ lập
kế hoạch tái sử dụng

Tăng theo hàm mũ

ã Tiết kiệm thời gian
ã Quản lý rủi ro
ã Hoàn thiện chất lợng và
độ tin cậy
ã Tăng năng suất lao động

Chi
phí

1960

1970


1980

1990

2000

Hình 1.1. Khủng hoảng phát triển phần mềm

1.1.3. Lợi ích của cách tiếp cận hớng đối tợng
Lợi ích chủ yếu của cách tiếp cận hớng đối tợng là khả năng phát triển phần
mềm nhanh hơn, rẻ hơn và đáng tin cậy hơn bằng việc sử dụng lại các thành phần
phần mềm. Cách tiếp cận hớng đối tợng làm giảm cả chi phí và thời gian cần thiết
để triển khai phần mềm thông qua sự kế thừa và khẳ năng sử dụng lại. Cách tiếp cận
hớng đối tợng cải thiện [14]:
Tính tơng tác giữa các phần thông qua các lớp đối tợng chuẩn sử dụng trong
các hệ thống phần mềm khác nhau thông qua tính kế thừa.
Tính bảo trì đợc và tin cậy của các hệ thống phần mềm nhận đợc thông qua
việc bao gói thông tin và tác vụ trong các đối tợng.
Tính mềm dẻo thông qua đa hình làm đơn giản hoá việc phát triển phần mềm
Tính sẵn sàng của các đối tợng miền cụ thể và các thành phần phần mềm có
khả năng sử dụng lại đợc lu trữ.

1.1.4. Tầm quan trọng của việc tái sử dụng phần mềm
Ngành công nghiệp phần mềm đ chứng minh rằng, việc tái sử dụng phần
mềm đem lại kết quả đầy ý nghĩa bằng việc giảm chi phí, thời gian và công sức trong
khi vẫn làm tăng chất lợng, năng suất và khả năng bảo trì của các hệ thống phần
mềm trong suốt vòng đời của phần mềm. Tái sử dụng là một lợi thế vì:

ứng dụng công nghệ hớng đối tợng và XML để phát triển hệ thống trªn nỊn Web



Luận văn tốt nghiệp thạc sỹ

Nguyễn Thanh Thảo

5

Tăng năng suất
Nâng cao chất lợng
Tiết kiệm chi phí
Rút ngắn lịch trình phát triển phần mềm
Giảm chi phí bảo trì
Tăng tính khả chuyển
Góp phần vào sự phát triển các thành phần phần mềm dùng chung
Tăng hiệu năng
Tái sử dụng phần mềm ngày nay đợc xem nh nguyên tắc thống nhất của tiến
trình kỹ nghệ phần mềm. Tái sử dụng phần mềm có thể đợc phát triển theo một cách
thức tơng tự nh phát triển sản phẩm phần cứng máy tính (Hình 1.2)

Chi phí

USD

1960

1970

1980


1990

2000

Thời gian

Hình 1.2. Giảm bớt giá thành phần cứng máy tính bằng cách kết hợp chặt chẽ tái sử
dụng các thành phần với kiến trúc

1.1.5. Các nguyên tắc của kỹ nghệ phần mềm hớng đối tợng
Các nguyên tắc của kỹ nghệ phần mềm hớng đối tợng đ trở thành công
thức để đạt đợc mục tiêu đ đề ra. Nguyên tắc đó là: sự trừu tợng hoá, che dấu
thông tin, tính đầy đủ, tính kiểm thử, mô-đun hoá, cục bộ hoá và đồng dạng hoá.

a. Che dấu thông tin
Che dấu thông tin là sự bảo vệ các chi tiết thực thi bên trong phần mềm hớng
đối tợng. Cần thận trọng trong che dấu thông tin từ các đối tợng có thể lạm dụng

ứng dụng công nghệ hớng đối tợng và XML để phát triển hƯ thèng trªn nỊn Web


Luận văn tốt nghiệp thạc sỹ

6

Nguyễn Thanh Thảo

nó. Đây là sự phân biệt giữa cái gì what và nh thế nào how. Cái gì là thông tin
cốt lõi có thể sử dụng đợc cho tất cả mọi ngời. Thông tin về cái gì bao gồm các
thông tin đặc trng kỹ thuật và thông tin giao diện. Thông tin nh thế nào có thể

chỉ sử dụng đợc đối với một số nhóm hạn chế. Thông tin nh thế nào bao gồm
các chi tiết thực thi nh là cấu trúc dữ liệu.
Che dấu thông tin hỗ trợ và đòi hỏi trừu tợng hoá bằng việc giữ bí mật các chi
tiết. Che dấu thông tin làm cho chất lợng tăng lên và hỗ trợ khả năng tái sử dụng,
khả năng di chuyển và khả năng bảo trì, ngăn chặn sự nhập nhằng từ phía ngời
dùng, khuyến khích đảm bảo dữ liệu chính xác từ đầu vào và tăng cờng khả năng tin
cậy của hệ thống. Che dấu thông tin cũng làm tăng tính cục bộ hoá và thờng bao
gồm dữ liệu đính kèm, vì lý do đó mà tính mô-đun hoá tốt và mục tiêu sửa chữa dễ
dàng dễ dàng đ đạt đợc.
Ví dụ, không cần thiết phải biết nhiều về các chức năng kỹ thuật điện tử trong máy
tính của chúng ta. Các chức năng này là ẩn đối với chúng ta, chúng ta học bàn phím
để biết nhập dữ liệu nh thế nào và lấy kết quả nh thế nào mặc dù đôi khi chúng ta
phải học các phần mềm để có thể đạt đợc các kết quả mong đợi.

b. Tính đầy đủ
Tính đầy đủ đảm bảo tất cả các yêu cầu đ bao hàm trong hệ thống và mọi
khía cạnh của vấn đề đ đợc xem xét một cách đầy đủ. Các kỹ s phần mềm phải
xem xét và lập kế hoạch cho tất cả các vấn đề có thể xảy ra và giải pháp cho từng
khía cạnh. Những vấn đề đó có thể bao hàm cả các yêu cầu thay đổi trong tơng lai.

c. Tính kiểm thử đợc
Tính kiểm thử đợc có nghĩa là một mô-đun, nhóm các mo-đun hoặc một hệ
thống phần mềm hoàn chỉnh thực sự có thể kiểm thử đợc. Một hệ thống có thể kiểm
thử ®−ỵc cung cÊp mét thiÕt kÕ cã thĨ thÈm tra viƯc kiĨm thư mét hƯ thèng sÏ x¸c
thùc nÕu nã đợc thiết kế một cách đúng đắn. Các xác thực hệ thống bao gồm cả các
yêu cầu của khách hàng. Các mô-đun độc lập là nhân tố quan trọng cho mét hƯ thèng
cã thĨ thÈm tra. Do ®ã, ®Ĩ kiĨm thử đợc tốt thì các mô-đun phải đợc liên kết với
nhau một cách lỏng lẻo và chứa dữ liệu.

ứng dụng công nghệ hớng đối tợng và XML để phát triển hƯ thèng trªn nỊn Web



Luận văn tốt nghiệp thạc sỹ

7

Nguyễn Thanh Thảo

d. Tính mô-đun hoá đợc
Khả năng mô-đun hoá đợc định nghĩa bằng khả năng chia nhỏ một chơng
trình thành các đơn vị nhỏ hơn, có thể quản lý đợc. Mô-đun hoá phần mềm hệ thống
hớng đối tợng chia không gian giải pháp thành các đơn vị nhỏ hơn. Các mô-đun
đợc nhóm lại quanh một kiểu dữ liệu và các đối tợng của kiểu đó. Chỉ có các
chơng trình con chứa các thao tác cho các đối tợng của một kiểu nào đó mới cã thĨ
nhãm cïng nhau. VÝ dơ kiĨu m¶ng cã thĨ đợc đóng gói cùng với chơng trình con
để tính giá trị trung bình các thành phần của mảng.
Trong hệ thống phần mềm mô-đun hoá tốt, các mô-đun mức trên thờng chứa
cái cần xử lý (xử lý cái gì) trong khi các mô-đun mức thấp hơn chứa cách thức xử lý
(xử lý nh thế nào). Điều này ngụ ý rằng, các mô-đun mức thấp trong nhóm mô-đun
chứa nhiều chi tiết thực thi hơn. Nói cách khác, các mô-đun mức trên hầu hết là các
mô-đun trừu tợng hoá, trong khi các mô-đun mức dới hầu hết là các chi tiết.
Sự mô-đun hoá tốt cũng ngụ ý, rằng các mô-đun đợc liên kết một cách lỏng
lẻo. Mức độ liên kết chính là thớc đo cho sự phụ thuộc giữa các mô-đun. Dữ liệu
dùng chung đợc chia sẻ cũng làm tăng cờng sự phụ thuộc lẫn nhau giữa các môđun. Quá trình xử lý chỉ yêu cầu dữ liệu thông qua các đối số hoặc dữ liệu cục bộ
trong một mô-đun làm giảm khả năng liên kết. Sự liên kết lỏng lẻo giữa các mô-đun
đảm bảo tính kiểm thử đợc đối với các mô-đun và tăng cờng mục tiêu mô-đun hoá.
Điều đó cũng ngụ ý rằng nếu có hai mô-đun, gọi là mô-đun A và mô-đun B. Mô-đun
A có bị thay đổi thì mô-đun B cũng không bị ảnh hởng bởi sự thay đổi tạo ra trong
mô-đun A. Do đó, bên cạnh việc đề cao mục tiêu mô-đun hoá, sự liên kết lỏng lẻo
giữa các mô-đun cũng đạt đợc mục tiêu sửa chữa đợc.

Ngoài sự liên kết lỏng lẻo, còn có một nhân tố khác cần thiết cho mô-đun hoá
tốt hơn. Nhân tố này gọi là cục bộ hoá dữ liệu, bằng cách cục bộ hoá dữ liệu chỉ
trong các mô-đun cần thiết dữ liệu đó. Sự kết hợp ba nguyên tắc: mô-đun hoá, kiểm
thử đợc và cục bộ hoá làm cho việc sửa đổi dễ dàng hơn. Chỉ dữ liệu có quan hệ ở
mức cao hay dữ liệu đính kèm mới đợc đặt trong một mô-đun. Do đó, để có khả
năng mô-đun hoá tốt, các mô-đun liên kết lỏng phải chứa các dữ liệu cục bộ và đính
kèm ở quan hệ mức cao.

ứng dụng công nghệ hớng đối tợng và XML để phát triĨn hƯ thèng trªn nỊn Web


Luận văn tốt nghiệp thạc sỹ

8

Nguyễn Thanh Thảo

e. Tính cục bộ hoá
Tính cục bộ hoá bao hàm việc chỉ đặt dữ liệu đính kèm ở quan hệ mức cao
trong các mô-đun có thao tác tới dữ liệu này. Chỉ dữ liệu cần thiết mới đợc xử lý
giữa các mô-đun và chỉ thông qua các đối số. Điều này đảm bảo rằng, dữ liệu đợc
toàn vẹn. Dữ liệu cục bộ hoá đem lại sự độc lập và liên kết lỏng lẻo giữa các mô-đun.
Các nhân tố này phải đợc thực hiện để có đợc tính mô-đun hoá tốt. Do đó, các
nhân tố quan trọng cho việc mô-đun hoá tốt là:
Cục bộ hoá dữ liệu.
Liên kết lỏng lẻo giữa các mô-đun
Không có việc truyền dữ liệu giữa các mô-đun, ngoại trừ truyền thông qua các
đối số.
Che dấu thông tin.


f. Tính đồng dạng
Tính đồng dạng bao gồm việc sử dụng các đặc trng tốt, phù hợp và đ đợc
chuẩn hoá trong tất cả các giai đoạn phát triển phần mềm hớng đối tợng. Tính
đồng dạng có thể đợc bắt đầu từ giai đoạn phân tích yêu cầu và đợc áp dụng thông
suốt quá trình thực thi. Bao gồm cả việc kiểm thử và bảo trì, đồng thời cũng hàm ý
dữ liệu có nghĩa và tên các chơng trình cần phải đợc thiết lập. Các thành viên trong
đội phát triển cần phải tuân theo chuẩn đ đợc thiết lập trong suốt vòng đời của phần
mềm. Kết quả của giao ớc này là phần mềm đồng dạng, dễ đọc và hiểu đợc.

1.1.6. Mục tiêu của tái sử dụng phần mềm hớng đối tợng
Mục tiêu của tái sử dụng phần mềm hớng đối tợng là sản xuất ra phần mềm
tốt hơn, nhanh hơn và rẻ hơn bằng việc sử dụng lại các tài nguyên đ đợc kiểm thử
đúng đắn. Hình 1.3 phác hoạ tiến trình tái sử dụng phần mềm trong quá khứ, hiện tại
và tơng lai. Trong quá khứ khuynh hớng phát triển phần mềm thờng thực hiện từ
đầu khi một yêu cầu đợc tiếp nhận. Hiện nay, sử dụng công cụ CASE trong phát
triển phần mềm nhng vẫn còn phát triển mới phần mềm, còn trong tơng lai để giảm
chi phí, ngời phát triển sẽ cần sử dụng lại phần mềm đ có sẵn để phát triển.
Một trong các mục tiêu của tái sử dụng phần mềm là sản xuất ra các tài
nguyên có thể sử dụng lại cho các hệ thống độc lập và các ứng dụng có khả năng

ứng dụng công nghệ hớng đối tợng và XML để phát triển hệ thống trên nền Web


Luận văn tốt nghiệp thạc sỹ

Nguyễn Thanh Thảo

9

ghép nối (ứng dụng plug and play). Một mục tiêu khác là xác định kiến trúc chung,

thiết lập kho chứa và tích hợp sử dụng lại trong tiến trình phát triển phần mềm.
Quá khứ

Phát triển
phần mềm
mới

Hiện tại

Phát triển
phần mềm
mới

Các công cụ
CASE

Tơng lai
Phát triển
phần mềm
mới
Thực hiện tái
sử dụng phần
mềm

Tái sử dụng
phần mềm

Các công cụ
CASE


Hình 1.3. Các mục tiêu của tái sử dụng phần mềm
Trong giai đoạn lập kế hoạch, ta nên tập hợp lại dữ liệu và xác định lại chính sách
và cơ chế chuẩn bị, các thủ tục và các chuẩn cho việc tái sử dụng phần mềm. Trong
giai đoạn phân tích miền, ta tập hợp các tài nguyên, phạm vi của miền, tiến hành
phân tích miền và xây dựng các mô hình đối tợng cho việc tái sử dụng. Trong giai
đoạn chuẩn bị kho tài nguyên ta xác định và tìm các công cụ cần thiết, liệt kê các tài
nguyên, kiểm thử và xác nhận các tài nguyên, sau đó đa chúng vào kho. Trong giai
đoạn kỹ nghệ miền (miền bài toán, vấn đề) ta tích hợp phần mềm, tiến hành kỹ nghệ
lĩnh vực và tái kỹ nghệ, xác định các tài nguyên mới, tập hợp chúng vào kho.
Một mục tiêu sâu xa hơn của tái sử dụng phần mềm là trích ra các tài nguyên
có khả năng tái sử dụng từ các phần mềm hiện có để đa vào phát triển một phần
mềm mới. Điều này rất quan trọng đối với việc xây dựng các quy trình phát triển
phần mềm và sản xuất ra các sản phẩm có khả năng tái sử dụng. Các quy trình phát
triển phần mềm xác định cách thức phần mềm đợc phát triển và đảm bảo các
phơng pháp phù hợp đợc sử dụng để bảo trì chất lợng và tính toàn vẹn thiết kế. Kỹ
nghệ sản xuất phần mềm tập trung nhiều hơn vào các kỹ năng của thiết kế kiến trúc,
các ngôn ngữ, đặc trng nền tảng và tri thức về ứng dụng. Điều này có tầm quan
trọng nh nền tảng của việc tạo dựng các hệ thống phần mềm có thể tồn tại và phát
triển đợc trong thế giới tái sử dụng phần mềm.

ứng dụng công nghệ hớng đối tợng và XML để phát triĨn hƯ thèng trªn nỊn Web


Luận văn tốt nghiệp thạc sỹ

10

Nguyễn Thanh Thảo

1.1.7. Sự tiến triển của tái sử dụng phần mềm hớng đối tợng

Tái sử dụng phần mềm đợc định nghĩa nh việc sử dụng lại các tài nguyên
của các hệ thống đ tồn tại để xây dựng một phần mềm mới. Do đó, tái sử dụng phần
mềm là kết quả của sự hoán đổi mô hình trong kỹ nghệ phần mềm, từ việc xây dựng
một hệ thống đơn tới việc xây dựng một lớp các hệ thống có liên quan.
Tái sử dụng phần mỊm kh«ng sinh ra h«m qua hay chËm chÝ h«m nay. Từ khi
ra đời của ngành công nghiệp phần mềm cho tíi chiÕn tranh thÕ giíi thø 2, viƯc sư
dơng lại đ xuất hiện trong dạng thức này hay dạng thức khác của sự phát triển phần
mềm. Vào những năm 1950, 1960, 1970 các nhà phát triển phần mềm đ đề cập tới
cái gọi là mô-đun. Những năm 1980 khái niệm tái sử dụng đ đợc áp dụng trong các
tiếp cận sản xuất phi cấu trúc. Những năm 1990, đợc phÐp sư dơng c¸ch tiÕp cËn
kiĨu cÊu tróc trong t¸i sử dụng phần mềm (Hình 1.4).
áp dụng cách tiếp cận hớng đối tợng tạo ra phần mềm tái sử dụng một cách
dễ dàng hơn. Có nhiều phơng pháp hớng đối tợng có giá trị, mặc dù không có một
chuẩn đơn lẻ nào cho các cách tiếp cận hớng đối tợng. Nhóm quản lý đối tợng
OMG đợc thành lập để tạo ra chuẩn cho cách tiếp cận hớng đối tợng. OMG
chuyên tạo khả năng cho các ứng dụng có thể phát tán trên mạng và đợc viết ra bởi
các ngôn ngữ lập trình khác nhau để rồi cùng làm việc với nhau.
OMG đ tập hợp đợc hơn 750 đại diện từ các công ty và tổ chức liên quan tới
máy tính. Họ tạo ra các đặc trng nhng không phải là phần mềm cho vấn đề tái sử
dụng. Các đặc trng này luôn sẵn sàng đợc bổ sung thêm một cách tự do từ bất cứ
công ty thành viên nào. Các thành viên OMG gặp nhau 6 tháng/lần để đề xuất các
quy trình tiêu chuẩn. Hiện OMG đ phát triển đợc CORBA 2.0 dùng trong tái sử
dụng. Mặc dù công nghệ này đợc hình thành một cách độc lập bởi World Wide
Web, Netscape và một số công ty khác đ tạo ra sự kết hợp giữa CORBA và Java nh
các ứng dụng Web trong tơng lai.
OMG có kế hoạch hỗ trợ cho việc chuẩn bị giới thiệu phiên bản mới của CORBA
là CORBA 3.0, có khả năng xây dựng các thành phần. Một thành phần khác bổ sung
thêm của CORBA 3.0 là CORBABeans cũng sẽ đợc đa ra, nó cho phép tạo ra các

ứng dụng công nghệ hớng đối tợng và XML để phát triển hệ thống trên nền Web



Luận văn tốt nghiệp thạc sỹ

Nguyễn Thanh Thảo

11

thành phần gọn nhẹ, có khả năng tái sử dụng để có thể đem áp dụng rộng r i trong
công nghiệp phần mềm.
ã Phi cấu trúc
ã Phát triển
phần mềm
mới

1960

ã Tiếp cận
hớng cấu
trúc
ã Đợc gọi là
các mô-đun
ã Tái sử dụng
phần mềm
không chính
thức
ã Phát triển
phần mềm
mới


1970

ã Kỹ nghệ
phần mềm
ã Các công cụ
CASE
ã Chuẩn hoá
dữ liệu
ã Phổ biến cơ
sở dữ liệu
ã Công nghệ
hớng đối
tợng
ã Tái sử dụng
phần mềm có
cấu trúc
1980

ã Kỹ nghệ
miền
ã Cơ sở hạ tầng
ã Phổ biến các
kho tài
nguyên
ã Tái sử dụng
phần mềm có
hệ thống
ã OMG
ã CORBA
ã Giao diện đối

tợng
ã Client/Server
1990

ã Chuẩn hóa
tái sử dụng
phần mềm
ã Công nghệ
đối tợng
phân tán
ã Phổ biến
Internet
ã Tái sử dụng
giao diện đối
tợng

2000

Hình 1.4. Sự tiến triển của tái sử dụng phần mềm

1.2. Mô hình tái sử dụng phần mềm hớng đối tợng

1.2.1. Nguyên lý tảng băng trôi trong phát triển phần mềm hớng đối
tợng
Chi phí của việc phát triền phần mềm hớng đối tợng là nhìn thấy đợc,
nhng chi phí cho việc bảo trì thì không thể nhận thấy đợc trong suốt vòng đời của
phần mềm. Hình 1.5 chỉ ra hình ảnh một tảng băng của vấn đề, ngời ta cần x đô-la
để phát triển phần mềm, nhng phải cần tới 5x đô-la để bảo trì nó. Tổng số 5x đô-la
này sẽ biến thiên tuỳ thuộc vào thời gian tồn tại của phần mềm. Việc bảo trì trong
vòng đời của phần mềm không chỉ là sửa các lỗi phát sinh của hệ thống mà còn là bổ

sung thêm các đặc trng mới.
Một thiết kế phần mềm tốt sẽ làm giảm chi phí bảo trì phần mềm, và quá trình
thiết kế phần mềm bằng việc tái sử dụng đồng nghĩa với việc chi phí này còn giảm
hơn nữa.

ứng dụng công nghệ hớng đối tợng và XML để phát triển hệ thống trªn nỊn Web


Luận văn tốt nghiệp thạc sỹ

12

Nguyễn Thanh Thảo

Hình 1.5. Tảng băng phần mềm

1.2.2. Đặc điểm của tái sử dụng phần mềm hớng đối tợng
Các đặc điểm của khái niệm hớng đối tợng là sự trừu tợng hoá, sự phân
lớp, sự bao gói và che dấu thông tin, tính kế thừa và đa hình.

a. Sự trừu tợng hoá
Trừu tợng hoá (abstraction) có nghĩa là tập trung vào các điểm cốt yếu quan
trọng trong khi lại bỏ các chi tiết không quan trọng. Kỹ nghệ phần mềm tốt đợc
phân cấp bởi mức độ trừu tợng hoá. Sự phân cấp dựa trên các chức năng, tiến trình,
dữ liệu và/hoặc đối tợng quan tâm. Đây là kỹ thuật chính và thờng đợc sử dụng
trong quản lý tính phức hợp của kỹ nghệ phần mềm. Trong phần mềm hớng đối
tợng, các kỹ s phần mềm trớc tiên tập trung vào bản thiết kế để đẩy mạnh khả
năng mô-đun hoá tốt của các thực thể chính. Với số ít các chi tiết thực thi phải lo
lắng, các kỹ s có thể tập trung vào các mô-đun what trong hệ thống. Các mô-đun
mức trên cần đợc thiết kế trớc tiên. Các mô-đun mức thấp trở nên ít trừu tợng hơn

với nhiều chi tiết thực thi đợc cài đặt.
Sự trừu tợng hoá giúp đỡ thiết kế phần mềm trong đó các kỹ s phần mềm có
thể bỏ qua các chi tiết không cần thiết và tập trung vào không gian các vấn đề. Sự
trừu tợng hoá có quan hệ gần gũi với mục tiêu sửa chữa đợc và đẩy mạnh mô-đun
hoá tốt.

ứng dụng công nghệ hớng đối tợng và XML để phát triển hệ thống trên nền Web


Luận văn tốt nghiệp thạc sỹ

Nguyễn Thanh Thảo

13

Quần áo

Nam
ã áo sơ mi
ã Quần
ã Comple...
...

Nữ
ã Quần áo
ã Váy....

Thể thao

Hình 1.6. Khái niệm trừu tợng hoá


b. Che dấu thông tin
Che dấu thông tin (hiding information) và trừu tợng hoá trên thực tế là tơng
đồng, ngoại trừ một điều rằng che dấu thông tin bao chứa cả khả năng truy cập dữ
liệu. Chỉ có các thao tác của đối tợng mới có thể nhìn thấy các chơng trình ứng
dụng, còn dữ liệu và các thao tác thực thi đợc che dấu. Do đó, không có một thao tác
nào khác có thể thực thi ngoài đặc tả trong giao diện. Che dấu thông tin làm cho các
ứng dụng trở nên mềm dẻo hơn, mở rộng hơn và cung cấp nhiều m nguồn có thể sử
dụng lại. Đó là cơ chế che dấu m nguồn và dữ liệu khỏi các chơng trình ứng dụng
và bảo vệ chúng khỏi các tác động làm các thay đổi thực thi trong các tầng thấp của
hệ thống. Che dấu thông tin cho phép ngời phát triển phần mềm tạo đợc một giao
diện sáng sủa hơn giữa sự đặc tả và thực thi của các thao tác. Kết quả là chơng trình
ứng dụng hớng đối tợng hoạt động hiệu quả hơn, độc lập với quá trình thực thi các
thao tác của chúng.

c. Sự phân lớp
Phân lớp (classifier) là quá trình nhóm các đối tợng có các đặc tính (dữ liệu)
và các hành vi (phơng thức hay thao tác) tơng tự nhau lại với nhau. Các lớp đó định
rõ các phơng thức và dữ liệu của đối tợng. Một lớp tơng tự nh một khai báo kiểu
trong qui ớc lập trình hớng cấu trúc. ở đây một đối tợng là một thành phần của

ứng dụng công nghệ hớng đối tợng và XML để phát triển hệ thống trên nền Web


Luận văn tốt nghiệp thạc sỹ

14

Nguyễn Thanh Thảo


lớp cũng nh một biến là một thành phần của kiểu trong lập trình hớng cấu trúc là vì
tất cả các đối tợng của một lớp cụ thể chia sẻ các hành vi mở rộng và cấu trúc bên
trong là nh nhau, chúng sẽ phản hồi lại cuộc gọi của phơng thức theo cùng một
cách thức.
Lớp đối tợng sẽ xác định đối tợng, toàn bộ các đối tợng và không gì khác
ngoài đối tợng. Một đối tợng có thể đợc phân ra thành nh actor, server hay
agent. Sự phân chia đó phụ thuộc vào đối tợng đó liên quan nh thế nào tới các đối
tợng xung quanh. Đối tợng actor không chịu một tác động của thao tác nào nhng
nó cũng chỉ thao tác trên các đối tợng khác, cho nên các actor có hớng trở thành
các thực thể tự trị rõ rệt. Server chỉ chịu tác động của các thao tác chứ không thể thao
tác trên các đối tợng khác. Agent là một đối tợng thực thi thao tác thay một đối
tợng khác.
Một lớp đợc đặc tả bởi tập các giá trị và các thao tác áp dụng cho các đối
tợng của lớp. Do đó các bộ cấu trúc, bộ lựa chọn và bộ lặp áp dụng ở đây giống nh
cách thức phân loại các thao tác của đối tợng. Ví dụ myCar là một lớp các bộ phận
thực hiện các thao tác nh:
Khởi động
Đổi hớng
Dừng
Tất cả các đại diện của lớp này nh là yourCar, hisCar, herCar,... đều áp dụng
các nguyên tắc giống nhau. Do đó lớp Car phục vụ nh một nhân tố cho các thao tác
chung nhất của xe hơi. Trong một số trờng hợp, lớp các đối tợng có thể đợc ẩn
danh. Một loại lớp đặc biệt gọi là lớp trừu tợng, trong đó các đối tợng không thể
đợc tạo ra. Lớp trừu tợng đợc sử dụng chủ yếu nh bản mẫu cho các lớp khác
thông qua việc sử dụng tính kế thừa.

d. Bao gói
Bao gói (encapsulation) có nghĩa rằng một đối tợng bao gồm cả trạng thái và
thao tác có thể thực thi trên trạng thái đó. Gói các thủ tục và dữ liệu này là nền tảng
của khái niệm hớng đối tợng. Các hành động trên trạng tái của đối tợng đợc gọi

là tác vụ và đợc khởi tạo bằng cách gửi thông điệp tới đối tợng. Dữ liệu đ đợc

ứng dụng công nghệ hớng đối tợng và XML để phát triển hệ thèng trªn nỊn Web


Luận văn tốt nghiệp thạc sỹ

15

Nguyễn Thanh Thảo

bao gói trong một đối tợng thì không dễ dàng gì các đối tợng bên ngoài có thể truy
cập đợc mà chỉ các phơng thức của chính đối tợng đó mới có thể thao tác với nó.
Các tác vụ đợc một phơng thức khác của đối tợng hoặc một thủ tục từ đối tợng
khác trong ứng dụng gọi. Với sự bao gói thì ngời dùng không cần lo lắng xem các
chức năng của đối tợng thực thi nh thế nào mà đơn giản chỉ cần biết đối tợng đó
có thể thực hiện đợc hay không. Ngời dùng có thể tin tởng điều đó, khi một đối
tợng đợc bổ sung vào m nguồn đ tồn tại thì không thể đoán trớc đợc những
điều gì sẽ không thể xảy ra đối với các phần khác của chơng trình.
Sự bao gói lại đối lại với sự trừu tợng hoá. Trừu tợng hoá tập trung vào các
hành vi dễ nhận biết của đối tợng, còn sự bao gói tập trung vào sự thực thi của các
hành vi. Sù bao gãi che dÊu c¸c chi tiÕt thùc thi, ngời dùng ở bất cứ nơi đâu thông
qua trừu tợng hoá chỉ có thể nhận biết đợc bản chất của hành vi.

e. Tính kế thừa
Kế thừa (inheritance) là khả năng kết hợp các đặc điểm chung của tất cả các
thành phần của lớp (kiểu) trong đối tợng. Trong ứng dụng hớng đối tợng, lớp con
của một đối tợng có thể kế thừa các đặc điểm của lớp (kiểu) mà nó theo. Do đó, khi
một kiểu mới của đối tợng đợc khai báo thì một đối tợng tơng tự cũng tồn tại.
Trong trờng hợp này, ta có thể đơn giản khai báo kiểu đối tợng mới từ kiểu đối

tợng đ tồn tại sau đó có thể bổ sung các thuộc tính mới cho đối tợng hoặc sửa đổi
thuộc tính đ tồn tại. Khi kiểu đối tợng mới đ đợc khai báo từ kiểu đối tợng cũ,
thì kiểu đối tợng mới sẽ kế thừa các thuộc tính của kiểu đối tợng cũ.
Một kiểu mới có thể đợc khai báo từ một kiểu đối tợng đ tồn tại. Kiểu mới
nhận đợc sau đó chỉ định kiểu dẫn xuất từ kiểu cơ sở. Kiểu dẫn xuất thờng bao
gồm các thuộc tính và phơng thức mới mà chúng không có trong kiểu cơ sở. Nó
khai báo lại hay nạp chồng quá trình thực thi của phơng thức đ đợc khai báo trong
kiểu lớp dới sau khi nạp chồng hoàn tất khai báo cụ thể. Bất kể phơng thức nào
không đợc nạp chồng bởi kiểu dẫn xuất sẽ đợc tự động kế thừa kiểu đối tợng của
lớp dới gần nhất. Tơng tự nh vậy, kiểu dẫn xuất cũng kế thừa tất cả các thuộc tính
của của các kiểu đối tợng dới nó. Trong khi kiểu dẫn xuất có thể định nghĩa lại các
phơng thức kế thừa thì các thuộc tính kế thừa của nó không thể định nghĩa lại đợc.

ứng dụng công nghệ hớng đối tợng và XML để phát triển hệ thống trên nền Web


Luận văn tốt nghiệp thạc sỹ

Nguyễn Thanh Thảo

16

Tuy nhiên, nó cịng cã thĨ bỉ sung c¸c thc tÝnh míi. VÝ dụ các đối tợng trong mô
phỏng thờng cần có khả năng chứa các đối tợng tuần tự khác.
VehicleObj = OBJECT(QueueObj)
....
END OBJECT;
Kiểu đối tợng VenhicleObj kế thừa các thuộc tính của QueueObj, trong đó
QueueObj là kiểu cơ sở của VehicleObj và VehicleObj là kiểu dẫn xuất của
QueueObj. Một kiểu cơ sở có thể nhiều kiểu đối tợng mới dẫn xuất từ nó.

Các kiểu đối tợng mới cũng có thể đợc khai báo lại theo các kiểu dẫn xuất
khác. Vị trí các kiểu đối tợng nằm trong nhiều lớp đợc biểu diễn trong hình 1.7
Bất kể kiểu đối tợng nào là kiểu cơ sở của SomeObject hoặc kiểu phía dới
nhiều mức SomeObject đều đợc xem là kiểu nằm dới của SomeObject và
SomeObject chứa tất cả các thuộc tính của các kiểu nằm dới. Dựa trên hình 1.7 ở
trên ta thấy VehicleObj là cơ sở của AircraftObj, HelicoperObj là kiểu dẫn xuất của
AircraftObj.

Các đối tợng đơn giản
Kiểu bên dới

Kiểu cơ bản, nằm dới

Kiểu dÉn xt

H×nh 1.7. TÝnh kÕ thõa
Mét kiĨu dÉn xt cã thể có nhiều hơn một kiểu cơ sở, khi đó ngời ta gọi là
đa kế thừa. Hình 1.8 minh hoạ khái niệm đa kế thừa.
MissleObj=OBJECT(AircraftObj, WeaponObj)
....
END OBJECT;

ứng dụng công nghệ hớng đối tợng và XML để phát triển hệ thống trªn nỊn Web


Luận văn tốt nghiệp thạc sỹ

17

Nguyễn Thanh Thảo


Các đối tợng đơn giản

Hình 1.8. Đa kế thừa
Khi một kiểu đối tợng mới đợc khai báo theo cách này, nó sẽ có một bản
sao các trờng, phơng thức của các kiểu cơ sở. Nếu kiểu đối tợng mới đợc dẫn
xuất ra từ các kiểu cơ sở mà các kiểu này có bất cứ một thuộc tính hay một phơng
thức nào trùng tên thì sẽ xảy ra sự nhập nhằng, tức là khi tham chiếu tới một thuộc
tính hay một phơng thức đợc dẫn xuất từ các kiểu cơ sở, nó không biết tham chiÕu
tíi thc tÝnh hay ph−¬ng thøc cđa kiĨu c¬ sở nào. Điều này đợc khắc phục nếu xác
định rõ thuộc tính hay phơng thức đợc kế thừa từ kiểu cơ sở nào, bằng cách ấn định
một giá trị tham chiếu của kiểu đợc dẫn xuất và sau đó các đối tợng đa kế thừa
tham chiếu riêng biệt tới mỗi kiểu cơ sở. Khi đó thông tin đợc dẫn xuất sẽ đợc
tham chiếu.
Sự kế thừa cho phép một lớp chấp nhËn c¸c thc tÝnh cđa líp kh¸c, líp chÊp
nhËn c¸c thc tÝnh gäi lµ líp con trong khi líp chøa các thuộc tính đợc chấp nhận
gọi là lớp cha (Hình 1.10)
Mối quan hệ giữa các lớp con và các lớp cha của chúng đợc gọi là sự phân
cấp lớp.
Các hệ thèng cho phÐp mét líp kÕ thõa c¸c thc tÝnh của một lớp duy nhất thì
hệ thống đó hỗ trợ kế thừa đơn, trong khi các hệ thống cho phép kế thừa từ nhiều hơn
một lớp cha có hỗ trợ ®a kÕ thõa. Sư dơng tÝnh kÕ thõa cã thĨ dễ dàng tạo ra các lớp
mới mà không cần phải định nghĩa lại những thành phần chung giữa chúng.

ứng dụng công nghệ hớng đối tợng và XML để phát triển hƯ thèng trªn nỊn Web


×