Tải bản đầy đủ (.pdf) (90 trang)

Phân tích: kĩ thuật yêu cầu RE

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.77 MB, 90 trang )

1
CNPM/NN
CÔNG NGHỆ PHẦN MỀM
Chương 3
Phân t
Phân t
í
í
ch: K
ch: K


thu
thu


t yêu c
t yêu c


u RE
u RE
(Requirements Engineering)
MÔN HỌC
TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP TP.HCM
2
CNPM/NN
K
K



thu
thu


t yêu c
t yêu c


u RE
u RE
3.1 Yêu cầu
3.1.1 Yêu cầu là gì?
3.1.2 Phân loại yêu cầu
3.1.3 Thế nào là một yêu cầu tốt?
3.2 Quy trình xác định yêu cầu
3.2.1 Phân tích khả thi
3.2.2 Phát hiện và phân tích yêu cầu

Các kỹ thuật phát hiện yêu cầu
3.2.3 Đặc tả yêu cầu
3.2.4 Đánh giá yêu cầu
3.3 Quản lý yêu cầu
3
CNPM/NN
M
M


c tiêu
c tiêu


Kỹ thuật yêu cầu là một quá trình lặp bao gồm 3 loại
hoạt động

Rút ra yêu cầu từ thực tế (Elicitation)

Đặc tả yêu cầu (Specification)

Xác thực (Validation)

Kết quả của quá trình là những đặc tả về hệ thống
phần mềm

Ta dùng Requirements Engineering thay cho
Requirement Analysis vì nó có nghĩa rộng hơn
4
CNPM/NN
3.1.1 Yêu c
3.1.1 Yêu c


u l
u l
à
à
g
g
ì
ì
(Requirement

(Requirement
-
-
IEEE)?
IEEE)?

a) A condition or capability (khả năng) needed by a user to
solve a problem or achieve (dành được, hoàn thành) an
objective (mục tiêu)

b) A Condition or capability that must be met or possessed (sở
hữu) by a system or system component to satisfy a contract
(hợp đồng), standard, specification or other formally (chính
thức) imposed (áp đặt) document

c) A documented representation of a condition or capability as
in definition (a) or (b)
5
CNPM/NN
Yêu c
Yêu c


u ph
u ph


n m
n m



m
m

Đặc tả yêu cầu phản ánh việc hiểu biết lẫn nhau về
vấn để được giải quyết giữa người phân tích và
khách hàng

Nó là một nền tảng cho hợp đồng giữa khách hàng
và tổ chức phát triển

Hệ thống được phát hành phải được kiểm tra về việc
thỏa mãn các đặc tả yêu cầu

Nó chuẩn bị cho giai đoạn tiếp theo là giai đoạn phân
tích
6
CNPM/NN
M
M


c đ
c đ


mô t
mô t



yêu c
yêu c


u
u

Yêu cầu người dùng:

Viết chủ yếu cho người dùng

Thường bằng ngôn ngữ tự nhiên cộng với các biểu đồ

Mô tả các dịch vụ và những ràng buộc hoạt động

Yêu cầu hệ thống

Tài liệu có cấu trúc mô tả chi tiết chức năng, dịch vụ và ràng
buộc

Có thể là một phần của hợp đồng, xác định những gì cần
phải thực hiện
7
CNPM/NN
Vd: x
Vd: x
á
á
c đ
c đ



nh v
nh v
à
à
đ
đ


c t
c t


8
CNPM/NN
Ngư
Ngư


i đ
i đ


c
c
9
CNPM/NN
K
K



thu
thu


t yêu c
t yêu c


u (Requirements Engineering)?
u (Requirements Engineering)?

“The hardest single part of the building a system is
deciding what to build”
[Bro87]

RE là bước chính yếu đầu tiên nhằm giải quyết vấn đề xử lý
dữ liệu. Trong giai đoạn này:

Những yêu cầu của người dùng đối với hệ thống tương lai
được xác định và được tư liệu (document) cẩn thận

Không cần xác định cách nào để giải quyết vấn đề
10
CNPM/NN
Requirements engineering
Requirements engineering
vs
vs

Requirement Analysis
Requirement Analysis

We use the term requirement engineering rather than the
narrower notion (khái niệm) of requirements analysis to
emphasize (nhấnmạnh, làm nổibật) that it is an iterative
and co-operative (cộng tác) process of analyzing a problem

Documenting the resulting observations (quan sát) and

Checking the accuracy (đúng đắn, chính xác) of the
understanding gained (thu được)

Requirements Engineering not only involves technical
concerns of how to prepare the requirements but also play a
dominant role in social and cognitive (kinh nghiệm) aspects
(khía cạnh)
11
CNPM/NN
Qui tr
Qui tr
ì
ì
nh RE
nh RE
the problem
the problem
requirements
requirements
elicitation

elicitation
build a
build a
prototype
prototype
create
create
analysis
analysis
models
models
develop
Specification
Review
Review
12
CNPM/NN
3.1.2 Phân lo
3.1.2 Phân lo


i yêu c
i yêu c


u
u

Có 3 loại yêu cầu:


Yêu cầu chức năng: chức năng dịch vụ hệ thống cung cấp

Yêu cầu phi chức nă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.

Yêu cầu miền ứng dụng: phản ảnh những đặc trưng của miền
ứng dụng

Có những yêu cầu ngầm định (implicit)

A requirement may be conscious (nhận biết) (known, spoken)
/ unconscious (forgotten, unspoken…)
13
CNPM/NN
Yêu c
Yêu c


u ch
u ch


c năng
c năng

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…


Yêu c
Yêu c


