Công nghệ phần mềm - Quản trị dự án phần mềm

 Quản trị dự án là cần thiết để thực hiện phần mềm

 đúng tiến độ

 giảm chi phí

 đạt được mục tiêu

 Quản trị dự án là rất quan trọng vì

 dự án phần mềm phức tạp

 sự thay đổi thường xuyên xuất hiện trong quá trình

phát triển

 cần đảm bảo các ràng buộc

• thời gian

• chi phí

• ngồn tài nguyên

pdf29 trang | Chuyên mục: Công Nghệ Phần Mềm | Chia sẻ: dkS00TYs | Lượt xem: 1702 | Lượt tải: 0download
Tóm tắt nội dung Công nghệ phần mềm - Quản trị dự án phần mềm, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
• Ví dụ
• IEEE 828-1990: Software Configuration 
Management Plans
• IEEE 1042: Guide to Software Configuration 
Management
16
31
Quản lý cấu hình
Quản lý thay ñổi
 Phần mềm thường xuyên thay ñổi do yêu 
cầu của
 người sử dụng
 người phát triển
 thị trường
 Quản lý thay ñổi là ghi nhận tất cả các sự 
thay ñổi và bảo bảo rằng chúng ñược thực 
hiện với chi phí thấp nhất
32
Quản lý cấu hình
Quản lý phiên bản
 Thuật ngữ
 promotion
• một phiên bản ñược chuyển giao cho các người phát 
triển
 release
• một phiên bản ñược chuyển giao cho người sử dụng 
(ngoài nhóm phát triển)
 ðặt tên các phiên bản
 rỏ ràng, không nhập nhằng
 phương pháp ñơn giản thường ñược sử dụng
• ñánh số
17
33
Quản lý cấu hình
Xây dựng hệ thống
 Biên dịch và kết hợp tất cả các thành phần 
của một cấu hình thành một hệ thống thực 
thi ñược
 Các cách kết hợp khác nhau các thành 
phần có thể tạo nên các hệ thống khác 
nhau
 Nên sử dụng các công cụ hỗ trợ
 Ví dụ: Makefile
34
Quản lý cấu hình
Xây dựng hệ thống
 Các vấn ñề cần lưu ý khi xây dựng hệ
thống:
 Tất cả các thành phần cần thiết ñều ñược 
sử dụng (liên kết) ?
 Phiên bản thích hợp của mối thành phần 
dược sử dụng ?
 Tất cả các tệp dữ liệu ñã sẵn sàng ?
 Hệ thống ñược xây dựng cho nền (platform) 
ñúng ñắn ?
• hệ ñiều hành, cấu hình phần cứng
 Phiên bản của trình biên dịch và các công cụ
sử dụng là ñúng ñắn ?
18
35
Quản lý cấu hình
Công cụ
 SCM ñược hỗ trợ bởi các công cụ
 Có các loại công cụ
 các công cụ ñộc lập
 các công cụ tích hợp vào trong các môi 
trường phát triển
36
Quản lý cấu hình
Công cụ
 Công cụ quản lý phiên bản
 Hoạt ñộng hỗ trợ
• ðặt tên các phiên bản
• tự ñặt tên các phiên bản mới
• Ghi lại lịch sử (vết) thay ñổi
• Phát triển cộng tác
• nhiều người có thể thay ñổi ñồng thời một phiên 
bản
• Ghi nhận các phiên bản: 2 khả năng
• Ghi nhân toàn bộ phiên bản
• Chỉ ghi nhận sự khác nhau giữa các phiên bản
19
37
Quản lý cấu hình
Công cụ
 Công cụ quản lý phiên bản
 RCS (Revision Control System)
• mã nguồn mở, cũ
 CVS (Concurrent Version System)
• miễn phí, hỗ trợ các máy tính sử dụng hệ ñiều 
hành khác nhau, sử dụng từ xa
 Perforce 
• công cụ thương mại
 Subversion
• mã nguồn mở, ñầy các tính năng của CVS, tốt 
hơn CVS
38
Tổ chức dự án
 Tổ chức dự án là rất quan trọng
 yếu tố chính quyết ñịnh cho sự thành công
 Bao gồm các hoạt ñộng
 Chọn nhân sự thích hợp
 Chọn cấu trúc của nhóm
 Chọn kích thước của nhóm
 Xác ñịnh vai trò của các thành viên trong 
nhóm
 Quản lý giao tiếp giữa các thành viên trong 
nhóm
20
39
Tổ chức dự án
Chọn nhân sự thích hợp
 Các yếu tố cần xem xét khi chọn nhân sự
 Kinh nghiệm
• hiểu biết lĩnh vực ứng dụng
• kinh nghiệm với môi trướng phát triển
• hiểu biết về ngôn ngữ lập trình
 ðào tạo
 Khả năng
