Qu n tr d án ph n
m m (10)
Nguy n Thanh Bình
Khoa Công ngh Thông tin
Trư ng ð i h c Bách khoa
ð i h c ðà N ng
T i sao qu n tr d án ?
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
2
1
Các ho t ñ ng qu n tr d
án
L p k ho ch
xác ñ nh các ho t ñ ng c n th c hi n
L p l ch
l p l ch cho các ho t ñ ng, ñ m b o ñúng ti n ñ
T ch c
ch n l a, ñánh giá, phân công công vi c cho các
thành viên
ð nh giá
ư c lư ng chi phí,
nhân l c,
ngu n tài nguyên c n thi t
3
Các ho t ñ ng qu n tr d
án
L nh ñ o
ñưa ra các quy t ñ nh
ñ m b o s h p tác g a các thành viên trong nhóm
Giám sát
ki m tra ti n ñ
giám sát chi phí/nhân l c
Hi u ch nh
có các bi n pháp hi u ch nh c n thi t n u d án b
ch m tr
L p báo cáo
vi t các báo cáo, trình bày
4
2
L p k ho ch
Qu n lý hi u qu d án ph thu c vào k
ho ch
ðư c th c hi n trong su t quá trình th c
hi n d án
L p k ha ch bao g m xác ñ nh:
các m c tiêu
các ràng bu c
các công vi c c n th c hi n ñ ñ t m c tiêu
các m c quan tr ng (milestones)
các s n ph m t o ra
5
L p k ho ch
B tñ u
Xác ñ nh các m c tiêu và ràng bu c
Th c hi n ñánh giá ban ñ u
Xác ñ nh các công vi c, m c quan
tr ng, các s n ph m
L p l ch cho các công vi c
Th c hi n theo l ch
C p nh t l i l ch
D án k t thúc ?
6
ñ
K t thúc
s
Ki m tra l i các
ñánh giá
3
L p k ho ch
Xác ñ nh các m c tiêu và ràng bu c
Xác ñ nh m c tiêu
m c tiêu chung c a d án
các ch c năng cơ b n mà ph n m m ph i ñáp ng
yêu c u v ch t lư ng
Các ràng bu c
ngày giao s n ph m
nhân s
ngân sách cho phép
thi t b , ph n c ng
phương th c giao ti p v i khách hàng
...
7
L p k ho ch
ðánh giá ban ñ u
ðánh giá ban ñ u các tham s c a d án
c u trúc
kích thư c
chi phí
phân tích các ch c năng c a ph n m m
nhân công
nhân l c yêu c u
8
4
L p k ho ch
Xác ñ nh các công vi c, m c quan tr ng, các
s n ph m
Các m c quan tr ng (milestones)
các bư c hoàn thành quan tr ng c a d án
• Ví d : th m ñ nh ñ c t yêu c u, th m ñ nh thi t k
các m c quan tr ng cho phép giám sát ñư c ti n ñ
Xác ñ nh các s n ph m (delivrables) trong các bư c
bàn giao cho khách hàng
ñ c t yêu c u
nguyên m u
thi t k giao di n ngư i dùng
...
9
L p k ho ch
Xác ñ nh các công vi c, m c quan tr ng, các
s n ph m
D án c n ph i chia thành các công vi c
(task/activity)
Các công vi c không nên quá nh
• m i công vi c nên kéo dài kho ng 2 tu n
M i công vi c ti p t c ñư c chia thành các
công vi c con d dàng x lý
M t công vi c con d dàng x lý
•
•
•
•
có k t qu d dàng ñánh giá
d th c hi n
d ñánh giá th i gian th c hi n
d ñánh giá nhân công, tài nguyên c n thi t
10
5
L p k ho ch
Xác ñ nh các công vi c, m c quan tr ng, các
s n ph m
Chia công vi c
M t cách ñơn gi n ñ xác ñ nh và chia công vi c là t o
WBS (Work Breakdown Structure)
• tương t như m t m c l c
Ví d
1. Kh i ñ ng d án
1.1 L p k hoach d án
2. Phân tích yêu c u
2.1 Thu th p yêu c u
2.2 Mô hình hóa yêu c u s d ng UML
3. Thi t k
3.1 Xây d ng các bi u ñ l p
3.2 Xây d ng các bi u ñ tu n t
3.3 Xây d ng các bi u ñ gói
4. Mã hóa
5. Ki m th
11
L p k ho ch
Báo cáo k ho ch d án
C n ch a các m c (1)
Gi i thi u
• mô t m c tiêu
• ràng bu c
T ch c
• các thành viên c a nhóm
• vai trò c a các thành viên
Phân tích r i ro
• d báo các r i ro có th
• ñ xu t các gi i pháp h n ch r i ro
Ngu n tài nguyên c n thi t
• ph n c ng
• ph n m m
12
6
L p k ho ch
Báo cáo k ho ch d án
C n ch a các m c (2)
Chia công vi c
• chia d án thành các công vi c
• xác ñ nh các m c quan tr ng
• xác ñ nh n i dung các s n ph m giao hàng
L ch
• mô t ràng bu c các công vi c và th i gian ñ ñ t ñư c
các môc quan tr ng
• gán công vi c cho các thành viên
Giám sát
• mô t các báo cáo ñư c t o ra khi nào và như th nào
• mô t cơ ch s d ng ñ th c hi n th m ñ nh các công
vi c ñã hoàn thành
13
L p l ch
L p l ch bao g m các công vi c
xác ñ nh ngày quan tr ng
• ngày b t ñ u, ngày k t thúc
xác ñ nh các giai ño n quan tr ng
li t kê các công vi c trong th t th c hi n
• ch ra quan h gi a các công vi c
ñánh giá ngu n tài nguyên c n thi t ñ hoàn
thành m i công vi c
• nhân l c, th i gian, ngân sách
14
7
L p l ch
Li t kê các công vi c trong th t th c hi n
ch ra s ph thu c gi a các công vi c
• các công vi c nào có th ti n hành ñ n th i
• các công vi c nào ch th c hi n khi công vi c
khác k t thúc
gi m t i thi u các ph thu c
• h n ch s ch m tr
th i gian th c hi n d án ph thu c con
ñư ng dài nh t trong ñ th công vi c
• sơ ñ PERT
15
L p l ch
S d ng b ng ñ bi u di n l ch c a
d án
B ng các giai ño n quan tr ng
B ng các công vi c
B ng phân công
16
8
L p l ch
B ng các giai ño n quan tr ng
các giai ño n quan tr ng và ngày có th ñ t ñư c
Ngày
August 26
October 16
October 26
November 7
November 20
Nov 26
Dec 11
Giai ño n quan tr ng
Project Kickoff (with client)
Analysis Review
System Design Review
Internal Object Design Review
Project Review (with client)
Internal project review
Acceptance test (with client)
17
L p l ch
B ng các công vi c
các công vi c và ngày b t ñ u/ngày k t thúc
Ngày
Jul 17-Aug 23
Aug 26 - Sep 24
Sep 11-Oct 8
Oct 9 - Oct 26
Oct 28-Nov 7
Nov 8 - Nov 20
Nov 22 - Dec 4
Dec 4 - Dec 10
Dec 11- Dec 18
Công vi c
Preplanning Phase
Project Planning
Requirements Analysis
System Design
Object Design
Implementation & Unit Testing
System Integration Testing
System Testing
Post-Mortem Phase
18
9
L p l ch
B ng phân công
ai làm gì và th i gian bao lâu
Công vi c
Phân công
Th i gian
Ph thu c
(ngư i/ngày)
19
T1
T2
T3
T4
T5
T6
T7
T8
T9
T10
T11
T12
Jane
Anne (75%)
Jane (80%)
Fred
Mary
Anne
Jim
Fred
Jane
Anne
Fred
Fred (50%)
8
15
15
10
10
5
20
25
15
15
7
10
T1 (M1)
T2, T4 (M2)
T1, T2 (M3)
T1 (M1)
T4 (M5)
T3, T6 (M4)
T5, T7 (M7)
T9 (M6)
T11 (M8)
L p l ch
Có th s d ng các sơ ñ ñ xây d ng,
phân tích các l ch ph c t p
Sơ ñ Gantt
• bi u di n quan h th i gian gi a con ngư i và
công vi c
Sơ ñ PERT
• bi u di n ph thu c gi a các công vi c
20
10
L p tài li u
Tài li u là c n thi t cho chương trình
ñ s d ng chương trình
• c n mô t ñ y ñ v chương trình
• m c ñích, môi trư ng, thu t toán, vào/ra, th i gian th c
thi...
ñ tin tư ng chương trình
• báo cáo k t qu ki m th
• ki m th các ch c năng th c hi n t t
• ki m th các tình hu ng không mong ñ i
ñ ch nh s a chương trình
• mô t ñ y ñ chương trình
• c u trúc bên trong
• mô t v t ch nh s a
21
L p tài li u
22
11
L p tài li u
Nh ng ngư i s d ng khác nhau yêu c u
các lo i tài li u khác nhau
ngư i s d ng
• tài li u hư ng d n s d ng
ngư i phát tri n
• tài li u phát tri n
• chú thích
ngư i thi t k
• mô hình thi t k
ngư i qu n lý
• k t qu ki m th
23
L p tài li u
C n duy trì s g n k t gi a mã ngu n và tài
li u
24
12
L p tài li u
V nñ
c n duy trì s g n k t gi a mã ngu n và tài li u trong
các t p khác nhau
Gi i pháp
xây d ng tài li u t ñ ng (auto-documentation)
• Javadoc, CcDoc, CcpDoc, AutoDoc, DocClass...
sinh mã t ñ ng t mô hình thi t k
sinh mô hình thi t k t mã ngu n
• Rational Rose, Jude, Poseidon, ArgoUML...
25
Qu n lý c u hình
ð nh nghĩa
C u hình ph n m m bao g m
các thành ph n ph n m m xác ñ nh
tính ch t cơ b n c a ph n m m
m t thành ph n có th
• mã ngu n, t p d li u, ñ c t yêu c u, tài
li u thi t k , c u hình ph n c ng...
26
13
Qu n lý c u hình
ð nh nghĩa
Qu n lý c u hình là lĩnh v c c a qu n tr d án nh m
ñ nh nghĩa
xác ñ nh
qu n lý
ki m tra
c u hình trong su t quá trình phát tri n ph n m m
ð nh nghĩa IEEE (Standard 1042)
“Software configuration management (SCM) is the
discipline of managing and controlling change in the
evolution of software systems”
27
Qu n lý c u hình
T i sao ?
SCM ñ h tr ngư i qu n lý
giám sát các thay ñ i trong quá trình phát tri n
g m các ho t ñ ng
•
•
•
•
xây d ng các th c n th c hi n khi có s thay ñ i
ghi nh n các thành ph n và yêu c u thay d i
ño lư ng chi phí và công s c th c hi n thay ñ i
...
SCM ñ h tr ngư i phát tri n
cung c p ch c năng và công c h tr ngư i phát tri n
th c hi n các thay ñ i
g m các ho t ñ ng
•
•
•
•
qu n lý các ch c năng káhc nhau c a ph n m m
xây d ng l i c u hình trư c ñó
ghi nh n v t thay ñ i c a c a ph n m m
...
28
14
Qu n lý c u hình
L p k ho ch c u hình
G m các ho t ñ ng (1)
ð nh nghĩa các thành ph n c a c u hình
• các lo i tài li u c n qu n lý
• ñ c t yêu c u, tài li u thi t k , mã ngu n, báo cáo
ki m th ...
ð nh nghĩa chính sách qu n lý thay ñ i và
qu n lý phiên b n
• m c ñính c a chính sách thay ñ i nh m ñ m b o
m i phiên b n ñáp ng tiêu chu n ñ t ra
• ví d
• “không phân ph i s n ph m cho khách hàng n u
chưa th c hi n bư c ki m th beta v i ít nh t
1000 ngư i s d ng bên ngoài”
29
Qu n lý c u hình
L p k ho ch c u hình
G m các ho t ñ ng (2)
ð nh nghĩa vai trò và trách nhi m c a các
thành viên trong các ho t ñ ng SCM
• ngư i qu n lý, ngư i phát tri n...
ð nh nghĩa CSDL s d ng ñ ghi thông tin
v c u hình
ð nh nghĩa các công c s d ng h tr SCM
Ch n l a chu n ñ s d ng
• Ví d
• IEEE 828-1990: Software Configuration
Management Plans
• IEEE 1042: Guide to Software Configuration
Management
30
15
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 uc 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
31
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
32
16
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
33
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 ?
34
17
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
35
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
36
18
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
37
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
38
19
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
39
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
40
20
- Xem thêm -