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

Phân tích thiết kế hướng đối tượng (phần 6) pptx

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 (124.12 KB, 7 trang )

Created by Trang Hồng Sơn


- 1 -

SYSTEM SEQUENCE DIAGRAM


1. Tổng quan:

- System Sequence Diagram (SSD):
+ Là sơ ñồ tuần tự chuỗi sự kiện trong Use Case, biểu diễn các sự kiện tương tác (tác ñộng và
phản hồi) của Actor bên ngoài và hệ thống bên trong (ñược xem như black-box).
+ SSD bao gồm:
. Các Actor bên ngoài và hệ thống bên trong.
. Các yêu cầu tác ñộng của Actor vào hệ thống.
. Các kết quả trả về tương ứng (nếu có) của hệ thống.
. Các ñoạn lặp có thể có trong quá trình tương tác giữa Actor và hệ thống.

: Cashier
:System
Simple cash-only Process Sale scenario:
1. Customer arrives at a POS checkout
with goods and/or services to purchase.
2. Cashier starts a new sale.
3. Cashier enters item identifier.
4. System records sale line item and
presents item description, price, and
running total.
Cashier repeats steps 3-4 until indicates
done.


5. System presents total with taxes
calculated.
6. Cashier tells Customer the total, and
asks for payment.
7. Customer pays and System handles
payment.

enterItem(itemID, quantity)
endSale
makePayment(amount)
description, total
total with taxes
change due, receipt
makeNewSale
[ more items ]
loop
Process Sale Scenario


Created by Trang Hồng Sơn


- 2 -

enterItem(itemID, quantity)
:System
: Cashier
endSale
makePayment(amount)
a UML loop

interaction
frame, with a
boolean guard
expression
external actor to
system
Process Sale Scenario
system as black box
the name could be "NextGenPOS" but "System" keeps it
simple
the ":" and underline imply an instance, and are explained in a
later chapter on sequence diagram notation in the UML
a message with
parameters
it is an abstraction
representing the
system event of
entering the
payment data by
some mechanism
description, total
return value(s)
associated with the
previous message
an abstraction that
ignores presentation
and medium
the return line is
optional if nothing is
returned

total with taxes
change due, receipt
makeNewSale
[ more items ]
loop


- System Operations: là các yêu cầu tác ñộng của Actor vào hệ thống.

: Cashier
enterItem(itemID, quantity)
endSale()
makePayment(amount)
description, total
total with taxes
change due, receipt
makeNewSale()
these input system events
invoke system operations
the system event enterItem
invokes a system operation
called enterItem and so forth
this is the same as in object-
oriented programming when
we say the message foo
invokes the method (handling
operation) foo
[ more items ]
loop
:System

Process Sale Scenario


Created by Trang Hồng Sơn


- 3 -

- Operation Contract: ñặc tả các System Operations.

Operation:
enterItem(…)
Post-conditions:
- . . .
Operation Contracts
Sale
date
. . .
Sales
LineItem
quantity
1
*
1
. . .
. . .
Domain Model
Use-Case Model
Design Model
: Register

enterItem
(itemID, quantity)
: ProductCatalog
spec = getProductSpec( itemID )
addLineItem( spec, quantity )
: Sale
Require-
ments
Business
Modeling
Design
Sample UP Artifact Relationships
: System
enterItem
(id, quantity)
Use Case Text
System Sequence Diagrams
make
NewSale()
system
events
Cashier
Process
Sale
: Cashier
use
case
names
system
operations

Use Case Diagram
Vision
Supplementary
Specification
Glossary
starting events to
design for, and
more detailed
requirements that
must be satisfied
by the software
Process Sale
1. Customer
arrives
2.
3. Cashier
enters item
identifier.
the domain
objects,
attributes,
and
associations
that undergo
changes
requirements
that must be
satisfied by
the software
ideas for

the post-
conditions


Mã contract (Contract ID) Tên contract
Tên thao tác (Operation Name) Tên thao tác và các tham số (nếu có)
Tham chiếu (Cross References) Tên Use Case chứa thao tác
Tiền ñiều kiện (Preconditions) Những ñiều kiện giả ñịnh phải có trước khi thực hiện thao tác
Hậu ñiều kiện (Postconditions) Trạng thái của ñối tượng sau khi thực hiện xong thao tác

+ Ví dụ:

Contract 01 makeNewSale
Operation Name makeNewSale()
Cross References UC: Process Sale
Preconditions None
Created by Trang Hồng Sơn


- 4 -

Postconditions - A Sale instance “s” was created (instance creation).
- “s” was associated with a Register (association formed).
- Attributes of “s” were initialized.

Contract 02 enterItem
Operation Name enterItem(itemID: ItemID, quantity: integer)
Cross References UC: Process Sale
Preconditions There is a sale underway
Postconditions - A SalesLineItem instance “sli” was created (instance creation).

- “sli” was associated with the current Sale (association formed).
- “sli.quantity” became quantity (attribute modification).
- “sli” was associated with a ProductDescription, based on itemID match
(association formed).


