Mục tiêu và Yêu cầu của PM Mục tiêu: cái cần hướng tới Yêu cầu: cái cụ thể mà có thể kiểm tra được mô tả một chức năng dịch vụ cụ thể mà phần mềm cần cung cấp Yêu cầu phi chức năn
Trang 1Đặc Tả Yêu Cầu Phần Mềm
Công Nghệ Phần Mềm Nâng Cao
Trang 2 Mục tiêu và yêu cầu
Phân tích yêu cầu
Trang 3Mục tiêu và Yêu cầu của PM
Mục tiêu: cái cần hướng tới
Yêu cầu: cái cụ thể mà có thể
kiểm tra được
mô tả một chức năng (dịch vụ) cụ thể mà
phần mềm cần cung cấp
Yêu cầu phi chức năng
Các ràng buộc về chất lượng, về môi trường, chuẩn sử dụng, qui trình phát triển phần mềm
Yêu cầu
Mục tiêu
Trang 4Mục tiêu và Yêu cầu của PM (cont.)
Tốc độ, độ tin cậy, bộ nhớ, giao diện, qui trình tác nghiệp,…
Yêu cầu về tiến trình phát triển
các chuẩn, phương pháp thiết kế, ngôn ngữ lập trình
Yêu cầu ngoại lai
Về chi phí, về thời gian, về bản quyền, …
Trang 5Tiến trình phân tích yêu cầu
Trang 7Đặc tả yêu cầu phần mềm
Đặc tả các yêu cầu phần mềm là công việc xâydựng các tài liệu đặc tả, trong đó có thể sử dụngtới các công cụ như:
mô hình hóa, mô hình toán học hình thức (a formal mathematical model)
tập hợp các kịch bản sử dụng, các nguyên mẫu hoặc bất kỳ một tổ hợp các công cụ nói trên
Chất lượng của hồ sơ đặc tả đánh giá qua cáctiêu thức
Tính rõ ràng, chính xác
Tính phù hợp
Trang 8Đặc tả yêu cầu phần mềm (cont.)
Các thành phần của hồ sơ đặc tả
Đặc tả phi hình thức (Informal specifications)
được viết bằng ngôn ngữ tự nhiên
Đặc tả hình thức (Formal specifications)
được viết bằng tập các ký pháp có các quy định về
cú pháp (syntax) và ý nghĩa (sematic) rất chặt chẽ
Trang 9Đặc tả yêu cầu phần mềm (cont.)
Đặc tả chức năng (Operational Specifications):
thông thường khi đặc tả các chức năng của
phần mềm người ta sử dụng các công cụ tiêu biểu sau:
Biểu đồ phân rã chức năng (Functional
Decomposition Diagram – FDD)
Biểu đồ luồng dữ liệu (Data Flow Diagrams-DFD)
Máy trạng thái hữu hạn (Finite State Machines
Automata, LTS, Kripke structures, …
Mạng Petri (Petri nets)
Trang 10Đặc tả yêu cầu phần mềm (cont.)
Đặc tả mô tả (Descriptive
Specifications)
Biểu đồ thực thể liên kết
(Entity-Relationship Diagrams - ERD)
Đặc tả Logic (Logic Specifications)
Đặc tả đại số (Algebraic Specifications)
Trang 11Functional Decomposition Diagram - FDD
Xác định phạm vi của hệ thống
Tạo nền tảng cho thiết kế kiến trúc hệ thống
Trang 12FDD: Ví dụ
Trang 13Data Flow Diagrams - DFD
Hệ thống (System): tập hợp các dữ liệu (data) được xử lý bằng các chức năng tương ứng
hệ thống và người sử dụng
Trang 14DFD của HT bán vé
Biểu đồ ngữ cảnh
Hệ thống mô tả bằng một tiến trình
Không có kho dữ liệu
Liệt kê các tác nhân ngoài
Khách hàng
đặt vévé
Hệ thống bán vé
Trang 15DFD mức 1
Nhập thông tin
Kiểm tra giờ tầu
Trang 16Entity-Relationship Diagrams - ERD
Mô hình khái niệm cho phép đặc tả các yêu cầu logic của hệ thống, thường được sử dụng trong các hệ thống dữ liệu lớn
Trang 17Ví dụ ERD mô tả thư viện
Trang 18Thảo luận
Các công cụ thường dùng hiện nay để đặc
tả yêu cầu?
Trang 20Ví dụ đặc tả bằng toán học
<unsigned number> ::= <unsigned integer> | <unsigned real>
<unsigned integer> ::= <digit> {<digit>}
<unsigned real> ::= <unsigned integer> <digit> {<digit>} |
<unsigned integer> <digit> {<digit>} E <scale factor> |
<unsigned integer> E <scale factor>
<scale factor> ::= <unsigned integer> | <sign> <unsigned
integer>
<sign> ::= + |
-Pascal number syntax
Trang 21unsigned number
Trang 22Finite State Machines (FSM)
M = ‹Q, Σ, δ, q 0›
Q : Finite set of states,
Σ : Set of actions,
q 0 : Initial state
δ Q x Σ x Q : A deterministic transition relation
A run/trace of M is an action sequence a 1 a 2 a n s.t
there exists a state sequence s 0 s 1 s n (s 0 = q 0) for 0 ≤ i
Trang 23Đặc tả các yêu cầu phần mềm bằng FSM
Xem xét ví dụ về thư viện với các giao
dịch như sau:
Liệt kê danh sách các đầu sách theo tên tác giả hay theo chủ đề
Tìm kiếm sách theo các yêu cầu của người mượn
Tìm kiếm sách quá hạn trả,
Trang 24Đặc tả các yêu cầu phần mềm bằng FSM (cont.)
Các yêu cầu đặc biệt của thư viện:
lượng sách nhất định, trong một thời gian nhất định
loại sách nào đó,
Trang 25Các đối tượng –
Tên sách
Mã quyển Nhân viên phục vụ Người mượn
(AV) - Available được phép mượn, (CO) - (BR) - đã
Đặc tả các yêu cầu phần mềm bằng FSM (cont.)
Trang 26FSM đặc tả các trạng thái
Trang 27Tài liệu yêu cầu
Chỉ mô tả về chức năng, ràng buộc
Phải dễ thay đổi (có cấu trúc)
khó xác định được đầy đủ chính xác ngay
phải qua nhiều bước xét duyệt lại
Trang 28Định dạng của tài liệu yêu cầu
Software Requirement Specification - SRS
Trang 291 Giới thiệu
1.1 Mục đích
1.2 Phạm vi
1.3 Định nghĩa (định nghĩa, từ viết tắt)
1.4 Tài liệu tham khảo
1.5 Mô tả cấu trúc tài liệu
Trang 313 Yêu cầu chi tiết
3.1 Yêu cầu chức năng
3.1.1 Yêu cầu chức năng 1
Trang 323 Yêu cầu chi tiết (cont.)
3.2 Yêu cầu giao diện ngoài
3.2.1 Giao diện người dùng
3.2.2 Giao diện phần cứng
3.2.3 Giao diện phần mềm
3.2.4 Giao diện truyền thông
3.3 Yêu cầu hiệu suất
Trang 33Tổng kết
Mục tiêu và yêu cầu
Phân tích yêu cầu
Trang 34Thông báo
Các nhóm tiến hành phân tích và đặc tả yêu cầu
Tiến hành thảo luận với nhóm đề xuất để
thống nhất các yêu cầu (chú ý các yêu cầu
phi chức năng)
Đặc tả yêu cầu theo chuẩn IEEE 830-1984
Nộp tài liệu trước 17h ngày 15/01/2010