Đặc tả yêu cầu phần mềm là gì? Viết như thế nào hiệu quả?

Đặc tả yêu cầu phần mềm là gì? Viết như thế nào hiệu quả?
Tô Lãm

07/03/2024

1153

0

Chia sẻ lên Facebook
Đặc tả yêu cầu phần mềm là gì? Viết như thế nào hiệu quả?

Đặc tả yêu cầu phần mềm đóng vai trò quan trọng giống như là một bản đồ hướng dẫn cho quá trình thiết kế sản phẩm hiệu quả. Tuy nhiên, có nhiều Business Analyst vẫn không biết viết đặc tả yêu cầu phần mềm chi tiết và đảm bảo cả đội đều hiểu đúng. Vì vậy, bài viết hôm nay của Topchuyengia sẽ hướng dẫn bạn cách viết đặc tả yêu cầu phần mềm nhé!

 

Kỹ năng đặc tả yêu cầu phần mềm rất quan trọng trong quá trình thiết kế sản phẩm. Vì vậy, hậu quả khi đặc tả sai cũng nghiêm trọng, có thể dẫn đến uổng phí nguồn lực hay thậm chí là mất đi khách hàng. Để đảm bảo phần đặc tả yêu cầu phần mềm của bạn chất lượng, bạn có thể hỏi ý kiến từ các chuyên gia BA tại ứng dụng Askany nhé!

Định nghĩa đặc tả yêu cầu phần mềm

đặc tả yêu cầu phần mềm
Đặc tả yêu cầu phần mềm là gì?

Theo Topchuyengia, đặc tả yêu cầu phần mềm là một tài liệu mô tả chi tiết những yêu cầu cần thiết để phát triển một hệ thống phần mềm. Tài liệu này sẽ cung cấp thông tin cho stakeholder như khách hàng, nhà phát triển, quản lý dự án. Mục tiêu của tài liệu này là đảm bảo hệ thống sẽ đáp ứng đầy đủ và chính xác yêu cầu của khách hàng/ sếp. 

Nhìn chung, tài liệu đặc tả yêu cầu phần mềm thường gồm những mục chính là:

  • Giới thiệu: Phần này để mô tả mục đích, phạm vi, bối cảnh của hệ thống phần mềm.
  • Yêu cầu chức năng: Ở phần này, BA sẽ mô tả chi tiết các chức năng mà hệ thống cần thực hiện để đáp ứng yêu cầu của khách hàng.
  • Yêu cầu phi chức năng: Đây là những yêu cầu không ảnh hưởng trực tiếp đến chức năng như bảo mật, hiệu suất, v.v.
  • Yêu cầu giao diện người dùng: Phần này sẽ mô tả cách người dùng tương tác với hệ thống.
  • Yêu cầu dữ liệu: Ở phần này, BA sẽ cung cấp cấu trúc và quy tắc xử lý dữ liệu để xác xác định dữ liệu mà hệ thống sẽ lưu trữ và xử lý. 
  • Yêu cầu hệ thống: Cuối cùng là BA phải đặc tả các yêu cầu liên quan đến cấu trúc phần cứng và phần mềm mà hệ thống sẽ tương tác. 

Ví dụ: Một công ty X đang phát triển một ứng dụng mới để quản lý khách hàng. Mục Giới thiệu của tài liệu đặc tả yêu cầu phần mềm có thể bao gồm các thông tin sau:

Mục Giới thiệu

  • Mục đích của ứng dụng: Ứng dụng sẽ được sử dụng để quản lý khách hàng, bao gồm việc tạo mới, cập nhật, và xóa khách hàng.
  • Phạm vi của ứng dụng: Ứng dụng sẽ bao gồm các chức năng sau:
  • Tạo mới khách hàng
  • Cập nhật thông tin khách hàng
  • Xóa khách hàng
  • Tìm kiếm khách hàng
  • Xem danh sách khách hàng
  • Bối cảnh của ứng dụng: Ứng dụng sẽ được sử dụng bởi nhân viên kinh doanh của công ty.