2. Các bước xây dựng:

- Chọn Use Case.
- Biểu diễn chuỗi các sự kiện tương tác.
- Xác ñịnh các System Operation.
- ðặc tả các System Operation  Operation Contract.


3. Case study “Hệ thống thư viện ñiện tử”:

- Use Case “ðăng nhập”:

Tên Use Case Dang_nhap
Tác nhân chính Thủ thư
Mức 1
Tiền ñiều kiện Thủ thư phải có tài khoản
Kích hoạt Thủ thư chọn chức năng ñăng nhập trong trang chủ
ðảm bảo thành công Chuyển ñến trang chủ quản lý của thủ thư
Chuỗi sự kiện chính 1. Thủ thư chọn chức năng ñăng nhập.
2. Hệ thống hiển thị form ñăng nhập và yêu cầu thủ thư nhập username, password.
3. Thủ thư nhập username, password và nhấn nút “ðăng nhập”.
4. Hệ thống kiểm tra thông tin ñăng nhập.
5. Hệ thống chuyển ñến trang quản lý của thủ thư.
Ngoại lệ 4. Thông tin ñăng nhập sai, quay lại bước 1.


Created by Trang Hồng Sơn


- 5 -

: Thu thu
:System
1: Yeu cau dang nhap
2: Yeu cau nhap username, password
3: Nhap username, password
4: Kiem tra username, password
5: Chuyen den trang quan ly


- Use Case “Tra cứu sách”:

Tên Use Case Tra_cuu_sach
Tác nhân chính Bạn ñọc
Mức 1
Tiền ñiều kiện Không có
Kích hoạt Bạn ñọc chọn chức năng tra cứu sách trong menu
ðảm bảo thành công Thông tin sách mới ñược thêm vào CSDL
Chuỗi sự kiện chính 1. Bạn ñọc chọn chức năng tra cứu sách.
2. Hệ thống hiển thị form tra cứu sách và yêu cầu bạn ñọc nhập từ khoá, chọn các
tiêu chí sách cần tìm.
3. Bạn ñọc nhập từ khoá, chọn các tiêu chí và nhấn nút “Tìm kiếm”.
4. Hệ thống thực hiện việc tìm kiếm dựa trên từ khoá và các tiêu chí.
5. Hệ thống hiển thị danh sách các sách tìm ñược.
6. Bạn ñọc chọn một quyển sách ñể xem thông tin chi tiết.

7. Hệ thống hiển thị thông tin chi tiết sách.
Ngoại lệ 4. Hệ thống thông báo không có sách thoả từ khoá và các tiêu chí:
1. Hệ thống hỏi bạn ñọc có muốn nhập từ khoá, chọn các tiêu chí cần tìm khác.
2. Bạn ñọc nhập lại từ khoá, chọn các tiêu chí khác, quay lại bước 4.

Created by Trang Hồng Sơn


- 6 -

: Ban Doc
:System
1: Yeu cau tra cuu sach
2: Yeu cau nhap tu khoa, chon cac tieu chi
3: Nhap tu khoa, chon cac tieu chi
4: Thuc hien tim kiem
5: Danh sach cac quyen sach tim duoc
6: Chon mot quyen sach
7: Thong tin chi tiet sach


- Use Case “Thêm sách”:

Tên Use Case Them_sach
Tác nhân chính Thủ thư
Mức 2
Tiền ñiều kiện Thủ thư ñã ñăng nhập vào hệ thống
Kích hoạt Thủ thư chọn chức năng thêm sách trong menu
ðảm bảo thành công Thông tin sách mới ñược thêm vào CSDL
Chuỗi sự kiện chính 1. Thủ thư chọn chức năng thêm sách.

2. Hệ thống hiển thị form thêm sách và yêu cầu thủ thư ñưa vào thông tin sách.
3. Thủ thư nhập thông tin về sách mới và nhấn nút “Thêm sách”.
4. Hệ thống kiểm tra thông tin sách và xác nhận thông tin sách hợp lệ.
5. Hệ thống thêm thông tin sách mới vào CSDL.
6. Hệ thống thông báo ñã thêm sách thành công.
Created by Trang Hồng Sơn


- 7 -

Ngoại lệ 4a. Hệ thống thông báo sách ñã có trong CSDL:
1. Hệ thống hỏi thủ thư có thêm số lượng sách hay không.
2. Thủ thư thêm số lượng sách.
3. Hệ thống thêm số lượng cho sách ñã có.
4. Hệ thống thông báo ñã thêm sách thành công.
4b. Hệ thống thông báo thông tin sách không hợp lệ:
1. Hệ thống yêu cầu thủ thư nhập lại thông tin sách.
2. Thủ thư nhập lại thông tin sách.

: Thu thu
:System
1: Yeu cau them sach
3: Nhap thong tin sach moi
6: Thong bao them sach thanh cong
2: Yeu cau nhap thong tin sach
4: Kiem tra thong tin sach
5: Them sach moi





×