You are on page 1of 36

WAY TO ENTERPRISE

Lesson 1
Quy trình phát triển phần mềm

23/04/2022
Agenda Chương trình

I. Quy trình phát triển phần mềm

II. Các giai đoạn phát triển phần mềm

III. Vai trò của BA trong phát triển phần mềm

Copyright © VTI Academy All Rights Reserved


Giới thiệu
Cá nhân tham gia
lĩnh vực BA

Công nhận những chuyên gia


có 2-3 năm kinh nghiệm BA

Công nhận những chuyên gia


là lãnh đạo và có trên 5 năm
năm kinh nghiệm BA

Copyright © VTI Academy All Right Reserved


I. Quy trình phát triển phần mềm
Quy trình phát triển phần mềm là đưa những yêu cầu của khách hàng thành một ứng
dụng/hệ thống phần mềm hoàn chỉnh một cách nhanh nhất, tốt nhất.

Mô hình phát triển phần mềm


Yêu cầu
Quy trình phát triển phần mềm Ứng dụng/
khách
Hệ thống
hàng

Copyright © VTI Academy All Right Reserved


I. Quy trình phát triển phần mềm
Quy trình phần mềm giúp trả lời những câu hỏi:
- Nhân sự: Ai sẽ làm? Ai làm việc gì?
- Thời gian: Khi nào bắt đầu? Mất bao lâu để hoàn thành
- Phương thức: Làm thế nào?
- Công cụ: Cần sử dụng những công cụ gì để hoàn thành công việc?
- Chi phí: Chi phí bỏ ra là bao nhiêu và thu về được bao nhiêu?
- Mục tiêu: Mục tiêu hướng đến là gì?
Những yêu cầu khác nhau thì có thể có những quy trình phát triển khác nhau.

Copyright © VTI Academy All Right Reserved


II. Các giai đoạn phát triển phần mềm
Phân tích yêu
cầu

Thiết kế

Triển khai

Kiểm thử Thực hiện

Copyright © VTI Academy All Right Reserved


II.1 Phân tích Requirement
Định nghĩa Requirement:
Là tất cả yêu cầu của khách hàng khi họ nói ra.

Phân tích Requirement:


Là quá trình xác định mong muốn của người dùng đối với ứng dụng, 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.

Các công việc chính của phân tích requirements bao gồm:
- 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.

Copyright © VTI Academy All Right Reserved


II.1 Phân tích Requirement

Ví dụ về Requirement:
Một người đến cửa hàng điện thoại và bảo người bán hàng “Tôi muốn mua Iphone 13
mới nhất với giá 13 triệu”
 Hãy phân tích Requirement của khách hàng?

Copyright © VTI Academy All Right Reserved


Các loại Requirement
1. Business Requirement: là những yêu cầu rất high-level từ phía khách hàng
(thường là các mục tiêu dài hạn, áp dụng cho toàn tổ chức). Bên liên quan

2. Stakeholder Requirement: là những yêu cầu cụ thể của từng Stakeholder. Những
yêu cầu này phải thể hiện được cái need-nhu cầu cụ thể của các Stakeholder.
3. Solution Requirement: là những yêu cầu về khả năng và tiêu chuẩn mà giải pháp
phải có để đạt được Business Requirement và Stakeholder Requirement. Gồm 2 loại:
- Functional Requirement (what the system do?): là những thứ mà hệ thống có
thể làm.
- Non-Functional Requirement (how the system work?): là những thứ không liên
quan chức năng nhưng giúp hệ thống chạy tốt và đảm bảo được chất lượng.
4. Transition Requirement: là những yêu cầu của khách hàng liên quan tới việc áp
dụng các giải pháp vào tổ chức như thế nào cho hiệu quả.
Chuyển giao

Copyright © VTI Academy All Right Reserved


Ví dụ các loại Requirement

1. Business Requirement: Giám đốc một công ty bán hàng đưa ra yêu cầu mong muốn “tăng 10% tỉ
lệ khách hàng quay lại mua hàng”

2. Stakeholder Requirement: là Sales team phải:


+ Biết được thông tin khách hàng => Hệ thống phải quản lý được thông tin khách hàng.
+ Theo dõi được các hoạt động tương tác của khách hàng => Hệ thống phải lưu trữ được các
hoạt động tương tác của khách hang với hệ thống

Copyright © VTI Academy All Right Reserved


Ví dụ các loại Requirement

3. Functional Requirement:
+ Xây dựng chức năng Đăng kí thông tin khách hàng => lấy được thông tin khách hàng
+ Xây dựng chức năng Lưu các hoạt động mua hàng của từng khách hàng => Xây dựng danh sách
khách hàng tiềm năng dựa vào những lần mua hàng
+ Xây dựng các chương trình Giảm giá ưu đãi để thu hút khách hàng

4. Non-Functional Requirement:
Hệ thống ko phải chỉ chạy được, mà hệ thống còn phải chạy nhanh, gọn và đẹp, tiện dụng

