1. Trang chủ
  2. » Công Nghệ Thông Tin

Tröôøng Ñaïi Hoïc Baùch Khoa Tp. Hoà Chí Minh Khoa Coâng Ngheä Thoâng Tin COÂNG NGHEÄ pps

283 170 0

Đ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

Nội dung

Trường Đại Học Bách Khoa Tp Hồ Chí Minh Khoa Công Nghệ Thông Tin Môn học CÔNG NGHỆ PHẦN MỀM - Trang Khoa Công Nghệ Thông Tin - Môn Công Nghệ Phần Mềm GIỚI THIỆU MÔN HỌC Đặc điểm Mã số: 501095 Số tín chỉ: Phân phối giờ: 2(2.1.4) Môn học trước: Toán Tin Học (501302) Tóm tắt nội dung Các khái niệm Công Nghệ Phần Mềm: mô hình phát triển phần mềm, phân tích yêu cầu, thiết kế, kiểm tra… trường phái chính: có cấu trúc (cổ điển) & hướng đối tượng Chuẩn UML việc áp dụng phương pháp hướng đối tượng Thực hành phòng Lab: làm quen với công cụ Rational Rose - Trang Khoa Công Nghệ Thông Tin - Môn Công Nghệ Phần Mềm GIỚI THIỆU MÔN HỌC (t.t) Tài liệu tham khảo [1] Software Engineering - A practitioner’s approach, R.S Pressman, McGraw-Hill, 1997 [2] OMG Unified Modeling Language Specification, version 1.3, Object Management Group (www.omg.org), 1999 [3]UML Toolkit, Hans-Erik Eriksson & Magnus Penker, 1998 [4] Object-Oriented Software Engineering, A Use-Case Driven Approach, I Jacobson, ACM Press/Addison-Wesley, 1992 [5] Object-Oriented Analysis and Design with Applications, G Booch, The Benjamin Cummings Publishing Company, 1994 - Trang Khoa Công Nghệ Thông Tin - Môn Công Nghệ Phần Mềm GIỚI THIỆU MÔN HỌC (t.t) Hình thức đánh giá Thi kỳ: trắc nghiệm không sử dụng tài liệu, chiếm 20 % kết cuối Thi cuối kỳ: trắc nghiệm không sử dụng tài liệu, chiếm 80 % kết cuối - Trang Khoa Công Nghệ Thông Tin - Môn Công Nghệ Phần Mềm ĐỀ CƯƠNG Chương 1: Giới thiệu Công Nghệ Phần Mềm Chương 2: Phân tích yêu cầu theo phương pháp cổ điển Chương 3: Các khái niệm mô hình hướng đối tượng Chương 4: Mô hình nghiệp vụ thu thập yêu cầu Chương 5: Phân tích yêu cầu hướng đối tượng Chương 6: Cơ sở thiết kế phần mềm phương pháp thiết kế cổ điển Chương 7: Thiết kế hướng đối tượng Chương 8: Hiện thực triển khai hệ thống Chương 9: Kỹ thuật kiểm tra phần mềm Chương 10: Chiến thuật kiểm tra phần mềm - Trang Khoa Công Nghệ Thông Tin - Môn Công Nghệ Phần Mềm Trường Đại Học Bách Khoa Tp Hồ Chí Minh Khoa Công Nghệ Thông Tin Chương GIỚI THIỆU VỀ CÔNG NGHỆ PHẦN MỀM ✦ Một số khái niệm ✦ Các mô hình phát triển phần mềm - Trang Khoa Công Nghệ Thông Tin - Môn Công Nghệ Phần Mềm - Chương 1: Giới thiệu CNPM NỘI DUNG 1.1 Một số khái niệm 1.1.1 Khủng hoảng phần mềm 1.1.2 Định nghóa 1.1.3 Chu trình (process), phương pháp (method), công cụ (tool) 1.1.4 Một cách nhìn tổng quan công nghệ phần mềm 1.1.5 Mô hình CMM 1.2 Các mô hình phát triển phần mềm 1.2.1 Mô hình tuyến tính 1.2.2 Mô hình prototype 1.2.3 Mô hình xoắn ốc 1.2.4 Mô hình tăng dần 1.2.3 Mô hình RAD - Trang Khoa Công Nghệ Thông Tin - Môn Công Nghệ Phần Mềm - Chương 1: Giới thiệu CNPM KHỦNG HOẢNG PHẦN MỀM Phần mềm viết từ xuất hệ máy tính ngôn ngữ lậïp trình Trên thực tế sản xuất phần mềm không đáp ứng kịp yêu cầu người sử dụng - Trang Khoa Công Nghệ Thông Tin - Môn Công Nghệ Phần Mềm - Chương 1: Giới thiệu CNPM KHỦNG HOẢNG PHẦN MỀM (t.t) Các liệu quan sát Cứ đề án triển khai có bị huỷ bỏ Trung bình thời gian thực thực tế bị kéo dài 50 % (cá biệt 200300%) Các đề án lớn dễ thất bại 3/4 hệ thống lớn có lỗi thực thi Quá trình phân tích yêu cầu (5 % công sức): để lại 55 % lỗi, có 18 % phát Quá trình thiết kế (25 % công sức): để lại 30 % lỗi, có 10 % phát Quá trình mã hoá, kiểm tra bảo trì: để lại 15 % lỗi, có 72 % phát - Trang Khoa Công Nghệ Thông Tin - Môn Công Nghệ Phần Mềm - Chương 1: Giới thiệu CNPM KHỦNG HOẢNG PHẦN MỀM (t.t) Nguyên nhân Phát triển phần mềm giống nghệ thuật, chưa xem ngành khoa học Quá trình phát triển phần mềm chưa thống Phải viết lại s/w có thay đổi ngôn ngữ, h/w o/s Chưa đạt chuẩn cho việc đo lường hiệu suất sản phẩm Độ phức tạp phần mềm cao “kiến trúc sư” Kỹ thuật đặc tả để lại nhập nhằng yêu cầu phần mềm Làm việc nhóm không kỷ luật gây lỗi - Trang 10 Khoa Công Nghệ Thông Tin - Môn Công Nghệ Phần Mềm - Chương 1: Giới thiệu CNPM TÍCH HP TỪ DƯỚI LÊN Các module mức thấp kết hợp thành nhóm thể chức đặc biệt phần mềm Một driver tạo để thao tác test-case Nhóm module kiểm nghiệm Driver bỏ nhóm module kết hợp dần lên phía sơ đồ phân cấp chương trình - Trang 269 Khoa Công Nghệ Thông Tin - Môn Công Nghệ Phần Mềm - Chương 10: Chiến thuật kiểm nghiệm phần mềm TÍCH HP TỪ DƯỚI LÊN (t.t) Mo Ma D2 D3 cluster cluster D1 Mb cluster - Trang 270 Khoa Công Nghệ Thông Tin - Môn Công Nghệ Phần Mềm - Chương 10: Chiến thuật kiểm nghiệm phần mềm KIỂM NGHIỆM HỒI QUY Việc kết hợp module lại với ảnh hưởng đến vòng lặp điều khiển, cấu trúc liệu hay I/O chia sẻ số module Điều làm lộ số lỗi phát tiến hành kiểm nghiệm theo đơn vị Kiểm nghiệm hồi quy tiến hành thủ công cách thực lại test-case tạo Hoặc dùng công cụ capture-playback để thực tự động - Trang 271 Khoa Công Nghệ Thông Tin - Môn Công Nghệ Phần Mềm - Chương 10: Chiến thuật kiểm nghiệm phần mềm KIỂM NGHIỆM TÍNH NĂNG Kiểm nghiệm tính hiểu theo cách đơn giản là: chức phần mềm đáp ứng nhu cầu khách hàng vốn xác định văn đặc tả yêu cầu phần mềm Áp dụng kỹ thuật black-box Kiểm nghiệm tính bao gồm Xem xét lại cấu hình phần mềm Kiểm nghiệm alpha Kiểm nghiệm beta - Trang 272 Khoa Công Nghệ Thông Tin - Môn Công Nghệ Phần Mềm - Chương 10: Chiến thuật kiểm nghiệm phần mềm KIỂM NGHIỆM TÍNH NĂNG (t.t) Kiểm nghiệm alpha Được tiến hành nơi sản xuất phần mềm Nhà phát triển phần mềm quan sát người sử dụng sản phẩm ghi nhận lại lỗi phát sinh để sửa chữa Kiểm nghiệm beta Phần mềm kiểm tra bên phạm vi đơn vụ sản xuất Khách hành trực tiếp sử dụng ghi nhận lỗi để báo lại cho nhà phát triển sửa chữa - Trang 273 Khoa Công Nghệ Thông Tin - Môn Công Nghệ Phần Mềm - Chương 10: Chiến thuật kiểm nghiệm phần mềm KIỂM NGHIỆM HƯỚNG ĐỐI TƯNG Về chiến thuật kiểm nghiệm hướng đối tượng theo thứ tự giống kiểm nghiệm cổ điển: kiểm nghiệm đơn vị - kiểm nghiệm tích hợp - kiểm nghiệm chức -kiểm nghiệm toàn hệ thống - Trang 274 Khoa Công Nghệ Thông Tin - Môn Công Nghệ Phần Mềm - Chương 10: Chiến thuật kiểm nghiệm phần mềm KIỂM NGHIỆM ĐƠN VỊ HƯỚNG ĐT Không thể tách rời tác vụ đối tượng/lớp để kiểm nghiệm Tác vụ đóng bao lớp Các lớp override tác vụ Kiểm nghiệm đơn vị hướng đối tượng tập trung vào lớp kiểm nghiệm hành vi lớp - Trang 275 Khoa Công Nghệ Thông Tin - Môn Công Nghệ Phần Mềm - Chương 10: Chiến thuật kiểm nghiệm phần mềm KIỂM NGHIỆM TÍCH HP HƯỚNG ĐT Khái niệm sơ đồ phân cấp không nhiều ý nghóa chương trình hướng đối tượng kiểm nghiệm tích hợp theo cách khác Hai hình thức kiểm nghiệm tích hợp hướng đối tượng Kiểm nghiệm sở thread: tích hợp lớp tạo thành thread để phục vụ cho input chương trình Kiểm nghiệm sở sử dụng: lớp client tích hợp để sử dụng dịch vụ cung cấp lớp server - Trang 276 Khoa Công Nghệ Thông Tin - Môn Công Nghệ Phần Mềm - Chương 10: Chiến thuật kiểm nghiệm phần mềm KIỂM NGHIỆM THEO KỊCH BẢN Dựa vào use-case để soạn kịch Ví dụ: kịch cho hệ thống đăng ký môn học qua WEB Login với username = “e59306547”, password = “6547” Chọn chức đăng ký môn học Chọn nhóm môn học môn: CNPM, AI, XLTHS, PTTK, XLSS có nhóm trùng thời khoá biểu Nhấn nút Submit Chương trình phải báo lỗi liệt kê nhóm bị trùng thời khoá biểu - Trang 277 Khoa Công Nghệ Thông Tin - Môn Công Nghệ Phần Mềm - Chương 10: Chiến thuật kiểm nghiệm phần mềm NGHỆ THUẬT GỢ RỐI Gỡ rối trình nhằm loại bỏ lỗi phát trình kiểm tra Gỡ rối thực kết việc kiểm tra: lỗi phát tìm kiếm nguyên nhân sửa lỗi Có hình thức gỡ rối: brute force, loại trừ nguyên nhân theo vết Nên dùng kết hợp hình thức - Trang 278 Khoa Công Nghệ Thông Tin - Môn Công Nghệ Phần Mềm - Chương 10: Chiến thuật kiểm nghiệm phần mềm NGHỆ THUẬT GỢ RỐI (t.t) Gỡ rối công việc khó khăn dễ gây tâm lý chán nản nguyên nhân gây lỗi nhiều lại mơ hồ: time-out, độ xác, chủ quan lập trình Khả gỡ rối gần bẩm sinh người - Trang 279 Khoa Công Nghệ Thông Tin - Môn Công Nghệ Phần Mềm - Chương 10: Chiến thuật kiểm nghiệm phần mềm BRUTE FORCE Là phương pháp phổ biến lại hiệu cho việc phát nguyên nhân gây lỗi phần mềm Triết lý phương pháp là: “Hãy để máy tính tìm lỗi” Có cách thực hiện: Lấy liệu nhớ để xem xét Dùng run-time trace để tìm lỗi Dùng lệnh WRITE để xuất liệu cần kiểm tra hình Áp dụng phương pháp tất phương pháp khác thất bại - Trang 280 Khoa Công Nghệ Thông Tin - Môn Công Nghệ Phần Mềm - Chương 10: Chiến thuật kiểm nghiệm phần mềm LOẠI TRỪ NGUYÊN NHÂN Phương pháp dựa nguyên tắc phân chia nhị phân Cách thực hiện: Khi lỗi phát hiện, cố gắng đưa danh sách nguyên nhân gây lỗi Danh sách nghiệm lại để loại bỏ dần nguyên nhân không tìm thấy nguyên nhân khả nghi Khi liệu kiểm nghiệm tinh chế lại để tiếp tục tìm lỗi - Trang 281 Khoa Công Nghệ Thông Tin - Môn Công Nghệ Phần Mềm - Chương 10: Chiến thuật kiểm nghiệm phần mềm THEO VẾT Là phương pháp gỡ lỗi phổ biến dùng thành công chương trình nhỏ khó áp dụng cho chương trình lớn Cách thực hiện: bắt đầu dòng mã nguồn có triệu chứng lỗi thực lần ngược trở lại dòng mã nguồn tìm thấy dòng gây lỗi - Trang 282 Khoa Công Nghệ Thông Tin - Môn Công Nghệ Phần Mềm - Chương 10: Chiến thuật kiểm nghiệm phần mềm KẾT THÚC MÔN HỌC Thi cuốii kỳ ? Thi cuố kỳ ? Phânntích Thiếttkế á-Phâ tích Thiế ke Hiệnnthực/triểnnkhai -Hiệ thực/triể khai Kiểm nghiệm -UML Kiểm nghiệm -UML Tấttcả nộiidung Tấ nộ dung Chúc mừng bạn hoàn tất môn học Công Nghệ Phần Mềm ! - Trang 283 Khoa Công Nghệ Thông Tin - Môn Công Nghệ Phần Mềm ... 10: Chiến thuật kiểm tra phần mềm - Trang Khoa Công Nghệ Thông Tin - Môn Công Nghệ Phần Mềm Trường Đại Học Bách Khoa Tp Hồ Chí Minh Khoa Công Nghệ Thông Tin Chương GIỚI THIỆU VỀ CÔNG NGHỆ PHẦN... ngữ truyền thống - Trang 26 Khoa Công Nghệ Thông Tin - Môn Công Nghệ Phần Mềm - Chương 1: Giới thiệu CNPM Trường Đại Học Bách Khoa Tp Hồ Chí Minh Khoa Công Nghệ Thông Tin Chương PHÂN TÍCH YÊU CẦU... tử liệu - Trang 43 Khoa Công Nghệ Thông Tin - Môn Công Nghệ Phần Mềm - Chương 2: Phân tích yêu cầu theo pp cổ điển Trường Đại Học Bách Khoa Tp Hồ Chí Minh Khoa Công Nghệ Thông Tin Chương CÁC KHÁI

Ngày đăng: 11/08/2014, 22:22

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w