Chủ đề 2: Khảo sát hiện trạng & Xác định yêu cầu

COMP1026 – Introduction to Software Engneering Chapter 2b - 1 HIENLTH

Phần 2 ĐẶC TẢ YÊU CẦU

COMP1026 – Introduction to Software Engneering Chapter 2b - 2 HIENLTH

Đặc tả yêu cầu

• Đặc tả yêu cầu là quá trình bổ sung các

thông tin vào tài liệu xác định yêu cầu và phát triển các mô hình phân tích

• Quan trọng vì chi phí sửa đổi cao nếu gặp

sai sót

COMP1026 – Introduction to Software Engneering Chapter 2b - 3 HIENLTH

Đặc tả yêu cầu

• Có thể sử dụng các mô hình/lược đồ sau

để mô tả yêu cầu của khách hàng – Use-case diagram (OOM) – Activity diagram (OOM) – Business Process Model (BPM) – Requirement Model (RM) – Data Flow Diagram (DFD)

COMP1026 – Introduction to Software Engneering Chapter 2b - 4 HIENLTH

Mô hình hoá yêu cầu

• Vấn đề: Các mô tả về yêu cầu trong giai

đoạn xác định yêu cầu: – Chỉ mô tả các thông tin liên quan đến việc thực hiện các nghiệp vụ trong thế giới thực.

– Chưa thể hiện rõ nét việc thực hiện các

nghiệp vụ này trên máy tính.

– Mô tả thông qua các văn bản dễ gây ra nhầm

lẫn và không trực quan.

COMP1026 – Introduction to Software Engneering Chapter 2b - 5 HIENLTH

Mô hình hoá yêu cầu

• Mục tiêu:

– Mô hình hóa thế giới thực với các yêu cầu đã

xác định, giải quyết các vấn đề trên.

• Kết quả:

– Sơ đồ luồng dữ liệu của từng công việc – Sơ đồ phối hợp giữa các công việc

• Sơ đồ luồng dữ liệu:

– Là sơ đồ biểu thị các thông tin liên quan đến việc thực hiện các nghiệp vụ trong thế giới thực bên trong máy tính.

COMP1026 – Introduction to Software Engneering Chapter 2b - 6 HIENLTH

Nội dung

• Mô hình hóa yêu cầu: – Lược đồ Use-case – Khái niệm Actor và Usecase – Ví dụ

• Mô hình hóa các dòng dữ liệu của mỗi Use-case

– Giới thiệu Mô hình DFD – Sử dụng mô hình DFD để mô hình hóa yêu

cầu lưu trữ, tra cứu, tính toán, kết xuất

COMP1026 – Introduction to Software Engneering Chapter 2b - 7 HIENLTH

Mở đầu

• Đặt vấn đề:

– Các mô tả về yêu cầu trong giai đoạn xác

định yêu cầu: • Chỉ mô tả chủ yếu các thông tin liên quan đến việc thực hiện các nghiệp vụ trong thế giới thực, chưa thể hiện rõ nét việc thực hiện các nghiệp vụ trên máy tính

• Mô tả thông quá các văn bản dễ gây ra nhầm lẫn

và không trực quan  Mô hình hóa yêu cầu

COMP1026 – Introduction to Software Engneering Chapter 2b - 8 HIENLTH

Use Case Diagram

• Ghi nhận chức năng hệ thống dưới góc nhìn của

người sử dụng

• Được xây dựng trong giai đoạn đầu của quy

trình

• Mục tiêu:

– Đặc tả ngữ cảnh của 01 hệ thống – Nắm bắt các yêu cầu của hệ thống – Xác nhận tính hợp lệ của kiến trúc hệ thống – Định hướng quá trình cài đặt và phát sinh các trường

hợp test

• Được dùng bởi nhà phân tích

COMP1026 – Introduction to Software Engneering Chapter 2b - 9 HIENLTH

Khái niệm Actor

Tác nhân BÊN NGOÀI hệ thống Có tương tác với hệ thống

Tên Actor

Con người

Phần mềm

Phần mềm khác

Phần cứng

COMP1026 – Introduction to Software Engneering Chapter 2b - 10 HIENLTH

Actor  Nhóm người sử dụng

Tác nhân BÊN NGOÀI hệ thống Có tương tác với hệ thống

Tên Actor

Con người

Phần mềm

Phần mềm khác

Phần cứng

COMP1026 – Introduction to Software Engneering Chapter 2b - 11 HIENLTH

Ví dụ Xét phần mềm Quản lý học sinh cấp III

STT

Yêu cầu

Nhóm người dùng