5. Transition Requirement:
- Ít nhất có 5 buổi đào tạo hệ thống cho Sales team.
- Toàn bộ Scenario phải đáp ứng được toàn bộ nghiệp vụ của công ty và phải được chạy test ít
nhất 2 lần trước khi phát hành

Kịch bản

Copyright © VTI Academy All Right Reserved


II.2 Thiết kế (Design)

Thực hiện thiết kế và tổng hợp các tài liệu thiết kế:

- Thiết kế Database
- Thiết kế API API
- Vẽ Data Flow
- Vẽ Mockup
- Thiết kế UX/UI
- Thiết kế Business Process Flow
- Thiết kế bộ phân quyền hệ thống
- Vẽ Solution Architect
……..

Tùy từng quy trình phát triển có thể đưa ra các loại tài liệu khác nhau, và BA có thể ko
phải làm tất cả những loại tài liệu này

Copyright © VTI Academy All Right Reserved


II.3 Lập trình (Implementation-Coding)

Lập trình viên thực hiện lập trình dựa trên các tài liệu thiết kế.

Đầu ra: Mã nguồn (Source Code)

Copyright © VTI Academy All Right Reserved


II.4 Kiểm thử (test)

Công việc của giai đoạn Kiểm thử:

- Test Plan Kế hoạch test

- Testcase Kịch bản test

- Test report Báo cáo test

- Test Evidence Bằng chứng test

Copyright © VTI Academy All Right Reserved


II.5 Triển khai (Evolution)

Triển khai sản phẩm cho khách hàng.

Đầu ra: Tài liệu hướng dẫn/ training khách hàng.

Copyright © VTI Academy All Right Reserved


III. Vai trò của BA trong phát triển phần mềm

Copyright © VTI Academy All Right Reserved


III. Vai trò của BA trong phát triển phần mềm
Các vị trí trong một dự án phần mềm:

Project Manager:
Thiết lập dự án, xác định scope, quản lý tiến độ, resource, chi phí…
Business Analysis:
Phân tích yêu cầu, quản lý yêu cầu…
Techlead:
Xây dựng cấu trúc hệ thống, review code, nghiên cứu công nghệ mới hoặc khó…
Developer:
Coding theo yêu cầu……
Tester (QC):
Viết testcase dựa theo yêu cầu và test……

Copyright © VTI Academy All Right Reserved


III.1 Vai trò của BA trong phân tích yêu cầu

Định nghĩa dự án Khai thác

Tài liệu hóa

Quản lý Xác minh

Copyright © VTI Academy All Right Reserved


III.1 Vai trò của BA trong phân tích yêu cầu
1. Project Definition

Mục đích của bước này là để BA chúng ta hiểu được project:


- Project này làm gì.
- Khách hàng là ai.
- Lĩnh vực gì.
- Vấn đề của họ ra sao, mục tiêu của họ là gì, scope dự án như thế nào…

Để hiểu được Project chúng ta phải trả lời được các câu hỏi sau:
- Vấn đề khách hàng đang gặp phải là gì? ( Problem to be solved)
- Mục tiêu khách hàng muốn là gì? (Business Goal)
- Hiện trạng của khách hàng? (Business Case)
- Phạm vi của dự án? (Project scope)

Copyright © VTI Academy All Right Reserved


III.1 Vai trò của BA trong phân tích yêu cầu
Ví dụ:
Một bác khách hàng đến tìm mình và bảo “ Xây dựng cho tôi hệ thống quản lý phòng
học”

Xác định Project Definition:

- Vấn đề khách hàng đang gặp phải là gì? ( Problem to be solved)


- Mục tiêu khách hàng muốn là gì? (Business Goal)
- Hiện trạng của khách hàng? (Business Case)
- Phạm vi của dự án? (Project scope)

Copyright © VTI Academy All Right Reserved


III.1 Vai trò của BA trong phân tích yêu cầu
2. Khai thác yêu cầu (Elicitation)

Elicitation là khai thác thông tin từ khách hàng, mọi yêu cầu từ khách hàng thường là
không có sẵn mà BA phải biết cách khai thác => để hiểu được mình cần phải làm gì?

Một số phương pháp khai thác yêu cầu:


- Meeting
- Data analysis
- Prototyping
- Survey
- Document Analysis
….

Copyright © VTI Academy All Right Reserved


III.1 Vai trò của BA trong phân tích yêu cầu
3. Phân tích (Analysis)

Phân tích đơn giản chỉ là sắp xếp và phân loại các thông tin để BA xác định được:
- Vấn đề thực sự của khách hàng là gì?
- Đâu là những yêu cầu thực tế?
- Đâu là những yêu cầu không thể thực hiện được?
- Những thứ khách hàng thực sự ưu tiên vào thời điểm hiện tại? priotiry

Cách sắp xếp và phân loại thông tin: Ưu tiên

