Bài giảng Công nghệ phần mềm - Chương 3: Quản lý dự án phần mềm, cung cấp cho người học những kiến thức như: Giới thiệu về quản lý dự án phần mềm; Đo và ước lượng; Lập lịch và theo dõi; Đảm bảo chất lượng phần mềm; Nghiên cứu khả thi; Rủi ro và biện pháp;...Mời các bạn cùng tham khảo!
Trang 1Chương 3
QUẢN LÝ DỰ ÁN PHẦN MỀM
Trang 2Quản lý dự án phần mềm
Là các hoạt động trong lập kế hoạch, giám sát vàđiều khiển tài nguyên dự án thời gian thực hiện,các rủi ro và quy trình thực hiện dự án nhằm đảmbảo thành công cho dự án
3.1 Giới thiệu về quản lý dự án phần mềm
Trang 3Các dự án thường:
- Không hoàn thành đúng hạn
- Chi phí xây dựng vượt quá dự toán
- Chất lượng không đảm bảo
Tại sao phải quản lý dự án?
Trang 4 Có tới 50% trong số các dự án phần mềm thất bại
Chỉ có 16.2% dự án là hoàn thành đúng hạn và nằm trong giới hạn ngân sách, đáp ứng tất cả tính năng và đặc tính như cam kết ban đầu
Có 52.7% dự án được hoàn thành và đi vào hoạt động nhưng không hoàn thành đúng hạn và bội chi, thêm nữa không đáp ứng đầy đủ tính năng và đặc tính như thiết kế ban đầu
Và có 31.1% dự án thất bại trước khi được hoàn thành
-> hơn 83.8% dự án thất bại hoặc không đáp ứng những yêu cầu ban đầu
Theo thống kế của Standish Group (2006)
Trang 5Mục tiêu
Trang 7- Theo dõi và kiểm soát dự án
- Viết báo cáo và trình diễn sản phẩm
Các pha công việc
Trang 8Xác định yêu cầu chung
cần giải quyết cũng như các hoạt động mang tính nghiệp vụ của khách hàng để có thể xác định rõ ràng yêu cầu chung của
đề án, xem xét dự án có khả thi hay không
Trang 9Viết đề án
Bối cảnh thực hiện dự án: Căn cứ pháp lý để thực hiện, hiện trạng cntt của khách hàng trước khi có dự án, nhu cầu ứng dụng phần mềm của khách hàng, đặc điểm và phạm vi của phần mềm sẽ xây dựng.
Mục đích và mục tiêu của dự án: Xác định mục tiêu của phần mềm: lượng dữ liệu xử lý, lợi ích phần mềm đem lại.
Phạm vi dự án: Những người liên quan tới dự án, các hoạt động nghiệp vụ cần tin học hóa.
Nguồn nhân lực tham gia dự án: Cán bộ nghiệp vụ, người tham gia (phân tích, thiết kế, lập trình,kiểm thử, cài đặt, người hướng dẫn khách hàng sử dụng, bảo trì)
Ràng buộc thời gian thực hiện dự án: Ngày nghiệm thu
Trang 10- Hiểu rõ tầm quan trọng của việc lập kế hoạch dự án
- Ứng với mỗi hoạt động trong quá trình phát triển phầnmềm, chúng ta sẽ phải có một bản kế hoạch riêng
- Nắm được cấu trúc của một bản kế hoạch dự án pháttriển hệ thống phần mềm
- Nó liệt kê các hành động từ pha khởi tạo cho đến khiđưa ra được hệ thống Kế hoạch phải được theo dõithường xuyên, nhất là khi có những thông tin hoặcnhững yêu cầu mới xuất hiện
Lập kế hoạch dự án
Trang 11Lập kế hoạch dự án
Trang 12C
Các loại kế hoạch thực hiện dự án
Trang 13• Chỉ quản lý các yếu tố có thể đo được
3.2 Đo và ước lượng
Trang 14• Ước lượng phần mềm là công việc quan trọng hàng đầu trong quản lý dự án
- Kích cỡ, chi phí
- Thời gian, nhân lực
• Để ước lượng cần có độ đo
- kích cỡ, chất lượng, hiệu năng
• Nguyên lý: Cần phải xác lập độ đo cho mọi công việc
độ đo phải định lượng
3.2 Đo và ước lượng
Trang 15• Đo số dòng lệnh (LOC – Lines Of Code) : Trực quan, phụ thuộc vào ngôn ngữ lập trình cụ thể Từ kích cỡ phần mềm có thể tính một số giá trị như
- Hiệu năng = KLOC/người –tháng
- Chất lượng: Số lỗi / KLOC
- Chi phí: Giá thành/KLOC
Đo kích cỡ phần mềm
Trang 18Độ đo về chất lượng dựa trên thống kê
Trang 19Độ đo hiệu quả phát hiện lỗi
Trang 20Ước lượng phần mềm
Trang 21Ước lượng phần mềm
Trang 22Ước lượng phần mềm
Trang 23Ước lượng phần mềm
Trang 24Mô hình ước lượng
COCOMO-Constructive Cost Model
Trang 25COCOMO: Các bước tiến hành
Trang 26COCOMO: Tham số cơ sở
Trang 27COCOMO: Tham số cơ sở
Trang 29Khó khăn trong ước lượng
Các thông số không trực quan
Khó đánh giá tính đúng đắn của các tham số
Không có mô hình tổng quát
Các kỹ thuật ước lượng đang thay đổi
• Áp dụng các mô hình khác nhau
• Tiến hành ước lượng nhiều lần
• Ѭớc lѭợng lại khi dự án tiến triển
29
Trang 30 Cần phải phân tích chi tiết hơn và lập lịch
để kiểm soát công việc
Trang 31— ràng buộc (mối liên hệ giữa các nhiệm vụ)
c ần có độ mềm dẻo về thời gian
31
Trang 32Xác định tài nguyên cho dự án
Trang 33Xác định nhiệm vụ
33
Nhiệm vụ phải được xác định là:
— Là công việc có kết quả bàn giao
— Qui trách nhiệm cho một cá nhân
— Có hạn định về thời gian
— Có thể đo được (tiến độ, chất lượng)
Trang 34— các nhiệm vụ có thể đѭợc thực thi kế tiếp
Giảm tối đa các nhiệm vụ phụ thuộc
Thực hiện các nhiệm vụ song song khi
có thể
Trang 35Lập lịch nên
35
Giảm tối đa thời gian thừa
Tận dụng tối đa các nguồn lực có thể
Điều phối tài nguyên (chỗ thừa/thiếu)
Xem xét các hạn chế
— phụ thuộc tiến trình
— phụ thuộc tài nguyên
Là một qui trình lặp lại
— theo dõi thời gian biểu
— sửa chữa, lập lại thời gian biểu
Sử dụng các công cụ tự động
Trang 36I.1.1 Identify need and benefits Meet with customers
Identify needs and project constraints Establish
product statement Milestone: product
statement defined
Define desired output/control/input (OCI)
Scope keyboard functions
Scope voice input functions
Scope modes of interaction Scope document
diagnostics Scope other WP functions
Document OCI
FTR: Review OCI with customer Revise OCI
as required; Milestone; OCI defined
Define the functionality/behavior Define
keyboard functions Define voice input functions
Decribe modes of interaction Decribe
spell/grammar check Decribe other WP
functions
FTR: Review OCI definition with customer
Revise as required
Milestone: OCI defintition complete
Isolate software elements
Milestone: Software elements defined
Research availability of existing software
Reseach text editiong components Research
voice input components Research file
management components
Research Spell/Grammar check components
Milestone: Reusable components identified
Define technical feasibility
Evaluate voice input
Evaluate grammar checking
Milestone: Technical feasibility assessed
Make quick estimate of size
Create a Scope Definition
Review scope document with customer Revise
document as required Milestone: Scope
Trang 383.4.Đảm bảo chất lượng phần mềm
38
Trang 40Giá trả cho tìm và sửa lỗi
60.00-40
Trang 423.5 Nghiên cứu khả thi
Trang 44Khả thi về kỹ thuật
40
Khó đánh giá ở giai đoạn phân tích
Trang 45Khả thi về pháp lý
45
đối với người phát triển
Trang 46Báo cáo khả thi
Trang 473.6 Rủi ro và biện pháp
Các nhân tố có thể làm thất bại dự án
• cần thiết
• mong muốn
• phụ (optional)
47
Trang 48Quản lý rủi ro dự án phần mềm
Trang 49Ví dụ về rủi ro
Trang 50Các rủi ro
Trang 51Hoạt động của quản lý rủi ro
Trang 52Tiến trình quản lý rủi ro
Trang 53Bước 1: Xác định các rủi ro có thể
Trang 54Thời gian ước lượng thực tế
Trang 55Phương pháp xác định rủi ro
Trang 56Một số kỹ thuật xác định rủi ro
Trang 57Một số kỹ thuật xác định rủi ro
Trang 58Một số kỹ thuật xác định rủi ro
Trang 59Một số kỹ thuật xác định rủi ro
Trang 60Một số câu hỏi giúp xác định rủi ro
Trang 61Một số câu hỏi giúp xác định rủi ro
Trang 62Bước 2: Phân tích rủi ro
Trang 63Một số rủi ro và giải pháp
Trang 64Một số rủi ro và giải pháp
Trang 65Bước 3: Lập kế hoạch đáp ứng
Trang 66Chiến lược đáp ứng rủi ro
Trang 67Chiến lược đáp ứng rủi ro
Trang 68Chiến lược đáp ứng rủi ro
Trang 69Chiến lược đáp ứng rủi ro
Trang 70Bước 4: Kiểm soát rủi ro
Trang 71Quản lý rủi ro
71
Rủi ro là các sự kiện khiến dự án thất bại
— chi phí quá cao
— thời gian quá dài
— tính nĕng quá kém
Là các yếu tố có thể quản lý được
Nhiệm vụ của ngѭời quản lý dự án
— xác định (dự đoán) rủi ro
— phân tích rủi ro (khả nĕng và thiệt hại)
— quản lý rủi ro (đưa ra giải pháp)
— giám sát (theo dõi sự xuất hiện, tác động
của rủi ro) và thực hiện biện pháp quản lý
Trang 72biện pháp quản lý cần thiết hay không
Trang 733.7 Quản lý nhân sự
73
triển phần mềm
cǜng làm được
Trang 75Nhóm và đặc trưng
75
hiện
Trang 76Phân bổ thời gian làm việc
50%
giao tiếp với các thành viên khác
76
20%
không trực tiếp làm việc
30%
làm vi ệc
Trang 77Một số cách tổ chức nhóm
50
thống nhất giải pháp chung
lực
chịu trách nhiệm chung
Trang 783.7 Quản lý cấu hình phần mềm
78
Trang 793.7 Quản lý cấu hình phần mềm
79
Trang 80Công cụ hỗ trợ quản lý dự án
80