Bài giảng Phát triển, vận hành, bảo trì phần mềm - Chương 1: Tổng quan vận hành bảo trì phần mềm cung cấp cho người học các kiến thức tổng quan về môn học, vận hành hệ thống, bảo trì hệ thống, bảo trì phần mềm hướng đối tượng,... Mời các bạn cùng tham khảo.
Trang 2Nội dung
Q&A
Nội dung môn học Đánh giá kết quả Tài liệu tham khảo Thông tin môn học
Trang 3Thông tin môn học
Tên: Phát triển vận hành bảo trì phần mềm
Mục tiêu môn học
Cung cấp cho sinh viên các kiến thức và kỹ năng để giải quyết các vấn đề phát sinh trong quá trình bảo trì, thay đổi phần mềm, đặc biệt là các dự án lớn, sao cho việc quản lý, thực thi quá trình bảo trì nâng cấp phần mềm được hiệu quả
Cung cấp các khái niệm cơ bản về bảo trì, nâng cấp phần mềm, quản lý hiệu quả những thay đổi nhằm mục đích nâng cấp phần mềm theo những thay đổi của yêu cầu thực tế
Số tín chỉ: 3
Lý thuyết: 45
Website: Bài giảng course.uit.edu.vn
Trang 4Tài liệu tham khảo
Giáo trình: Penny Grubb, and Armstrong A.T
Software maintenance concepts and practice
World Scientific, 2003
Sách tham khảo :Stanislaw Jarzabek Effective
Software maintenance and evolution Auerbach
publications, 2007
Khác: Tài liệu ở các khoá học Software design &
development của Nhật
Tài liệu bài giảng môn học
o Bài giảng trên course.uit.edu.vn
Trang 5NỘI DUNG MÔN HỌC
Chương 1: TỔNG QUAN VẬN HÀNH BẢO TRÌ PHẦN
MỀM
Chương 2: NỀN TẢNG THAY ĐỔI PHẦN MỀM
Chương 3: QUI TRÌNH BẢO TRÌ
Chương 4: NHIỆM VỤ YỀU CẦU BẢO TRÌ
Chương 5: TÍNH DÙNG LẠI VÀ KHẢ NĂNG TÁI SỬ
DỤNG & Kiểm thử
Chương 6: QUẢN LÝ VÀ VẤN ĐỀ TỔ CHỨC
Chương 7: QUẢN LÝ CẤU HÌNH
Chương 8: ĐỘ ĐO & CÔNG CỤ BẢO TRÌ
Trang 6Chương 1: Tổng quan vận hành bảo trì phần mềm
Vận hành hệ thống
Bảo trì hệ thống
Bảo trì phần mềm là gì?
Tại sao cần phải bảo trì
Phân loại các kiểu bảo trì
Các nhân tố ảnh hưởng đến chi phí bảo trì
Bảo trì phần mềm hướng đối tượng
Trang 7Chương 2: Nền tảng của thay đổi phần mềm
Nền tảng của sự thay đổi phần mềm
o Nguồn gốc sự thay đổi
o Bảo trì & SDLC
Mối liên quan kinh tế của việc cập nhật phần mềm
o Chất lượng hệ thống
o Các yếu tố tác động
Giải pháp tiềm năng đối với vấn đề bảo trì
o Các vấn đề người bảo trì đối đầu
o Cách tiếp cận bảo trì
Trang 8Chương 3: Qui Trình Bảo trì
KHI THỰC HiỆN THAY ĐỔI
o Tăng trưởng qui trình
o Mô hình tăng trưởng CMM (Capability Maturity Model) Cơ sở kinh nghiệm phần mềm
Trang 9Chương 4: Nhiệm vụ yêu cầu bảo trì
HIỂU CHƯƠNG TRÌNH
Phạm vi vấn đề
Hiệu quả thực thi
NGƯỜI BẢO TRÌ VÀ CÁC NHU CẦU THÔNG TIN
MÔ HÌNH QUI TRÌNH NẮM BẮT THÔNG TIN
Top-Down Model Ill
Bottom-Up / Chunking Model
Opportunistic Model
REVERSE ENGINEERING
Trang 10Chương 5: Tính dùng lại và khả năng dùng lại
TÍNH DÙNG LẠI VÀ KHẢ NĂNG DÙNG LẠI
o Mục đích của việc sử dụng lại
o Mục tiêu và lợi ích của việc dùng lại
o Hướng tiếp cận của dùng lại
o Công nghệ cấu phần
o Mô hình qui trình dùng lại
o Các yếu tố tác động lên việc sử dụng lại
KiỂM THỬ
o Tại sao kiểm thử phần mềm
o Công việc của người kiểm thử phần mềm
o Kiểm thử gì và như thế nào
o Phân loại kiểm thử
Trang 11Chương 6 &7: Vấn đề quản lý & Tố chức
Quản lý cấu hình & kiểm soát thay đổi
VẤN ĐỀ QUẢN LÝ VÀ TỔ CHỨC
QuẢN LÝ CẤU HÌNH
KiỂM SOÁT THAY ĐỔI
o Sưu liệu
o Phân loại tài liệu phần mềm
o Vai trò của sưu liệu phần mềm
o Tạo và bảo trì sưu liệu có chất lượng
Trang 12Chương 8: Độ Đo & Công cụ Bảo trì
Trang 13Yêu cầu môn học và thực hiện
đồ án môn học
Trang 14Hình thức kiểm tra & đánh giá
Thi LT: 50%
Thi TH:50% (Đồ Án)
Nhóm 3 sv / 1 đề tài
• Đề tài tự chọn (GV sẽ cung cấp một số đề tài gợi ý)
Đồ án giữa kỳ (seminar) : 2 đ – báo cáo trên lớp
Đồ án cuối kỳ: 8đ – vấn đáp
Môi trường lập trình: có thể sử dụng các công cụ và môi trường lập trình thông dụng hiện nay
Thi thuyết trình + vấn đáp trên đồ án môn học: 80%
10% other group + 10% diligent
Trang 15Đánh giá kết quả
Phát triển vận hành một ứng dụng phần mềm theo
Nhóm 3 thành viên – vai trò khác nhau
Các yêu cầu trao đổi trên lớp
Liên kết với Nhóm Khách hàng (customer group)
để duy trì vận hành và bảo trì đồ án đã chọn
Thuyết trình báo cáo đồ án (vấn đáp)
Tiến độ thực hiện và phối hợp công việc mà hai
nhóm customer + development thực hiện là một
tiêu chí quan trọng để đánh giá
Trang 16Lập kế hoạch chi tiết
Xác định các công việc chính
Ước lượng thời gian thực hiện
Xác định các mốc trung gian và các kết quả dự
kiến đạt được ở thời điểm đó
Sử dụng biểu đồ mô tả
Trang 17Kỹ năng viết báo cáo & trình bày
Trang 18Giới thiệu các case study mẫu để trình bày báo cáo –
liên quan bài tập bảo trì
Trang 19Review – các môn học trước
môn học nào có làm đồ án? Môn đang học?
Đã học ngôn ngữ lập trình nào? C++, C#, Java …
Làm việc nhóm hay làm một mình?
Sử dụng công cụ phát triển phần mềm ?, trên
platform (Window, Unix, Linux, …) nào, hệ quản trị csdl ?, kiểm thử phần mềm ?
Đã áp dụng qui trình phát triển phần mềm nào ở
môn NMCNPM?
Có ý định phát triển hay nâng cấp phần mềm đã làm
ở các môn học trước? Nếu có thì sẽ kế hoạch ?
Trang 20Case Study 1
Nhóm sinh viên thảo luận, ghi nhớ lại những hoạt
động đã từng làm ở các đồ án môn học trước,
hãy xem đây là những phần mềm đã từng làm
Nêu những thuận lợi, khó khăn, bài học kinh
nghiệm, cũng như kết quả đã đạt được
Time: 10-15 phút
Trang 21án, chú ý đến vai trò của trưởng nhóm (người
đứng đầu)
Time: 20 phút
Trang 22CHUYỆN VUI: VÒNG ĐỜI CHẤT LƯỢNG
1 Lập trình viên đưa ra đoạn mã mà anh ta tin rằng không hề có lỗi
2 Kiểm tra chất lượng sản phẩm, phát hiện 20 lỗi
3 Lập trình viên sửa 10 lỗi và gửi e-mail tới phòng Thử nghiệm sản phẩm về
10 "vấn đề" còn lại mà anh ta nhất định cho rằng không phải là lỗi
4 Phòng thử nghiệm sản phẩm e-mail lại rằng 5 trong số 10 đoạn sửa lỗi
không hoạt động và đính kèm danh sách 15 lỗi mới
5 Phòng tiếp thị gởi thông báo rằng họ đã hoàn tất khâu quảng bá cho sản phẩm Giám đốc gọi điện xuống hỏi về tiến độ công việc và củng cố tinh thần
"chiến sỹ" Phòng phát hành cử nhân viên đến nhận đĩa nguồn phần mềm Phòng tiếp thị thông báo trên truyền hình và báo chí về việc hoãn lại ngày phát hành sản phẩm vài tuần
6 Ơn trời! Cuối cùng sản phẩm cũng được phát hành
7 Trong vòng một tuần, người sử dụng phát hiện ra 137 lỗi mới
8 Lập trình viên phụ trách phát triển sản phẩm đã xin nghỉ phép
9 Một nhóm "cứu nạn" gồm nhiều lập trình viên kỳ cựu được thành lập khẩn cấp Sau một tuần làm việc cật lực, họ đã "thanh toán" hết 137 lỗi, nhưng lại được thông báo về 456 lỗi mới
10 Mọi người tổng kết được 783 lỗi trong chương trình
13 Giám đốc ngồi tại bàn giấy xem xét các báo cáo và quyết định thuê một
lập trình viên mới toanh để xây dựng lại phần mềm từ đống đổ nát ban đầu