![]() |
5 lỗi phổ biến khi viết SRS (Software Requirement Specification) |
Viết SRS (Software Requirement Specification) không chỉ là làm bài tập SWR302 cho xong, mà còn là kỹ năng cực quan trọng khi bước vào dự án thực tế. Nhưng thật lòng, nhiều bạn (trong đó có mình trước đây) thường mắc những lỗi cơ bản khi viết đặc tả yêu cầu phần mềm, khiến tài liệu dễ gây hiểu nhầm cho dev, tester và cả khách hàng.
Trong bài viết này trên TruongDevs, mình chia sẻ 5 lỗi phổ biến khi viết SRS mà sinh viên IT hay gặp phải, cùng vài mẹo nhỏ để bạn tránh lặp lại “vết xe đổ”.
Lỗi 1: Yêu cầu mơ hồ, không cụ thể
![]() |
Yêu cầu mơ hồ, không cụ thể, gây khó hiểu cho đội phát triển phần mềm và dẫn đến hiểu sai phạm vi dự án |
Một trong những lỗi "kinh điển" khi viết đặc tả yêu cầu phần mềm (SRS) là diễn đạt mơ hồ, khiến người đọc hiểu mỗi người một kiểu. Ví dụ:
- “Hệ thống phải chạy nhanh” - nhanh là bao nhiêu giây?
- “Giao diện thân thiện” - thân thiện theo ai đánh giá?
- “Đáp ứng nhu cầu người dùng” - nhu cầu nào, ưu tiên ra sao?
Những câu này nghe thì hợp lý, nhưng khi dev đọc để code hay tester đọc để test, không có tiêu chí rõ ràng để kiểm chứng. Kết quả là sản phẩm cuối cùng có thể khác xa mong đợi, rồi lại tốn công chỉnh sửa.
Kinh nghiệm sinh viên IT chia sẻ:
- Luôn dùng con số, tiêu chí cụ thể (ví dụ: “thời gian phản hồi ≤ 2 giây”, “hỗ trợ tối thiểu 500 người dùng đồng thời”).
- Tránh các từ mơ hồ như nhanh, tốt, thân thiện, dễ dùng, hiện đại… nếu không có tiêu chuẩn đo lường đi kèm.
- Nếu chưa xác định rõ, hãy ghi chú phần cần xác nhận với khách hàng hoặc BA để tránh sót thông tin.
Lỗi 2: Thiếu tính nhất quán trong tài liệu SRS
![]() |
Thiếu tính nhất quán giữa các phần tài liệu, gây mâu thuẫn và ảnh hưởng đến việc phát triển phần mềm |
Một lỗi thường gặp khác khi viết đặc tả yêu cầu phần mềm (SRS) là thiếu sự nhất quán trong cách dùng thuật ngữ, ký hiệu, hoặc mô tả chức năng. Điều này khiến người đọc cảm thấy rối và dễ gây hiểu lầm. Ví dụ:
- Phần đầu gọi là “Người dùng”, phần sau lại dùng “Khách hàng” cho cùng một vai trò.
- Biểu đồ Use Case ghi “Đăng nhập”, phần mô tả yêu cầu lại ghi “Login”.
- Một số chức năng viết chi tiết, số khác chỉ mô tả chung chung.
Khi tài liệu không đồng bộ về thuật ngữ và chi tiết mô tả, dev và tester sẽ khó bám sát yêu cầu ban đầu, dễ dẫn đến sai sót khi triển khai hoặc test hệ thống.
Kinh nghiệm sinh viên IT chia sẻ:
- Xây dựng glossary (bảng thuật ngữ) và dùng thống nhất trong toàn bộ tài liệu.
- Giữ cùng một phong cách viết, mức độ chi tiết cho tất cả các chức năng.
- Rà soát kỹ trước khi nộp bài hay bàn giao, tránh “mỗi trang một kiểu”.
Lỗi 3: Bỏ sót yêu cầu quan trọng
![]() |
Bỏ sót các yêu cầu quan trọng, dẫn đến sản phẩm phần mềm không đáp ứng đúng mong đợi của khách hàng |
Một trong những lỗi khiến dự án dễ gặp “khủng hoảng” nhất khi viết đặc tả yêu cầu phần mềm (SRS) chính là bỏ sót yêu cầu quan trọng. Điều này thường xảy ra khi:
- Thu thập yêu cầu vội vàng, chưa trao đổi đầy đủ với khách hàng hoặc giảng viên (trong bài tập SWR302).
- Chỉ tập trung viết các chức năng chính, bỏ quên các yêu cầu phi chức năng như bảo mật, hiệu năng, khả năng mở rộng.
- Không kiểm tra lại Use Case để đảm bảo mọi luồng nghiệp vụ đều được ghi nhận.
Khi một yêu cầu bị bỏ sót, hệ thống sau này sẽ thiếu tính năng cần thiết, hoặc phải tốn thêm thời gian và chi phí sửa đổi. Đây là nguyên nhân phổ biến khiến dự án trễ deadline hoặc sản phẩm không đạt kỳ vọng.
Kinh nghiệm sinh viên IT chia sẻ:
- Làm danh sách kiểm tra (checklist) tất cả yêu cầu đã thu thập được và đánh dấu từng mục khi viết vào SRS.
- Kết hợp Use Case, bảng Actor - Goal để tránh thiếu chức năng quan trọng.
- Xin phản hồi từ giảng viên, bạn cùng nhóm hoặc “khách hàng giả định” trước khi nộp bài hay bàn giao tài liệu.
Lỗi 4: Viết quá dài dòng hoặc quá sơ sài
![]() |
Nội dung dài dòng, lặp lại hoặc chứa sai sót làm giảm chất lượng tài liệu và khó bảo trì |
Nhiều bạn khi viết đặc tả yêu cầu phần mềm (SRS) thường rơi vào một trong hai thái cực: hoặc là dài dòng lê thê với hàng trang chữ lặp đi lặp lại, hoặc là quá sơ sài, viết vài dòng chung chung cho xong bài tập.
Cả hai cách này đều khiến tài liệu trở nên kém hiệu quả:
- Nếu viết quá dài dòng: Người đọc khó tìm được thông tin chính, mất thời gian đọc và dễ bỏ sót điểm quan trọng.
- Nếu viết quá sơ sài: Dev và tester không đủ dữ liệu để làm việc, dẫn đến sản phẩm không đúng nhu cầu.
SRS không phải là “truyện dài kỳ”, nhưng cũng không thể là “bản ghi nhớ một trang giấy”. Cần có độ chi tiết vừa đủ, rõ ràng, dễ tra cứu, tập trung vào yêu cầu và tiêu chí kiểm chứng được.
Kinh nghiệm sinh viên IT chia sẻ:
- Tuân theo cấu trúc SRS chuẩn IEEE hoặc mẫu giảng viên cung cấp, phân chia mục rõ ràng.
- Mỗi yêu cầu viết ngắn gọn, tập trung vào “Ai - Làm gì - Kết quả ra sao”.
- Loại bỏ các câu văn thừa, không có giá trị xác minh hoặc không ảnh hưởng đến chức năng.
Lỗi 5: Không kiểm tra và xác minh tài liệu SRS
![]() |
Không kiểm tra và xác minh tài liệu trước khi sử dụng, dẫn đến lỗi yêu cầu nghiêm trọng trong dự án |
Sau khi hoàn thành đặc tả yêu cầu phần mềm (SRS), nhiều bạn (và cả mình trước đây) thường có thói quen “viết xong là nộp luôn”. Điều này cực kỳ nguy hiểm vì tài liệu SRS chưa được kiểm tra và xác minh dễ chứa lỗi, thiếu sót hoặc mâu thuẫn.
Hệ quả là:
- Các yêu cầu sai sót được đưa vào phát triển, dẫn đến sản phẩm cuối không đúng ý khách hàng.
- Phát sinh tranh cãi giữa các bên (dev, tester, khách hàng) vì không rõ yêu cầu gốc.
- Tốn thêm thời gian chỉnh sửa nhiều lần, ảnh hưởng tiến độ dự án.
Trong thực tế, review và xác minh SRS là một bước quan trọng trong quy trình phát triển phần mềm chuyên nghiệp, giúp đảm bảo mọi yêu cầu được hiểu đúng và đầy đủ trước khi bắt đầu lập trình.
Kinh nghiệm sinh viên IT chia sẻ:
- Luôn dành thời gian review tài liệu sau khi viết xong, tự mình đọc lại và kiểm tra tính logic.
- Nhờ bạn cùng nhóm hoặc giảng viên xem qua, đóng vai trò dev hoặc tester để tìm lỗi.
- Nếu là dự án thực tế, nên xác minh yêu cầu với khách hàng trước khi khóa bản SRS chính thức.
Download Template SRS Chuẩn (Miễn phí)
Nếu bạn vẫn đang loay hoay không biết bắt đầu viết đặc tả yêu cầu phần mềm (SRS) như thế nào cho chuẩn và đúng bài SWR302, mình đã chuẩn bị sẵn một template SRS hoàn chỉnh để bạn tải về và tham khảo.
File này gồm:
- Cấu trúc SRS chuẩn.
- Các mục đầy đủ: Giới thiệu, Phạm vi, Chức năng, Phi chức năng, Use Case, Business Rules...
- Mẫu định dạng dễ chỉnh sửa trên Word/Google Docs.
Lưu ý:
Template này chỉ là khung tham khảo, bạn nên chỉnh sửa nội dung theo đề tài hoặc dự án thực tế của mình
để đạt điểm cao và tránh bị đánh giá là sao chép nguyên bản.
Kết luận
Viết đặc tả yêu cầu phần mềm (SRS) tưởng dễ nhưng lại dễ mắc lỗi “ngớ ngẩn” nếu chúng ta chưa quen hoặc chỉ làm bài tập cho xong. 5 lỗi phổ biến mà mình chia sẻ trên đây đều là những “bài học xương máu” mà sinh viên IT chúng mình thường gặp, và đôi khi cả các dự án thực tế cũng dính phải.
Để tránh lặp lại vết xe đổ, bạn hãy nhớ:
- Viết yêu cầu rõ ràng, đo lường được.
- Giữ tính nhất quán xuyên suốt tài liệu.
- Không bỏ sót yêu cầu quan trọng.
- Trình bày đúng độ chi tiết - không quá dài, không quá sơ sài.
- Luôn review và xác minh trước khi nộp bài hay bàn giao cho khách hàng.
Hy vọng bài viết này trên TruongDevs giúp bạn có thêm kinh nghiệm để làm bài SWR302 tốt hơn, và quan trọng hơn là áp dụng được vào các dự án thực tế sau này. Nếu thấy hữu ích, hãy chia sẻ cho bạn bè cùng lớp để không ai phải “chữa cháy” vì SRS viết sai nữa nhé!