Bài giảng Nhập môn công nghệ phần mềm - Trương Minh Thái - Chương 1: Giới thiệu về công nghệ phần mềm
Định nghĩa về công nghệ phần mềm
Các giai đoạn trong phát triển phần mềm
Những người tham gia trong dự án phát triển phần mềm
Các yếu tố chính làm thay đổi sự phát triển phần mềm
Thuật ngữ
Phân loại phần mềm
Đặc tính của phần mềm
NHẬP MÔN CÔNG NGHỆ PHẦN MỀM 1 Giảng viên: Trương Minh Thái tmthai@cit.ctu.edu.vn Nội dung môn học 1. Giới thiệu về CNPM 2. Các mô hình về tiến trình phần mềm 3. Ước lượng chi phí phần mềm 4. Quản lý nhân sự và tổ chức 5. Quản lý chất lượng 6. Quản lý cấu hình 2 7. Lập kế hoạch và kiểm soát dự án 8. ðặc tả và phân tích yêu cầu 9. Thiết kế 10. Lập trình 11. Kiểm thử 12. Phân phối 13. Bảo trì Tài liệu tham khảo 3 Bài giảng nhập môn CNPM của giảng viên Trần Cao ñệ Bài giảng nhập môn CNPM của giảng viên Huỳnh Xuân Hiêp Bài giảng nhập môn CNPM của giảng viên Phan Phương Lan Giảng dạy & ñánh giá Giảng dạy: Lý thuyết: 20g Thực hành trên máy: 10g Tự học: 30g 4 Thi giữa kỳ: (30%) Sinh viên tự nghiên cứu và báo cáo các chủ ñề liên quan ñến CNPM Thi cuối kỳ: (70%) Bài tập nhóm: xây dựng một phần mềm theo các yêu cầu kỹ thuật phần mềm NHẬP MÔN CÔNG NGHỆ PHẦN MỀM 5 CHƯƠNG 1 – GIỚI THIỆU VỀ CÔNG NGHỆ PHẦN MỀM Nội dung ðịnh nghĩa về CNPM Các giai ñoạn trong phát triển phần mềm Những người tham gia trong dự án phát triển phần mềm 6 Các yếu tố chính làm thay ñổi sự phát triển phần mềm Thuật ngữ Phân loại phần mềm ðặc tính của phần mềm Công nghệ phần mềm là gì? 1968/69 NATO conferences: Giới thiệu thuật ngữ “Software Engineering” 7 Ý tưởng: Phát triển phần mềm không phải là nghệ thuật hay kế sách Xây dựng phần mềm giống như chúng ta xây các cây cầu? Mối quan hệ về phân bổ giá giữa phần cứng và phần mềm Hardware Development 100 60 P e r c e n t o f t o t a l c o s t 8 Software Maintenance 1955 1970 1985 20 P e r c e n t o f t o t a l c o s t Khủng hoảng phần mềm những năm 70 9 ở ñầu thế kỹ 21 10 ðịnh nghĩa về CNPM IEEE: CNPM là (1) Việc áp dụng phương pháp tiếp cận có hệ thống, có kỹ luật và ñược lượng hóa trong phát triển, vận hành và bảo trì phần mềm; 11 (2) Nghiên cứu các phương pháp tiếp cận ñược dùng trong (1) NATO: CNPM là việc thiết lập và dùng các nguyên tắc công nghệ ñúng ñắn ñể thu ñược phần mềm một cách kinh tế nhất và chạy hiệu quả trên các máy thật. ðịnh nghĩa về CNPM Mục tiêu của CNPM là làm sao ñể tạo ra phần mềm: Có chất lượng cao ðúng, thỏa yêu cầu khách hàng Dễ khai thác, vận hành 12 Dễ bảo trì ðúng kế hoạch thời gian Trong phạm vi ngân sách dự kiến Giá thành ngày càng hạ Các giai ñoạn trong phát triển phần mềm Phân tích yêu cầu Thiết kế 13 Cài ñặt Kiểm thử Bảo trì Các giai ñoạn trong phát triển phần mềm Phân tích yêu cầu: thu thập mô tả ñầy ñủ của bài toán Chức năng/tính năng của PM Khả năng mở rộng 14 Các loại tài liệu ñòi hỏi Thời gian ñáp ứng hoặc các yêu cầu về chất lượng của hệ thống Nghiên cứu khả thi Thiết kế: mô hình hóa hệ thống, module hóa hệ thống Các giai ñoạn trong phát triển phần mềm Cài ñặt: tập trung vào từng module riêng lẻ: Giải thuật Tài liệu Coding 15 Kiểm thử: sự kiểm tra (verification) và sự xác nhận tính hợp lệ (validation) của Tài liệu ñặc tả Thiết kế Module Chuyển tiếp giữa các giai ñoạn Các giai ñoạn trong phát triển phần mềm Bảo trì Sửa lỗi(Corrective maintenance): sửa lỗi phần mềm Thích ứng (adaptive maintenance): ðáp ứng sự thay ñổi về môi trường. 16 Hoàn thiện (perfective maintenance): ðáp ứng sự thay ñổi yêu cầu của người dùng Phòng ngừa (preventive maintenance): Tăng cường khả năng bảo trì trong tương lai như cập nhật tài liệu, thêm chú thích, thay ñổi cấu trúc của hệ thống… Các giai ñoạn trong phát triển phần mềm Sự phân bổ các hoạt ñộng bảo trì corrective 21% 17 adaptive 25% preventive 4% perfective 50% Các giai ñoạn trong phát triển phần mềm Công sức của từng giai ñoạn: 40 – 20 – 40 Cài ñặt 20%Thiết kế 15% 18 Kiểm thử 45% ðặc tả 10% Xác ñịnh yêu cầu 10% Các giai ñoạn trong phát triển phần mềm Công sức của từng giai ñoạn Hoạt ñộng bảo trì chiếm khoảng 50 – 70% toàn bộ công sức Các loại bảo trì: Hoàn thiện, Phòng ngừa, Hiệu chỉnh 19 và Thích ứng Sự phân phối của các loại bảo trì Hiệu chỉnh 21% Thích ứng 25% Phòng ngừa 4% Hoàn thiện 50% Những người tham gia trong dự án phát triển phần mềm Những người tham gia: Khách hàng, Nhà phát triển và Người sử dụng. 20 Những người tham gia trong dự án phát triển phần mềm Các thành viên trong ñội phát triển phần mềm: Nhà phân tích yêu cầu: làm việc với khách hàng ñể xác ñịnh các yêu câu Nhà thiết kế: tạo ra bản mô tả mức hệ thống về cái mà hệ thống phải thực hiện 21 Lập trình viên: viết mã lệnh cài ñặt sự thiết kế Nhà kiểm thử: bắt các lỗi và ñáp ứng các thay ñổi Người hướng dẫn: chỉ dẫn người dùng cách sử dụng hệ thống Nhóm bảo trì: chỉnh sửa các lỗi mà chúng xuất hiện sau này Thủ thư: chuẩn bị và lưu giữ các tài liệu chẳng hạn như các ñặc tả yêu cầu Nhóm quản lý cấu hình: duy trì sự phù hợp giữa các thành phần ñược tạo ra Những người tham gia trong dự án phát triển phần mềm Các vai trò tiêu biểu ñược thực hiện bởi những thành viên trong ñội phát triển phần mềm 22 Các yếu tố chính làm thay ñổi sự phát triển phần mềm Các yếu tố chính: 23 Các thuật ngữ 24 Phân loại phần mềm 25 Phân loại phần mềm 26 Các ñặc tính của phần mềm 27 Tóm tắc chương 28 Bài tập Tìm hiểu về các mô hình tiến trình phần mềm 29/27
File đính kèm:
- Bài giảng Nhập môn công nghệ phần mềm - Trương Minh Thái - Chương 1 Giới thiệu về công nghệ phần mềm.pdf