• khả năng giao tiếp
• khả năng thích ứng, khả năn học
 Thái ñộ
 Tính cách
40
Tổ chức dự án
Chọn cấu trúc của nhóm
 Nhóm không hình thức (egoless team)
 Nhóm chief-programmer
 Nhóm phân cấp
21
41
Tổ chức dự án
Chọn cấu trúc của nhóm
 Nhóm phi hình thức (egoless team)
 các thành viên của nhóm có vai trò như 
nhau
 nhóm nhỏ
 các thành viên ñều có kinh nghiệm và năng 
lực
 dự án khó
42
Tổ chức dự án
Chọn cấu trúc của nhóm
 Nhóm chief-programmer
 Gồm có
• Trưởng nhóm (chief-programmer): thực hiện phân 
tích, thiết kế, mã hóa, kiểm thử
• Trợ lý: hỗ trợ trưởng nhóm phát triển, kiểm thử
• Thư ký: quản lý thông tin
• Các chuyên gia hỗ trợ
• quản lý, lập tài liệu, lập trình, kiểm thử...
 Phụ thuộc chủ yếu vào trưởng nhóm
 Trưởng nhóm phải có năng lực
22
43
Tổ chức dự án
Chọn cấu trúc của nhóm
 Nhóm phân cấp
 Dự án lớn ñược chia thành nhiều dự án nhỏ
 Mỗi sự án nhỏ ñược hiện bởi một nhóm
 Mỗi nhóm có một trưởng nhóm
 Mỗi thành viên cấp dưới phải báo cáo công 
việc với người quản lý trực tiếp
 Mỗi thành viên phải ñược ñào tạo kỹ năng 
ñể thực hiện vai trò của mình
44
Tổ chức dự án
Chọn kích thước của nhóm
 Kích thước nhóm nên tương ñối nhỏ: dưới 8 người
 giảm thời gian giao tiếp
 dễ dàng làm việc cùng nhau
 Không nên quá nhỏ
 nhóm bảo ñảm tiếp tục làm việc, nếu có thành viên ra 
ñi
 ðối với một dự án, số người trong nhóm có thể thay 
ñổi
 Khi một dự án chậm trể, thêm người vào dự án không 
bao giờ giải quyết ñược vấn ñề
 “Adding more programmers to a late project makes it 
later” (Brooks’ Law - The Mythical Man-Month)
23
45
Tổ chức dự án
Xác ñịnh vai trò của các thành viên
 Trưởng dự án
 chịu trách nhiệm một dự án
 bảo ñảm nhóm có ñầy ñủ thông tin và nguồn 
tài nguyên cần thiết
 phân công công việc cho các thành viên
 kiểm tra thời hạn các công việc
 giao tiếp với khách hàng
46
Tổ chức dự án
Quản lý giao tiếp giữa các thành viên
 Giao tiếp tốt cho phép nhóm hoạt ñộng tốt
 Thông tin cần trao ñổi về
 tiến ñộ công việc
 các thay ñổi
 các khó khăn
 ...
 Giao tiếp giữa các thành viên phụ thuộc vào cấu 
trúc nhóm
 nhóm phi hình thức: giao tiếp trực tiếp giữa các thành 
viên
 nhóm phân cấp: giao tiếp thông qua người quản lý
24
47
Tổ chức dự án
Quản lý giao tiếp giữa các thành viên
 Các ñặc ñiểm trong giao tiếp nhóm (1)
 các thành viên có vị trí cao thường áp ñặt 
các cuộc trao ñổi
 nhóm vừa có nam và nữ thường giao tiếp tốt 
hơn
 giao tiếp phải qua một người ñiều phối trung 
tâm thường không hiệu quả
 tất cả các thành viên nên có tham gia vào 
các quyết ñịnh ảnh hưởng toàn bộ nhóm
48
Tổ chức dự án
Quản lý giao tiếp giữa các thành viên
 Các ñặc ñiểm trong giao tiếp nhóm (2)
 tính cách của các thành viên
• quá nhiều thành viên có cùng tính cách cũng có
thể không tốt
• hướng công việc: mỗi người ñều muốn thực hiện 
công việc riêng 
• hướng cá nhân: mỗi người ñều muốn làm ông chủ
• hướng tương tác: nhiều họp hành mà ít thực hiện 
cụ thể
• một nhóm nên cân bằng giữa các tính cách
25
49
Quản lý rủi ro
 Rủi ro (risk) là khả năng một tính huống xấu xảy ra
 Quản lý rủi ro (risk management) liên quan ñến
 xác ñịnh các rủi ro ảnh hưởng ñến dự án
 lập kế hoạch hạn chế sự ảnh hưởng của rủi ro
 Các loại rủi ro
 rủi ro của dự án (project risks) ảnh hưởng ñến tiến ñộ
