Đề Cương Môn Đảm Bảo Chất Lượng Phần Mềm , môn chuyên đề Đề Cương Môn Đảm Bảo Chất Lượng Phần Mềm , môn chuyên đề Đề Cương Môn Đảm Bảo Chất Lượng Phần Mềm , môn chuyên đề Đề Cương Môn Đảm Bảo Chất Lượng Phần Mềm , môn chuyên đề Đề Cương Môn Đảm Bảo Chất Lượng Phần Mềm , môn chuyên đề
Câu 1: Chất lượng phần mềm là gì? Cái gì được dùng để làm cơ sở kiểm định chất lượng phần mềm? a. Chất lượng phần mềm: - 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 hóa tường minh. - Các đặc trưng ko tường minh được trông đợi từ tất cả các phần mềm đã được phát triên theo cách chuyên nghiệp. • Theo quan điểm của nhà phát triển phần mềm, nhà lập trình thì một phần mềm được coi là tốt khi phần mềm đó ít lỗi, đây chính là chất lượng của chương trình. Và làm thế nào để chương trình chạy ít lỗi. • Theo quan điểm của khác hàng (quan điểm thiết kế) phầm mềm tốt là phần mềm đáp ứng được nhu cầu, mục đích sử dụng, dễ sử dụng , dễ bảo trì. • Chất lượng của phần mềm còn được hiểu là độ tin cậy, tính chính xác và độ an toàn của phần mềm. b. Cái gì được dùng để làm cơ sở kiểm định chất lượng phần mềm: - Y/C PM là cơ sở để đo chất lượng phần mềm. + Sự phù hợp với yêu cầu là có chất lượng. + Phù hợp y/c cả về số lượng và chất lượng. - y/c thể hiện đặ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 t/c 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 skhoong tuân thủ theo các chuẩn đó thfi hầu như và chắc chắn là chất lượng sẽ kém. - Luôn có 1 tập hợp các y/c ngầm thường ít được nhắc đến. + quá thông dụng, hiển nhiên (sử dụng cử số). + không thể hiển ra ngoài (quy tắc nghiệm vụ). - Nếu pm chỉ phù hợp với các y/c hiển thị mà chưa phù hơp với các y/c ngầm thì p/m đó là đáng nghi ngờ. - Cần làm ro các y/c và đưa vào đặc tả càng nhiều càng tốt. 1 Câu 2: Có thể đo trực tiếp chất lượng phần mềm không? Tại sao? Bằng cách nào? Có thể đo trực tiếp chất lượng phần mềm, thông qua nhân tố trực tiếp KLOC (KLOC – Kilo Line Of Code). Bởi vì: Theo McCall đề xuất thì có tới 11 nhân tố ảnh hưởng đến chất lựơng phân mềm, trong đó nó được chia ra làm 3 loại chính: - Loại 1: Đặc trưng về chức năng (5 nhân tố). - Loại 2: Khả năng đương đầu với những thay đổi (3 nhân tố). - Loại 3: Khả năng thích nghi với môi trường mới (3 nhân tố). Trong đó nhân tố trực tiếp ở loại 3 sẽ tác động trực tiếp đến chất lượng phần mềm.đó là số lỗi gặp phải của chương trình/KLOC/đơn vị thời gian.Chương trình luôn luôn có lỗi.Những lỗi của chương trình được thể hiện ở ngay trên những dòng code, đó là những lệnh sai mà người lập trình mắc phải. Trong đó KLOC là thước đo kích thước của một chương trình máy tính. Kích thước được xác định bằng cách đo số lượng các dòng mã nguồn một chương trình có. Ngôn ngữ cao cấp như C++, sẽ tổng hợp thành dòng mã máy hơn một ngôn ngữ lắp ráp, C++ là một ngôn ngữ cấp thấp. Câu 3: Độ tin cậy của phần mềm là gì? Đo độ tin cậy của phần mềm như thế nào? Giải thích? a. Độ tin cậy của phần mềm là: - Độ tin cậy của phần mềm là một trong những yêu tố quan trọng trong chất lượng phần mềm. - Độ tin cậy của phần mềm được định nghĩa theo ngôn ngữ thống kê:”Xác suất thao tác không thất bại của chương trình máy tính trong một môi trường đặc biệt với một thời gian xác định rõ”. b. Đo độ tin cậy của phần mềm bằng cách: - Đo trực tiếp và được đánh giá qua các dữ liệu phát triển và dữ liệu lịch sử. + Tính xác xuất xuất hiện thành công hay thất bại. + Đo độ dài khoảng thời gian trung bình giữa 2 lần thất bại liên tiếp. 2 + Khả năng sẵn sang hoạt động lại của hệ thống. - Để đo tính tin cậy của phần mềm người ta dung công thức MTBF = MTTF + MTTR Trong đó: MTBF: thời gian trung bình giữa các hỏng hóc. MTTF: Thời gian hỏng hóc. MTTR: Thơi gian sửa chữa. Tính sẵn có của phần mềm được xác định bởi Tính sẵn có = MTTF / (MTTF + MTTR) * 100 c. Giải thích: - Ví dụ ta có 1 chương trình X với ước lượng có độ tin cậy là 96% và được thực hiện trong 8h. trong một trường hợp khác chương trình đó phải thực hiện 100 công việc trong 8h và số công việc thực hiện thành công là 96. Câu 4: Trình bày quá trình đo độ tin cậy của phần mềm. - Xác định sư lược hoạt động: Đầu tiên bạn nghiên cứu các hệ thống tồn tại của các kiểu như nhau để đưa ra mô tả sơ lược về hoạt động. Mô tả sơ lược hoạt động nhận biết loại đầu vào hệ thống và xác xuất xuất hiện các đầu vào này trong trường hợp bình thường. - Chuẩn bị tập dữ liệu kiểm thử: Sau đó, bạn thiết đặt tâp các dữ liệu kiểm thử để phản ánh mô tả sơ lược hoạt động. Có ý nghĩa là bạn tạo ra bộ dữ liệu kiểm thử với xác xuất như nhau (dữ liệu cho hệ thống mà bạn đã nghiên cứu). thông thường bạn sử dụng máy sinh dữ liệu để sinh ra bộ dữ liệu kiểm thử này. - Áp dụng các dữ liệu vào để kiểm thử hệ thống: bạn sử dụng dữ liệu đã được sinh ra ở trên và đếm các lỗi sinh ra. Các lỗi sinh ra này cũng được ghi nhận. - Tính toán độ tin cậy: tiến hành thống kê xem số lỗi sinh ra và từ đó tính toán được độ tin cậy của phần mềm thông qua cách tính giá trị đo độ tin cậy. 3 Câu 5: những khó khan khi đo độ tin cậy của phàn mềm là gì? Không chắc chắn mô tả sơ lược hoạt động: mô tả sư lược hoạt động dựa trên kinh nghiệm, với các: 1. hệ thống khác có thể không phản ánh chính xác thực tê sử dụng của hệ thống. 2. Giá trị cao của dữ liệu kiểm thử sinh ra: để sinh ra mộ bộ dữ liệu kiểm tra như vậy sẽ tốn rất nhiều thời gian và tiền bạc, giá trị bộ dữ liệu sinh ra khi đó rấtự đắt.trừ khi quá trình này sinh ra là tự động. 3. Thống kê không chắc chắn khi yêu cầu tính tin cậy cao được chỉ ra: Bạn phải sinh mộ số lượng thống kê quan trọng các sai sót để cho phép đo độ tin cậy chính xác. Khi phần mềm đã được xác thực tính tin cậy, một vài sai sót liên quan xuất hiện và nó khó khan để sinh ra sai sót mới. 4. Phát triển mô tả sơ lược thao tác chính xac chắc chắn có thể với vài kiểu thệ thống, như hệ thống truyền thông có một mẫu tiêu chuẩn hóa được sử dụng. Tuy nhiên, với các loại hệ thống khác cố rất nhiều người sử dunjgk hác nhau, mỗi người có một cách riêng khi sử dụng hệ thống. những người dùng khác nhau sẽ có những ấn tượng khác nhau về độ tin cậy vì họ sử dụng thống theo những cách khác nhau. Câu 6: Những mô hình dự đoán tính tin cậy. Có 5 mô hình dự đoán độ tin cậy của phần mềm: - Mô hình tiên đoán độ tin cậy của phần mềm như là một hàm của thời gian lịch. - Mô hình tiên đoán độ tin cậy như là một hàm thời gian xử lý đã trôi qua(thời gian vận hành của CPU). - Mô hình sử dụng phương pháp kịch bản (Scenarios) để dự đoán độ tin cậy cảu phần mềm. - Mô hình tin cậy hướng người sử dụng Cheung - Mô hình sử dụng kịch bản và chuỗi Markov. 4 Câu 7: Nguyên lý của luận chứng tính an toàn của phần mềm. Hầu hết các kĩ thuật hiệu quả để chứng mìh tính an toàn của hệ thống là chứng minh bằng phản chứng. Bắt đầu vớ giả thiết rằng trạng thái ban đầu không an toàn đã được xác định bằng phân tích rủi ro của hệ thống, có thể được đi đến khi chương trình thực thi. Bạn viết một thuộc tính để xác định đó là trạng thái không an toàn. Sau đó, một cách có hệ thống, bạn phân tích mã chương trình và chỉ ra, với tất cả các đường dẫn chương tình dẫn tới trạng thái đó, điều kiện kết thúc của các đường dẫn đó ma thuân với thuộc tính trạng thái không an toàn. Nếu trường hợp đó xảy ra, giả thiết ban đầu của trạng thái không an toàn là không đúng. Làm lại điều đó nhiefu lần với các định danh được cho là rủi ro thì phần mềm đó là an toàn. Để xây dựng những luận chứng về tính ant oàn, bạn xác định điều kiện cho trạng thái không an toàn, trong trường hợp đó như là currentDose > maxDose. Sau đó, bạn chứng mình rằng tất cả các đường dẫn chương tình đa đến sự mâu thuẫn của điều khẳng định tính không an toàn đó. Nếu đó là một trường hợp, điều kiện không an toàn không thể đúng. Do đó, hệ thống là an toàn. Bạn có thể cấu trúc và đa ra những luận chứng về tính an toàn bằng đồ thị như hình dưới. 5 6 Trong các luận chứng về tính an toàn chỉ ra trên hình có ba đường dẫn chương trình có thể dẫn tới việc gọi tới phương thức administerInsulin. Điều cần chứng mình rằng lượng insulin phân phối không bao giờ vượt quá maxDose. Tất cả các đường dẫn chương tình có thể dẫn tới phương thức administerInsulin đã được xem xét: 1. Không có nhánh nào của câu lệnh if thứ 2 được thực thi. Nó chỉ có thể xảy re nếu một trong hai điều sau xảy ra: currentDose là lơn hơn hoặc bằng minimumDose và nhỏ hơn hoặc bằng maxDose. 2. Nhánh then của câu lệnh if thứ 2 được thực thi. Trong trường hợp đó, việc gán currentDose bằng 0 được thực thi. Do đó, hậ điều keienj đó là currentDose = 0. 3. Nhánh else-if của câu lệnh if thứ 2 được thực thi. Trong trường hợp đó, việc gán currentDose bằng maxDose được thực thi. Do đó, hậu điều kiện đó là currentDose = maxDose. Trong cả 3 trường hợp trên, các hậy điều kiện mâu thuẫn với các điều kiện và tính không an toàn lầ liều lượng thuốc được phần phói là nhiều hơn maxDose, vì vậy hệ thống là an toàn. Câu 8: các nội dung thuộc tính chất lượng phần mềm: 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ả (yêu cầu của đối tượng khác) 2. Tính tin cậy được: - Có thể trong đpị 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. 3. Tính hiệu quả: tổng lượng nguồn lực tính toàn và mã yêu càu khi thực hiện các chức năng của chương tình là thích hợp 4. Tính toàn vẹn là sự khống chế đơcj việc truy cập trái phép tới phần mềm và dữ liệu hệ thống 5. Tính khả dụng: công sức để đọ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 được. 7 6. Tính bảo trì được: nỗ lực cần để định vị và xác đinh được một lỗi trong chương tình là chấp nhận được. 7. Tính mềm deo: nỗ lực cần để cải biên một chương tình là chấp nhận được. 8. Tính kiểm thử được: nỗ lực cần để kiểm thử một chương tình và đảm bảo rằng nó thực hiện đúng chức năng dự địh là chấp nhận được. 9. Tính mang chuyển được: nỗ lực đòi hỏi để chuyển nó từ 1 môi trường phần cứng/ phần mmeef 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. 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ể được dùng lại trong mộ ứng dụng khác 11. Tính liên tác đượ: nỗ lực đòi hỏi để ghép hệ thoogns chương tình vào một hệ thống khác chập nhận được. Câu 9: tại sao phải đảm bảo chất lượng 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 hơn. Phải đảm bảo chất lượng phần mềm vì: - Từ nhu cầu của khác 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 ta 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ần mềm. - SQA có những lị ích sau: o 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ểm thử và bảo trì. o Độ tin cậy cao hơn và do đó khác hàng thỏa mãn hơn o Giảm phí tổn bảo trì. o 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: 8 + Đảm bảo 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 10: Các hoạt động chính của đảm bảo chất lượng phần mềm? Giải thích những hoạt động đó. 1. Áp dụng công nghệ kĩ thuật hiệu quả (phươg 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 ra soát kỹ thuật chính thức: tac dụng không kém gì kiểm thử để phát hiện khiếm khuyết. 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ác có hiệu quả. Tuy nhiện, chỉ kiểm thử pàn mềm không thể tìm ra được hầu hết các lỗi 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 SQS. Tuy nhiên còn tùy thuộc mỗi công ty. Có 2 loại chuẩn và thủ tục: do khác hàng hay chính quyền quy đinh và tự công ty đặt ra. - Đánh giá sự phù hợp với các chunar 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 gpops trực tiếp vào chất lượng phần mềm nhờ - Chính thức hóa 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 dọa 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 tron suốt quá trình phát triển và trong quá trình bảo trị. 9 6. Thực hiện đo lường: dùng để theo dỗi chất njgphanaf mềm đánh giá ảnh hưởng nhữ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 mmeef 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à 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); cung cấp các thủ tục để thu thập thông tin. - Đối tượng báo cáo là kết quả các hoạt động SQA: rà soát, kiểm tóa, khống chế đổi thay, kiểm thr 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. Câu 11: Rà soát (review) phần mềm là gì? Tại sao phải tiến hành rà soát phần mềm? a. Rà soát phần mềm là: - 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 phần 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ó diện mạo không đổi, ổn định) - 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. b. Phải tiến hành rà soát phần mềm vì: - 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. 10 [...]... liệu bảo trì - ♣ Các báo cáo những vấn đề phần mềm - ♣ Các yêu cầu bảo trì - ♣ Đặt thay đổi kỹ nghệ - ♣ Các chuẩn và các thủ tục cho kỹ nghệ phần mềm Câu 14:Quản Lý cấu hình phần mềm là gì? Trình bày các hoạt động của quản lý cấu hình phần mềm? Quản lý cấu hình phần mềm: + Là tập các hoạt động để quản lý các thay đổi trong suốt vòng đời phần mềm + Là một hoạt động đảm bảo chất lượng phần mềm, ... rà soát phần mềm? Danh mục rà soát từng giai đoạn trong quy trình sx phần mềm? Danh mục chính rà soát phần mềm -Rà soát trong kỹ nghệ hệ thống -Rà soát việc lập kế hoạch -Rà soát phân tích yêu cầu phần mềm -Rà soát thiết kế phần mềm (tương ứng với từng giai đoạn thiết kế) -Rà soát lập mã phần mềm -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ử) -Rà soát bảo trì phần mềm Danh... triển và tiến hoá của phần mềm b Nội dung của hoạt động quản lý cấu hình phần mềm: + Xác định các thay đổi + Kiểm soát các thay đổi + Đảm bảo các thay đổi đã được thực hiện + Báo cáo các thay đổi cho người quan tâm Quản lý cấu hình khác bảo trì phần mềm: - Bảo trì phần mềm là các hoạt động kỹ nghệ xuất hiện sau khi phân phối phần mềm và nó đi vào hoạt động a 17 - Quản lý cấu hình phần mềm là các hoạt động... án phát triển phần mềm và chỉ kết thúc khi mà phần mềm không hoạt động nữa Câu 15: Mục Tiêu của quản lý cấu hình là gì? Năm nhiệm vụ của quản lý cấu hình phần mềm: - Mục tiêu nguyên thuỷ của quản lý cấu hình phần mềm là kiểm soát các thay đổi - Sau này có thêm các mục tiêu: + Xác định các khoản mục cấu hình, các version của phần mềm + Kiểm toán cấu hình phần mềm cũng bảo đảm rằng phần mềm đã được phát... lại sự khả dụng về mặt chi phí, thời gian biểu, chức năng và chất lượng sản phẩm phần mềm Mô hình CMM và mô tả các nguyên tắc và các thực tiễn nằm bên trong tính “thành thục ” quá trình phần mềm và chủ ý giúp đỡ các công ty phần mềm hoàn thiện khả năng thuần thụ c quá trình sản xuất phần mềm, đi từ tự phát, hỗn độn tới các quá trình phần mềm thành thục, có kỷ luật Bằng việc thực hiện CMM các công ty... chủ yếu ở mức 4 tập trung vào thiết lập hiểu biết định lượng của cả quá trình sản xuất phần mềm và các sản phẩm phần mềm đang đượ c xây dựng Đó là Quản lý quá trình định lượng (Quantitative Process Management) và Quản lý chất lượng phần mềm 22 (Software Quality Management) Lực lượng lao động làm việc theo đội, nhóm và đượ c quản lý một cách định lượng Các KPA của level 4 chú trọng tới: + Chuẩn hóa thành... và các hoạt động đảm bảo chất lượng phần mềm cần được áp dụng 25 - Sau đó, đối tượng này được "check in" vào cơ sở dữ liệu & một cơ chế kiểm soát phiên bản được sử dụng - Quá trình "check in" và "check out" thực thi hai điều quan trọng của kiểm soát đổi thay là: kiểm soát truy cập và kiểm soát đồng bộ - Một bản sao của đối tượng đường mốc được cải biên Sau việc đảm bảo chất lượng phần mềm và kiểm thử... Model Integration, tức Chuẩn quản lý quy trình chất lượng CMM và CMMi là chuẩn quản lý quy trình chất lượng của các sản phẩm phần mềm được áp dụng cho từng loại hình công ty khác nhau Hay nói cách khác đây là các phương pháp phát triển hay sản xuất ra các sản phẩm phầm mềm CMM và CMMi là một bộ khung (framework)những chuẩn đề ra cho một tiến trình sản xuất phần mềm hiệu quả, mà nếu như các tổ chức áp dụng... (Quản trị hợp đồng phụ phần mềm) - Software Quality Assurance (Đảm bảo chất lượng sản phẩm) - Software Configuration Management (Quản trị cấu hình sản phẩm=> đúng yêu cầu của khách hàng không) Khi ta áp dụng Level 2, KPA 2(Software Project Planning), ta sẽ có những common feature(đặc điểm đặc trưng) như sau: + Mục tiêu(Goal): các hoạt động và những đề xuất của ột dự án phần mềm phải được lên kế hoạch... Các khoản mục cấu thành lên các thành phần của phần mềm được tạo ra như là những chế tác (artifact) của tiến trình kỹ nghệ phần mềm được tập hợp lại trong một cái tên chung gọi là CẤU HÌNH PHẦN MỀM Nội dung của các khoản mục đó là : - Các chế tác này có nhiều mức khác nhau: - + Bộ phận - tổng thể (phạm vi) - + Chưa hoàn thiện - hoàn thiện (theo tiến trình, chất lượng) 15 - + Ở các mức tiến hoá khác . ♣ Kiểm soát thay đổi ♣ Kiểm toán cấu hình ♣ Báo cáo thay đổi Câu 16: Phiên bản là gì? Làm thế nào để kiểm soát phiên bản phần mềm? a. Phiên bản là: - Phiên bản là một thực thể mới của một. Những mô hình dự đoán tính tin cậy. Có 5 mô hình dự đoán độ tin cậy của phần mềm: - Mô hình tiên đoán độ tin cậy của phần mềm như là một hàm của thời gian lịch. - Mô hình tiên đoán độ tin cậy như. 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 t/c 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 skhoong tuân thủ theo các chuẩn đó