- Tổ chức lại yêu cầu


- Phân rã yêu cầu
- Đánh độ ưu tiên của yêu cầu
- Validate
- Verify
….

Copyright © VTI Academy All Right Reserved


III.1 Vai trò của BA trong phân tích yêu cầu
4. Tài liệu (Document)

Bước documentation nghĩa là tài liệu hóa, tức là đem toàn bộ những thứ làm đc từ
bước trên tổng hợp lại thành tài liệu.
Hai tài liệu phổ biến là SRS hoặc FRD: Đặc tả yêu cầu phần mềm

SRS: Software Requirement Specitification


FRD: Funtional Requirement Document
Tài liệu yêu cầu chức năng

Biểu mẫu
Để document áp dụng:
- Tận dụng Template có sẵn
- Mô hình hóa để Document

Copyright © VTI Academy All Right Reserved


III.1 Vai trò của BA trong phân tích yêu cầu

5. Verification (xác minh)

Sau khi Document sẽ chuyển cho team verify lại một lần nữa, cụ thể là QC hoặc PM.
Document đã đúng chưa?
Các yêu cầu trong Document đã đầy đủ chưa?

Copyright © VTI Academy All Right Reserved


III.1 Vai trò của BA trong phân tích yêu cầu

6. Management

Quản lý các Document sau khi hoàn thành.


Nếu có Requirement thay đổi thì phải control việc thay đổi thế nào?
Quản lý Requirement sao cho ko để miss yêu cầu và khi có nhiều thay đổi là một vấn
đề không đơn giản.

Copyright © VTI Academy All Right Reserved


III.2 Vai trò của BA trong thiết kế

Copyright © VTI Academy All Right Reserved


III.2 Vai trò của BA trong thiết kế

Vai trò BA:

Ở bước design, sẽ can thiệp sâu một chút về kỹ thuật:


- Thiết kế Database
- Thiết kế API
- Thiết kế Business Process Flow
- Activity Diagram
- State Diagram
…..

Không hẳn là BA sẽ phải làm hết những phần này mà sẽ có sự tham gia của các vị trí
khác như Dev, Technical, Architect, hoặc PM……

Copyright © VTI Academy All Right Reserved


III.3 Vai trò của BA trong develop

Copyright © VTI Academy All Right Reserved


III.3 Vai trò của BA trong develop

Vai trò BA:

Giai đoạn này BA sẽ hỗ trợ Develop team trong quá trình phát triển sản phẩm.

Ví dụ: Xung đột


Use case nào ko rõ thì BA sẽ giải thích rõ hơn.
Đến giai đoạn phát triển sẽ phát hiện ra những logic không phù hợp hoặc conflict với
nhau thì BA cần phân tích và trao đổi lại với khách hàng.

Copyright © VTI Academy All Right Reserved


III.4 Vai trò của BA trong kiểm thử

Ma trận yêu cầu truy xuất nguồn gốc

Copyright © VTI Academy All Right Reserved


III.4 Vai trò của BA trong kiểm thử

Vai trò BA:

Trong giai đoạn Kiểm thử thì QC sẽ viết bộ Testcase và BA chuẩn bị một tài liệu
Requirement Tracebility Matrix (RTM)

RTM là một tài liệu mapping Requirement với Testcase.

Mục đích của RTM là để BA check lại xem các Requirement đã được test hay
chưa? Và test thành công hay thất bại. RTM sẽ giúp BA control được
Requirement xuyên suốt dự án.

Copyright © VTI Academy All Right Reserved


III.5 Vai trò của BA trong deploy

Hướng dẫn sử dụng

Đào tạo sử dụng

Copyright © VTI Academy All Right Reserved


III.5 Vai trò của BA trong deploy

Vai trò BA:


- Chuẩn bị tài liệu hướng dẫn sử dụng cho khách hàng (tùy dự án có thể là BA hoặc
QC làm công việc này).

- Sau khi chuẩn bị tài liệu Hướng dẫn sử dụng thì sẽ tiến hành Training khách hàng
sử dụng hệ thống

Copyright © VTI Academy All Right Reserved


III.6 Vai trò của BA trong maintain

Copyright © VTI Academy All Right Reserved


III.VI Vai trò của BA trong maintain
Vai trò BA:

- Fix bugs: khi có lỗi phát sinh, khách hàng sẽ gửi lỗi để BA vào phân tích và team
fix.

- Log bugs và phân tích bugs: nguyên nhân tại sao, ai là người phát hiện, hiện
trạng, thời gian…

- Phân tích để phát triển thêm các tính năng mà khách hàng muốn.

- Nâng cấp version khi có phiên bản update (thường là sau khi fix bugs)

- Activity sheet: quản lý hoạt động giữa team phát triển và khách hàng, tính
toán phát sinh chi phí nếu cần

Copyright © VTI Academy All Right Reserved


Q&A

Copyright © VTI Academy All Rights Reserved

You might also like