Tổng quan nghiên cứu
Trong lĩnh vực phát triển phần mềm, việc mô tả yêu cầu phần mềm chính xác và rõ ràng đóng vai trò then chốt trong thành công của dự án. Theo thống kê trên IEEE Spectrum, 12 nguyên nhân chính dẫn đến thất bại dự án phần mềm thì có đến 9 nguyên nhân liên quan đến việc xác định yêu cầu không chính xác hoặc thiếu rõ ràng. Điều này cho thấy, việc nâng cao chất lượng phân tích yêu cầu phần mềm là một trong những thách thức lớn của ngành công nghệ thông tin hiện nay. Luận văn tập trung nghiên cứu phương pháp chuyển đổi ngôn ngữ tự nhiên sang hệ thống luật mô tả yêu cầu phần mềm kết hợp (SPSC), nhằm giải quyết vấn đề nhập nhằng, thiếu tính rõ ràng trong mô tả yêu cầu bằng ngôn ngữ tự nhiên.
Mục tiêu chính của nghiên cứu là: (1) xây dựng và kiểm chứng sự kết hợp giữa hai hệ thống luật mô tả SPSKC và SPSG thành SPSC để mô tả đầy đủ các yêu cầu chức năng và phi chức năng của phần mềm; (2) đề xuất quy tắc chuyển đổi từ ngôn ngữ tự nhiên sang SPSC nhằm giảm thiểu sai sót và công sức cho người phân tích yêu cầu. Phạm vi nghiên cứu áp dụng trên bộ mẫu yêu cầu phần mềm đăng ký khóa học của IBM, với dữ liệu thu thập và phân tích trong năm 2013 tại Đại học Công nghệ, Đại học Quốc gia Hà Nội. Kết quả nghiên cứu có ý nghĩa quan trọng trong việc chuẩn hóa và tự động hóa quá trình phân tích yêu cầu, góp phần nâng cao chất lượng và hiệu quả phát triển phần mềm.
Cơ sở lý thuyết và phương pháp nghiên cứu
Khung lý thuyết áp dụng
Luận văn dựa trên hai hệ thống luật mô tả yêu cầu phần mềm chính: SPSKC do Konrad và Cheng phát triển, tập trung mô tả yêu cầu chức năng bằng ngôn ngữ tự nhiên có cấu trúc giới hạn, và SPSG của Grunske, chuyên mô tả các yêu cầu phi chức năng như độ tin cậy, hiệu năng, bảo mật. SPSC là sự kết hợp của SPSKC và SPSG, nhằm bao phủ toàn diện các loại yêu cầu phần mềm.
Ngoài ra, luận văn sử dụng mô hình mẫu yêu cầu (Requirement Pattern - RP) của Stephen Withall, giúp chuẩn hóa cách mô tả các loại yêu cầu phổ biến, và mẫu đặc tả (Specification Pattern - SP) của Dwyer, phân chia yêu cầu theo phạm vi (scope) và hành vi (behavior) trong hệ thống trạng thái hữu hạn. Các khái niệm chính bao gồm: sự kiện/trạng thái hệ thống, phạm vi mô tả (toàn cục, trước, sau, giữa các sự kiện), các mẫu hành vi như precedence, response, bounded existence, và các thuộc tính xác suất trong yêu cầu.
Phương pháp nghiên cứu
Nguồn dữ liệu chính là bộ yêu cầu phần mềm đăng ký khóa học của IBM, bao gồm 8 ca sử dụng với các yêu cầu chức năng và phi chức năng chi tiết. Phương pháp nghiên cứu gồm ba bước chuyển đổi từ ngôn ngữ tự nhiên sang SPSC: (1) tinh chỉnh mô tả yêu cầu để tập trung vào hành vi hệ thống thay vì hành động người dùng; (2) xác định các sự kiện/trạng thái hệ thống liên quan; (3) xác định mối quan hệ logic giữa các sự kiện/trạng thái dựa trên bảng hỏi SPSCQT – một phiên bản mở rộng của bảng hỏi PROPEL.
Phân tích dữ liệu sử dụng phương pháp định tính kết hợp với công cụ phần mềm hỗ trợ chuyển đổi, cho phép nhập, chỉnh sửa yêu cầu và trả về mô tả SPSC tương ứng. Cỡ mẫu gồm toàn bộ 8 ca sử dụng với hơn 13 yêu cầu chức năng và phi chức năng được chuyển đổi chi tiết. Timeline nghiên cứu kéo dài trong năm 2013, bao gồm giai đoạn thu thập dữ liệu, xây dựng bảng hỏi, phát triển phần mềm hỗ trợ và kiểm chứng kết quả.
Kết quả nghiên cứu và thảo luận
Những phát hiện chính
Khả năng mô tả yêu cầu chức năng và phi chức năng bằng SPSC: SPSC thể hiện được 100% các yêu cầu chức năng và phi chức năng trong bộ mẫu IBM, bao gồm các yêu cầu phức tạp như chuỗi sự kiện, điều kiện lặp, và các yêu cầu xác suất. Ví dụ, yêu cầu về độ tin cậy “hệ thống phải hoạt động 24/7 với downtime không quá 10%” được mô tả chính xác bằng mẫu probabilisticResponse trong SPSC.
Hiệu quả của bảng hỏi SPSCQT trong chuyển đổi yêu cầu: Bảng hỏi mở rộng từ PROPEL giúp người dùng xác định chính xác mối quan hệ giữa 1 đến 4 sự kiện/trạng thái, đồng thời bổ sung các lựa chọn cho yêu cầu có tính xác suất. Độ chính xác chuyển đổi đạt khoảng 95%, giảm thiểu nhầm lẫn giữa các phạm vi như “after A until B” và “between A and B”.
Phần mềm hỗ trợ chuyển đổi: Phần mềm xây dựng cho phép nhập, chỉnh sửa yêu cầu, trả lời bảng hỏi và xuất kết quả sang file .doc thuận tiện cho trao đổi. Thiết kế phần mềm linh hoạt, hỗ trợ mở rộng bảng hỏi và nhiều mô tả SPSC cho một yêu cầu. Giao diện trực quan giúp người dùng không chuyên về logic dễ dàng sử dụng.
So sánh với các nghiên cứu trước: Kết quả cho thấy SPSC vượt trội hơn SPSKC và SPSG riêng lẻ trong việc mô tả toàn diện yêu cầu phần mềm. Việc kết hợp bảng hỏi PROPEL với mở rộng cho phép xử lý các yêu cầu phức tạp và xác suất mà các nghiên cứu trước chưa làm được.
Thảo luận kết quả
Nguyên nhân thành công của SPSC là do sự kết hợp hài hòa giữa các luật mô tả chức năng và phi chức năng, đồng thời áp dụng phương pháp chuyển đổi dựa trên bảng hỏi có cấu trúc rõ ràng, giúp giảm thiểu sự nhập nhằng trong ngôn ngữ tự nhiên. Việc sử dụng phần mềm hỗ trợ cũng góp phần nâng cao hiệu quả và độ chính xác của quá trình chuyển đổi.
Kết quả có thể được trình bày qua biểu đồ tỉ lệ yêu cầu được mô tả thành công theo từng loại (chức năng, phi chức năng) và bảng so sánh độ chính xác chuyển đổi giữa SPSC và các hệ thống luật trước đó. Điều này minh chứng cho tính khả thi và ứng dụng thực tiễn của phương pháp.
Tuy nhiên, nghiên cứu cũng chỉ ra một số hạn chế như phần mềm hiện tại chỉ hỗ trợ tối đa 4 sự kiện/trạng thái trong mô tả xử lý, chưa áp dụng cho các yêu cầu thời gian thực phức tạp hơn. Ngoài ra, việc xác định sự kiện/trạng thái ban đầu vẫn phụ thuộc vào kinh nghiệm người phân tích, cần có hướng dẫn chi tiết hơn trong tương lai.
Đề xuất và khuyến nghị
Phát triển phần mềm hỗ trợ nâng cao: Mở rộng khả năng xử lý bảng hỏi cho nhiều hơn 4 sự kiện/trạng thái, tích hợp thêm các thuật toán xử lý ngôn ngữ tự nhiên để tự động nhận diện sự kiện từ mô tả ngôn ngữ tự nhiên, nhằm giảm thiểu sự phụ thuộc vào người dùng. Thời gian thực hiện dự kiến 12 tháng, do nhóm phát triển phần mềm đảm nhiệm.
Đào tạo và hướng dẫn người phân tích yêu cầu: Xây dựng tài liệu hướng dẫn chi tiết về cách xác định sự kiện/trạng thái và áp dụng bảng hỏi SPSCQT, tổ chức các khóa đào tạo chuyên sâu cho các chuyên gia phân tích yêu cầu trong doanh nghiệp và trường đại học. Mục tiêu nâng cao kỹ năng và giảm sai sót trong quá trình chuyển đổi, thực hiện trong 6 tháng.
Áp dụng thử nghiệm trong các dự án thực tế: Triển khai áp dụng phương pháp và phần mềm trong các dự án phát triển phần mềm quy mô vừa và lớn tại các công ty công nghệ để đánh giá hiệu quả thực tiễn, thu thập phản hồi và điều chỉnh phương pháp. Thời gian thử nghiệm 1 năm, phối hợp với các doanh nghiệp đối tác.
Nghiên cứu mở rộng cho yêu cầu thời gian thực và đa ngôn ngữ: Nghiên cứu bổ sung các mẫu luật mô tả cho yêu cầu thời gian thực phức tạp và hỗ trợ chuyển đổi ngôn ngữ tự nhiên đa dạng hơn, nhằm tăng tính ứng dụng trong các lĩnh vực công nghiệp khác nhau. Kế hoạch nghiên cứu kéo dài 18 tháng, do nhóm nghiên cứu chuyên sâu thực hiện.
Đối tượng nên tham khảo luận văn
Chuyên gia phân tích yêu cầu phần mềm: Giúp nâng cao kỹ năng mô tả yêu cầu chính xác, giảm thiểu sai sót và nhập nhằng trong tài liệu yêu cầu, từ đó cải thiện chất lượng sản phẩm phần mềm.
Nhà phát triển phần mềm và quản lý dự án: Hiểu rõ hơn về quy trình chuyển đổi yêu cầu, từ đó phối hợp hiệu quả với nhóm phân tích, giảm rủi ro dự án và tối ưu hóa tiến độ phát triển.
Giảng viên và sinh viên ngành Công nghệ Thông tin: Là tài liệu tham khảo quý giá trong giảng dạy và nghiên cứu về phân tích yêu cầu, mô hình hóa và kiểm thử phần mềm, đặc biệt trong lĩnh vực công nghệ phần mềm.
Doanh nghiệp công nghệ và tổ chức phát triển phần mềm: Áp dụng phương pháp và công cụ hỗ trợ để chuẩn hóa quy trình phân tích yêu cầu, nâng cao năng lực cạnh tranh và chất lượng sản phẩm.
Câu hỏi thường gặp
SPSC là gì và có ưu điểm gì so với các hệ thống luật mô tả khác?
SPSC là hệ thống luật mô tả yêu cầu phần mềm kết hợp giữa SPSKC và SPSG, cho phép mô tả đầy đủ cả yêu cầu chức năng và phi chức năng. Ưu điểm là khả năng bao phủ rộng, mô tả chính xác các mối quan hệ sự kiện phức tạp và yêu cầu xác suất, giúp giảm nhập nhằng so với ngôn ngữ tự nhiên.Phương pháp chuyển đổi từ ngôn ngữ tự nhiên sang SPSC được thực hiện như thế nào?
Phương pháp gồm ba bước: tinh chỉnh mô tả để tập trung vào hành vi hệ thống, xác định sự kiện/trạng thái, và sử dụng bảng hỏi SPSCQT để xác định mối quan hệ logic giữa các sự kiện. Bảng hỏi giúp người dùng lựa chọn chính xác mẫu mô tả phù hợp.Phần mềm hỗ trợ chuyển đổi có những chức năng gì?
Phần mềm cho phép nhập, sửa, xóa yêu cầu, cung cấp bảng hỏi tương tác để sinh mô tả SPSC, hiển thị kết quả trực quan và xuất file .doc để trao đổi. Thiết kế linh hoạt, dễ mở rộng và thân thiện với người dùng không chuyên về logic.Phạm vi áp dụng của phương pháp và phần mềm này là gì?
Phương pháp phù hợp với các dự án phần mềm có yêu cầu chức năng và phi chức năng rõ ràng, đặc biệt trong lĩnh vực quản lý, giáo dục, và công nghiệp ô tô. Hiện chưa hỗ trợ đầy đủ các yêu cầu thời gian thực phức tạp hoặc đa ngôn ngữ.Làm thế nào để nâng cao độ chính xác khi xác định sự kiện/trạng thái trong mô tả yêu cầu?
Nghiên cứu đề xuất nguyên tắc xác định sự kiện dựa trên kinh nghiệm, đồng thời khuyến nghị đào tạo chuyên sâu và sử dụng phần mềm hỗ trợ để giảm sai sót. Việc xác định cặp sự kiện bắt đầu/kết thúc và sự kiện đơn là bước quan trọng để đảm bảo tính chính xác.
Kết luận
- SPSC là hệ thống luật mô tả yêu cầu phần mềm kết hợp hiệu quả SPSKC và SPSG, cho phép mô tả đầy đủ yêu cầu chức năng và phi chức năng.
- Phương pháp chuyển đổi từ ngôn ngữ tự nhiên sang SPSC dựa trên bảng hỏi SPSCQT giúp giảm thiểu sai sót và nhập nhằng trong mô tả yêu cầu.
- Phần mềm hỗ trợ chuyển đổi được phát triển với giao diện thân thiện, linh hoạt và khả năng mở rộng cao, hỗ trợ xuất kết quả dưới dạng tài liệu trao đổi.
- Kết quả nghiên cứu được kiểm chứng trên bộ mẫu yêu cầu phần mềm đăng ký khóa học của IBM, đạt độ chính xác chuyển đổi khoảng 95%.
- Đề xuất mở rộng nghiên cứu và ứng dụng trong thực tế nhằm nâng cao chất lượng phân tích yêu cầu và phát triển phần mềm hiệu quả hơn.
Áp dụng phương pháp và phần mềm trong các dự án thực tế, đồng thời phát triển thêm các tính năng mở rộng để đáp ứng đa dạng yêu cầu phần mềm hiện đại. Để biết thêm chi tiết và hỗ trợ, độc giả có thể liên hệ với nhóm nghiên cứu tại Đại học Công nghệ, Đại học Quốc gia Hà Nội.