You are on page 1of 15

SQA

P4
Đảm bảo chất lượng phần mềm
Software Quality Assurance


4.Traceability
Nguyễn Anh Hào
Khoa CNTT2, Học viện Công Nghệ BCVT Tp.HCM
: nahao@ptithcm.edu.vn
: 0913609730

Tài liệu môn học – 2019


Nội dung chính 3
• Vết (trace): quan hệ giữa các nội dung đặc tả.
• Dò vết, để phát hiện và loại bỏ mâu thuẩn trong các tài liệu,
đảm bảo cho tính nhất quán (consistency) của các đặc tả thể
hiện trong một và nhiều hồ sơ khác nhau trong các công
đoạn (nhận biết yêu cầu, phân tích, thiết kế, source, test, cài
đặt,…).
• Dò vết là hành động cơ bản làm cơ sở cho việc chứng minh
cách làm đúng/sai hoặc sản phẩm thỏa/không thỏa yêu cầu
sử dụng.
• Vì vậy, các tài liệu đặc tả phải có khả năng để dò vết
(traceability) là đặc điểm được yêu cầu của các chuẩn chất
lượng cho PM.
Trace 4

• IEEE 610.12-1990: The degree to which a relationship can


be established between two or more products of the
development process; for example, the degree to which the
requirements and design of a given software component
match.
• Vết: là một mối quan hệ giữa một đặc tả đã biết với một số
đặc tả khác có liên quan mật thiết theo cách làm phần mềm
- vd: giải thuật (là một đặc tả trong bản thiết kế) được đưa ra
như là giải pháp để thỏa mãn cho một chức năng được yêu
cầu (là một đặc tả trong bản phân tích); và giải thuật này cũng
là yêu cầu bắt buộc phải tuân thủ trong source code.
- Mức độ phù hợp = mức độ thỏa mãn của yêu cầu
Ví dụ: Open Account usecase 5

Open Account
<<includes>>

es >>
BM nc lud << Confirm
< <i inc

>

<<e
es>
lud
es

xte
ud
>>

ncl

nd
< <i DB

s>>
Get Cust data

Get Acc Type Show Catalog Get IniBalance


CM

SW components AM
Open Account: CRC cards 6

CM
R C
1.Nhận biết Khách hàng -BM
(get cust data) AM
R C
1.Biết loại tài khoản (get acc -BM
type)
2.Biết số dư ban đầu (get -BM
acc balance)
3.Cung cấp catalog (show
DB catalogue)
R C
1.Lưu tài khoản (store -CM,AM
cust data, store acc type,
store initBalance )
2.Xác nhận (confirm)
Open Account: Traces 7

CRC: CM
Traced to Get cust data BM
FR11: Customer ?
Activate AM AM
o
dt
ce

CRC:AM
Tra

Traced to Get acc type BM


Traced to Get initBalance BM
OpenAccount FR12: Account ? ShowCatalog
Activate DB DB
d to

CRC: DB
ce
Tra

Store cust data


Traced to Store acc type
FR13: Register to DB Store initBalance
Confirm BM

“Consistency!”, ”Traceability!”
SOURCE DERIVED FROM SOURCE
Open Account: Traceability matrix 8

Usecase Requirements Functions Testcases


FR11: CM.GetCustData(Cust.data) FR11_Test01()
Customer
Acknowledge CM.Activate(AM,Cust) FR11_Test02()
AM.GetAccType(Acc.type) FR12_Test01()
FR12: AM.GetInitBalance(Acc.init) FR12_Test02()
Account
Acknowledge AM.ShowCatalog() FR12_Test03()
Open
Account AM.Activate(DB,Cust,Acc) FR12_Test04()
DB.Store(Cust.data) FR13_Test01()
FR13:
Register to DB.Store(Acc.type) FR13_Test02()
Database DB.Store(Acc.init) FR13_Test03()
DB.Confirm()
Vết trong các mức phát triển PM 9

Quality needs Functions Prototypes

2011 Requirements Traceability.pdf


Dò vết (traceability) 10

