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.
Requirements được thu thập và xử lý đỉnh điểm ở giữa 2 giai đoạn Inception và Elaboration
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.
Các công cụ thu thập requirements theo mô hình dựa trên phương pháp quản trị của tổ chức PMI
Giả định về các yêu cầu ngầm (implicit requirements)
Không giống như explicit requirements là các yêu cầu được ghi nhận trong quá trình làm việc với khách hàng, thì các yêu cầu ngầm mặc định được khách hàng kỳ vọng mà không cần bên triển khai phải ghi nhận hoặc chốt bằng văn bản. Thí dụ khách hàng có ngầm hiểu rằng mật khẩu tài khoản người dùng phải được mã hóa, bạn không nhất thiết phải ghi thật rõ ràng yêu cầu này vào tài liệu đặc tả yêu cầu (requirement specs)
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 DFD (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 - Role Activity Diagrams (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.
Phân loại ưu tiên requirements theo phương pháp MoSCoW
Phương pháp MoSCoW nhắm vào việc sắp xếp các yêu cầu theo thứ tự ưu tiên. Các yêu cầu quan trọng nhất cần được đáp ứng trước để có xác suất thành công cao hơn.
MoSCoW là một từ viết tắt. Hai chữ O được thêm vào chỉ để làm cho từ 'moscow' dễ đọc hơn, ngoài ra không có ý nghĩa gì cả. M là viết tắt của 'Must haves' - bắt buộc phải có, S viết tắt cho 'Should have' - nên có, C cho 'Could haves’ - có thể có và W cho 'Won’t have’ - sẽ không có hoặc 'Would haves’ - sẽ có.
Tìm hiểu thêm về MoSCow tại đây: https://portal.tigosoftware.com/vi/phuong-phap-moscow-la-gi
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/
Nguồn: viblo