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ơ tuyển" 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 duyệt 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ỹ
Luận văn tốt nghiệp thạc sỹLuận văn tốt nghiệp thạc sỹ
Luận văn tốt nghiệp thạc sỹ



Nguyễn Thanh Thảo
Nguyễn Thanh Thảo Nguyễn Thanh Thảo
Nguyễn Thanh Thảo



ứứ
ứ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
ng dụng công nghệ hớng đối tợng và XML để phát triển hệ thống trên nền Webng dụng công nghệ hớng đối tợng và XML để phát triển hệ thố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


1

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 ri đợ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
Luận văn tốt nghiệp thạc sỹ
Luận văn tốt nghiệp thạc sỹLuận văn tốt nghiệp thạc sỹ
Luận văn tốt nghiệp thạc sỹ




Nguyễn Thanh Thảo
Nguyễn Thanh Thảo Nguyễn Thanh Thảo
Nguyễn Thanh Thảo



ứứ
ứ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
ng dụng công nghệ hớng đối tợng và XML để phát triển hệ thống trên nền Webng dụng công nghệ hớng đối tợng và XML để phát triển hệ thố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


2

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.


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 hm đợ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ỹ
Luận văn tốt nghiệp thạc sỹLuận văn tốt nghiệp thạc sỹ
Luận văn tốt nghiệp thạc sỹ



Nguyễn Thanh Thảo
Nguyễn Thanh Thảo Nguyễn Thanh Thảo
Nguyễn Thanh Thảo




ứứ
ứ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
ng dụng công nghệ hớng đối tợng và XML để phát triển hệ thống trên nền Webng dụng công nghệ hớng đối tợng và XML để phát triển hệ thố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


4

Tăng theo hàm mũ

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

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
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ì:
Luận văn tốt nghiệp thạc sỹ
Luận văn tốt nghiệp thạc sỹLuận văn tốt nghiệp thạc sỹ
Luận văn tốt nghiệp thạc sỹ




Nguyễn Thanh Thảo
Nguyễn Thanh Thảo Nguyễn Thanh Thảo
Nguyễn Thanh Thảo



ứứ
ứ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
ng dụng công nghệ hớng đối tợng và XML để phát triển hệ thống trên nền Webng dụng công nghệ hớng đối tợng và XML để phát triển hệ thố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


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)











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
1960 1970 1980 1990 2000

Chi phí

Thời gian

USD

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



Nguyễn Thanh Thảo
Nguyễn Thanh Thảo Nguyễn Thanh Thảo

Nguyễn Thanh Thảo



ứứ
ứ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
ng dụng công nghệ hớng đối tợng và XML để phát triển hệ thống trên nền Webng dụng công nghệ hớng đối tợng và XML để phát triển hệ thố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


6

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.
Luận văn tốt nghiệp thạc sỹ
Luận văn tốt nghiệp thạc sỹLuận văn tốt nghiệp thạc sỹ
Luận văn tốt nghiệp thạc sỹ



Nguyễn Thanh Thảo
Nguyễn Thanh Thảo Nguyễn Thanh Thảo
Nguyễn Thanh Thảo



ứứ
ứ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
ng dụng công nghệ hớng đối tợng và XML để phát triển hệ thống trên nền Webng dụng công nghệ hớng đối tợng và XML để phát triển hệ thố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


7


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.
Luận văn tốt nghiệp thạc sỹ
Luận văn tốt nghiệp thạc sỹLuận văn tốt nghiệp thạc sỹ
Luận văn tốt nghiệp thạc sỹ



Nguyễn Thanh Thảo
Nguyễn Thanh Thảo Nguyễn Thanh Thảo
Nguyễn Thanh Thảo



ứứ
ứ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
ng dụng công nghệ hớng đối tợng và XML để phát triển hệ thống trên nền Webng dụng công nghệ hớng đối tợng và XML để phát triển hệ thố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


8

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
Luận văn tốt nghiệp thạc sỹ
Luận văn tốt nghiệp thạc sỹLuận văn tốt nghiệp thạc sỹ
Luận văn tốt nghiệp thạc sỹ



Nguyễn Thanh Thảo
Nguyễn Thanh Thảo Nguyễn Thanh Thảo
Nguyễn Thanh Thảo




