Thô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
22 trang |
Chia sẻ: thanhle95 | Lượt xem: 610 | Lượt tải: 1
Bạn đang xem trước 20 trang tài liệu Bài giảng Phát triển vận hành bảo trì phần mềm - Chương mở đầu: Giới thiệu môn học - Nguyễn Thị Thanh Trúc, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
UIT-VNUHCM 2009 1
PHÁT TRIỂN VẬN HÀNH BẢO
TRÌ PHẦN MỀM
ThS. NGUYỄN THỊ THANH TRÚC
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ PHẦN MỀM
CuuDuongThanCong.com https://fb.com/tailieudientucntt
UIT-VNUHCM 2009 2 Company Logo
Nộ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
CuuDuongThanCong.com https://fb.com/tailieudientucntt
UIT-VNUHCM 2009 3
Thô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
CuuDuongThanCong.com https://fb.com/tailieudientucntt
UIT-VNUHCM 2009 4
Tà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
CuuDuongThanCong.com https://fb.com/tailieudientucntt
UIT-VNUHCM 2009 5
NỘ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Ì
CuuDuongThanCong.com https://fb.com/tailieudientucntt
UIT-VNUHCM 2009 6
Chươ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
CuuDuongThanCong.com https://fb.com/tailieudientucntt
UIT-VNUHCM 2009 7
Chươ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ì
CuuDuongThanCong.com https://fb.com/tailieudientucntt
UIT-VNUHCM 2009 8
Chương 3: Qui Trình Bảo trì
QUI TRÌNH BẢO TRÌ PHẦN MỀM
CÁC MÔ HÌNH BẢO TRÌ PHẦN MỀM
o Mô hình Quick-Fix
o Mô hình Boehm
o Mô hình Osborne
o Iterative Enhancement Model
o Mô hình Reuse-Oriented
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
CuuDuongThanCong.com https://fb.com/tailieudientucntt
UIT-VNUHCM 2009 9
Chương 4: Nhiệm vụ yêu cầu bảo trì
HIỂU CHƯƠNG TRÌNH
o Mục tiêu của nắm bắt 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
o Managers
o Analysts
o Designers
o Programmers
MÔ HÌNH QUI TRÌNH NẮM BẮT THÔNG TIN
o Chiến lược nắm bắt chương trình
Top-Down Model Ill
Bottom-Up / Chunking Model
Opportunistic Model
REVERSE ENGINEERING
CuuDuongThanCong.com https://fb.com/tailieudientucntt
UIT-VNUHCM 2009 10
Chươ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ử
CuuDuongThanCong.com https://fb.com/tailieudientucntt
UIT-VNUHCM 2009 11
Chươ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
CuuDuongThanCong.com https://fb.com/tailieudientucntt
UIT-VNUHCM 2009 12
Chương 8: Độ Đo & Công cụ Bảo trì
Các độ đo phần mềm
CÔNG CỤ BẢO TRÌ
CÔNG CỤ HỖ TRỢ KiỂM THỬ
CÔNG CỤ HỖ TRỢ QUẢN LÝ CẤU HÌNH
CuuDuongThanCong.com https://fb.com/tailieudientucntt
UIT-VNUHCM 2009 13
Yêu cầu môn học và thực hiện
đồ án môn học
CuuDuongThanCong.com https://fb.com/tailieudientucntt
UIT-VNUHCM 2009 14
Hì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%
Evaluation: 50% customer group+ 30% lecturer +
10% other group + 10% diligent
CuuDuongThanCong.com https://fb.com/tailieudientucntt
UIT-VNUHCM 2009 15
Đánh giá kết quả
Phát triển vận hành một ứng dụng phần mềm theo
các hướng (môn học khác) mà nhóm đã chọn
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á
CuuDuongThanCong.com https://fb.com/tailieudientucntt
UIT-VNUHCM 2009 16
Lậ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ả
CuuDuongThanCong.com https://fb.com/tailieudientucntt
UIT-VNUHCM 2009 17
Kỹ năng viết báo cáo & trình bày
Viết 1 cách logic và súc tích
Viết rõ ràng và cô đọng
Sử dụng các sơ đồ, đồ thị
Phong cách viết
CuuDuongThanCong.com https://fb.com/tailieudientucntt
UIT-VNUHCM 2009 18
Giớ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ì
CuuDuongThanCong.com https://fb.com/tailieudientucntt
UIT-VNUHCM 2009
Review – 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 ?
CuuDuongThanCong.com https://fb.com/tailieudientucntt
UIT-VNUHCM 2009
Case 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.
CuuDuongThanCong.com https://fb.com/tailieudientucntt
UIT-VNUHCM 2009
Case Study 2
Giả sử rằng 1 nhóm sinh viên dự định thành lập
nhóm phần mềm (cty phần mềm) khi đã có một
(một số) dự án ban đầu i.e có khách hàng đến đặt
hàng. Hãy suy nghĩ các công việc (hoạt động) cần
phải làm của nhóm để có thể bắt tay thực hiện dự
án, chú ý đến vai trò của trưởng nhóm (người
đứng đầu)
Time: 20 phút
CuuDuongThanCong.com https://fb.com/tailieudientucntt
UIT-VNUHCM 2009
CHUYỆ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.
1NEW. Lập trình viên mới đưa ra đoạn mã mà anh ta tin rằng không hề
có lỗi.
CuuDuongThanCong.com https://fb.com/tailieudientucntt