Mục Yêu cầu chức năng
Mục Yêu cầu chức năng của tài liệu đặc tả yêu cầu phần mềm sẽ mô tả chi tiết các chức năng mà ứng dụng cần thực hiện. Trong ví dụ trên, các yêu cầu chức năng có thể bao gồm các yêu cầu sau:

  • Yêu cầu 1: Người dùng phải có thể tạo mới một khách hàng bằng cách cung cấp các thông tin sau:
    • Tên khách hàng
    • Địa chỉ khách hàng
    • Số điện thoại khách hàng
    • Email khách hàng
  • Yêu cầu 2: Người dùng phải có thể cập nhật thông tin của một khách hàng.
  • Yêu cầu 3: Người dùng phải có thể xóa một khách hàng.
  • Yêu cầu 4: Người dùng phải có thể tìm kiếm khách hàng bằng tên, địa chỉ, hoặc số điện thoại.
  • Yêu cầu 5: Người dùng phải có thể xem danh sách tất cả khách hàng.

Mục Yêu cầu phi chức năng
Mục Yêu cầu phi chức năng của tài liệu đặc tả yêu cầu phần mềm sẽ mô tả các yêu cầu không ảnh hưởng trực tiếp đến chức năng của ứng dụng, chẳng hạn như bảo mật, hiệu suất, và khả năng sử dụng. Trong ví dụ trên, các yêu cầu phi chức năng có thể bao gồm các yêu cầu sau:

  • Yêu cầu 6: Ứng dụng phải được bảo mật bằng xác thực hai yếu tố.
  • Yêu cầu 7: Ứng dụng phải có khả năng xử lý 1000 giao dịch mỗi giây.
  • Yêu cầu 8: Ứng dụng phải dễ sử dụng và dễ học.

Mục Yêu cầu giao diện người dùng
Mục Yêu cầu giao diện người dùng của tài liệu đặc tả yêu cầu phần mềm sẽ mô tả cách người dùng tương tác với ứng dụng. Trong ví dụ trên, các yêu cầu giao diện người dùng có thể bao gồm các yêu cầu sau:

  • Yêu cầu 9: Ứng dụng phải sử dụng giao diện đồ họa người dùng (GUI) trực quan và dễ sử dụng.
  • Yêu cầu 10: Ứng dụng phải cung cấp các lời nhắc và hướng dẫn rõ ràng cho người dùng.

Mục Yêu cầu dữ liệu
Mục Yêu cầu dữ liệu của tài liệu đặc tả yêu cầu phần mềm sẽ cung cấp cấu trúc và quy tắc xử lý dữ liệu để xác định dữ liệu mà hệ thống sẽ lưu trữ và xử lý. Trong ví dụ trên, các yêu cầu dữ liệu có thể bao gồm các yêu cầu sau:

  • Yêu cầu 11: Ứng dụng sẽ lưu trữ dữ liệu khách hàng trong một cơ sở dữ liệu SQL.
  • Yêu cầu 12: Các trường dữ liệu của bảng khách hàng sẽ bao gồm:
    • Tên khách hàng (varchar(50))
    • Địa chỉ khách hàng (varchar(255))
    • Số điện thoại khách hàng (varchar(10))
    • Email khách hàng (varchar(255))

Mục Yêu cầu hệ thống
Mục Yêu cầu hệ thống của tài liệu đặc tả yêu cầu phần mềm sẽ đặc tả các yêu cầu liên quan đến cấu trúc phần cứng và phần mềm mà hệ thống sẽ tương tác. Trong ví dụ trên, các yêu cầu hệ thống có thể bao gồm các yêu cầu sau:

  • Yêu cầu 13: Ứng dụng sẽ được triển khai trên máy chủ Linux.
  • Yêu cầu 14: Ứng dụng sẽ sử dụng cơ sở dữ liệu SQL Server.

