Bài giảng đảm bảo chất lượng phần mềm vấn đề quản lý chất lượng trong công nghệ phần mềm PGS TS trần cao đệ

32 654 0
Bài giảng đảm bảo chất lượng phần mềm  vấn đề quản lý chất lượng trong công nghệ phần mềm   PGS TS  trần cao đệ

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Đảm bảo chất lượng phần mềm Software Quality Assurance VẤN ĐỀ QUẢN LÍ CHẤT LƯỢNG TRONG CƠNG NGHỆ PHẦN MỀM PGS TS Trần Cao Đệ Bộ môn Công nghệ phần mềm Khoa CNTT&TT – Đại học Cần Thơ Năm 2013 CƠNG NGHỆ PHẦN MỀM gì? PHẦN MỀM • Phần mềm gì? - - - - • Là hệ thống gồm có chương trình máy tính, tài liệu, liệu qui trình vận hành chương trình để vận hành hệ thống máy tính Phần mềm khơng chương trình máy tính mà cịn bao gồm tài liệu cần thiết cho việc phát triển bảo trì chương trình Ngày phần mềm phần thiếu hệ thống tác nghiệp quan, xí nghiệp Phần mềm có mặt khắp nơi: điện thoại di động, máy lạnh, máy giặt, đồ chơi,… Chất lượng phần mềm nào? Phần mềm chất lượng có tác hại gì? Lỗi phần mềm Lỗi phần mềm (tt) • Hình ảnh tên lửa Ariane nổ tung ngày 4/6/1996 sau vài giây phóng lên, thiệt hại 500.000.000$US • Image source: European Space Agency Lỗi phần mềm (tt) Therac – 25 • Máy xạ trị chế tạo Canada + Pháp • 1985-1987: Ở Washington DC, KTV thao tác lỗi, máy hào phóng cho q liều bình thường với bệnh nhân • Kết quả: – Chết – Số lại ngoắc ngoải! Lỗi phần mềm (tt) • • • • Sân bay Denver (USA), 1994 Bugs hệ thống quản lí hành lí (Baggage Handling System) làm cho hệ thống chậm tiến độ 16 tháng, thiệt hại ngày 1.000.000 $US Tổng số thiệt hại > số tiền đầu tư cho dự án (234M) Nếu tính tổng số tiền để thao tác tay, thiệt hại lên đến 3G $US Lỗi phần mềm (tt) • Ở VN: - Chưa nghe nói có phần mềm chất lượng SV thêm ví dụ vào Tại phần mềm chất lượng? • Câu hỏi thảo luận: nêu 10 nguyên nhân dẫn đến phần mềm chất lượng • Sắp xếp 10 ngun nhân theo thứ tự: quan trọng  quan trọng • Tổng hợp lớp để chọn 10 nguyên nhân chung Các nguyên nhân gây lỗi phần mềm • Faulty requirement definition • Client-developer communication failures • Deliberate deviations from software requirements • Logical design errors • Coding errors • Non-compliance with documentation and coding instructions • Shortcomings of the testing process • User interface and procedure errors • Documentation errors 10 Ba bước đặc tả yêu cầu User feedback user User requirements Models to be validated by user Requirements model knowledge elicitation specification Request more knowledge validation validation results Domain knowledge Domain knowledge Problem domain 18 Phân tích (Analyze) • Phân tích bước trung gian đặc tả thiết kế: - • Mục đích: - • Giai đoạn cuối đặc tả Giai đoạn đầu thiết kế Làm rõ thêm yêu cầu Trình bày yêu cầu mơ hình phân tích Định nghĩa rõ thuật ngữ (từ điển liệu) Kết phân tích: xây dựng mơ hình hệ thống - ERD DFD State diagram… 19 Kết q trình phân tích u cầu Một ví dụ: kết theo phân tích truyền thống  Mơ hình thực thể quan hệ 20 Thiết kế (Design) • • • Thiết kế giai đoạn chuyển từ đặc tả yêu cầu sang xây dựng Là trình chia nhỏ hệ thống thành thành phần, xác lập quan hệ thành phần mô tả chi tiết thành phần mức xây dựng Thiết kế = giải pháp để xây dựng - • • Có thể khơng phải tốt Có thể khơng phải NHƯNG: NĨ LÀ CÁI TỐI ƯU NHẤT - CÂN BẰNG CÁC YÊU CẦU ĐỐI LẬP NHAU Thiết kế kiến trúc (software architecture design) Design pattern: dùng lại ý tưởng Thiết kế chi tiết (detailed design) & mẫu thiết kế 21 Thiết kế kiến trúc Requirements (from customer) Conceptual System Analysis Arch Breakdown Req Req … Req n Req i Subsys Req i j Subsys Req j n Subsys 22 Thiết kế chi tiết • • • Module Giao diện người dùng Giải thuật 23 OOD • UML Diagrams - Class Use Case Collaboration Sequence Statechart Component Activity 24 Cài đặt • Cài đặt - • Viết code Kiểm thử đơn vị Viết code - Ngôn ngữ lập trình Sử dụng thư viện / Nguồn mở Hình thức chuẩn code Refactoring   Cải tiến thiết kế code có cách an tồn Viết lại source code để cải tiến thiết kế tính dễ đọc 25 Kiểm thử • Kiểm thử phần mềm kiểm tra hành vi động chương trình tập hợp hữu hạn trường hợp (test case) để xác nhận hành vi mong muốn đặc tả - Verification: right things Validation: things right 26 Kiểm thử # chạy thử • • • • • • Tìm test cases phù hợp Khả thi: thời gian, tiền của, kỹ thuật Có thể đưa định chấp nhận SP hay không dựa test Đánh giá khả gây lỗi, ảnh hưởng lỗi nguyên nhân gây lỗi “Phán xét” test đủ để ngưng test “Đo được” đánh giá - Hiệu test Hiệu lập trình viên Hiệu dự án – chất lượng phần mềm 27 Các loại kiểm thử • Unit Test: test thành phần đơn vị để thỏa mãn chức đặc tả và/hoặc để cấu trúc phù hợp với cấu trúc thiết kế • Integration Test: test để mảnh/ thành phần phần mềm kết nối đắn để tạo thành phần lớn • System Test: test tồn hệ thống mơi trường hoạt động • Acceptance Test : test toàn hệ thống tập trung vào yêu cầu người dùng nhằm thuận tiện để khai thác chức hệ thống 28 Kiểm thử hình chữ V Hết chương! Liên hệ: TS Trần Cao Đệ Bộ môn Công nghệ Phần mềm Khoa CNTT TT – ĐH Cần Thơ Email: tcde@cit.ctu.edu.vn Phone: 0710.831.301 # 228 Yêu cầu đồ án Xây dựng phần mềm: ứng dụng web hỗ trợ quản lí tìm kiếm nhà trọ - Quản lí danh mục nhà trọ (ở nhiều tỉnh thành) - Admin, Chủ nhà trọ: Đăng kí thành viên, cập nhật thơng tin nhà trọ (tên, địa chỉ, sđt, hình ảnh,…) - Admin, chủ nhà trọ: cập nhật thơng tin trạng thái phịng trọ (trạng thái, giá cả, hình ảnh) - Tìm kiếm nhà trọ - Người dùng nêu yêu cầu: địa bàn, giá, loại phòng (số người), điều kiện khác (nấu ăn, nhà VS,…) - Quản lí u cầu tìm chỗ trọ - Người dùng đăng kí thành viên gởi yêu cầu tìm chỗ trọ tới cho admin Admin tìm chỗ trọ cung câp thơng tin cho người dùng (có trả phí qua tài khoản) - Quản lí thu phí: - Người dùng trả phí qua tài khoản NH thông báo cho admin (việc hệ thống) Admin sau nhận cung câp thông tin nhà trọ cho người dùng qua email (bên ngồi hệ thống) Cơng việc cần thực - Viết đặc tả PM Thiết kế chức phù hợp với yêu cầu Viết kế hoạch dự án + KHĐBCL Viết PM demo Báo cáo viết (*.doc) cho tất phần Báo cáo nói (PPT) Demo chương trình

Ngày đăng: 03/05/2016, 21:36

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan