CHƯƠNG II Stakeholder-VisionAndScope

Thu nhận yêu cầu

1

TNYC

Nội dung

Thu nhận yêu cầu

1. Xác định những người liên quan (stakeholder) 2. Hiểu nhu cầu khách hàng 3. Thu nhận yêu cầu từ khách hàng 4. Mục tiêu (Goal) và yêu cầu 5. Product Vision và Project Scope 6. Phương pháp hệ thống mềm

2

Qui trình

3

1. Xác định những người liên quan

Thu nhận yêu cầu

(cid:153) 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

(cid:153) Stakeholder:

users, operators, bill payers, owners, regulatory agencies, victims, sponsors, maintainers, architects, managers, customers, surrogate customers …

4

Các stakeholder của Boeing 787

Thu nhận yêu cầu

(cid:153) Users: passengers that fly on the airplane (cid:153) Operators: fight crews and mechanics (cid:153) Bill payers: airline companies (cid:153) Owners: stockholders of these companies (cid:153) Regulators: FAA (cid:153) Sponsor: corporate headquarters (cid:153) Maintenance: ground crew (cid:153) Victims: people living near the airports…

5 © 2009 Bahill

Cần quan tâm tới qui trình

Thu nhận yêu cầu

6

Các stakeholder khác

Thu nhận yêu cầu

(cid:153) Users and operators: employees in the

manufacturing plant

(cid:153) Bill payer: Boeing (cid:153) Owner: stockholders of Boeing (cid:153) Regulators: OSHA (cid:153) Victims: physically and emotionally injured

workers

7

(cid:153) Air traffic control tower

Stakeholder

Thu nhận yêu cầu

• Customers • Users • Requirements analysts • Developers • Testers • Documentation writers • Project managers • Legal staff • Manufacturing people • Sales, marketing, field support, help desk, …

8

Stakeholder của hệ thống ATM

Thu nhận yêu cầu

(cid:153) Khách hàng của ngân hàng (cid:153) Đại diện của các ngân hàng khác (cid:153) Người quản lý ngân hàng (cid:153) Nhân viên thu tiền (cid:153) Người quản trị CSDL (cid:153) Người quản lý bảo mật (cid:153) Kỹ sư bảo trì phần cứng và phần mềm (cid:153) Những người điều phối ngân hàng…

Stakeholder

Thu nhận yêu cầu

(cid:153) Stakeholder không rõ những gì họ thật sự muốn (cid:153) Stakeholder diễn đạt yêu cầu theo những thuật

ngữ riêng của họ

(cid:153) Những stakeholder có thể có những yêu cầu tranh

chấp

(cid:153) Nhân tố quyền lực và tổ chức ảnh hưởng tới yêu

cầu hệ thống

(cid:153) 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ụ

Thực hành

Thu nhận yêu cầu

11

Xác định stakeholder

Qui trình

12

2. Hiểu nhu cầu của khách hàng

Thu nhận yêu cầu

(cid:153) 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ọ

13

(cid:153) 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

Phát biểu của khách hàng

Thu nhận yêu cầu

(cid:153) Khách hàng nói

(cid:153) Cái mà họ thật sự cần

14

Khách hàng là ai?

Thu nhận yêu cầu

(cid:153) 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.

(cid:153) Hai loại khách hàng phần mềm:

15

(cid:131) Khách hàng cấp quản lý (management level) (cid:131) Người dùng cuối (end user)

Khách hàng ở cấp quản lý

Thu nhận yêu cầu

(cid:153) Thường là những khách hàng trả tiền hay tài trợ

dự án phần mềm.

(cid:153) Khách hàng ở cấp quản lý có nhiệm vụ xác định

hay các stakeholder muốn hoàn thành.

(cid:131) Xác lập các thành phần chính cho phần còn lại của

dự án

yêu cầu nghiệp vụ (cid:131) Mô tả mục tiêu nghiệp vụ mà khách hàng, công ty

(cid:153) Các yêu cầu nghiệp vụ không đủ chi tiết để giúp

16

các nhà phát triển biết phải xây dựng cụ thể cái gì

Khách hàng là người dùng cuối

Thu nhận yêu cầu

(cid:153) Bao gồm tất cả những ai sẽ thực sự sử dụng sản

phẩm

17

(cid:153) 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

Đặc tính của khách hàng

Thu nhận yêu cầu

(cid:153) 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.

(cid:153) Đôi lúc họ nghĩ là nhà phân tích sẽ hình dung ra

18

được cái người dùng cần mà không cần phải thảo luận với nhau.

Đặc tính của khách hàng