Thông thường, đặc tả yêu cầu phần mềm sẽ do BA chịu trách nhiệm. Vì BA là người kết nối giữa khách hàng và các bên liên quan. Bên cạnh đó, việc viết tài liệu này theo tiêu chuẩn quốc tế như ISO/IEC 29148 sẽ giúp đảm bảo tính nhất quán của tài liệu.

XEM THÊM CÁC BÀI VIẾT LIÊN QUAN:

Các yếu tố cấu thành đặc tả yêu cầu

Sau khi đã tìm hiểu đặc tả phần mềm là gì, bây giờ hãy cùng Topchuyengia tìm hiểu xem các yếu tố nào cấu thành đặc tả yêu cầu.

Tài liệu đặc tả yêu cầu hệ thống

Tài liệu đặc tả yêu cầu hệ thống
Đây là một tập hợp các thông tin quan trọng, ghi chép lại các yêu cầu từ người dùng và quy trình vận hành của hệ thốn

Đây là một tập hợp các thông tin quan trọng, ghi chép lại các yêu cầu từ người dùng và quy trình vận hành của hệ thống. Nó xác định yêu cầu hệ thống ở mức độ cao với cách nhìn từ domain. Khách hàng và người cần dùng đến bộ tài liệu sẽ là độc giả chính. Vì vậy, nội dung của đặc tả phải được diễn đạt bằng những từ ngữ chuyên ngành. Bao gồm: các thông tin cơ bản về đối tượng và yêu cầu của hệ thống, môi trường mục tiêu, giả định và những yêu cầu phi chức năng.

 

Khái niệm được mô tả bằng mô hình và thiết kế để minh họa cho ngữ cảnh hệ thống, các miền thực thể chính, kịch bản sử dụng cũng như luồng quy trình công việc.

Đặc tả yêu cầu hệ thống

Đặc tả yêu cầu hệ thống bao gồm cả 2 thành phần là software và những phần non-software. Theo quan điểm này, các yêu cầu phần mềm có nguồn gốc từ các yêu cầu hệ thống, và dựa vào yêu cầu của hệ thống để dần dần hình thành các yêu cầu của phần mềm.

Đặc tả yêu cầu phần mềm

Đặc tả yêu cầu phần mềm
Đặc tả yêu cầu phần mềm

Đặc tả yêu cầu phần mềm là nền tảng hình thành các thỏa thuận giữa khách hàng và nhà thầu hoặc các nhà cung cấp về chức năng chính xác của sản phẩm phần mềm. Nó cung cấp khả năng đánh giá nghiêm ngặt các yêu cầu trước khi tiến hành vào việc thiết kế và làm giảm thiểu việc thiết kế lại. Đồng thời, nó còn là cơ sở để ước lượng chi phí, rủi ro và lịch trình.

 

Các tổ chức cũng có thể sử dụng một tài liệu đặc tả yêu cầu phần mềm làm cơ sở để phát triển kế hoạch xác minh và kiểm tra, thông báo cho việc chuyển giao sản phẩm phần mềm cho người dùng mới hoặc nền tảng mới. Và cuối cùng, nó cung cấp một cơ sở để cải thiện lại phần mềm. Đặc tả yêu cầu phần mềm có thể được bổ sung bằng các mô tả chính thức hoặc gần chính thức. Các ký hiệu thích hợp có thể mô tả chính xác hơn so với ngôn ngữ tự nhiên.

Nguyên tắc chung cho việc sử dụng ký hiệu

Các nguyên tắc chung cho việc sử dụng ký hiệu trong đặc tả yêu cầu là chúng phải chính xác và rõ ràng. Điều này là cực kỳ quan trọng cho việc phát triển một phần mềm đáng tin cậy và có độ an toàn cao. Tuy nhiên, việc lựa chọn các kí hiệu thường phụ thuộc vào việc đào tạo, sở thích và kỹ năng của người viết và khách hàng.

 

