• Hành vi của hệ thống – các chức năng mà hệ thống cần cung cấp – được lưu trong một mô hình use case. • Biểu đồ use case[r]
(1)Chương 2.
Ngơn ngữ mơ hình hóa thống (UML)
GV: Lê Thị Minh Nguyện Email: nguyenltm@huflit.edu.vn
Phân tích thiết kế hướng đối tượng
Nội dung
1 Giới thiệu UML
2 Unified modeling language (uml)
3 UML giai đoạn chu trình phát triển phần mềm
Phân tích thiết kế hướng đối tượng
Giới thiệu UML
1.1 UML gì?
1.2 Sơ lược lịch sử phát triển UML 1.3 Các khung nhìn UML
Phân tích thiết kế hướng đối tượng
1.1 UML gì?
Phân tích thiết kế hướng đối tượng
•“Three Amigos”: Ivar Jacobson, Grady Booch và Jim Rumbaugh đã hợp các phương pháp OO và tạo ngôn ngữ mơ hình hóa ch̉n UML
•Là ngơn ngữ dùng để •Trực quan hóa (Visualizing)
•Xác định rõ (Đặc tả - Specifying)
•Xây dựng (Constructing)
•Tài liệu hóa (Documenting)
(2)UML ngơn ngữ trực quan
Phân tích thiết kế hướng đối tượng
UML ngôn ngữ thống trực quan giúp công việc xử lý quán, giảm thiểu lỗi xảy
◦Có thứ mà khơng mơ hình hóa khơng khó hiểu
◦Mơ hình trợ giúp hiệu việc liên lạc, trao đổi
Trong tổ chức
Bên ngồi tổ chức
UML ngơn ngữ để đặc tả
Phân tích thiết kế hướng đối tượng •UML xây dựng mơ hình xác, rõ ràng đầy
đủ
UML ngôn ngữ để xây dựng HT
Phân tích thiết kế hướng đối tượng •Các mơ hình UML kết nối trực tiếp với nhiều ngôn
ngữ lập trình
•Ánh xạ sang Java, C++, C#, Visual Basic…
•Các bảng RDBMS kho lưu trữ OODBMS
•Cho phép kỹ nghệ xi (chuyển UML thành mã nguồn)
•Cho phép kỹ nghệ ngược (xây dựng mơ hình hệ thống từ mã nguồn)
UML ngơn ngữ để tài liệu hóa
Phân tích thiết kế hướng đối tượng
UML giúp tài liệu hóa kiến trúc, yêu cầu, kiểm thử, lập kế hoạch dự án, quản lý việc bàn giao phần mềm
Use Case Diagram
Actor A Use Case
Use Case
Use Case Actor B
Class Diagram
Grp Fi l e re a d ( ) o p e n ( ) c re a te ( ) fi l l Fi l e ( ) re p Re p o s i to ry n a m e : ch ar * = re a d Do c( ) re a d Fi l e( ) (fro m Pe rsi ste nce ) Fi l e M g r fe tc h Doc ( ) s o rtBy Nam e( )
Do c u m en tL ist a d d ( ) d e l e te( )
Do c u m en t n a m e : i nt d o c i d : in tn u m Fi el d : int g e t( )o p e n ( ) c l o s e ( ) re a d ( ) s o rtFi l eL is t( ) c re a te ( )fi l l Do c um ent( ) fL i s t
1
Fi l e L i st a d d ( )d e l e te( )
1
Fi l e re a d ( )
re a d () fi ll th e c o d e
Sequence Diagram
us er mainWndfileMgr :
FileMgr repos itory doc ument : Doc ument gFile : Do c vi ew req ues t ( )
2 : fe tch Doc( ) : c re ate ( )
4 : c re ate ( ) : re a dDo c ( ) : fi l l Doc umen t ( )
7 : re a dFi le ( ) : fi l l Fil e ( ) : s o rtBy Name ( ) Ô ạđẳ Ă èẹ ááƯ ằ ỡ Ă ụấằèẹ ẽỹáđ éắ ợ ạđẳ è Ô ááƯ èỉỡ ạđẳ ấẳ Ă ẳ Ôằ ụấằèẹ ấẳ éắợàẻ ấẳ àĂ èỉ èáĐÃẻ Ô Ãễằ ẵấễẹ áĂ áâ Deployment Diagram
Wi n d o w95 ạđẳỹáđ ơả ú èắ đ.EXE Wi n d o wsNT ạđẳỹáđ Êứ.EXE Wi n d o wsNT
Wi n d o ws9
So l a ri s ẳ ạử EXE
Al p h aUNIX IBM M a i n fram e àƠ èáÊ èẵẳ ạử
Wi n d o ws9 ĨợỊổüĨợ ¾ ơđấĨÍ èắợểẩẩ ỏ è - ầờÌÌựì 95 : ẫŨộóầỉ¾ ðậợ - ầờÌÌựì NT: ầầựẽỊĨư- ầỪÍƯỎ ĨốỎẫ: ầầựẽ ỊĨư ĨÈÌặầỉẫĨ Ị Ĩư, ẫẽỎẫ ỊĨư
- IBM áịẻèÃạ: àƠèá ẳạử, ẵ ẳạử Cõc biu đồ khâc
(3)3.2 Lịch sử phát triển UML Vào 1994, có 50 phương pháp mơ hình hóa hướng đối
tượng:
◦Fusion, Shlaer-Mellor, ROOM, Class-Relation,Wirfs-Brock,
Coad-Yourdon, MOSES, Syntropy, BOOM, OOSD, OSA, BON, Catalysis, COMMA, HOOD, Ooram, DOORS …
“Meta-models” tương đồng với Các ký pháp đồ họa khác
Quy trình khác khơng rõ ràng
Cần chuẩn hóa thống phương pháp
9
3.2 Lịch sử phát triển UML
Phân tích thiết kế hướng đối tượng 10
•UML chuyên gia hướng đối
tượng hợp kỹ thuật họ
vào năm 1994:
• Booch91 (Grady Booch): Conception, Architecture
• OOSE (Ivar Jacobson): Use cases • OMT (Jim Rumbaugh): Analysis
•Thiết lập phương thức thống
nhất để xây dựng “vẽ” yêu cầu thiết kế hướng đối tượng
trong trình PTTK phần mềm
UML công nhận chuẩn chung vào năm 1997
3.2 Lịch sử phát triển UML
Phân tích thiết kế hướng đối tượng 11
UML Partners’ Expertise
UML 1.0
(Jan ‘97)
UML 1.1
(Sept ‘97)
UML 1.5
(March, ‘03)
UML 2.0
(2004)
Other Methods
Booch ‘91 OMT - OOSE
Booch ’93 OMT -
Public Feedback
Unified Method 0.8
(OOPSLA ’95)
UML 0.9
(June ‘96) and UML 0.91(Oct ‘96)
3.3 Khung nhìn UML
Phân tích thiết kế hướng đối tượng 12 Khung nhìn mơ hình có ý nghĩa với người tham gia + Architectural View
Process View Logical View
Implementation View Programmers Software management
Performance, scalability, throughput System integrators
Analysts/Designers
Structure
Deployment View System topology, delivery, installation, communication System engineering
Use-Case View
End-user
(4)Khung nhìn Use case •Nắm bắt chức hệ thống
•Cần thiết cho hoạt động phân tích, thiết kế kiểm thử
•Hợp đồng khách hàng người phát triển
•Hành vi hệ thống – chức mà hệ thống cần cung cấp – lưu mơ hình use case
•Biểu đồ use case
•Luồng kiện use case
•Biểu đồ hoạt động
•Các tài liệu phụ trợ
13
Khung nhìn Logic
Cấu phần mơ hình thiết kế
◦Cung cấp mơ tả cụ thể hành vi chức hệ thống ◦Xuất phát từ mơ hình phân tích
Mơ tả vắn tắt hành vi hệ thống dựa mơ hình use case
◦Tập hợp lớp, tổ chức vào hệ thống ◦Bao gồm:
Biểu đồ lớp, biểu đồ tương tác, biểu đồ trạng thái
Hệ thống giao diện chúng
14
Khung nhìn thực thi (implementation)
• Tổ chức mơ-đun phần mềm tĩnh (mã nguồn, tệp liệu, thành phần thực thi, tài liệu…) môi trường dạng:
- Chia thành package phân lớp (layer)
- Quản lý cấu hình (quyền sở hữu, kế hoạch bàn giao…)
• Được mơ hình hóa biểu đồ thành phần
15
Khung nhìn tiến trình (process)
Bao gồm thread process tạo nên chế đồng thời đồng hệ thống
Giải vấn đề:
◦Đồng thời song song (đồng bộ, deadlock…)
◦Dung thứ lỗi (cô lập chức lỗi, độ tin cậy)
◦Khởi động tắt hệ thống
◦Phân phối đối tượng liệu
◦Hiệu (thời gian đáp ứng, thơng lượng) tính co dãn
Không cần thiết môi trường xử lý đơn lẻ
Mơ hình hóa biểu đồ lớp, biểu đồ tương tác biểu đồ trạng thái
(5)Khung nhìn triển khai (deployment) •Mơ tả nút vật lý khác kết nối lẫn
chúng cho cấu hình tảng điển hình
•Giải vấn đề:
•Triển khai
•Cài đặt
•Bảo trì
•Được mơ hình hóa biểu đồ triển khai
17
3.UNIFIED MODELING LANGUAGE (UML)
Phân tích thiết kế hướng đối tượng 18 18
UML defines 13 diagrams that describe 4+1 architectural views
UNIFIED MODELING LANGUAGE (UML)
Phân tích thiết kế hướng đối tượng 19
Things
Relationship
Diagram
Structural Things Behavior things Group things Annotation things
Class, interface, collaboration, use case, components, nodes Interaction, State machine Package Note
Structural Relationship Dependency, Aggregation, Association, Generalization Behavior Relationship Communication, Includes, Extends, Generalizes
Structural Diagram
Behavioral Diagram
-Class diagram -Object diagram -Component diagram -Deployment diagram
-Use case diagram -Activity diagram -Interaction diagram - State machine diagram
UNIFIED MODELING LANGUAGE (UML)
Dynamic Diagrams
Activity Diagrams
Models
Static Diagrams
Sequence Diagrams
Communication Diagrams
State Machine Diagrams
Deployment Diagrams
Component Diagrams
Object Diagrams Class
Diagrams Use-Case
Diagrams
(6)Use Case Diagram
Phân tích thiết kế hướng đối tượng 21
Use Case Diagram
Phân tích thiết kế hướng đối tượng 22
• Mơ tả hành vi hệ thống góc nhìn người dùng
• Với developer, cơng cụ vơ hữu ích việc thể yêu cầu hệ thống
Class Diagram
Phân tích thiết kế hướng đối tượng 23
Class Diagram
Phân tích thiết kế hướng đối tượng 24
Name Attributes
(7)Class Diagram
Phân tích thiết kế hướng đối tượng 25 25
Một số lưu ý
• Tên class có từ từ trở lên viết hoa đầu từ khơng có khoảng trắng
• Tên thuộc tính tên phương thức tuân theo qui tắc không viết hoa chữ đầu
Object Diagram
Phân tích thiết kế hướng đối tượng 26
Một số lưu ý
• Tên gạch
• Tên thực thể nằm phía trái dấu hai chấm, tên lớp nằm phía phải
• Vớianonymousobject, ta khôngcần xác định tên
của đối tượng
State Diagram
Phân tích thiết kế hướng đối tượng 27
• Tại thời điểm nào, object trạng thái (state) định
• Hình bên cho thấy sự
dịch chuyển (transition)
về trạng thái đối tượng máy giặt
• Lưu ý kí hiệu trạng thái bắt đầu kết thúc
Sequence Diagram
Phân tích thiết kế hướng đối tượng 28
Tínhchất:
• Class diagrams Object diagrams đặc trưng
chodạng thơng tin tĩnh (static information)
• Trong thực tế, objects tương tác với
nhau theothời gian
• Sequence diagrams giúp thể hiệncác hành vi