You are on page 1of 32

PHÂN TÍCH

VÀ THIẾT KẾ HỆ THỐNG
Nguy ế n Thanh Bí nh , Nguy ê n Quang V ụ , Lê Vi ê t Trư ng , Nguy ế n Thị H a nh ,
V o V a n Lương g , Lê Thị i Bi ch Trà
Khoa Khoa học Máy tính
Tổng quan về ngôn ngữ mô hình hóa hợp
nhất
• Khái niệm mô hình hóa
• Kỹ thuật mô hình hóa hướng đối tượng
• Lịch sử của UML
• Giới thiệu ngắn gọn về UML
• quan niệm
• Sơ đồ
• Lượt xem
Mô hình và mô hình hóa

• Một mô hình là sự đơn giản hóa thực tế. Chúng tôi xây dựng các
mô hình để có thể hiểu rõ hơn về hệ thống mà chúng tôi đang
phát triển.

• Mô hình hóa là quá trình xây dựng các mô hình để thể hiện một
hệ thống

• Làm người mẫu


• giúp chúng ta hình dung một hệ thống như nó vốn có
hoặc như chúng ta mong muốn
• cho phép chúng ta chỉ định cấu trúc hoặc hành vi của
một hệ thống
• cung cấp cho chúng tôi một khuôn mẫu hướng dẫn
chúng tôi xây dựng một hệ thống
• ghi lại quyết định mà chúng tôi đã đưa ra

3
Mô hình và mô hình hóa : Ví dụ

4
Mô hình và mô hình hóa : Ví dụ

5
Kỹ thuật mô hình hóa hướng đối tượng

• Các kỹ thuật mô hình hóa hướng đối tượng là các quy trình/phương pháp/cách tiếp cận để mô
hình hóa và thiết kế phần mềm.
• 1975 - 1990: phát triển một số kỹ thuật hướng đối tượng
• 1990 - 1994: có hơn 50 kỹ thuật mô hình hóa hướng đối tượng

• Kỹ thuật nổi tiếng nhất


• OOD (Thiết kế hướng đối tượng)
• OOSE (Kỹ thuật phần mềm hướng đối tượng)
• OMT ( Kỹ thuật mô hình hóa đối tượng )

12
kỹ thuật OMT
• Được phát triển bởi Jim Rumbaugh (1991)
• Gồm 3 loại mô hình chính
• Mô hình đối tượng: Sơ đồ đối tượng
• Mô hình động: Sơ đồ trạng thái
• Mô hình chức năng: Sơ đồ luồng dữ liệu

Sơ đồ luồng dữ liệu OMT

Sơ đồ đối tượng OMT Sơ đồ trạng thái OMT


13
kỹ thuật OOD

• Được phát triển bởi Grady Booch (1991)


• Bao gồm
• Chế độ xem tĩnh
• Sơ đồ lớp
• Sơ đồ đối tượng
• Sơ đồ mô-đun
• Chế độ xem động
• Sơ đồ chuyển trạng thái
• Sơ đồ quá trình
• Sơ đồ tương tác

14
Kỹ thuật OOSE

• Được phát triển bởi Ivar Jacobson (1992)


• Gồm 5 mẫu
• Mô hình yêu cầu: Sơ đồ miền vấn đề, Sơ đồ ca sử dụng
• Mô hình phân tích: Sơ đồ phân tích
• Mô hình thiết kế: Sơ đồ chuyển trạng thái, Sơ đồ tương tác
• Mô hình triển khai
• Mô hình thử nghiệm

15
Lịch sử của UML

• kỹ thuật mô hình hóa hướng đối tượng


• Cần tiêu chuẩn hóa
• Thống nhất các kỹ thuật mô hình hóa
• Năm 1994
• Rumbaugh và Booch đã thống nhất các phương pháp tiếp cận của họ cho dự án UML tại Rational Software
• Vào năm 1995
• Phiên bản đầu tiên được phát hành với tên gọi “Unified Method” v0.8
• Năm 1996
• Jacobson gia nhập đội
• Vào năm 1997
• Sự ra đời của UML v0.9 tích hợp OOSE
• Hội nghị đầu tiên của UML được tổ chức
• Năm 2005, UML 2.0 được phát hành
• Sơ đồ mới, cải tiến sơ đồ hiện có
• Vào tháng 9 năm 2013, UML v.2.5 RTF - Beta 2
• Vào tháng 6 năm 2015, UML v.2.5

16
Lịch sử của UML

• Đóng góp cho UML


HP Fusion
Mô tả hoạt động, Harel
đánh số tin nhắn Máy trạng thái hữu hạn

Gamma
Khung, mẫu
Wirfs-Brock
Trách nhiệm
Booch
OOD