Các chỉ tiêu chất lượng như: Chi phí, mức độ hài lòng, hiệu quả, đúng tiến độ, và khả năng tái sản xuất cũng được áp dụng cho đặc tả yêu cầu phần mềm. Ngoài ra, các đặc tả yêu cầu của cá nhân bao gồm mệnh lệnh, chỉ thị, yếu tố tùy chọn và duy trì, với các chỉ số đánh giá bao gồm kích thước, tính dễ đọc, chi tiết kỹ thuật, chiều sâu và cấu trúc của tài liệu.

8 bước viết đặc tả yêu cầu phần mềm

đặc tả yêu cầu phần mềm
Hướng dẫn 8 bước viết đặc tả yêu cầu phần mềm

Bước 1: Xác định mục tiêu và yêu cầu từ khách hàng

Bước đầu tiên trong quá trình đặc tả yêu cầu phần mềm chính là xác định mục tiêu của phần mềm và thu thập yêu cầu từ khách hàng/ sếp. Bạn BA sẽ thu thập những hạng mục chính như ở trên đã đề cập (chức năng, hiệu năng, giao diện người dùng, v.v.) BA có thể tổ chức các buổi họp trao đổi trực tiếp với đối tác để thu thập yêu cầu. Sau đó, BA có thể tham khảo ý kiến từ chuyên gia có nhiều kinh nghiệm để đặc tả yêu cầu phần mềm chính xác, chi tiết và dễ hiểu. 

 

Ví dụ: Ngân hàng XYZ đang triển khai một hệ thống quản lý khách hàng mới. BA của ngân hàng đã tổ chức một buổi họp chiến lược với các bên liên quan quan trọng bao gồm khách hàng, nhà phát triển và quản lý dự án. Trong buổi họp này, BA đã tập trung thảo luận về các mục tiêu cụ thể của hệ thống, đối tượng sử dụng dự kiến và cách hệ thống sẽ được triển khai.

 

Thông qua cuộc thảo luận này, BA đã xác định một số yêu cầu chức năng quan trọng như khả năng quản lý thông tin khách hàng, quản lý giao dịch và khả năng tạo báo cáo. Những thông tin này giúp BA định hình các tính năng cốt lõi của hệ thống để đáp ứng nhu cầu cụ thể của ngân hàng.

 

Ngoài ra, BA cũng đã xác định một số yêu cầu phi chức năng bao gồm các yêu cầu về bảo mật và khả năng mở rộng để đảm bảo tính ổn định và mở rộng của hệ thống trong tương lai.

Bước 2: Tiến hành phân tích yêu cầu

Khi phân tích yêu cầu phần mềm, BA cần chú ý 2 bước sau:
Phân loại và nhóm yêu cầu: Đầu tiên, BA cần phân loại các yêu cầu theo từng đối tượng cụ thể. Để phân loại và xếp nhóm, BA có thể dựa trên tính chất chung, mức độ ưu tiên hoặc mức độ quan trọng đối với hệ thống. Sau đó, những yêu cầu này sẽ được sắp xếp logic để tạo nên một hệ thống hợp lý cho tổng thể. 
Kiểm tra và đảm bảo tính khả thi của yêu cầu: Sau khi yêu cầu được nhóm, BA sẽ tiến hành kiểm tra khả năng thực hiện yêu cầu và đảm bảo tính khả thi. Trong quá trình này, BA cũng sẽ quản lý rủi ro cho hệ thống. 

Bước 3: Biến yêu cầu thành biểu đồ

Mô hình hóa yêu cầu phần mềm thông qua biểu đồ luồng dữ liệu là một kỹ thuật trong quá trình phân tích yêu cầu. Biểu đồ này trực quan hóa cách dữ liệu di chuyển qua hệ thống, tập trung vào luồng thông tin giữa các chức năng, giúp BA nhận diện rõ ràng về các quy trình và tương tác. Đặc điểm ưu việt của biểu đồ luồng dữ liệu là khả năng hiểu rõ quy trình hệ thống, tập trung vào dữ liệu, dễ sửa đổi, cũng như khả năng thể hiện chính xác cách hệ thống xử lý thông tin. Sự linh hoạt và rõ ràng của mô hình này hỗ trợ hiệu quả cho đội ngũ trong quá trình phân tích và thiết kế phần mềm.