và guồn tài nguyên
 rủi ro của sản phẩm (product risks) ảnh hưởng ñến 
chất lượng phần mềm
 rủi ro của doanh nghiệp (enterprise risks) ảnh hưởng 
ñến doanh nghiệp sẽ sử dụng phần mềm
50
Quản lý rủi ro
Ví dụ
A competitive product is marketed before
the system is completed
EnterpriseProduct competition
The underlying technology on which the system is 
built is superseded by new technology
EnterpriseTechnology change
The size of the system has been underestimatedProject & 
Product
Size underestimate 
Specifications of essential interfaces are not 
available on schedule
Project & 
Product
Specification delays 
There will be a larger number of changes
to the requirements than anticipated
Project & 
Product
Requirements change 
Hardware which is essential for the
project will not be delivered on schedule.
ProjectHardware unavailability
There will be a change of organisational 
management with different priorities
ProjectManagement change 
Experienced staff will leave the project before it is 
finished
ProjectStaff turnover 
Mô tảLoại rủi roRủi ro
26
51
Quản lý rủi ro
 Các hoạt ñộng quản lý rủi ro
 Xác ñịnh các rủi ro
 Phân tích các rủi ro
 Lập kế hoạch các rủi ro
 Giám sát các rủi ro
 Xử lý các rủi ro
52
Quản lý rủi ro
Xác ñịnh các rủi ro
 Phân loại
 rủi ro về thương mại
• ðối thủ cạnh tranh có chiếm lĩnh thị trường trước ?
• Có cần cho ra ñời phiên bản nhỏ ñể chiếm thị trường ?
 rủi ro về tài chính
• Có ñủ năng lực về tài chính ñể thực hiện dự án ñúng 
tiến ñộ ?
 rủi ro về kỹ thuật
• Công nghệ hiện tại có cho phép ?
 rủi ro về con người
• Nhóm làm việc có ñủ kinh nghiệm và năng lực ?
27
53
Quản lý rủi ro
Phân tích các rủi ro
 ðánh giá dự án, công nghệ, nguồn tài 
nguyên hiện có ñể xác ñịnh và hiểu bản 
chất và nguồn gốc của rủi ro
 Xác ñịnh xác suất của mỗi rủi ro
 rất thấp, thấp, trung bình, cao, rất cao
 Xác ñịnh tầm quan trọng của mỗi rủi ro
 rất nghiêm trọng, nghiêm trọng, có thể bỏ
qua, không quan trọng
54
Quản lý rủi ro
Lập kế hoạch các rủi ro
 Kế hoạch giảm rủi ro cho mỗi rủi ro gồm
 tầm quan trọng ñối với khách hàng
 tầm quan trọng ñối với người phát triển
 chiến lược quản lý rủi ro và ảnh hưởng về
kinh tế
 phương tiện kiểm tra rủi ro ñã bị xóa hoặc 
ñã giảm
 các kịch bản bị ảnh hưởng bởi rủi ro
28
55
Quản lý rủi ro
Lập kế hoạch các rủi ro
 Các chiến lược
 Chiến lược tránh rủi ro
• giảm xác suất rủi ro xảy ra
 Chiến lược giảm rủi ro
• giảm ảnh hưởng của rủi ro ñối với dự án hoặc sản 
phẩm khi nó xảy ra
 Kế hoạch khẩn cấp
• xử lý ngay rủi ro khi xảy ra
56
Quản lý rủi ro
Lập kế hoạch các rủi ro
Derive traceability information to assess requirements change 
impact, maximise information hiding in the design
Requirements change
Investigate buying in components, investigate use of a program 
generator
Development time 
underestimated
Replace potentially defective components with bought-in 
components of known reliability.
Failed components
Reorganise team so that there is more overlap of work and 
people therefore understand each other’s jobs.
Short for persionnel
Alert customer of potential difficulties and the possibility of 
delays, investigate buying-in components.
Recruitment probelms
Prepare a briefing document for senior management showing 
how the project is making a very important contribution to the 
goals of the business.
Financial problems
Chiến lượcRủi ro
29
57
Quản lý rủi ro
 Giám sát các rủi ro
 ðánh giá thường xuyên mỗi rủi ro
• ñể xác ñịnh xác suất xảy ra của nó
• ñể ñánh giá các hậu quả của nó có thay ñổi
 Mỗi rủi ro chính cần phải ñược thảo luận khi 
có các cuộc họp về tiến ñộ dự án
 Xử lý các rủi ro
 Phương án xử lý khi rủi ro xảy ra

File đính kèm:

  • pdf10_QuanTriDuAn.pdf