Môn học
Thu nhậ
nhận yêu cầ
cầu
(Requirement Engineering)
Thu nhận yêu cầu
TNYC
Khoa CNTT
ĐH Công nghiệp Tp. HCM
1
Giảng viên
Thu nhận yêu cầu
Nguyễn Năm. Khoa CNTT. Bộ môn : HTTT
Email:
2
Môn học trước
Thu nhận yêu cầu
Hệ cơ sở dữ liệu
Phân tích và thiết kế hệ thống
UML
Mô hình hóa dữ liệu
Tài liệu
Thu nhận yêu cầu
[1] Karl E. Wiegers, Software requirement, Second
Edition Microsof t Press © 2003(ebook)
Edition [2] Brian Berenbach, Daniel J. Paulish, Juergen
Kazmeier Arnold Rudorfer - Software & Systems
Kazmeier,
Requirements Engineering: In Practice- Mc
GrawHill,
G
a
, 2009
009 (eboo
(ebook))
[3] Ian Alexander, Ljerka Beus-Dukic –
Discovering
g Requirements
q
- John Wileyy and Sons,,
Ltd., Publication , 2009 (ebook)
[4] Slide bài giảng môn Mô hình hóa dữ liệu của
Khoa Công nghệ Thông tin
4
Lịch biểu
Thu nhận yêu cầu
Lý thuyết: 11 tuần, 4 tiết/tuần
Bài tập lớn
3 sinh viên/nhóm
Nhận đề tài vào tuần 2
Thi giữa kỳ:
Thi vào tuần 6
Thi cuối kỳ: trắc nghiệm chung
5
Nội dung
Thu nhận yêu cầu
1.
2.
3.
4.
5.
6.
7.
8.
Tổng quan về thu nhận yêu cầu
Kỹ thuật thu nhận yêu cầu
Phân tích yêu cầu
Mô hình hệ thống
Đặc tả yêu cầu (giữa kỳ)
Thẩm định yêu cầu
Quản lýý yyêu cầu
Q
Các vấn đề khác
6
CHƯƠNG I
YÊU CẦU PHẦN MỀM
Thu nhận yêu cầu
TNYC
1
Nội dung
Thu nhận yêu cầu
1.
2.
3.
4
4.
5.
6
6.
7.
Tầm quan trọng của xác định yêu cầu
Yêu
ê cầu
ầ phần
ầ mềm
ề (software requirement) là
à gì?
ì
Phân loại yêu cầu
Kỹ thuật
h ậ yêu
ê cầu
ầ (Requirements Engineering - RE) là gì?
ì?
Lợi ích từ quy trình xác định yêu cầu chất lượng cao
Yê cầu
Yêu
ầ theo
th quan điể
điểm khách
khá h hàng
hà
Vai trò của người phân tích yêu cầu
2
1. Tầm quan trọ
trọng
ng trong XĐ yêu cầu?
Thu nhận yêu cầu
Công nghệ và xã hội không ngừng thay đổi một
cách
á h nhanh
h h chóng,
hó
và
à ảnh
ả h hưởng
hưở to
t lớ
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 một vai trò vô cùng quan trọng
Cần có sự tham gia của các chuyên gia trong việc thu
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
3
Một số đặc trưng
Thu nhận yêu cầu
Sản phẩm phát triển với tốc độ chóng mặt. Ngày
nay khách
khá h hàng
hà thường
thườ đòi hỏi phiên
hiê bản
bả mới
ới của
ủ
sản phẩm trong khoảng thời gian dưới 1 năm
Ví dụ: theo Siemens thì 20 năm trước,
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 p
phẩmcó tuổi <5.
4
5
Một số đặc trưng
Thu nhận yêu cầu
Thay đổi không ngừng của công nghệ
Các kỹ sư không thể
ể sống cả đời với nghề nghiệp
của mình trong 1 công ty nào đó
6
Một số đặc trưng
Thu nhận yêu cầu
Gia công phần mềm đóng một vai trò vô cùng
quan trọng
t
có
ó tính
tí h toàn
t à cầu
ầ
Vai trò quan trọng của đặc tả. VD: Đặc tả cho máy
giặt cho đội ngũ xây dựng nó chưa từng nhìn thấy
máy giặt lần nào
7
Một số đặc trưng
Thu nhận yêu cầu
Việc phát triển phần mềm thường liên kết chặt
chẽ
hẽ với
ới nghiệp
hiệ vụ mà
à nghiệp
hiệ vụ thì biến
biế đổi
không ngừng nên các phiên bản mới của sản
phẩm thường được tạo bằng cách thay đổi
phần mềm nhằm hạ thấp chi phí biến đổi
8
2. Yêu cầu (requirement)
Thu nhận yêu cầu
Theo IEEE 1990, yêu cầu là:
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
contract, standard,
standard specification,
specification or other
formally imposed document.
3 A documented representation of a condition or
3.
capability as in 1 or 2.
9
Yêu cầu
Thu nhận yêu cầu
Yêu cầu có thể được ràng buộc bởi hợp đồng hay
văn
ă bả
bản
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)/ không nhận biết (forgotten, unspoken…)
Đặc
Đặ
c trưng của
của yêu cầ
c ầu
Thu nhận yêu cầu
Feasible (khả thi)
Valid
Unambiguous
Verifiable
Modifiable
Consistent
p
Complete
Traceable
11
3. Phân loại
loại yêu cầu
Thu nhận yêu cầu
…….
12
Yêu cầu hệ thống
Thu nhận 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,
g , qui
q trình phát
p
triển…,, chủ yếu
y là
những yêu cầu về chất lượng
g buộc:
ộ p
phản ảnh những
g đặc trưng
g của miền
Ràng
ứ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.
13
Yêu cầu chức năng
Thu nhận yêu cầu
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
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…
Ví dụ
Thu nhận yêu cầu
Trong hệ thống quản lý thư viện
Người dùng có thể tìm kiếm,
kiếm download,
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
Yêu cầu phi chức năng
Thu nhận yêu cầu
Một số yêu cầu phi chức năng
Độ tin cậy,
cậy thời gian đáp ứng,
ứng các yêu cầu về lưu trữ…
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…
Yêu cầu phi chức năng
Thu nhận yêu cầu
17
CNPM/NN
Ví dụ
Thu nhận yêu cầu
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”
STAN 07 (sử dụng ngôn ngữ, phương pháp thiết
kế…)
Yêu cầu ngoài:
g
hệ
ệ thống
g không
g được
ợ lộ
ộ thông
g tin
của khách hàng (tên, số tham chiếu…)
18
Các
Cá
c mứ
mức yêu cầ
cầ u
Thu nhận yêu cầu
Yêu cầu nghiệp vụ (Business requirements)
Yêu cầu người dùng (User requirements)
Yêu cầu chức năng (Functional requirements)
19