Thu nhận yêu cầu

(cid:153) 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.

(cid:153) 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 (cid:198) người dùng thường thất vọ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ư ý…

19

(cid:153) 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.

(cid:153)

Quan hệ khách hàng và nhà phát triển

Thu nhận yêu cầu

(cid:153) Thường có sự mâu thuẫn giữa người phát triển và

khách hàng

(cid:153) Người quản lý thường ưu tiên cho việc phù hợp

20

với lịch làm việc của chính họ

Chất lượng dưới nhiều góc độ

Thu nhận yêu cầu

User: easy to learn; efficient to use; helps get work done

Customer: solves problems at an acceptable cost in terms of money paid and resources used

QUALITY SOFTWARE

Developer: easy to design; easy to maintain; easy to reuse its parts

Development manager: sells more and pleases customers while costing less to develop and maintain

Bill of Rights for Software Customers

Thu nhận yêu cầu

(cid:153) Expect analysts to speak your language. (cid:153) Expect analysts to learn about your business and

your objectives for the system.

(cid:153) Have analysts explain all work products created

from the requirements process.

(cid:153) Have analysts and developers provide ideas and alternatives both for your requirements and for implementation of the product.

(cid:153) Describe characteristics of the product that will

22

make it easy and enjoyable to use...

3. Khách hàng với Thu nhận yêu cầu

Thu nhận yêu cầu

(cid:153) Xác định tầm quan trọng của quan điểm khách

hàng

23

(cid:153) Là một kỹ thuật đòi hỏi nhiều kiến thức

Các bước tìm hiểu khách hàng

Thu nhận yêu cầu

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

24

của dự án.

Các khó khăn khi thu thập

Thu nhận yêu cầu

(cid:153) Việc không phù hợp giữa sản phẩm mà khách

thực sự cần

25

hàng mong đợi và sản phẩm mà nhà phát triển xây dựng thường do: (cid:131) Thiếu sự quan tâm của khách hàng. (cid:131) Khách hàng thường không biết chính xác cái họ

Nhiệm vụ của nhà phân tích

Thu nhận yêu cầu

(cid:153) Thực hiện nhiệm vụ với thời gian tiêu tốn cao

26

(lặp) nhưng nếu không đầu tư thời gian thì có thể dẫn đến hậu quả: phải thực hiện lại, trễ hạn, khách hàng không thỏa mãn

Phân loại người dùng

Thu nhận yêu cầu

(cid:131) Mức độ thường xuyên người dùng sử dụng sản

phẩm

(cid:131) Kinh nghiệm về miền ứng dụng của họ, sự thành

thạo về hệ thống máy tính

(cid:131) Các tính năng mà người dùng sử dụng (cid:131) Các tác vụ để hỗ trợ xử lý nghiệp vụ (cid:131) Quyền truy xuất và cấp độ bảo mật

27

(cid:153) Dựa vào các yếu tố sau:

Phân cấp người dùng

Thu nhận yêu cầu

28

Giao tiếp giữa user và developer

Thu nhận yêu cầu

29

Người dùng tiêu biểu PC

Thu nhận yêu cầu

(cid:153) PC (Product champion) dùng để chỉ những thành viên chính trong cộng đồng người dùng cung cấp cho dự án các yêu cầu.

30

(cid:153) Cs (Champions) là các người dùng thực sự, không phải là người đại diện như nhà tài trợ, nhân viên tiếp thị, người quản lý …

Một PC tốt

Thu nhận yêu cầu

(cid:153) Có cái nhìn rõ ràng về hệ thống mới và ủng hộ hệ thống vì họ thấy được lợi ích dành cho họ từ hệ thống mới này.

(cid:153) Là người cởi mở và được đồng nghiệp tín nhiệm. (cid:153) Là người hiểu biết thấu đáo về nghiệp vụ và môi

trường hoạt động của hệ thống.

(cid:153) Nhận thức được tầm quan trọng của họ đối với sự

31

thành công của dự án.

PC bên ngoài

Thu nhận yêu cầu

(cid:153) Khi phát triển phần mềm thương mại, rất khó tìm

PC từ bên ngoài.

(cid:153) Nếu có quan hệ công việc gần gũi với 1 số công ty, một số người thể sẵn lòng tham gia vào quá trình thu thập yêu cầu.

32

(cid:153) Nên khích lệ bằng kinh tế cho các PC bên ngoài như giảm giá sản phẩm hay trả tiền theo giờ khi họ tham gia công việc

Cầu lưu ý

Thu nhận yêu cầu

33