1

Tiếp nhận học sinh

Giáo vụ?

2

Lập danh sách lớp

Giáo vụ?

3

Tra cứu học sinh

Mọi người? Phụ huynh? Học sinh?

4

Nhận bảng điểm môn

Giáo viên? Giáo vụ?

5

Xem báo cáo tổng kết

Ban giám hiệu?

6

Thay đổi quy định

Ban giám hiệu? Quản trị hệ thống?

 Một nhóm người dùng tương ứng với một Actor  Mỗi Nhóm người dùng (Actor) được quyền sử dụng một hay nhiều

chức năng trong hệ thống

 Một chức năng có thể cho phép nhiều Nhóm người dùng sử dụng  Nhiều nhóm người dùng có cùng các quyền hạn giống nhau  Nên xét là 1 Actor hay nhiều Actor?  Việc xác định Actor phụ thuộc ngữ cảnh và quy trình thực tế

COMP1026 – Introduction to Software Engneering Chapter 2b - 12 HIENLTH

Ví dụ Xét phần mềm Quản lý thư viện

STT

Yêu cầu

Nhóm người dùng

Lập thẻ độc giả

1

Thủ thư

Nhận sách mới

2

Thủ thư

Tra cứu sách

3

Thủ thư? Độc giả? Khách bất kỳ?

Lập phiếu mượn

4

Thủ thư

Nhận trả sách

5

Thủ thư

6

Thay đổi quy định

Thủ thư? Quản trị hệ thống?

COMP1026 – Introduction to Software Engneering Chapter 2b - 13 HIENLTH

Actor  Phần cứng ngoại vi

Tác nhân BÊN NGOÀI hệ thống Có tương tác với hệ thống

Tên Actor

Con người

Phần mềm

Phần mềm khác

Phần cứng

COMP1026 – Introduction to Software Engneering Chapter 2b - 14 HIENLTH

Ví dụ

• Ví dụ:

– Phần mềm quản lý Siêu thị:

– Phần mềm quản lý cửa tự động:

• Đọc thông tin từ thiết bị đọc mã vạch Các thiết bị ngoại vi mà phần mềm cần tương tác

– Phần mềm quản lý ra vào các phòng trong công sở

• Đọc thông tin từ camera • Phát lệnh điều khiển mở cửa

– Phần mềm chống trộm

• Đọc tín hiệu từ đầu đọc thẻ từ • Phát lệnh điều khiển mở cửa Có cần liệt kê tất cả thiết bị ngoại vi?

• Đọc tín hiệu từ camera, sensor • Phát lệnh điều khiển ra loa, đèn, điện thoại…

COMP1026 – Introduction to Software Engneering Chapter 2b - 15 HIENLTH

Actor  Phần mềm khác

Tác nhân BÊN NGOÀI hệ thống Có tương tác với hệ thống

Tên Actor

Con người

Phần mềm

Phần mềm khác

Phần cứng

COMP1026 – Introduction to Software Engneering Chapter 2b - 16 HIENLTH

Ví dụ

• Kết xuất/nạp dữ liệu từ Excel • Kết xuất dữ liệu báo cáo ra phần mềm gửi email

(Microsoft Outlook, Outlook Express…)

• Phần mềm trung gian kết nối để chuyển đổi email từ dạng Web-based sang POP3 (ví dụ Yahoo!Pop)

• …

COMP1026 – Introduction to Software Engneering Chapter 2b - 17 HIENLTH

Nhận diện các Actor

Trả lời một số câu hỏi như: • Ai là người sử dụng chức năng chính của hệ thống? • Ai cần sự hỗ trợ từ hệ thống để thực hiện công việc

thường nhật của họ?

• Ai phải thực hiện công việc bảo dưỡng, quản trị và giữ

cho hệ thống hoạt động?

• Hệ thống sẽ kiểm soát thiết bị phần cứng nào? • Hệ thống đang xây dựng cần tương tác với những hệ

thống khác hay không ?

• Ai hoặc vật thể nào quan tâm đến hay chịu ảnh hưởng

bởi kết quả mà hệ thống phần mềm tạo ra?

COMP1026 – Introduction to Software Engneering Chapter 2b - 18 HIENLTH

Khái niệm Use-Case

Use-Case

• Một Use-Case là một chuỗi các hành động mà hệ thống thực hiện mang lại một kết quả quan sát được đối với actor. • Có thể hiểu một Use-Case là một chức năng của hệ thống, mang một ý nghĩa nhất định đối với người dùng

COMP1026 – Introduction to Software Engneering Chapter 2b - 19 HIENLTH

