Đặc tả yêu cầu phần mềm là một công việc quan trọng trong việc phát triển phần mềm là một yếu tố then chốt cho sự phát triển của một phần mềm dự án. 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 của sự phát triển phần mềm. Tài liệu đặc tả yêu cầu nên gồm những định nghĩa về các yêu cầu người sử dụng và đặc tả yêu cầu hệ thống.
Vậy cách viết tài liệu đặc tả như thế nào? Hãy cùng trung tâm testerpro tìm hiểu về tài liệu đặc tả yêu cầu phần mềm qua bài viết dưới đây.
Đặc tả yêu cầu phần mềm là gì?
Đặc tả các yêu cầu phần mềm là một trong những công việc giúp bạn xây dựng lại các tài liệu đặc tả phần mềm , trong đó bạn có thể sử dụng tới một số các công cụ như các mô hình hóa, mô hình toán học. Là một tập hợp các kịch bản sử dụng, các nguyên mẫu hay bất kỳ các tổ hợp công cụ nói trên.
Bạn có thể kiểm chứng nó một cách riêng rẽ ở từng mức chức năng ( Yêu cầu chức năng) hay mức hệ thống (yêu cầu phi chức năng). Giúp cung cấp các chỉ số đánh giá độ ưu tiên về các mặt cân bằng khi nhắc đến nguồn tài nguyên và giúp cung cấp các giá trị trạng thái giúp theo dõi được tiến độ của dự án .
Chất lượng hồ sơ đặc tả được đánh giá thông qua các tiêu chí:
- Tính rõ ràng và chính thức
- Tính phù hợp
- Tính đầy đủ và hoàn thiện
Đặc tả yêu cầu phần mềm bao gồm
- Đặc tả phi hình thức (informal specifications): là hình thức được viết bằng các ngôn ngữ tự nhiên.
- Đặc tả hình thức (Formal specifications): là các đặc tả được viết bằng các tập kỹ pháp có những quy ước, ký pháp riêng theo các quy định về cú pháp, và có ý nghĩa rất chặt chẽ.
- Đặc tả vận hành của chức năng (Operational specifications): Giúp mô tả lại các hoạt động của những hệ thống phần mềm sẽ được xây dựng .
Các bước đọc và phân tích tài liệu đặc tả phần mềm hiệu quả
- Đọc xem tổng quan dự án làm cái gì và làm về mảng nào
- Dựa vào các kinh nghiệm thực tế trong đời sống với các nguồn tham khảo, hình dung ra các chức năng cơ bản của sản phẩm.
- List ra các chức năng lớn và các đầu mục sau đó mới đọc chi tiết các chức năng nhỏ.
- Đọc các yêu cầu một cách chi tiết các chức năng cần làm
- Xác định được các hành động cần thiết từ đầu vào hoặc đầu ra
- Đặc tả mô tả ( Descriptive specifications): Giúp đặc tả các đặc tính đặc trưng của phần mềm gồm các biểu đồ thực thể liên kết ERD, đặc tả logic, đặc tả đại số.
- Đặc tả chức năng (Operational Specifications): Khi bạn thực hiện đặc tả chức năng của phần mềm thì người sử dụng các công cụ như biểu đồ phân rã chức năng(Functional Decomposition Diagram), biểu đồ luồng dữ liệu, mạng Petri,…
Nội dung cần xác định khi viết đặc tả yêu cầu phần mềm
- Requirements elicitation: Phân tích các đặc tả yêu cầu phần mềm.
- Requirements analysis and negotiation: Phân tích các yêu cầu phần mềm và giúp thương lượng đối với khách hàng
- Requirements Specification: Mô tả các yêu cầu của phần mềm
- System modeling: Mô hình hóa hệ thống
- Requirements validation: Kiểm tra tính hợp lý của các yêu cầu phần mềm
- Requirements management: Quản trị các yêu cầu phần mềm
- Xác định các yêu cầu phần mềm.
Một số yêu cầu của đặc tả yêu cầu phần mềm
Mục đích của đặc tả yêu cầu phần mềm là để đảm bảo rằng tất cả các nhóm trong mỗi bộ phận đang làm việc hướng tới một mục tiêu rõ ràng. Tuy nhiên, có những yêu cầu cần phải tuân theo để tài liệu của bạn hoàn thành sứ mệnh của nó.
Sử dụng các yếu tố hình ảnh
Việc bao gồm các yếu tố trực quan như sơ đồ, mô hình, hình ảnh sẽ cho phép hiểu rõ hơn về quy trình. Chúng đặc biệt hữu ích để minh họa các chức năng chính và hoạt động của phần mềm. Cố gắng phát triển một sơ đồ tư duy về dự án. Các ý tưởng, tính năng, kịch bản và những yếu tố sẽ làm nổi bật, tạo cấu trúc cho suy nghĩ của bạn khi chúng kết hợp lại với nhau.
Luôn rõ ràng, ngắn gọn
Có một điều không ai muốn đó là các nhà phát triển gặp phải bối rối khi làm việc trên sản phẩm của bạn. Không có chỗ cho sự mơ hồ, hãy mô tả tài liệu của bạn đầy đủ và không mắc các lỗi sau:
- Sử dụng các từ như: nói chung hoặc gần đúng
- Kết hợp các thuật ngữ với “/”, điều này có thể được hiểu là “và” hoặc “hoặc”
- Sử dụng các giá trị giới hạn phức tạp
- Sử dụng phủ định kép
Xem xét người dùng cuối
Thêm nghiên cứu và khảo sát người dùng vào tài liệu của bạn để củng cố sự hiểu biết về các yêu cầu, kỳ vọng và nhu cầu của người dùng. Điều này sẽ giúp bạn hình dung rõ hơn các hoạt động mà họ có thể thực hiện với phần mềm. Dự đoán tất cả các tình huống có thể xảy ra bằng cách nhấn mạnh bản chất giả định của chúng trước khi đưa vào đặc tả yêu cầu phần mềm của bạn. Hãy nhớ rằng các nhà phát triển sẽ làm việc từ dữ liệu có sẵn trong tài liệu, không hơn không kém.
Cung cấp mức độ linh hoạt
Tài liệu đặc tả yêu cầu phần mềm của bạn là một tài liệu linh hoạt: các tính năng và những thay đổi mới sẽ được thêm vào mỗi lần lặp lại. Hãy tính đến thực tế này bằng cách lập kế hoạch linh hoạt cho các yêu cầu của bạn trong trường hợp không đạt được kết quả mong muốn. Bạn cũng nên lưu lại lịch sử các thay đổi đã thực hiện đối với tài liệu để tránh mọi hiểu lầm. Tất cả những người tham gia phải có thể truy tìm nguồn gốc của từng yêu cầu và biết tác giả là ai, ngày tháng và lý do sửa đổi.
Ví dụ về đặc tả yêu cầu phần mềm
Giới thiệu
Mục đích của tài liệu này là chỉ định các yêu cầu chức năng và phi chức năng để phát triển nền tảng thương mại điện tử Shoppe dựa trên web. Đối tượng dự định của tài liệu này bao gồm các bên liên quan, nhà phát triển, người kiểm thử và người quản lý dự án.
Tổng quan về sản phẩm
Shoppe sẽ cho phép người dùng duyệt và mua sản phẩm trực tuyến. Nền tảng này cũng sẽ bao gồm các tính năng như giỏ hàng, xử lý thanh toán và theo dõi đơn hàng.
Yêu cầu chức năng
- Quản lý người dùng: Shoppe sẽ cung cấp tính năng đăng ký và đăng nhập để người dùng tạo và quản lý tài khoản của họ.
- Danh mục sản phẩm: Hiển thị danh mục sản phẩm để người dùng tìm kiếm. Mỗi sản phẩm sẽ bao gồm hình ảnh, mô tả và giá.
- Giỏ hàng: Cho phép thêm sản phẩm vào giỏ hàng và xem tổng chi phí đơn của họ.
- Thanh toán: Shoppe sẽ tích hợp với một số cổng thanh toán khác nhau để khách hàng có thể lựa chọn và để xử lý các giao dịch một cách an toàn.
- Theo dõi đơn hàng: Cho phép người dùng theo dõi trạng thái đơn đặt hàng của họ
Yêu cầu phi chức năng
- Hiệu suất: Load page và xử lý giao dịch trong vòng 3s
- Bảo mật: Sử dụng mã hóa HTTPS để bảo mật tất cả quá trình truyền dữ liệu giữa người dùng và máy chủ
- Khả năng mở rộng: Shoppe được thiết kế với khả năng xử lý khi 10.000 người dùng đồng thời truy cập
- Khả năng tiếp cận: Tuân thủ các nguyên tắc về khả năng truy cập WCAG 2.1 AA
Giả định và ràng buộc
- Technology Stack: Nền tảng sẽ được phát triển bằng cách sử dụng MEAN stack (MongoDB, Express.js, AngularJS, Node.js)
- Ngân sách: Không vượt quá 200.000.000 VNĐ
- Thời gian: Được phát triển trong vòng 6 tháng
Tiêu chí chấp nhận
- Người dùng có thể đăng ký và đăng nhập
- Người dùng có thể duyệt, tìm kiếm, thêm, xóa sản phẩm khỏi giỏ hàng.
- Các giao dịch được xử lý an toàn bằng cổng thanh toán. Người dùng sẽ nhận được email xác nhận khi thanh toán thành công
- Xem trạng thái đơn hàng và nhận thông báo thông qua email
Các tài liệu đặc tả yêu cầu
Tài liệu Software Requirement Specification (SRS ) : Là một tài liệu yêu cầu cấu trúc và chi tiết bao gồm những yêu cầu về phần chức năng, phi chức năng và tất cả các case khác mà phần mềm cần đáp ứng yêu cầu
Tài liệu Business Required Document (BRD): là tài liệu tập hợp tất cả các yêu cầu nghiệp vụ và các yêu cầu của các bên liên quan, các cấu trúc bao gồm: Mục tiêu phát triển của dự án, yêu cầu chức năng, tiến độ, thời gian, nguồn lực, chi phí và lợi ích cũng như phạm vi hoạt động của dự án
Tài liệu Functional Requirement Specification (FRS): Là một tài liệu giúp bạn mô tả, xác định được các chức năng của hệ thống hay các thành phần của dự án đó
UI/UX: là tài liệu mô tả các thiết kế người dùng hay các giao diện người dùng
Tài liệu Use Case: Giúp thể hiện được sự tương tác của người dùng với từng chức năng của phần mềm
DataFlow: Bao gồm các sơ đồ luồng dữ liệu, tài liệu mô tả các quy trình, cách xử lý dữ liệu từ cơ bản đến chuyên sâu
Use Stories: Mong muốn người dùng về các đặc điểm của sản phẩm
>>> Xem thêm: 12 lỗi phần mềm mà mỗi Tester nên biết