Bài giảng Công nghệ phần mềm nâng cao - Phạm Ngọc Hùng - Đặc tả yêu cầu phần mềm

Outline

 Mục tiêu và yêu cầu

 Phân tích yêu cầu

 Các phương pháp đặc tả

 Đặc tả phi hình thức

 Đặc tả hình thức

 Các công cụ

 Chuẩn tài liệu đặc tả

pdf34 trang | Chuyên mục: Công Nghệ Phần Mềm | Chia sẻ: dkS00TYs | Lượt xem: 2094 | Lượt tải: 2download
Tóm tắt nội dung Bài giảng Công nghệ phần mềm nâng cao - Phạm Ngọc Hùng - Đặc tả yêu cầu phần mềm, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
Đặc Tả Yêu Cầu Phần Mềm
Công Nghệ Phần Mềm Nâng Cao
Pham Ngoc Hung, Coltech, VNU, 2009 2
Outline
 Mục tiêu và yêu cầu
 Phân tích yêu cầu
 Các phương pháp đặc tả
Đặc tả phi hình thức
Đặc tả hình thức
Các công cụ
 Chuẩn tài liệu đặc tả
Pham Ngoc Hung, Coltech, VNU, 2009 3
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
 Yêu cầu chức năng
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
Pham Ngoc Hung, Coltech, VNU, 2009 4
Mục tiêu và Yêu cầu của PM (cont.)
 Yêu cầu về sản phẩm
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, …
Pham Ngoc Hung, Coltech, VNU, 2009 5
Tiến trình phân tích yêu cầu
Pham Ngoc Hung, Coltech, VNU, 2009 6
Thảo luận
 Có những phương pháp thu thập yêu cầu 
nào?
 Những khó khăn của thu thập và phân tích 
yêu cầu?
Đặ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ây
dựng các tài liệu đặc tả, trong đó có thể sử dụng
tớ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ác
tiêu thức
 Tính rõ ràng, chính xác
 Tính phù hợp
 Tính đầy đủ, hoàn thiện
Pham Ngoc Hung, Coltech, VNU, 2009 7
Đặ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ẽ
Đặc tả vận hành chức năng (Operational 
specifications) 
 mô tả các hoạt động của hệ thống phần mềm sẽ 
xây dựng
Đặc tả mô tả (Descriptive specifications) 
 đặc tả các đặc tính đặc trưng của phần mềm
Pham Ngoc Hung, Coltech, VNU, 2009 8
Đặ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)
 …
Pham Ngoc Hung, Coltech, VNU, 2009 9
Đặ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)
Pham Ngoc Hung, Coltech, VNU, 2009 10
Functional Decomposition Diagram - FDD
 Xác định phạm vi của hệ thống
 Phân hoạch chức năng
 Tạo nền tảng cho thiết kế kiến trúc hệ thống
Pham Ngoc Hung, Coltech, VNU, 2009 11
FDD: Ví dụ
Pham Ngoc Hung, Coltech, VNU, 2009 12
Pham Ngoc Hung, Coltech, VNU, 2009 13
Data 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 
(functions)
 Các ký pháp sử dụng:
Thể hiện các chức năng (functions)
Thể hiện luồng dữ liệu
Kho dữ liệu
Vào ra dữ liệu và tương tác giữa 
hệ thống và người sử dụng
Pham Ngoc Hung, Coltech, VNU, 2009 14
DFD 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é
Pham Ngoc Hung, Coltech, VNU, 2009 15
DFD mức 1
15
Nhập
thông tin
Kiểm tra
giờ tầu
ĐÆt chç
kh¸ch hµng b¶ng giê tÇu
chç ®· ®Æt
Ph¸t hµnh
vÐ
b¶ng gi¸ vÐ
kh¸ch hµng
Pham Ngoc Hung, Coltech, VNU, 2009 16
Entity-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
 ER Model
 Thực thể
Quan hệ
 Thuộc tính
 Biểu đồ thực thể
Bookstore Orders Books
1 N
Pham Ngoc Hung, Coltech, VNU, 2009 17
Ví dụ ERD mô tả thư viện
Thảo luận
 Các công cụ thường dùng hiện nay để đặc 
tả yêu cầu?
Pham Ngoc Hung, Coltech, VNU, 2009 18
Formal Methods
 hình vẽ + biểu thức
 đặc tả bằng công thức toán học
 đặc tả bằng sơ đồ
 đặc tả bằng ngôn ngữ đặc tả
 Ưu điểm: tính chính xác (duy nhất) của định 
nghĩa (đặc tả)
 Nhược điểm: khó hiểu, mất t. gian, khó đặc tả 
