Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 82 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
82
Dung lượng
513,5 KB
Nội dung
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI Khoa Điện tử Viễn Thông – Bộ môn Điện tử Tin học KỸ THUẬT PHẦN MỀM Chương V: Các pha phát triển phần mềm Nội dung 5.1 Đặt vấn đề 5.1.1 Đặc điểm phần mềm 5.1.2 Các vấn đề phát triển phần mềm 5.1.2 Các mô hình phát triển phần mềm 5.1.4 Các kỹ thuật hệ thứ 5.2 Các pha phát triển phần mềm 5.2.1 Nghiên cứu yêu cầu (Requirements and Specifications) 5.2.2 Phân tích thiết kế (System Analysis and Design) 5.2.3 Triển khai (Coding and Unit Test) 5.2.4 Thử nghiệm (Test) 5.2.5 Cài đặt bảo trì (Deployment and Maintenance) 5.1.1 Đặc điểm phần mềm Đặc tính chung phần mềm: Là hàng hóa vô hình, không nhìn thấy Chất lượng phần mềm: không mòn mà có xu hướng tốt lên sau lần có lỗi (error/bug) phát sửa Phần mềm vốn chứa lỗi tiềm tàng, theo quy mô lớn khả chứa lỗi cao Lỗi phần mềm dễ phát người Chức phần mềm thường biến hóa, thay đổi theo thời gian (theo nơi sử dụng) Hiệu ứng sóng thay đổi phần mềm Phần mềm vốn chứa ý tưởng sáng tạo tác giả/nhóm làm Có thể chép đơn giản 5.1.1 Đặc điểm phần mềm Các tiêu Phản ánh yêu cầu người dùng (tính hiệu effectiveness) Chứa lỗi tiềm tàng Giá thành không vượt giá ước lượng ban đầu Dễ vận hành, sử dụng Tính an toàn độ tin cậy cao 5.1.1 Đặc điểm phần mềm PHẦN MỀM -Ngày phức tạp -Yêu cầu triển khai nhanh -Yêu cầu chất lượng cao “Chỉ có 26% dự án phần Nhưng… mềm thành công” Standish Group Report 1998 5.1.2 Các vấn đề phát triển phần mềm Hiểu sai yêu cầu người dùng Không có khả đáp ứng tốc độ thay đổi nhanh chóng yêu cầu Các modules không ghép với Phần mềm làm khó bảo trì nâng cấp Phát muộn sai lầm dự án Chất lượng phần mềm thấp Các thành viên nhóm không nỗ lực Quá trình xây dựng phát hành không tin cậy Nguyên nhân vấn đề… Thiếu việc quản lý yêu cầu Giao tiếp không xác hay mơ hồ Kiến trúc ứng dụng yếu Quá phức tạp Không phát mâu thuẫn yêu cầu, thiết kế thực thi Kiểm thử không đủ Đánh giá tình trạng dự án theo chủ quan Sự chậm trễ việc giảm rủi ro áp dụng mô hình thác nước Không kiểm soát thay đổi lan truyền Thiếu tự động hóa Các yếu tố thành công phần mềm Bắt đầu đối xử với quyền hạn Luôn quan tâm, chăm sóc định kỳ Luôn theo dõi ghi chép tiến trình Ra định đắn, sáng suốt Tiến hành phân tích đúc rút học kết thúc dự án Vòng đời phần mềm (Software life-cycle) Vòng đời phần mềm thời kỳ tính từ phần mềm sinh (tạo) chết (từ lúc hình thành đáp ứng yêu cầu, vận hành, bảo dưỡng loại bỏ không đâu dùng) Quy trình phần mềm (vòng đời phần mềm) phân chia thành pha chính: phân tích, thiết kế, chế tạo, kiểm thử, bảo trì Biểu diễn pha có khác theo người Vòng đời phần mềm (Software life-cycle) Mô hình vòng đời phần mềm Boehm Xác định yêu cầu hệ thống Kiểm chứng Xác định yêu cầu phần mềm Kiểm chứng Thiết kế Kiểm chứng Thiết kế chi tiết Kiểm chứng Lập trình Gỡ lỗi Kiểm thử Chạy thử Vận hành Bảo trì Kiểm chứng lại Chạy thử lần đầu Cho hệ thống chạy để nhận diện sửa chữa sai sót bên hệ thống Cho hệ thống chạy tích hợp với hệ thống khác mà có liên quan với máy tính khác, mạng,… Đào tạo Tiến hành trước trình cài đặt hệ thống cho trước bàn giao cho người sử dụng thay đổi đáng kể hệ thống người sử dụng nên/có thể sử dụng hệ thống vừa kết thúc khoá học: Các đối tượng cần đào tạo Người sử dụng cuối Người quản trị hệ thống Nhóm làm công việc bảo trì Thử nghiệm chấp nhận Là giai đoạn cuối trình thử nghiệm trước hệ thống chuyển tới vận hành sử dụng Thử nghiệm hệ thống với liệu người làm hệ thống cung cấp liệu mô Thử nghiệm chấp nhận thường phát lỗi phần bị bỏ qua yêu cầu hệ thống Trước thử nghiệm chấp nhận cần thực việc: Đảm bảo pha thử nghiệm khác hoàn thiện Kết thúc việc tập hợp liệu cần dùng cho thử nghiệm chấp nhận Hoàn thành việc lưu liệu Kế hoạch thử nghiệm chấp nhận liệu phải sử dụng pha Phải hoàn thành việc định nghĩa thử nghiệm chất lượng Chuyển đổi số liệu Chuyển đổi số liệu xử lý thống sang hệ thống Công cụ: Chuẩn hóa liệu Chuyển đổi cấu trúc Chuyển đổi liệu Kiểm tra lại số liệu Thủ công Bán thủ công Chương trình nhỏ hỗ trợ Kết hợp Hiệu suất: thấp Chuyển đổi hệ thống Đột ngột Song song Từng vùng Từng giai đoạn Bảo trì Bảo trì gì? Trình tự nghiệp vụ bảo trì Những vấn đề bảo trì Bảo trì gì? Định nghĩa: Bảo trì công việc tu sửa, thay đổi phần mềm phát triển (chương trình, liệu, JCL, loại tư liệu đặc tả, ) theo lý Các hình thái bảo trì: bảo trì để Tu chỉnh Thích hợp Cải tiến Phòng ngừa Bảo trì Tu sửa: Là bảo trì khắc phục khiếm khuyết có phần mềm Một số nguyên nhân điển hình Kỹ sư phần mềm khách hiểu nhầm Lỗi tiềm ẩn phần mềm sơ ý lập trình kiểm thử chưa bao quát hết Vấn đề tính phần mềm: không đáp ứng yêu cầu nhớ, tệp, Thiết kế sai, biên tập sai Thiếu chuẩn hóa phát triển phần mềm (trước đó) Kỹ nghệ ngược (Reverse Engineering): dò lại thiết kế để tu sửa Bảo trì Bảo trì để thích hợp Là tu chỉnh phần mềm theo thay đổi môi trường bên nhằm trì quản lý phần mềm theo vòng đời Thay đổi phần mềm thích nghi với môi trường: công nghệ phần cứng, môi trường phần mềm Những nguyên nhân chính: Thay đổi phần cứng (ngoại vi, máy chủ, .) Thay đổi phần mềm (môi trường): đổi OS Thay đổi cấu trúc tệp mở rộng CSDL Bảo trì Bảo trì để cải tiến Là việc tu chỉnh hệ phần mềm theo yêu cầu ngày hoàn thiện hơn, đầy đủ hơn, hợp lý Những nguyên nhân chính: Do muốn nâng cao hiệu suất nên thường hay cải tiến phương thức truy cập tệp Mở rộng thêm chức cho hệ thống Cải tiến quản lý kéo theo cải tiến tư liệu vận hành trình tự công việc Thay đổi người dùng thay đổi thao tác Mục đích: đưa thiết kế chức có chất lượng cao Bảo trì để phòng ngừa Là công việc tu chỉnh chương trình có tính đến tương lai phần mềm mở rộng thay đổi Thực thiết kế phần mềm phải tính đến tính mở rộng nó, nên thực tế ta gặp bảo trì phòng ngừa phần mềm thiết kế tốt Mục đích: sửa đổi để thích hợp với yêu cầu thay đổi có người dùng Quy trình bảo trì Hiểu phần mềm có Loại bảo trì? Phát triển phần mềm Chỉnh phần mềm có Kiểm thử tính quán Kiểm thử sau bảo trì Tạo biểu quản lý bảo trì – Tu chỉnh có – Xây dựng thêm Bảo trì Tu sửa có Bảo trì chương trình nguồn, tạo môđun dịch lại Thực kiểm thử unit tu chỉnh mục liên quan có tư liệu đặc tả Chú ý theo sát tác động môđun sửa đến thành phần khác hệ thống Phát triển thêm phần Khi thêm chức phải phát triển chương trình cho phù hợp với yêu cầu Cần tiến hành từ thiết kế, lập trình, gỡ lỗi kiểm thử unit Phản ảnh vào giao diện phần mềm (thông báo, phiên bản, ) Quản lý bảo trì Cần quản lý tình trạng bảo trì Lập biểu quản lý tình trạng bảo trì Ngày tháng, Nguyên nhân Tóm tắt cách khắc phục Chi tiết khắc phục, hiệu ứng sóng Người làm bảo trì Số công THANK YOU FOR YOUR ENJOYING! Best wishes ! Strong in … Rich in … Happiness in … High mark in examination Successful in your life [...]... pháp, kỹ thuật Phân tích cấu trúc hóa Đặc tả yêu cầu ngời dùng Xác định yêu cầu phần mềm Thiết kế cơ bản phần mềm Thiết kế cấu trúc ngoài của phần Thiết kế cấu trúc hóa mềm Lập trình cấu trúc Là thiết kế chi tiết: Thiết kế cấu Phơng pháp Jackson trúc bên trong của phần mềm (đơn Phơng pháp vị chơng trình hoặc môđun) Warnier Mã hóa bởi ngôn ngữ lập trình Mã hóa cấu trúc hóa Kiểm tra chất lợng phần mềm đã... chơng trình hoặc môđun) Warnier Mã hóa bởi ngôn ngữ lập trình Mã hóa cấu trúc hóa Kiểm tra chất lợng phần mềm đã Phơng pháp kiểm phát triển thử chơng trình Sử dụng, vận hành phần mềm đã phát triển Biến đổi, điều chỉnh Cha cụ thể phần mềm 5.1.3 Cỏc mụ hỡnh phỏt trin phn mm A Mụ hỡnh tuyn tớnh (Cascade model) B Mụ hỡnh bn mu (Prototype model) C Mụ hỡnh phỏt trn ng dng nhanh (RAD) D Mụ hỡnh xon c (Siral ... nghiệp vụ Phơng pháp, kỹ thuật Phân tích cấu trúc hóa Đặc tả yêu cầu ngời dùng Xác định yêu cầu phần mềm Thiết kế phần mềm Thiết kế cấu trúc phần Thiết kế cấu trúc hóa mềm Lập trình cấu trúc Là... phần mềm (đơn Phơng pháp vị chơng trình môđun) Warnier Mã hóa ngôn ngữ lập trình Mã hóa cấu trúc hóa Kiểm tra chất lợng phần mềm Phơng pháp kiểm phát triển thử chơng trình Sử dụng, vận hành phần. .. mềm Phơng pháp kiểm phát triển thử chơng trình Sử dụng, vận hành phần mềm phát triển Biến đổi, điều chỉnh Cha cụ thể phần mềm 5.1.3 Cỏc mụ hỡnh phỏt trin phn mm A Mụ hỡnh tuyn tớnh (Cascade model)