Bài giảng Công nghệ phần mềm - Chương 4: Quản lý chất lượng phần mềm - Phạm Đào Minh Vũ
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Công nghệ phần mềm - Chương 4: Quản lý chất lượng phần mềm - Phạm Đào Minh Vũ", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Tài liệu đính kèm:
- bai_giang_cong_nghe_phan_mem_chuong_4_quan_ly_chat_luong_pha.pdf
Nội dung text: Bài giảng Công nghệ phần mềm - Chương 4: Quản lý chất lượng phần mềm - Phạm Đào Minh Vũ
- CHƢƠNG 4. QUẢN LÝ CHẤT LƢỢNG PHẦN MỀM (SOFTWARE QUALITY MANAGEMENT) 168
- Khái niệm Quản lý chất lượng (software quality management): tiến trình liên quan đến việc bảo đảm các yêu cầu về cấp độ chất lượng (level fo quality) của sản phẩm phần mềm Quản lý chất lượng bao gồm định nghĩa những tiêu chuẩn chất lượng và các thủ tục thích hợp đồng thời, bảo đảm việc phát triển phần mềm theo đúng tiêu chuẩn đó Đối với bất kỳ 1 tổ chức phần mềm nào thì hoạt động xây dựng mục tiêu chất lượng sản phẩm là trách nhiệm của mọi thành viên (quality culture) 169
- Thế nào là chất lƣợng ? Chất lượng sản phẩm nghĩa là sản phẩm làm ra phải đúng với chi tiết kỹ thuật của nó Một số khó khăn trong việc quản lý chất lượng phần mềm: Áp lực đòi hỏi chất lượng của khách hàng (hiệu quả, độ tin cậy, ) và các yêu cầu về chất lượng của nhà thiết kế (dễ bảo trì, tái sử dụng, ) Một vài yêu cầu về chất lượng thì khó mô tả một cách rõ ràng Đặc tả chi tiết phần mềm thường không đầy đủ và thiếu nhất quán 170
- Thế nào là sản phẩm PM chất lƣợng ? Đáp ứng được các yêu cầu kỹ thuật đề ra Kiểm soát dữ liệu nhập và dự toán được các dữ liệu nhập không hợp lệ Đã được kiểm tra và thử nghiệm hoàn toàn bởi những người độc lập Có tài liệu hướng dẫn cụ thể và rõ ràng Nhận biết được tỉ lệ lỗi 171
- Các tính chất cơ bản của chất lƣợng phần mềm An toàn Bảo mật Dễ kiểm tra Dễ hiểu Hiệu quả cao Phần Tƣơng thích cao mềm Ổn định Linh động có chất Tái sử dụng lượng Dễ học Mạnh mẽ trƣớc tấn công 172
- Mục tiêu của Quản lý chất lƣợng PM Một hệ thống quản lý chất lượng phần mềm thường có 2 mục tiêu: Mục tiêu thứ nhất: xây dựng chất lượng cho PM ngay từ giai đoạn bắt đầu. Điều này đồng nghĩa với việc bảo đảm các yêu cầu cho PM từ mọi nguồn khác nhau phải được định nghĩa, diễn đạt và hiểu một cách đúng đắn, giữa người đưa ra yêu cầu và người thực hiện yêu cầu Mục tiêu thứ hai: bảo đảm chất lượng của PM xuyên suốt quá trình phát triển 173
- Các thỏa thuận về chất lƣợng Không cần đợi biết rõ về chi tiết sản phẩm mới cải tiến mà cần chú ý quản lý chất lượng trước Cần đặt các thủ tục cải tiến chất lượng bất chấp các chi tiết vẫn còn đang chưa hoàn chỉnh → Quản lý chất lượng không chỉ liên quan đến việc giảm tỉ lệ lỗi mà còn liên quan đến các tiêu chuẩn chất lượng sản phẩm khác 174
- Các thỏa thuận về chất lƣợng 1. Định rõ cách quản lý 2. Nhận diện tiến trình các tài liệu dự án Quality Planning 2. Xem xét tiến trình 1. Triển khai đảm bảo chất lượng QA để phù hợp chiến (QA) và xem xét kế hoạch quản lý lược tổ chức cấu hình, các tiêu chuẩn, QM cần QUẢN LÝ CHẤT độc lập với LƢỢNG thực hiện Quality Control dự án 3. Triển khai QA và 5. Ghi nhận phản hồi 4. Xét lại QA, thanh tra xét sự cung cấp cho và sửa lỗi và kiểm thử các hoạt động QA 5. Phân phối 4. Thiết kế 3. Lập kế và bảo trì và thực hiện hoạch 175
- Quản lý chất lƣợng và phát triển phần mềm (Quality Management and Software Development) Software Development Process D1 D2 D3 D4 D5 Quality Management Process Standard and Quality Quality review Proceduces plan reports 176
- 10 hoạt động và yếu tố cơ bản 1. Các tiêu chuẩn (Standards) 2. Lập kế hoạch (Planning) 3. Xem xét, xem lại (Reviewing) 4. Kiểm tra (Testing) 5. Phân tích lỗi (Defect analysis) 6. Quản lý cấu hình (Configuration Management) 7. Bảo mật (Security) 8. Đào tạo, huấn luyện (Education/Training) 9. Quản lý người cung cấp, thầu phụ (Vendor Management) 10. Quản lý rủi ro (Risk Management) 177
- 1. Các tiêu chuẩn đảm bảo chất lƣợng (Quality assurance and standards) Sản xuất phần mềm không còn đơn thuần mang tính ngẫu hứng, mà đang trở thành một lĩnh vực được kiểm soát chặt chẽ, theo những tiêu chuẩn nhất định. Các tiêu chuẩn có thể là: Các kinh nghiệm hoặc các phương pháp hiệu quả nhất, được đề xuất từ các tổ chức IEEE, ISO, Các quy tắc chuẩn hóa để giao tiếp giữa sản phẩm với nhau Có thể do chính tổ chức phát triển PM đề ra Các tiêu chuẩn nên được chọn và thể hiện sao cho khi sử dụng, các khía cạnh kỹ thuật cần thiết sẽ được nhấn mạnh, tránh trường hợp hiểu sai 178
- Đặc điểm và vai trò của tiêu chuẩn Đặc điểm: Tính cần thiết Tính khả thi Tính đo lường được Vai trò: Là chìa khóa tăng hiệu quả quản lý chất lượng Tóm lược được các hoạt động tốt nhất, tránh lặp lại các sai lầm đã qua Đảm bảo chất lượng có đúng theo chuẩn đã đưa ra Cung cấp nội dung về tiêu chuẩn một cách liên tục để nhân viên mới có thể hiểu và áp dụng 179
- 2. Lập kế hoạch chất lƣợng (Quality planning) Lập kế hoạch là yêu cầu kinh điển của hầu hết hệ thống quản lý chất lượng phần mềm. Kết quả của hoạt động này thường là một tài liệu gọi là bản kế hoạch Ví dụ kế hoạch cho 1 dự án phần mềm bao gồm: • Ước lượng phạm vi và kích thước dự án, khối lượng công việc phải làm • Xác định nhân lực, vật lực và chi phí • Chỉ định phương pháp, cách tiếp cận để thực thi dự án • Lập kế hoạch làm việc chi tiết • Kế hoạch phối hợp và hỗ trợ hoàn thành dự án Một bản kế hoạch về chất lượng phải được tiến hành từ sớm, phải định nghĩa và đánh giá được các thuộc tính chất lượng quan trọng nhất 180
- Cấu trúc bản kế hoạch chất lƣợng (Quality plan structure) Giới thiệu sản phẩm Kế hoạch phát triển sản phẩm Mô tả tiến trình Mục tiêu chất lượng (Quality Goals) Quản lý rủi ro (Risk Management) Kế hoạch quản lý chất lượng nên ngắn gọn và súc tích, nếu quá dài thì sẽ không có ai muốn đọc chúng 181
- IEEE 730-1989 Software Quality Assurance Plans 1. Purpose 6. Review and audits 2. Referenced documents 1. Purpose 3. Management 2. Minimum requirements 1. Organization 3. Other 7. Testing 2. Tasks 8. Problem reporting and 3. Responsibilities corrective action 4. Documentation 9. Tools, techniques and 1. Purpose methodologies 2. Minimum documentation 10.Code control requirements 11.Media control 3. Other 12.Supplier control 5. Standards, practices, 13.Records collection, convention and metrics maintenance and retention 14.Tranning 1. Purpose 15.Risk management 2. Content 182
- 3. Chất lƣợng phần mềm và tiến trình (Process and Product Quality) Chất lượng của một sản phẩm phần mềm bị ảnh hưởng nhiều bởi chất lượng của tiến trình xây dựng sản phẩm Thuộc tính của sản phẩm phụ thuộc vào chức năng của tiến trình Việc quan trọng đặc biệt trong phát triển phần mềm là một số thuộc tính chất lượng sản phẩm rất khó có thể đánh giá Đây là điều rất phức tạp và khó hiểu về mối quan hệ giữa tiến trình phần mềm và chất lượng sản phẩm 183
- Quản lý chất lƣợng theo tiến trình (Process-based Quality) Có sự liên kết rõ ràng giữa tiến trình và sản phẩm trong việc sản xuất sản phẩm hàng hóa Đối với sản phẩm phần mềm thì phức tạp hơn vì: Việc áp dụng các kỹ năng cá nhân và kinh nghiệm là điều quan trọng đặc biệt trong việc phát triển phần mềm Những yếu tố bên ngoài (như tính mới lạ của một ứng dụng hoặc rút ngắn thời gian triển khai) có thể làm hư hại chất lượng sản phẩm 184
- Chất lƣợng tiến trình (cơ bản) Đánh giá Định nghĩa Phát triển chất lượng quá trình sản phẩm sản phẩm không Yes Cải tiến quá Chuẩn hóa trình Đạt? tiến trình 185
- Chất lƣợng tiến trình thực tế (Practical process quality) Định nghĩa các tiêu chuẩn của tiến trình: gồm quá trình xem xét, quản lý cấu hình, Quan sát sự phát triển của tiến trình: để đảm bảo rằng các tiểu chuẩn được thực hiện nghiêm túc Báo cáo tiến trình đến Trưởng dự án (Project Manager) 186
- 4. Kiểm soát chất lƣợng (Quality Control) Kiểm tra tiến trình phát triển phần mềm để đảm bảo các thủ tục và các tiêu chuẩn đã được thực hiện đúng Hai phương pháp tiếp cận: Xem xét chất lượng (Quality reviews) Đánh giá qua việc đo phần mềm (assessment via software metrics) 187
- 5. Đánh giá lại chất lƣợng (Quality reviews) Đây là biện pháp chủ yếu để xác nhận tính hợp lệ về chất lượng của một tiến trình hay một sản phẩm Nhóm kiểm tra một phần hay tất cả quá trình hay hệ thống và tài liệu của nó để phát hiện những vấn đề tiềm ẩn Có 3 loại reviews khác nhau với các mục tiêu khác nhau: Thanh tra để gỡ bỏ các lỗi (product) Xem xét để đánh giá sự tiến triển (product and process) Xem xét chất lượng (product and standards) 188
- 6. Quản lý rủi ro (Risk control) Rủi ro là một sự kiện xấu chưa nhưng có khả năng xảy ra cản trở khả năng hoàn thành dự án. Phân loại rủi ro: Về kỹ thuật: Cần hiểu đúng và đủ về dự án -> đưa ra giải pháp đúng để giải quyết Về quản lý: gồm rửi ro về tài chính, kế hoạch, nhân lực, thay đổi yêu cầu. Về vận hành: Huấn luyện không đầy đủ, sử dụng sai chức năng PM, Về môi trường: môi trường phát triển, virus, Về kiểm tra: không đúng, không đủ yêu cầu. 189
- 6. Quản lý rủi ro (Risk control) Quy trình quản lý rủi ro gồm 4 bước 1. Nhận biết rủi ro 2. Khảo sát mức tác động (bị ảnh hưởng) 3. Xác định các giải pháp 4. Giám sát thực thi giải pháp cho từng rủi ro Phân loại giải pháp 1. Loại bỏ hoàn toàn rủi ro mặc dù kinh phí thấp hay sẽ gây ảnh hưởng nghiêm trọng cho dự án 2. Phòng tránh 3. Giảm thiểu thiệt hại: 4. Chấp nhận: nếu rủi ro không quá lớn, hoặc khả năng xảy ra cực thấp 190
- Các độ đo phần mềm và thuộc tính chất lƣợng (Quality attributes and software metrics) Thuộc tính chất lƣợng Nnumber of procedure parameters Maintainability Cyclomatic complexity Reliability Program size in line of code Portability Number of error messages Usability Length of user manual 191
- Tiến trình đo phần mềm (Measurement process) Tiến trình đo phần mềm là tiến trình con của tiến trình kiểm soát chất lượng Dữ liệu thu thập trong toàn bộ tiến trình con này cần được lưu trữ như tài nguyên Cơ sở dữ liệu đo được sẽ làm cơ sở để so sánh với các dự án khác 192
- Độ đo sản phẩm (Product metrics) Tiến trình đo chất lượng là cơ sở để xác định chất lượng sản phẩm phần mềm Phân loại độ đo sản phẩm: Dynamic metrics: liên quan trực tiếp đến thuộc tính chất lượng, dữ liệu đo được tạo ra trong quá trình thực thi chương trình (thời gian đáp ứng, số lượng lỗi, ) dùng đánh giá tính hiệu quả và tin cậy Static metrics: liên quan gián tiếp đến thuộc tính chất lượng, dữ liệu đo được trong quá trình biễu diễn hệ thống phần mềm (số dòng mã lệnh) dùng để đánh giá tính phức tạp, tính dễ hiểu và khả năng bảo trì 193
- Một số thuật ngữ đo sản phẩm phần mềm (Software Product metrics) 194
- Một số thuật ngữ đo sản phẩm phần mềm (Software Product metrics) 195
- Kết luận Một HTQLCLPM không chỉ có quy trình, kiểm tra hoặc ra lệnh, nó là sự kết hợp gắn bó của nhiều yếu tố Mục tiêu sau cùng của HTQLCLPM kiểm soát chất lượng, nâng cao lợi ích của công ty và đảm bảo chất lượng PM Đây là nghề mới, thu hút giới trẻ với thu nhập khá cao. Yêu cầu: khả năng trình bày, thuyết phục tốt; biết lắng nghe, để thấy cái gì cần điều chỉnh thì điều chỉnh và cũng để thuyết phục tốt hơn; kỹ năng đo lường và phân tích số liệu; kỹ năng làm phần mềm 196