(cid:153) Làm thế nào để tránh chỉ nghe yêu cầu từ CP mà bỏ qua các nhu cầu từ các khách hàng khác. (cid:153) Nếu khách hàng đa dạng thì nên trước tiên cần nhận biết yêu cầu cơ bản chung cho mọi khách hàng, sau đó xác định các yêu cầu khác từ các loại người dùng khác, từ bộ phận tiếp thị, từ khách hàng riêng lẻ,…

Hệ thống theo dõi hóa chất (Chemical Tracking)

Thu nhận yêu cầu

34

Thực hành

Thu nhận yêu cầu

35

(cid:153) Bạn là người quản lý sản phẩm cho một công ty công cụ máy. Gáim đốc yêu cầu bạn phát triển một máy cắt mới quần áo để may váy thời trang theo các kích cỡ và mẫu. Máy được bán cho những người làm quần áo khắp thế giới (cid:131) Các stakeholder? (cid:131) Phân tích và đánh giá các stakeholder?

4. Mục tiêu (Goal) và yêu cầu

Thu nhận yêu cầu

(cid:131) Mức cao nhất: phát biểu về nhiệm vụ và mục tiêu (cid:131) Mức thấp nhất: những chức năng riêng biệt

36

(cid:153) Mục tiêu là cái mà stakeholder muốn thực thi. (cid:153) Mục tiêu có thể có nhiều mức độ khác nhau:

Mục tiêu và yêu cầu

Thu nhận yêu cầu

(cid:153) Mục tiêu chi tiết sẽ trở thành yêu cầu nó cần có

đặc tính: (cid:131) Có thể kiểm chứng được (cid:131) Phân loại ưu tiên

Mục tiêu - Ví dụ

Thu nhận yêu cầu

(cid:153) Game cho phép các thành viên trong gia đình chơi dễ

dàng. Game dành cho những gia đình có trẻ 5-7 tuổi, họ có thể bắt đầu chơi sau 3 phút khởi động. Tiêu chuẩn chấp nhận: qua kiểm thử tính sử dụng

(cid:153) Những người phát hành game cho phép khách hàng thỏa mãn nhiều hơn bằng cách sử dụng SOA (service-oriented architecture)

Dr 54-75

Mục tiêu và yêu cầu

Thu nhận yêu cầu

40

Yêu cầu nghiệp vụ

Thu nhận yêu cầu

(cid:153) Phân biệt giữa yêu cầu nghiệp vụ và yêu cầu phần

mềm

(cid:153) Thường các yêu cầu phần mềm được lưu trữ cho

các hệ thống phần mềm hiện có hoặc tương lai và phải phù hợp với yêu cầu nghiệp vụ.

41

(cid:153) Yêu cầu nghiệp vụ (cid:131) Tự động hóa (cid:131) Bằng tay

Ví dụ

Thu nhận yêu cầu

(cid:153) Tự động hóa: các nghiệp vụ thường kỳ như tính

lương, quản lý điểm…

(cid:153) Thực hiện bằng tay: ví dụ đánh giá tổn hại

42

nhân thọ, đánh giá rủi ro (nhưng có thể lưu trữ)…

srse

Phần mềm quản lý Kiosk

Thu nhận yêu cầu

(cid:131) Tạo ra doanh thu bằng cách cho thuê hay bán các

kiosk cho ngững người bán lẻ

(cid:131) Bán hàng tiêu dùng (cid:131) Thu hút khách hàng đến các thương hiệu hàng hóa (cid:131) Cung cấp các hàng hóa đa dạng

43

(cid:153) Mục tiêu nghiệp vụ của người quản lý kiosk:

Phần mềm quản lý Kiosk

Thu nhận yêu cầu

(cid:131) Thu lợi nhuận cao nhất từ diện tích mặt bằng đang

(cid:131) Thu hút khách hàng (cid:131) Áp dụng hệ thống thông tin để tăng doanh số và

lợi nhuận

44

(cid:153) Mục tiêu nghiệp vụ của người bán lẻ:

Xung đột

Thu nhận yêu cầu

(cid:153) Người quản lý muốn tạo 1 hướng mới năng động, kỹ thuật cao cho khách hàng, còn người bán lẻ thì muốn 1 hệ thống chuyển giao đơn giản, còn khách hàng thì chỉ thích thuận tiện và nhiều tính năng.

45

(cid:153) Ba nhóm người với các mục tiêu khác nhau. Người tài trợ dự án cần giải quyết các xung đột trước khi nhà phân tích phân tích yêu cầu phần mềm.

Giải quyết xung đột

Thu nhận yêu cầu

