BÀI 6 NHỮNG NÉT CHUNG NHẤT KỸ NGHỆ PHẦN MỀM HƯỚNG ĐỐI TƯỢNG

Giảng viên: ThS. Thạc Bình Cường

1 1

v2.0013112205

TÌNH HUỐNG KHỞI ĐỘNG

• Quá trình phân tích hệ thống truyền thống đã tách rời giữa xử lý và dữ liêu đã và

đang tồn tại. Sự thành công bền vững bởi tính cô lập và đơn giản trong thiết kế.

• Tuy nhiên nhược điểm chính của cách tiếp cận truyền thống là ở chỗ không kế thừa

và khả năng trừu tượng kém.

2

v2.0013112205

• Để khắc phục nhược điểm của phương pháp phân tích hướng cấu trúc thì Phân tích thiết kế hướng đối tượng đã ra đời và tạo ra một cách tiếp cận mới với các công cụ hỗ trợ siêu việt cho PTTK.

MỤC TIÊU

Phân biệt phương pháp phân tích cấu trúc và hướng đối tượng;

Xác định sự cần thiết của cách tiếp cận hướng đối tượng đối phân tích và thiết kế HTTT hiện đại;

Xây dựng được các sơ đồ phân tích thiết kế hướng đối tượng thông qua ngôn ngữ UML;

3

v2.0013112205

Thực hành phân tích hệ thống bằng phương pháp hướng đối tượng.

NỘI DUNG

1 Xây dựng các sơ đồ use-case (Use Case Diagram);

2 Viết các phần mô tả tình huống và Use Case;

3 Phát triển các sơ đồ hoạt động (Activity Diagram) và các sơ đồ trình tự hệ thống (System Sequence Diagram);

4 Cải tiến và tăng cường sơ đồ lớp mô hình miền (Domain Model Class Diagram);

4 4

v2.0013112205

5 Giải thích cách thức sơ đồ UML kết hợp để xác định các yêu cầu chức năng cho việc tiếp cận hướng đối tượng.

TỔNG QUÁT

• Mục tiêu của việc xác định các yêu cầu chính là hiểu nhu cầu của người sử dụng, quy trình kinh doanh và hệ thống hỗ trợ cho các quy trình kinh doanh;

• Hiểu và xác định các yêu cầu cần thiết cho một hệ thống mới sử dụng các kỹ

thuật và các mô hình phân tích hướng đối tượng;

• Ranh giới giữa phân tích hướng đối tượng và thiết kế hướng đối tượng tương

đối mơ hồ:

 Phương hướng lặp để phát triển;

 Các mô hình được dựng sẵn trong phân tích được cải tiến trong quá trình

5 5

v2.0013112205

thiết kế.

1. NGÔN NGỮ MÔ HÌNH HỢP NHẤT VÀ NHÓM QUẢN LÝ ĐỐI TƯỢNG

• Ký hiệu mô hình hướng đối tượng là ngôn ngữ mô hình hợp nhất (UML- Unified

Modeling Language);

• UML được đại diện cho nhóm quản lý đối tượng (OMG - Object Management

Group) như là kỹ thuật mô hình tiêu chuẩn;

• Mục đích của nhóm quản lý đối tượng:

 Thúc đẩy học thuyết và thực hành của công nghệ đối tượng để phát triển

các hệ thống phân phối;

6 6

v2.0013112205

 Cung cấp khung cấu trúc thông thường cho OOA, OOP.

2. CÁC YÊU CẦU HƯỚNG ĐỐI TƯỢNG

• Các yêu cầu về hệ thống hướng đối tượng được đặc tả và viết thành văn bản thông

qua quá trình xây dựng các mô hình;

• Quá trình phát triển các hệ thống bắt đầu với việc xác định các yếu tố và sự kiện;

• Sự kiện là các qui trình nghiệp vụ mà hệ thống mới cần phải hướng đến;

7 7

v2.0013112205

