Biểu đồ trạng thái statetrạng của đối tượng ở ngay lúc đó thuộc tính của đối tượng và những liên kết mà nó thuộc tính của đối tượng và những liên kết mà nó giữ... Biểu đồ trạng tháihệ th
Trang 1Chương 7
Mô hì h độ
Mô hình động
Trang 2Nội dung
Biểu đồ cộng tác (collaboration diagram) ộ g ( g )
gọi là biểu đồ tương tác (interaction)
Trang 39 Biểu đồ
ể
Trang 4Mô hình động (dynamic model)
sao
một sự kiện từ bên ngoài
thời gian của các đối tượng trong hệ thống
thời gian của các đối tượng trong hệ thống
hướng nhìn
Trang 5Biểu đồ trạng thái: đèn giao thông
Trang 6Biểu đồ trạng thái (state)
trạng của đối tượng ở ngay lúc đó
thuộc tính của đối tượng và những liên kết mà nó
thuộc tính của đối tượng và những liên kết mà nó giữ
Trang 7Done
Trang 8Biểu đồ trạng thái
hệ thố
hệ thống
những đối tượng riêng biệt
trải qua suốt chu kỳ sống nhằm đáp ứng những
sự kiện
Nó cũng mô tả những sự kiện làm thay đổi trạng
thái của đối tượng
Trang 9quá trình xác định giao diện
nghiệp vụ hoặc các thực thể thiết kế phức tạp
Trang 10 Dịch chuyển là kết quả của một hoạt động mà gây ra
một biến đổi trạng thái quan trọng
Trang 11Trạng thái con
thái con Trạng thái con là một phần của trạng thái
thái con Trạng thái con là một phần của trạng thái kết hợp
Trạng thái con có thể thực hiện đồng thời hay tuần ạ g ự ệ g ytự
Trang 12Cách tạo biểu đồ trạng thái
1 Xác định thực thể có hành vi phức tạp
2 Định nghĩa trạng thái ban đầu và trạng thái kết thúc
2 Định nghĩa trạng thái ban đầu và trạng thái kết thúc
3 Xác định những biến cố ảnh hưởng tới thực thể
4 Làm việc từ trạng thái bắt đầu dò ra trạng thái trung
gian
5 Xác định các hành động vào và ra của các trạng thái
6 Mở rộng các trạng thái bằng các trạng thái con khi
cần thiết
7 Nếu thực thể là một lớp, kiểm tra các hành động của
nó trong trạng thái đó có được sự hỗ trợ bởi các tác
vụ và các kết hợp của một lớp không Nếu không
vụ và các kết hợp của một lớp không Nếu không
phải mở rộng lớp này
Trang 13Biểu đồ trạng thái
Trang 14Mô hình dịch chuyển trạng thái
Composed
compose command focus
hightlight
entry/ assign ID exit/ fill date
on char/ handle character
Read
entry/ convert to rich text
save command re-fwd cmd / quote / append subject
do/ send( repc )
sending done
Trang 15ATM: kiểm tra PIN
Trang 16Đăng ký khóa học: Trạng thái con
Trang 17Nội dung
Biểu đồ cộng tác (collaboration diagram) ộ g ( g )
Trang 18Biểu đồ trình tự (sequency)
Trang 19The BIG Picture – Round Trip Engineering p g g
Business Modeling
Use Case Diagram &
Use Case Specification
Code Generation
p Other Relevant Diagrams
Analysis Class Diagram
Design Class Diagram
Analysis Sequence Diagram Design Sequence Diagram
Trang 20Biểu đồ trình tự
gởi và nhận giữa những đối tượng theo trình tự
gởi và nhận giữa những đối tượng theo trình tự
thời gian
tượng hay tên lớp, tên được gạch dưới
đường gạch rời (dashed line) thẳng đứng biểu thị
đường gạch rời (dashed line) thẳng đứng biểu thị thời gian sống của đối tượng Trong khoảng thời
gian này, đối tượng được thể hiện, sẵn sàng để gửi
và nhận thông điệp
Trang 21Đệ qui
điều kiện
Trang 22message giữa 2 đối tượng
đối tượngợ g
được truyền từ đối tượng được gọi tới đối tượng
i
gọi
hướng từ đối tượng gọi tới đối tượng được gọi
Trang 231.1: PerformAnother Responsibility
Trang 24Supermarket
Trang 25Các bước để vẽ một biểu đồ tuần tự
tượng) cần thiết để thực hiện chức năng
Đặt á đối tượ từ t ái hải
Đặt các đối tượng từ trái qua phải
Bắt đầu từ thông điệp bắt đầu, sắp xếp theo chiều từ
trên xuống dưới, cho biết các thuộc thể nhằm cung cấp
trên xuống dưới, cho biết các thuộc thể nhằm cung cấp ngữ nghĩa
Thêm các ràng buộc, giải thích, các điều khiển
Trang 26ATM (1)
Trang 27ATM (2)
Trang 281.1 // get course offerings( )
1.1.1 // get course offerings(forSemester)
1.1.1.1 // get course offerings( )
A list of the available
course offerings for this
semester are displayed
1.2 // display course offerings( )
1.3 // display blank schedule( )
A blank schedule
is displayed for the
students to select
offerings
Trang 29Đăng ký môn học (2)
Trang 30Các loại thông điệp
Trang 31Nội dung
Biểu đồ cộng tác (collaboration ộ g (
diagram)
Trang 32Biểu đồ cộng tác (collaboration)
trung vào sự kiện không quan tâm tới thời
trung vào sự kiện, không quan tâm tới thời
gian sống
Đối tượng được chỉ ra bằng biểu tượng lớp
bằng số của thông điệp
và hiểu những ảnh hưởng lên đối tượng đã
và hiểu những ảnh hưởng lên đối tượng đã
cho
Chỉ ra các chi tiết về các lệnh gọi tác vụ
Trang 33Biểu đồ cộng tác
Client Object
Supplier Object Link
:Client
1: PerformResponsibility :Supplier
Message
Trang 36Biểu đồ cộng tác
Trang 38Khác biệt giữa 2 mô hình
– Show relationships in addition – Show the explicit
Cộng tácTrình tự
Show relationships in addition
to interactions – Better for visualizing patterns
Show the explicit
sequence of messages
– Show execution
of communication – Better for visualizing all of the effects on a given object
occurrence
– Better for visualizing
overall flow effects on a given object
– Easier to use for brainstorming sessions
overall flow
– Better for real-time
specifications and for
complex scenarios
Trang 39Đăng ký môn học
Trang 40Đăng ký môn học: cộng tác
Trang 41Truy vấn thông tin tài khoản
: NgânHàngDB : KháchHàng : MáyATM_GD : TàiKhoảnGD : KháchHàng : TàiKhoản g g: KháchHàng y _ g
Chọn xem thông tin hiểnThị()
lấy_TàiKhoản()
đọcTàiKhoản()
tạoTàiKhoản() tk:TàiKhoản
Trang 42Lược đồ cộng tác
1: Chọn xem thông tin
: KháchHàng
: MáyATM_GD g
2: hiểnThị() 3:
: TàiKhoản : NgânHàngDB
4: đọcTàiKhoản()
: TàiKhoản : NgânHàngDB
Trang 43Nội dung
Biểu đồ cộng tác (collaboration diagram) ộ g ( g )
Trang 44Biểu đồ hoạt động (activity)
Trang 45Biểu đồ hoạt động (activity)
(workflow)
thao tác (operation) được thực thi
các đối tượng có quan hệ
mô hình hệ thống (các use case), giải thích
rõ các hoạt động phức tạp
rõ các hoạt động phức tạp
Trang 46Ký hiệu
1 Activity states, represent the performance of
1 Activity states, represent the performance of
a step within the workflow
2 Transition show what activity state follows after another
after another
3 Decisions (branch) for which a set of guard
conditions are defined These are conditions that must be met to trigger the transition
4 Synchronization bars, which you can use to show parallel subflows Synchronization p y
bars allow you to show concurrent threads
-fork or join
Trang 47Ký hiệu Start State
Activity State
Decision
Decision (branch) Alternative
Trang 48Cách tạo biểu đồ hoạt động
Tạo ra dòng hoạt động có thể hiểu ạ g ạ ộ g
Dùng swimlane
Trang 49Swimlanes (luồng)
hoạt động giúp cho
hoạt động giúp cho
việc hiểu được sự
phân bổ hoạt động
giữa các đối tượng
Trang 50ATM
Trang 51Biểu đồ hoạt động
Customer Sales Warehouse
Request Product
Process d
Pull
t i l
Continue work
order material
Ship order
Receive order
Bill customer order customer
Pay Close
bill order
Trang 52Biểu đồ hoạt động
Trang 53organization that sells
telecom
network
network
solutions
Trang 54Mô hình hệ thống
Just as you would use an activity diagram to show the structure of a workflow, you could also use it to show the structure of a flow of events of a system use case
Trang 55Mô hình hệ thống
Trang 56Use Case Model
U C
Use Case Diagrams
Object Di
Class Di
Use Case Model
Component Diagrams
Diagrams Diagrams
Analysis Model
Deployment Diagrams
Design Model
Collaboration
Sequence Diagrams
Depl.
Model
Collaboration Diagrams
Statechart Diagrams
Impl.
Model
Diagrams
Test Model
Trang 57Analysis & Design Model
U C
Use Case Diagrams
Object Di
Class Di
Use Case Model
Component Diagrams
Diagrams Diagrams
Analysis Model
Incl subsystems
Deployment Diagrams
Design Model
y and packages
Collaboration
Sequence Diagrams
Depl.
Model
Collaboration Diagrams
Statechart Diagrams
Test Model
Trang 58Deployment and Implementation Model
U C
Use Case Diagrams
Object Di
Class Di
Use Case Model
Component Diagrams
Diagrams Diagrams
Analysis Model
Deployment Diagrams
Design Model
Incl active classes
Collaboration
Sequence Diagrams
Depl.
Model
and components
Collaboration Diagrams
Statechart Diagrams
Impl.
Model
Diagrams
Test Model
Trang 59Test Model
U C
Use Case Diagrams
Object Di
Class Di
Use Case Model
Component Diagrams
Diagrams Diagrams
Analysis Model
Deployment Diagrams
Design Model
Test model refers to
Collaboration
Sequence Diagrams
Depl.
Model
Test model refers to all other models and uses corresponding diagrams
Collaboration Diagrams
Statechart Diagrams
Test Model
Trang 60 The system requests that the actor enter his/her name & pwd y q p
The actor enters his/her name and pwd
The system validates the entered name & pwd
The system logs the actor into the system
Trang 61…Bài tập - Login
If in the basic flow, the actor enters an invalid name & pwd, the system displays an error message
The actor can choose to either return to the beginning of the g g basic flow or canel the login, at which point the use case ends
Trang 622.1.2.1.1 s how res ult
Trang 63Collaboration diagram
MainFor m
g m
2 1 V if ( )
2.1.2 SelfVerify(usr,pas)
2.1.2.1
LoginCont rollor
DBUser
2.1 Verify(u sr,pas) 2.1.1 GetUserList
Trang 64Bài tập – Chọn phương thức thanh toán
Pick up his check directly
Receive it in the mail
Have it deposited directly into a specified bank account
Have it deposited directly into a specified bank account
Trang 65Bài tập - Chọn phương thức thanh toán
This use case starts when the employee wishes to
select a payment method
The system requests the employee specify the payment
The system requests the employee specify the payment method he/she would like
The employee selects the desired payment method
If the employee selects the “pick up” method, no
additional information is required
If th l l t th “ il” th d th t
If the employee selects the “mail” method, the system
requests employee specify the address that the paycheck will be mailed to
Trang 66…Bài tập - Chọn phương thức thanh toán
If the employee selects the “direct deposit” method, the
system requests employee specify the bank name and account number
Once the employee provides the requested information, the system updates the employee information to reflect the
chosen payment method
If in the basic flow, information for the employee could not , p y
be located, the system displays an error massage and the use case ends
Trang 67Draw the
Draw the adjacent
diagram in Visual Paradigm
Trang 68 Traveler selects ‘change flight itinerary’ option
System retrieves traveler’s account and flight itinerary from client account database
System asks traveler to select itinerary segment she wants to change;
traveler selects itinerary segment.
System asks traveler for new departure and destination information;
traveler provides information.
If flights are available then …
Trang 69Sequence Diagram
: Booking System Traveler Client Account DBMS Airline Reservation System
change flight itinerary
get customer account
get itinerary present itinerary
select segment
present detailed info present detailed info update information
available flight
: :
Trang 70Collaboration Diagram
2: get customer account 1: change flight itinerary
: Booking System 7: update information
2: get customer account 3: get itinerary
4: present itinerary
5: select segment
Traveler 4: present itinerary Client Account DBMS
8: available flight 6: present detailed info
Airline Reservation System