04/05/2015
TRƯỜNG CAO ĐẲNG CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ THÔNG TIN
Kỷ luật - Chất lượng – Sáng tạo
Phân Tích & Thiết Kế
Hướng Đối Tượng Sử Dụng UML
1
TRƯỜNG CAO ĐẲNG CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ THÔNG TIN
Kỷ luật - Chất lượng – Sáng tạo
UML VÀ CÔNG CỤ PHÁT TRIỂN HỆ
THỐNG
• Giới thiệu UML
• Các biểu đồ trong UML
• Các bước phân tích thiết kế hướng đối
tượng sử dụng UML
2
1
04/05/2015
TRƯỜNG CAO ĐẲNG CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ THÔNG TIN
Kỷ luật - Chất lượng – Sáng tạo
GIỚI THIỆU VỀ UML
• Các ngôn ngữ hướng đối tượng ra đời
khá sớm, ví dụ như Simula-67 (năm
1967), Smalltalk (đầu những năm 1980),
C++, CLOS (giữa những năm 1980):thì
những phương pháp luận cho phát triển
hướng đối tượng lại ra đời khá muộn.
• Năm 1997: tập đoàn Rational xây dựng
bản 1.0 của UML, Phần mềm Rational
Rose
3
TRƯỜNG CAO ĐẲNG CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ THÔNG TIN
Kỷ luật - Chất lượng – Sáng tạo
UML – Ngôn ngữ mô hình hoá hướng
đối tượng
• UML (Unified Modelling Language) là ngôn ngữ mô
hình hoá tổng quát được xây dựng để đặc tả, phát
triển và viết tài liệu cho các khía cạnh trong phát triển
phần mềm hướng đối tượng. UML giúp người phát
triển hiểu rõ và ra quyết định liên quan đến phần
mềm cần xây dựng. UML bao gồm một tập các khái
niệm, các ký hiệu, các biểu đồ và hướng dẫn.
• UML hỗ trợ xây dựng hệ thống hướng đối tượng dựa
trên việc nắm bắt khía cạnh cấu trúc tĩnh và các
hành vi động của hệ thống.
4
– Các cấu trúc tĩnh định nghĩa các kiểu đối tượng quan
trọng của hệ thống, nhằm cài đặt và chỉ ra mối quan hệ
giữa các đối tượng đó.
– Các hành vi động (dynamic behavior) định nghĩa các
hoạt động của các đối tượng theo thời gian và tương tác
giữa các đối tượng hướng tới đích.
2
04/05/2015
TRƯỜNG CAO ĐẲNG CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ THÔNG TIN
Kỷ luật - Chất lượng – Sáng tạo
UML – Ngôn ngữ mô hình hoá hướng
đối tượng
• Các mục đích của ngôn ngữ mô hình hoá thống
nhất UML:
– Mô hình hoá các hệ thống sử dụng các khái niệm
hướng đối tượng.
– Thiết lập sự liên hệ từ nhận thức của con người đến
các sự kiện cần mô hình hoá.
– Giải quyết vấn đề về mức độ thừa kế trong các hệ
thống phức tạp với nhiều ràng buộc khác nhau.
– Tạo một ngôn ngữ mô hình hoá có thể sử dụng
được bởi người và máy.
• UML quy định một loạt các ký hiệu và quy tắc để
mô hình hoá các pha trong quá trình phát triển
phần mềm hướng đối tượng dưới dạng các biểu
đồ
5
TRƯỜNG CAO ĐẲNG CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ THÔNG TIN
Kỷ luật - Chất lượng – Sáng tạo
Các khái niệm cơ bản trong UML
• Khái niệm mô hình
– Mô hình là một biểu diễn của sự vật hay một tập các sự vật
trong một lĩnh vực áp dụng nào đó theo một cách khác. Mô
hình nhằm nắm bắt các khía cạnh quan trọng của sự vật, bỏ
qua các khía cạnh không quan trọng và biểu diễn theo một tập
ký hiệu và quy tắc nào đó. Các mô hình thường được xây
dựng sao cho có thể vẽ được thành các biểu đồ dựa trên tập
ký hiệu và quy tắc đã cho.
• Khi xây dựng các hệ thống, mô hình được sử dụng nhằm
thoả mãn các mục đích sau:
– Nắm bắt chính xác yêu cầu và tri thức miền mà hệ thống cần
phát triển
– Thể hịên tư duy về thiết kế hệ thống
– Trợ giúp ra quyết định thiết kế dựa trên việc phân tích yêu cầu
– Tổ chức, tìm kiếm, lọc, kiểm tra và sửa đổi thông tin về các hệ
thống lớn.
– Làm chủ được các hệ thống phức tạp
6
3
04/05/2015
TRƯỜNG CAO ĐẲNG CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ THÔNG TIN
Kỷ luật - Chất lượng – Sáng tạo
Các khái niệm cơ bản trong UML
• Khái quát
– Phân tích và thiết kế hướng đối tượng (Object Oriented
Analysis and Design: OOAD)
• Mô tả hệ thống gồm những đối tượng sống trong đó và sự
tương tác của chúng với nhau
– UML (Unified Modeling Language)
• UML là ngôn ngữ mô hình hóa hợp nhất dùng để biểu diễn hệ
thống. Nói một cách đơn giản là nó dùng để tạo ra các bản vẽ
nhằm mô tả thiết kế hệ thống. Các bản vẽ này được sử dụng
để các nhóm thiết kế trao đổi với nhau cũng như dùng để thi
công hệ thống (phát triển), thuyết phục khách hàng, các nhà
đầu tư v.v..
– Tại sao lại là OOAD và UML?
• OOAD cần các bản vẽ để mô tả hệ thống được thiết kế, còn
UML là ngôn ngữ mô tả các bản vẽ nên cần nội dung thể hiện.
Do vậy, chúng ta phân tích và thiết kế theo hướng đối tượng
và sử dụng UML để biểu diễn các thiết kế đó nên chúng
thường đi đôi với nhau.
7
TRƯỜNG CAO ĐẲNG CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ THÔNG TIN
Kỷ luật - Chất lượng – Sáng tạo
Các khái niệm cơ bản trong UML
• Các phần tử mô hình
Class
Object
Attributes
Attributes
Operations
Operations
Use case
Node
State
Interface
Component
Package
Note
8
4
04/05/2015
TRƯỜNG CAO ĐẲNG CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ THÔNG TIN
Kỷ luật - Chất lượng – Sáng tạo
Các khái niệm cơ bản trong UML
• Hướng nhìn (view): Là tập con các biểu đồ UML
được xây dựng để biểu diễn một khía cạnh nào
đó của hệ thống.
Khía cạnh chính
Khía cạnh cấu trúc hệ
thống
Các hướng nhìn
Các biểu đồ
Các khía niệm chính
Static view
Class diagram
Lớp, liên hệ kế thừa, :
Use case view
Use case diagram
Use case, tác nhân, :
Implementtation view
Component diagram
Thành phần, giao diện,
Deployment view
Deployment diagram
Node, vị trí, :
State machine view
State diagram
Trạng thái, sự kiện,:
Activity view
Activity diagam
Trạng thái, sự kiện,:
Khía cạnh động
Interaction view
9
Sequence diagram
Tương tác, thông điệp,
Collaboration diagram
Cộng tác, thông điệp, ...
TRƯỜNG CAO ĐẲNG CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ THÔNG TIN
Kỷ luật - Chất lượng – Sáng tạo
Các khái niệm cơ bản trong UML
• Hướng nhìn (view) :
10
5
04/05/2015
TRƯỜNG CAO ĐẲNG CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ THÔNG TIN
Kỷ luật - Chất lượng – Sáng tạo
Các khái niệm cơ bản trong UML
• Hướng nhìn (view):
– Use Case View: cung cấp góc nhìn về các ca sử dụng giúp
chúng ta hiểu hệ thống có gì? ai dùng và dùng nó như thế
nào.
– Logical View: cung cấp góc nhìn về cấu trúc hệ thống, xem
nó được tổ chức như thế nào. Bên trong nó có gì.
– Process View: cung cấp góc nhìn động về hệ thống, xem
các thành phần trong hệ thống tương tác với nhau như thế
nào.
– Component View: Cũng là một góc nhìn về cấu trúc giúp
chúng ta hiểu cách phân bổ và sử dụng lại các thành phần
trong hệ thống ra sao.
– Deployment View: cung cấp góc nhìn về triển khai hệ thống,
nó cũng ảnh hưởng lớn đến kiến trúc hệ thống.
– Tập hợp các góc nhìn này sẽ giúp chúng ta hiểu rõ hệ
thống cần phân tích, thiết kế. Góc nhìn Use Case View nằm
ở giữa và chi phối tất cả các góc nhìn còn lại.
11
TRƯỜNG CAO ĐẲNG CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ THÔNG TIN
Kỷ luật - Chất lượng – Sáng tạo
Các khái niệm cơ bản trong UML
• Các loại sơ đồ trong UML
12
6
04/05/2015
TRƯỜNG CAO ĐẲNG CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ THÔNG TIN
Kỷ luật - Chất lượng – Sáng tạo
Các khái niệm cơ bản trong UML
• Diagrams:
– Use Case Diagram:
• bản vẽ mô tả về ca sử dụng của hệ thống. Bản vẽ này sẽ giúp chúng ta biết
được ai sử dụng hệ thống, hệ thống có những chức năng gì. Lập được bản vẽ
này bạn sẽ hiểu được yêu cầu của hệ thống cần xây dựng.
– Class Diagram:
• bản vẽ này mô tả cấu trúc của hệ thống, tức hệ thống được cấu tạo từ những
thành phần nào. Nó mô tả khía cạnh tĩnh của hệ thống.
– Object Diagram:
• Tương tự như Class Diagram nhưng nó mô tả đến đối tượng thay vì lớp
(Class).
– Sequence Diagarm:
• là bản vẽ mô tả sự tương tác của các đối tượng trong hệ thống với nhau được
mô tả tuần tự các bước tương tác theo thời gian.
13
TRƯỜNG CAO ĐẲNG CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ THÔNG TIN
Kỷ luật - Chất lượng – Sáng tạo
Các khái niệm cơ bản trong UML
• Diagrams:
– Collaboration Diagram:
• tương tự như sequence Diagram nhưng nhấn mạnh về sự tương tác thay vì
tuần tự theo thời gian.
– State Diagram:
• bản vẽ mô tả sự thay đổi trạng thái của một đối tượng. Nó được dùng để theo
dõi các đối tượng có trạng thái thay đổi nhiều trong hệ thống.
– Activity Diagram:
• bản vẽ mô tả các hoạt động của đối tượng, thường được sử dụng để hiểu về
nghiệp vụ của hệ thống.
– Component Diagram:
• bản vẽ mô tả về việc bố trí các thành phần của hệ thống cũng như việc sử
dụng các thành phần đó.
– Deployment Diagram:
• bản vẽ mô tả việc triển khai của hệ thống như việc kết nối, cài đặt, hiệu năng
của hệ thống v.v:
14
7
04/05/2015
TRƯỜNG CAO ĐẲNG CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ THÔNG TIN
Kỷ luật - Chất lượng – Sáng tạo
Các khái niệm cơ bản trong UML
• Các loại sơ đồ trong UML
UML
Sơ đồ về
cấu trúc
Sơ đồ về
hành xử
Sơ đồ về
tương tác
15
TRƯỜNG CAO ĐẲNG CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ THÔNG TIN
Kỷ luật - Chất lượng – Sáng tạo
Các khái niệm cơ bản trong UML
Class diagram
Object diagram
Biểu đồ mô hình cấu trúc
Structural Modeling
Diagrams
Sơ đồ về
cấu trúc
Sơ đồ lớp
Sơ đồ
đối tượng
Sơ đồ
cấu trúc phức
Composite
structure
diagram
Sơ đồ
đóng gói
Sơ đồ
thành tố
16
Component diagram
Sơ đồ
triển khai
Package diagram
Deployment diagram
8
04/05/2015
TRƯỜNG CAO ĐẲNG CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ THÔNG TIN
Kỷ luật - Chất lượng – Sáng tạo
Các khái niệm cơ bản trong UML
Biểu đồ
tương tác
dạng tuần tự
• Biểu đồ mô hình hành vi
(Behavioral Modeling
Diagrams):
Biểu đồ
mô hình hành vi
Biểu đồ động
Biểu đồ
tương tác
dạng cộng tác
Biểu đồ
use case
Biểu đồ
trạng thái
17
TRƯỜNG CAO ĐẲNG CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ THÔNG TIN
Kỷ luật - Chất lượng – Sáng tạo
Các khái niệm cơ bản trong UML
• Sơ đồ lớp (class diagram)
– Chỉ ra các lớp đối tượng
trong hệ thống.
– Các thuộc tính và phương
thức của từng lớp.
– Mối quan hệ giữa các lớp.
• Sơ đồ đối tượng (object
diagram)
– là một phiên bản của sơ
đồ lớp.
– Chỉ ra một loạt các đối
tượng thực thể của lớp,
thay vì các lớp.
– Một sơ đồ đối tượng vì
vậy là một ví dụ của sơ
đồ lớp, chỉ ra một bức
tranh mà hệ thống có
thể có tại một thời điểm
nào đó.
18
9
04/05/2015
TRƯỜNG CAO ĐẲNG CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ THÔNG TIN
Kỷ luật - Chất lượng – Sáng tạo
Các khái niệm cơ bản trong UML
• Sơ đồ cấu trúc phức (Composite structure diagram)
– Chỉ ra cấu trúc nội tại của một lớp
– Các cộng tác có thể có
19
TRƯỜNG CAO ĐẲNG CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ THÔNG TIN
Kỷ luật - Chất lượng – Sáng tạo
Các khái niệm cơ bản trong UML
• Sơ đồ đóng gói (Package diagram)
– Là cách tổ chức các phần tử mô hình hóa vào một nhóm
– Có thể áp dụng cho bất kỳ loại sơ đồ UML nào
– Thường dùng để đóng gói cho sơ đồ lớp và sơ đồ use case
20
10
04/05/2015
TRƯỜNG CAO ĐẲNG CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ THÔNG TIN
Kỷ luật - Chất lượng – Sáng tạo
Use case diagram
• Mục đích
– Trường hợp sử dụng là một kỹ thuật mô tả hệ
thống dựa trên quan điểm người sử dụng. Mỗi
trường hợp sử dụng là một cách thức riêng biệt
để sử dụng hệ thống.
– Những chức năng mà hệ thống cung cấp sẽ
được mô tả trong sơ đồ hoạt vụ.
– Là sưu liệu cho việc kiểm thử hệ thống
– Việc mô tả bao gồm
• Mô tả các chức năng (các trường hợp sử dụng – use
case)
• Các tác nhân bên ngoài (actor)
• Mối quan hệ giữa tác nhân và các trường hợp sử
dụng
21
TRƯỜNG CAO ĐẲNG CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ THÔNG TIN
Kỷ luật - Chất lượng – Sáng tạo
Use case diagram
• Mục đích
– Sơ đồ hoạt vụ phục vụ cho mục đích
• Trao đổi thông tin giữa
– Khách hàng – người sử dụng hệ thống trong tương lai
– Những người phát triển hệ thống
• Biến đổi yêu cầu về mặt nghiệp vụ của khách
hàng thành yêu cầu cụ thể mà lập trình viên có
thể nắm bắt.
• Là phương tiện đối sánh yêu cầu về mặt nghiệp
vụ và các lớp cũng như phương thức của hệ
thống
22
11
04/05/2015
TRƯỜNG CAO ĐẲNG CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ THÔNG TIN
Kỷ luật - Chất lượng – Sáng tạo
Use case diagram
• Trường hợp sử dụng và yêu cầu NSD
– Yêu cầu người dùng là cái mà hệ thống phải
làm. Trường hợp sử dụng là thao tác người
dùng sẽ thực hiện và kết quả mà hệ thống sẽ
sinh ra.
– Trường hợp sử dụng đôi khi lại là phương tiện
khơi gợi nên yêu cầu của người dùng.
– Yêu cầu người dùng đôi khi có tác dụng sưu
liệu như là trường hợp sử dụng
• Người dùng dễ dàng kiểm thử các yêu cầu chức
năng
• Cấu trúc tài liệu hướng dẫn sử dụng
• Công cụ giúp phát hiện các lớp
23
TRƯỜNG CAO ĐẲNG CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ THÔNG TIN
Kỷ luật - Chất lượng – Sáng tạo
Use case diagram
• Trường hợp sử dụng và yêu cầu NSD
– Yêu cầu người dùng là cái mà hệ thống phải làm.
Trường hợp sử dụng là thao tác người dùng sẽ thực
hiện và kết quả mà hệ thống sẽ sinh ra.
– Trường hợp sử dụng đôi khi lại là phương tiện khơi
gợi nên yêu cầu của người dùng.
– Yêu cầu người dùng đôi khi có tác dụng sưu liệu
như là trường hợp sử dụng
• Người dùng dễ dàng kiểm thử các yêu cầu chức năng
• Cấu trúc tài liệu hướng dẫn sử dụng
• Công cụ giúp phát hiện các lớp
– Trường hợp sử dụng vì thế được xem là một thành
phần của đặc tả yêu cầu người dùng
24
12
04/05/2015
TRƯỜNG CAO ĐẲNG CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ THÔNG TIN
Kỷ luật - Chất lượng – Sáng tạo
Use case diagram
• Một sơ đồ hoạt vụ mô tả
– Hệ thống
– Các tác nhân mà hệ thống sẽ tương tác
– Các trường hợp sử dụng mà hệ thống sẽ
thực hiện
– Mối liên hệ giữa: hệ thống, tác nhân, trường
hợp sử dụng
25
TRƯỜNG CAO ĐẲNG CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ THÔNG TIN
Kỷ luật - Chất lượng – Sáng tạo
Use case diagram
• Ví dụ
–
–
–
–
Actor
Use Case
Relationships
System
boundary
26
13
04/05/2015
TRƯỜNG CAO ĐẲNG CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ THÔNG TIN
Kỷ luật - Chất lượng – Sáng tạo
Use case diagram
• Tác nhân
– Không phải là thành phần của hệ thống
– Là người hay hệ thống khác tương tác với hệ thống
– Tương tác
• Nhận thông tin từ hệ thống
• Gửi thông tin cho hệ thống
• Nhận và gửi thông tin với hệ thống
– Một tác nhân là một dạng thực thể (một lớp), chứ không
phải một thực thể. Tác nhân mô tả và đại diện cho một vai
trò, chứ không phải là một người sử dụng thật sự và cụ thể
của hệ thống.
• Một người dùng cụ thể có thể đóng nhiều vai trò
27
TRƯỜNG CAO ĐẲNG CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ THÔNG TIN
Kỷ luật - Chất lượng – Sáng tạo
Use case diagram
<< Actor >>
Clerk
Clerk
Use case Name
28
14
04/05/2015
TRƯỜNG CAO ĐẲNG CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ THÔNG TIN
Kỷ luật - Chất lượng – Sáng tạo
Use case diagram
• Hệ thống
– Là một thành phần của sơ đồ hoạt vụ trong đó ranh giới của hệ
thống phát triển cần phải định nghĩa rõ.
– Hệ thống không nhất thiết là phần mềm, có thể là một thiết bị, một
tổ chức nào đó.
– Việc định nghĩa ranh giới, phạm vi của hệ thống không là
công việc đơn giản
• Tác vụ nào tự động, tác vụ nào thực hiện thủ công
• Tác vụ nào do hệ thống khác thực hiện
Tên hệ thống
29
TRƯỜNG CAO ĐẲNG CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ THÔNG TIN
Kỷ luật - Chất lượng – Sáng tạo
Các khái niệm cơ bản trong UML
• Các mối quan hệ
– Relationship hay còn gọi là conntector được sử dụng
để kết nối giữa các đối tượng với nhau tạo nên bản vẽ
Use Case. Có các kiểu quan hệ cơ bản sau:
•
•
•
•
Association
Generalization
Include
Extend
30
15
04/05/2015
TRƯỜNG CAO ĐẲNG CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ THÔNG TIN
Kỷ luật - Chất lượng – Sáng tạo
Các khái niệm cơ bản trong UML
• Các mối quan hệ
– Relationship hay còn gọi là conntector được sử dụng
để kết nối giữa các đối tượng với nhau tạo nên bản vẽ
Use Case. Có các kiểu quan hệ cơ bản sau:
•
•
•
•
Association
Generalization
Include
Extend
31
TRƯỜNG CAO ĐẲNG CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ THÔNG TIN
Kỷ luật - Chất lượng – Sáng tạo
Các khái niệm cơ bản trong UML
• Association (kết hợp):
– thường được dùng để mô tả mối quan hệ giữa
Actor và Use Case và giữa các Use Case với
nhau
32
16
04/05/2015
TRƯỜNG CAO ĐẲNG CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ THÔNG TIN
Kỷ luật - Chất lượng – Sáng tạo
Các khái niệm cơ bản trong UML
• Generalization (Khái quát – tổng quát hóa):
– thường được sử dụng để thể hiện quan hệ
thừa kế giữa các Actor hoặc giữa các Use
Case với nhau
33
TRƯỜNG CAO ĐẲNG CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ THÔNG TIN
Kỷ luật - Chất lượng – Sáng tạo
Các khái niệm cơ bản trong UML
• Include (bao gồm):
– là quan hệ giữa các Use Case với nhau, nó
mô tả việc một Use Case lớn được chia ra
thành các Use Case nhỏ để dễ cài đặt
(module hóa) hoặc thể hiện sự dùng lại
34
17
04/05/2015
TRƯỜNG CAO ĐẲNG CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ THÔNG TIN
Kỷ luật - Chất lượng – Sáng tạo
Các khái niệm cơ bản trong UML
• Include (bao gồm):
– là quan hệ giữa các Use Case với nhau, nó mô tả việc một
Use Case lớn được chia ra thành các Use Case nhỏ để dễ cài
đặt (module hóa) hoặc thể hiện sự dùng lại
– Use Case “Verify Password” có thể gộp chung vào Use Case
Login nhưng ở đây tách ra để cho các Use Case khác sử dụng
hoặc để module hóa cho dễ hiểu, dễ cài đặt
35
TRƯỜNG CAO ĐẲNG CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ THÔNG TIN
Kỷ luật - Chất lượng – Sáng tạo
Các khái niệm cơ bản trong UML
• Extend (Mở rộng):
– mô tả quan hệ giữa 2 Use Case. Quan hệ Extend được sử dụng khi
có một Use Case được tạo ra để bổ sung chức năng cho một Use
Case có sẵn và được sử dụng trong một điều kiện nhất định nào đó
“Open Account” là Use Case cơ sở để
cho khách hàng mở tài khoản. Tuy
nhiên, có thêm một điều kiện là nếu
khách hàng là công ty thì có thể thêm
người sở hữu lên tài khoản này. Add
Account Holder là chức năng mở rộng
của Use Case “Open Account” cho
trường hợp cụ thể nếu Actor là Công ty
nên quan hệ của nó là quan hệ Extend
36
18
04/05/2015
TRƯỜNG CAO ĐẲNG CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ THÔNG TIN
Kỷ luật - Chất lượng – Sáng tạo
Use case diagram
• Quan hệ giữa các tác nhân
– Giữa các tác nhân chỉ tồn tại
duy nhất một quan hệ - quan
hệ tổng quát hóa.
– Một tác nhân A là một sự
tổng quát hóa của B nếu A có
thể được thay thế bởi B trong
mọi trường hợp sử dụng
(chiều ngược lại không
đúng).
Nguoi dung
Nguoi dung quan tri
37
TRƯỜNG CAO ĐẲNG CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ THÔNG TIN
Kỷ luật - Chất lượng – Sáng tạo
Use case diagram
• Các bước xây dựng Use Case Diagram
– Bước 1: Tìm các Actor
• Trả lời các câu hỏi sau để xác định Actor cho hệ thống:
– Ai sử dụng hệ thống này?
– Hệ thống nào tương tác với hệ thống này?
• Xem xét ví dụ về ATM ở trên chúng ta thấy:
– Ai sử dụng hệ thống? -> Customer, ATM Technician
– Hệ thống nào tương tác với hệ thống này? -> Bank
– Như vậy có 03 Actor: Customer, ATM Technician và Bank
– Bước 2: Tìm các Use Case
• Trả lời câu hỏi các Actor sử dụng chức năng gì trong hệ thống?
• Xem xét ví dụ ở trên ta thấy:
– Customer sử dụng các chức năng: Check Balance, Deposit, Withdraw và
Transfer
– ATM technician sử dụng: Maintenance và Repair
– Bank tương tác với tất cả các chức năng trên.
– Bước 3: Xác định các quan hệ
• Phân tích và các định các quan loại hệ giữa các Actor và Use Case,
giữa các Actor với nhau, giữa các Use Case với nhau sau đó nối
chúng lại chúng ta sẽ được bản vẽ Use Case.
38
19
04/05/2015
TRƯỜNG CAO ĐẲNG CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ THÔNG TIN
Kỷ luật - Chất lượng – Sáng tạo
Use case diagram
• Tìm tác nhân
– Đối với một vấn đề cụ thể nào đó thì ai là người quan tâm?
– Ai sẽ cần sự hỗ trợ của hệ thống để thực hiện những tác vụ
hàng ngày của họ?
– Ai là người sử dụng thông tin của hệ thống?
– Ai là người cung cấp thông tin cho hệ thống?
– Ai là người quản trị, bảo trì, giữ cho hệ thống luôn hoạt
động?
– Hệ thống có tương tác với hệ thống nào khác không?
• Hệ thống máy tính khác
• Ứng dụng khác trong cùng hệ thống máy tính
• ...
39
TRƯỜNG CAO ĐẲNG CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ THÔNG TIN
Kỷ luật - Chất lượng – Sáng tạo
Use case diagram
• Tìm trường hợp sử dụng
– Với mỗi một tác nhân đã tìm thấy ở bước trước, cần
xác định:
40
• Những chức năng tác nhân cần hệ thống cung cấp?
• Tác nhân có cần phải đọc, phải tạo, phải hủy bỏ, phải sửa
chữa, hay là lưu trữ một loại thông tin nào đó trong hệ
thống?
• Tác nhân có cần phải báo cho hệ thống biết về những sự
kiện nào đó? Những sự kiện như thế sẽ đại diện cho
những chức năng nào?
• Công việc hàng ngày của tác nhân có thể được đơn giản
hóa hoặc hữu hiệu hóa qua các chức năng mới cung cấp
bởi hệ thống (thường đây là những chức năng tiêu biểu
chưa được tự động hóa trong hệ thống)?
20
04/05/2015
TRƯỜNG CAO ĐẲNG CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ THÔNG TIN
Kỷ luật - Chất lượng – Sáng tạo
Use case diagram
• Trường hợp sử dụng (use case)
– Là một khối chức năng được thực hiện bởi hệ thống để mang lại
kết quả có giá trị đối với một tác nhân nào đó.
– Các tính chất của use case
• Một Use Case bao giờ cũng được gây ra bởi một tác nhân, được
thực hiện nhân danh một tác nhân nào đó. Tác nhân phải ra lệnh
cho hệ thống để thực hiện Use Case đó, dù là trực tiếp hay gián
tiếp.
• Một Use Case là phải hoàn tất. Một Use Case sẽ không được coi
là hoàn tất chừng nào mà giá trị cuối cùng của nó chưa được sản
sinh ra.
41
TRƯỜNG CAO ĐẲNG CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ THÔNG TIN
Kỷ luật - Chất lượng – Sáng tạo
Use case diagram
• Trường hợp sử dụng, thông thường, được
mô tả bằng lời
– Đặc tả đơn giản, rõ ràng bằng cách nào tác
nhân và hệ thống tương tác với nhau.
– Mô tả phải tuân theo khuôn dạng (template)
chuẩn
– Đặc tả ở mức thao tác người dùng và hành
động của hệ thống
• Không mô tả chi tiết kỹ thuật và phương pháp thực
hiện
• Phần lớn mô tả là liên quan đến giao diện người dùng
(user interface)
42
21
04/05/2015
TRƯỜNG CAO ĐẲNG CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ THÔNG TIN
Kỷ luật - Chất lượng – Sáng tạo
Use case diagram
• Quan hệ giữa tác nhân và use case
– Use Case được nối với tác nhân qua liên kết
(association).
– Đường liên kết chỉ ra những tác nhân nào giao
tiếp với Use Case nào.
– Mối liên kết bình thường ra là một mối quan hệ
1-1 và không có hướng. Điều đó muốn nói lên
rằng một thực thể của lớp tác nhân sẽ giao tiếp
với một thực thể của một Use Case và cả hai có
thể giao tiếp với nhau trong cả hai chiều.
– Một Use Case sẽ được đặt tên theo một thực
thể mà Use Case sẽ thực hiện, ví dụ như ký
hợp đồng bảo hiểm, cập nhật danh sách, :.
43
TRƯỜNG CAO ĐẲNG CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ THÔNG TIN
Kỷ luật - Chất lượng – Sáng tạo
Use case diagram
• Khuôn mẫu mô tả trường hợp sử dụng
– I. Định danh
• I.1 Tên - Tên trường hợp sử dụng
• I.2 Mục tiêu (tóm tắt) - Trường hợp sử dụng này
dùng cho mục tiêu gì?
• I.3 Tác nhân chính - Ai, cái gì là tác nhân chính
khởi tạo, sử dụng trường hợp sử dụng này.
• I.4 Ngày tạo
• I.5 Ngày cập nhật mới
• I.6 Người tạo - Người viết mô tả
• I.7 Phiên bản
44
22
04/05/2015
TRƯỜNG CAO ĐẲNG CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ THÔNG TIN
Kỷ luật - Chất lượng – Sáng tạo
Use case diagram
• Khuôn mẫu mô tả trường hợp sử dụng
– II. Chuỗi hành vi
• II.1 Mô tả tổng quát chuỗi - Mô tả sơ lược dữ liệu
đầu vào, kết quả trả về của hệ thống.
• II.2 Điều kiện đầu - Điều kiện cần thiết có được
trước khi thực hiện trường hợp sử dụng.
• II.3 Chuỗi liên kết các thông báo - Mô tả trình tự
quá trình tương tác giữa tác nhân và hệ thống, kết
quả trả về bởi hệ thống.
• II.4 Xử lý các ngoại lệ - xử lý các ngoại lệ có thể xảy
ra trong quá trình tác nhân tương tác với hệ thống.
• II.5 Điều kiện cuối - trạng thái của hệ thống sau khi
thực hiện xong trường hợp sử dụng.
45
TRƯỜNG CAO ĐẲNG CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ THÔNG TIN
Kỷ luật - Chất lượng – Sáng tạo
Use case diagram
• Khuôn mẫu mô tả trường hợp sử dụng
– III. Các mục bổ sung tùy ý
• III.1 Ràng buộc phi chức năng - Mô tả các yêu
cầu phi chức năng về tính sẵn sàng, tính cạnh
tranh, thời gian đáp ứng, ... đối với trường hợp
sử dụng.
• III.2 Ràng buộc về giao diện người máy
46
23
04/05/2015
TRƯỜNG CAO ĐẲNG CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ THÔNG TIN
Kỷ luật - Chất lượng – Sáng tạo
Use case diagram
• Sử dụng UseCase Diagram (Kết luận)
– Một số ứng dụng tiêu biểu của Use Case
Diagram.
• Phân tích và hiểu hệ thống
• Thiết kế hệ thống.
• Làm cơ sở cho việc phát triển, kiểm tra các bản
vẽ như Class Diagram, Activity Diagram,
Sequence Diagram, Component Diagram.
• Làm cơ sở để giao tiếp với khách hàng, các nhà
đầu tư.
• Giúp cho việc kiểm thử chức năng, kiểm thử
chấp nhận.
47
TRƯỜNG CAO ĐẲNG CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ THÔNG TIN
Kỷ luật - Chất lượng – Sáng tạo
Case Study
•
48
Yêu cầu xây dựng một hệ thống thương mại điện tử (ECommerce) như sau:
– “Công ty Hi-Tech là một công ty chuyên kinh doanh về các thiết bị
điện tử và công nghệ thông tin trong nhiều năm nay và đã có một
lượng khách hàng nhất định. Để mở rộng hoạt động kinh doanh
của mình, công ty mong muốn xây dựng một hệ thống thương
mại điện tử nhằm mở rộng phạm vi kinh doanh trên mạng
Internet. Hệ thống mới phải đảm bảo cho khách hàng viếng thăm
Website dễ dàng lựa chọn các sản phẩm, xem các khuyến mãi
cũng như mua hàng. Việc thanh toán có thể được thực hiện qua
mạng hoặc thanh toán trực tiếp tại cửa hàng. Khách hàng có thể
nhận hàng tại cửa hàng hoặc sử dụng dịch vụ chuyển hàng có
phí của công ty. Ngoài ra, hệ thống cũng cần có phân hệ để đảm
bảo cho công ty quản lý các hoạt động kinh doanh như số lượng
hàng có trong kho, quản lý đơn đặt hàng, tình trạng giao hàng,
thanh toán v.v:
– Bạn hãy giúp công ty Hi-Tech xây dựng hệ thống trên.”
• Xây dựng bản vẽ Use Case
24
04/05/2015
TRƯỜNG CAO ĐẲNG CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ THÔNG TIN
Kỷ luật - Chất lượng – Sáng tạo
Case Study
• Bước 1: Thu thập kiến thức liên quan đến
hệ thống sẽ xây dựng
– Trước hết, để phân tích hệ thống trên bạn
phải có kiến thức về hệ thống thương mại
điện tử, chúng ta có thể tìm hiểu thông qua
các nguồn sau:
49
• Xem các trang Web bán hàng qua mạng như
amazon, lazada.vn v.v..
• Xem các hệ thống mẫu về thương mại điện tử nguồn
mở như Magento, OpenCart, Spree Commerce v.v:
• Đọc sách, báo về eCommerce
• Hỏi chuyên gia về lĩnh vực này
• Lưu ý: Bạn không thể thiết kế tốt được nếu bạn
không có kiến thức về lĩnh vực của sản phẩm mà bạn
sẽ xây dựng.
TRƯỜNG CAO ĐẲNG CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ THÔNG TIN
Kỷ luật - Chất lượng – Sáng tạo
Case Study
• Bước 2: Xác định các Actor
– Câu hỏi “Ai sử dụng hệ thống này?”
• Những người muốn mua hàng vào website để xem
thông tin. Những người này là Khách hàng tiềm năng
(Guest).
• Những người đã đặt hàng vào kiểm tra đơn hàng,
thanh toán v.v.. gọi là Khách hàng (Customer).
• Về phía đơn vị bán hàng, có những người sau đây
tham gia vào hệ thống:
– Người quản lý bán hàng: quyết định nhập hàng, giá bán,
quản lý tồn kho, doanh thu, chính sách khuyến mãi.
– Người bán hàng: Tư vấn cho khách hàng, theo dõi đơn
hàng, thu tiền, theo dõi chuyển hàng cho khách.
– Quản lý kho: xuất, nhập hàng, quản lý tồn kho
– Quản trị hệ thống: Tạo người dùng, Phân quyền, Tạo cửa
hàng
50
25