Công nghệ phần mềm_đặc tả phần mềm
Chia sẻ bởi Trần Thị Thanh Nhài |
Ngày 07/05/2019 |
146
Chia sẻ tài liệu: công nghệ phần mềm_đặc tả phần mềm thuộc Excel
Nội dung tài liệu:
1
CHƯƠNG 2 : ĐẶC TẢ PHẦN MỀM
Việc hình thành các yêu cầu và cách đặc tả
Yêu cầu hệ thống
Yêu cầu người dùng
Tài liệu đặc tả yêu cầu
Quy trình xác định yêu cầu
Kỹ thuật phân tích yêu cầu
2
I. VIỆC HÌNH THÀNH CÁC YÊU CẦU VÀ CÁCH ĐẶC TẢ
1. Việc hình thành các yêu cầu
Yêu cầu : Requirements described the “what” of a system, not the “how”
Yêu cầu phần mềm là những yêu cầu về phần mềm mà khách hàng nêu ra : các chức năng của phần mềm, hiệu năng của phần mềm, các yêu cầu về thiết kế và giao diện, một số yêu cầu đặc biệt khác
3
1. Việc hình thành các yêu cầu (tiếp)
Yêu cầu thường được mô tả ở nhiều mức chi tiết khác nhau phục vụ cho các đối tượng đọc khác nhau
Thế nào là một yêu cầu tốt :
I. VIỆC HÌNH THÀNH CÁC YÊU CẦU VÀ CÁCH ĐẶC TẢ
4
2. Cách đặc tả
Đặc tả : là sự mô tả các đặc trưng nhằm diễn đạt các yêu cầu và chức năng của sản phẩm phần mềm cần xây dựng. Đặc tả liên quan đến các đối tượng, khái niệm và thủ tục nào đó cần đến khi phát triển chương trình
Các đặc trưng :
Tính chính xác
Tính trừu tượng
Tính chặt chẽ về mặt toán học
I. VIỆC HÌNH THÀNH CÁC YÊU CẦU VÀ CÁCH ĐẶC TẢ
5
2. Cách đặc tả (tiếp)
Các phương pháp đặc tả
Đặc tả hình thức
Đặc tả phi hình thức
Đặc tả hỗn hợp
Các loại đặc tả:
Đặc tả cấu trúc dữ liệu
Đặc tả chức năng
Đặc tả đối tượng
Đặc tả thao tác
Đặc tả cú pháp
Đặc tả qua sơ đồ
Đặc tả thuật toán
…
I. VIỆC HÌNH THÀNH CÁC YÊU CẦU VÀ CÁCH ĐẶC TẢ
6
Là bản đặc tả các dịch vụ mà hệ thống cung cấp và các ràng buộc để xây dựng, vận hành hệ thống.
Các yêu cầu của hệ thống phần mềm thường được chia thành 3 loại :
Yêu cầu chức năng
Yêu cầu phi chức năng
Yêu cầu miền ứng dụng
II. YÊU CẦU HỆ THỐNG
7
1. Yêu cầu chức năng
Mô tả hệ thống sẽ làm gì
Mô tả các chức năng hoặc các dịch vụ của hệ thống một cách chi tiết.
Đặc điểm của yêu cầu chức năng:
Tính mập mờ, không rõ ràng:
Tính hoàn thiện và nhất quán:
II. YÊU CẦU HỆ THỐNG
8
1. Yêu cầu chức năng (tiếp)
Một số yêu cầu chức năng :
Chức năng tính toán
Chức năng lưu trữ
Chức năng tìm kiếm
Chức năng kết xuất
Chức năng backup
Chứng năng đa người dùng
Chức năng đa phương tiện
II. YÊU CẦU HỆ THỐNG
9
2. Yêu cầu phi chức năng
Không đề cập trực tiếp tới các chức năng cụ thể của hệ thống
Yêu cầu phi chức năng thường định nghĩa các thuộc tính như : Độ tin cậy, thời gian đáp ứng, các yêu cầu về lưu trữ…Các ràng buộc của hệ thống (Khả năng của thiết bị vào/ra, giao diện…)
Một số y/cầu này liên quan đến quy trình xây dựng hệ thống (các chuẩn được sử dụng, các công cụ CASE, ngôn ngữ lập trình …).
Nếu nó không được thoả mãn thì hệ thống sẽ không sử dụng được.
II. YÊU CẦU HỆ THỐNG
10
2. Yêu cầu phi chức năng (tiếp)
Lý do xuất hiện các yêu cầu phi chức năng
Yêu cầu của người sử dụng
Ràng buộc về ngân sách.
Các chính sách của tổ chức sử dụng hệ thống
Yêu cầu tương thích giữa phần cứng và phần mềm
Các tác nhân ngoài khác
II. YÊU CẦU HỆ THỐNG
11
2. Yêu cầu phi chức năng (tiếp)
Phân loại các yêu cầu phi chức năng như sau:
Các yêu cầu về sản phẩm xác định ứng xử của sản phẩm như: hiệu năng, khả năng sử dụng, độ tin cậy … của sản phẩm
Các yêu cầu về tổ chức: các yêu cầu này được lấy từ những chính sách và quy tắc của khách hàng hoặc tổ chức sử dụng hệ thống.
Các yêu cầu ngoài: được xác định từ các tác nhân ngoài của hệ thống
II. YÊU CẦU HỆ THỐNG
12
2. Yêu cầu phi chức năng (tiếp)
II. YÊU CẦU HỆ THỐNG
13
3. Yêu cầu miền ứng dụng
Được xác định từ miền ứng dụng của hệ thống và phản ánh các thuộc tính, ràng buộc của miền ứng dụng.
Nó có thể là yêu cầu chức năng hoặc phi chức năng.
II. YÊU CẦU HỆ THỐNG
14
3. Yêu cầu miền ứng dụng (tiếp)
Một số vấn đề liên quan đến yêu cầu miền ứng dụng:
Khả năng có thể hiểu được: các yêu cầu được biểu diễn dưới ngôn ngữ của miền ứng dụngthường gây khó hiểu cho người phát triển
Ẩn ý: Các chuyên gia hiểu biết về lĩnh vực của họ y/cầu miền ứng dụng một cách không rõ ràng, mang tính kỹ thuật.
II. YÊU CẦU HỆ THỐNG
15
3. Yêu cầu miền ứng dụng (tiếp)
Một số ràng buộc
Ràng buộc trước sau
Ràng buộc cấu trúc
Ràng buộc suy diễn
Ràng buộc thời gian
II. YÊU CẦU HỆ THỐNG
16
4. Kỹ thuật đặc tả yêu cầu hệ thống
Sử dụng ngôn ngữ tự nhiên. Tuy nhiên thường gặp một số vấn đề sau:
Không rõ ràng:
Quá mềm dẻo:
Thiếu khả năng mô-đun hoá:
II. YÊU CẦU HỆ THỐNG
17
4. Kỹ thuật đặc tả yêu cầu hệ thống (tiếp)
Các phương pháp đặc tả yêu cầu:
Đặc tả bằng ngôn ngữ hướng cấu trúc
Đặc tả dựa biểu mẫu (Form-based)
Biểu đồ trình tự
II. YÊU CẦU HỆ THỐNG
18
4. Kỹ thuật đặc tả yêu cầu hệ thống (tiếp)
Đặc tả bằng ngôn ngữ hướng cấu trúc
Tuân theo những mẫu được định nghĩa trước. Tất cả các yêu cầu đều được viết theo chuẩn và các thuật ngữ được sử dụng có thể bị hạn chế.
Ưu điểm của phương pháp này là đạt được mức độ diễn tả cao nhất của ngôn ngữ tự nhiên nhưng mức độ đồng lại bị lạm dụng trong các đặc tả.
II. YÊU CẦU HỆ THỐNG
19
4. Kỹ thuật đặc tả yêu cầu hệ thống (tiếp)
Đặc tả dựa biểu mẫu (Form-based)
Định nghĩa các chức năng hoặc thực thể, mô tả đầu vào và nơi xuất phát của nó, mô tả đầu ra và nơi nó sẽ đến.
Chỉ rõ những thực thể cần thiết, các điều kiện trước và sau (nếu thích hợp), các ảnh hưởng của chức năng.
II. YÊU CẦU HỆ THỐNG
20
4. Kỹ thuật đặc tả yêu cầu hệ thống (tiếp)
Biểu đồ trình tự
Biểu diễn trình tự các sự kiện xảy ra khi người sử dụng tương tác với hệ thống.
Thấy được thứ tự của các hành động được thực hiện.
II. YÊU CẦU HỆ THỐNG
21
Yêu cầu này được định nghĩa bằng cách sử dụng ngôn ngữ tự nhiên, bảng hoặc biểu đồ đơn giản.
III. YÊU CẦU NGƯỜI SỬ DỤNG
22
Một số khó khăn khi sử dụng ngôn ngữ tự nhiên:
Không rõ ràng: Tính chính xác rất khó đạt được nếu tài liệu khó đọc.
Yêu cầu lộn xộn: các yêu cầu chức năng và phi chức năng không rõ ràng.
Lẫn lộn giữa các yêu cầu: các yêu cầu khác nhau có thể được diễn tả cùng với nhau.
III. YÊU CẦU NGƯỜI SỬ DỤNG
23
Một số quy tắc sau:
Đưa ra một định dạng chuẩn và áp dụng nó cho tất cả các yêu cầu.
Bắt buộc sử dụng ngôn ngữ một cách thống nhất
Đánh dấu những phần quan trọng trong các yêu cầu.
Tránh sử dụng những từ ngữ mang tính chuyên môn, kỹ thuật.
III. YÊU CẦU NGƯỜI SỬ DỤNG
24
Tài liệu đặc tả yêu cầu là những yêu cầu chính thức về những gì cần phải thực hiện bởi đội phát triển hệ thống.
Tài liệu này nên bao gồm cả các định nghĩa về yêu cầu của người sử dụng và đặc tả yêu cầu hệ thống.
Tài liệu này không phải là tài liệu thiết kế hệ thống.
IV. TÀI LIỆU ĐẶC TẢ YÊU CẦU
25
Cấu trúc chung của tài liệu yêu cầu
Chuẩn IEEE/ANSI 830-1984 đưa ra cấu trúc gồm 5 mục chính: Giới thiệu, mô tả chung, Các yêu cầu cụ thể, phụ lục, các chỉ số và chỉ dẫn
Ngoài ra còn có thể có thêm các chương hay các phụ lục với các tin:
Kiến trúc chung cả hệ thống phần cứng
Cơ sở dữ liệu
Chú dẫn
Tài liệu yêu cầu cũng là 1 công cụ tham khảo cho toàn bộ hệ thống
IV. TÀI LIỆU ĐẶC TẢ YÊU CẦU
26
Heniger đưa ra sáu yêu cầu của 1 tài liệu YCPM
Chỉ mô tả các hoạt động của hệ thống từ bên ngoài
Chỉ ra được ràng buộc của HT trong q/trình vận hành
Dễ thay đổi
Phục vụ như tài liệu tham khảo cho người bảo trì HT
Dự toán trước được vòng đời của hệ thống
Mô tả được các đáp ứng đối với sự cố, thay đổi ngoài dự tính
IV. TÀI LIỆU ĐẶC TẢ YÊU CẦU
27
Dàn bài đặc tả yêu cầu phần mềm
Giới thiệu
A. Tham khảo hệ thống
B. Mô tả chung
C. Các ràng buộc dự án phần mềm
Mô tả thông tin
A. Biểu diễn luồng thông tin
1. Luồng dữ liệu
2. Luồng điều kiển
B. Biểu diễn nội dung thông tin
C. Mô tả giao diện hệ thống
IV. TÀI LIỆU ĐẶC TẢ YÊU CẦU
28
III. Mô tả chức năng
A. Phân hoạch chức năng
B. Mô tả chức năng
1. Tường thuật về cách xử lý
2. Hạn chế/giới hạn
3. Yêu cầu hiệu năng
4. Ràng buộc thiết kế
5. Biểu đồ trợ giúp
C. Mô tả điều khiển :
1. Đặc tả điều khiển
2. Ràng buộc thiết kế
IV. TÀI LIỆU ĐẶC TẢ YÊU CẦU
29
IV. Mô tả hành vi
A. Trạng thái hệ thống
B. Sự kiện và hành động
V. Tiêu chuẩn hợp lệ
A. Giới hạn hiệu năng
B. Lớp các kiểm thử
C. Đáp ứng phần mềm trông đợi
D. Các xem xét đặc biệt
VI. Sách tham khảo
VII. Phụ lục
IV. TÀI LIỆU ĐẶC TẢ YÊU CẦU
30
Quy trình này biến đổi phụ thuộc vào miền ứng dụng, con người và tổ chức xây dựng yêu cầu.
Tuy nhiên, những quy trình này vẫn có chung một số hoạt động sau: phát hiện yêu cầu, phân tích yêu cầu, đánh giá yêu cầu và quản lý yêu cầu.
Thường sử dụng mô hình xoắn ốc để xác định các yêu cầu.
V. QUY TRÌNH XÁC ĐỊNH YÊU CẦU
31
V. QUY TRÌNH XÁC ĐỊNH YÊU CẦU
32
Kết quả của hoạt động này là các tài liệu yêu cầu phần mềm
Gồm có 4 giai đoạn chính
Nghiên cứu khả thi (Feasibility study)
Phát hiện và phân tích yêu cầu (Requirements elicitation and analysis)
Đặc tả yêu cầu (Requirement Specification)
Thẩm định yêu cầu (Requirement Validation)
V. QUY TRÌNH XÁC ĐỊNH YÊU CẦU
33
Nghiên cứu khả thi
Cần đưa ra phương án p/triển và luận chứng sự khả thi
Thực hiện công việc này sẽ quyết định đưa ra 1 hệ thống đáp ứng được yêu cầu của khách hàng, có tính khả thi cao nhất
Việc thực hiện công việc này phải nhanh và rẻ
Quyết định có tiếp tục p/triển theo phương án đó không
Chỉ khi dự án khả thi được chấp nhận, quá trình triển khai mới được bắt đầu
V. QUY TRÌNH XÁC ĐỊNH YÊU CẦU
34
Nghiên cứu khả thi
Nên phân loại phương án: phương án thấp, phương án trung bình, phương án cao
Phân tích khả thi thường tập trung vào các mặt:
Khả thi về kinh tế: chi phí và hiệu quả, lợi ích cuối
Khả thi về kỹ thuật: khả năng đáp ứng của kỹ thuật
Khả thi về pháp lý: loại trừ sự vi phạm, xâm phạm
Khả thi về hoạt động: vận hành trong môi trường cụ thể
Khả thi về thời gian: thời gian hoàn thành
V. QUY TRÌNH XÁC ĐỊNH YÊU CẦU
35
Phát hiện và phân tích yêu cầu
Là bước tiếp theo -> tiếp tục khảo sát yêu cầu của khách hàng và người sử dụng về miền ứng dụng -> Phân tích thành t/liệu xác định các yêu cầu
Chú ý cả những đối tượng khác nhau liên quan đến HT : các kỹ sư, người quản lý nghiệp vụ, chuyên gia miền
Bao gồm cả việc phát triển thử nghiệm 1 hay nhiều mô hình hệ thống khác nhau. Làm bản mẫu ht có thể được thực hiện trong giai đoạn này
V. QUY TRÌNH XÁC ĐỊNH YÊU CẦU
36
Phát hiện và phân tích yêu cầu (tiếp)
Bước phát hiện(thu thập yêu cầu) :
Mục đích :
Khó khăn:
Hiểu biết của khách hàng
Khó khăn về tính ổn định
V. QUY TRÌNH XÁC ĐỊNH YÊU CẦU
37
Phát hiện và phân tích yêu cầu (tiếp)
Bước phát hiện(thu thập yêu cầu) :
Các kỹ thuật sử dụng :
Phỏng vấn : lựa chọn các stakeholder để phỏng vấn
Phát phiếu điều tra
Thu thập tài liệu : mẫu biểu, báo cáo thống kê, số liệu
V. QUY TRÌNH XÁC ĐỊNH YÊU CẦU
38
Phát hiện và phân tích yêu cầu (tiếp)
Bước phân tích yêu cầu :
Mục đích :
V. QUY TRÌNH XÁC ĐỊNH YÊU CẦU
39
Phát hiện và phân tích yêu cầu (tiếp)
Bước phân tích yêu cầu :
Các nguyên lý phân tích :
Nguyên lý 1 : Miền dữ liệu
- Xác định các đối tượng dữ liệu
- Mô tả các thuộc tính dữ liệu
- Thiết lập quan hệ dữ liệu
Nguyên lý 2 : Miền chức năng:
- Xác định chức năng biến đổi dữ liệu
- Chỉ ra luồng dữ liệu trong hệ thống
- Biểu diễn chức năng, luồng dữ liệu, kho DL
V. QUY TRÌNH XÁC ĐỊNH YÊU CẦU
40
Phát hiện và phân tích yêu cầu (tiếp)
Nguyên lý 3 : Xác định các trạng thái :
- Chỉ ra các trạng thái khác nhau của hệ thống
- Đặc tả các hiện tượng làm hệ thống thay đổi trạng thái
Nguyên lý 4 : Phân tách mô hình
- Lọc các đối tượng dữ liệu
- Tạo phân cấp chức năng
- Biểu diễn hành vi ở các mức chi tiết khác nhau
Nguyên lý 5: Sự thiết yếu :
- Chú trọng vấn đề thiết yếu
- Loại bỏ những vấn đề chi tiết
V. QUY TRÌNH XÁC ĐỊNH YÊU CẦU
41
Phát hiện và phân tích yêu cầu (tiếp)
Bước phân tích yêu cầu :
Hướng phân tích :
Phân tích hướng cấu trúc
- Tập trung vào DL, quy trình biến đổi DL
- Sử dụng các biểu đồ
Phân tích hướng đối tượng:
- Tập trung vào đối tượng, tương tác giữa các đối tượng
- Sử dụng UML
V. QUY TRÌNH XÁC ĐỊNH YÊU CẦU
42
Phát hiện và phân tích yêu cầu (tiếp)
Bước phân tích yêu cầu :
Các mô hình phân tích
V. QUY TRÌNH XÁC ĐỊNH YÊU CẦU
43
Phát hiện và phân tích yêu cầu (tiếp)
Bước phân tích yêu cầu :
Trong các mô hình trên thì mô hình luồng dữ liệu (DFD) là một trong những cách thông dụng nhất hiện nay để phân tích hệ thống
DFD biểu diễn các bước mà luồng dữ liệu phải trải qua trong hệ thống từ điểm đầu tới điểm cuối
Các ký pháp sử dụng:
: Thể hiện các chức năng
: Thể hiện luồn dữ liệu
: Kho dữ liệu
: Tương tác hệ thống, vào/ra dữ liệu
V. QUY TRÌNH XÁC ĐỊNH YÊU CẦU
44
Phát hiện và phân tích yêu cầu (tiếp)
Bước phân tích yêu cầu :
Ví dụ mô tả biểu thức toán học bằng DFD
V. QUY TRÌNH XÁC ĐỊNH YÊU CẦU
a + ((a+b)*(c+a*d))
45
Phát hiện và phân tích yêu cầu (tiếp)
Ví dụ đặc tả các chức năng của thư viện bằng DFD
V. QUY TRÌNH XÁC ĐỊNH YÊU CẦU
46
Phát hiện và phân tích yêu cầu (tiếp)
V. QUY TRÌNH XÁC ĐỊNH YÊU CẦU
47
Đặc tả yêu cầu (Requirement Specification)
Mô tả chính xác và chi tiết yêu cầu của hệ thống để làm cơ sở cho giao kèo giữa khách hàng và người pt hệ thống
Khi viết tài liệu này, các sai sót trong xác định yêu cầu sẽ được phát hiện và sửa chữa
V. QUY TRÌNH XÁC ĐỊNH YÊU CẦU
48
4. Thẩm định yêu cầu
Là việc xem xét các đặc tả yêu cầu có mô tả chính xác những gì đặt ra trong hệ thống có thể thực hiện được không?
Các thuộc tính cần thẩm định gồm: tính đúng đắn, nhất quán, đầy đủ, tính hiện thực
V. QUY TRÌNH XÁC ĐỊNH YÊU CẦU
49
4. Thẩm định yêu cầu
Kỹ thuật thẩm định yêu cầu :
Kiểm tra yêu cầu
Tạo mẫu
Tạo tình huống kiểm tra
V. QUY TRÌNH XÁC ĐỊNH YÊU CẦU
50
V. QUY TRÌNH XÁC ĐỊNH YÊU CẦU
51
Tiếp cận yêu cầu định hướng cách nhìn (Viewpoint – Oriented Requirements Definition - VORD)
Kỹ thuật phân tích yêu cầu dựa trên mô hình
Kỹ thuật phân tích hình thức hóa
VI. KỸ THUẬT PHÂN TÍCH YÊU CẦU
52
1. Tiếp cận định hướng cách nhìn
Ghi nhận những cách nhìn khác nhau của những người liên quan và sử dụng nó vào tiến trình thực hiện yêu cầu và tổ chức các yêu cầu
VI. KỸ THUẬT PHÂN TÍCH YÊU CẦU
53
1. Tiếp cận định hướng cách nhìn (tiếp)
Phân loại khung nhìn :
Khung nhìn tương tác :
Khung nhìn gián tiếp :
Khung nhìn miền :
VI. KỸ THUẬT PHÂN TÍCH YÊU CẦU
54
2. Phân tích yêu cầu dựa trên mô hình
Được sử dụng rộng rãi để phân tích yêu cầu
Kỹ thuật này đi theo 2 hướng tiếp cận
Tiếp cận định hướng chức năng (Hướng cấu trúc dựa trên luồng dữ liệu)
Tiếp cận hướng đối tượng
Tập trung hướng vào mô tả nghiệp vụ của hệ thống thực kết quả thu được là mô hình nghiệp vụ
VI. KỸ THUẬT PHÂN TÍCH YÊU CẦU
55
2. Phân tích yêu cầu dựa trên mô hình
Mô hình nghiệp vụ theo PP này gồm:
Mô hình ngữ cảnh: Mô tả hệ thống được xét trong môi trường của nó
Các mô hình cấu trúc chức năng mô tả cấu trúc chức năng của hệ thống
Mô tả chi tiết các chức năng: cho đến mức thấp nhất
Mô tả các đối tượng dữ liệu: Theo hướng cấu trúc là bao gồm tất cả các hồ sơ và bản mẫu, theo HĐT gồm các ĐT và khái niệm của thế giới thực
Mô tả các mối liên kết của dữ liệu và chức năng – chỉ cần thiết với cách tiếp cận hướng cấu trúc
Từ điển giải thích
VI. KỸ THUẬT PHÂN TÍCH YÊU CẦU
56
2. Kỹ thuật phân tích hình thức hóa
Dựa trên việc sử dụng các khái niệm, ký pháp và mô hình toán học để phân tích và biểu diễn HT
Phân tích sẽ không tách thành mô hình riêng
Kết quả của việc phân tích và mô hình hóa cho ta ngay đặc tả của hệ thống.
VI. KỸ THUẬT PHÂN TÍCH YÊU CẦU
CHƯƠNG 2 : ĐẶC TẢ PHẦN MỀM
Việc hình thành các yêu cầu và cách đặc tả
Yêu cầu hệ thống
Yêu cầu người dùng
Tài liệu đặc tả yêu cầu
Quy trình xác định yêu cầu
Kỹ thuật phân tích yêu cầu
2
I. VIỆC HÌNH THÀNH CÁC YÊU CẦU VÀ CÁCH ĐẶC TẢ
1. Việc hình thành các yêu cầu
Yêu cầu : Requirements described the “what” of a system, not the “how”
Yêu cầu phần mềm là những yêu cầu về phần mềm mà khách hàng nêu ra : các chức năng của phần mềm, hiệu năng của phần mềm, các yêu cầu về thiết kế và giao diện, một số yêu cầu đặc biệt khác
3
1. Việc hình thành các yêu cầu (tiếp)
Yêu cầu thường được mô tả ở nhiều mức chi tiết khác nhau phục vụ cho các đối tượng đọc khác nhau
Thế nào là một yêu cầu tốt :
I. VIỆC HÌNH THÀNH CÁC YÊU CẦU VÀ CÁCH ĐẶC TẢ
4
2. Cách đặc tả
Đặc tả : là sự mô tả các đặc trưng nhằm diễn đạt các yêu cầu và chức năng của sản phẩm phần mềm cần xây dựng. Đặc tả liên quan đến các đối tượng, khái niệm và thủ tục nào đó cần đến khi phát triển chương trình
Các đặc trưng :
Tính chính xác
Tính trừu tượng
Tính chặt chẽ về mặt toán học
I. VIỆC HÌNH THÀNH CÁC YÊU CẦU VÀ CÁCH ĐẶC TẢ
5
2. Cách đặc tả (tiếp)
Các phương pháp đặc tả
Đặc tả hình thức
Đặc tả phi hình thức
Đặc tả hỗn hợp
Các loại đặc tả:
Đặc tả cấu trúc dữ liệu
Đặc tả chức năng
Đặc tả đối tượng
Đặc tả thao tác
Đặc tả cú pháp
Đặc tả qua sơ đồ
Đặc tả thuật toán
…
I. VIỆC HÌNH THÀNH CÁC YÊU CẦU VÀ CÁCH ĐẶC TẢ
6
Là bản đặc tả các dịch vụ mà hệ thống cung cấp và các ràng buộc để xây dựng, vận hành hệ thống.
Các yêu cầu của hệ thống phần mềm thường được chia thành 3 loại :
Yêu cầu chức năng
Yêu cầu phi chức năng
Yêu cầu miền ứng dụng
II. YÊU CẦU HỆ THỐNG
7
1. Yêu cầu chức năng
Mô tả hệ thống sẽ làm gì
Mô tả các chức năng hoặc các dịch vụ của hệ thống một cách chi tiết.
Đặc điểm của yêu cầu chức năng:
Tính mập mờ, không rõ ràng:
Tính hoàn thiện và nhất quán:
II. YÊU CẦU HỆ THỐNG
8
1. Yêu cầu chức năng (tiếp)
Một số yêu cầu chức năng :
Chức năng tính toán
Chức năng lưu trữ
Chức năng tìm kiếm
Chức năng kết xuất
Chức năng backup
Chứng năng đa người dùng
Chức năng đa phương tiện
II. YÊU CẦU HỆ THỐNG
9
2. Yêu cầu phi chức năng
Không đề cập trực tiếp tới các chức năng cụ thể của hệ thống
Yêu cầu phi chức năng thường định nghĩa các thuộc tính như : Độ tin cậy, thời gian đáp ứng, các yêu cầu về lưu trữ…Các ràng buộc của hệ thống (Khả năng của thiết bị vào/ra, giao diện…)
Một số y/cầu này liên quan đến quy trình xây dựng hệ thống (các chuẩn được sử dụng, các công cụ CASE, ngôn ngữ lập trình …).
Nếu nó không được thoả mãn thì hệ thống sẽ không sử dụng được.
II. YÊU CẦU HỆ THỐNG
10
2. Yêu cầu phi chức năng (tiếp)
Lý do xuất hiện các yêu cầu phi chức năng
Yêu cầu của người sử dụng
Ràng buộc về ngân sách.
Các chính sách của tổ chức sử dụng hệ thống
Yêu cầu tương thích giữa phần cứng và phần mềm
Các tác nhân ngoài khác
II. YÊU CẦU HỆ THỐNG
11
2. Yêu cầu phi chức năng (tiếp)
Phân loại các yêu cầu phi chức năng như sau:
Các yêu cầu về sản phẩm xác định ứng xử của sản phẩm như: hiệu năng, khả năng sử dụng, độ tin cậy … của sản phẩm
Các yêu cầu về tổ chức: các yêu cầu này được lấy từ những chính sách và quy tắc của khách hàng hoặc tổ chức sử dụng hệ thống.
Các yêu cầu ngoài: được xác định từ các tác nhân ngoài của hệ thống
II. YÊU CẦU HỆ THỐNG
12
2. Yêu cầu phi chức năng (tiếp)
II. YÊU CẦU HỆ THỐNG
13
3. Yêu cầu miền ứng dụng
Được xác định từ miền ứng dụng của hệ thống và phản ánh các thuộc tính, ràng buộc của miền ứng dụng.
Nó có thể là yêu cầu chức năng hoặc phi chức năng.
II. YÊU CẦU HỆ THỐNG
14
3. Yêu cầu miền ứng dụng (tiếp)
Một số vấn đề liên quan đến yêu cầu miền ứng dụng:
Khả năng có thể hiểu được: các yêu cầu được biểu diễn dưới ngôn ngữ của miền ứng dụngthường gây khó hiểu cho người phát triển
Ẩn ý: Các chuyên gia hiểu biết về lĩnh vực của họ y/cầu miền ứng dụng một cách không rõ ràng, mang tính kỹ thuật.
II. YÊU CẦU HỆ THỐNG
15
3. Yêu cầu miền ứng dụng (tiếp)
Một số ràng buộc
Ràng buộc trước sau
Ràng buộc cấu trúc
Ràng buộc suy diễn
Ràng buộc thời gian
II. YÊU CẦU HỆ THỐNG
16
4. Kỹ thuật đặc tả yêu cầu hệ thống
Sử dụng ngôn ngữ tự nhiên. Tuy nhiên thường gặp một số vấn đề sau:
Không rõ ràng:
Quá mềm dẻo:
Thiếu khả năng mô-đun hoá:
II. YÊU CẦU HỆ THỐNG
17
4. Kỹ thuật đặc tả yêu cầu hệ thống (tiếp)
Các phương pháp đặc tả yêu cầu:
Đặc tả bằng ngôn ngữ hướng cấu trúc
Đặc tả dựa biểu mẫu (Form-based)
Biểu đồ trình tự
II. YÊU CẦU HỆ THỐNG
18
4. Kỹ thuật đặc tả yêu cầu hệ thống (tiếp)
Đặc tả bằng ngôn ngữ hướng cấu trúc
Tuân theo những mẫu được định nghĩa trước. Tất cả các yêu cầu đều được viết theo chuẩn và các thuật ngữ được sử dụng có thể bị hạn chế.
Ưu điểm của phương pháp này là đạt được mức độ diễn tả cao nhất của ngôn ngữ tự nhiên nhưng mức độ đồng lại bị lạm dụng trong các đặc tả.
II. YÊU CẦU HỆ THỐNG
19
4. Kỹ thuật đặc tả yêu cầu hệ thống (tiếp)
Đặc tả dựa biểu mẫu (Form-based)
Định nghĩa các chức năng hoặc thực thể, mô tả đầu vào và nơi xuất phát của nó, mô tả đầu ra và nơi nó sẽ đến.
Chỉ rõ những thực thể cần thiết, các điều kiện trước và sau (nếu thích hợp), các ảnh hưởng của chức năng.
II. YÊU CẦU HỆ THỐNG
20
4. Kỹ thuật đặc tả yêu cầu hệ thống (tiếp)
Biểu đồ trình tự
Biểu diễn trình tự các sự kiện xảy ra khi người sử dụng tương tác với hệ thống.
Thấy được thứ tự của các hành động được thực hiện.
II. YÊU CẦU HỆ THỐNG
21
Yêu cầu này được định nghĩa bằng cách sử dụng ngôn ngữ tự nhiên, bảng hoặc biểu đồ đơn giản.
III. YÊU CẦU NGƯỜI SỬ DỤNG
22
Một số khó khăn khi sử dụng ngôn ngữ tự nhiên:
Không rõ ràng: Tính chính xác rất khó đạt được nếu tài liệu khó đọc.
Yêu cầu lộn xộn: các yêu cầu chức năng và phi chức năng không rõ ràng.
Lẫn lộn giữa các yêu cầu: các yêu cầu khác nhau có thể được diễn tả cùng với nhau.
III. YÊU CẦU NGƯỜI SỬ DỤNG
23
Một số quy tắc sau:
Đưa ra một định dạng chuẩn và áp dụng nó cho tất cả các yêu cầu.
Bắt buộc sử dụng ngôn ngữ một cách thống nhất
Đánh dấu những phần quan trọng trong các yêu cầu.
Tránh sử dụng những từ ngữ mang tính chuyên môn, kỹ thuật.
III. YÊU CẦU NGƯỜI SỬ DỤNG
24
Tài liệu đặc tả yêu cầu là những yêu cầu chính thức về những gì cần phải thực hiện bởi đội phát triển hệ thống.
Tài liệu này nên bao gồm cả các định nghĩa về yêu cầu của người sử dụng và đặc tả yêu cầu hệ thống.
Tài liệu này không phải là tài liệu thiết kế hệ thống.
IV. TÀI LIỆU ĐẶC TẢ YÊU CẦU
25
Cấu trúc chung của tài liệu yêu cầu
Chuẩn IEEE/ANSI 830-1984 đưa ra cấu trúc gồm 5 mục chính: Giới thiệu, mô tả chung, Các yêu cầu cụ thể, phụ lục, các chỉ số và chỉ dẫn
Ngoài ra còn có thể có thêm các chương hay các phụ lục với các tin:
Kiến trúc chung cả hệ thống phần cứng
Cơ sở dữ liệu
Chú dẫn
Tài liệu yêu cầu cũng là 1 công cụ tham khảo cho toàn bộ hệ thống
IV. TÀI LIỆU ĐẶC TẢ YÊU CẦU
26
Heniger đưa ra sáu yêu cầu của 1 tài liệu YCPM
Chỉ mô tả các hoạt động của hệ thống từ bên ngoài
Chỉ ra được ràng buộc của HT trong q/trình vận hành
Dễ thay đổi
Phục vụ như tài liệu tham khảo cho người bảo trì HT
Dự toán trước được vòng đời của hệ thống
Mô tả được các đáp ứng đối với sự cố, thay đổi ngoài dự tính
IV. TÀI LIỆU ĐẶC TẢ YÊU CẦU
27
Dàn bài đặc tả yêu cầu phần mềm
Giới thiệu
A. Tham khảo hệ thống
B. Mô tả chung
C. Các ràng buộc dự án phần mềm
Mô tả thông tin
A. Biểu diễn luồng thông tin
1. Luồng dữ liệu
2. Luồng điều kiển
B. Biểu diễn nội dung thông tin
C. Mô tả giao diện hệ thống
IV. TÀI LIỆU ĐẶC TẢ YÊU CẦU
28
III. Mô tả chức năng
A. Phân hoạch chức năng
B. Mô tả chức năng
1. Tường thuật về cách xử lý
2. Hạn chế/giới hạn
3. Yêu cầu hiệu năng
4. Ràng buộc thiết kế
5. Biểu đồ trợ giúp
C. Mô tả điều khiển :
1. Đặc tả điều khiển
2. Ràng buộc thiết kế
IV. TÀI LIỆU ĐẶC TẢ YÊU CẦU
29
IV. Mô tả hành vi
A. Trạng thái hệ thống
B. Sự kiện và hành động
V. Tiêu chuẩn hợp lệ
A. Giới hạn hiệu năng
B. Lớp các kiểm thử
C. Đáp ứng phần mềm trông đợi
D. Các xem xét đặc biệt
VI. Sách tham khảo
VII. Phụ lục
IV. TÀI LIỆU ĐẶC TẢ YÊU CẦU
30
Quy trình này biến đổi phụ thuộc vào miền ứng dụng, con người và tổ chức xây dựng yêu cầu.
Tuy nhiên, những quy trình này vẫn có chung một số hoạt động sau: phát hiện yêu cầu, phân tích yêu cầu, đánh giá yêu cầu và quản lý yêu cầu.
Thường sử dụng mô hình xoắn ốc để xác định các yêu cầu.
V. QUY TRÌNH XÁC ĐỊNH YÊU CẦU
31
V. QUY TRÌNH XÁC ĐỊNH YÊU CẦU
32
Kết quả của hoạt động này là các tài liệu yêu cầu phần mềm
Gồm có 4 giai đoạn chính
Nghiên cứu khả thi (Feasibility study)
Phát hiện và phân tích yêu cầu (Requirements elicitation and analysis)
Đặc tả yêu cầu (Requirement Specification)
Thẩm định yêu cầu (Requirement Validation)
V. QUY TRÌNH XÁC ĐỊNH YÊU CẦU
33
Nghiên cứu khả thi
Cần đưa ra phương án p/triển và luận chứng sự khả thi
Thực hiện công việc này sẽ quyết định đưa ra 1 hệ thống đáp ứng được yêu cầu của khách hàng, có tính khả thi cao nhất
Việc thực hiện công việc này phải nhanh và rẻ
Quyết định có tiếp tục p/triển theo phương án đó không
Chỉ khi dự án khả thi được chấp nhận, quá trình triển khai mới được bắt đầu
V. QUY TRÌNH XÁC ĐỊNH YÊU CẦU
34
Nghiên cứu khả thi
Nên phân loại phương án: phương án thấp, phương án trung bình, phương án cao
Phân tích khả thi thường tập trung vào các mặt:
Khả thi về kinh tế: chi phí và hiệu quả, lợi ích cuối
Khả thi về kỹ thuật: khả năng đáp ứng của kỹ thuật
Khả thi về pháp lý: loại trừ sự vi phạm, xâm phạm
Khả thi về hoạt động: vận hành trong môi trường cụ thể
Khả thi về thời gian: thời gian hoàn thành
V. QUY TRÌNH XÁC ĐỊNH YÊU CẦU
35
Phát hiện và phân tích yêu cầu
Là bước tiếp theo -> tiếp tục khảo sát yêu cầu của khách hàng và người sử dụng về miền ứng dụng -> Phân tích thành t/liệu xác định các yêu cầu
Chú ý cả những đối tượng khác nhau liên quan đến HT : các kỹ sư, người quản lý nghiệp vụ, chuyên gia miền
Bao gồm cả việc phát triển thử nghiệm 1 hay nhiều mô hình hệ thống khác nhau. Làm bản mẫu ht có thể được thực hiện trong giai đoạn này
V. QUY TRÌNH XÁC ĐỊNH YÊU CẦU
36
Phát hiện và phân tích yêu cầu (tiếp)
Bước phát hiện(thu thập yêu cầu) :
Mục đích :
Khó khăn:
Hiểu biết của khách hàng
Khó khăn về tính ổn định
V. QUY TRÌNH XÁC ĐỊNH YÊU CẦU
37
Phát hiện và phân tích yêu cầu (tiếp)
Bước phát hiện(thu thập yêu cầu) :
Các kỹ thuật sử dụng :
Phỏng vấn : lựa chọn các stakeholder để phỏng vấn
Phát phiếu điều tra
Thu thập tài liệu : mẫu biểu, báo cáo thống kê, số liệu
V. QUY TRÌNH XÁC ĐỊNH YÊU CẦU
38
Phát hiện và phân tích yêu cầu (tiếp)
Bước phân tích yêu cầu :
Mục đích :
V. QUY TRÌNH XÁC ĐỊNH YÊU CẦU
39
Phát hiện và phân tích yêu cầu (tiếp)
Bước phân tích yêu cầu :
Các nguyên lý phân tích :
Nguyên lý 1 : Miền dữ liệu
- Xác định các đối tượng dữ liệu
- Mô tả các thuộc tính dữ liệu
- Thiết lập quan hệ dữ liệu
Nguyên lý 2 : Miền chức năng:
- Xác định chức năng biến đổi dữ liệu
- Chỉ ra luồng dữ liệu trong hệ thống
- Biểu diễn chức năng, luồng dữ liệu, kho DL
V. QUY TRÌNH XÁC ĐỊNH YÊU CẦU
40
Phát hiện và phân tích yêu cầu (tiếp)
Nguyên lý 3 : Xác định các trạng thái :
- Chỉ ra các trạng thái khác nhau của hệ thống
- Đặc tả các hiện tượng làm hệ thống thay đổi trạng thái
Nguyên lý 4 : Phân tách mô hình
- Lọc các đối tượng dữ liệu
- Tạo phân cấp chức năng
- Biểu diễn hành vi ở các mức chi tiết khác nhau
Nguyên lý 5: Sự thiết yếu :
- Chú trọng vấn đề thiết yếu
- Loại bỏ những vấn đề chi tiết
V. QUY TRÌNH XÁC ĐỊNH YÊU CẦU
41
Phát hiện và phân tích yêu cầu (tiếp)
Bước phân tích yêu cầu :
Hướng phân tích :
Phân tích hướng cấu trúc
- Tập trung vào DL, quy trình biến đổi DL
- Sử dụng các biểu đồ
Phân tích hướng đối tượng:
- Tập trung vào đối tượng, tương tác giữa các đối tượng
- Sử dụng UML
V. QUY TRÌNH XÁC ĐỊNH YÊU CẦU
42
Phát hiện và phân tích yêu cầu (tiếp)
Bước phân tích yêu cầu :
Các mô hình phân tích
V. QUY TRÌNH XÁC ĐỊNH YÊU CẦU
43
Phát hiện và phân tích yêu cầu (tiếp)
Bước phân tích yêu cầu :
Trong các mô hình trên thì mô hình luồng dữ liệu (DFD) là một trong những cách thông dụng nhất hiện nay để phân tích hệ thống
DFD biểu diễn các bước mà luồng dữ liệu phải trải qua trong hệ thống từ điểm đầu tới điểm cuối
Các ký pháp sử dụng:
: Thể hiện các chức năng
: Thể hiện luồn dữ liệu
: Kho dữ liệu
: Tương tác hệ thống, vào/ra dữ liệu
V. QUY TRÌNH XÁC ĐỊNH YÊU CẦU
44
Phát hiện và phân tích yêu cầu (tiếp)
Bước phân tích yêu cầu :
Ví dụ mô tả biểu thức toán học bằng DFD
V. QUY TRÌNH XÁC ĐỊNH YÊU CẦU
a + ((a+b)*(c+a*d))
45
Phát hiện và phân tích yêu cầu (tiếp)
Ví dụ đặc tả các chức năng của thư viện bằng DFD
V. QUY TRÌNH XÁC ĐỊNH YÊU CẦU
46
Phát hiện và phân tích yêu cầu (tiếp)
V. QUY TRÌNH XÁC ĐỊNH YÊU CẦU
47
Đặc tả yêu cầu (Requirement Specification)
Mô tả chính xác và chi tiết yêu cầu của hệ thống để làm cơ sở cho giao kèo giữa khách hàng và người pt hệ thống
Khi viết tài liệu này, các sai sót trong xác định yêu cầu sẽ được phát hiện và sửa chữa
V. QUY TRÌNH XÁC ĐỊNH YÊU CẦU
48
4. Thẩm định yêu cầu
Là việc xem xét các đặc tả yêu cầu có mô tả chính xác những gì đặt ra trong hệ thống có thể thực hiện được không?
Các thuộc tính cần thẩm định gồm: tính đúng đắn, nhất quán, đầy đủ, tính hiện thực
V. QUY TRÌNH XÁC ĐỊNH YÊU CẦU
49
4. Thẩm định yêu cầu
Kỹ thuật thẩm định yêu cầu :
Kiểm tra yêu cầu
Tạo mẫu
Tạo tình huống kiểm tra
V. QUY TRÌNH XÁC ĐỊNH YÊU CẦU
50
V. QUY TRÌNH XÁC ĐỊNH YÊU CẦU
51
Tiếp cận yêu cầu định hướng cách nhìn (Viewpoint – Oriented Requirements Definition - VORD)
Kỹ thuật phân tích yêu cầu dựa trên mô hình
Kỹ thuật phân tích hình thức hóa
VI. KỸ THUẬT PHÂN TÍCH YÊU CẦU
52
1. Tiếp cận định hướng cách nhìn
Ghi nhận những cách nhìn khác nhau của những người liên quan và sử dụng nó vào tiến trình thực hiện yêu cầu và tổ chức các yêu cầu
VI. KỸ THUẬT PHÂN TÍCH YÊU CẦU
53
1. Tiếp cận định hướng cách nhìn (tiếp)
Phân loại khung nhìn :
Khung nhìn tương tác :
Khung nhìn gián tiếp :
Khung nhìn miền :
VI. KỸ THUẬT PHÂN TÍCH YÊU CẦU
54
2. Phân tích yêu cầu dựa trên mô hình
Được sử dụng rộng rãi để phân tích yêu cầu
Kỹ thuật này đi theo 2 hướng tiếp cận
Tiếp cận định hướng chức năng (Hướng cấu trúc dựa trên luồng dữ liệu)
Tiếp cận hướng đối tượng
Tập trung hướng vào mô tả nghiệp vụ của hệ thống thực kết quả thu được là mô hình nghiệp vụ
VI. KỸ THUẬT PHÂN TÍCH YÊU CẦU
55
2. Phân tích yêu cầu dựa trên mô hình
Mô hình nghiệp vụ theo PP này gồm:
Mô hình ngữ cảnh: Mô tả hệ thống được xét trong môi trường của nó
Các mô hình cấu trúc chức năng mô tả cấu trúc chức năng của hệ thống
Mô tả chi tiết các chức năng: cho đến mức thấp nhất
Mô tả các đối tượng dữ liệu: Theo hướng cấu trúc là bao gồm tất cả các hồ sơ và bản mẫu, theo HĐT gồm các ĐT và khái niệm của thế giới thực
Mô tả các mối liên kết của dữ liệu và chức năng – chỉ cần thiết với cách tiếp cận hướng cấu trúc
Từ điển giải thích
VI. KỸ THUẬT PHÂN TÍCH YÊU CẦU
56
2. Kỹ thuật phân tích hình thức hóa
Dựa trên việc sử dụng các khái niệm, ký pháp và mô hình toán học để phân tích và biểu diễn HT
Phân tích sẽ không tách thành mô hình riêng
Kết quả của việc phân tích và mô hình hóa cho ta ngay đặc tả của hệ thống.
VI. KỸ THUẬT PHÂN TÍCH YÊU CẦU
* Một số tài liệu cũ có thể bị lỗi font khi hiển thị do dùng bộ mã không phải Unikey ...
Người chia sẻ: Trần Thị Thanh Nhài
Dung lượng: |
Lượt tài: 0
Loại file:
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)