• Yếu tố là các đối tượng trong phạm vi vấn đề nảy sinh trong quá trình kinh doanh.

3. CÁC MÔ HÌNH TIẾP CẬN ĐỐI TƯỢNG

• Sơ đồ lớp (Class diagram) – xác định các thành phần hệ thống;

• Các sơ đồ use-case và các mô tả use-case – chỉ ra các vai trò của người sử dụng và

cách thức họ sử dụng hệ thống;

• Các sơ đồ trình tự hệ thống (Systems sequence diagrams- SSDs) – xác định dữ liệu đầu vào, dữ liệu đầu ra và trình tự tương tác giữa người sử dụng và hệ thống ở một use case;

• Sơ đồ trạng thái (Statechart diagrams) – miêu tả trạng thái của mỗi đối tượng;

8 8

v2.0013112205

• Sơ đồ hoạt động (Activity diagrams) – mô tả các hoạt động của người sử dụng.

CÁC SƠ ĐỒ YÊU CẦU MÔ HÌNH TRUYỀN THỐNG VÀ MÔ HÌNH 00

Bảng sự kiện và các sự kiện

Các vật

Sơ đồ lớp

Sơ đồ thực thể mối quan hệ

Tiếp cận truyền thông

Tiếp cận hướng đối tượng

Sơ đồ ngữ cảnh

Phân đoạn DFD

Sơ đồ tình huống sử dụng

Mô tả tình huống sử dụng

Mô tả quy trình

Sơ đồ hoạt động

Xác định luồn dữ liệu

Sơ đồ trình tự hệ thống

Sơ đồ trạng thái

Mô hình truyền thông khác

9 9

v2.0013112205

CÂU HỎI TƯƠNG TÁC

10

v2.0013112205

Căn cứ vào sơ đồ trên hãy nêu bật các khác nhau giữa hai phương pháp phân tích thiết kế: SADT, OOA, OOD?

4. CÁC HOẠT ĐỘNG HỆ THỐNG – QUAN SÁT MỘT TÌNH HUỐNG / 1 USE-CASE

• Phân tích một usecase được dùng để xác định và nhận dạng tất cả các quy

trình nghiệp vụ mà hệ thống cần phải hỗ trợ;

• Usecase - chức năng đơn lẻ do hệ thống thực hiện cho tất cả những người

sử dụng chức năng đó;

• Tác nhân:

 Vai trò người sử dụng;

11 11

v2.0013112205

 Tổ chức và đường bao tự động bên ngoài.

4.1. BIỂU ĐỒ USE - CASE

• Các mô hình hình hoạ tóm tắt các thông tin về tác nhân và các use-case;

• Người phát triển hệ thống:

 Nhìn nhận hệ thống một cách tổng thể;

 Nhận dạng các sử dụng chính từ bảng sự kiện;

 Nhận dạng các chức năng cần phải được hệ thống mới hỗ trợ;

12 12

v2.0013112205

 Tổ chức các use-case.

4.2. USE – CASE ĐƠN GIẢN VỚI CHỈ MỘT TÁC NHÂN

13 13

v2.0013112205

4.3. BIỂU ĐỒ USE – CASE VỚI ĐƯỜNG BAO HỆ THỐNG

Sơ đồ trường hợp sử dụng cho hệ thống nhận đặt hàng phụ RMO, minh họa đường bao hệ thống

Đường bao hệ thống

Tra cứu các mặt hàng sẵn có

Tạo đơn đặt hàng mới

Khách hàng

Nhân viên bán hàng

Cập nhật đơn đặt hàng

14 14

v2.0013112205

4.4. USE – CASE HỆ THỐNG HỖ TRỢ KHÁCH HÀNG

15

v2.0013112205

4.5. TOÀN BỘ CÁC USE – CASE CHO KHÁCH HÀNG

16

v2.0013112205

CÂU HỎI TƯƠNG TÁC

17

v2.0013112205

Hãy trình bầy biểu đồ Use – Case?

5. CÁC MỐI QUAN HỆ “BAO HÀM”

