Bài giảng Nhập môn công nghệ phần mềm - Chương 10: Quản trị dự án phần mềm - Nguyễn Thanh Bình

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

Bài giảng Nhập môn công nghệ phần mềm - Chương 10: Quản trị dự án phần mềm - Nguyễn Thanh Bình trang 1

Trang 1

Bài giảng Nhập môn công nghệ phần mềm - Chương 10: Quản trị dự án phần mềm - Nguyễn Thanh Bình trang 2

Trang 2

Bài giảng Nhập môn công nghệ phần mềm - Chương 10: Quản trị dự án phần mềm - Nguyễn Thanh Bình trang 3

Trang 3

Bài giảng Nhập môn công nghệ phần mềm - Chương 10: Quản trị dự án phần mềm - Nguyễn Thanh Bình trang 4

Trang 4

Bài giảng Nhập môn công nghệ phần mềm - Chương 10: Quản trị dự án phần mềm - Nguyễn Thanh Bình trang 5

Trang 5

Bài giảng Nhập môn công nghệ phần mềm - Chương 10: Quản trị dự án phần mềm - Nguyễn Thanh Bình trang 6

Trang 6

Bài giảng Nhập môn công nghệ phần mềm - Chương 10: Quản trị dự án phần mềm - Nguyễn Thanh Bình trang 7

Trang 7

Bài giảng Nhập môn công nghệ phần mềm - Chương 10: Quản trị dự án phần mềm - Nguyễn Thanh Bình trang 8

Trang 8

Bài giảng Nhập môn công nghệ phần mềm - Chương 10: Quản trị dự án phần mềm - Nguyễn Thanh Bình trang 9

Trang 9

Bài giảng Nhập môn công nghệ phần mềm - Chương 10: Quản trị dự án phần mềm - Nguyễn Thanh Bình trang 10

Trang 10

Tải về để xem bản đầy đủ

pdf 29 trang xuanhieu 3980
Bạn đang xem 10 trang mẫu của tài liệu "Bài giảng Nhập môn công nghệ phần mềm - Chương 10: Quản trị dự án phần mềm - Nguyễn Thanh Bình", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Bài giảng Nhập môn công nghệ phần mềm - Chương 10: Quản trị dự án phần mềm - Nguyễn Thanh Bình

Bài giảng Nhập môn công nghệ phần mềm - Chương 10: Quản trị dự án phần mềm - Nguyễn Thanh Bình
Phase
18
 9
Lp l ch
 Bng 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)
 T1 Jane 8
 T2 Anne (75%) 15
 T3 Jane (80%) 15 T1 (M1)
 T4 Fred 10
 T5 Mary 10 T2, T4 (M2)
 T6 Anne 5 T1, T2 (M3)
 T7 Jim 20 T1 (M1)
 T8 Fred 25 T4 (M5)
 T9 Jane 15 T3, T6 (M4)
 T10 Anne 15 T5, T7 (M7)
 T11 Fred 7 T9 (M6)
19 T12 Fred (50%) 10 T11 (M8)
Lp l ch
 Có th  s dng 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
Lp tài li u
 Tài li u là cn thi t cho ch ươ ng trình
  ñ s dng ch ươ ng trình
 • cn mô t ñy ñ vchươngtr ình
 • mc ñích, môi tr ưng, thu t toán, vào/ra, th i gian th c 
 thi...
  ñtintư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ươngtr ình
 • cu trúc bên trong
 • mô t  vt ch nh s a
21
Lp tài li u
22
 11
Lp tài li u
 Nh ng ng ưi s  dng khác nhau yêu c u 
 các lo i tài li u khác nhau
  ng ưi s  dng
 • tài li u h ưng d n s  dng
  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ý
 • kt qu  ki m th 
23
Lp tài li u
 Cn duy trì s gn k t gi a mã ngu n và tài 
 li u
24
 12
Lp tài li u
 Vn ñ
  cn duy trì s gn 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
 Cu 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
  mt 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
 cu 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
Ti 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
  gm các ho t ñng
 • xây d ng các th  cn th c hi n khi có sthayñ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
  gm 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
Lp k  ho ch c u hình
 Gm các ho t ñng (1)
  ðnh ngh ĩa các thành ph n ca 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
 • mc ñính c a chính sách thay ñi nh m ñm b o 
 mi 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  dng bên ngoài”
