Yêu cầu phần mềm
A.Yêu cầu hệ thống
B.Yêu cầu của người sử dụng
C.Tài liệu đặc tả yêu cầu
[i]A.Yêu cầu hệ thống[/i]
-Các yêu cầu của hệ thống phần mềm thường được chia thành ba 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.
-Trong thực tế chúng ta rất khó phân biệt ba loại yêu cầu này một cách rõ ràng.
[i]Yêu cầu chức năng[/i]
-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 của các yêu cầu: xảy ra khi các yêu cầu không được xác định cẩn thận.
+Tính hoàn thiện và nhất quán: chứa tất cả các mô tả chi tiết và không có sự xung đột, đối ngược giữa các yêu cầu.( Tuy nhiên, trong thực tế rất khó có thể đạt được điều này).
[i]Yêu cầu phi chức năng[/i]
+Yêu cầu này không đề cập trực tiếp tới các chức năng cụ thể của hệ thống, thường định nghĩa các thuộc tính như: độ tin cậy, thời gian đáp ứng…và các ràng buộc của hệ thống như: 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 quá trình xây dựng hệ thống.
+Các yếu cầu này có thể là hạn chế hơn những yêu cầu chức năng. Nhưng nếu có không được thỏa mãn thì hệ thống sẽ không sử dụng được.
+Các yêu cầu này xuất hiện là do 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….
[i]Yêu cầu phi chức năng (tiếp)[/i]
-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 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 nhân ngoài của hệ thống
[i]Yêu cầu miền ứng dụng[/i]
-Đượ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 và 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.
-Nếu không dược thỏa mãn -> có thể hệ thống sẽ không làm việc được.
-Một số vấn dề 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 lĩnh vực ứng dụng.
+Ẩn ý: các chuyên gia hiểu biết về các ứng dụng của họ nhung không xác định được yêu cầu miền ứng dụng một cách rõ ràng,mang tính kỹ thuật.
[i]Kỹ thuật đặc tả yêu cầu hệ thống[/i]
-Ngôn ngữ tự nhiên thường được sử dụng để viết đặc tả yêu cầu hệ thống cũng như yêu cầu của người sử dụng. Tuy nhien thường gặp một số vấn đề sau:
+Không rõ ràng: ngôn ngữ tự nhiên có bản chất là mập mờ nên để đạt được yêu cầu trên là rất khó khăn.
+Quá mềm dẻo:có nhiều cách khác nhau để đặc tả một vấn đề.
+Thiếu khả năng mô-đun hóa: cấu trúc của ngôn ngữ tự nhiên không tương xứng với cấu trúc của các yêu cầu hệ thống.
-Vì những lý do này mà đặc tả ngôn ngữ tự nhiên thường gây khó hiểu.
[i]Kỹ thuật đặc tả yêu cầu hệ thống (tiếp)[/i]
-Do ngôn ngữ tự nhiên có những hạn chế, nên ta có thể sử dụng một số phương pháp sau để đặ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ự
[i]Kỹ thuật đặc tả yêu cầu hệ thống (tiếp)[/i]
-Đặc tả bằng ngôn ngữ hương cấu trúc
+Sử dụng ngôn ngữ hướng cấu trúc sẽ yêu cầu người viết đặc tả 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 biện pháp này là đạt dược mức diễn tả cao nhất của ngôn ngữ tự nhiên nhưng mức đọ đồng nhất lại bị lạm dụng trong các đặc tả.
[i]Kỹ thuật đặc tả yêu cầu hệ thống (tiếp)[/i]
-Đặc tả dựa biểu mẫu (From-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 cà 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.
[i]Kỹ thuật đặc tả yêu cầu hệ thống (tiếp)[/i]
-Biểu đồ trình tự
+Biểu đồ trình tự biểu diễn các sự kiện xảy ra khi người dùng tương tác với hệ thống.
+Nếu ta đọc biểu đồ này từ đầu đến cuối thì ta sẽ thấy được thứ tự của các hành động được thực hiện.
[i]Yêu cầu của người sử dụng (tiếp)[/i]
-Do đó, để viết yêu cầu của người sử dụng ta nên áp dụng một số quy tắc sau:
+Đưa ra một 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.
[b]B.Yêu cầu của người sử dụng[/b]
-Nên mô tả những yêu cầu chức năng và phi chức năng -> người sử dụng có thể hiểu được chúng mà không cần phải có những kiến thức về công nghệ một cách chi tiết.
-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.
[i]Yêu cầu của người sử dụng (tiếp)[/i]
-Tuy nhiên, chúng ta sẽ gặp phải 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.
[i]C. Tài liệu đặc tả yêu cầu[/i]
-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 đị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. Nó chỉ thiết lạp những gì hệ thống phải làm, chứ không phải mô tả làm rõ như thế nào.
[i]Tài liệu đặc tả yêu cầu (tiếp)[/i]
-Gồm tài liệu xác định yêu cầu và tài liệu đặc tả yêu cầu
-Heniger đưa ra 6 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
[i]Tài liệu đặc tả yêu cầu (tiếp)[/i]
-Cấu trúc chung của tài liệu YCPM
+Chuẩn IEEE/ANSI 830-1993 đư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 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à một công cụ tham khảo cho toàn bộ hệ thống
[i]Dàn bài đặc tả yêu cầu phần mềm[/i]
1.Giới thiệu
-Tham khảo hệ thống
-Mô tả chung
-Các ràng buộc đối với dự án phần mềm
2.Mô tả thông tin
-Biểu diễn luồng thông tin
+Luồng dữ liệu
+Luồng điều khiển
-Biểu diễn nội dung thông tin
-Mô tả giao diện hệ thống
3.Mô tả chức năng
-Phân hoạch chức năng
-Mô tả chức năng
+Tường thuật về cách xử lý
+Các hạn chế/ giới hạn
+Yêu cầu về hiệu năng
+Các ràng buộc về thiết kế
+Biểu đồ trợ giúp
-Mô tả chức năng
+Đặc tả điều khiển
Ràng buộc thiết kế
4.Mô tả hành vi
-Trạng thái hệ thống
-Sự kiện và hành động (ứng xử trước sự kiện)
5.Tiêu chuẩn hợp lệ:
-Giới hạn hiệu năng
-Lớp các kiểm thử
-Đáp ứng của PM được trông đợi
-Các xem xét đặc biệt
6.Sách tham khảo
7.Phụ lục
Tổng Kết
Các nội dung cần đạt được
Nắm được các yêu cầu của phần mềm
Nắm được các yêu cầu của người sủ dụng
Hiểu được tài liệu đặc tả yêu cầu