(cid:153) Xung đột mục tiêu nên được phát hiện sớm từ các stakeholder và việc phân tích mục tiêu, cách giải quyết sẽ được khi đưa ra trong dự thảo thiết kế (cid:153) Trong một số trường hợp chỉ cần một phác thảo

đơn giản là đã xác định được một hướng tiếp cận có khả thi không?

(cid:153) Một vài trường hợp, không thể nào tìm ra

46

được giải pháp khả thi giải quyết xung đột mục tiêu

Quy trình phát triển yêu cầu

Thu nhận yêu cầu

(cid:153) Trước khi thực hiện quy trình này, analyst cần

47

phải xác định : (cid:131) Product Vision ≅ product goal (mục tiêu) (cid:131) Project scope ≅ boundaries (phạm vi dự án)

5. Product Vision và Project Scope

Thu nhận yêu cầu

(cid:153) Vision (hay mission) mô tả thực chất sản

phẩm sẽ là gì

(cid:153) Project scope xác định một phần của product

vision dài hạn

48

(cid:153) Vision dùng để chỉ đến cả hệ thống phần mềm, nó phản ánh mục tiêu nghiệp vụ của hệ thống, còn scope trong quá trình phát triển tăng tiến chỉ liên quan đến một lần lặp

Thu nhận yêu cầu

49

Product vision và Project scope

Thu nhận yêu cầu

50

Tài liệu về vision và scope

Thu nhận yêu cầu

(cid:153) Tài liệu về vision và scope chứa các yêu cầu nghiệp vụ, xác định các giai đoạn phát triển

(cid:131) Project charter (cid:131) Business case document (cid:131) Market requirements document (MRD)

51

(cid:153) Các tài liệu khác có cùng mục đích:

Tài liệu về vision và scope

Thu nhận yêu cầu

(cid:131) Người tài trợ (sponsor) của dự án (cid:131) Người chi tiền (funding authority)

(cid:153) Chủ nhân của tài liệu vision và scope là:

(cid:153) Người phân tích yêu cầu có thể làm việc với người

52

chủ để viết tài liệu vision và scope.

Người tham gia

Thu nhận yêu cầu

53

(cid:153) Khách hàng (cid:153) Người có trách nhiệm trong bô phận quản lý (cid:153) Người hình dung của dự án (cid:153) Quản lý sản phẩm (cid:153) Các chuyên gia lãnh vục (cid:153) Thành viên của bộ phận marketing

Lưu ý

Thu nhận yêu cầu

54

(cid:153) Một trong các rủi ro lớn nhất của hệ thống là để cho phạm vi “phình dần ra”, không ai biết chính xác hệ thống bao gồm những gì, mất bao lâu và chi phí bao nhiêu để hoàn tất

srse

Mẫu tài liệu vision và scope

Thu nhận yêu cầu

55

Thực hành

Thu nhận yêu cầu

(cid:153) 1.1 Lý do chính khi đưa ra sản phẩm? (cid:153) 1.2 Sự hấp dẫn đối với thị trường (cid:153) 1.3 Mục tiêu thị trường và những điều

kiện cho thành công (cid:153) 1.4 Nhu cầu (marketplace

competition, timing issues, user acceptance, implementation issues…)

(cid:153) 2.1 (cid:153) For [target customer] (cid:153) Who [statement of the need or opportunity] (cid:153) The [product name] (cid:153) Is [a product category] (cid:153) That [key benefit, compelling reason to buy or use] (cid:153) Unlike [primary competitive alternative, current

system, or current business process],

(cid:153) Our product [statement of primary differentiation

and advantages of new product].

56

Thực hành

Thu nhận yêu cầu

(cid:153) 2.2 những khác biệt, những đặc trưng

mới

(cid:153) 2.3 giả định: dự định thay thế hệ

thống nào đó…, phụ thuộc vào qui định chờ ban hành, chính sách…

(cid:153) 3.3 giới hạn và loại trừ (cid:153) 4.1 những nhóm người nào được

những lợi ích gì

(cid:153) 4.2 những gì là bắt buộc, có thể điều chỉnh… (features (or scope), quality, schedule, cost, and staff)

57

6. Phương pháp hệ thống mềm

Thu nhận yêu cầu

(cid:153) Hệ thống mềm (soft system) bao gồm những vấn đề nhạy cảm về xã hội, chính trị cũng như kỹ thuật.

58

(cid:153) Nó bao gồm không chỉ sản phẩm hay dịch vụ mà cả con người các thủ tục và các mối quan hệ của con người với nhau

Quá trình phát triển

