- Sự tiện lợi (usability): là các yêu cầu về yêu tố thẩm mỹ con người, tính dễ học, dễ sử dụng và sự nhất quán của giao diện, tài liệu sử dụng và các tài nguyên huấn luyện. - Sự tin cậy (realibility): là các yêu cầu về tần suất và giới hạn về hỏng hĩc, khả năng
phục hồi, khả năng dựđốn và độ chính xác.
- Hiệu năng (performance): là các điều kiện áp đặt lên các yêu cầu chức năng. Ví dụ: tỉ lệ giao tác thực hiện, tốc độ thực hiện, tính sẵn sàng, độ chính xác, thời gian đáp ứng, thời gian phục hồi, dung lượng bộ nhớ sử dụng cho một hoạt động thi hành bởi hệ thống.
- Khả năng chịu đựng (supportability): là các yêu cầu vềđộ bền, khá năng duy trì, và các yêu cầu khác về chất lượng địi hỏi hệ thống phải được cập nhật sau thời điểm triển khai.
Phân loại yêu cầu
Với cách tiếp cận truyền thống, các yêu cầu được xem như là các đặc tả văn bản tương ứng với một trong hai loại trên, được diễn đạt qua hình thức:” Hệ thống sẽ …”. Tuy nhiên, để quản lý đầy đủ yêu cầu một cách cĩ hiệu quả, các yêu cầu phải được mơ tả dựa trên sự hiểu biết của người dùng và các đối tượng cĩ liên quan. Sự hiểu biết này cung cấp cho nhĩm phát triển lý do “tại sao?” cũng như “cái gì?” của hệ thống sẽđược phát triển. Vì hệ thống sẽ liên quan đến nhiều loại đối tượng khác nhau do đĩ, yêu cầu của hệ thống cũng cĩ thểđược phân loại theo nhiều cấp khác nhau:
Nhu cầu (need):
Mơ tả các yêu cầu ở mức cao thường là các đối tượng cĩ liên quan đến dự án như là: người đầu tư, người hưởng lợi từ dự án, người dùng cuối, cũng như người mua, người thầu, người phát triển, người quản lý,… hoặc những đối tượng khác mà nhu cầu của họ hệ thống phải đáp ứng. Thu thập các nhu cầu này chúng ta phải khảo sát thơng qua các phương pháp khảo sát nhưđã đề cập bên trên. Các nhu cầu được thu thập thơng thường mơ tảớ mức cao, khơng rõ ràng, nhọc nhằn và thường bắt đầu như là một “nhu cầu” hoặc “mong muốn”.
Ví dụ các nhu cầu cĩ thể là:
“Tơi cần gia tăng khả năng sản xuất”,
“Tơi cĩ nhu cầu mở rộng khả năng đáp ứng đơn hàng”, “Tơi cĩ nhu cầu cải tiến hiệu năng hoạt động của hệ thống” “Tối muốn mở rộng việc khai thác số liệu của khách hàng” …
Các nhu cầu này được xem như là một tập hợp rất quan trọng giúp chúng ta hiểu về các mong muốn thực sự của các đối tượng liên quan ở mức cao và nĩ sẽ cung cấp các đầu vào then chốt tới các yêu cầu chi tiết của hệ thống giúp chúng ta xác định các lý do và nội dung hành vi hệ thống.
Đặc điểm hệ thống (feature)
Trong quá trình khảo sát hệ thống, nhu cầu và yêu cầu thường đi đơi với nhau. Trong khi nhu cầu là những cái mong muốn mang lại từ hệ thống trên quan điểm cịn khơng rõ ràng thì yêu cầu ngược lại được mơ tả mang tính giải pháp cho những nhu cầu đĩ.
Ví dụ: một nhu cầu “Tơi muốn thơng báo đến nhà cung cấp nhanh hơn” thì một yêu cầu là “hệ thống sẽ phát sinh thơng báo tựđộng qua email đến nhà cung cấp”
Các yêu cầu này chính là các biểu thức ở mức cao về hành vi hệ thống – gọi là đặc điểm (feature). Xét về khía cạnh kỹ thuật, đặc điểm được xem như là “một dịch vụđược cung cấp bởi hệ thống đểđáp ứng nhu cầu”. Như vậy, đặc điểm của hệ thống chính là sự chuyển đổi quan điểm vềcái gì (“thơng báo nhanh hơn”) thành như thế nào (“email tựđộng”).
Để xác định một đặc điểm chúng ta cĩ thể thêm vào một số thuộc tính khác như là: rũi ro, độ ưu tiên, độ nỗ lực
Yêu cầu phần mềm
Để thích hợp hơn trong quá trình trao đổi với người phát triển về chính xác những gì mà hệ thống sẽ làm. Chúng ta cần một đưa vào thêm một mức đặc tảđể chuyển dịch những nhu cầu và đặc điểm thành một đặc tả mà chúng ta cĩ thể thiết kế, cài đặt, thử nghiệm. Các đặc tả này gọi là yêu cầu phần mềm và cĩ thể tiếp cận theo hai loại: yêu cầu chức năng và yêu cầu phi chức năng.