u ch
u ch


c năng ch
c năng ch


ra nh
ra nh


ng g

ng g
ì
ì
h
h


th
th


ng l
ng l
à
à
m, ch
m, ch
ú
ú
ng
ng
thư
thư


ng quan h
ng quan h


v

v


i nh
i nh


ng ngu
ng ngu


n đ
n đ


c trưng
c trưng
, t
, t




ng l
ng l
à
à
c
c
á

á
c use
c use
-
-
case hay nh
case hay nh


ng qui t
ng qui t


c nghi
c nghi


p v
p v


(
(
business rule)
business rule)
14
CNPM/NN
V
V
í

í
d
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
15
CNPM/NN
Yêu c
Yêu c


u phi ch
u phi ch


c năng
c năng


M
M



t s
t s


yêu c
yêu c


u phi ch
u phi ch


c năng
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 ngữ lập
trình…

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ệ 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…
16

CNPM/NN
Phân lo
Phân lo


i yêu c
i yêu c


u phi ch
u phi ch


c năng
c năng

Các yêu cầu về sản phẩm: hiệu năng, độ tin cậy…

Các yêu cầu của tổ chức sử dụng hệ thống: thời gian bàn
giao, yêu cầu phù hợp với hệ thống cũ…

Các yêu cầu ngoài: được xác định từ các tác nhân từ bên
ngoài như các yêu cầu về luật pháp, yêu cầu tôn trọng
tính riêng tư…
17
CNPM/NN
Yêu c
Yêu c



u phi ch
u phi ch


c năng
c năng
18
CNPM/NN
V
V
í
í
d
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

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”

Yêu cầu ngoài: hệ thống không được lộ thông tin của
khách hàng
19
CNPM/NN
M

M


c tiêu (Goal) v
c tiêu (Goal) v
à
à
đo lư
đo lư


ng (measure)
ng (measure)

Những yêu cầu phi chức năng khó phát biểu chính xác,
mơ hồ cần bổ sung bằng mục tiêu và một số đo lường

Ví dụ

Một mục tiêu của hệ thống

Hệ thống dễ sử dụng cho những người đã có kinh nghiệm và
người dùng có thể tùy biến được giao diện làm việc

Một yêu cầu phi chức năng có thể kiểm tra

Người dùng có kinh nghiệm có thể sử dụng tất cả các chức
năng sau 2 giờ huấn luyện. Sau khi huấn luyện người dùng có
kinh nghiệm sẽ không có lỗi trung bình quá 2 lỗi /ngày
20

CNPM/NN
Đo lư
Đo lư


ng
ng
Property Measure
Speed Processed transactions/second
User/Event response time
Screen refresh time
Size M Bytes
Number of ROM chips
Ease of use Training time
Number of help frames
Reliability Mean ti me to failure
Probability of unavailability
Rate of failure occurrence
Availability
Robustness Time to restart after failure
Percentage of events causing failure
Probability of data corruption on failure
Portability Percentage of target dependent statements
Number of target systems
21
CNPM/NN
Tranh ch
Tranh ch



p gi
p gi


a c
a c
á
á
c yêu c
c yêu c


u phi ch
u phi ch


c năng
c năng

Thường xảy ra trong các hệ thống lớn

Ví dụ trong thiết kế mạch

Để trọng lượng và lượng điện tiêu thụ thấp thì cần phải
dùng những chip có trọng lượng nhỏ và tiêu thụ năng
lượng thấp

Nhưng có thể phải sử dụng nhiều chip hơn
22
CNPM/NN

Yêu c
Yêu c


u mi
u mi


n
n


ng d
ng d


ng
ng

Yêu cầu miền ứng dụng được xác định từ lãnh vực ứng
dụng của hệ thống, nó phản ánh các thuộc tính và ràng
buộc của lãnh vực ứng dụng.

Nó có thể là yêu cầu chức năng hoặc phi chức năng.
VD:

Trong hệ thống Quản lý thư viện, do vấn đề bản quyền vài
tài liệu phải được xóa ngay sau khi in
23
CNPM/NN

C
C
á
á
c v
c v


n đ
n đ


v
v


yêu c
yêu c


u mi
u mi


n
n


ng d
ng d



ng
ng

Tính hiểu được

Yêu cầu cần diễn đạt theo ngôn ngữ miền ứng dụng, khó
hiểu cho người phát triển

Ẩn ý

Những chuyên gia miền thường quá thông thuộc trong lãnh
vực của mình nên họ thường làm những yêu cầu miền
không tường minh
24
CNPM/NN
Th
Th
ế
ế
n
n
à
à
o l
o l
à
à
m

m


t yêu c
t yêu c


u t
u t


t?
t?

Correct - a quality that can only be ensured by the customer or
user representative

Possible (feasible khả thi) - a quality that requires knowledge
of the environment on the part of the developer; available
tools, techniques, people and budgets must be able to satisfy
the final requirements
;

Necessary

Prioritized

Very important – absolutely necessary (to be implemented
in the next release)


Important - but not necessary for the next release

Purely (chỉ là) optional - nice to have but implementation
will depend on resources and schedule
25
CNPM/NN
Th
Th
ế
ế
n
n
à
à
o l
o l
à
à
m
m


t yêu c
t yêu c


u t
u t



t?
t?

Unambiguous (rõ ràng)

Concise (ngắn gọn) - with only the information necessary to
proceed too the next development step; associated history,
costs, schedule and so on are housed elsewhere.

Verifiable (có thể thẩm tra) ( testable, measurable)
Cần chú ý tới những nhu cầu trong tương lai (future needs)

×