Những điều cơ bản về phân tích Requirements

1. Phân tích requirements là gì?

Phân tích requirements là quá trình xác định kỳ vọng của người dùng với một ứng dụng sắp được xây dựng hoặc sửa đổi. Phân tích requirements liên quan đến tất cả các nhiệm vụ được thực hiện để xác định nhu cầu của các bên liên quan. Do đó, phân tích requirements có nghĩa là: phân tích, lập tài liệu, xác định và quản lý các requirements của phần mềm hoặc hệ thống. Các requirements chất lượng cao được viết thành văn bản, có thể đánh giá được, kiểm thử được, theo dõi được, giúp định hình ra cơ hội kinh doanh và đc định nghĩa để thuận tiện cho việc thiết kế hệ thống.

2. Quy trình phân tích requirements

Quá trình phân tích requirement bao gồm các bước sau:

Thu thập requirements

Là quá trình thu thập requirements bằng cách giao tiếp, trao đổi với khách hàng.

Phân tích requirements

Bước này giúp quyết định chất lượng của requirements, nó bao gồm việc chỉ ra requirements có bị không rõ ràng, không hoàn chỉnh, mơ hồ hay mâu thuẫn không. Các vấn đề đó sẽ được giải quyết trước khi đi tới bước tiếp theo.

Model hóa requirements

Trong bước model hóa requirements, các requirements thường được viết thành văn bản trong nhiều format khác nhau ví dụ như use case, user story, văn bản bằng ngôn ngữ tự nhiên, hoặc đặc tả quá trình

Review

Bước này xem xét lại các quá trình thu thập requirements trước nhằm cải thiện cả quá trình.

3. Các kĩ thuật phân tích requirements

Có rất nhiều các kĩ thuật để phân tích requirements, dưới đây là một danh sách một số kĩ thuật:

Tiêu chuẩn ký hiệu mô hình hóa quy trình nghiệp vụ (BPMN)

Kỹ thuật này giống như việc tạo ra biểu đồ tiến trình, mặc dù BPMN có những kí hiệu và phần tử riêng. Kỹ thuật này được dùng để tạo ra các biểu đồ cho quy trình nghiệp vụ. BPMN được phổ biến rộng rãi như là một phương pháp cải tiến quy trình

UML(Ngôn ngữ mô hình hóa thống nhất)

UML bao gồm một bộ sơ đồ tích hợp được tạo ra để xác định, hình dung, xây dựng và ghi lại các thành phần của hệ thống phần mềm. UML là một kỹ thuật hữu ích trong khi tạo phần mềm hướng đối tượng và làm việc với quy trình phát triển phần mềm. Trong UML, các ký hiệu đồ họa được sử dụng để thể hiện thế kế của một dự án phần mềm. UML cũng giúp xác nhận cấu trúc thiết kế của phần mềm.

Sơ đồ kỹ thuật (Flowchart technique)

Flowchart mô tả luồng tuần tự và logic điều khiển của một tập hơn các hoạt động có liên quan. Flowchart có các định dạng khác nhau như: Linear, cross-function, và top-down. Flowchart có thể biểu thị các tương tác hệ thống, luồng dữ liệu (Data flows)... Flowchart rất dễ hiểu và có thể được sử dụng cho các thành viên biết kỹ thuật và các thành viên không biết kỹ thuật. Kỹ thuật flowchart giúp hiển thị các thuộc tính quan trọng của một quy trình.

Sơ đồ luồng dữ liệu (Data flow diagram)

Kỹ thuật này được sử dụng để thể hiện sự trực quan của các hệ thống, quy trình phức tạp mà khó có thể mô tả trong văn bản. Sơ đồ luồng dữ liệu biểu thị luồng thông tin thông qua một quy trình hoặc một hệ thống. Nó cũng bao gồm các data input, data output, data store, và nhiều quá trình phụ khác mà data đi qua.

RAD (Mô hình định hướng vai trò)

RAD là một mô hình quy trình định hướng vai trò đại diện cho sơ đồ hoạt động vai trò. Biểu đồ hoạt động vai trò là một khung nhìn mức cao thể hiện tính linh hoạt và cấu trúc vai trò của một tổ chức. Vai trò được sử dụng để nhóm các hoạt động lại với nhau thành các đơn vị trách nhiệm. Các hoạt động là những phần cơ bản của một vai trò. Một hoạt động có thể được thực hiện một cách độc lập hoặc nó có thể yêu cầu phối hợp với các hoạt động khác trong vai trò.

Gantt chart

Biểu đồ Gantt được sử dụng trong lập kế hoạch dự án vì chúng cung cấp một thể hiện trực quan của các nhiệm vụ được lên lịch cùng với các mốc thời gian. Biểu đồ Gantt giúp ta biết những gì được lên kế hoạch hoàn thành trước ngày nào. Ngày bắt đầu và ngày kết thúc của tất cả các nhiệm vụ trong dự án có thể được nhìn thấy trong một khung nhìn.

IDEF (Định nghĩa tích hợp cho mô hình hóa chức năng)

Định nghĩa tích hợp cho kỹ thuật mô hình hóa chức năng (IDEFM) đại diện cho các chức năng của một quy trình và mối quan hệ của chúng với các hệ thống cha/con với sự giúp đỡ của một box. Nó cung cấp một kế hoạch chi tiết để có được sự hiểu biết về một hệ thống tổ chức.

Phân tích Gap

Phân tích Gap là một kỹ thuật giúp phân tích các lỗ hổng trong hiệu suất của ưng dụng phần mềm, để xác định xem các yêu cầu nghiệp vụ có được đáp ứng hay không. Nó cũng bao gồm các bước cần thực hiện để đảm bảo rằng tất cả các yêu cầu nghiệp vụ được đáp ứng thành công. Gap biểu thị sự khác biệt giữa trạng thái hiện tại và trạng thái mục tiêu. Phân tích Gap còn được gọi là phân tích nhu cầu, đánh giá nhu cầu hoặc phân tích need-gap.

4. Tổng kết

Để một dự án thành công, điều cực kỳ quan trọng đó là phân tích các yêu cầu của dự án khi chúng bắt đầu được thực hiện cũng như trong suốt vòng đời của dự án. Phân tích yêu cầu giúp giữ các yêu cầu phù hợp với nhu cầu của doanh nghiệp. Một quy trình phân tích yêu cầu tốt sẽ đưa ra một ứng dụng phần mềm phục vụ cho các mục tiêu mà doanh nghiệp đặt ra.

Link tham khảo:

https://reqtest.com/requirements-blog/requirements-analysis/