Khái niệm Use-Case

Use-Case

• Mỗi use case có các thuộc tính sau:

• Action Steps • Extension Points • Exceptions • Pre-Conditions • Post-Conditions COMP1026 – Introduction to Software Engneering

Chapter 2b - 20 HIENLTH

Khái niệm Use-Case

Use-Case

•Action Steps:

• Mô tả các bước thông thường tương tác thực hiện

giữa người dùng và hệ thống khi Use case này

COMP1026 – Introduction to Software Engneering Chapter 2b - 21 HIENLTH

Khái niệm Use-Case

•Action Steps:

• Chọn chức năng xem thời khóa biểu • Hiển thị màn hình cho phép người dùng chọn thông

tin cần xem gì

• Chọn niên khóa từ danh sách hiện có trong hệ

thống

• Chọn học kỳ từ danh sách hiện có trong hệ thống • Chọn lớp hoặc tên giảng viên cần xem trong danh

sách lớp và giảng viên hiện có trong hệ thống

• Hiển thị thông tin chi tiết thời khóa biểu lớp hoặc

thời khóa biểu của giảng viên

COMP1026 – Introduction to Software Engneering Chapter 2b - 22 HIENLTH

Khái niệm Use-Case

Use-Case

•Extension Points:

• Mô tả các trường hợp ngoại lệ khi sử dụng

Use case này

COMP1026 – Introduction to Software Engneering Chapter 2b - 23 HIENLTH

Khái niệm Use-Case

•Extension Points:

• Nếu người dùng hủy bỏ chức năng xem thời khóa biểu thì hệ thống quay trở lại màn hình trước khi người dùng chọn chức năng xem thời khóa biểu • Nếu người dùng chọn xem thời khóa biểu của tất cả các lớp thì hiển thị TKB của tất cả các lớp các lớp • Người dùng có thể chọn xem thời khóa biểu của tất

cả các giảng viên

• Người dùng có thể in thời khóa biểu của từng lớp • Người dùng có thể in thời khóa biểu của từng giảng

viên

COMP1026 – Introduction to Software Engneering Chapter 2b - 24 HIENLTH

Khái niệm Use-Case

Use-Case

•Exceptions

• Xử lý lỗi xảy ra trong quá trình người dùng

sử dụng chức năng này

COMP1026 – Introduction to Software Engneering Chapter 2b - 25 HIENLTH

Khái niệm Use-Case

•Exceptions

• Người dùng chọn lớp chưa có thông tin, hệ thống báo lỗi và yêu cầu người dùng chọn lớp khác

• Người dùng chọn giảng viên chưa có thông tin, hệ thống báo lỗi và yêu cầu người dùng chọn giảng viên khác

• Trình duyệt không hiển thị được do lỗi javascript, hệ thống báo lỗi và yêu cầu người dùng chọn trình duyệt khác (ví dụ FireFox, Mozila,..) COMP1026 – Introduction to Software Engneering

Chapter 2b - 26 HIENLTH

Khái niệm Use-Case

•Exceptions

