1 1
TỔNG QUAN VỀ KỸ THUẬT YÊU CẦU REQUIREMENT ENGINEERING
Giảng viên: Trần Thị Kim Chi
Nội dung
2 2
Khái quát về phần mềm Tầm quan trọng của việc xác định cầu Kỹ thuật yêu cầu Yêu cầu theo quan điểm khách hàng Nhà phân tích yêu cầu
Khái Quát Về Phần Mềm
3 3
Software = Program Software product = Program + Document
+ Support
Loại sản phẩm phần mềm
Generic Product: là sản phẩm đóng gói
và bán rộng rãi trên thị trường.
Bespoke Product: là sản phẩm được phát triển theo yêu cầu đặc thù của từng khách hàng.
Khái Quát Về Phần Mềm
4 4
Các đặc tính quan trọng của sản phẩm phần mềm Maintainability: phần mềm có thể thay đổi thuận tiện
Dependability: tính ổn định, bảo mật và an toàn của phần mềm. Không gây tổn hại về vật chất hay kinh tế cho hệ thống.
Efficiency: Sử dụng hiệu quả tài nguyên của hệ thống
theo yêu cầu của người dùng
Usability: giao diện và phương thức phải phù hợp với người dùng đồng thời đáp ứng đúng yêu cầu của người dùng
cho công việc
Phần Mềm – Đủ hay Thiếu
5 5
Phần mềm được viết ngay từ khi có những máy tính programable đầu tiên. Được quan tâm và phát triền từ rất sớm Có rất nhiều phần mềm đã được viết Không thiếu phần
mềm
Thực tế việc sản xuất phần mềm không đáp ứng kịp yêu
Phần mềm không đáp ứng đủ cho người dùng
cầu của người sử dụng: Không đủ về số lượng Thiếu về chất lượng Không kịp về thời gian
Nguyên nhân khách quan
6 6
Số lượng phần mềm phải được hiểu là số đầu/loại phần
mềm được sử dụng cho từng mục tiêu ứng dụng.
Nhu cầu sử dụng phần mềm là rất lớn
Nhiều ngành nghề cần dùng phần mềm máy tính Mỗi ngành nghề cần nhiều loại phần mềm khác nhau Mội loại phần mềm cần nhiều cấp độ khác nhau theo trình
độ người dùng
Nguyên nhân khách quan
7 7
Chất lượng phần mềm cũng chưa đáp ứng tốt hoàn toàn
người sử dụng: Tính customize rất cao của sản phẩm phần mềm. Trình độ sử dụng khác nhau và điều kiện hạ tầng ứng
dụng khác nhau
Nhu cầu phần mềm thường rất cấp bách
Tầm nhìn và chiến lược chưa đầy đủ của người sử dụng Không có kế hoạch lâu dài Phải thay đổi theo từng đối tượng người dùng
Nguyên nhân chủ quan
8 8
Tính chuyên nghiệp trong sản xuất phần mềm chưa cao.
Các dữ liệu quan sát được
Cứ 6 đề án triển khai thì có 2 bị huỷ bỏ Trung bình thời gian thực hiện thực tế bị kéo dài 50 % (cá biệt
200-300%)
Các đề án lớn dễ thất bại 3/4 các hệ thống lớn có lỗi khi thực thi
Quá trình phân tích yêu cầu (5 % công sức): để lại 55 % lỗi, có
18 % phát hiện được
Quá trình thiết kế (25 % công sức): để lại 30 % lỗi, có 10 %
phát hiện được
Quá trình mã hoá, kiểm tra và bảo trì: để lại 15 % lỗi, có 72 %
phát hiện được
Nguyên nhân chủ quan
9 9
Nhiều vấn đề về phần mềm xuất hiện do thiếu sót trong
lúc thu thập, thỏa thuận và chỉnh sửa yêu cầu.
Lỗi xảy ra trong giai đoạn thu thập yêu cầu chiếm từ 40-
Có sự khác biệt giữa cái mà người phát triển phần mềm (developer) nghĩ và xây dựng với cái mà khách hàng thật sự cần.
60% tổng lỗi trong một dự án phần mềm.
Tại sao xác định yêu cầu là quan trọng A story…
"Hello, Phil?” This is Maria in Human Resources. “We're having a problem with the employee system you programmed for us. An employee just changed her name to Sparkle Starlight, and we can't get the system to accept the name change. Can you help?"
"She married some guy named Starlight?" "No, she didn't get married, just changed her name," Maria replied. "That's the problem. It looks like we can change a name only if someone's marital status changes."
10
A story…
"Well, yeah, I never thought someone might just change her name. I don't remember you telling me about this possibility when we talked about the system. That's why you can get to the Change Name dialog box only from the Change Marital Status dialog box," Phil said.
11
A story…
"I assumed you knew that people could legally change their name anytime they like," responded Maria. "We have to straighten this out by Friday or Sparkle won't be able to cash her paycheck. Can you fix the bug by then?"
"It's not a bug!" Phil retorted. "I never knew you needed the new performance this capability. evaluation system. I think I have some other change requests for the employee system here, too." [sound of rustling paper]
I'm busy on
12
A story…
"Yeah, here's another one. I can probably fix it by the end of the month, but not within a week. Sorry about that. Next time, tell me these things earlier and please write them down.“
"What am I supposed to tell Sparkle?" demanded Maria. "She's really going to be ticked if she can't cash her check."
13
A story…
"Hey, Maria, it's not my fault," Phil protested (phản kháng). "If you'd told me in the first place that you had to be able to change someone's name at any time, this wouldn't have happened. You can't blame me for not reading your mind."
Angry and resigned, Maria snapped, "Yeah, well, this is the kind of thing that makes me hate computer systems. Call me as soon as you get it fixed, will you?"
14
Tầm quan trọng trong XĐ yêu cầu?
15 15
Công nghệ và xã hội không ngừng thay đổi một cách
nhanh chóng, và ảnh hưởng to lớn của hệ thống thông tin trong một môi trường vô cùng phức tạp
Kỹ thuật yêu cầu (requirements engineering - RE) đóng
Cần có sự tham gia của các chuyên gia trong việc thu
một vai trò vô cùng quan trọng
nhận và quản lý yêu cầu
Hệ thống nghiệp vụ - Hệ thống thông tin – Phần mềm Vậy tầm quan trọng của thu nhận yêu cầu là gì?
Tầm quan trọng trong XĐ yêu cầu?
16 16
Ví dụ: theo Siemens thì 20 năm trước, 55% hàng bán là từ sản phẩm tuổi <5. Ngày nay, 75% hàng bán được là từ sản phẩmcó tuổi <5.
Lý do 1: Sản phẩm phát triển với tốc độ chóng mặt. Ngày nay khách hàng thường đòi hỏi phiên bản mới của sản phẩm trong khoảng thời gian dưới 1 năm
Tầm quan trọng trong XĐ yêu cầu?
17 17
Tầm quan trọng trong XĐ yêu cầu?
18 18
Tầm quan trọng trong XĐ yêu cầu?
19 19
Lý do 2: Thay đổi không ngừng của công nghệ và chuyển giao
đã ảnh hưởng nhiều đến mức độ thành thạo của chuyên gia. Vài năm trước, các kỹ sư có thể sống cả đời với nghề nghiệp của mình trong một công ty nào đó, nhưng ngày nay việc thay đổi công việc rất thường xuyên.
Tầm quan trọng trong XĐ yêu cầu?
20 20
Lý do 3: Gia công phần mềm đã làm thay đổi nhanh chóng chu
Đặc tả sản phẩm để thực thi hay sản xuất bởi nhiều bộ phận khác nhau nên bị nhiều hạn chế và không có chuyên môn nghiệp vụ.
Tương tự như phải tạo đặc tả cho máy giặt mà người
kỳ phát triển phần mềm
thiết kế có thể chưa từng nhìn thấy máy giặt lần nào. Để thành công, đặc tả cần phải chính xác.
Tầm quan trọng trong XĐ yêu cầu?
21 21
Lý do 4: Việc phát triển phần mềm thường liên kết chặt chẽ với
Công nghiệp bắt đầu dùng phần mềm để tạo các phiên bản mới cho sản phẩm. Các sáng kiến có thể thực hiện hiện dễ dàng bằng phần mềm hơn là phần cứng vì ít đầu tư kỹ thuật hơn và chi phí sửa đổi rẻ hơn
nghiệp vụ. Ví dụ: phần mềm cellphone và phần mềm về hàng không thường được thiết kế xây dựng chặt chẽ phù hợp với nghiệp vụ.
Tầm quan trọng trong XĐ yêu cầu?
22 22
Nguyên nhân thất bại của dự án (RE-62%) Những yêu cầu không đầy đủ - Incomplete
Lack of user involvement – không cuốn hút người
requirements (13.1%)
Lack of resources – thiếu nguồn tài nguyên(10.6%) Unrealistic expectations – thiếu thực tế(9.9%) Lack of executive support (9.3%) Changing requirements and specifications (8.7%) Lack of planning (8.1%) System no longer needed (7.5%)
dùng(12.4%)
Tầm quan trọng trong XĐ yêu cầu?
23 23
24
Yêu cầu (requirement)
25 25
Một yêu cầu là một đặc trưng của hệ thống, hay là sự mô tả những việc, mà hệ thống có khả năng thực hiện để hoàn thành mục tiêu của hệ thống
Yêu cũng có là các ràng buộc trong quá trình
Requirements described the “what” of a system, not the
phát triển hệ thống.
Yêu cầu có thể được ràng buộc bởi hợp đồng hay văn
“how”
Có những yêu cầu ngầm định (implicit) Một yêu cầu có thể được nhận biết (known, spoken)/
bản
không nhận biết (forgotten, unspoken…)
Yêu cầu (requirement)
26 26
“Tôi không có thời gian
để viết yêu cầu! Bạn không thấy tôi đang bận gỡ lỗi?”
Software Requirements (SR)?
u m n :
Theo IEEE 1990, yêu 1. A condition or capability needed by a user to solve
a problem or achieve an objective.
2. A condition or capability that must be met or
possessed by a system or system component to satisfy a contract, standard, specification, or other formally imposed document.
3. A documented representation of a condition or
capability as in 1 or 2.
27
Vai trò của yêu cầu
Yêu cầu quan trọng vì nó cung cấp các cơ sở cho tất cả
công việc phát triển hệ thống sau đó.
Ngay khi yêu cầu được xác định, nhà phát triển khởi
đầu các công việc kỹ thuật khác như: thiết kế hệ thống, phát triển, kiểm thử, thực thi và vận hành.
28
Phân loại yêu cầu
Yêu cầu được phát biểu (stated requirement) Yêu cầu thực (real requirement)
29
Stated Requirements
Là các yêu cầu được cung cấp bởi khách hàng khi bắt
đầu phát triển hệ thống.
Các dạng yêu cầu:
Yêu cầu về thông tin Dự toán Bảng báo giá Phát biểu công việc (statement of work – SOW)
30
Real Requirements
Là các yêu cầu phản ánh nhu cầu xác thực của người
dùng.
Thường khác nhau rất lớn giữa yêu cầu phát biểu và
Việc phân tích các yêu cầu khách hàng (stated
requirements) được dùng để xác định và tinh chỉnh các nhu cầu thực sự của khách hàng.
yêu cầu thực.
31
Requirements Engineering
Là hệ thống các phương thức có liên quan với nhau chỉ
định cái mà khách hàng muốn hệ thống làm gì. There are two majors tasks in the requirements
engineering: Analysis Modeling
32
Requirements Engineering
Analysis is the process of determining what the
customer wishes the system to do and formally creating a list of requirements that the customer can understand and agree to do.
Modeling is a process of interpreting the customer
requirements into something that software engineers can understand.
33
Phân
i yêu
u
Gồm hai loại chính: • Yêu cầu chức năng (Function requirements) • Yêu cầu phi chức năng (Non Functional Requirements)
34
Yêu cầu chức năng (Functional requirements)
Yêu cầu chức năng (Functional requirements):
chức năng dịch vụ hệ thống cung cấp.
Xác định chức năng của phần mềm mà các nhà phát triển phải xây dựng để giúp người dùng hoàn thành nhiệm vụ của họ, thỏa mãn được yêu cầu nghiệp vụ.
Đôi khi còn được gọi là behavioral requirements. Ví dụ: “The system shall e-mail a reservation
confrimation the user”
35
Yêu cầu chức năng (Functional requirements)
Yêu cầu chức năng (Functional requirements): Yêu cầu chức năng chỉ ra những gì hệ thống làm, chúng thường quan hệ các use-case hay những qui tắc nghiệp vụ (business rule) • Một số yêu cầu chức năng • Chức năng tính toán • Chức năng lưu trữ • Chức năng tìm kiếm • Chức năng kết xuất • Chức năng backup, restore • Chức năng đa người dùng • Chức năng đa phương tiện…
36
Yêu cầu chức năng (Functional requirements)
Thí dụ: Trong hệ thống quản lý thư viện • Người dùng có thể tìm kiếm, download, in những bài
báo
• Người dùng được cấp một vùng lưu trữ riêng để có
thể copy để lưu trữ tài liệu lâu dài…
37
Yêu cầu phi chức năng (Non-functional requirements
Yêu phi cầu năng chức
Sáu loại chính của yêu cầu phi chức năng: security, privacy, usability, reliability, availability, and performance. Ràng buộc: phản ảnh những đặc trưng của miền ứng dụng. Chúng có thể là những yêu cầu chức năng hay yêu cầu phi chức năng.
(Non-functional requirements): Không tập trung vào các chức năng của hệ thống mà chỉ tập trung vào các ràng buộc của hệ thống. Những ràng buộc về tiêu chuẩn, thời gian, qui trình phát triển…, chủ yếu là những yêu cầu về chất lượng.
38
Yêu cầu phi chức năng (Non-functional requirements
Một số yêu cầu phi chức năng • Độ tin cậy, thời gian đáp ứng, các yêu cầu về lưu
trữ…
• Các chuẩn được sử dụng, các công cụ CASE, ngôn
• Yêu cầu của người sử dụng: dễ sử dụng, thân thiện • Ràng buộc về ngân sách • Phù hợp với các chính sách của tổ chức sử dụng hệ
ngữ lập trình…
thống
• Yêu cầu tương thích giữa phần cứng và phần mềm • Các yêu cầu từ các tác nhân ngoài khác…
39
Yêu cầu phi chức năng (Non-functional requirements
40
Yêu cầu phi chức năng (Non-functional requirements
Ví dụ Trong hệ thống quản lý thư viện • Yêu cầu sản phẩm: giao diện người dùng không chứa
frame và applet java
khách hàng (tên, số tham chiếu…)
• Yêu cầu tổ chức: qui trình phát triển hệ thống và tài liệu phân phối phải phù hợp theo tiêu chuẩn “STAN- 07” (sử dụng ngôn ngữ, phương pháp thiết kế…) • Yêu cầu ngoài: hệ thống không được lộ thông tin của
41
Phân
i yêu
u
42
Đặc trưng của yêu cầu
Khả thi - Feasible Có giá trị - Valid Không nhập nhằng - Unambiguous Dễ kiểm chứng - Verifiable
Dễ biến đổi - Modifiable Toàn vẹn - Consistent
Đầy đủ - Complete Lần vết được - Traceable
43
c
c yêu
u
m 3 c phân t:
Yêu cầu người dùng (User requirements) Yêu cầu chức năng (Functional requirements)
Software Requirement bao Yêu cầu nghiệp vụ (Business requirements)
44
Yêu cầu nghiệp vụ (Business requirements)
Biễu diễn các mục tiêu của tổ chức hay khách hàng yêu
cầu hệ thống phải có
Yêu cầu nghiệp vụ thường do người tài trợ cho dự án, khách mua phần mềm, người quản lý các người dùng, bộ phận tiếp thị (maketing)…cung cấp
Thường được ghi nhận trong phần đặc tả (vision) và phạm vi (scope) của tài liệu, đôi khi còn được gọi là tuyên bố dự án (project charter) hay tài liệu yêu cầu thị trường (market requirements document)
45
Yêu cầu người dùng (User requirements)
Mô tả mục tiêu (goal) hay tác vụ (task) của người dùng
đối với hệ thống.
Các cách để biểu diễn yêu cầu người dùng:
Use cases, scenario Bảng event-response.
Yêu cầu người dùng mô tả cái (what) mà người dùng có
Ví dụ: use case "Make a Reservation" dùng trong các website của hàng không, thuê xe, hay khách sạn.
thể làm đối với hệ thống.
46
Yêu cầu chức năng (Functional requirements)
Xác định chức năng của phần mềm mà các nhà phát triển phải xây dựng để giúp người dùng hoàn thành nhiệm vụ của họ, thỏa mãn được yêu cầu nghiệp vụ.
Đôi khi còn được gọi là yêu cầu về hành vi (behavioral
requirements)
Ví dụ: Hệ thống sẽ gởi một xác nhận giữ chỗ cho khách
hàng…
47
System requirements
yêu n m, a c
m hay bao
m n
i o. n n n n ng như ng, y c
ng
nh
vai
thể a ng m ng. c a con c cao u Mô ng con (subsystem) ng t ng con c Con ng i năng
i.
48
i liên hê
a
c
c yêu
u
srse 49
i liên hê
a
c
c yêu
u
srse 50
i
i
u
yêu
u
Phân
51
Các loại yêu cầu
Môi trường vật lý Giao tiếp
Người dùng và nhân tố con người Chức năng Lập tài liệu Dữ liệu Tài nguyên An ninh Bảo đảm chất lượng
52
Case study
i
c giao
n
m
n
ng
m m,
t ng o
ng c sung thêm n y c ng y tinh c a t
Yêu cầu của phần mềm là gì?
nh (beaker)
53
p yêu
t thu
u Requirements Engineering
Nhấn mạnh tới tính cộng tác và lặp lại Tạo tài liệu cho những kết quả quan sát Kiểm tra
Nó còn nhấn mạnh tới vai trò của kinh nghiệm
và tính xã hội
54
p yêu
t thu
u Requirements Engineering
n
t
c
ng
p yêu chu a
u liên quan : i
t thu t nh yêu ch yêu
c
yêu
u
u u suy ng, n thêm c yêu u
Phân c c m tra xem yêu i u
a c p i nhu
u ng không
55
Các bước trong Qui trình phát triển yêu cầu
56
Các bước trong Qui trình phát triển yêu cầu
57
Các bước trong Qui trình phát triển yêu cầu
58
Các bước trong Qui trình phát triển yêu cầu
Xác định yêu cầu: • Là hoạt động chuyển thông tin phát sinh trong suốt tiến trình phân tích thành tài liệu định nghĩa tập hợp các yêu cầu
• Phản ánh chính xác điều mà người dùng muốn • Tài liệu phải được viết để hệ thống sẽ được hiểu
bởi • Người dùng cuối • Những khách hàng của hệ thống.
59
Các bước trong Qui trình phát triển yêu cầu
Đặc tả yêu cầu: • Bản mô tả các yêu cầu hệ thống được thiết lập như cơ sở của hợp đồng giữa khách hàng và nhà phát triển phần mềm
• Mô tả thật chi tiết về yêu cầu người dùng và yêu cầu hệ
thống • hữu ích cho thiết kế
• Mô tả chính xác để nắm bắt đúng vấn đề • Việc lập tài liệu này được thực hiện song song cùng với
• Lỗi trong định nghĩa yêu cầu cần được xem xét kỹ
một số các thiết kế cấp cao khác.
lưỡng.
• Nó phải được sửa chữa theo đúng vấn đề này.
60
Các bước trong Qui trình phát triển yêu cầu
Quản lý yêu cầu: • Quản lý yêu cầu là tiến trình quản lý sự thay đổi của yêu cầu trong suốt quy trình công nghệ yêu cầu và phát triển hệ thống
• Yêu cầu thì chắc hẳn là sẽ không hoàn thiện và không
nhất quán
• Các yêu cầu mới thì liên tục phát sinh trong suốt tiến trình khi nhu cầu công việc thay đổi và có sự hiểu rõ hơn về hệ thống đang phát triển
điều này thường làm phát sinh mâu thuẫn
• Các quan điểm khác nhau có các yêu cầu khác nhau và
61
c
nh
n
a
requirement engineering
62
i
t
n
Ranh
a yêu
n
u
63
Kỹ thuật yêu
u
64
Lợi ích khi thu thập yêu cầu hiệu quả
65 65
Lợi ích của việc tạo yêu cầu có chất lượng thường không dễ thấy nên nhiều người thường nhầm lẫn là tiêu tốn thời gian khi bàn luận về yêu cầu sẽ dẫn đến làm chậm trễ việc hoàn thành sản phẩm
Giảm việc phải làm lại Thu thập yêu cầu cho phép đội phát triển hiểu rõ về người dùng và thị trường, một nhân tố quan trọng cho sự thành công của bất kỳ dự án nào
Lợi ích khi thu thập yêu cầu hiệu quả
66 66
Khi người dùng cùng tham gia trong giai đoạn thu thập yêu cầu sẽ xây dựng được niềm tin và lòng trung thành của khách hàng
Đội ngũ phát triển có thể tránh viết những đoạn mã thừa khi nắm vững nhiệm vụ của người dùng
Sự quan tâm của khách hàng giảm được khoảng cách giữa cái người dùng cần và cái người phát triển tạo ra.
Những lợi ích không định lượng
67 67
1. Lỗi liên quan đến yêu cầu ít hơn 2. Giảm được việc phải làm lại trong bước phát triển 3. Ít hơn trong việc tạo tính năng không cần thiết 4. Giảm chi phí mở rộng
5. Quá trình phát triển hệ thống sẽ nhanh hơn 6. Giảm bớt các giao tiếp sai lầm với khách hàng 7. Hạn chế phạm vi hệ thống bị phình rộng
8. Hạn chế được những hỗn độn dự án 9. Các ước lượng về hệ thống chính xác hơn 10.Mức độ thỏa mãn khách hàng và thành viên của đội sẽ cao hơn
u
khi
c
nh yêu
u sai
do c nh yêu u không ng i rework
i ) —doing over something that you thought was
( already done.
u m
– t
Rework n i do yêu t u % i ng chi – m % chi n m i.
68
a sai
i
a yêu
So
u
nh chi i i
i
m
c nhau
n
t???
69
SDLC
70
Khi không
i rework
Imagine how different your life would be if you could cut the rework effort in half! You could build products faster, build more and better products in the same amount of time, and perhaps even go home occasionally.
71
n
c
nh yêu
Nguyên nhân u không
n nh công
Insufficient User Involvement – thiếu sự tham gia
người dùng
Creeping User Requirements – Yêu cầu người dùng
Ambiguous Requirements – yêu cầu mơ hồ, không rõ
phình ra
Gold Plating - Yêu cầu mạ vàng (Gold Plating): khi
ràng
người phát triển cộng thêm chức năng không có trong đặc tả
72
Minimal Specification – Yêu cầu tối thiểu Overlooked User Classes – Bỏ qua lớp người dùng Inaccurate Planning – Hoạch định không chính xác
assignment a m: m m 10
(srse)
Ví dụ
Yêu cầu Nhập nhằng
73
Ví dụ
74
Ví dụ
75
Ví dụ
76
t
m sai
m
Requirements
quan Engineering
Misconception 1: Any Subject Matter Expert Can
Become a Requirements Engineer after a Week or Two of Training
Misconception 2: Nonfunctional and Functional
Misconception 3: Processes That Work for a Small
Requirements can Be Elicited Using Separate Teams and Processes
Assignment:
m 9
Number of Requirements Will Scale
77
78
c
u tiên
t
a ng requirements engineering
i
ch thông tin u
c yêu
u
suy
a phi
ng, stakeholder, n nhu c năng
ng c năng. nh c yêu
u p
c t ng u a y c yêu i n n nh c c Phân
u
ng
u p yêu
79
ch
ng
ai?
nhân hay
c
p
n
p
i
ch mong ng (customer) c n t c c n
ch ng n Hai
ng
ng
management level)
End user
m. i ch m (Software customer) : (Customer at n
80
ch
p
n
ng (management level)
m
i ch i n n m.
nh yêu
p
(business
ng c n hay u
requirement) Mô c tiêu
ch n n
c
nh cho
n
a
i
p n
c stakeholders nh c p ch n ng, công ty hay nh. n
c nh u c i p ng theo
yêu .
chi
p
t p u
p i xây
không ng
t i
t c yêu Nhưng c u c yêu t n t
81
ch
ng
end user
c ng n m
m c ng ai n
p. m
t p hay mô n Bao Users
n m t ng mong i c thi n i m
82
c
nh
a
ch
ng
hai y
c
ch yêu
u.
i m
ng i gian đến c ch c phân ng i ch
i ng n không n u không tin phân nh dung ra n o i c ng
Đôi i nhau.
83
c
nh
a
ch
ng
t n a yêu
i
ng xung p t (conflict) yêu
nh n p a
u n nh
u n i
nh như “con
y i i c
ng. c c ng không ng ng tương lai không
ng t” t a
u Yêu c n i, như ..
84
c
nh
a
ch
ng
p c a
c
ng
m
ng u đi c tiêu c căng ng c c a
ng.
ch (analyst) nên m c c i n
i
c giao n i phân a nh i ng (key user representative) c
i
c xung
t.
i a
85
a
ch
ng
t
i quan n
t
ch
a i quan
ng. t
t ng cao c quan giao
n
u u ng customers hay nên i
ng t i ng
p
i
ch
n i a ng (adversarial) c yêu m
nh
.
cung
Yêu p Managers p u do a
86
i
ch ch
m ng
n
n m
ng tuyên ngôn
nh cho
n
ng
ch (Requirements Bill of Rights for Software Customers)
i
ch
t kê n khi
u mong c
i
p
t
n
ng
n.
Assignment 5
87
i
ch ch
m ng
n
n m
ch
ng
ch
m
n nh cho ng m (Requirements Bill of Responsibilities for
m
t kê
ch
nh
Software Customers) c ng a p yêu
thu
i u
ch t n trong phân ch. Assignment 21
88
Stakeholder
• Customers • Users • Requirements analysts • Developers • Testers • Documentation writers • Project managers • Legal staff – quyền hợp pháp • Manufacturing people – người sản xuất • Sales, marketing, field support, help desk, …
Assignment 1
89
Exercise
You are a product manager for a machine tool company. The directors have asked you to develop a new cutting machine to cut cloth for fashionable dresses of all sizes and patterns. The machine will be sold to clothing makers around the world:
a. Who are your key stakeholders? b. How will you analyse and validate your stakeholder list?
90
Nhà phân tích yêu cầu - Requirements analyst
c
ng
a:
Nhà phân tích yêu cầu (Requirements analyst) Nhà phân tích hệ thống (Systems analyst) Kỹ sư yêu cầu (Requirements engineer) Nhà quản lý yêu cầu (Requirements manager) Nhà phân tích (Analyst)Systems analyst
91
Vai
a analyst
Nhà phân tích là người chuyển các ý tưởng thành những
đặc tả yêu cầu.
Nhà phân tích là người có quan hệ truyền thông với các stakeholder, giúp các stakeholder tìm thấy sự khác nhau giữa cái họ muốn và cái họ thực sự cần
Là người có nhiệm vụ cơ bản là thu thập, phân tích, ghi
chép và kiểm tra nhu cầu của các stakeholder
92
Requirements analyst
Họ như là một cầu nối giữa cộng đồng khách hàng và
đội phát triển phần mềm.
Nhà phân tích đóng vai trò trung tâm trong việc thu thập và phổ biến thông tin, còn người quản lý dự án (project manager) giữ vai trò lãnh đạo trong việc truyền đạt thông tin dự án
93
Requirements analyst
94
m
a Requirements
c tiêu a i ng,
p
c tiên nh
c năng, cho c
i i c yêu m n nh, c developers
analyst Analyst sau
c n , xây
t ng m u u c nh n m.
95
m
a Requirements
analyst
Xác định yêu cầu nghiệp vụ - Define business
requirements.
Xác định các stakeholder và các lớp người dùng-dentify
project stakeholders and user classes. Rút ra những yêu cầu - Elicit requirements Viết đặc tả yêu cầu-Write requirements specifications Mô hình hóa yêu cầu-Model the requirements Điều hành việc đánh giá yêu cầu-Lead requirements
Phân loại ưu tiên các yêu cầu- Facilitate requirements
validation
Quản lý yêu cầu - Manage requirements
prioritization
Assignment ??
96
năng
a
phân
ch
Kỹ năng lắng nghe - Listening skill Kỹ năng phỏng vấn - Interviewing and questioning skill Kỹ năng phân tích - Analytical skill, Kỹ năng điều khiển - Facilitation skills. Kỹ năng quan sát - Observational skills. Kỹ năng viết - Writing skills Kỹ năng tổ chức - Organizational skills Kỹ năng mô hình hóa - Modeling skills Kỹ năng giao tiếp - Interpersonal skills Tính sáng tạo - Creativity
Assignment ??
97
năng
a
phân
ch
98
Thực hành
99 99
Dưới vai trò của người phân tích hệ thống hãy
đưa một dự án CNTT và đưa ra các yêu cầu của hệ thống, cách thức xác định các yêu cầu đó
Billington Pharmaceuticals MCSD_.NET_Solution_Architectures_Exam_Cr
am_2_Exam_70-300
File Word – Khảo sát hiện trạng