PHÁT TRIỂN YÊU CẦU PHẦN MỀM
Xây dựng tầm nhìn và phạm vi dự án
Establishing the Product Vision and Project Scope
BM HTTT - Khoa CNTT - HUI
1
Nô iô dung
Xác định những người liên quan (stakeholder)
Hiểu nhu cầu khách hàng
Thu nhận yêu cầu từ khách hàng
Phân biệt goal và requirement
Khái niệm Product Vision và Project Scope
Xác định boundary bằng phương pháp soft system
Xác định yêu cầu chức năng bằng phương pháp hard
system
Lược đồ ngữ cảnh
BM HTTT - Khoa CNTT - HUI
2
Qui Trình
BM HTTT - Khoa CNTT - HUI
3
Stakeholder là gì
Stakeholder: An individual, group of people,
organisation or other entity that has a direct or indirect
interest (or stake) in a system.
A stakeholder’s interest in a system may arise from
using the system, benefiting from the system (in terms
of revenue or other advantage), being disadvantaged by
the system (in terms, for instance, of cost or potential
harm), being responsible for the system, or otherwise
being affected by it.
Stakeholders are legitimate sources of requirements.
4
Stakeholder
•
•
•
•
•
•
•
•
•
•
Customers
Users
Requirements analysts
Developers
Testers
Documentation writers
Project managers
Legal staff – nhóm người làm việc hợp pháp
Manufacturing people – người sản xuất
Sales, marketing, field support, help desk, …
5
Xác định những người liên quan
Stakeholder:
Bao gồm những người, tổ chức mà là một
phần của môi trường hệ thống. Hệ thống
cung cấp cho họ những lợi ích và họ có tầm
quan trọng trong hệ thống
Stakeholder:
Users,
operators, bill payers, owners,
regulatory agencies, victims, sponsors,
maintainers,
architects,
managers,
customers, surrogate customers …
BM HTTT - Khoa CNTT - HUI
6
Các stakeholder của Boeing 787
Users: passengers that fly on the airplane
Operators: fight crews and mechanics
Bill payers: airline companies
Owners: stockholders of these companies
Regulators: FAA
Sponsor: corporate headquarters
Maintenance: ground crew
Victims: people living near the airports…
BM HTTT - Khoa CNTT - HUI
7
Cần quan tâm tới qui trình
BM HTTT - Khoa CNTT - HUI
8
Các stakeholder khác
Users and operators: employees in the manufacturing
plant
Bill payer: Boeing
Owner: stockholders of Boeing
Regulators: OSHA
Victims: physically and emotionally injured workers
Air traffic control tower
BM HTTT - Khoa CNTT - HUI
9
Stakeholder của hệ thống ATM
Khách hàng của ngân hàng
Đại diện của các ngân hàng khác
Người quản lý ngân hàng
Nhân viên thu tiền
Người quản trị CSDL
Người quản lý bảo mật
Kỹ sư bảo trì phần cứng và phần mềm
Những người điều phối ngân hàng…
BM HTTT - Khoa CNTT - HUI
10
Stakeholder
Stakeholder không rõ những gì họ thật sự muốn
Stakeholder diễn đạt yêu cầu theo những thuật ngữ
riêng của họ
Những stakeholder có thể có những yêu cầu tranh
chấp
Nhân tố quyền lực và tổ chức ảnh hưởng tới yêu
cầu hệ thống
Những yêu cầu có thể thay đổi trong quá trình phân
tích, có thể xuất hiện những nhân tố mới, những
thay đổi về môi trường nghiệp vụ
BM HTTT - Khoa CNTT - HUI
11
Các hoạt động đầu tiên của
requirements engineering
Phân tích thông tin thị trường, stakeholder, và
nhu cầu của người dùng để suy dẫn các yêu
cầu chức năng và phi chức năng.
Hiểu được ảnh hưởng của các yêu cầu đến
nghiêôp vụ
Hợp nhất các yêu cầu này lại để hoàn thành
các đăôc tả yêu cầu và hêô thống
12
Hiểu nhu cầu của khách hàng
Nhà phân tích phải ở trong môi trường của
khách hàng để khám phá các chi tiết và giải thích
cho họ
Thiết kế mềm dẻo và tạo mẫu nhanh là những
phương tiện xác định yêu cầu của khách hàng
BM HTTT - Khoa CNTT - HUI
13
Phát biểu của khách hàng
BM HTTT - Khoa CNTT - HUI
14
Khách hàng là ai?
Khách hàng là một cá nhân hay 1 tổ chức mong muốn
trực tiếp hoặc gián tiếp có lợi từ sản phẩm.
Hai loại khách hàng phần mềm:
Khách hàng cấp quản lý (management level)
Người dùng cuối (end user)
BM HTTT - Khoa CNTT - HUI
15
Khách hàng ở cấp quản lý
Thường là những khách hàng trả tiền hay tài trợ dự án
phần mềm.
Khách hàng ở cấp quản lý có nhiệm vụ xác định yêu cầu
nghiệp vụ
Mô tả mục tiêu nghiệp vụ mà khách hàng, công ty hay
các stakeholder muốn hoàn thành.
Xác lập các thành phần chính cho phần còn lại của dự án
Các yêu cầu nghiệp vụ không đủ chi tiết để giúp các nhà
phát triển biết phải xây dựng cụ thể cái gì
BM HTTT - Khoa CNTT - HUI
16
Khách hàng là người dùng
cuối
Bao gồm tất cả những ai sẽ thực sự sử dụng sản phẩm
Người dùng có thể mô tả việc dùng sản phẩm cho
công việc của họ và những mong đợi về chất lượng từ
sản phẩm
BM HTTT - Khoa CNTT - HUI
17
Đặc tính của khách hàng
Thường cả hai loại khách hàng này đều cho rằng họ
không có nhiều thời gian để làm việc với các nhà phân
tích yêu cầu.
Đôi lúc họ nghĩ là nhà phân tích sẽ hình dung ra được
cái người dùng cần mà không cần phải thảo luận với
nhau.
BM HTTT - Khoa CNTT - HUI
18
Đặc tính của khách hàng
Thường xuất hiện những xung đột giữa yêu cầu nghiệp
vụ và yêu cầu người dùng.
Yêu cầu nghiệp vụ phản ánh chiến lược của tổ chức và
các ràng buộc về tài chính mà người dùng có thể không
nhìn thấy được người dùng thường thất vọng về hệ
thống mới, họ nghĩ mình như “con tốt” của 1 tương lai
không như ý…
Nhà phân tích nên làm việc với các đại diện chính của
người dùng và các nhà tài trợ để hòa giải các xung đột.
BM HTTT - Khoa CNTT - HUI
19
Quan hệ khách hàng và nhà phát
triển
Thường có sự mâu thuẫn giữa người phát triển và
khách hàng
Người quản lý thường ưu tiên cho việc phù hợp với
lịch làm việc của chính họ
BM HTTT - Khoa CNTT - HUI
20
Chất lượng dưới nhiều góc độ
BM HTTT - Khoa CNTT - HUI
21
Bill of Rights for Software Customers
Expect analysts to speak your language.
Expect analysts to learn about your business and your
objectives for the system.
Have analysts explain all work products created from the
requirements process.
Have analysts and developers provide ideas and
alternatives both for your requirements and for
implementation of the product.
Describe characteristics of the product that will make it
easy and enjoyable to use...
BM HTTT - Khoa CNTT - HUI
22
Khách hàng với Thu nhận yêu cầu
Xác định tầm quan trọng của quan điểm khách hàng
Là một kỹ thuật đòi hỏi nhiều kiến thức
BM HTTT - Khoa CNTT - HUI
23
Các bước tìm hiểu khách hàng
1. Nhận biết các lớp người dùng khác nhau
2. Xác định các nguồn của yêu cầu người dùng.
3. Chọn và làm việc với cá nhân tiêu biểu cho mỗi lớp
người dùng hay nhóm stakeholder khác nhau.
4. Thỏa thuận các yêu cầu với người ra quyết định của
dự án.
BM HTTT - Khoa CNTT - HUI
24
Các khó khăn khi thu thập
Việc không phù hợp giữa sản phẩm mà khách hàng
mong đợi và sản phẩm mà nhà phát triển xây dựng
thường do:
Thiếu sự quan tâm của khách hàng.
Khách hàng thường không biết chính xác cái họ
thực sự cần
Nhà phân tích yêu cầu cần thu thập user input, phân
tích và xác định rõ cần xây dựng cái gì để giúp người
dùng hoàn thành công viêc c của họ.
BM HTTT - Khoa CNTT - HUI
25