Kỹ nghệ phần mềm nâng cao
Trang 1Mục Lục
CÂ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 đó? 7 Câu2 Cái gì được dùng làm cơ sở để kiểm định chất lượng phần mềm: 8 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 9 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? 9 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? 9 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? 16 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ó? 16 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 đó: 18 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 22 1.2 Tiến hóa của hoạt động đảm bảo chất lượng 24 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? 24 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? 24 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? 25 Câu 13 Trong một tổ chức, những ai 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ì? 26
Trang 2Câ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? 26
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? 27
1.3 Rà soát phần mềm 28
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?Nếu không thực hiện rà soát thì sao? 28
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? 29
Câu 18 Vẽ sơ đồ tiến trình hoạt động rà soát va giải thích sơ bộ nội dung mỗi bước?30 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? 31
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 đó? 33
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ì 34
Câu 22 Trình bày nội dung, danh mục rà soát 34
2 Các độ đo đặc trưng chất lượng phần mềm 44
2.1 Các độ đo chỉ số chất lượng chương trình 44
Câu 23 Nêu các ký hiệu và giải thích các độ đo: s1,s2,s3,s4,s5,s6,s7 và D1=1&0, (D2=1-s2/s1), (D3=1-s3/s1), (D4=1-s5/s1), (D5=1-s6/s5), (D6=1-s7/s5)? 44
Câu 24 Sử dụng công thức với wi = 1 như thế nào và để làm gì? 45
Câu 25 Giải thích nội dung các thành phần và ý nghĩa độ đo SMI và cách sử dụng nó? 46
Câu 26 Số đo độ phức tạp của McCabe dựa trên cái gì và những đại lượng cụ thể nào? 47
Câu 27 Đảm bảo chất lượng phần mềm dựa trên thống kê nghĩa là gì?Nó gồm những công việc gì? Kể ít nhất 5 nguyên nhân của những khuyết điểm trong phần mềm? 47
Câu 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ó? 48
Trang 3Câu 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ì? 49 2.2 Các độ đo về sự tin cậy và an toàn 50 Câu 30 Độ tin cậy của phần mềm là cái gì? Đo độ tin cậy dựa trên những dữ liệu nào?
51
Câu 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? 51 Câu 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ó? 51 Câu 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 để làm gì? 52 Câu 34 Độ an toàn phần mềm là cái gì? Có những phương pháp nào để phân tích độ
an toàn? 54 Câu 35 Khảo sát nhu cầu SQA gồm những nội dung gì? Nhằm trả lời các câu hỏi gì? Nếu có nhu cầu thì mình làm gì? 55 Câu 36 Có những vấn đề gì đạt ra khi triển khai SQA? Lợi ích của SQA là gì? Nguyên tắc chi phí hiệu quả của SQA là gì? 55
3 Kiểm thử phần mềm 56 3.1 Khái niệm về kiểm thử 56 Câu 37 Tại sao phải kiểm thử phần mềm? Mục tiêu kiểm thử là gì? Từ đó có quan niệm sai gì về kiểm thử phần mềm? 56 Câu 38 Thế nào là một ca kiểm thử tốt? ca kiểm thử thành công? Lợi ích phụ kiểm thử
là gì? 58 Câu 39 Biểu đồ dòng thông tin kiểm thử mô tả cái gì? Vẽ biểu đồ của nó? 59
Biểu đồ dòng thông tin kiểm thử tuân theo hình mẫu được mô tả như sau: 59
Câu 40 Nêu các đối tượng, các phương pháp kiểm thử phần mềm? Mỗi phương pháp
đó thường được sử dụng vào giai đọan nào của quá trình phát triển? 60 Câu 41 Một ca kiểm thử là cái gì? Mục tiêu thiết kế ca kiểm thử? Các bước để thiết kế một ca kiểm thử? 61
Trang 4Câu 42 Kiểm thử hộp trắng là cái gì? Nêu các đặc trưng của nó? 61 Câu 43 Kiểm thử hộp đen là cái gì? Nêu các đặc trưng của nó? 62 Câu 44 Chiến lược kiểm thử phần mềm là cái gì? Nêu các nguyên tắc trong chiến lược kiểm thử phần mềm? 63 Câu 45 Nêu các bước của chiến lược kiểm thử thời gian thực và giải thích nội dung của mỗi bước? 64 Câu 46 Có những loại công cụ tự động nào trợ giúp kiểm thử, mô tả nội dung của mỗi loại? 66 Câu 47 Ai là người phải tham gia kiểm thử phần mềm? Nêu vai trò và trách nhiệm của mối đối tượng? 67 3.2 Các phương pháp kiểm thử 67
a Kiểm thử hộp trắng 67 Câu 48 Kiểm thử hộp trắng dựa trên cơ sơ nào để thiết kế ca kiểm thử? Thiết kế ca kiểm thử phải đảm bảo điều kiện gì? 68 Câu 49 Đồ thị dòng gồm những yếu tố nào? Xây dựng nó dựa vào đâu? Nó có đặc trưng gì? Đồ thị dòng dùng để làm gì? 68 Câu 50 Con đường cơ bản trong đồ thị dòng là cái gì? Độ phức tạp của chu trình là gì? Nêu các công thức tính độ phức tạp? 69 Câu 51 Ma trận kiểm thử được cấu trúc như thế nào? Nó được dùng để làm gì? 70 Câu 52 Nêu các loại điều kiện trong cấu trúc điều khiển và cho ví dụ? Có những loại sai nào trong điều kiện khi kiểm thử? 71 Câu 53 Chiến lược kiểm thử phân nhánh nghĩa là gì? Yêu cầu đặt ra cho kiểm thử phân nhánh là gì? 72 Câu 54 Chiến lược kiểm thử miền là cái gì? Nó dựa trên tư tưởng nào? 72 Câu 55 Chiến lược kiểm thử BRO là cái gì? Nó dựa trên tư tưởng nào? 73 Câu 56 Lấy ví dụ về các điều kiện "ràng buộc đầu ra" cho các trường hợp: 1 biến Bool, hợp của biến Bool và biểu thức quan hệ, hợp của hai biểu thức quan hệ? 74 Câu 57 Kiểm thử điều khiển dòng dữ liệu nghĩa là gì? Cho ví dụ? 74
Trang 5Câu 58 Kiểm thử điều khiển vòng lặp nghĩa là gì? Cho ví dụ? 77
b Kiểm thử hộp đen 78 Câ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ó? 78 Câu 60 Trình bày phương pháp phân hoạch: 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? 79 Câu 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ì? 80 Câu 62 Kỹ thuật nhân quả nghĩa là gì? Nêu các bước của kỹ thuật này? 80 Câu 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? 81
c Kiểm thử đơn vị 82 Câu 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? 82 Câu 65 Hoạt động kiểm thử đơn vị gồm những nội dung gì? Nó liên quan đến những nhân tố nào? Nêu một vài câu hỏi kiểm thử cho các nhân tố đó? 83
d Kiểm thử tích hợp 86 Câu 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? 86 Câu 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? 87 Câu 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? 88 Câu 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? 89 Câu 71 Các tài liệu kiểm thử tích hợp gồm những loại gì? 89
e Kiểm thử hệ thống 91 Câu 72 Kiểm thử Beta là cái gì? Kiểm thử Alpha là cái gì? Nêu sự giống và khác nhau
cơ bản giữa chúng? 91 Câu 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? 92
Trang 6Câu 76 Kiểm thử áp lực là gì? 94 Câu 77 Kiểm thử thi hành là gì? 95 Câu 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ì?
96
Câu 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? 97
f Quản lý cấu hình 98 Câu 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ì? 98 Câu 81 Cấu hình phần mềm được hiểu 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ì? 99 Câu 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ì?
102
Câu 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? 102 Câu 84 Trình bày tiến trình kiểm soát sự thay đổi? 103 Câu 85 Phiên bản là cái gì? Làm thế nào để kiểm soát các phiên bản? 104 Câu 86 Kiểm toán cấu hình phần mềm nghĩa là gì? Hoạt động kiểm toán cần trả lời những câu hỏi gì? 105 Câu 87 Báo cáo hiện trạng nghĩa là gì? Nó cần trả lời được những câu hỏi gì? Đầu ra của báo cáo hiện trang dành cho ai? Mục tiêu của nó là gì? 105
Trang 7CÂU HỎI ÔN TẬP KỸ NGHỆ PHẦN MỀM NÂNG CAO
1 Chất lượng và đảm bảo chất lượng phần mềm
1.1 Khái niệm về đảm bảo chất lượng
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 đó?
- Chất lượng của sản phẩm được thể hiện bằng các đặc trưng phù hợp với các đặc tả của
nó
- Định nghĩa này là chung cho mọi sản phẩm Với phần mềm có một số vấn đề:
• Phần mềm có yêu cầu mà chưa có đặc tả
• Phần mềm có đặc tả nhưng lại mù mờ
• Có những yêu cầu tự nhiên nên không được đặc tả
- Chất lượng phần mềm là:
• việc tuân thủ các yêu cầu chức năng và sự hoàn thiện đã được phát biểu tường minh
• các chuẩn phát triển đã được tư liệu hoá tường minh
• các đặc trưng không tường minh được trông đợi từ tất cả các phần mềm đã được pháttriển theo cách chuyên nghiệp:
Theo quan điểm của người phát triển thì một phần mềm tốt là một phần mềm ít lỗi Đóchính là chất lượng của chương trình Vấn đề là làm thế nào để chương trình chạy giốngnhư thiết kế Chất lượng của phần mềm theo quan điểm này chính là quan điểm chấtlượng theo kiểu lập trình Nguời ta cũng gọi chất luợng này là chất lượng theo nghĩa cần
Trang 8thiết vì nó phản ánh cái bắt buộc phải làm có tính nguyên tắc mặc dù nói chung nguời takhông đạt được
Đã có một sự thay đổi lớn trong cách quan niệm chất lượng của phần mềm Theo quanđiểm của khách hàng, phần mềm tốt là phần mềm đáp ứng tốt yêu cầu của khách hàng và
dễ dùng, dễ bảo trì Đó là chất lượng theo quan điểm thiết kế Vấn đề là làm thế nào đểthiết kế đáp ứng đúng nhu cầu của người sử dụng Người ta cũng nói đó là chất lượngtheo nghĩa hấp dẫn vì nó hướng tới người dùng
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, đượchiể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ớicá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ảnphấ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:
• 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ướngdẫ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ắcchắn là chất lượng sẽ kém
Trang 9- 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ầungầ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ẩnphá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
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?
- Có 2 loại mức độ ảnh hưởng
• Nhân tố trực tiếp
• Nhân tố gián tiếp
- Có 3 loại nhân tố ảnh hưởng đến chất lượng
• Đặc trưng chức năng
• Khả năng đương đầu với những thay đổi
• Khả năng thích nghi với môi trường mới
Trang 10Câ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?
• McCall đề xuất 11 nhân tố và phân thành 3 loại:
(1) đặc trư¬ng chức năng
(2) khả năng đ¬ương đầu với những thay đổi
(3) khả năng thích nghi với môi trư¬ờng mới
• Loại 1: Các đặc trưng chức năng - (5)
(1) Tính đúng đắn
- Có làm đúng với cái tôi muốn hay không?
- Có thỏa mãn những điều đã được đặc tả chưa?
- Có thực hiện được những mục tiêu nhiệm vụ của khách hàng chưa?
Các độ đo liên quan:
o Độ đầy đủ
o Độ hòa hợp
o Độ lần vết được
(2) Tính tin tưởng được
- Có thể trông đợi vào sự thực hiện các chức năng dự kiến
- Mức chính xác được đòi hỏi
Các độ đo liên quan:
Trang 11Các độ đo liên quan:
o Độ kiểm toán được
o Trang bị đồ nghề đủ
o Độ an ninh
Trang 12 (5) 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ủachương trình
Các độ đo liên quan:
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)
(1)Tính bảo trì đư¬ợc: nỗ lực đòi hỏi để định vị và xác định được một lỗi trong chươngtrình là chấp nhận được
Các độ đo liên quan:
o Độ đơn giản - dễ hiểu
(2) Tính mềm dẻo: nỗ lực đòi hỏi để cải biên một chương trình là chấp nhận được Các độ đo liên quan:
o Độ phức tạp
o Độ súc tích
o Độ hoà hợp
Trang 13o Độ 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
(3) Tính kiểm thử đ¬ược: nỗ lực cần để kiểm thử một chương trình và bảo đảm rằng nóthực hiện đúng chức năng được dự định là chấp nhận được
Các độ đo liên quan:
o Độ kiểm toán đư¬ợc
o Độ phức tạp
o Trang bị đồ nghề đủ
o Độ mođun hoá
o Độ tự cấp tài liệu
o Độ đơn giản - dễ hiểu
• Loại 3: khả năng thích nghi với môi trư¬ờng mới - (3)
(1) Tính mang chuyển đ¬ược: nỗ lực đòi hỏi để chuyển nó từ một môi trường phần cứng/phần mềm này sang một môi trường phần cứng/phần mềm khác
Các độ đo liên quan:
o Độ khái quát
o Độ độc lập phần cứng
Trang 14o Độ đo mođun hoá
o Độ đo mođun hoá
o Độ tự tạo tài liệu
Trang 15 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ì
Hiệu quả thực hiện x
Khuyếch trương được x
Độc lập phần cứng x x
Trang bị đủ đồ nghề X x x
Đo Modul hóa x x x x x x x
Dễ thao tác x x
Trang 16An ninh X
Tự tạo tài liệu x x x x x
Đơn giản - Dễ hiểu x x x x
Nhân tố trực tiếp: có thể trực tiếp đo như lỗi/KLOC/ đơn vị thời gian
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ó?
• McCall đề xuất 22 độ đo sau:
(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ôngchuẩ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
Trang 17(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
(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à
(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ôngkhó khăn
Trang 18(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áctính năng ngôn ngữ lập trình, các đặc trưng hệ điều hành và những ràng buộc môi trườngkhông chuẩn khác
(21) Độ lần vết đư¬ợc: khả năng theo dõi các dấu vết của một biểu diễn thiết kế hay thànhphần của chương trình thực hiện so với yêu cầu
(22) Độ đo khả năng huấn luyện: Mức độ theo đó phần mềm trợ giúp làm cho người dùngmới dùng được hệ thống
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 đó:
(1) Tính đúng đắn
- Làm đúng với khách hàng mong muốn
- Có thỏa mãn những điều đã được đặc tả (những yêu cầu của đối tượng khác)
Các độ đo liên quan:
o Độ đầy đủ
o Độ hòa hợp
o Độ lần vết được
(2) Tính tin cậy được
- Có thể trông đợi vào sự thực hiện các chức năng dự kiến
- mức chính xác được đòi hỏi
Các độ đo liên quan:
o Độ chính xác
Trang 19Các độ đo liên quan:
o Độ kiểm toán được
o Trang bị đồ nghề đủ
o Độ an ninh
(5) 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ủachương trình là chấp nhận nhận được
Trang 20Các độ đo liên quan:
o Độ dễ thao tác
o Độ đo khả năng huấn luyện
(6) 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
o Độ đơn giản - dễ hiểu
(7) 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
Các độ đo liên quan:
Trang 21o Độ mođun hoá
o Độ tự cấp tài liệu
o Độ đơn giản - dễ hiểu
(8) Tính kiểm thử đ¬ược: nỗ lực cần để kiểm thử 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
Các độ đo liên quan:
o Độ kiểm toán đư¬ợc
o Độ phức tạ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
(9) Tính mang chuyển đ¬ược: nỗ lực đòi hỏi để chuyển nó từ một môi trường phầncứng/phần mềm này sang một môi trường phần cứng/phần mềm khác là chấp nhận được Các độ đo liên quan:
Trang 22(10) Tính sử dụng lại đ¬ược: khả năng chương trình (hoặc một phần của nó) có thể đượcdùng lại trong một ứng dụng khác
Các độ đo liên quan:
o Độ khái quát
o Độ độc lập phần cứng
o Độ đo mođun hoá
o Độ tự tạo tài liệu
o Độ độc lập hệ thống phần mềm
(11) Tính liên tác đư¬ợc: nỗ lực đòi hỏi để ghép hệ thống chương trình vào một hệ thốngkhác là chấp nhận được
Các độ đo liên quan:
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â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
Các đặc trưng chất lượng FURPS của Hawlett-Packard 1
- F: Functionality - Nhân tố chức năng
Trang 23Được định giá 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átcác chức năng được thực hiện và độ an ninh của toàn hệ thống
+ 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
- P: Performance - 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
- Supportability - Nhân tố mang chuyển
Đánh giá bằng tổ hợp các khả năng:
Trang 241.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ào?
a) Đảm bảo chất lượng phần mềm xuất phát từ:
(1) Khi phần mềm trở thành sản phẩm có nhu cầu và đòi hỏi đảm bảo chất lượng:
• Từ nhu cầu của khách hàng (nhu cầu)
• Từ nhà sản xuất: đảm bảo tính đồng đều của sản phẩm, cải thiện chất lượng thườngxuyên
(2) Từ thực tiễn: Kinh nghiệm cho phép hoạtk động đảm bảo chất lượng phần mềm ngàycàng được hoàn thiện Hiểu về vai trò của nó và tăng thêm các hoạt động đảm bảo chấtlượng
b) Sự phát triển của SQA
• 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 rasản phẩm đ¬ược ngư¬ời khác dùng
Trang 25• Lịch sử bảo đảm chất lư¬ợng phần mềm (SQA) diễn ra song song với bảo đảm chất ượng trong chế tạo phần cứng
l-• Các chuẩn bảo đảm chất lư¬ợng phần mềm đầu tiên đư¬ợc đư¬a ra trong quân sự, thờinhững năm 70 và nhanh chóng lan ra lĩnh vực th¬ương mại
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?
Đả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
• Phải đảm bảo chất lượng phần mềm vì:
• Từ nhu cầu của khách hàng
• Từ nhà sản xuất: đảm bảo tính đồng đều của sản phẩm làm ra
• Giúp nhà phân tích có được đặc tả chất lượng cao
• Giúp nhà thiết kế có được thiết kế chất lượng cao
• Theo dõi chất lượng phần mềm
• Đánh giá ảnh hưởng của thay đổi về phương pháp luận và thủ tục lên chất lượng phầnmềm
• SQA có những lợi ích sau:
- Phần mềm có ít các khiếm khuyết tiềm ẩn hơn và do đó mất ít công sức và thời gian kiểmthử và bảo trì
- Độ tin cậy cao hơn và do đó khách hàng thoả mãn hơn
- Giảm phí tổn bảo trì
Trang 26- Giảm phí tổn tổng thể toàn bộ vòng đời của phần mềm
• SQA đóng vai trò trong một doanh nghiệp phát triển phần mềm:
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 rasả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, những ai 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,
- Thành viê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ớiquan đ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?
Trang 27• 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 độngSQA?
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ông nghệ kĩ thuật hiệu quả (phương pháp, công cụ)
(2) Tiến hành rà soát kỹ thuật chính thức
(3) Thực hiện kiểm thử nhiều tầng
(4) Tuân theo các chuẩn phát triển
(5) Kiểm soát tài liệu Fm và thay đổi của chúng
(6) Thực hiện đo l¬ường
(7) Báo cáo và bảo quản lý các báo cáo
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?
(1) Áp dụng công nghệ kĩ thuật hiệu quả (phương pháp, công cụ) giúp để:
- người phân tích có được đặc tả chất lượng cao
- người thiết kế có được thiết kế với chất lượng cao
(2) Tiến hành rà soát kỹ thuật chính thức: tác dụng không kém gì kiểm thử để phát hiệnkhiếm khuyết
Trang 28(3) Kiểm thử phần mềm: là một chiến lược nhiều bước với một loạt các phương pháp thiết
kế các trường hợp kiểm thử giúp đảm bảo phát hiện ra các lỗi một cách hiệu quả Tuynhiên, chỉ kiểm thử phần mềm không thể tìm ra được hầu hết các sai
(4) Tuân theo các chuẩn và các thủ tục chính thức là nhu cầu và điều kiện cho SQA Tuynhiên còn tuỳ thuộc mỗi công ty Có 2 loại chuẩn và thử tục: do khách hàng hay chínhquyền quy định; tự công ty đặt ra
- Đánh gí sự phù hợp với các chuẩn là một phần của việc rà soát chính thức
- Khi cần phải kiểm chứng (verification) sự phù hợp, nhóm SQA có thể tiến hành kiểm toán(audit) riêng
(5) Khống chế các thay đổi: đóng góp trực tiếp vào chất lượng phần mềm nhờ
+ Chính thức hoá các yêu cầu đổi thay
+ Đánh giá bản chất của sự đổi thay
+ Khống chế các ảnh hưởng của sự đổi thay
+ Đe doạ chủ yếu của chất lượng đến từ sự thay đổi, thay đổi là bản chất của phần mềm + Thay đổi tạo ra tiềm năng sinh ra sai và tạo ra hiệu ứng phụ lan truyền
- Khống chế thay đổi áp dụng trong suốt quá trình phát triển và trong quá trình bảo trì
(6) Thực hiện đo l¬ường: dùng để theo dõi chất lượng phần mềm đánh giá ảnh hưởngnhững thay đổi phương pháp luận và thủ tục lên chất lượng phần mềm đã được cải tiến
- Các độ đo phần mềm hướng đến 2 mặt: quản lý (thủ tục); kĩ thuật (phương pháp)
(7) Báo cáo và bảo quản lý các báo cáo:
- Lập và lưu trữ báo cáo về SQA: phổ biến các thông tin SQA (người cần có thể biết); cungcấp các thủ tục để thu thập thông tin
Trang 29- Đối tượng báo cáo là kết quả của các hoạt động SQA: rà soát, kiểm toán, khống chế đổithay, kiểm thử và các hoạt động SQA khác
- Người phát triển sử dụng theo quy tắc "cần-thì-biết" trong suốt quá trình dự án
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?Nếu không thực hiện rà soát thì sao?
• 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
• 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ìnhphầ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
Trang 30• 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ỗikhông được phát hiện trong thiết kế tốn phí 1.0 để sửa chữa, trước kiểm kiểm thử: 6.5;trong kiểm thử: 15 và sau khi phân phối 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?
• Phát hiện các lỗi trong chức năng, trong logic, trong triển khai (implementation)
• Kiểm thử sự phù hợp của phần mềm với yêu cầu
• Khẳng định phần đã đạt yêu cầu
• Bảo đảm rằng phần mềm phù hợp với các chuẩn đã định sẵn
• Đảm bảo " phần mềm đã được phát triển theo một cách thức nhất quán" (uniformmanner)
• Làm cho dự án dễ quản lý hơn
Trang 31• Ngoài ra dùng để làm cơ sở huấn luyện các kỹ sư trẻ và có ích ngay cả cho những kỹ sư
- Lãnh đạo dự án thông báo cho người chịu trách nhiệm rà soát biết
- Người chịu trách nhiệm lãnh đạo rà soát:
• Xem xét sản phẩm để đọc, rà soát
• Tạo ra các bản sao của sản phẩm, phân cho 2,3 người ra soát
• Thiết lập chương trình họp rà soát
- Những thực hiện rà soát: thường tốn 1-2 giờ để rà soát viết các bản ghi chú; tham giacuộc họp rà soát
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?
Bất kể thế nào, mọi cuộc họp rà soát phải:
• Thành phần: Có từ 3 đến 5 ngư¬ời liên quan tới việc rà soát, gồm có:
• lãnh đạo rà soá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
Trang 32• Thời gian:
• 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ể
- 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ậntiếp tục
Trang 33(4) Trình bày rõ ràng mạch lạc các vùng có vấn đề nhưng không gượng ép giải quyết mọivấ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 (5) Nên có ghi chú trên bảng tường
(6) Giới hạn số người tham dự và kiên trì các dự kiến
(7) Lập một danh sách các kiểm tra (checklist) cho từng sản phẩm sẽ được rà soát:
Giúp nhà lãnh đạo rà soát cấu trúc các cuộc họp FTR
Giúp người rà soát tập trung vào các vấn đề quan trọng
Danh sách kiểm tra lập cho từng loại sản phẩm: phân tích, thiết kế, mã hoá kiểm tra vàbảo trì
Một tập thể các đại diện sẽ xem lại danh sách này để trình
(8) Cấp phát nguồn lực và thời biểu cho các FTR: xem nó là một nhiệm vụ trong quá trìnhphát triển phần mềm, và cũng phải dự tính các cải biên cần thiết cho sự kiện chưa dự đoánđược (sẽ xuất hiện do một FTR)
(9) Cần phải tiến hành huấn luyện chính thức cho cá nhân ra soát
(10) Rà soát lại các rà soát trước đây
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 đó?
• Sản phẩm của cuộc họp rà soát là:
Báo cáo các vấn đề nảy sinh do các cá nhân rà soát nêu ra
Một danh sách các vấn đề cần giải quyết do cuộc họp thống nhất
Trang 34 Một văn bản tổng kết cuộc họp rà soát đó
Nội dung, vai trò của mỗi sản phẩm:
• Bản danh sách các vấn đề tồn tại
Nhận ra vùng có vấn đề trong sản phẩm được rà soát
Dùng như một danh sách các khoản mục hành động để chỉ cho người làm ra sản phẩmcần chỉnh sửa
Thiết lập thủ tục để bảo đảm rằng các khoản mục trong danh sách đó sẽ được chỉnh sửathực sự
• Một văn bản tổng kết cuộc họp rà soát đó, văn bản này phải chỉ rõ
Rà soát cái gì?
Ai rà soát?
Tìm thấy cái gì? và kết luận
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ì
- Mọi sản phẩm tạo ra ở mỗi bước đều được rà soát (không chỉ sản phẩm cuối 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 (lập kế hoạch triển khai)
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
Trang 35 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
a) 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ộchọ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 haych¬ư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ử haych¬ưa?
(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ó sự hoà hợp giữa các phần tử của hệ thống hay chư¬a?
(8) Cơ chế kiểm chứng và thẩm duyệt đã đư¬ợc thiết lập hay chư¬a?
b) 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ácnội dung chủ yếu:
+ Phạm vi công việc kiểm tra thực hiện
Trang 36+ Ướ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
+ Đánh giá rủi ro và kế hoạch khắc phục
+ Các kế hoach khác
Danh mục rà soát:
(1) Phạm vi của phần mềm đã xác định đúng đắn chưa? có bị hạn chế hay không?
(2) Thuật ngữ có trong sáng không?
(3) Các nguồn lực (người, chi phí, thời gian): có đủ tư¬ơng xứng với phạm vi đó không?Các nguồn lực đã có sẵn sàng chư¬a?cơ sở dự đoán giá cả có hợp lý không? dữ liệunăng xuất và chất lượng trước đây có được sử dụng không? Sự khác biệt của ước lượng
đã được sử lý chưa?
(4) Các công việc lên lịch biểu đã: xác định thích hợp chưa? Sắp xếp trình tự thực hiệnđúng logic chưa? bố trí song song có phù hợp với các nguồn lực đã sẵn có hay không? (5) Phương án tổ chức và nhân sự đã hợp lý chưa?
(6) Các rủi ro trong tất cả các hạng mục quan trọng đã: xác định và đánh giá đầy đủ chưa?Lập kế hoạch quản lý và kế hoạch thích hợp chư¬a?
(7) Các nhiệm vụ đã thật sự đư¬ợc xác định và sắp xếp tuần tự chưa?, tính song song cóhợp lý đối với các nguồn lực đã sẵn có hay chưa?
(8) Ngân sách và giới hạn chót đư¬ợc dự kiến: có hiện thực hay không? có phù hợp vớilịch biểu không?
c) Rà soát phân tích yêu cầu phần mềm
Trang 37- Rà soát phân tích yêu cầu phần mềm: tập trung bào khả năng viết ra các yêu cầu hệthống; sự phù hợp và đúng đắn của mô hình phân tích
- Với các hệ thống lớn thì 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
- Các yêu cầu của hệ thống phần mềm: yêu cầu chức năng, yêu cầu phi chức năng, yêucầu ngoại lai
- Rà soát phân tích yêu cầu là phục vụ việc thẩm định và xác minh
• Nội dung thẩm định yêu cầu phần mềm:
- Phải chỉ ra các nhu cầu người dùng được thoả mãn chưa
- Các yêu cầu phải nhất quán: không mâu thuẫn nhau
- Các yêu cầu phải đầy đủ: phải chứa mọi chức năng và mọi ràng buộc mà người dùngnhắm đến
- Các yêu cầu phải hiện thực: có khả năng thực hiện được
- Sự tương hợp với mô hình hệ thống và kế hoạch triển khai
• Danh mục rà soát phân tích yêu cầu:
(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 không?
(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 quanhệ?
(5) Tất cả các yêu cầu có thể lần vết đư¬ợc ở mức hệ thống không?
Trang 38(6) Đã làm bản mẫu dành cho người sử dụng (khách hàng) chư¬a?
(7) 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 haykhô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?
d) 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
Cấu trúc tốt (phân hoạch, giao diện, modul hoá)
Thuật toán tốt (ít phức tạp, tốc độ cao, dễ hiểu)
Dữ liệu tốt (cấu trúc, biểu diễn)
Có thể lần vết được (dễ hiểu, dễ kiểm tra)
• Nội dung:
Rà soát kỹ thuật chính thức cho khâu thiết kế tập trung vào:
thiết kế dữ liệu
Trang 39 thiết kế kiến trúc
thiết kế thủ tục
Có 2 kiểu rà soát thiết kế (phù hợp với 2 bước triển khai):
rà soát thiết kế sơ bộ - preliminary design review (đánh giá việc dịch các yêu cầu thànhthiết kế dữ liệu và thiết kế kiến trúc),
rà soát thiết kế trọn vẹn - design walkthrough (tập trung vào tính đúng đắn của thuậttoán, gaio diện cấu trúc DL)
• Danh mục rà roát
Rà soát thiết kế sơ bộ
(1) Các yêu cầu phần mềm có đ¬ược phản ánh trong kiến trúc phần mềm hay không? (2) Có đạt đ¬ược sự modul hoá hiệu quả không?
(3) Các modul có độc lập chức năng hay không
(4) Kiến trúc ch¬ương trình có đư¬ợc phân tách cấu trúc không?
(5) Các giao diện đã đư¬ợc xác định cho các modul và các phần tử hệ thống ngoại laich¬ưa?
(6) Cấu trúc dữ liệu có phù hợp với lĩnh vực thông tin chưa?
(7) Cấu trúc dữ liệu có phù hợp với yêu cầu phần mềm ch¬ưa?
(8) Khả năng bảo trì đã đư¬ợc xem xét chư¬a?
(9) Các nhân tố chất l¬ượng đã đ¬ược đánh giá rõ ràng chưa?
Rà soát thiết kế toàn bộ
Trang 40(1) Thuật toán có hoàn thành chức năng mong muốn không?
(2) Thuật toán có đúng đắn logic không?
(3) Giao diện có phù hợp với thiết kế kiến trúc không?
(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) Nguyên lý 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 hệ điều hành hay ldùng các đặc trưng độc lập ngôn ngữ?
(10) Có dùng logic component hoặc logic inverse?
(11) Khả năng bảo trì đã đ¬ược xét tới chưa
e) 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ó phong cách tốt: cấu trúc, nhất quán, địnhdạng chuẩn )
• Danh mục rà soát
(1) Thiết kế đã thực sự đ¬ược dịch thành mã chư¬a?