yêu cầu phi chức năng
Pham Ngoc Hung, Coltech, VNU, 2009 19
" không ai biết chắc chắn phải làm gì khi chưa 
có đặc tả"
Ví dụ đặc tả bằng toán học
Pham Ngoc Hung, Coltech, VNU, 2009 20
 ::= | 
 ::= {}
 ::= . {} |
 . {} E |
 E 
 ::= | <unsigned 
integer>
 ::= + | -
Pascal number syntax
Ví dụ đặc tả bằng sơ đồ
Pham Ngoc Hung, Coltech, VNU, 2009 21
digit
unsigned integer
digit. E
+
-
unsigned integerunsigned integer
unsigned number
Finite State Machines (FSM)
 M = ‹Q, Σ, δ, q0›
 Q : Finite set of states, 
 Σ : Set of actions, 
 q0 : Initial state
 δ  Q x Σ x Q : A deterministic transition relation
 A run/trace of M is an action sequence a1a2 ... an s.t. 
there exists a state sequence s0s1 ...sn (s0 = q0) for 0 ≤ i 
< n, (si, ai+1, si+1)  δ
 L(M): Language of M
Pham Ngoc Hung, Coltech, VNU, 2009 22
0 1 2
in send
ack
Đặ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:
Mượn sách/Trả sách
Thêm đầu sách/Loại bỏ đầu sách
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ả, . . .
Pham Ngoc Hung, Coltech, VNU, 2009 23
Đặ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:
Độc giả không được mượn quá một số 
lượng sách nhất định, trong một thời 
gian nhất định
Một số sách không được mượn về
Một số người không được mượn một số 
loại sách nào đó, . . .
Pham Ngoc Hung, Coltech, VNU, 2009 24
Các đối tượng –
Tên sách
Mã quyển
Nhân viên phục vụ
Người mượn
 Chúng ta cần có tập hợp (danh sách) các tiêu đề
sách, danh sách các tác giả cho từng quyển sách, 
danh sách các chủ đề liên quan của các quyển sách
 Ta có tập hợp các sách (mỗi đầu sách có thể có
nhiều quyển sách trong thư viện). Mỗi quyển sách có
thể có 1 trong 5 trạng thái sau:
 (AV) - Available được phép mượn, (CO) - (BR) - đã
mượn (Check Out; Borrow), (L): Last, (R): Remove
Pham Ngoc Hung, Coltech, VNU, 2009 25
Đặc tả các yêu cầu phần mềm bằng FSM (cont.)
FSM đặc tả các trạng thái
Pham Ngoc Hung, Coltech, VNU, 2009 26
CO AV BR
L R
Pham Ngoc Hung, Coltech, VNU, 2009 27
Tài liệu yêu cầu
 Chỉ mô tả về chức năng, ràng buộc
 Không mô tả về phương pháp cài đặt
 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
 Tài liệu cần có:
 Tính rõ ràng, chính xác
 Tính phù hợp
 Tính đầy đủ, hoàn thiện
Định dạng của tài liệu yêu cầu
 Software Requirement Specification - SRS
 Chuẩn IEEE 830-1984
1. Giới thiệu
2. Mô tả chung
3. Yêu cầu chi tiết
4. Phụ lục (nếu có)
Pham Ngoc Hung, Coltech, VNU, 2009 28
1. 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
Pham Ngoc Hung, Coltech, VNU, 2009 29
2. Mô tả chung
 2.1 Tổng quan về sản phẩm
 2.2 Chức năng sản phẩm 
 2.3 Đối tượng người dùng
 2.4 Ràng buộc tổng thể
 2.5 Giả thiết và sự lệ thuộc
Pham Ngoc Hung, Coltech, VNU, 2009 30
3. 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
3.1.1.1 Giới thiệu
3.1.1.2 Dữ liệu vào
3.1.1.3 Xử lí
3.1.1.4. Kết quả
3.1.2 Yêu cầu chức năng 2
…
3.1.n Yêu cầu chức năng n
… 
Pham Ngoc Hung, Coltech, VNU, 2009 31
3. 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
3.4 Ràng buộc thiết kế
3.5 Thuộc tính
3.5.1 Tính bảo mật
3.5.2 Tính bảo trì
3.6 Các yêu cầu khác
Pham Ngoc Hung, Coltech, VNU, 2009 32
Pham Ngoc Hung, Coltech, VNU, 2009 33
Tổng kết
 Mục tiêu và yêu cầu
 Phân tích yêu cầu
 Các phương pháp đặc tả
Đặc tả phi hình thức
Đặc tả hình thức
Các công cụ
 Chuẩn tài liệu đặc tả
 IEEE 830-1984
Pham Ngoc Hung, Coltech, VNU, 2009 34
Thô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 

File đính kèm:

  • pdfBài giảng Công nghệ phần mềm nâng cao - Phạm Ngọc Hùng - Đặc tả yêu cầu phần mềm.pdf