Giáo trình Phân tích, thiết kế hướng đối tượng bằng UML - Đoàn Văn Ban
MỤC LỤC
MỤC LỤC .1
LỜI NÓI ĐẦU 5
CHƯƠNG I: PHƯƠNG PHÁP HƯỚNG ĐỐI TƯỢNG VÀ QUÁ TRÌNH PHÁT
TRIỂN HỆTHỐNG PHẦN MỀM .7
1.1. Giới thiệu.7
1.2. Giới thiệu vềhệthống phần mềm .8
1.2.1 Các đặc trưng của hệthống .9
1.2.2 Phân loại hệthống phần mềm .11
1.3. Sựphát triển hệthống .13
1.3.1 Chu trình phát triển hệthống.13
1.3.2 Mô hình hoá hệthống.18
1.4 Các cách tiếp cận trong phát triển phần mềm .21
1.4.1 Cách tiếp cận hướng chức năng.21
1.4.2 Cách tiếp cận hướng đối tượng.23
1.5. Quá trình phát triển phần mềm hợp nhất.25
1.6. Kết luận .33
Câu hỏi và bài tập.33
CHƯƠNG II: UML VÀ QUÁ TRÌNH PHÁT TRIỂN PHẦN MỀM .35
2.1 Tổng quát vềUML.35
2.1.1 Mục đích của UML .35
2.1.2 Quá trình phát triển phần mềm thống nhất với UML.36
2.1.3 Giới thiệu tổng quát vềUML.37
2.1.4 Các phần tửcủa UML .39
2.2 Các khái niệm cơbản của phương pháp hướng đối tượng .43
2.2.1 Các đối tượng .43
2.2.2 Lớp đối tượng.44
2.2.3 Các giá trịvà các thuộc tính của đối tượng .45
2.2.4 Các thao tác và phương thức .46
2.3 Các mối quan hệgiữa các lớp .46
2.3.1 Sựliên kết và kết hợp giữa các đối tượng .46
2.3.2 Bội số.48
2.3.3 Các vai trò trong quan hệ.49
2.3.4 Quan hệkết nhập.49
2.3.5 Quan hệtổng quát hoá.51
2.3.6 Kếthừa bội .52
2.3.7 Quan hệphụthuộc.54
2.3.7 Quan hệhiện thực hoá.54
2.4 Các gói.55
2.5 Các qui tắc ràng buộc và suy diễn.56
2.7 Rational Rose và quá trình phát triển phần mềm thống nhất.58
Bài tập và câu hỏi .59
CHƯƠNG III: BIỂU ĐỒCA SỬDỤNG PHÂN TÍCH CÁC NHU CẦU CỦA HỆ
THỐNG.60
3.1 Định nghĩa bài toán .60
3.2 Phân tích và đặc tảcác yêu cầu hệthống .63
3.2.1 Ca sửdụng.63
3.2.2 Tác nhân .64
3.2.3 Xác định các ca sửdụng và các tác nhân .65
3.2.3 Đặc tảcác ca sửdụng .67
3.3 Biểu đồca sửdụng .70
3.4 Tạo lập biểu đồca sửdụng trong Rational Rose .74
Bài tập và câu hỏi .74
CHƯƠNG IV: PHÂN TÍCH HỆTHỐNG – MÔ HÌNH KHÁI NIỆM VÀ BIỂU ĐỒ
LỚP .76
4.1 Mô hình khái niệm – mô hình đối tượng.76
4.2 Xác định các lớp đối tượng .77
4.3 Mối quan hệgiữa các lớp đối tượng .85
4.3.1 Đặt tên cho các quan hệkết hợp.86
4.3.2 Các phương pháp xác định các mối quan hệkết hợp.86
4.4 Biểu đồlớp .88
4.4.1 Các loại lớp trong biểu đồ.88
4.4.2 Mẫu rập khuôn (stereotype) của các lớp .90
4.4.3 Biểu đồlớp trong HệHBH.90
4.5 Thuộc tính của lớp.91
4.5.1 Tìm kiếm các thuộc tính.94
4.5.2 Các thuộc tính của các lớp trong HBH.97
4.6 Các phương thức của lớp .98
4.7 Ghi nhận trong từ điển thuật ngữ.99
4.8 Thực hành trong Rational Rose.100
Câu hỏi và bài tập.101
CHƯƠNG V: MÔ HÌNH ĐỘNG THÁI: CÁC BIỂU ĐỒTƯƠNG TÁC VÀ HÀNH
ĐỘNG TRONG HỆTHỐNG .103
5.1 Mô hình hoá hành vi hệthống.103
5.1.1 Các sựkiện và hành động của hệthống .104
5.1.2 Sựtrao đổi thông điệp giữa các đối tượng .106
5.2 Biểu đồtrình tự.106
5.2.1 Các thành phần của biểu đồtrình tự.107
5.2.2 Xây dựng biểu đồtrình tự.108
5.2.3 Các biểu đồtrình tựmô hình hành động của hệHBH .109
5.2.4 Ghi nhận các hoạt động của các lớp đối tượng .111
5.2.5 Các hợp đồng vềhoạt động của hệthống .112
5.3 Biểu đồtrạng thái .114
5.3.1 Trạng thái và sựbiến đổi trạng thái.115
5.3.2 Xác định các trạng thái và các sựkiện .116
5.3.3 Xây dựng biểu đồtrạng thái.117
5.4 Biểu đồhoạt động.119
5.5 Sửdụng Rational Rose đểtạo lập biểu đồtrình tự.121
5.6 Sửdụng Rational Rose đểtạo lập biểu đồtrạng thái.122
Bài tập và câu hỏi .123
CHƯƠNG VI: THIẾT KẾCÁC BIỂU ĐỒCỘNG TÁC VÀ BIỂU ĐỒTHÀNH PHẦN
CỦA HỆTHỐNG.124
6.1 Các biểu đồcộng tác .125
6.2 Thiết kếcác biểu đồcộng tác và các lớp đối tượng .129
6.2.1 Ca sửdụng thực tế.130
6.2.2 Mẫu gán trách nhiệm.131
6.2.3 Mẫu gán trách nhiệm.132
6.3 Thiết kếhệthống HBH .138
6.4 Thiết kếchi tiết các biểu đồlớp .144
6.5 Thiết kếbiểu đồcộng tác và hoàn thiện thiết kếbiểu đồlớp.152
6.5.1 Xây dựng biểu đồcộng tác.152
6.5.2 Hoàn thiện thiết kếbiểu đồlớp.152
Bài tập và câu hỏi .153
CHƯƠNG VIII: KIẾN TRÚC HỆTHỐNG VÀ PHÁT SINH MÃ TRÌNH.154
7.1 Kiến trúc của Hệthống.154
7.2 Biểu đồthành phần.157
7.3 Biểu đồtriển khai .160
7.4 Ánh xạcác thiết kếsang mã chương trình .161
7.4.1 Tạo lập các định nghĩa lớp từnhững thiết kếbiểu đồlớp.161
7.4.2 Định nghĩa hàm từbiểu đồcộng tác.163
7.5 Danh sách một sốlớp được định nghĩa trong C++ .165
7.6 Thực hành trên Rose.168
7.6.1 Xây dựng biểu đồthành phần .168
7.6.2 Xây dựng biểu đồtriển khai.168
7.6.3 Phát sinh mã trình bằng Rose.168
Bài tập và câu hỏi .174
TÀI LIỆU THAM KHẢO.176
Danh sách thuật ngữvà các từviết tắt .179
c. các thành phần d. một mô tả e. phi chức năng Phân tích, thiết kế hướng đối tượng bằng UM L Đoàn Văn Ban - 175 - 7.6 Chọn từ danh sách dưới đây những thuật ngữ thích hợp để điền vào các chỗ [(…)] trong đoạn văn mô tả về biểu đồ thành phần. Biểu đồ thành phần được xem như là tập các biểu tượng thành phần biểu diễn cho các [(1)] vật lý trong một [(2)]. Ý tưởng cơ bản của biểu đồ [(1)] là tạo ra cho những [(3)] và phát triển một bức tranh chung về các thành phần của [(2)]. Chọn câu trả lời: a. hệ thống b. người thiết kế c. thành phần vật lý d. một mô tả Phân tích, thiết kế hướng đối tượng bằng UM L Đoàn Văn Ban - 176 - TÀI LIỆU THAM KHẢO [1] Binder R. V., Testing Object-Oriented Systems: Models, Patterns and Tools, Addison-Wesley, 1999. [2] Booch G., Rumbaugh J. and Jacobson I., The Unified Software Development Process, Addision – Wesley, 1998. [3] Booch G., Rumbaugh J. and Jacobson I., The Unified Modeling Language User Guide, Addision – Wesley, 1999. [4 ] Coad, P., Yourdon E., Object-Oriented Analisys, Prentice Hall, Englewood Cliffs, 1991. [5] Coad, P., Yourdon E., Object-Oriented Design, Prentice Hall, Englewood Cliffs, 1991. [6] Date C. J. , An Introduction to Database Systems, Eddison-Wesley, 2000 [7] Hussain K M., Hussain D., Information Systems: Analysis, Design and Implementation, McGraw-Hill, 1998. [8] Fong J., Siu B., Multimedia, Knowledge-Based & Object-Oriented Databases, Springer, 1996. [9] Kendall P., Introduction to System Analysis and Design: A structured Approach, Wm. C. Brown Publishers, 2001. [10] Larman C., Applying UML and Patterrns: An Instruction to Object-Oriented Analysis and Design, Prentice Hall, 1997. [11] Liang Y., From use cases to classes: a way of building object model with UML, Information and Software Technology, 45 (2003) 83-93, www.elservier.com/locate/infsof. [12] Maier D., Object-Oriented Database Theory: An Introduction and Indexing in OODBS, Database Hall of Fame,2001, [13] Meyer B., Object-Oriented Software Construction, Prentice Hall, Englewood Cliffs, 1988. [14] Michael B., William P., Object – Oriented Modeling and Design for Database Applications, Prentice Hall, New Jersey 1998 [15] Oestereich B., Developing Software with UML, Object-Oriented Analysis and Design in Practice, Addision – Wesley, 2000. [16] OMG, “The OMG Unified Modeling Language Specification”, http:// www.omg.org/uml , 1999. [17] Quatrani T., Visual Modeling With Rational Rose and UML, Addison-Wesley, http:// www.rational.com, 2000. [18] Rumbaugh J., Blaha M., Premerlani V., Eddy F., Lorensen V., Object-Oriented Modeling and Design, Prentice-Hall, NJ 1991. Phân tích, thiết kế hướng đối tượng bằng UM L Đoàn Văn Ban - 177 - [19] Sommerville I., Software Engineering, 4th Edition, Addition Wesley, 1994 [20] Vafadarafshar R., Document a brief introduction of ObjectStore, 2002, [21] Zhiming L., Object-Oriented Software Development Using UML, UNU /IIST, Macau 2001. [22] Đặng Văn Đức, Phân tích thiết kế hướng đối tượng bằng UML (Thực hành với Rational Rose), NXB Khoa học và Kỹ thuật, Hà Nội 2002. [23] Đặng Văn Hưng, Đoàn Văn Ban, Nguyễn Ngọc Thuần, Maintaining the amount of global information in local states of processes of distributed systems, Proceeding of the National Centre for Science and Technology of Vietnam, Volume 9, No 2, 1997. [24] Đoàn Văn Ban, Phân tích, thiết kế và lập trình hướng đối tượng, NXB Thống Kê 1997. [25] Đoàn văn Ban, Sử dụng phương pháp phân tích hướng đối tượng để phát triển những hệ thống lớn tích hợp, Tạp chí Tin học và Điều khiển học, Tập 13, số 4, 1997 (1-10). [26] Đoàn văn Ban, Một số tính chất của quá trình thừa kế kiểu trong mô hình cơ sở dữ liệu hướng đối tượng, Tạp chí Tin học và Điều khiển học, Tập 15, số 3, 1999 (1-7). [27] Đoàn văn Ban, Hồ Văn Hương, Các giải pháp kết nối Web với cơ sở dữ liệu, Tạp chí Tin học và Điều khiển học, Tập 16, số 2, 2000 (25-31). [28] Đoàn văn Ban, Một số tính chất của quá trình thừa kế kiểu trong mô hình cơ sở dữ liệu hướng đối tượng, Tạp chí Tin học và Điều khiển học, Tập 16, số 2, 2000 (25-31). [29] Đoàn văn Ban, Tính đúng đắn của lược đồ cơ sở dữ liệu hướng đối tượng, Tạp chí Tin học và Điều khiển học, Tập 16, số 3, 2000 (7-15). [30] Đoàn Văn Ban, Hoàng Quang, Chuyển đổi các biểu thức đại số quan hệ thành câu truy vấn trong mô hình dữ liệu hướng đối tượng, Tạp chí Khoa học và Công nghệ, Tập 40-Số ĐB, 2002 (120-129). [31] Đoàn văn Ban, Nguyễn Hữu Ngự, Hồ Văn Hương, A Formal Specification of the Correctness Criteria for Concurrent Executions of a Transaction System in Real- Time Databases, Tạp chí Tin học và Điều khiển học, Tập 19, số 3, 2003 (263-273). [32] Đoàn Văn Ban, Cơ sở dữ liệu hướng đối tượng, giáo trình Khoa CNTT, HN 2003 [33] Đoàn Văn Ban, Lập trình hướng đối tượng với Java, Nhà xuất bản Khoa học, Hà Nội, 2003. [34] Đoàn Văn Ban, Lê Mạnh Thạnh và Hoàng Bảo Hùng, Sự tương đương trong biểu diễn ngôn ngữ truy vấn OQL và đại số đối tượng, Tạp chí Tin học và Điều khiển học, Tập 20, số 2, 2004 ( 11 trang). Phân tích, thiết kế hướng đối tượng bằng UM L Đoàn Văn Ban - 178 - [35] Nguyễn Văn Ba, Phân tích và thiết kế hệ thống thông tin, Nhà xuất bản Đại học Quốc gia Hà Nội, 2003. [36] Ban điều hành Đề án 112 Chính phủ, Chương trình tổng thể Cải cách hành chính, Giải pháp khả thi hệ thống quản lý văn bản và hồ sơ công việc của Tỉnh (Tp) (Tài liệu mẫu), Hà Nội 2004. [37] Ban điều hành Đề án 112 Chính phủ, Chương trình tổng thể Cải cách hành chính, Giải pháp khả thi hệ thống thông tin tổng hợp kinh tế - xã hội phục vụ điều hành trên địa bàn Tỉnh (Tp) (Tài liệu mẫu), Hà Nội 2004. [38] Ban điều hành Đề án 112 Chính phủ, Chương trình tổng thể Cải cách hành chính, Xây dựng khung trang thông tin điện tử phục vụ điều hành của các Bộ, Tỉnh (Tp) (Tài liệu mẫu), Hà Nội 2004. Phân tích, thiết kế hướng đối tượng bằng UM L Đoàn Văn Ban - 179 - Danh sách thuật ngữ và các từ viết tắt 1. Từ viết tắt tiếng Anh UML Unified Modeling Language OOA Object Oriented Analysis OOD Object Oriented Design API Application Programming Interface CASE Computer Aided Software Engineering OMT Object Modeling Technique OOSE Object-Oriented Software Engineering OCL Object Constraints Language GRASP General Responsibility Assignment Software Patterrn ODMG Object Data Management Group USPD Unified Software Development Process RUP Rational Unified Process UP Unified Process OCL Object Constraints Language GUI Graphics User Interface 2. Từ viết tắt tiếng Việt CNTT Công nghệ thông tin CSDL Cơ sở dữ liệu NSD Người sử dụng CNPM Công nghệ phần mềm HBH Hệ thống bán hàng CSDLQH Cơ sở dữ liệu quan hệ CSDLHĐT Cơ sở dữ liệu hướng đối tượng QTCSDL Hệ quản trị cơ sở dữ liệu 3. Các thuật ngữ Việt – Anh Bao gói Encapsulation Biểu đồ ca sử dụng Use case diagram Biểu đồ cộng tác Collaboration diagram Biểu đồ hành động Activity diagram Biểu đồ lớp Class diagram Biểu đồ thành phần Component diagram Biểu đồ trạng thái State diagram, Biểu đồ triển khai Deployment diagram Biểu đồ trình tự Sequence diagram Biểu đồ đối tượng Object diagram Bộ phận kiểm duyệt séc Check Authorization Service Bộ phận kiểm duyệt thẻ tín dụng Credit Authorization Service Bội số, bản số (cơ số) Multiplicity Các hệ thống kỹ thuật Technical Systems Phân tích, thiết kế hướng đối tượng bằng UM L Đoàn Văn Ban - 180 - Các hệ thống nghiệp vụ Business Systems Các hệ thống nhúng thời gian thực Embedded Real_time Systems Cách tiếp cận hướng đối tượng Object-Oriented Approach Cách tiếp hướng chức năng Functional-Oriented Approach Che giấu thông tin Information hidding Chỉ số, chỉ mục Index Chia để trị Devide and conquer Cố kết Cohension Công nghệ thế hệ thứ tư 4GT Fourth Generation Technology Đa xạ, đa hình Polymorphism Định danh Identifier (ID) Dữ liệu thành phần Data member Được hướng dẫn bởi ca sử dụng Use-case-driven Giao diện Interface Gói Package Hàm thành phần Member function Hệ thống phần mềm Software System Hệ thống thông tin Information System Hiện thực hoá Realisation Hướng thủ tục Procedure-Oriented Huỷ tử Destructor Kế thừa Inheritance Kế thừa bội Multiple inheritance Kế thừa đơn Single inheritance Kết nhập chia sẻ Shared Aggregation Kết nhập hợp thành Composition Aggregation Kết nhập thông thường Normal aggregation Khả năng duy trì hoạt động Maintainability Khung công việc Framework Liên kết Link Lớp Class Lớp biên Boundary class Lớp điều khiển Control class Lớp hiện thực Instantiated class Lớp mẫu Template class Lớp tham số hoá Parameterized Class Lớp thực thể Entity class Lớp tích cực Active class Lớp tiện ích Class utility Luồng Thread Mẫu rập khuôn Stereotype Mô hình thác nước Waterfall model Mô hình xoán ốc Spiral model Nạp chồng Overloading Nguyên mẫu Prototype Phạm vi quan sát của thuộc tính Attribute visibility Phương thức Method Quan hệ kết hợp Association relationship Phân tích, thiết kế hướng đối tượng bằng UM L Đoàn Văn Ban - 181 - Quan hệ kết nhập Aggregation relationship Quan hệ phụ thuộc Depedency relationship Quan sát logic Logic view Quan sát thành phần Component view Quan sát theo ca sử dụng Use case view Quan sát triển khai Deployement view Quan sát tương tranh Concurrency view Qui tắc ràng buộc Constraint rule Qui tắc suy dẫn Derivation rule Siêu dữ liệu Meta data Sự kết hợp Association Tác nhân Actor Tập trung vào kiến trúc Architecture-centric Tên của vai trò Role name Thành phần Compơonent Thao tác Operation Thông điệp Message Thuộc tính Attribute Tính hiệu quả Efficiency Tính tiện dụng Usability Tính tin cậy Dependability Toán tử tạo lập (huỷ tử) Constructor Tổng quát hóa Generalization Từ điển thuật ngữ Glossary Tuyển tập Collection Vật phẩm Artifact
File đính kèm:
- Giáo trình Phân tích, thiết kế hướng đối tượng bằng UML - Đoàn Văn Ban.pdf