29
Qu n lý c u hình
Lp k  ho ch c u hình
 Gm 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  dng ñ ghi thông tin 
 v cu hình
  ðnh ngh ĩa các công c  s dng h  tr  SCM
  Ch n l a chu n ñ s dng
 • 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 
 cu c a
  ng ưi s  dng
  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à bo 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
 • mt phiên b n ñưc chuy n giao cho các ng ưi phát 
 tri n
  release
 • mt phiên b n ñưc chuy n giao cho ng ưi s  dng 
 (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  dng
 • ñánh s 
32
 16
Qu n lý c u hình
Xây d ng h  th ng
 Biên d ch và kt h p t t c  các thành ph n 
 ca 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  to nên các h  th ng khác 
 nhau
 Nên s  dng 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 ñ cn l ưu ý khi xây d ng h 
 th ng:
  Tt c  các thành ph n c n thi t ñu ñưc 
 s dng (liên k t) ?
  Phiên b n thích h p c a m i thành ph n 
 dưc s  dng ?
  Tt 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ñiu 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 dng làñ úng ñn ?
34
 17
Qu n lý c u hình
Công c 
 SCM ñưc h  tr  bi 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 
 bn
 • 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  dng h ñiu 
 hành khác nhau, s  dng t  xa
  Perforce 
 • công c thươngmi
  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à rt quan tr ng
  yu 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  cn 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  lp trình
  ðào t o
  Kh năng
 • kh nănggiaotip
 • kh năngth ích ng, kh nănhc
  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
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óvaitrònhư
 nhau
  nhóm nh 
  các thành viên ñu có kinh nghi m vànăng
 lc
  d án khó
41
T ch c d  án
Ch n c u trúc c a nhóm
  Nhóm chief-programmer
  Gm 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  yu vào tr ưng nhóm
  Tr ưng nhóm ph i cónănglc
42
 21
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 
  Mi s  án nh ñưc hi n b i m t nhóm
  Mi nhóm có mt tr ưng nhóm
  Mi 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
  Mi thành viên ph i ñưc ñào t o k năng
 ñ th c hi n vai trò c a mình
43
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)
44
 22
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
  bo ñ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
45
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ý
46
 23
T ch c d  án
Qu n lý giao ti p gi a các thành viên
 Các ñc ñim trong giao ti p nhóm (1)
  các thành viên có v trícaothưng áp ñt 
 các cu c trao ñi
  nhóm v a có nam và nthưng giao ti p t t 
 hơn
  giao ti p ph i qua m t ng ưi ñiu ph i trung 
 tâm th ưng không hi u qu 
  tt 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
47
T ch c d  án
Qu n lý giao ti p gi a các thành viên
 Các ñc ñim 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 
 • mt nhóm nên cân b ng gi a các tính cách
48
 24
 Qu n lý r i ro
  Ri ro (risk) là kh năngmt 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
  lp k  ho ch h n ch  s nh h ưng c a r i ro
  Các lo i r i ro
  ri ro c a d  án (project risks) nh h ưng ñn ti n ñ
 và gu n tài nguyên
  ri ro c a s n ph m (product risks) nh h ưng ñn 
 ch t l ưng ph n m m
  ri ro c a doanh nghi p (enterprise risks) nh h ưng 
 ñn doanh nghi p s  s dng ph n m m
 49
 Qu n lý r i ro
 Ví d
 Ri ro Lo i r i ro Mô t 
Staff turnover Project Experienced staff will leave the project before it is 
 finished
Management change Project There will be a change of organisational 
 management with different priorities
Hardware unavailability Project Hardware which is essential for the
 project will not be delivered on schedule.
Requirements change Project & There will be a larger number of changes
 Product to the requirements than anticipated
Specification delays Project & Specifications of essential interfaces are not 
 Product available on schedule
Size underestimate Project & The size of the system has been underestimated
 Product
Technology change Enterprise The underlying technology on which the system is 
 built is superseded by new technology
Product competition50 Enterprise A competitive product is marketed before
 the system is completed
 25
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
  Lp k  ho ch các r i ro
  Giám sát các r i ro
  X lý các r i ro
51
Qu n lý r i ro
Xác ñnh các r i ro
 Phân lo i
  ri ro v thươngmi
 • ði th  cnh tranh có chi m l ĩnh th trưng tr ưc ?
 • Có cn cho ra ñi phiên b n nh ñ chi m th trưng ?
  ri ro v  tài chính
 • Cóñnănglc v  tài chính ñ th c hi n d  án ñúng 
 ti n ñ ?
  ri ro v  k thu t
 • Công ngh  hi n t i có cho phép ?
  ri ro v conngưi
 • Nhóm làm vi c cóñ kinh nghi m vànănglc ?
52
 26
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 ca m i r i ro
  rt th p, th p, trung bình, cao, r t cao
 Xác ñnh tm quan tr ng ca m i r i ro
  rt nghiêm tr ng, nghiêm tr ng, có th  b
 qua, không quan tr ng
53
Qu n lý r i ro
Lp k  ho ch các r i ro
 K ho ch gi m r i ro cho m i r i ro g m
  tm quan tr ng ñi v i khách hàng
  tm 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
54
 27
 Qu n lý r i ro
 Lp 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ó xy ra
  K ho ch kh n c p
 • x lý ngay r i ro khi x y ra
 55
 Qu n lý r i ro
 Lp k  ho ch các r i ro
 Ri ro Chi n l ưc
Financial problems Prepare a briefing document for senior management showing 
 how the project is making a very important contribution to the 
 goals of the business.
Recruitment probelms Alert customer of potential difficulties and the possibility of 
 delays, investigate buying-in components.
Short for persionnel Reorganise team so that there is more overlap of work and 
 people therefore understand each other’s jobs.
Failed components Replace potentially defective components with bought-in 
 components of known reliability.
Requirements change Derive traceability information to assess requirements change 
 impact, maximise information hiding in the design
Development time Investigate buying in components, investigate use of a program 
underestimated generator
 56
 28
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  ca nó cóthayñi
  Mi 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
57
 29

File đính kèm:

  • pdfbai_giang_nhap_mon_cong_nghe_phan_mem_chuong_10_quan_tri_du.pdf