Mục lục
Mục lục...........................................................................................................................................................................................................................................1
.........................................................................................................................................................................................................................................................5
ÂU HỎI ÔN TẬP KỸ NGHỆ PHẦN MỀM NÂNG CAO...........................................................................................................................................................6
1. Chất lượng và đảm bảo chất lượng phần mềm..........................................................................................................................................................................6
1.1. Khái niệm về đảm bảo chất lượng..................................................................................................................................................................................6
Câu 1: Chất lượng của một sản phẩm phần được sản xuất là gì? Đối với phần mềm định nghĩa này có đúng không? Làm thế nào để áp dụng định
nghĩa đó..................................................................................................................................................................................................................................6
Câu2: Cái gì được dùng làm cơ sở để kiểm định chất lượng phần mềm: ............................................................................................................................6
Câu 3: Để làm cơ sở cho việc kiểm định chất lượng, đặc tả các yêu cầu phần mềm cần thoả mãn các điều kiện gì? Nêu một vài ví dụ về điều kiện
đưa ra......................................................................................................................................................................................................................................7
Câu 4: Các nhân tố ảnh hưởng lên chất lượng phần mềm có mấy mức độ? Những loại nhân tố nào ảnh hưởng đến chất lượng?...................................7
Câu 5: Nêu các đặc trưng ảnh hưởng lên chất lượng của mỗi loại nhân tố: đặc trưng chức năng, khả năng thích nghi với thay đổi, khả năng thích
nghi với môi trường................................................................................................................................................................................................................7
Câu 6: Có thể đo trực tiếp chất lượng phần mềm không? Tại sao? Vậy phải đo bằng cách nào?.....................................................................................11
Câu 7: Kể ra các độ đo đặc trưng chất lượng chính của McCall? Giải thích nội dung của nó?........................................................................................11
Câu 8: Giải thích nội dung các thuộc tính chất lượng phần mềm sau đây và nêu ra các độ đo liên quan được sử dụng để đo thuộc tính đó:................12
Câu 9: Nêu các đặc trưng chất lượng theo Hawlett? Giải thích nội dung mỗi loại............................................................................................................14
1.2. Tiến hóa của hoạt động đảm bảo chất lượng .......................................................................................................................................................................15
Câu 10: Đảm bảo chất lượng phần mềm xuất phát từ đâu? Tiến triển của nó như thế nào...............................................................................................15
Câu 11:Tại sao cần đảm bảo chất lượng phần mềm? Nó đóng vai trò gì trong một doanh nghiệp phát triển phần mềm?..............................................15
Câu 12: Khi nào cần thực hiện các hoạt động đảm bảo chất lượng phần mềm:.................................................................................................................16
Câu 13: Trong một tổ chức ai là người tham gia vào hoạt động đảm bảo chất lượng? Vai trò và trách nhiệm của mỗi đối tượng đó là gì?..................16
Câu 14: Mục tiêu của SQA là gì? Các hoạt động chính đảm bảo chất lượng phần mềm là những hoạt động nào?.........................................................16
Câu 15: Giải thích nội dung tóm tắt của mỗi hoạt động chính đảm bảo chất lượng?.......................................................................................................16
1.3. Rà soát phần mềm.................................................................................................................................................................................................................18
Câu 16: Rà soát phần mềm được hiểu là gì (khái niệm, mục tiêu, cách thức áp dụng)? Nêu các lợi ích của việc ra soát?..............................................18
Câu 17: Các hình thức của hoạt động rà soát? trình bày khái niệm, mục tiêu của rà soát kỹ thuật chính thức?...............................................................18
Câu 19: Trình bày nội dung cơ bản một cuộc họp rà soát: thành phần, thời gian, công việc cần làm, phương châm , sản phẩm?..................................19
Câu 20 Các sản phẩm của cuộc họp rà soát là gì? Nội dung, vai trò của mỗi sản phẩm đó?.............................................................................................21
Câu 21 Khi nào tiến hành rà soát? Cần rà soát những sản phẩm gì....................................................................................................................................21
- Thử nghiệm sai hoặc không đầy đủ (IET). . ...................................................................................................................................................................29
28. Nêu công thức khiếm khuyết của một sản phẩm ở một pha phát triển? và công thức tính khiếm khuyết của sản phẩm cuối cùng? Giải thích ý
nghĩa của nó?........................................................................................................................................................................................................................29
- Người phát triển cần phải tính chỉ số khiếm khuyết cho mỗi bước chính phát triển phần mềm.....................................................................................29
- Các thông tin để tính mức độ khiếm khuyết.....................................................................................................................................................................29
+ Di= tổng số các khiếm khuyết........................................................................................................................................................................................29
+ Si= số các khiếm khuyết nghiêm trọng..........................................................................................................................................................................29
2
+ Mi= Số các khiếm khuyết vừa phải................................................................................................................................................................................29
+ Ti =số các khiếm khuyết nhỏ..........................................................................................................................................................................................29
- Với mỗi bước chính trong phát triển phần mềm cần tính chỉ số pha PIi:.........................................................................................................................29
PIi=w1(Si/Di) + w2(Mi/Di) + w3(Ti/Di)..........................................................................................................................................................................29
Trong đó w1, w2, w3 là trọng số tương ứng với các khiếm khuyết nghiêm trọng, vừa phải và nhỏ................................................................................29
Trọng số này ước lượng mức thiệt hại mà loại đó mang lại...............................................................................................................................................29
- Chỉ số khiếm khuyết DI được tính như sau:....................................................................................................................................................................30
DI= (PI1 + 2PI2 +. . .+iPIi)/PS.........................................................................................................................................................................................30
Trong đó PS là kích cỡ của sản phẩm (là LOC = số dòng mã, hoặc số tuyên bố thiết kế, hoặc số trang tài liệu) tuỳ theo từng bước...........................30
Theo công thức: các khiếm khuyết càng về sau càng về sau càng nhân với hệ số lớn.....................................................................................................30
29. Tiếp cận hình thức cho SQA nghĩa là gì? Quá trình phòng sạch là gì? Phương châm của kỹ thuật này là gì?...........................................................30
Người ta nhận thấy cần phải dùng một cách tiếp cận hình thức hơn trong việc bảo đảm chất lượng phần mềm, cách tiếp cận này sẽ bổ sung cho các
hoạt động mô tả ở trên.........................................................................................................................................................................................................30
Tiếp cận hình thức hoá: đặc tả hình thức cho phép chứng minh tính đúng đắn, kiểm tra lỗi, chuyển tự động thành chương trình . . . làm tăng chất
lượng.....................................................................................................................................................................................................................................30
- Kiểm chứng chương trình một cách hình thức (chứng minh tính đúng đắn) và bảo đảm chất lượng phần mềm thống kê hợp lại với nhau cho ta ta
một kỹ thuật cải thiện chất lượng sản phẩm, được gọi là quá trình phòng sạch................................................................................................................30
- Phương châm của kỹ thuật này là: Phòng khiếm khuyết hơn là trừ khiếm khuyết ........................................................................................................30
2.2. Các độ đo về sự tin cậy và an toàn...............................................................................................................................................................................30
31. Thế nào là thất bại của phần mềm? Có mấy thang bậc? là những thang bậc nào?......................................................................................................30
32. Nêu chỉ tiêu để tính độ tin cậy? Nêu công thức tính độ sẵn sàng? Giải thích ý nghĩa của nó?...................................................................................30
33. Có những mô hình độ tin cậy nào? Nó dựa trên tham biến nào và trên giả thiết nào? Mô hình độ tin cậy gieo hạt dựa trên ý tưởng nào? Mục tiêu
59. Mô hình của kiểm thử hộp đen quan tâm đến những nhân tố nào của phần mềm? Nó nhằm tìm ra các loại sai nào? Nêu các phương pháp áp
dụng cho nó?........................................................................................................................................................................................................................45
60. Trình bày phương pháp phân hoach: nguyên tắc, mục tiêu và thiết kế ca kiểm thử? Phương châm xác định lớp tương đương là gi?.....................45
61. Phân tích giá trị biên nghĩa là gì? Phương châm phân tích giá trị biên là gì?............................................................................................................46
62. Kỹ thuật nhân quả nghĩa là gì? Nêu các bước của ký thuật đó?.................................................................................................................................46
63. Chiến lươc kiểm thử thời gian thực gồm mấy bước? là những bước nào? Giải thích nội dung cơ bản mỗi bước? .................................................46
64. Kiểm thử đơn vị là gì? Quan hệ của nó với hoạt động mã hóa như thế nào?..............................................................................................................47
65. Nội dung cụ thể của hoạt động kiểm thử đơn vị liên quan đến những vấn đề gì (tham số, vào ra, dữ liệu cục bộ, thủ tục tính toán, các dòng điều
khiển)?..................................................................................................................................................................................................................................47
66. Kỹ thuật kiểm thử đơn vị sử dụng là gì? vì sao phải sử dụng ký thuật đó? Có những khó khăn thuận lợi gì?..........................................................49
67. Kiểm thử tích hợp thực hiện khi nào? Tại sao phải kiểm thử tích hợp?.......................................................................................................................49
68. Có những phương pháp gì được áp dụng cho kiểm thử tích hợp? mô tả tóm tắt nội dung mỗi phương pháp?.........................................................49
69. Nêu các bước kiểm thử tích hợp từ trên xuống? Ưu nhược điểm của cách tiếp cận này?..........................................................................................50
70. Nêu các bước kiểm thử tích hợp từ dưới lên? Ưu nhược điểm của cách tiếp cận này?..............................................................................................50
71. Các tài liệu kiểm thử tích hợp gồm những loại gì?......................................................................................................................................................50
72. Kiểm thử Beta là cái gì? Kiểm thử Alpha là cái gì? Giữa chúng khác nhau cơ bản ở chỗ nào ?...............................................................................51
73. Nội dung chính của kiểm thử hệ thống ? Nêu một số câu hởi đặt ra cho kiểm thử hệ thống ?..................................................................................52
4
74 Kiểm thử phục hồi là gì ?..............................................................................................................................................................................................52
75. Kiểm thử an ninh là gì ?...............................................................................................................................................................................................53
76. Kiểm thử áp lực là gì.....................................................................................................................................................................................................53
77. Kiểm thử thi hành là gì?...............................................................................................................................................................................................54
78. Gỡ rối được hiểu là gì ? Nó thực hiện khi nào ? Khó khăn của việc gỡ rối là gì ?.....................................................................................................54
79. Trình bày tiến trình gỡ rối ? Cách thức gỡ rối ? ưu nhược điểm của chúng................................................................................................................54
80. Quản lý cấu hình phần mềm là cái gì? Nội dung của hoạt động quản lý cấu hình gồm những công việc gì?............................................................56
81. Cấu hình phần mềm là cái gì? Nội dung các khoản mục chính trong cấu hình phần mềm gồm những gì?................................................................57
82. Quản lý cấu hình nhằm mục tiêu gì?Năm nhiệm vụ của quản lý cấu hình là gì.........................................................................................................58
83. Phương pháp gì được áp dụng cho việc quản lý cấu hình? Mốc giới là cái gì? Sử dụng mốc giới để kiểm soát sự thay đổi như thế nào?............58
84. Trình bày tiến trình kiểm soát sự thay đổi? .................................................................................................................................................................58
85. Phiên bản là cái gì? Làm thế nào để kiểm soát các phiên bản.....................................................................................................................................59
Còn một khía cạnh mới trong quan niệm chất lượng của phần mềm đó là độ tin cậy,
được hiểu là tính chính xác, tính ổn định, tính an toàn của phần mềm. Kể từ khi máy tính
trở thành hạ tầng mới của xã hội, độ tin cậy của phần mềm trở nên hết sức quan trọng đối
với các hoạt động xã hội. Đây là chất lượng theo nghĩa xã hội đo mức độ ảnh hưởng của
sản phấm tới mọi người (không kể chính người phát triển và NSD trực tiếp).
Một phần mềm tốt không những phải đáp ứng nhu cầu của người phát triển mà phải
thoả mãn người sử dụng và có độ tin cậy cao. Vậy có thể định nghĩa: Chất lượng là mức
độ thoả mãn của NSD đối với sản phẩm hay dịch vụ .
Câu2: Cái gì được dùng làm cơ sở để kiểm định chất lượng phần mềm:
Để đánh giá chất lượng phần mềm người ta dựa vào quan điểm chính sau:
• Yêu cầu phần mềm là cơ sở để đo chất lượng:
6
Sự phù hợp với yêu cầu là có chất lượng
Phù hợp yêu cầu cả về số lượng và chất lượng
• Yêu cầu thể hiện bằng đặc tả - đặc tả phải có chuẩn của nó mới kiểm tra được
• Các chuẩn đặc tả xác định một bộ các tiêu chuẩn phát triển, các tiêu chuẩn này hướng
dẫn cách thức làm ra phần mềm: nếu không tuân thủ các tiêu chuẩn đó thì hầu như chắc
chắn là chất lượng sẽ kém
• Luôn có một tập các yêu cầu ngầm thường ít được nhắc đến
Quá thông dụng, hiển nhiên (sử dụng cửa số)
Không thể hiện ra ngoài (quy tắc nghiệp vụ)
• Nếu phần mềm chỉ phù hợp với các yêu cầu đã hiển thị mà chưa phù hợp với yêu cầu
ngầm thì chất lượng phần mềm là đáng nghi ngờ
• Cần làm rõ yêu cầu và đưa vào đặc tả càng nhiều càng tốt
Câu 3: Để làm cơ sở cho việc kiểm định chất lượng, đặc tả các yêu cầu phần mềm cần
thoả mãn các điều kiện gì? Nêu một vài ví dụ về điều kiện đưa ra.
Yêu cầu phần mềm là cơ sở để đo chất lượng. Yêu cầu thể hiện ra bằng đặc tả và đặc
tả phải có chuẩn của nó mới kiểm tra được. Các chuẩn đặc tả xác định một bộ các tiêu
chuẩn phát triển, các tiêu chuẩn này hướng dẫn cách thức làm ra phần mềm: nếu không
tuân thủ các tiêu chuẩn đó thì hầu chắc chắn là chất lượng sẽ thiếu sót.
o Độ hòa hợp
o Độ dung thứ lỗi
o Độ đo mođun hoá
o Độ đơn giản – dễ hiểu.
o Độ lần vết được
Tính hiệu quả: khối lượng tài nguyên tính toán và mã được đòi hỏi khi thực hiện
các chức năng của chương trình
o Độ súc tích
o Độ hiệu quả thực hiện
o Độ dễ thao tác
Tính toàn vẹn: có thể khống chế được việc truy cập của những người không được
phép tới phần mềm và dữ liệu
o Độ kiểm toán được
o Trang bị đồ nghề đủ
o Độ an ninh.
Tính khả dụng: đo công sức học hiểu, thao tác, chuẩn bị đầu vào, thể hiện đầu ra
của chương trình
o Độ dễ thao tác
o Độ đo khả năng huấn luyện
• Loại 2: khả năng đương đầu với những thay đổi - (3)
Tính bảo trì được: nỗ lực đòi hỏi để định vị và xác định được một sai trong
chương trình
o Độ súc tích
o Độ hoà hợp
8
o Trang bị đồ nghề đủ
o Độ đo mođun hoá
o Độ tự cấp tài liệu
o Độ đơn giản - dễ hiểu
Tính mềm dẻo: nỗ lực đòi hỏi để cải biên một chương trình
o Độ độc lập hệ thống phần mềm
9
Tính liên tác được: nỗ lực đòi hỏi để ghép đôi một hệ thống vào một hệ thống
khác
o Độ tương đồng giao tiếp
o Độ tương đồng dữ liệu
o Độ khái quát
o Độ đo mođun hoá.
• Có hai mức độ ảnh hưởng
Nhân tố trực tiếp: có thể thực tiếp đo như lỗi/KLOC/ đơn vị thời gian
Nhân tố gián tiếp: nhân tố chỉ có thể đo được một cách gián tiếp như tính bảo trì
Nhân tố
Độ đo
Đúng
đắn
Tin cậy
được
Hiệu
quả
Toàn
vẹn
Khả
dụng
Bảo trì
được
Mềm
dẻo
Thử nghiệm
được
Mang chuyển
(1) Độ kiểm toán được: có thể kiểm tra dễ dàng về việc tuân thủ các chuẩn
(2) Độ chính xác: Độ chính xác của tính toán và điều khiển
(3) Độ tương đồng giao tiếp: mức độ sử dụng các giao diện, giao thức và giải thông
chuẩn.
(4) Độ đầy đủ: mức độ theo đó các việc cài đặt đầy đủ cho các chức năng yêu cầu đã
được đạt tới.
(5) Độ phức tạp: tránh dùng chương trình có độ phức tạp cao
(6) Độ súc tích (conciseness): độ gọn của chương trình dưới dạng số dòng mã.
(7) Độ hoà hợp (consistancy): việc dùng kỹ thuật thiết kế và tư liệu thống nhất trong
toàn bộ chương trình.
(8) Độ tương đồng dữ liệu: việc dùng các cấu trúc và kiểu dữ liệu chuẩn trong toàn bộ
chương trình
(9) Độ dung thứ lỗi: những hỏng hóc xuất hiện khi chương trình gặp phải một lỗi được
chấp nhận.
(10) Độ hiệu qủa thực hiện: hiệu năng khi chạy của chương trình
(11) Độ khuếch trương được:Mức độ theo đó thiết kế kiến trúc, dữ liệu hay thủ tục có
thể được mở rộng.
(12) Độ khái quát: độ rộng rãi của ứng dụng tiềm năng của các thành phần chương trình.
(13) Độ độc lập phần cứng: mức độ theo đó phần mềm tách biệt được với phần cứng
mà nó vận hành.
(14) Trang bị đồ nghề đủ (instrumentation):mức độ theo đó chương trình điều phối thao
tác của riêng nó và xác định các lỗi xuất hiện
(15) Độ đo mođun hoá: sự độc lập chức năng của các thành phần trong chương trình
(16) Độ dễ thao tác: Việc dễ vận hành trong chương trình
(17) Độ an ninh: có sẵn cơ chế kiển soát hay bảo vệ chương trình và dữ liệu.
(18) Độ tự tạo tài liệu (self-doccumentation): mức độ theo đó mã gốc cung cấp tài liệu
có ý nghĩa.
(19) Độ đơn giản - dễ hiểu: mức độ theo đó người ta có thể hiểu được chương trình
không khó khăn.
(20) Độ độc lập hệ thống phần mềm: mức độ theo đó chương trình được độc lập với các
Tính toàn vẹn: là sự khống chế được việc truy cập trái phép tới phần mềm và dữ
liệu hệ thống
o Độ kiểm toán được
o Trang bị đồ nghề đủ
o Độ an ninh.
Tính khả dụng: công sức để học hiểu, thao tác, chuẩn bị đầu vào, thể hiện đầu ra
của chương trình là chấp nhận nhận được
o Độ dễ thao tác
o Độ đo khả năng huấn luyện
12
Tính bảo trì được: nỗ lực cần để định vị và xác định được một lỗi trong chương
trình là chấp nhận được
o Độ súc tích
o Độ hoà hợp
o Trang bị đồ nghề đủ
o Độ đo mođun hoá
o Độ tự cấp tài liệu
o Độ đơn giản - dễ hiểu
Tính mềm dẻo: nỗ lực cần để cải biên một chương trình là chấp nhận được
o Độ phức tạp
o Độ súc tích
o Độ hoà hợp
o Độ khuếch trương được
o Độ khái quát
o Độ đo mođun hoá
o Độ tự cấp tài liệu
o Độ đơn giản - dễ hiểu
Tính thử nghiệm được: nỗ lực cần để thử nghiệm một chương trình và bảo đảm
rằng nó thực hiện đúng chức năng dự định là chấp nhận được
o Độ kiểm toán được
Được tính bằng tập hợp các tính chất và khả năng của chương trình đó, độ khái quát
các chức năng được thực hiện và độ an ninh của toàn hệ thống
- Nhân tố khả dụng
Được đánh giá bằng việc xét các nhân tố con người, thẩm mỹ, sự hoà hợp và tư liệu
cung cấp
- Nhân tố tin cây
Được đánh giá bằng:
+ tần xuất thất bại và độ nghiêm trọng của nó
+ Tính chính xác của các kết quả ra
+ Thời gian trung bình giữa hai thất bại kề nhau
+ Khả năng phục hồi sau thất bại
+ Khả năng đoán trước được thất bại của chương trình
- Nhân tố thi hành
Được đánh giá bằng
+ Tốc độ xử lý
+ Thời gian đáp ứng
+ Độ sử dụng nguồn lực
+ Năng suất và hiệu năng
- Nhân tố mang chuyển
Đánh giá bằng tổ hợp các khả năng:
+ Mở rộng chương trình
+ Độ thích nghi
+ Phục vụ được (bảo trì được)
+ Thử nghiệm được
+ Sự tương hợp
14
+ Cấu hình được (khả năng tổ chức và khống chế các yếu tố của cấu hình phần
mềm, để dễ dàng cài đặt hệ thống và dễ dàng định vị các chỗ có vấn đề)
1.2. Tiến hóa của hoạt động đảm bảo chất lượng
Câu 10: Đảm bảo chất lượng phần mềm xuất phát từ đâu? Tiến triển của nó như thế
• nó đóng vai trò trong một doanh nghiệp phát triển phần mềm
15
• Bảo đảm chất lượng là một hoạt động cốt yếu trong bất kỳ một doanh nghiệp nào
làm ra sản phẩm được người khác dùng
Câu 12: Khi nào cần thực hiện các hoạt động đảm bảo chất lượng phần mềm:
Chất lượng phần mềm được thiết kế bên trong sản phẩm hay hệ thống do đó nó được bắt
đầu ngay từ khi phân tích và nó giúp người phân tích đạt tới đặc tả chất lượng cao và người
thiết kế thì phát triển thiết kế với chất lượng cao.
Câu 13: Trong một tổ chức ai là người tham gia vào hoạt động đảm bảo chất lượng?
Vai trò và trách nhiệm của mỗi đối tượng đó là gì?
Những người trong tổ chức có trách nhiệm bảo đảm chất lượng phần mềm:
- các kỹ sư phần mềm,
- các nhà quản lý dự án,
- khách hàng,
- người bán hàng,
- các cá nhân trong nhóm SQA.
• Nhóm SQA đóng vai trò như đại diện của khách hàng - để xem chất lượng phần
mềm với quan điểm khách hàng
• Có đáp ứng được các nhân tố chất lượng không?
• Có tuân theo các chuẩn dự định trước không?
• Các thủ tục phương pháp kỹ thuật có thực sự đóng vai trò của chúng trong
hoạt động SQA?
Câu 14: Mục tiêu của SQA là gì? Các hoạt động chính đảm bảo chất lượng phần mềm
là những hoạt động nào?
Đảm bảo chất lượng phần mềm là các hoạt động nhằm mục tiêu là sản xuất ra phần mềm
có chất lượng cao.
• Có 7 hoạt động chính:
1. Áp dụng các phương pháp kỹ thuật tiến bộ
2. Tiến hành rà soát kỹ thuật chính thức
3. Thử nghiệm phần mềm
1.3. Rà soát phần mềm
Câu 16: Rà soát phần mềm được hiểu là gì (khái niệm, mục tiêu, cách thức áp dụng)?
Nêu các lợi ích của việc ra soát?
• Khái niệm: Rà soát là việc xem xét, đánh giá sản phẩm được tiến hành mỗi giai đoạn để
phát hiện ra những khiếm khuyết cần sửa chữa trước khi sang giai đoạn sau.
• Mục tiêu:
• Chỉ ra các chỗ khiếm khuyết cần phải cải thiện
• Khẳng định những sản phẩm đạt yêu cầu
• Kiểm soát việc đạt chất lượng kỹ thuật tối thiểu của sản phẩm
• Cách thức áp dụng: Rà soát được áp dụng tại các thời điểm khác nhau trong quá trình
phát triển phầm mềm.
• Có nhiều kiểu rà soát khác nhau:
• Các cuộc họp xét duyệt không chính thức
• Cuộc trình bày chính thức trước cử tọa gồm khách hàng, nhà quản lý, nhân viên kỹ
thuật. (chỉ tập trung vào các rà soát kỹ thuật chính thức FTR-Format Technical
Review)
• Các lợi ích của việc ra soát
Lợi ích hiển nhiên của FTR là sớm phát hiện các “khiếm khuyết” phần mềm để có
thể chỉnh sửa từng khiếm khuyết một trước khi bước sang bước tiếp theo của quá
trình phần mềm.
Các nghiên cứu của công nghiệp phần mềm đã chỉ ra rằng: các hoạt động thiết kế
tạo ra đến 50%-60% tổng số các khiểm khuyết tạo ra trong phát triển phần mềm.
Chi phí chỉnh sửa một khiếm khuyết tăng lên nhanh chóng sau mỗi giai đoạn. VD:
Lỗi không được phát hiện trong thiết kế tốn phí 1.0 để sửa chữa, trước kiểm thử
nghiệm: 6.5; trong thử nghiệm: 15 và sau khi phân phát sẽ là từ 60.0 đến 100.0
Câu 17: Các hình thức của hoạt động rà soát? trình bày khái niệm, mục tiêu của rà soát
kỹ thuật chính thức?
• Có nhiều kiểu rà soát khác nhau:
• Các cuộc họp xét duyệt không chính thức
• Cuộc trình bày chính thức trước khách hàng, nhà quản lý, thành viên kỹ thuật
• tất cả các cá nhân rà soát
• người tạo ra sản phẩm được rà soát
• Thời gian:
19
• Phải có sự chuẩn bị trước, tuy nhiên mỗi người không quá 2 giờ chuẩn bị.
• Cuộc họp nên ít hơn 2 giờ. Mỗi cuộc họp rà soát chỉ hạn chế trong một phần nhỏ, cụ
thể.
• Công việc cần làm:
• Trọng tâm của các cuộc họp rà soát là về sản phẩm: một thành phần (một thành
phần của đặc tả yêu cầu, một thiết kế modul chi tiết, một danh sách mã nguồn cho
một modul)
• Phải đưa ra một trong 3 quyết định sau đây:
- Chấp nhận sản phẩm không cần chỉnh sửa
- Khước từ sản phẩm vì những lỗi nghiêm trọng
- Chấp nhận cho chỉnh sửa sản phẩm, sau khi chỉnh sửa phải có cuộc họp rà soát
lại
• Mọi thành viên tham gia cuộc họp phải ký vào quyết định
• Phương châm rà soát:
• Cần thiết lập trước phương châm rà soát, phân phát cho những người làm nhiệm vụ
rà soát, thống nhất tán thành và tuân thủ. Một rà soát mà không khống chế được thì
có thể còn xấu hơn là không rà soát
• 10 điều tối thiểu trong phương châm rà soát kỹ thuật chính thức:
(1) rà soát sản phẩm, không rà soát người làm nó
(2) Lập chương trình nghị sự và duy trì nó.
(3) Hạn chế tranh luận và bác bỏ: các vấn đề tranh luận nên để ghi nhớ cho các thảo
luận tiếp tục
(4) Trình bày rõ ràng mạch lạc các vùng có vấn đề nhưng không được gượng ép
giải quyết mọi vấn đề nhận thấy: FTR không giải quyết vấn đề, việc giải quyết
vấn đề sau FTR và thường do chính người làm ra sản phẩm thực hiện, có thể
nhờ sự trợ giúp của vài cá nhân khác.
cùng)
- Rà soát được tiến hành suốt quá trình phát triển
- Tiến trình phát triển chung nhất gồm 4-5 giai đoạn:
Kỹ nghệ hệ thống
Phân tích, xác định yêu cầu phần mềm
Thiết kế phần mềm
Kiểm thử phần mềm
Bảo trì (với sản phẩm đặt hàng)
Rà soát bám theo các sản phẩm của rà soát này
Câu 22: Trình bày nội dung danh mục rà soát của?
Danh mục rà soát trong kỹ nghệ hệ thống:
Bảo đảm chất lượng mức này là đánh giá yêu cầu thẩm duyệt ở mức hệ thống: Một cuộc
họp lớn gồm đại diện các đơn vị liên quan
(1) Các chức năng chủ yếu đã được xác định đủ và rõ ràng(không mơ hồ)?
(2) Các giao diện giữa các hệ con của hệ thống đã được xác định đủ và đúng hay chưa?
(3) Các ràng buộc thực thi đã được thiết lập cho toàn hệ thống và cho từng phần tử hay
chưa?
21
(4) Các ràng buộc thiết kế đã được thiết lập cho từng phần tử hay chưa?
(5) khả năng chọn đã là đã tốt nhất chưa?
(6) Giải pháp này có khả thi kỹ thuật không?
(7) Cơ chế kiểm chứng và thẩm duyệt đã đwợc thiết lập hay chưa?
(8) Có sự hoà hợp giữa các phần tử của hệ thống hay chưa?
Rà soát việc lập kế hoạch
Lập kế hoạch dự án phần mềm dựa trên sản phẩm của kỹ nghệ hệ thống để đưa ra các nội
dung chủ yếu:
+ Phạm vi công việc kiểm tra thực hiện
+ ước lượng nguồn lực, giá cả, thời gian công việc
+ Lịch biểu thực hiện
+ Tổ chức, nhân sự, cơ chế triển khai
− Các yêu cầu phải đầy đủ: chúng phải chứa mọi chức năng và mọi ràng buộc mà
người dùng đã nhắm đến
− Các yêu cầu phải là hiện thực, tức là có khả năng thực hiện được
♦ Nội dung:
− tập trung vào khả năng viết ra các yêu cầu hệ thống phần mềm (chức năng, phi
chức năng, ngoại lai)
− sự phù hợp và tính đúng đắn của mô hình phân tích.
− Với các hệ thống lớn cần tăng cường:
Các rà soát kỹ thuật chính thức
việc đánh giá các nguyên mẫu cũng như các cuộc họp với khách hàng
♦ Danh mục: xem xét các chủ đề sau:
(1) Phân hoạch vấn đề (hệ con) có đầy đủ hay không?
(2) Các giao diện trong và ngoài đã thực sự được xác định chưa?
(3) Phân tích lĩnh vực thông tin có đầy đủ, phi mâu thuẫn và chính xác hay ko?
(4) Mô hình dữ liệu đã thực sự phản ánh các đối tượng dữ liệu, các thuộc tính và các
quan hệ?
(5) Tất cả các yêu cầu có thể lần vết được ở mức hệ thống không?
(6) Đã làm bản mẫu dành cho người sử dụng (khách hàng) chưa?
(7) Liệu có thực hiện được với những ràng buộc quy định bởi các phần tử hệ thống
khác hay không?
(8) Các yêu cầu có phù hợp với lịch biểu, nguồn lực và kinh phí hay không?
(9) Các chuẩn thẩm định có đầy đủ hay không?
• rà soát thiết kế phần mềm ( tương ứng với từng giai đoạn thiết kế)
♦ Mục tiêu: Hướng đến thiết kế đảm bảo hai yêu cầu
− Phản ánh đúng các yêu cầu đặc tả
Đủ các phần
Đủ chức năng và ràng buộc
Dữ liệu đủ, phù hợp
− Có chất lượng tốt
Cấu trúc tốt (phân hoạch, giao diện, modul hoá)
(4) Độ phức tạp logic có phải chăng hay không?
(5) Sử lý sai đã được đặc tả chưa?
(6) Cấu trúc dữ liệu cục bộ có thật sự đã được xác định?
(7) Kiến tạo lập trình cấu trúc đã xuyên suốt chưa?
(8) Các chi tiết thiết kế đã tuân theo ngôn ngữ thực hiện chưa?
(9) Dùng các đặc điểm hệ điều hành hay là phụ thuộc ngôn ngữ?
(10) Đó dùng logic compound hoặc logic inverse?
(11) Khả năng bảo trì đã được xét tới chưa
• rà soát lập mã phần mềm
♦ Mục tiêu: rà soát hướng đến mã nguồn đạt được
− phản ánh đầy đủ, phù hợp với thiết kế
− phù hợp với ngôn ngữ sử dụng (chuẩn, cú pháp, khai báo dữ liệu...)
− Văn bản chương trình tốt (không lỗi chính tả, có cấu trúc, nhất quán ...)
♦ Nội dung
24
♦ Danh mục
(1) Thiết kế có thực sự được dịch thành mã chưa?
(2) Có các sai sót chính tả hoặc in ấn nào không?
(3) Có thực sự dùng các quy ước ngôn ngữ hay không?
(4) Có phục tùng về các chuẩn mẫu lập mã đối với phong cách ngôn ngữ, ghi chú ...
(5) Có ghi chú nào không đúng đắn hoặc mơ hồ?
(6) Kiểu dữ liệu và khai báo dữ liệu có chính xác hay không?
(7) Các hằng số vật lý có đúng đắn hay không?
(8) Có phải tất cả các khoản mục của danh sách rà soát thiết kế trọn vẹn là được áp
dụng lại hay không?
• rà soát kiểm thử phần mềm (tương ứng với kế hoạch và thủ tục kiểm thử)
♦ Mục tiêu:
− Đánh giá một cách phê phán các kế hoạch kiểm thử và các thủ tục kiểm thử
− hướng đến đảm bảo các phương pháp, các chiến lược và các kỹ thuật được sử
dụng và kế hoạch tốt