2 khía cạnh mô tả cho PM
1. Người sử dụng cần nêu ra các yêu cầu đ/v PM
để nó thoả mãn cho nhu cầu sử dụng của họ.
VD: đáng tin cậy (reliability)|user là PM cho
kết quả chính xác trong mọi tình huống.
2. Nhà phát triễn cần biết các chức năng và đặc
tính được mong đợi từ PM để làm ra nó.
ie. developers cần biết
Yêu cầu chức năng (functional requirements)
Yêu cầu đặc tính (non-functional requirements)
Ví dụ : yếu tố đáng tin cậy|user được developer hiểu
là nhất quán (consistency), chịu đựng được hư hỏng
(fault tolerance) & chính xác (accuracy), là những
thuộc tính cố hữu của PM mà developer có thể kiễm
soát được.
20 trang |
Chia sẻ: thanhle95 | Lượt xem: 659 | Lượt tải: 1
Bạn đang xem nội dung tài liệu Bài giảng Quản lý dự án phần mềm - Chương 2: Đặc tả phần mềm - Nguyễn Anh Hào, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
Nguyễn Anh Hào
Khoa CNTT2
Học viện CNBCVT – Cs Tp.HCM
S
W
Q
u
a
lit
y
A
ss
u
ra
n
ce
S
W
Q
u
a
lit
y
A
ss
u
ra
n
ce
02. Đặc tả phần mềm
1
Yêu cầu là gi ?
Yêu cầu (requirements) là đặc tả cho những gì
cần phải được hiện thực (được thoả mãn).
đặc tả hành vi xử lý của phần mềm (functions)
đặc tả các đặc tính của phần mềm (characteristics)
đặc tả các ràng buộc đ/v cách thức phát triễn phần
mềm (constraints).
Yêu cầu không tường minh (needs) là những
mong muốn được cho là cần thiết, nhưng không
được đặc tả.
Cả yêu cầu lẫn mong muốn đều góp phần
quyết định chất lượng của phần mềm.
2
Software_Requirements, 3rd edition, 2013.pdf: Page 6
2 khía cạnh mô tả cho PM
1. Người sử dụng cần nêu ra các yêu cầu đ/v PM
để nó thoả mãn cho nhu cầu sử dụng của họ.
VD: đáng tin cậy (reliability)|user là PM cho
kết quả chính xác trong mọi tình huống.
2. Nhà phát triễn cần biết các chức năng và đặc
tính được mong đợi từ PM để làm ra nó.
ie. developers cần biết
Yêu cầu chức năng (functional requirements)
Yêu cầu đặc tính (non-functional requirements)
Ví dụ : yếu tố đáng tin cậy|user được developer hiểu
là nhất quán (consistency), chịu đựng được hư hỏng
(fault tolerance) & chính xác (accuracy), là những
thuộc tính cố hữu của PM mà developer có thể kiễm
soát được.
3
Làm PM thoả mãn yêu cầu (1)
Thông thường, nhà phát triễn sẽ phiên dịch yêu
cầu và mong muốn của người sử dụng thành
đặc tả chức năng và đặc tính của phần mềm sẽ
xây dựng.
Vấn đề là:
Liệu các yêu cầu từ users có đủ để làm ra phần
mềm có chất lượng ?
Ie, đôi khi user không nói ra nhưng devs phải biết.
Các đặc tính chất lượng được yêu cầu từ users
được hiểu như thế nào cho đúng để cài đặt ?
Hiểu đúng: không hiểu lầm, cả user lẫn devs đều có
chung một ý niệm như nhau đối với yêu cầu.
4
Mối quan hệ giữa các đặc tả
dot arrow = “is the origin of”, arrow = “are stored in ”
5
Software_Requirements, 3rd edition, 2013.pdf: Page 8
Các yếu tố tham gia đặc tả yêu cầu
Slide trước chỉ ra rằng một chức năng của phần
mềm được đặc tả từ 5 nguồn:
1. Yêu cầu từ users (user requirements doc)
2. Quy tắc quản lý tổ chức (business rules)
3. Đặc tính chất lượng được mong đợi ở sản phẩm phần
mềm (quality attributes), bắt nguồn từ quy tắc quản lý.
4. Yêu cầu của hệ thống có chứa phần mềm.
5. Các giao tiếp ngoài.
Phần mềm có chất lượng chỉ khi các đặc tả trên
đã được hiểu đúng và làm đúng, trong đó có đặc
tả về các đặc tính chất lượng được mong đợi (bắt
nguồn từ quy tắc quản lý).
6
Làm PM có chất lượng (2)
Thực tế:
Người sử dụng có thể mô tả được yêu cầu chức
năng, nhưng khó mô tả những đặc tính nào của
PM (reusability, maintainability, ) quyết định
chất lượng của PM.
Đặc tính được yêu cầu đôi khi bị nhầm lẫn, vd: dể
sử dụng (do năng lực của người sử dụng), chạy
nhanh (do tài nguyên cấp cho PM),
Vấn đề trong việc mô tả yêu cầu đ/v SPPM:
Cần chuẩn hoá các yêu cầu chất lượng đ/v phần
mềm (gọi là các yếu tố chất lượng, quality factors,
“QF”) để hiểu đúng và sử dụng đúng từ 2 phía.
Cần ánh xạ các yếu tố chất lượng thành những
đặc tính cố hữu của phần mềm để devs cài đặt
chúng vào trong sản phẩm.
7
Các mô hình chất lượng của SPPM
Các mô hình chất lượng PM trong SE:
McCall (1977), B. Boelm,
ISO 9126 (2000) → ISO 25010 →SQuaRE,
Vai trò của các mô hình này:
Chuẩn hoá các yếu tố chất lượng của phần
mềm ở góc độ sử dụng (tránh trùng lặp, mâu
thuẩn hoặc hiểu lầm).
Ánh xạ các yếu tố chất lượng thành các đặc
tính của sản phẩm phần mềm.
(Để đánh giá mức độ thoả mãn các yêu cầu chất
lượng từ các đặc tính được thiết kế của phần mềm.)
8
Mô hình Mc.Call (1977)9
1. PM cần thỏa mãn các yêu cầu & mong đợi từ 3
khía cạnh: chuyển giao, vận hành và cập nhật.
2. Các yếu tố chất lượng (quality factors) được đưa
ra từ 3 khía cạnh này, để users và devs “hiểu
nhau” (có chung quan điểm).
3. Quality factors được mô hình “phiên dịch” thành
các đặc điểm của PM (quality criteria) cho devs
tiến hành xây dựng PM.
Xây dựng Sử dụng (vận hành)
Chuyển giao Cập nhật
Mô hình Mc.Call (1977)
Quality Factors = external quality factors
10
Mc.Call : OPERATION11
1. Correctness: là khả năng cung cấp các kết quả
chính xác chấp nhận được.
2. Reliability: Là khả năng hoạt động ổn định trong
những điều kiện bất thường và tránh được các kết
xuất sai.
◦ Khả năng chịu lỗi.
◦ Khả năng tự phục hồi.
3. Usability: Là khả năng giúp người sử dụng hiểu
được, học được và sử dụng được phần mềm.
4. Integrity: Là khả năng bảo vệ thông tin và dữ liệu
để ngăn chặn sự truy cập, đọc hay chỉnh sửa trái
phép.
5. Efficiency: Là khả năng thực hiện tất cả các chức
năng một cách hợp lý tương ứng với lượng tài
nguyên được phép sử dụng.
Mc.Call : TRANSITION12
1. Portablity: Là khả năng dùng được PM trong
nhiều môi trường khác nhau.
◦ Thích nghi với nhiều môi trường (lớp nền,
services,)
◦ Cùng nhau tồn tại trong môi trường (no conflict)
◦ Thay thế cho phần mềm khác có cùng chức năng
2. Reusability: Là khả năng sử dụng lại được một
hoặc nhiều thành phần của PM.
◦ PM có thể tháo rời thành nhiều gói dùng lại được
3. Interoperability: khả năng cộng tác giữa các
thành phần, hoặc giữa PM với các hệ thống
khác.
◦ PM có giao tiếp & phương thức hợp chuẩn.
Mc.Call : REVISION13
1. Maintainability: Là mức độ trợ giúp từ PM cho
người bảo trì, để giảm thiểu nổ lực tìm ra
nguyên nhân hư hỏng (failures), sửa chữa
hoặc cải tiến.
◦ Cấu trúc thành phần của PM thuận lợi cho bảo trì
◦ Có tài liệu đặc tả tốt về phần mềm (q.lý cấu hình)
2. Flexibility: Là mức độ đáp ứng linh hoạt của
PM cho các yêu cầu đa dạng trong phạm vi
sử dụng các chức năng được thiết kế.
◦ Dự trù trước các tình huống tùy biến của chức
năng
3. Testability: Là mức độ trợ giúp người kiểm tra
đánh giá, chẩn đoán để tìm lỗi hoặc để xác
định những chổ cần sửa của phần mềm.
◦ Bẩy lỗi và báo lỗi trong chương trình
Mc.Call:Mapping
Traceability
Completeness
Consistency
Accuracy
Error tolerance
Execution efficiency
Storage efficiency
Access control
Access audit
Operability
Training
Communicativeness
Correctness
Reliability
Efficiency
Integrity
Usability
O
P
E
R
A
T
IO
N
14
Quality Factors Quality Criteria
Mc.Call: Mapping
Simplicity
Conciseness
Instrumentation
Self-descriptiveness
Expandability
Generality
Modularity
Software-system independence
Machine independence
Communication commonality
Data commonality
Maintainability
Testability
Flexibility
Portability
Reusability
InteroperabilityT
R
A
N
S
IT
IO
N
R
E
V
IS
IO
N
15
Quality Factors Quality Criteria
ISO 9126 (2000) : tiếp cận
ISO 9126-1 standard.pdf
16
1. Chất lượng PM có từ việc sử dụng nó trong
một ngữ cảnh cụ thể (quality in use)
2. Giống McCall: external quality attributes (QF)
phụ thuộc vào internal quality attributes
(Quality Criteria).
ISO 9126 (2000) : nguyên lý17
Product Specs
User’s view
Dev’s view
Evaluation
ISO 9126 (2000): SW characteristics18
d
ev
el
o
pm
en
t
s
up
p
o
rt
s
ISO 9126 (2000): SW in use19
Satisfaction
Productivity Effectiveness
Safety
Quality
in use
ap
p
lic
at
io
n
s
u
pp
o
rt
s
Specified users, specified goals in a specified context of use
ISO 9126 : Mapping20
In
te
rn
al
a
tt
ri
b
ut
es
(
C
ri
te
ri
a)
Ex
te
rn
al
a
tt
ri
b
u
te
s
(Q
F)Attribute
Sub-characteristic
Characteristic
ISO 9126-1 standard.pdf