Rumbaugh Shlear-Mellor
OMT Vòng đời của đồ vật

Jacobson
OOSE
Embley
Myers Lớp học đơn,
Điều kiện trước và sau
Odell
Phân loại tổng hợp các đối tượng

17
Giới thiệu về UML

• UML (Ngôn ngữ mô hình hóa thống nhất) là ngôn ngữ mô hình hóa
• bao gồm từ vựng, cú pháp và ngữ nghĩa
• cho phép thể hiện một hệ thống ở các cấp độ khác nhau: khái niệm, vật lý
• bao gồm từ vựng và quy tắc để mô tả các mô hình khác nhau đại diện cho một hệ thống

• UML
• không phải là một phương pháp hay một quá trình
• cho phép tự do thiết kế
• có thể được kết hợp với một số quy trình phát triển

18
Giới thiệu về UML

• UML là ngôn ngữ trực quan


• sử dụng biểu diễn đồ họa
• cung cấp cái nhìn tốt hơn về hệ thống (nhờ biểu diễn đồ họa)
• UML là ngôn ngữ đặc tả
• cho phép chỉ định một hệ thống mà không mơ hồ
• cho phép chỉ định một hệ thống ở các giai đoạn khác nhau: phân tích, thiết kế, triển khai
• UML là ngôn ngữ xây dựng
• cho phép mô phỏng hệ thống
• Các mô hình UML có thể dễ dàng chuyển đổi thành mã nguồn
• UML là ngôn ngữ tài liệu
• cho phép mô tả tất cả các giai đoạn phát triển của hệ thống
• Các mô hình được xây dựng là tài liệu hoàn chỉnh của hệ thống

19
Giới thiệu về UML: sơ đồ

• Gồm 10 sơ đồ chính
• Yêu cầu người mẫu
• Sơ đồ ca sử dụng
• Cấu trúc tĩnh người mẫu
• Sơ đồ lớp
• Sơ đồ đối tượng
• Hành vi động al người mẫu
• Sơ đồ tương tác
• Sơ đồ trình tự
• Sơ đồ truyền thông
• Sơ đồ hoạt động
• Sơ đồ trạng thái
• Mô hình kiến trúc
• Sơ đồ gói
• Sơ đồ thành phần
• Sơ đồ triển khai
20
Giới thiệu về UML: Sơ đồ ca sử dụng

• Hiển thị các ứng dụng có thể có của một hệ thống


• Mô tả góc nhìn tĩnh của hệ thống theo góc nhìn của người dùng
• Rất quan trọng để hiểu các chức năng của hệ thống

Quản lý người dùng


• Ví dụ thêm người dùng

xóa người dùng


<<sử dụng>>
Tìm người dùng
quản trị viên
sửa đổi người dùng

21
Giới thiệu về UML: sơ đồ lớp

• Mô tả các lớp và mối quan hệ của chúng


• Mô tả chế độ xem tĩnh của hệ thống

• Ví dụ
Đa giác

Hình bình hành Tam giác

Hình chữ nhật Viên ngậm

Quảng trường

22
Giới thiệu về UML: sơ đồ đối tượng
• Mô tả một tập hợp các đối tượng và mối quan hệ của chúng
• Sơ đồ đối tượng thể hiện thông tin giống như sơ đồ lớp nhưng ở cấp độ thể hiện của các lớp
• Mô tả chế độ xem tĩnh của hệ thống
• Ví dụ

Sơ đồ lớp Trường đại học Khoa

CS :Khoa

VKU :Đại học CE :Khoa


Sơ đồ đối tượng

DE :Khoa

23
Giới thiệu về UML: sơ đồ tương tác

• Mô tả hành vi của hệ thống bằng sự tương tác giữa các đối tượng soạn thảo
• người mẫu cái nhìn năng động của hệ thống
• Sơ đồ tương tác là phần mở rộng của sơ đồ đối tượng bằng cách mô tả sự tương tác giữa các đối
tượng
• Gồm hai loại sơ đồ
• Sơ đồ trình tự mô tả sự tương tác giữa các đối tượng với sự nhấn mạnh vào trình tự các
thông điệp
• Sơ đồ giao tiếp mô tả sự tương tác giữa các vật thể với sự nhấn mạnh vào cấu trúc của vật
thể

24
Giới thiệu về UML: sơ đồ tương tác

• Ví dụ về sơ đồ trình tự

: Tài liệu : Số fax : Đường dây điện thoại


gọi()
gọi()
mờiÂm thanh
soạn(số)
soạn, biên soạn đã kết nối
Gửi trang) chuyển (trang)

Sơ đồ trình tự “Gửi fax”

25
Giới thiệu về UML: sơ đồ tương tác