• Minh hoạ tình huống mà một use-case đòi hỏi các dịch vụ thường trình con

phổ biến;

• Use-case khác được phát triển cho thường trình con phổ biến này;

18

v2.0013112205

• Một use-case phổ biến có thể được dùng lại ở các use-case khác.

VÍ DỤ: VỀ HỆ THỐNG CON VỚI CÁC USE – CASE <>

19

v2.0013112205

6. PHÁT TRIỂN MỘT SƠ ĐỒ USE - CASE

• Các điểm khởi đầu cho việc phát triển một use-case;

• Sử dụng bảng sự kiện:

 Nhận dạng tất cả các tác nhân của hệ thống;

 Nhận dạng các chức năng và vai trò của các tác nhân trong hệ thống.

• Phát triển luồng hoạt động để tạo các tình huống đa dạng;

• Các use-case bên trong thông thường có thể được nhận dạng và tách thành

20

v2.0013112205

các use-case khác nhau.

7. PHÂN TÍCH CRUD

• CRUD – Tạo (Create), đọc /báo cáo (Read/Report), cập nhật (Update), xoá (Delete);

• Kỹ thuật công nghệ thông tin (IE - Information Engineering) để tạo các bảng sự kiện

hoặc phát triển sơ đồ use case;

• So sánh use case được nhận dạng với sơ đồ lớp mô hình domain;

• Mọi lớp trong sơ đồ lớp đều phải có các use-case để hỗ trợ tạo lập, đọc, báo cáo, cập

nhật và xoá bỏ các thể hiện đối tượng;

21

v2.0013112205

• Xác nhận các yêu cầu tích hợp hệ thống.

8. MÔ TẢ CHI TIẾT USE - CASE

• Tình huống hoặc ví dụ use-case: Trình tự chi tiết các hoạt động xảy ra

trong use-case;

• Hiển thị tác nhân tương tác với hệ thống máy tính từng bước một để

thực hiện các hoạt động kinh doanh;

• Có thể có vài tình huống cho một use-case đơn;

• Các nhà phân tích thích viết các mô tả tường thuật cho các use-case

thay vì lập các sơ đồ hoạt động;

• Ba mức mô tả: Tóm tắt, trung bình và chi tiết.

Mô tả Creat new order:

Khi khách hàng gọi điện đến để đặt hàng, nhân viên bán

hàng và hệ thống xác minh thông tin khách hàng, bổ sung

các mặt hàng theo đơn, xác nhận thanh toán thực hiện

giao dịch đơn hàng và kết thúc đơn hàng.

22

v2.0013112205

VÍ DỤ 1 ĐƠN ĐẶT HÀNG MÔ TẢ TRUNG BÌNH TÌNH HUỐNG ĐẶT HÀNG QUA ĐIỆN THOẠI CHO CREATE NEW ORDER

23 23

v2.0013112205

VÍ DỤ 2 MÔ TẢ CHI TIẾT TÌNH HUỐNG ĐẶT HÀNG QUA WEB CHO CREATE NEW ORDER

24 24

v2.0013112205

VÍ DỤ 3 MÔ TẢ CHI TIẾT TÌNH HUỐNG ĐẶT HÀNG QUA ĐIỆN THOẠI CHO CREATE NEW ORDER

25 25

v2.0013112205

9. CÁC SƠ ĐỒ HÀNH ĐỘNG

• Được dùng để minh chứng cho các luồng công việc của các hoạt động trong các quy

trình kinh doanh cho mỗi tình huống usecase;

• Sơ đồ UML tiêu chuẩn;

• Có thể hỗ trợ bất cứ mức độ mô tả use-case nào;

26 26

v2.0013112205

• Hữu ích trong việc phát triển các sơ đồ trình tự hệ thống.

9. CÁC SƠ ĐỒ HÀNH ĐỘNG

27 27

v2.0013112205