ứứ
ứ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
ng dụng công nghệ hớng đối tợng và XML để phát triển hệ thống trên nền Webng dụng công nghệ hớng đối tợng và XML để phát triển hệ thố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


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.









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.
Phát triển
phần mềm
mới
Phát triển
phần mềm
mới
Phát triển
phần mềm
mới
Thực hiện tái
sử dụng phần
mềm
Các công cụ
CASE
Các công cụ
CASE
Tái sử dụng
phần mềm
Quá khứ Hiện tại Tơng lai

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



Nguyễn Thanh Thảo
Nguyễn Thanh Thảo Nguyễn Thanh Thảo
Nguyễn Thanh Thảo



ứứ
ứ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
ng dụng công nghệ hớng đối tợng và XML để phát triển hệ thống trên nền Webng dụng công nghệ hớng đối tợng và XML để phát triển hệ thố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


10
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
Luận văn tốt nghiệp thạc sỹ
Luận văn tốt nghiệp thạc sỹLuận văn tốt nghiệp thạc sỹ
Luận văn tốt nghiệp thạc sỹ



Nguyễn Thanh Thảo
Nguyễn Thanh Thảo Nguyễn Thanh Thảo
Nguyễn Thanh Thảo




ứứ
ứ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
ng dụng công nghệ hớng đối tợng và XML để phát triển hệ thống trên nền Webng dụng công nghệ hớng đối tợng và XML để phát triển hệ thố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


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 ri trong
công nghiệp phần mềm.












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.


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

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
1960 1970 1980
1990 2000

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



Nguyễn Thanh Thảo
Nguyễn Thanh Thảo Nguyễn Thanh Thảo
Nguyễn Thanh Thảo



ứứ
ứ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
ng dụng công nghệ hớng đối tợng và XML để phát triển hệ thống trên nền Webng dụng công nghệ hớng đối tợng và XML để phát triển hệ thố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


12











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.

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

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



Nguyễn Thanh Thảo
Nguyễn Thanh Thảo Nguyễn Thanh Thảo
Nguyễn Thanh Thảo



ứứ
ứ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
ng dụng công nghệ hớng đối tợng và XML để phát triển hệ thống trên nền Webng dụng công nghệ hớng đối tợng và XML để phát triển hệ thố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


13
Quần áo

Nam

áo sơ mi
Quần
Comple



Thể thao


Nữ

Quần áo
Váy











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
Luận văn tốt nghiệp thạc sỹ
Luận văn tốt nghiệp thạc sỹLuận văn tốt nghiệp thạc sỹ
Luận văn tốt nghiệp thạc sỹ



Nguyễn Thanh Thảo
Nguyễn Thanh Thảo Nguyễn Thanh Thảo
Nguyễn Thanh Thảo



ứứ
ứ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
ng dụng công nghệ hớng đối tợng và XML để phát triển hệ thống trên nền Webng dụng công nghệ hớng đối tợng và XML để phát triển hệ thố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


14
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
Luận văn tốt nghiệp thạc sỹ
Luận văn tốt nghiệp thạc sỹLuận văn tốt nghiệp thạc sỹ
Luận văn tốt nghiệp thạc sỹ



Nguyễn Thanh Thảo

Nguyễn Thanh Thảo Nguyễn Thanh Thảo
Nguyễn Thanh Thảo



ứứ
ứ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
ng dụng công nghệ hớng đối tợng và XML để phát triển hệ thống trên nền Webng dụng công nghệ hớng đối tợng và XML để phát triển hệ thố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


15
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.
Luận văn tốt nghiệp thạc sỹ
Luận văn tốt nghiệp thạc sỹLuận văn tốt nghiệp thạc sỹ
Luận văn tốt nghiệp thạc sỹ



Nguyễn Thanh Thảo
Nguyễn Thanh Thảo Nguyễn Thanh Thảo
Nguyễn Thanh Thảo



ứứ
ứ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
ng dụng công nghệ hớng đối tợng và XML để phát triển hệ thống trên nền Webng dụng công nghệ hớng đối tợng và XML để phát triển hệ thố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



16
Tuy nhiên, nó cũng có thể bổ sung các thuộc 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.









Hình 1.7. Tính kế thừa
Một kiểu dẫn xuất 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;

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 xuất

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



Nguyễn Thanh Thảo
Nguyễn Thanh Thảo Nguyễn Thanh Thảo
Nguyễn Thanh Thảo



ứứ
ứ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
ng dụng công nghệ hớng đối tợng và XML để phát triển hệ thống trên nền Webng dụng công nghệ hớng đối tợng và XML để phát triển hệ thố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


17
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 thuộc 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 thuộc tính của lớp khác, lớp chấp
nhận các thuộc 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 thuộc 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.




×