• Dò vết là xem xét các vết xuyên suốt tiến trình làm PM; ie,
xem xét tính chất liên kết của các ý từ ấn phẩm đầu tiên đến
ấn phẩm sau cùng.
- Vd: dò vết từ yêu cầu → thiết kế → source → testcases
• Để bảo đảm cho quá trình hình thành và giải quyết yêu cầu
(chức năng và tính năng) đ/v phần mềm là đúng,đủ và
không dư thừa (=đặc tả không có vết dẫn từ nguồn).
1. Dò vết cho chức năng:
SADT: stakeholders → Context → DFD0 → DFD1 →…
OOAD:stakeholders → Usecases → Methods → Testcases
→…
2. Dò vết cho chất lượng: (ISO25010, SQuaRE)
External Quality Attributes → Internal Quality Attributes
Nội dung dò vết trong phát triển PM 11
statement: a definite or clear expression of something in speech or writing.
1.Impact: statements User’s
Những đặc tả requirements
chi tiết nào
sẽ bị ảnh
hưởng bởi sự

Derivation analysis
Impact analysis

thay đổi của Product


1 đặc tả ở requirements
mức cao 2.Derivation:
hơn ? 3.Coverage: Những đặc tả
Đặc tả chi tiết
Coverage đã đủ chưa ? chi tiết nào là
cần thiết, và
nó cần nằm ở
Component mức nào ?
requirements

Requirements Engineering, 2nd Edition - 2005.pdf


Đặc tính của việc dò vết (traceability) 12

1. Tính tác động (impact): Nếu một đặc tả ở mức trên bị thay đổi
(phát sinh, sửa, hủy) sẽ làm cho những đặc tả nào ở mức chi
tiết bị thay đổi theo ?
-Ý nghĩa: chỉ ra phạm vi bị tác động bởi sự thay đổi yêu cầu, để loại bỏ các đặc
tả chi tiết dư thừa (không bị ảnh hưởng)
2. Tính dẫn xuất (derivation): một đặc tả ở mức chi tiết (ie, mức
giải pháp ) được sinh ra từ đặc tả nào ở mức trên (ie, mức yêu
cầu ), và tại sao nó lại nằm ở mức này ?
Ý nghĩa: sắp xếp các đặc tả vào đúng mức cho phù hợp với nội dung thực hiện
của từng mức (gom vào từng hồ sơ phân tích, thiết kế,..).
3. Tính toàn diện (coverage): Các đặc tả nằm ở mức chi tiết có
thoả mãn đầy đủ mọi yêu cầu ở mức trên không ?
-Ý nghĩa: để phát hiện thiếu sót (không đủ) của đặc tả chi tiết

Requirements Engineering, 2nd Edition - 2005.pdf


Các kiểu dò vết 13
Stackholder’s needs

“Forward from” “Backward to”


A A’
System requirements
(đang xem xét tài liệu này)

“Forward to” “Backward from”

Components Specification

1) Forward to Components Specification: các ý phải được đưa vào tài liệu này
2) Forward from Stackholder’s needs: các ý được đòi hỏi từ tài liệu này
3) Backward from Components Specification : các ý phải có, để tài liệu này đúng
4) Backward to Stackholder’s needs : các ý phải có trong tài liệu này để làm chứng cứ

2011 Requirements Traceability.pdf


Các kiểu của vết trong việc dò vết 14

1. Dependency (phụ thuộc từ gốc)


2. Generalisation/Refinement (tổng quát hóa, chi tiết hóa cho gốc)
3. Satisfiability (làm thỏa mãn cho gốc)
4. Evolution (cập nhật – hiệu chỉnh gốc)

5. Overlap (trùng lặp với gốc)


6. Conflict (mâu thuẩn với gốc)

7. Contribution (đóng góp thêm cho gốc)


8. Rationalisation (giải thích thêm cho vết)

SOFTWARE WARE TRACEABILITY-A ROAD MAP.PDF


Một số tình huống trong dò vết 15

Nguồn Đích
A B
C D
E X F
G G
==
Xem xét vết của đặc tả từ nguồn (vd:SyRD) sang đích (vd:DD,
phải nhất quán với SyRD):
• Cách làm đúng: đặc tả nguồn (yêu cầu) có đặc tả đích (giải
pháp) phù hợp, là vết màu xanh (AB);
• Cách làm sai: không có vết hoặc dẫn chứng (C,D), mâu
thuẩn (E,F), dư thừa hoặc trùng lặp (G),…

You might also like