10. NHẬN DẠNG DỮ LIỆU ĐẦU RA VÀ ĐẦU VÀO – SƠ ĐỒ TRÌNH TỰ HỆ THỐNG

• Sơ đồ kết hợp (Collaboration diagram):

 Nhấn mạnh các đối tượng tương tác với nhau để hỗ trợ cho một sơ đồ use-case;

 Có thể được sử dụng riêng hoặc kết hợp với sơ đồ trình tự.

• Sơ đồ trình tự hệ thống (System sequence diagram):

 Hiển thị trình tự các tương tác giữa các đối tượng và dòng sự kiện trong một use-

case đơn;

 Tập trung vào các chi tiết thông điệp;

28 28

v2.0013112205

 Được sử dụng thường xuyên hơn trong ngành công nghiệp.

10.1. MẪU VỀ SƠ ĐỒ TRÌNH TỰ HỆ THỐNG (SSD)

Actor tương tác với hệ thống

Đối tượng (được gạch chân) hiển thị hệ thống tự động

Hệ thống

Message dữ liệu đầu vào

Yêu cầu thông tin: catalogID, prodID, Size

Đường đời của đối tượng, hiển thị các message “trình tự” từ trên xuống dưới

Thông tin

Thông tin: Mô tả, giá, chất lượng

Message dữ liệu đầu ra

Các chú thích tùy chọn để giải thích cho sơ đồ

29 29

v2.0013112205

10.2. CÁC CHÚ THÍCH SSD

• Actor (tác nhân) được minh hoạ bằng những hình người dây - người (hoặc vai diễn) “tương tác” với hệ thống bằng cách nhập dữ liệu đầu vào và nhận các dữ liệu đầu ra;

• Object notation (chú thích đối tượng) hình chữ nhật với tên của đối tượng được gạch chân bên dưới - thể hiện đối tượng đơn và không phải là một lớp tất cả các đối tượng giống nhau;

• Lifeline (đường đời) là một dòng thẳng đứng dưới đối tượng hoặc tác nhân để thể

hiện bước thời gian cho đối tượng;

• Messages (thông điệp) sử dụng các hình mũi tên hiển thị các thông điệp của tác nhân

30 30

v2.0013112205

trong hệ thống đã được gửi hoặc nhận.

10.3. ĐƯỜNG ĐỜI SSD (SSD LIFELINES)

• Đường thẳng nằm ngang dưới đối tượng hoặc tác nhân: Thể hiện sự trôi qua

của thời gian;

• Nếu đường nằm dọc gạch ngang: Tạo lập và Phá huỷ những thứ không quan

trọng cho tình huống;

• Các hình chữ nhật hẹp dài: Sự kích hoạt của Lifelines nhấn mạnh rằng đối

31 31

v2.0013112205

tượng được kích hoạt chỉ trong khi là một phần của tình huống.

10.4. THÔNG ĐIỆP SSD

Lặp lại thông điệp SSD

Lặp lại mọi thứ trong hình chữ nhật

• Sự kiện bên trong được nhận dạng bởi các luồng đối tượng bên trong một tình huống;

• Các yêu cầu thực hiện một hành động nào đó từ một tác nhân hay đối tượng này tới tác nhân hay đối tượng khác;

Kiểm tra điều kiện để lặp lại

(a) Chú thích chi tiết

(b) Chú thích thay thế

32 32

v2.0013112205

• Cầu viện một phương thức cụ thể.

CÂU HỎI TƯƠNG TÁC

33

v2.0013112205

Nêu các ứng dụng có thể áp dụng phương pháp phân tích hướng đối tượng OOD?

11. PHÁT TRIỂN MỘT SƠ ĐỒ TRÌNH TỰ HỆ THỐNG

• Bắt đầu bằng mô tả chi tiết của use-case từ hình thức đã được phát triển đầy đủ

hoặc các sơ đồ hoạt động;

• Nhận dạng các thông điệp dữ liệu đầu vào;

• Mô tả thông điệp từ tác nhân bên ngoài cho hệ thống bằng cách sử dụng các kí