Bước 4: Lập biểu đồ thực thể quan hệ

Biểu đồ thực thể quan hệ (ER) là một phần của Mô hình Quan hệ - Thực thể (Entity Relationship Model) được áp dụng để định hình cơ sở dữ liệu ở mức khái niệm. Đây là công cụ quan trọng trong quá trình trao đổi ý tưởng giữa người dùng cuối cùng và nhóm thiết kế trong giai đoạn phân tích.

Bước 5: Chọn phương pháp đặc tả

Ở bước này, BA sẽ chọn 1 trong 2 cách để thực hiện đặc tả: đặc tả phi hình thức và đặc tả hình thức.
Đặc tả phi hình thức sẽ sử dụng ngôn ngữ tự nhiên và bình thường để truyền đạt thông tin
Đặc tả hình thức là sử dụng ngôn ngữ chuyên môn, có cú pháp rõ ràng, cụ thể là: 

  • Đặc tả chức năng: BA sẽ sử dụng biểu đồ luồng dữ liệu (DFD), biểu đồ phân rã chức năng (FDD), biểu đồ trạng thái.
  • Đặc tả mô tả: BA sẽ sử dụng biểu đồ thực thể liên kết (ERD), đặc tả đại số (Algebraic Specifications), đặc tả logic.

Các phương pháp này giúp đảm bảo rằng thông tin được truyền đạt chính xác và hiệu quả trong quá trình phát triển phần mềm. Việc chọn lựa phương pháp thích hợp phụ thuộc vào yêu cầu cụ thể của dự án và mức độ chi tiết mong muốn trong đặc tả.

Bước 6: BA thẩm định yêu cầu

Thẩm định yêu cầu đóng vai trò quan trọng trong quá trình phát triển phần mềm nhằm đảm bảo đáp ứng đúng nhu cầu người dùng và không tạo ra lỗi. Ngoài ra, quá trình thẩm định cũng giúp BA đánh giá liệu yêu cầu có đáp ứng các yếu tố kinh tế, kỹ thuật và pháp lý hay không.

Bước 7: Xây dựng bản mẫu

Bản mẫu sẽ giúp BA quản lý yêu cầu, phân tích chi tiết và triển khai thành sản phẩm cuối cùng. Bước này nhằm đảm bảo rằng tất cả các khía cạnh của hệ thống được hiểu rõ, sản phẩm phần mềm đáp ứng đúng và đầy đủ các yêu cầu được xác định từ bản mẫu.

Bước 8: Định dạng đặc tả yêu cầu phần mềm

Cuối cùng, để đảm bảo tính rõ ràng và hiệu quả của bản đặc tả yêu cầu phần mềm, BA cần định dạng chặt chẽ để người đọc hiểu rõ những yêu cầu cụ thể và triển khai phần mềm hiệu quả

 

>>>Đăng ký khóa học BA ngay để nhận được thật nhiều ưu đãi ngay hôm nay !!!

 

Viết đặc tả yêu cầu phần mềm là một kỹ năng cần thiết của BA. Một bản đặc tả yêu cầu phần mềm xuất sắc sẽ mô tả được chính xác về tính năng, giao diện, hiệu suất của phần mềm và trở thành “cầu nối” giữa nhóm phát triển và các bên liên quan. 

 

Quá trình đặc tả yêu cầu phần mềm có thể làm cho BA rối rắm vì sự phức tạp của hệ thống hoặc nghiêm trọng hơn là trường hợp hiểu sai yêu cầu ban đầu của khách hàng/ sếp. Để tránh những trường hợp đó, bạn có thể tham khảo ý kiến của các chuyên gia hàng đầu trong lĩnh vực BA tại Askany nhé!

Bình luận

Kinh nghiệm thực tế

Tư vấn 1:1

Uy tín

Đây là 3 tiêu chí mà TOPCHUYENGIA luôn muốn hướng tới để đem lại những thông tin hữu ích cho cộng đồng