Professional Documents
Culture Documents
Bài Giảng Phân Tích Nghiệp Vụ Phần Mềm Chương 1
Bài Giảng Phân Tích Nghiệp Vụ Phần Mềm Chương 1
Bài Giảng Phân Tích Nghiệp Vụ Phần Mềm Chương 1
mềm
1.1 Các khái niệm cơ bản
1.1.1 Phân tích nghiệp vụ phần mềm
1.1.2 Yêu cầu phần mềm
1.1.3 Nhân viên phân tích nghiệp vụ phần mềm
1.1.4 Mô hình BACCM
1.2 Các bên liên quan trong hoạt động phân tích nghiệp vụ
phần mềm
1.2.1 Các bên liên quan và vai trò
1.2.2 Quản lý xung đột giữa các bên liên quan
1.1.1 Phân tích nghiệp vụ phần mềm
ØKhái niệm:
q Phân tích nghiệp vụ phần mềm là quá trình nghiên cứu, hiểu và
định rõ yêu cầu và quy trình hoạt động của một hệ thống phần
mềm.
q Phân tích nghiệp vụ phần mềm tập trung vào việc tìm hiểu các
quy trình kinh doanh/nghiệp vụ, nắm bắt yêu cầu của khách
hàng và xác định cách mà phần mềm có thể hỗ trợ các quy
trình và yêu cầu đó.
1.1.1 Phân tích nghiệp vụ phần mềm
ØLý do cần phân tích nghiệp vụ phần mềm
q Khi một vấn đề được mô tả rõ ràng thì bản thân nó đã tự giải
quyết được một nửa.
q Việc giúp cho khách hàng hiểu rõ họ muốn gì sẽ là bước quan
trọng đầu tiên để tiến hành thực hiện dự án.
q Nếu không hiểu thấu đáo điều này, dự án sẽ dễ đi đến thất bại.
Đôi khi, để nắm được những điều này từ khách hàng thật
không đơn giản.
1.1.1 Phân tích nghiệp vụ phần mềm
Ø Khó khăn khi nắm bắt yêu cầu người dùng
q Yêu cầu người dùng là các phát biểu bằng ngôn ngữ tự nhiên, bảng hoặc
biểu đồ đơn giản.
q Các yêu cầu thường là không hoàn chỉnh, không rõ ràng
q Yêu cầu thường được mô tả bằng khái niệm, đối tượng và các thuật ngữ
khó hiểu
q Các yêu cầu thường thiếu cấu trúc, thiếu chính xác, dư thừa, phỏng
chừng, thiếu nhất quán
q Các yêu cầu thiếu tính khả thi
q Yêu cầu nghiệp vụ (bao gồm cả yêu cầu người dùng) là mới với kinh
nghiệm của nhân viên phân tích nghiệp vụ phần mềm
1.1.1 Phân tích nghiệp vụ phần mềm
ØVai trò:
q Đảm bảo hiểu rõ yêu cầu người dùng ( /yêu cầu nghiệp vụ)
q Xác định yêu cầu kỹ thuật cho phần mềm phần mềm
q Thiết kế quy trình kinh doanh theo hướng hiệu quả, tối ưu hơn
q Đảm bảo sự phù hợp và tương thích của phần mềm với môi
trường hoạt động
q Cung cấp thông tin cho các giai đoạn kế tiếp trong chu kỳ phát
triển
1.1.1 Phân tích nghiệp vụ phần mềm
ØQuy trình phân tích nghiệp vụ phần mềm là một chuỗi các
bước được thực hiện để hiểu, xác định và mô tả yêu cầu
và quy trình kinh doanh của một hệ thống phần mềm.
ØTrong quy trình phân tích nghiệp vụ phần mềm, công
đoạn nào sau đây thường được thực hiện đầu tiên?
q A. Viết tài liệu kỹ thuật chi tiết
q B. Phát triển các prototype
q C. Xác định yêu cầu của người dùng
q D. Kiểm thử hệ thống
1.1.1 Phân tích nghiệp vụ phần mềm
ØPhương pháp phân tích nghiệp vụ phần mềm là cách
thức ( bao gồm quy trình, kỹ thuật và công cụ ) được sử
dụng để thực hiện phân tích nghiệp vụ phần mềm.
1.1.2 Yêu cầu phần mềm
ØYêu cầu phần mềm (Software Requirement) là những nhu
cầu và đặc điểm mà phần mềm cần đáp ứng để thỏa mãn
yêu cầu của người dùng, khách hàng và các bên liên
quan.
ØCó nhiều loại yêu cầu:
q Yêu cầu kinh doanh, yêu cầu nghiệp vụ, yêu cầu người dùng,
q Yêu cầu hệ thống, Yêu cầu chức năng, yêu cầu phi chức năng,
yêu cầu miền ...
1.1.2 Yêu cầu phần mềm
Ø Yêu cầu nào sau đâu là yêu cầu người dùng cho một phần mềm ?
q 1. "Tôi cần một hệ thống quản lý năng lượng tiết kiệm, có thể tự động điều chỉnh độ sáng
và nhiệt độ trong nhà theo thời gian trong ngày.”
q 2. "Tôi đang tìm một phần mềm quản lý tài chính cá nhân, có khả năng theo dõi chi tiêu,
lập kế hoạch ngân sách và đưa ra gợi ý tiết kiệm.”
q 3. "Tôi muốn một hệ thống giám sát an ninh thông minh, có khả năng ghi hình video chất
lượng cao, cảnh báo khi có người lạ và có thể điều khiển từ xa thông qua điện thoại di
động.”
q 4. "Tôi đang tìm kiếm một bộ robot hút bụi, có khả năng tự định vị và quay lại trạm sạc khi
pin yếu, cũng như tự động điều chỉnh công suất hút dựa trên loại sàn nhà."
Ø Xác định các dạng yêu cầu phần mềm?
q 1: "Tôi muốn một phần mềm chỉnh sửa ảnh giúp tôi dễ dàng cắt, xoay, chỉnh độ sáng và
thêm các hiệu ứng nghệ thuật vào ảnh của mình.”
q 2: "Phần mềm quản lý dự án cần phải cho phép người dùng tạo và theo dõi các công
việc, gán nhiệm vụ cho thành viên, và cung cấp báo cáo tiến độ dự án.”
q 3: "Phần mềm quản lý học sinh cần phải hoạt động mượt mà trên các thiết bị di động, bảo
mật thông tin học sinh, và cung cấp giao diện thân thiện với người dùng.”
q 4: "Chúng tôi muốn đầu tư vào một phần mềm giáo dục hứa hẹn với tính năng cá nhân
hóa học tập, hỗ trợ nhiều ngôn ngữ, và có khả năng mở rộng đến thị trường quốc tế."
1.1.2 Yêu cầu phần mềm
ØTầm quan trọng của việc xác định yêu cầu chính xác:
q Là yếu tố quyết định đến sự thành công của dự án phần mềm.
q Giúp đảm bảo rằng dự án phát triển phần mềm sẽ được thực
hiện đúng tiến độ, ngân sách và mục tiêu.
q Cung cấp căn cứ cho việc thiết kế, phát triển và kiểm thử phần
mềm.
q Giúp tránh sự thay đổi yêu cầu trong quá trình phát triển, làm
giảm nguy cơ về thời gian và nguồn lực không cần thiết.
1.1.2 Nhân viên phân tích nghiệp vụ phần mềm
Ø Nhân viên phân tích nghiệp vụ
phần mềm (Business Analyst: BA)
là người chịu trách nhiệm chuyển
đổi yêu cầu nghiệp vụ thành yêu
cầu kỹ thuật của phần mềm và
tham gia vào quá trình phân tích,
thiết kế và tạo tài liệu liên quan
đến yêu cầu và quy trình kinh
doanh.
1.1.2 Nhân viên phân tích nghiệp vụ phần mềm
ØVai trò:
q Như một cầu nối liên lạc giữa các bên liên quan trong quá trình
phát triển phần mềm, BA đóng vai trò tập hợp và áp dụng các
kỹ thuật cùng công việc phân tích cần thiết để đảm bảo sự rõ
ràng và hiệu quả trong việc truyền đạt thông tin và yêu cầu.
n Giúp khách hàng làm rõ được nhu cầu của họ
n Giúp đội dự án hiểu rõ nhu cầu của khách hàng
n Giúp công ty tối ưu chi phí sản xuất và gia tăng sự hài lòng của khách
hàng, đội dự án.
1.1.2 Nhân viên phân tích nghiệp vụ phần mềm
1.1.2 Nhân viên phân tích nghiệp vụ phần mềm
ØYêu cầu đối với nhân viên BA:
q BA phải nắm bắt và hiểu rõ về cấu trúc, chính sách và hoạt
động của tổ chức.
q BA cần phải có khả năng đề xuất các giải pháp phần mềm phù
hợp với mục tiêu của tổ chức.
q BA phải có khả năng truyền đạt rõ ràng các yêu cầu của khách
hàng cho nhóm dự án phần mềm.
1.1.2 Nhân viên phân tích nghiệp vụ phần mềm
• Tìm hiểu nghiệp vụ, luật, tiêu
chuẩn, sản phẩm tương tự,
• Tiếp nhận và phân tích thay đổi
• Theo dõi yêu cầu
• Khảo sát hiện trạng, nhu cầu
Làm rõ yêu
• Cập nhật trạng thái cầu
Nhiệm
mô hình hóa
yêu cầu
yêu cầu với khách hàng
•
•
Đào tạo dự án
Giải đáp thắc mắc
vụ • Vẽ các bản thiết kế chi tiết,
• Kiểm tra, nghiệm thu sản phẩm UI/UX, Sequence, Class, ...
Đào Diagram
tạo/Chuyển Thiết kế chi
tiết yêu cầu
giao/Nghiệm
thu nội bộ sản phẩm
1.1.2 Nhân viên phân tích nghiệp vụ phần mềm
ØHoạt động :
q Thu thập yêu cầu
q Phân tích yêu cầu
q Kiểm tra và xác nhận yêu cầu
q Xây dựng tài liệu yêu cầu
q Hỗ trợ quá trình phát triển
q Giao tiếp và gắn kết
1.1.2 Nhân viên phân tích nghiệp vụ phần mềm
ØKỹ năng cần có:
q Kỹ năng thu thập yêu cầu người dùng, nhanh nhạy hiểu kiến
thức nghiệp vụ.
q Kỹ năng tư duy phân tích tổng quan, logic, chi tiết
q Kỹ năng giải quyết vấn đề, trình bày, giải thích, mô tả vấn đề.
q Kỹ năng viết tài liệu: mô tả yêu cầu người dùng, đặc tả phần
mềm, thiết kế chi tiết
q Kỹ năng giao tiếp, thuyết trình.
Ø Yêu cầu: "Hệ thống quản lý thư viện cần cung cấp khả năng quản lý thông tin
sách và thành viên mượn sách. Người dùng có thể thực hiện các chức năng
như thêm sách mới vào hệ thống, thêm thành viên mới, cho mượn và trả
sách, tìm kiếm sách trong thư viện, và kiểm tra số lượng sách có sẵn. Hệ
thống cần hỗ trợ đồng thời nhiều người dùng và đảm bảo tính bảo mật của
thông tin sách và thành viên.”
q Kỹ năng tư duy phân tích tổng quan ?
q Kỹ năng tư duy logic ?
q Kỹ năng tư duy chi tiết ?
Ø Tư duy phân tích tổng quan • Cho phép thêm sách mới vào hệ thống.
• Cung cấp khả năng tìm kiếm sách dựa trên các
q Mục tiêu: Xây dựng một hệ thống quản lý thư viện hiệu quả, tiện ích cho
tiêu chí như: tên sách, tác giả, thể loại,...
• Cho
• Cho phépphép
kiểmthêm
tra sốthông
lượng tinsách
thànhhiện viêncómới
sẵnvào hệ
người dùng, đảm bảo tính bảo mật và hỗ trợ đồng thời nhiều người dùng
thống.
trong thư viện.
• khả
Cung cấpcập
khảnhật
năngthông
tìm kiếm thông tin thành
• Có • năng
Thực hiện việc cho tin sách,
mượn sáchchẳng
chosố,thành
số viên
q Chức năng chính của hệ thống và cách phục vụ người dùng cuối:
hạn viên
nhưvà dựa
giá, trêngiả,
tác cácngày
tiêu chí
xuất
ghi nhận thông tin mượn.
điện thoại,...
như:
bản. tên, mã
Thái
độ cần
có
Trách Dũng
nhiệm cảm
Cẩn thận
Vì sau nhân viên BA cần dũng cảm ?
1.1.4 Mô hình BACCM
Ø BACCM (Business Analyst Core Concept Model) là một khung cơ
bản được thiết kế bởi IIBA (International Institute of Business
Analysis) để mô tả các khái niệm cốt lõi mà một BA cần hiểu và
áp dụng trong quá trình làm việc:
q Need (Nhu cầu)
q Solution (Giải pháp)
q Value (Giá trị)
q Stakeholder (Các bên liên quan)
q Context (Ngữ cảnh)
q Change (Thay đổi)
ØGiả sử một công ty muốn cải thiện hệ thống đặt hàng của
mình để tăng hiệu suất và mang lại sự hài lòng cho khách
hàng. Là một nhân viên BA hãy dùng mô hình BACCM để
xác định rõ ràng yêu cầu và đảm bảo rằng giải pháp được
đề xuất sẽ đáp ứng nhu cầu của tổ chức.
1.2.1 Các bên liên quan và vai trò
ØCác bên liên quan chính trong hoạt động phân tích nghiệp
vụ phần mềm :
q Khách hàng (Business stakeholders)
q Quản lý dự án/Trưởng dự án (Project Manager)
q Nhân viên thiết kế (Designer/SA)
q Nhà phát triển/lập trình viên(Developers)
q Nhân viên kiểm thử (Testers)
q Các bên thứ ba(Third parties)
1.2.1 Các bên liên quan và vai trò
Ø Khách hàng Ø Khách hàng với BA:
(Business stakeholders) q Nguồn thông tin chính
q Cung cấp yêu cầu q Phản hồi và xác nhận yêu cầu
q Cung cấp nguồn lực q Đánh giá và phê duyệt yêu cầu
q Tham gia kiểm thử
q Phê duyệt và đánh giá
1.2.1 Các bên liên quan và vai trò
Ø Trưởng dự án Ø Trưởng dự án với BA
(Project Manager) q Cung cấp hướng dẫn và tài
q Xác định phạm vi và mục tiêu nguyên cần thiết cho BA để thu
thập và xác định yêu cầu.
q Lập kế hoạch và phân bổ nguồn
lực q Làm việc cùng BA trong việc ra
quyết định liên quan đến ngân
q Giám sát và kiểm soát sách, thời gian hoặc tài nguyên
n Quản lý sự tiến triển, rủi ro, sự thay
của dự án.
đổi, chất lượng, tài chính
q Kết thúc dự án
1.2.1 Các bên liên quan và vai trò
Ø Nhân viên thiết kế Ø Nhân viên thiết kế với BA
(Software Architect) q Đối tác kỹ thuật
q Định hình và thiết kế giải pháp q Hỗ trợ, tư vấn kỹ thuật
phần mềm.
n xác định kiến trúc, lựa chọn công
nghệ, tối ưu hiệu năng, đảm bảo bảo
mật, khả năng mở rộng và chất
lượng sản phẩm.
q Tư vấn hỗ trợ kỹ thuật
1.2.1 Các bên liên quan và vai trò
Ø Lập trình viên Ø Lập trình viên với BA
(Developers) q Hợp tác để hiểu rõ yêu cầu
q Viết mã nguồn, thực hiện kiểm nghiệp vụ.
thử đơn vị và sửa lỗi. q Đưa ra những đề xuất về giải
q Tối ưu hóa mã nguồn và đảm pháp kỹ thuật hoặc thảo luận về
bảo mã nguồn dễ bảo trì. những khả năng và hạn chế của
công nghệ.
q Hợp tác chặt chẽ với đội ngũ QC
để đảm bảo chất lượng sản q Cập nhật với BA về tình hình
phẩm. triển khai
1.2.1 Các bên liên quan và vai trò
Ø Nhân viên kiểm thử Ø Nhân viên kiểm thử với BA
( Quality control/Tester) q Hợp tác để hiểu rõ yêu cầu kinh
q Thiết lập kế hoạch và chiến lược doanh và đảm bảo rằng những
kiểm thử. yêu cầu này được kiểm thử đúng
đắn.
q Thiết kế, triển khai, và thực hiện
các ca kiểm thử. q Thảo luận về các tình huống biên
và kiểm thử hộp đen dựa trên
yêu cầu.