• Trình duyệt không hiển thị được do lỗi timeout) hệ đường truyền mạng (Request thống yêu cầu người dùng refresh lại chức năng này

• Trình duyệt không hiển thị được do lỗi kết nối CSDL (Connection) hệ thống yêu cầu người dùng refresh lại chức năng này

• …

COMP1026 – Introduction to Software Engneering Chapter 2b - 27 HIENLTH

Khái niệm Use-Case

Use-Case

•Pre-Conditions

• Điều kiện cần để thực hiện hành động

COMP1026 – Introduction to Software Engneering Chapter 2b - 28 HIENLTH

Khái niệm Use-Case

Use-Case

•Post-Conditions

• Điều kiện cần để kết thúc hành động

COMP1026 – Introduction to Software Engneering Chapter 2b - 29 HIENLTH

Ví dụ

Xét phần mềm Quản lý học sinh cấp III

STT

Yêu cầu

1

Tiếp nhận học sinh

2

Lập danh sách lớp

3

Tra cứu học sinh

4

Nhận bảng điểm môn

5

Xem báo cáo tổng kết

6

Thay đổi quy định

Có bao nhiêu Use-case trong ví dụ này?

Bao gồm cả tính năng Thêm mới, Xóa, và Sửa

COMP1026 – Introduction to Software Engneering Chapter 2b - 30 HIENLTH

Ví dụ

Xét phần mềm Quản lý học sinh cấp III

STT

Yêu cầu

1

Tiếp nhận học sinh

2

Lập danh sách lớp

3

Tra cứu học sinh

4

Nhận bảng điểm môn

5

Xem báo cáo tổng kết

6

Thay đổi quy định

Có bao nhiêu Use-case trong ví dụ này?

Bao gồm cả tính năng Thêm mới, Xóa, và Sửa

COMP1026 – Introduction to Software Engneering Chapter 2b - 31 HIENLTH

Ví dụ

Xét phần mềm Quản lý thư viện

STT

Yêu cầu

1

Lập thẻ độc giả

2

Nhận sách mới

3

Tra cứu học sinh

4

Lập phiếu mượn

5

Nhận trả sách

6

Thay đổi quy định

Có bao nhiêu Use-case trong ví dụ này?

COMP1026 – Introduction to Software Engneering Chapter 2b - 32 HIENLTH

Ví dụ

Phần mềm thí nghiệm mạch điện

STT

Yêu cầu

1

Sắp đặt mạch điện

2

Cung cấp nguồn điện

3

Thay đổi thông số

4

Lưu bài thí nghiệm

5

Lấy lại thí nghiệm

6

Thay đổi quy định

Có bao nhiêu Use-case trong ví dụ này?

COMP1026 – Introduction to Software Engneering Chapter 2b - 33 HIENLTH

Tìm kiếm Use Case

Trả lời một số câu hỏi như: • Actor yêu cầu chức năng gì của hệ thống? • Actor cần phải đọc, tạo, xoá, sửa đổi hoặc lưu

trữ thông tin nào đó của hệ thống không?

• Actor cần thiết phải được cảnh báo về những sự kiện trong hệ thống, hay actor cần phải báo hiệu cho hệ thống về vấn đề nào đó không?

• Hệ thống có thể hỗ trợ một số công việc thường

nhật của actor nào đó hay không?

COMP1026 – Introduction to Software Engneering Chapter 2b - 34 HIENLTH

Tìm kiếm Use Case (tt)

Một số câu hỏi khác cần chú ý: • Hệ thống cần dữ liệu input/ouput nào? Dữ

liệu đó đến từ đâu?

• Những khó khăn nào liên quan đến hiện

thực của hệ thống hiện tại (chẳng hạn hệ thống quản lý bằng giấy tờ nên được thay thế bằng hệ thống quản lý trên máy tính)?

COMP1026 – Introduction to Software Engneering Chapter 2b - 35 HIENLTH

Sơ đồ Use-case

Sự tương tác giữa Actor và Use-case Chiều của mũi tên thể hiện vai trò chủ động trong sự tương tác

Kiểm tra tài khoản

Khách hàng

Rút tiền

COMP1026 – Introduction to Software Engneering Chapter 2b - 36 HIENLTH

Tổng quát hóa giữa các Actor

Người sử dụng

Giáo vụ

Giáo viên

COMP1026 – Introduction to Software Engneering Chapter 2b - 37 HIENLTH

Quan hệ giữa các Use Case

• Use case – Use case

– Dependency: Phụ thuộc

Nhap TKB

<>

Giao vu

Dang Nhap

COMP1026 – Introduction to Software Engneering Chapter 2b - 38 HIENLTH

Quan hệ giữa các Use Case

• Use case – Use case

– Generalization: Kế thừa

Xem TKB

Xem TKB Sinh vien

Xem TKB Giang vien

Giang vien

Sinh vien

COMP1026 – Introduction to Software Engneering Chapter 2b - 39 HIENLTH

Ví dụ minh họa

• Use case diagrams mô tả hệ thống quản lý thời

khóa biểu: – Actor:

• Giáo vụ khoa • Giảng viên • Sinh viên – Use case:

• Xem thời khóa biểu • Nhập thời khóa biểu • Sửa thời khóa biểu • Xóa thời khóa biểu • Đăng nhập

COMP1026 – Introduction to Software Engneering Chapter 2b - 40 HIENLTH

Ví dụ minh họa

• Use case diagram mô tả hệ thống quản lý

thời khóa biểu

COMP1026 – Introduction to Software Engneering Chapter 2b - 41 HIENLTH

Tạo Use case diagram trong Power Designer

• Tạo mới Use Case Diagram ? • Tạo actor • Tạo Use case • Mô tả thuộc tính cho Use case • Tạo mối quan hệ giữa các Use case/actor, use case/use case

• Phát sinh report

COMP1026 – Introduction to Software Engneering Chapter 2b - 42 HIENLTH

Ví dụ: Hệ thống ATM

Một khách hàng có thể muốn gửi tiền vào, rút tiền ra hoặc đơn giản kiểm tra lại số tiền trong tài khoản của anh ta qua máy tự động rút tiền (ATM). Khi đưa tiền vào hoặc rút tiền ra, cần phải ghi ra giấy kết quả những chuyển dịch đã thực hiện và trao tờ giấy này cho khách hàng.

Quan sát các chức năng căn bản và các thành phần tham gia, ta thấy có hai tác nhân dễ nhận ra nhất là khách hàng và ATM. Qua đó, có thể nhận dạng các Use Case sau: • Gửi tiền vào. • Rút tiền ra. • Kiểm tra mức tiền trong tài khoản • Thực hiện các chuyển dịch nội bộ hệ thống • In kết quả các chuyển dịch đã thực hiện.

COMP1026 – Introduction to Software Engneering Chapter 2b - 43 HIENLTH

Ví dụ: Hệ thống ATM (tt)

Các Use case trong hệ thống ATM

COMP1026 – Introduction to Software Engneering Chapter 2b - 44 HIENLTH

Mô tả hoạt động rút tiền từ ATM

1. Use-Case bắt đầu khi khách hàng đưa thẻ tín dụng vào. Hệ thống đọc và kiểm tra thông tin của thẻ. 2. Hệ thống nhắc nhập số PIN. Hệ thống kiểm tra số

PIN.

3. Hệ thống hỏi tác vụ nào khách hàng muốn thực

hiện. Khách hàng chọn “Rút tiền”.

4. Hệ thống hỏi số lượng. Khách hàng nhập số lượng. 5. Hệ thống yêu cầu nhập kiểu tài khoản. Khách hàng

chọn “Tài khoản thẻ”.

6. Hệ thống liên lạc với ATM network . . . Yêu cầu: Vẽ sơ đồ Use Case Diagram mô tả hoạt động

rút tiền của khách hàng.

COMP1026 – Introduction to Software Engneering Chapter 2b - 45 HIENLTH

Ví dụ về đặc tả phần mềm

Mô tả qui trình xử lý nhập học trong ứng dụng

quản lý sinh viên ?

• Đối tượng, bộ phận, phòng ban nào tham gia

vào quy trình ? – Sinh viên – Phòng đào tạo – Văn phòng khoa – Phòng tài chính (nếu cần)

• Thực hiện những công việc gì ?

– Chuẩn bị hồ sơ nhập học – Nộp hồ sơ – Nhập hồ sơ – ….

COMP1026 – Introduction to Software Engneering Chapter 2b - 46 HIENLTH

Ví dụ về đặc tả phần mềm

• Dùng BPM để mô tả quy trình xử lý nhập học.

COMP1026 – Introduction to Software Engneering Chapter 2b - 47 HIENLTH

Ví dụ về đặc tả phần mềm

• Dùng BPM để mô tả quy trình xử lý nhập học.

COMP1026 – Introduction to Software Engneering Chapter 2b - 48 HIENLTH

Ví dụ về đặc tả phần mềm

• Dùng BPM để mô tả quy trình xử lý nhập

học.

COMP1026 – Introduction to Software Engneering Chapter 2b - 49 HIENLTH

Các thành phần trong sơ đồ BPM

SInh Vien

• Organization Unit

Tiep nhan TKB

• Process

CSDL QLSV : 2

• Resource

Kiem tra hop le

• Decision

TKB lop

Xep TKB

CSDL TKB

• Flow/Resource Flow

• Start/End/Synchronization

COMP1026 – Introduction to Software Engneering Chapter 2b - 50 HIENLTH

Sơ đồ luồng dữ liệu (DFD)

• Các ký hiệu

Tác nhân/thiết bị (Người sử dụng, thiết bị phát sinh hay tiếp nhận dữ liệu)

Khối xử lý

Luồng dữ liệu (thông tin)

Bộ nhớ phụ (Hồ sơ, Sổ sách, tập tin, csdl…)

COMP1026 – Introduction to Software Engneering Chapter 2b - 51 HIENLTH

Các cấp sơ đồ

• Các cấp sơ đồ

– Cấp 0: Toàn bộ phần mềm là một khối xử lý – Cấp 1: Sơ đồ cấp 0 có thể phân rã thành

nhiều sơ đồ cấp 1, các sơ đồ cấp 1 này phải đảm bảo thể hiện đầy đủ ý nghĩa sơ đồ cấp 0 (tác nhân, thiết bị, luồng dữ liệu, xử lý, bộ nhớ phụ)

– Cấp 2: Mỗi sơ đồ cấp 1 lại có thể phân rã

thành nhiều sơ đồ cấp 2 tương tự như việc phân rã của sơ đồ cấp 0

– …

COMP1026 – Introduction to Software Engneering Chapter 2b - 52 HIENLTH

Ví dụ: sơ đồ cấp 0

Bo Phan Nghien Cuu Thi Truong

Thong Tin Thi Truong

1

Yeu Cau Lap Dat

Ket Qua Yeu Cau

Quan Ly Lap Dat Thue Bao

Khach Hang

Hop Dong

+

Bang Bao Cao

Yeu Cau Vat Tu Cap

Yeu Cau Vat Tu Tong Dai

Ban Giam Doc

COMP1026 – Introduction to Software Engneering Chapter 2b - 53 HIENLTH

CSDL Yeu Cau Khach Hang

Thong tin Yeu Cau chua duoc dap ung

Bo Phan Nghien Cuu Thi Truong

Du Lieu Yeu Cau

Tinh Trang Yeu Cau Khach Hang

Du Lieu Yeu Cau

[Thong Tin Thi Truong]

1.1

1.4

Yeu Cau Mo Rong

Ví dụ: sơ đồ cấp 1

Xu Ly Yeu Cau

1.2 Xu Ly Yeu Cau Mo Rong

+

Lap Ke Hoach +

[Yeu Cau Lap Dat]

[Ket Qua Yeu Cau]

Bang Ke Hoach

Khach Hang

Cac Yeu Cau Co The Dap Ung

Bang Tai Nguyen

Bang Tai Nguyen

[Hop Dong]

Thong Tin Tong Dai va Tuyen Cap

1.3

Thong Tin Thue Bao

Thong Tin Cap _ Thue Bao

1.5 Lap Dat He Thong va Quan Ly Mang +

Lap Dat Thue Bao +

[Yeu Cau Vat Tu Cap]

[Bang Bao Cao]

[Yeu Cau Vat Tu Tong Dai]

Ban Giam Doc

COMP1026 – Introduction to Software Engneering Chapter 2b - 54 HIENLTH

Sơ đồ tổng quát

Dữ liệu xuất

Dữ liệu nhập

Ý nghĩa từng dòng dữ liệu D1:……………. D2:……………. D3:……………. D4:……………. D5:……………. D6:…………….

D1

D2

D5

Người dùng

D6

Xử lý … Thiết bị xuất Thiết bị nhập

D3

D4

Thuật toán xử lý: -Bước 1:……………… -Bước 2:……………… -Bước 3:……………… -………………………..

Dữ liệu ghi Dữ liệu đọc

COMP1026 – Introduction to Software Engneering Chapter 2b - 55 HIENLTH

Sơ đồ tổng quát cho Yêu cầu lưu trữ

• D1: Thông tin cần lưu trữ (dựa vào

Người dùng

biểu mẫu liên quan)

• D5: Thông tin cần lưu trữ (chỉ có trong một số yêu cầu đặc biệt)

D1

D2

D5

Thiết bị nhập

Xử lý LT

Thiết bị xuất

• D3:

D6

– Các danh mục để chọn lựa – Dữ liệu cần thiết cho việc kiểm tra tính hợp lệ (dựa vào quy định)

D3

D4

• D2:

– Các danh mục để chọn lựa – Kết quả thành công/thất bại • D4: Dữ liệu được lưu trữ (dựa vào

biểu mẫu). – Ghi chú: Thông thường D4 = D1 (+ D5) (+ ID tự phát sinh)

• D6: Dữ liệu kết xuất (chỉ có trong

một số yêu cầu đặc biệt)

COMP1026 – Introduction to Software Engneering Chapter 2b - 56 HIENLTH

Sơ đồ tổng quát cho Yêu cầu lưu trữ

• Xử lý lưu trữ

– Đọc D3 để lấy các tham số,

quy định và danh mục

Người dùng

– Hiển thị D2 (các danh mục) – Nhận thông tin D1, D5 (nếu

D1

D2

cần)

D5

– Kiểm tra các thông tin D1, D5

Thiết bị nhập

Xử lý LT

Thiết bị xuất

D6

có thỏa quy định liên quan hay không (dựa vào D3 nếu cần thiết)

D3

D4

– Nếu thỏa quy định, ghi D4, thông báo kết quả D2 (nếu cần) và xuất D6 (nếu cần thiết)

COMP1026 – Introduction to Software Engneering Chapter 2b - 57 HIENLTH

Sơ đồ tổng quát cho Yêu cầu lưu trữ

• Ghi chú:

– D1 không nhất thiết chứa

Người dùng

toàn bộ thông tin trong biểu mẫu liên quan

– Tùy theo quy định có thể có

D1

D2

hay không có D5

D5

Thiết bị nhập

Xử lý LT

Thiết bị xuất

D6

– D4 hoặc D6 không nhất thiết phải trùng với D1 hoặc D5 – D2 không nhất thiết phải

trùng với D3

D3

D4

COMP1026 – Introduction to Software Engneering Chapter 2b - 58 HIENLTH

Sơ đồ tổng quát cho Yêu cầu tra cứu

• D1: Thông tin về đối tượng muốn tìm

Người dùng

kiếm (dựa vào biểu mẫu liên quan đến đối tượng cần tìm kiếm)

D1

D2

• D5: Thông tin về đối tượng muốn tìm kiếm (chỉ có trong một số yêu cầu đặc biệt) • D3:

D5

Thiết bị nhập

Xử lý TC

Thiết bị xuất

– Các danh mục để chọn lựa – Dữ liệu về đối tượng khi tìm thấy

D6

(dựa vào biểu mẫu liên quan đến đối tượng cần tìm kiếm)

• D2:

D3

D4

– Các danh mục để chọn lựa – Dữ liệu về đối tượng khi tìm thấy

(dựa vào biểu mẫu liên quan đến đối tượng cần tìm kiếm)

• D6: Dữ liệu kết xuất (thông thường là

cần thiết)

• D4: Dữ liệu cần lưu trữ lại

– Thông thường không cần thiết – Cần thiết khi nào??? Chapter 2b - 59

HIENLTH COMP1026 – Introduction to Software Engneering

Sơ đồ tổng quát cho Yêu cầu tra cứu

• Xử lý tra cứu

Người dùng

– Đọc để lấy các danh mục (D3) – Hiển thị D2 (các danh mục) – Nhận thông tin về tiêu chí tìm

kiếm D1, D5 (nếu cần)

D1

D2

D5

Thiết bị nhập

Xử lý TC

Thiết bị xuất

– Tìm kiếm theo các tiêu chí D1, D5, nhận được danh sách các đối tượng tìm được (D3)

D6

– Hiển thị thông tin kết quả (D2)

và kết xuất D6 (nếu cần)

D3

D4

COMP1026 – Introduction to Software Engneering Chapter 2b - 60 HIENLTH

Sơ đồ tổng quát cho Yêu cầu tra cứu

• Ghi chú:

Người dùng

– Có rất nhiều mức độ khác nhau từ rất đơn giản đến rất phức tạp để xác định D1

D1

D2

D5

Thiết bị nhập

Xử lý TC

Thiết bị xuất

D6

D3

– D1 chức nhiều thông tin thì việc tìm kiếm sẽ dễ dàng cho người dùng và ngược lại sẽ khó khăn cho phần thiết kế và cài đặt chức năng này – D3 thông thường là danh sách các đối tượng tìm thấy cùng với thông tin liên quan.

D4

– D3 cũng có rất nhiều mức độ khác nhau để xác định các thông tin của đối tượng tìm thấy

– D2 và D6 thường trùng với D3

(nhưng không nhất thiết) Chapter 2b - 61

HIENLTH COMP1026 – Introduction to Software Engneering

Sơ đồ tổng quát cho Yêu cầu tính toán

Người dùng

• D1: Thông tin về đối tượng cần thực hiện việc xử lý tính toán (dựa vào các biểumẫuliênquan)

D1

D2

• D5: Thông tin về đối tượng cần thực hiện việc xử lý tính toán (chỉ có trong một số yêu cầu đặc biệt)

D5

Thiết bị nhập

Xử lý TT

Thiết bị xuất

D6

D3

• D3:

D4

– Dữ liệu cần thiết cho việc xử lý tính toán (dựa vào biểu mẫu và quy định liên quan) – Các tham số tính toán • D4: Kết quả của xử lý tính toán • D2: Kết quả của xử lý tính toán

(thường gồm cả D3 và D4)

• D6: Dữ liệu kết xuất (thường gồm cả

D3 và D4)

COMP1026 – Introduction to Software Engneering Chapter 2b - 62 HIENLTH

Sơ đồ tổng quát cho Yêu cầu tính toán

• Xử lý tính toán

– Nhận thông tin D1, D5 (nếu

cần)

Người dùng

D1

D2

– Đọc D3 để lấy các dữ liệu cần thiết cho việc tính toán (kể cả các tham số)

D5

Thiết bị nhập

Xử lý TT

Thiết bị xuất

D6

– Sử dụng D1, D3, D5 và quy định liên quan để tính kết quả D4

D3

D4

– Ghi kết quả D4 – Hiển thị thông tin kết quả D2

và kết xuất D6

COMP1026 – Introduction to Software Engneering Chapter 2b - 63 HIENLTH

Sơ đồ tổng quát cho Yêu cầu tính toán

• Ghi chú:

Người dùng

D1

D2

D5

Thiết bị nhập

Xử lý TT

Thiết bị xuất

D6

– D1 thường có chứa yếu tố thời gian thực hiện xử lý tính toán – Có nhiều mức độ khác nhau xác định D1 trong xử lý tính toán (để tăng tính tiện dụng) – D1 có thể rỗng (tính toán cho mọi đối tượng trong tất cả cột mốc thời gian liên quan) – D4 có thể có hay không có

D3

D4

=> Khi nào cần D4?

– Thông thường D2 và D6 bao

gồm D3 và D4

COMP1026 – Introduction to Software Engneering Chapter 2b - 64 HIENLTH

Sơ đồ tổng quát cho Yêu cầu báo biểu

Người dùng

D1

D2

D5

• D1: Thông tin về báo biểu muốn thực hiện (dựa vào biểumẫuliênquan) • D5: Thông tin về báo biểu muốn thực hiện (chỉ có trong một số yêu cầu đặc biệt)

Thiết bị nhập

Xử lý BB

Thiết bị xuất

D6

• D3: Dữ liệu cần thiết cho việc tưực hiện báo biểu (dựa vào biểu mẫu và quy định liên quan)

D3

D4

• D4: Thông tin có trong báo biểu liên quan (cần thiết phải lưu lại) nhưng chưa được xử lý và ghi nhận lại (yêu cầu xử lý tính toán)

• D2: Thông tin về báo biểu được lập

(biểu mẫu liên quan)

• D6: Dữ liệu kết xuất (thường giống D2)

COMP1026 – Introduction to Software Engneering Chapter 2b - 65 HIENLTH

Sơ đồ tổng quát cho Yêu cầu báo biểu

• Xử lý báo biểu

– Nhận thông tin D1, D5 (nếu

Người dùng

cần)

– Đọc D3 để lấy các dữ liệu cần

D1

D2

thiết cho việc lập báo biểu

D5

Thiết bị nhập

Xử lý BB

Thiết bị xuất

D6

– Nếu có D4 thì tính toán theo quy định và Ghi kết quả D4 – Hiển thị thông tin báo biểu D2

và kết xuất D6

D3

D4

COMP1026 – Introduction to Software Engneering Chapter 2b - 66 HIENLTH

Sơ đồ tổng quát cho Yêu cầu báo biểu

• Ghi chú:

– D1 thường có chứa yếu tố thời

Người dùng

gian của báo biểu

D1

D2

– Có nhiều mức độ khác nhau xác định D1 trong xử lý tính toán (để tăng tính tiện dụng)

D5

Thiết bị nhập

Xử lý BB

Thiết bị xuất

– D4 có thể có hay không có

D6

=> Khi nào cần D4?

– Thông thường D2 và D6 bao

D3

gồm D3 và D4

D4

COMP1026 – Introduction to Software Engneering Chapter 2b - 67 HIENLTH

Bài tập

• Đặc tả yêu cầu và xây dựng Use case diagram

cho các ứng dụng sau: – Quản lý giải bóng đá vô địch quốc gia – Quản lý bình chọn bài hát hay Làn sóng xanh – Quản lý giáo vụ trường đại học – Quản lý giáo vụ trường phổ thông – Quản lý bán hàng – Quản lý học viên trung tâm tin học, ngoại ngữ – Quản lý nhân sự -tiền lương – Quản lý bán hàng trực tuyến – Quản lý nhà trẻ – …

COMP1026 – Introduction to Software Engneering Chapter 2b - 68 HIENLTH

References

Bài giảng này tham khảo: • Slide bài giảng “Nhập môn Công nghệ Phần mềm”, Trần Ngọc Bảo, ĐH Sư phạm TpHCM. • Slide bài giảng “Xây dựng phần mềm hướng đối

tượng”, Trần Minh Triết, ĐH KHTN TpHCM. • Giáo trình “Nhập môn Công nghệ Phần mềm”,

Nguyễn Tiến Huy, ĐH KHTN TpHCM

COMP1026 – Introduction to Software Engneering Chapter 2b - 69 HIENLTH

Q & A

70

COMP1026 – Introduction to Software Engneering Chapter 2b - 70 HIENLTH

Câu hỏi và thảo luận

?

COMP1026 – Introduction to Software Engneering Chapter 2b - 71 HIENLTH