• Ví dụ về sơ đồ truyền thông

1.1: gọi()
1: gọi() 1.3: soạn(num)
3: gửi(trang) 3.1: chuyển(trang)
:Tài liệu :Số fax :Đường dây điện thoại
2: đã kết nối() 1.2: được mờiSound()
1.4: đã kết nối
Sơ đồ truyền thông “Gửi fax”

26
Giới thiệu về UML: sơ đồ hoạt động

• Mô tả các luồng thông tin trong hệ thống


• Làm người mẫu cái nhìn năng động của hệ thống

• Ví dụ: Pha cà phê

27
Giới thiệu về UML: sơ đồ trạng thái
• Mô tả hành vi bên trong của hệ thống
• Mô hình hóa khung nhìn động của hệ thống
• Ví dụ

Sơ đồ trạng thái “Tài khoản mua sắm trực tuyến”


28
Giới thiệu về UML: Sơ đồ gói
• Gói
• Phần tử phổ quát được sử dụng để tổ chức các lớp hoặc một số nhóm khác thành một nhóm
• Sơ đồ gói
• Hiển thị các gói và mối quan hệ giữa các gói.
• Ví dụ
Hệ thống

Khách hàng Sản phẩm

cơ sở dữ liệu
Giao diện

2
Giới thiệu về UML: sơ đồ thành phần

• Mô tả cách tổ chức các thành phần khác nhau của hệ thống


• Cái nhìn tĩnh về tổ chức của hệ thống
• Ví dụ

Sơ đồ thành phần “Trang web mua sắm trực tuyến”


30
Giới thiệu về UML: sơ đồ triển khai

• Mô tả tổ chức vật lý của các thành phần (máy móc) khác nhau của hệ thống (vật liệu)

Một ví dụ về sơ đồ triển khai ứng dụng web JEE

31
Giới thiệu về UML: cơ chế mở rộng

• Cơ chế mở rộng tích hợp


• khuôn mẫu
• Giá trị được gắn thẻ
• Ghi chú
• Hạn chế
• ngôn ngữ văn bản OCL

32
Giới thiệu về UML: cơ chế chung
• khuôn mẫu
• là một cơ chế mở rộng tích hợp
• mở rộng vốn từ vựng của UML
• được sử dụng để tạo các loại phần tử UML mới xuất phát từ các loại hiện có nhưng được
điều chỉnh cho phù hợp với một vấn đề nhất định
• có những khuôn mẫu được xác định trước trong UML
• Ký hiệu
• “tên của khuôn mẫu”
• Khả năng giới thiệu một biểu tượng
" tính thiết thực "
" Diễn viên "
Khách hàng Toán học
Khách hàng

« hệ thống con » " loại dữ liệu "


Giao diện người dùng Trôi nổi

33
Giới thiệu về UML: cơ chế chung

• Giá trị được gắn thẻ


• Một cơ chế mở rộng khác
• Cung cấp thông tin bổ sung về các thành phần của UML
• Cặp loại {name = value}
• Ví dụ

Lớp học
{tác giả = NTB,
phiên bản = 2.0}

34
Giới thiệu về UML: cơ chế chung

• Ghi chú
• là những nhận xét gắn liền với một hoặc nhiều phần tử mô hình hóa
• cung cấp thông tin bổ sung về các yếu tố mô hình
• thuộc về quan điểm, không thuộc về mô hình

35
Giới thiệu về UML: cơ chế chung

• Hạn chế
• là những hạn chế giới hạn việc sử dụng một phần tử hoặc phần tử ngữ nghĩa
• được thể hiện bằng ngôn ngữ tự nhiên
• được thể hiện bằng OCL (Ngôn ngữ ràng buộc đối tượng)
• Ví dụ

Hình chữ nhật Tài khoản ngân hàng


chiều rộng:int {chiều rộng > 0}
chiều cao:int {chiều cao > 0}
{xor}

Cá nhân sinh vật

36
Giới thiệu về UML: lượt xem

• Một hệ thống được mô hình hóa theo 5 khung nhìn khác nhau trong UML

Chế độ xem tĩnh Phối cảnh kiến trúc

Lượt xem của người dùng

Chế độ xem động Chế độ xem triển khai

37
Giới thiệu về UML: lượt xem

• Sơ đồ và khung nhìn

Chế độ xem tĩnhPhối cảnh kiến trúc


Sơ đồ lớpSơ đồ gói
Sơ đồ đối tượngSơ đồ thành phần

Chế độ xem người dùng


Sơ đồ ca sử dụng

Chế độ xem động


Chế độ xem triển khai
Sơ đồ tương tác
Sơ đồ triển khai
Sơ đồ trạng thái
Sơ đồ hoạt động

38

You might also like