Qualification
ISO 25010 - Quality In Use đưa ra các tiêu chí
chất lượng trong ngữ cảnh sử dụng PM, như:
1. Phát huy được năng lực (effectiveness)
2. Hiệu quả dùng tài nguyên (efficiency)
3. Thỏa mãn cho tác nhân (Satisfaction)
4. An toàn (safety)
5. Khả dụng (usability)
Qualification là những hành động bảo đảm cho
PM bộc lộ được các tố chất trên
Hành động chuẩn bị sẵn trong PM & nhân công
20 trang |
Chia sẻ: thanhle95 | Lượt xem: 594 | 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 6: Qualification (Duy trì chất lượng) - 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 06. Qualification
(duy trì chất lượng)
1
Sự thay đổi lên PM
1. Vì PM là một mô hình về thế giới thực. Thế giới
thực luôn thay đổi (quy luật Lehman)
Công nghệ luôn cải tiến
Nghiệp vụ của tổ chức thay đổi
2. Bị lỗi chưa phát hiện được.
Fault tolerance
3. Users cần cá nhân hóa PM.
Làm việc có hiệu quả cao hơn
4. Thay đổi PM dể hơn phần cứng.
5. Môi trường vận hành ngày càng nguy hiểm.
Virus, hackers
2
Yêu cầu dự phòng đ/v PM
Ngoài 2 khía cạnh verification và validation (dựa
trên yêu cầu đã nhận thức được), SQA còn phải
chuẩn bị trước cho những yêu cầu sẽ xuất hiện.
Hành động này được hiểu phổ biến với khái
niệm “bảo trì”: bảo đảm cho PM sẽ duy trì được
chất lượng (theo thời gian) trong ngữ cảnh áp
dụng của nó
1. Cập nhật cho nhu cầu sử dụng theo thời gian
2. Đa dạng hóa xử lý
3
Qualification
ISO 25010 - Quality In Use đưa ra các tiêu chí
chất lượng trong ngữ cảnh sử dụng PM, như:
1. Phát huy được năng lực (effectiveness)
2. Hiệu quả dùng tài nguyên (efficiency)
3. Thỏa mãn cho tác nhân (Satisfaction)
4. An toàn (safety)
5. Khả dụng (usability)
Qualification là những hành động bảo đảm cho
PM bộc lộ được các tố chất trên
Hành động chuẩn bị sẵn trong PM & nhân công
4
Hổ trợ bảo trì từ phần mềm (ISO 25010)5
Quality in use
of USERS
Quality in use of
DEVELOPER
Quality in use
of INSTALLER
ISO_25010.PDF
Chất lượng của việc bảo trì
Từ các công việc cụ thể:
Từ cách thức hổ trợ cho bảo trì đã được thiết
kế sẵn bên trong phần mềm
Từ chính sách bảo trì cho phần mềm
Từ các công việc bảo trì được cho là cần thiết
phải tiến hành
Quản lý cấu hình
Giám sát sự thay đổi của môi trường
6
7Quản lý cấu hình (CM)
Software configuration item (SCI): Là bất kỳ
sản phẩm nào (của dự án phần mềm) được
xem như là một thực thể có ý nghĩa đối với
phần mềm; ie, nó góp phần tạo ra các đặc
điểm của sản phẩm.
Ví dụ: SW Req. Spec. (SWRS), System Spec.(SS),
Design Doc.(DD), User Man. (UM), Source Code,
Project Plan, Installation Doc., là những SCIs.
SCI version (phiên bản của SCI): là một trạng
thái được phê duyệt của SCI
Vd: Source code ver 1.24, DD ver 1.23
7
8Configuration Management
Software configuration version: Là một bộ gồm
nhiều SCI version đã được phê duyệt; nó xác
định đặc tính riêng của sản phẩm trong chuổi
tiến trình tạo & cập nhật sản phẩm
Vd: Product Ver 1.00 ≠ Product Ver 1.01
Software configuration management (SCM): là
sự theo đõi (nhận biết, phân biệt) và kiễm soát
(phê duyệt) tất cả các thay đổi trên các SCI.
8
9CM: Xử lý
1. Version control: Phân biệt
các phiên bản của SCI. Mỗi
SCI có nhiều phiên bản,
mỗi phiên bản thể hiện sự
khác biệt của PM so với các
phiên bản khác
2. Change control: xem xét
yêu cầu thay đổi để quyết
định thay đổi, thực hiện và
ghi vết các thay đổi trên
cấu hình.
3. Build control: quyết định
những phiên bản SCI nào
được tích hợp với nhau để
tạo ra một phiên bản PM
mới
C
h
a
n
g
e
c
o
n
tro
l
Version
control
Build control
DD SC
Ver 1.1 Ver 2.1
Ver 2.2
Ver 1.2
Ver 1.3
9
10
CM: Phát hành phiên bản PM
Sequential : Phát hành tuần tự các phiên bản
cho một PM.
Tree : đa dạng hóa một phiên bản PM cho
nhiều đối tượng sử dụng.
10
11
CM: Tree version11
Microsoft website. Branching and Merging Primer.
https://msdn.microsoft.com/en-us/library/aa730834(VS.80).aspx
12
CM: Tree version12
13
Chính sách bảo trì
Xem xét việc sửa đổi phần mềm theo quan
điểm:
“Có/không”: từ người có quyền, thường gây ra
quá tải trong việc thực hiện thay đổi
“Cân bằng”: chỉ chấp thuận cho thay đổi nào
thực sự quan trọng và có được lợi ich nhiều
hơn chi phí thực hiện thay đổi này
13
Duy trì chất lượng (bảo trì)
Có 4 công việc chính trong hoạt động bảo trì :
1. Corrective action: sửa lỗi còn sót lại trong PM,
trong khi nó đang được sử dụng.
2. Adaptive action: làm cho PM tương thích với
môi trường đã bị thay đổi so với trước đây
3. Perfective action: làm tăng thêm giá trị sử
dụng PM.
Cải tiến các chức năng & đặc tính chất
lượng
4. Preventive action: ngăn ngừa các rủi ro trước
khi chúng xuất hiện
14
Bảo trì
Bản chất của vấn đề bảo trì : gây ra yêu cầu
sửa đổi (modify) trên phần mềm
Sự sửa đổi thực tế là tốn kém hơn người ta nghĩ
(do mối liên kết phức tạp trong phần mềm: sự
cộng tác → phụ thuộc lẫn nhau)
Ie, cần cân nhắc kỹ về chi phí trước khi cam kết
Yêu cầu sửa đổi này không thể biết trước trong
quá trình làm (không có yêu cầu cụ thể để đưa ra
giải pháp cụ thể) → CNPM chỉ có giải pháp tổng
quát cho các yêu cầu này
Mô hình nào hổ trợ cho vấn đề này ?
Phương pháp, kỹ thuật nào hổ trợ vấn đề này ?
15
Giải pháp chung: maintenance = evolution
1. Các mô hình xoắn ốc, UP, Agile và những mô
hình sau này đều lưu giữ các SCI để tiếp tục
cập nhật cho phiên bản phần mềm mới
IEEE định nghĩa PM = tập các SCI của nó
2. Thay thế việc sửa lệnh,dữ liệu bằng việc tháo
lắp các môđun được thiết kế ít phụ thuộc nhau
Hướng đối tượng phục vụ cho mục đích này
3. Chuẩn hóa kết cấu của phần mềm, để nhận
sự hổ trợ phát triễn nó từ cộng đồng
Các phần mềm mã nguồn mở đều thiết kế
theo chuẩn
16
Corrective maintenance
Nguyên nhân còn sót lỗi là do cách làm phần mềm
khá phức tạp dể gây lỗi khó phát hiện, và việc kiễm
thử chưa đủ thời gian để phát hiện lỗi.
Trong CNPM:
Verification & Validation : làm càng sớm càng tốt
Có phương pháp, kỹ thuật, công cụ hổ trợ, giống
như làm phần mềm (design, test, analysis, actions)
Cấu trúc cho các tài liệu đặc tả thuận lợi cho việc
dò vết (tracing) để định vị và sửa lỗi dể
Cơ chế phát hiện lỗi và mô tả tình huống gây lỗi
được sử dụng trong suốt chu kỳ phát triễn.
17
Adaptive maintenance
Thiết kế để phần mềm ít phụ thuộc vào môi trường
vd: Portable là phần mềm chạy được trên nhiều
lớp nền khác nhau
vd: ứng dụng java trên nền JRE
Giới hạn sự phụ thuộc vào các bất biến của môi
trường
vd: yêu cầu nghiệp vụ lấy từ quy định (luật) của
nhà nước thay cho quy tắc riêng của tổ chức
Chuẩn hóa các đặc tả yêu cầu và áp dụng chuẩn
của thế giới (vd: dùng công nghệ chuẩn, giao tiếp
chuẩn, trừu tượng hóa yêu cầu cụ thể thành vấn đề
phổ biến)
18
Perfective maintenance
Phát biểu các yêu cầu thành các bài toán chuẩn
hoặc phổ biến để dùng pattern (kiểu mẫu) có sẵn
Thiết kế PM thành các thành phần (sub-system
hoặc package) có khả năng sử dụng lại cao
Trừu tương hóa các phương thức
Sử dụng cơ chế đa hình để thêm mới thay vì
sửa
Thiết kế phần mềm có tính tùy biến cao bằng
thông số cấu hình bên ngoài
Vd: Các quy tắc tính toán, xử lý dữ liệu,.. của nghiệp
vụ được khai báo trong file .ini hoặc CSDL thay vì viết
thành mã lệnh.
19
Preventive maintenance
Undo là giải pháp tổng quát cho các thay đổi có
thể gây hại đến hệ thống
Được cài đặt trong MS Office
Cài đặt trong hệ quản trị CSDL của Oracle
Fault tolerance được cài đặt để giúp cho hệ
thống chịu đựng các hư hỏng từ phần cứng
Control chart là cơ chế phát hiện sự bất thường
có thể gây hại cho hệ thống
20