Kỹ nghệ phần mềm
Software Engeneering
NguyÔn V¨n Vþ
Bé m«n C«ng nghÖ phÇn mÒm- Khoa CNTT- §HCN
Email:
[email protected]
Bài 11: lập kế hoạch dự án
NguyễnVănVỵ
Nội dung
LËp kÕ ho¹ch dù ¸n
LËp lÞch vμ theo dâi thùc hiÖn dù ¸n
Bộ môn Công nghệ phần mềm – ĐHCN
2
TÀI LiỆU THAM KHẢO
NguyễnVănVỵ
1.
2.
3.
4.
5.
6.
Nguyễn Văn Vỵ, Nguyễn Việt Hà. Giáo trình kỹ nghệ phần
mềm. Nhà xuất bản Đại học Quốc gia Hà nội, 2008
Grady Booch, James Rumbaugh, Ivar Jacobson. The Unified
Modeling language User Guid. Addison-Wesley, 1998.
M. Ould. Managing Software Quality and Business Risk, John
Wiley and Sons, 1999.
Roger S.Pressman, Software Engineering, a Practitioner’s
Approach. Fifth Edition, McGraw Hill, 2001.
Ian Sommerville, Software Engineering. Sixth Edition, AddisonWasley, 2001.
Nguyễn Văn Vỵ. Phân tích thiết kế hệ thống thông tin hiện đại.
Hướng cấu trúc và hướng đối tượng, NXB Thống kê, 2002, Hà
Nội.
Bộ môn Công nghệ phần mềm – ĐHCN
3
LËp kÕ ho¹ch dù ¸n
NguyễnVănVỵ
a. Kh¸i niÖm
KÕ ho¹ch lμ b¶n dù kiÕn c«ng viÖc (c¸i g×), ng−êi
lμm (ai), thêi gian lμm (khi nμo, bao l©u), ph−¬ng
tiÖn dïng (c¸i gi, bao nhiªu), s¶n phÈm ra (c¸i g×),
tiªu chÝ cÇn cã (chÊt l−îng)
Lμ c«ng viÖc lÆp l¹i suèt qu¸ tr×nh dù ¸n
Cã nhiÒu kÕ ho¹ch cÇn lËp ®Ó qu¶n lý dù ¸n
Lμ c«ng cô chÝnh ®Ó qu¶n lý
Bộ môn Công nghệ phần mềm – ĐHCN
4
C¸c nguån lùc cho dù ¸n
NguyễnVănVỵ
Con ng−êi
nh©n tè quan träng nhÊt
cÇn cã n¨ng lùc nhÊt ®Þnh, c¬ cÊu phï hîp
mçi giai ®o¹n nhu cÇu kh¸c nhau
PhÇn mÒm dïng l¹i ®−îc
thμnh phÇn ®ãng gãi (dïng l¹i ngay)
thμnh phÇn đ· kiểm nghiÖm tèt (söa ch÷a dïng ®−îc)
thμnh phÇn cã thÓ dïng (chi phÝ söa lín)
PhÇn cøng/c«ng cô phÇn mÒm chia sÎ
Bộ môn Công nghệ phần mềm – ĐHCN
5
C¸c kÕ ho¹ch kh¸c cña dù ¸n
NguyễnVănVỵ
Tªn kÕ ho¹ch
M« t¶
KÕ ho¹ch chÊt l−îng
M« t¶ thñ tôc vμ c¸c chuÈn chÊt l−îng
¸p dông
KÕ ho¹ch thÈm ®Þnh
M« t¶ c¸ch thøc, nguån lùc vμ lÞch tr×nh
thÈm ®Þnh
KÕ ho¹ch qu¶n lý cÊu M« t¶ cÊu h×nh, thñ tôc vμ tiÕn trinh
qu¶n lý cÊu h×nh
h×nh
KÕ ho¹ch b¶o tr×
ChØ ra yªu cÇu, chi phÝ vμ nguån lùc
cÇn cho b¶o tr×
KÕ ho¹ch ph¸t triÓn
®éi ngò
M« t¶ sè l−îng, kü n¨ng vμ kinh
nghiÖm cña thμnh viªn dù ¸n cÇn
Bộ môn Công nghệ phần mềm – ĐHCN
6
Ho¹t ®éng triÓn khai dù ¸n
NguyễnVănVỵ
C¸c häat ®éng lÆp l¹i suèt tiÕn tr×nh
X¸c ®Þnh b¶ng c¸c c«ng viÖc
LËp lÞch tr×nh dù ¸n
Khëi ®éng ho¹t ®éng theo lÞch tr×nh
Theo dâi, gi¸m s¸t viÖc thùc hiÖn
¦íc l−îng l¹i c¸c tham sè dù ¸n
CËp nhËt tiÕn tr×nh
Tho¶ thuËn l¹i vÒ c¸c h¹n chÕ vμ xuÊt phÈm víi
kh¸ch
NÕu cã vÊn ®Ò: xem l¹i kü thuËt vμ phiªn b¶n
Bộ môn Công nghệ phần mềm – ĐHCN
7
TiÕn tr×nh triÓn khai kÕ ho¹ch dù ¸n
NguyễnVănVỵ
x¸c ®Þnh
b¶ng c«ng
viÖc
ThiÕt lËp
rµng buéc
−¬c l−îng
b−íc ®Çu
tham sè
X¸c ®Þnh dù ¸n
x¸c ®Þnh
m«c, xuÊt
phÈm
lËp lÞch
khëi ®éng
cv theo lÞch
theo dâi
thùc hiÖn
®¸nh gi¸
®Þnh kú
Bộ môn Công nghệ phần mềm – ĐHCN
xö lý rñi ro
(nÕu cã)
tho¶ thuËn
l¹i h¹n chÕ,
xuÊt phÈm
cËp nhËt
tiÕn tr×nh
−íc luîng
l¹i tham sè
8
CÊu tróc cña kÕ häach dù ¸n
NguyễnVănVỵ
Më ®Çu
Tæ chøc dù ¸n
Ph©n tÝch rñi ro
C¸c yªu cÇu vÒ nguån lùc:
Nh©n lùc
fÇn cøng, fÇn mÒm
Ph©n ®o¹n c«ng viÖc
LÞch tr×nh dù ¸n
C¬ chÕ ®iÒu hμnh vμ b¸o c¸o
Bộ môn Công nghệ phần mềm – ĐHCN
9
Tæ chøc ho¹t ®éng dù ¸n
NguyễnVănVỵ
Tæ chøc bé m¸y vμ c¬ chÕ cho ho¹t ®éng: ban
qu¶n lý, c¸c ®éi, c¬ chÕ b¸o c¸o
Ho¹t ®éng dù ¸n cÇn tæ chøc t¹o ra c¸c ®Çu ra thÊy
®−îc cña mçi tr×nh qu¶n lý
Cét mèc (milestone) lμ ®iÓm cuèi cña 1 tiÕn tr×nh
ho¹t ®éng cã xuÊt phÈm vμ c¸c b¸o c¸o yªu cÇu
XuÊt phÈm (deliverables) lμ kÕt qu¶ cña dù ¸n göi
tíi kh¸ch hμng
Bộ môn Công nghệ phần mềm – ĐHCN
10
VÝ dô cét mèc tiÕn tr×nh x¸c ®Þnh yªu cÇu
NguyễnVănVỵ
cét
mèc
xuÊt
phÈm
nghiªn cøu
kh¶ thi
B¸o c¸o
kh¶ thi
ph©n tÝch
yªu cÇu
ph¸t triÓn
mÉu
nghiªn cøu
ThiÕt kÕ
Yªu cÇu hÖ
thèng
B¸o c¸o
tiÕn ho¸
ThiÕt kÕ
kiÕn tróc
Bộ môn Công nghệ phần mềm – ĐHCN
®Æc t¶ yªu
cÇu
B¶n ®Èc t¶
B¶n ®Æc t¶
yªu cÇu
yªu cÇu
11
Mô hình tổ chức – quản lý dự án
NguyễnVănVỵ
Dự án thực hiện 1 lần, giới hạn thời gian, ngân sách
cần có mô hình tổ chức quản lý riêng
Đa số tổ chức thực hiện chủ yếu hoạt động nghiệp vụ
(thường xuyên), bên cạnh có các dự án. 1 số ít tổ chức
được thành lập chuyên thực hiện các dự án (công ty
phần mềm, xây dựng,...)
Một số mô hình tổ chức quản lý dự án điển hình tương
ứng với các loại hình tổ chức hiện có (được đúc kết từ
thực tiễn).
Bộ môn Công nghệ phần mềm – ĐHCN
12
Mô hình tổ chức – quản lý dự án
NguyễnVănVỵ
người tài trợ
Ban dự án
(Văn phòng DÁ)
người quản lý
Đội 1: lãnh đạo đội
Bộ phận tư vấn
Đội 2: lãnh đạo đội
nhân viên
nhân viên
nhân viên
nhân viên
…
…
…
Mô hình tổ chức điển hình thực hiện 1 dự án
Với dự án lớn, phía khách cũng có 1 cơ cấu tương tự, có thể
đơn giản hơn
cần có sự phối hợp của 2 tổ chức này
Bộ môn Công nghệ phần mềm – ĐHCN
13
Mô hình tổ chức – quản lý dự án
NguyễnVănVỵ
Tổng giám đốc
giám đốc
công nghệ
giám đốc
sản xuất
Bộfận q.lý
Bộfận q.lý
Bộfận q.lý
Bộfận q.lý
nhânviên
nhânviên
nhânviên
nhânviên
nhânviên
nhânviên
nhânviên
nhânviên
nhânviên
nhânviên
nhânviên
nhânviên
Nhân viên tham gia dự án
Truyền thông trong dự án
Bộ môn Công nghệ phần mềm – ĐHCN
giám đốc
CNTT
Bộfận q.lý Bộfận q.lý
người qlý
dự án
nhânviên
nhânviên
nhânviên
Mô hình tổ chức theo chức năng
14
Mô hình tổ chức – quản lý dự án
NguyễnVănVỵ
Giám đốc điều
hành
Người quản lý
nghiệp vụ
Bộ phận1
Người quản lý
nghiệp vụ
A
B
Bộ phận1
Bộ phận2
A
Bộ phận2
Bộ phận3
C
Bộ phận3
bộ phận có người
tham gia dự dự án C
Người quản lý
nghiệp vụ
A
B
C
C
K
Bộ phận1
A
Bộ phận2
B
B
C
Bộ phận3
Người quản lý
dự án A
Người quản lý
dự án B
Người quản lý
dự án C
Dự án K
Mô hình tổ chức theo ma trận
Thành viên mỗi bộ phân phải báo cáo cho cả người quản lý nghiệp vụ và
quản lý dự án. Quản lý dự án có quyền như quản lý chức năng
Bộ môn Công nghệ phần mềm – ĐHCN
15
LËp lÞch (scheduling) dù ¸n
NguyễnVănVỵ
a. Néi dung ho¹t ®éng lËp lÞch
Ph©n dù ¸n thμnh c¸c c«ng viÖc vμ −íc l−îng thêi
gian, nguån lùc thùc hiÖn chóng
Tæ chøc thùc hiÖn ®ång thêi c¸c nhiÖm vô ®Ó tèi −u
luång c«ng viÖc
H¹n chÕ sù phô thuéc gi÷a c¸c nhiÖm vô tr¸nh t¸c
®éng g©y chËm trÔ lÉn nhau
S¾p xÕp c¸c nhiÖm vô ®Ó tËn dông c¸c nguån lùc
kh¸c: ng−êi, thiÕt bÞ,..
Bộ môn Công nghệ phần mềm – ĐHCN
16
Tiến trình xác định bảng công viêc
NguyễnVănVỵ
Sản phẩm dự án
liệt kê các sản
phẩm cụ thể
chi tiết hóa
từng sản phẩm
Lập danh sách
công việc cho
sản phẩm chi tiết
Tên sản phẩm: danh từ
Tên công việc: động từ +
bổ ngữ
theo giai đọan
theo vai trò
theo chức năng
phân rã
công việc
chi tiết hơn
ghi mã số
công việc
theo mức
xét duyệt
lại bảng
công việc
Hoạt động chính
Bộ môn Công nghệ phần mềm – ĐHCN
17
Ví dụ: xác định bảng công việc
NguyễnVănVỵ
Sản phẩm
công việc
yêu cầu
phần mềm
Phần
mềm
xác định
yêu cầu
Bản thiết
kế
Lập trình
thu thập
Thiết kế
phần mềm
mã nguồn
công việc chi tiết
chương
trình
Bộ môn Công nghệ phần mềm – ĐHCN
Kiểm thử
làm tài liệu
đặc tả
Cấu trúc bảng công việc:
Tên công việc
Thời gian thực hiện
Mối quan hệ
Các nguồn lực cần
18
ChuÈn c«ng viÖc vμ −íc l−îng
NguyễnVănVỵ
C«ng viÖc x¸c ®Þnh ph¶i:
Cã kÕt qu¶ bμn giao
Qui ®−îc tr¸ch nhiÖm cho c¸ nh©n
Cã h¹n ®Þnh vÒ thêi gian
Cã thÓ ®o ®−îc (tiÕn ®é, chÊt l−îng)
¦íc l−îng thêi gian thùc hiÖn c«ng viÖc:
t(cv) = (MO +4ML +MP)/6
Trong ®ã:
MO: −íc l−îng l¹c quan
ML: −íc l−îng b×nh th−êng
MP: −íc l−îng bi quan
Bộ môn Công nghệ phần mềm – ĐHCN
19
X¸c ®Þnh rμng buéc
NguyễnVănVỵ
C¸c rμng buéc vÒ tμi nguyªn liªn quan
Rμng buéc vÒ tiÕn trinh:
c¸c nhiÖm vô cÇn ®−îc kÕt thóc tr−íc
c¸c nhiÖm vô cã thÓ ®−îc thùc thi kÕ tiÕp
thêi gian thùc hiÖn muén nhÊt
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Ó
Bộ môn Công nghệ phần mềm – ĐHCN
20