Thu nhận yêu cầu

59

Phương pháp SSM

Thu nhận yêu cầu

(cid:153) Phương pháp luận hệ thống mềm SSM (Soft

Systems Methodology - Checkland)

(cid:153) Khuyên chúng ta nhìn hệ thống một cách mềm

dẽo

60

(cid:153) Ta nên luôn tự hỏi liệu chúng ta có sai không, và nên triển khai các mô hình và khả năng khác nhau.

Các bước SSM

Thu nhận yêu cầu

1. Bắt đầu bằng mô hình bức tranh phong phú (rich

picture)

61

2. Từ những người liên quan xác định biên 3. Xác định giao tiếp 4. Đánh giá chọn lựa biên

Bước 1

Thu nhận yêu cầu

(cid:131) Mô hình chỉ ra những gì đang xảy ra trong nghiệp

vụ

(cid:131) Biểu diễn ngữ cảnh và phạm vi thông dụng không

chính quy

(cid:131) Chứa các khái niệm và vấn đề có liên quan được

stakeholder đề cập đến.

62

1. Bắt đầu bằng mô hình bức tranh phong phú

63

Đặc điểm của Bức tranh phong phú

Thu nhận yêu cầu

1. Bạn là 1 phần của hệ thống mềm mà bạn đang

thiện chính hệ thống đang quan sát.

(cid:131) SSM có thể xác định nhu cầu sản phẩm của hệ thống rộng hơn. Nếu đường biên của hệ thống càng rộng thì hệ thống càng trở nên mềm hơn.

64

quan sát. (cid:131) Bạn có thể đưa vào sự can thiệp của bạn và cải

Đặc điểm của Bức tranh phong phú (2)

Thu nhận yêu cầu

(cid:131) Một số stakeholder quan trọng tuy không trực tiếp vận hành sản phẩm như giám đốc công ty nhưng có thể gây áp lực cho người quản lý phần mềm.

(cid:131) Chỉ 1 ít sản phẩm là thực sự độc lập còn hầu hết được vận hành bởi con người và tuân theo các quy tắc và thủ tục nào đó. • Máy bay, robot sản xuất, cũng cần được lắp đặt,

2. Từ stakeholder đến biên

cấu hình, kiểm thử và bảo trì bởi con người.

65

B2. Xác định biên: Hệ thống

Thu nhận yêu cầu

(cid:153) Hệ thống thường gồm những thành phần sau

những hoàn cảnh khác nhau.

cùng làm việc với nhau: (cid:131) Một hay nhiều sản phẩm (cid:131) Một số người vận hành (cid:131) Các quy tắc và thủ tục cho biết làm cái gì trong

(cid:153) Thường có nhiều người vận hành và kết hợp với

66

nhau để cung cấp các dịch vụ.

Ví dụ một vài hệ thống

Thu nhận yêu cầu

67

Xác định phạm vi hệ thống

Thu nhận yêu cầu

68

(cid:153) Tùy vào ngữ cảnh, dự án có thể mở rộng phạm vi hơn, chứa nhiều khả năng hơn bên trong phạm vi.

B3. Xác định giao tiếp

Thu nhận yêu cầu

(cid:153) Kết hợp các stakeholder thích hợp lại với nhau, ví

dụ đội bay và đội bảo trì

(cid:153) Quyết định chọn lựa và cân đối các phạm vi đã

phác thảo

69

(cid:153) Xác định phạm vi và giao tiếp của hệ thống.

Ví dụ về giao tiếp

Thu nhận yêu cầu

(cid:153) Giao tiếp giữa hệ thống bảo trì và hệ thống

aircraft bây giờ là nội bộ. (cid:131) Hệ thống Bảo trì và giả lập/ huấn luyện là các

hệ thống con

(cid:131) Dự án sẽ phải thiết kế giao diện cho cả Hệ

70

thống Bảo trì và giả lập/ huấn luyện

Ví dụ về giao tiếp

Thu nhận yêu cầu

(cid:153) Giao diện với hệ thống bảo trì nên:

(cid:131) Tương tự như các giao diện của aircraft khác, nhằm tối thiểu hóa nhu cầu xây dựng công cụ mới, trang thiết bị và huấn luyện

(cid:131) Nó có thể có thiết kế đặc biệt thích hợp nhằm

71

tối đa hóa tính hiệu quả của việc bảo trì

B4. Đánh giá chọn lựa biên

Thu nhận yêu cầu

(cid:131) Tại sao khó khăn? (cid:131) Tại sao then chốt?

72

(cid:153) Là nhiệm vụ khó khăn và then chốt