hiệu thông điệp;

• Nhận dạng và bổ sung bất kỳ các điều kiện đặc biệt nào trong thông điệp dữ liệu

đầu vào, bao gồm cả các điều kiện đúng/sai và lặp lại;

34 34

v2.0013112205

• Nhận dạng và bổ sung các thông điệp phản hồi đầu ra.

11.1. SƠ ĐỒ HOẠT ĐỘNG TÌNH HUỐNG ĐẶT HÀNG QUA ĐIỆN THOẠI ĐÃ ĐƠN GIẢN HÓA

35 35

v2.0013112205

11.2. SSD TÌNH HUỐNG ĐẶT HÀNG QUA ĐIỆN THOẠI CHO USE – CASE CREATE NEW ORDER

36 36

v2.0013112205

11.3. SSD TÌNH HUỐNG ĐẶT HÀNG QUA WEB CHO USE – CASE CREATE NEW ORDER

37 37

v2.0013112205

12. THIẾT LẬP MÔ HÌNH MIỀN VẤN ĐỀ - SƠ ĐỒ LỚP MÔ HÌNH MIỀN

• Sơ đồ lớp là trọng tâm của sự phát triển hướng đối tượng;

• Cung cấp định nghĩa các thành phần của hệ thống;

• Chứa đựng các thông tin cấu trúc lớp quan trọng cho việc hoàn thiện lập trình

hướng đối tượng;

• Cung cấp các mô hình dữ liệu khái niệm để mô tả các lớp cho việc xác định cơ sở

dữ liệu;

38 38

v2.0013112205

• Gồm các lớp vùng vấn đề (problem domain) và các lớp hoàn thiện.

12. THIẾT LẬP MÔ HÌNH MIỀN VẤN ĐỀ - SƠ ĐỒ LỚP MÔ HÌNH MIỀN

39 39

v2.0013112205

12.1. SƠ ĐỒ PHÂN LỚP MÔ HÌNH MIỀN RMO

40 40

v2.0013112205

12.2. TÍNH HỢP CÁC MÔ HÌNH HƯỚNG ĐỐI TƯỢNG

• Sơ đồ use-case hoàn chỉnh rất cần thiết để có thể hiểu hết toàn bộ phạm vi của hệ

thống mới;

• Các sơ đồ lớp mô hình miền cũng nên hoàn chỉnh ở mức có thể cho toàn hệ thống;

• Bằng phương pháp lặp, chỉ xây dựng các mô tả use-case, các sơ đồ hoạt động, và

các sơ đồ trình tự hệ thống cho các use-case trong tình huống lặp;

41 41

v2.0013112205

• Việc phát triển một sơ đồ mới thường giúp cải tạo và hiệu chỉnh các sơ đồ trước.

12.3. MỐI QUAN HỆ GIỮA CÁC MÔ HÌNH YÊU CẦU 00

Sơ đồ

Sơ đồ lớp

tình huống sử dụng

Mô tả

Sơ đồ hoạt động

tình huống sử dụng

Sơ đồ

trình tự hệ thống

42 42

v2.0013112205

VÍ DỤ SƠ ĐỒ USE – CASE CHO HỆ THỐNG KIỂM KÊ

43 43

v2.0013112205

TÓM LƯỢC CUỐI BÀI

• Phương pháp hướng đối tượng có các thiết lập sơ đồ hoàn chỉnh cùng với các tài liệu theo nhu cầu của người sử dụng và xác định các yêu cầu hệ thống;

• Các yêu cầu được cụ thể bằng cách sử dụng các mô hình sau:

 Các sơ đồ lớp mô hình miền (Domain model class);

 Các sơ đồ tình huống ứng dụng (Use case diagrams);

 Mô hình chi tiết của use-case, hoặc là các định dạng kiểu mô tả hoặc là

sơ đồ hoạt động;

44 44

v2.0013112205

 Các sơ đồ trình tự hệ thống (SSDs).