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

pdf 29 trang hoanguyen 3720
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng 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 bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfbai_giang_cong_nghe_phan_mem_chuong_10_quan_tri_du_an_phan_m.pdf

Nội dung text: Bài giảng Công nghệ phần mềm - Chương 10: Quản trị dự án phần mềm - Nguyễn Thanh Bình

  1. Qu n tr d án ph n mm (10) Nguy n Thanh Bình Khoa Cơng ngh Thơngtin Tr ưng ði h c Bách khoa ði h c ðà Nng Ti sao qu n tr d án ?  Qu n tr d án là cn 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à rt quan tr ng vì  d án ph n m m ph c t p  sthayđi th ưng xuyên xu t hi n trong quá trình phát tri n  cn đm b o các ràng bu c • th i gian • chi phí • ng n tài nguyên 2 1
  2. Các ho t đng qu n tr d án  Lp k ho ch  xác đnh các ho t đng c n th c hi n  Lp l ch  lp 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  Lnh đo  đư a ra các quy t đnh  đm b o s hp 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  Lp báo cáo  vi t các báo cáo, trình bày 4 2
  3. Lp 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  Lp 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 Lp k ho ch Bt đ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 Lp l ch cho các cơng vi c Th c hi n theo l ch Cp nh t l i l ch s D án k t thúc ? Ki m tra l i các đánh giá đ 6 Kt thúc 3
  4. Lp k ho ch Xác đnh các m c tiêu và ràng bu c  Xác đnh m c tiêu  mc 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 Lp k ho ch ðánh giábanđu  ðánh giábanđu các tham s ca d án  cu 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
  5. Lp k ho ch Xác đnh các cơng vi c, m c quan tr ng, các sn ph m  Các m c quan tr ng (milestones)  các b ưc hồ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 Lp k ho ch Xác đnh các cơng vi c, m c quan tr ng, các sn 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 • mi cơng vi c nên kéo dài kho ng 2 tu n  Mi cơng vi c ti p t c đưc chia thành các cơng vi c con d dàng x lý  Mt cơng vi c con d dàng x lý • cĩ kt 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
  6. Lp k ho ch Xác đnh các cơng vi c, m c quan tr ng, các sn ph m  Chia cơng vi c  Mt cách đơ n gi n đ xác đnh và chia cơng vi c là to WBS (Work Breakdown Structure) • tươ ng t nhưmt 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 dng UML 3. Thi t k 3.1 Xây d ng các bi u đ lp 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 Lp k ho ch Báo cáo k ho ch d án  Cn ch a các m c (1)  Gi i thi u • mơ t mc 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 ri ro  Ngu n tài nguyên c n thi t • ph n c ng • ph n m m 12 6
  7. Lp k ho ch Báo cáo k ho ch d án  Cn 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  Lch • 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 dng đ th c hi n th m đnh các cơng vi c đã hồn thành 13 Lp l ch  Lp 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 đon 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 đ hồn thành m i cơng vi c • nhân l c, th i gian, ngân sách 14 7
  8. Lp 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 • hn 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 Lp l ch  S dng b ng đ bi u di n l ch c a d án  Bng các giai đon quan tr ng  Bng các cơng vi c  Bng phân cơng 16 8
  9. Lp l ch  Bng các giai đon quan tr ng  các giai đon quan tr ng và ngày cĩ th đt đưc Ngày Giai đon quan tr ng August 26 Project Kickoff (with client) October 16 Analysis Review October 26 System Design Review November 7 Internal Object Design Review November 20 Project Review (with client) Nov 26 Internal project review Dec 11 Acceptance test (with client) 17 Lp l ch  Bng 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 Cơng vi c Jul 17-Aug 23 Preplanning Phase Aug 26 -Sep 24 Project Planning Sep 11-Oct 8 Requirements Analysis Oct 9 -Oct 26 System Design Oct 28-Nov 7 Object Design Nov 8 - Nov 20 Implementation & Unit Testing Nov 22 - Dec 4 System Integration Testing Dec 4 -Dec 10 System Testing Dec 11-Dec 18 Post-Mortem Phase 18 9
  10. 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
  11. 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 tố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
  12. 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
  13. 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
  14. 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
  15. 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 ngồ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
  16. 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 (ngồ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
  17. 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
  18. 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 tồn b phiên b n • Ch ghi nh n s khác nhau gi a các phiên b n 36 18
  19. 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
  20. 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
  21. 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
  22. 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
  23. 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
  24. 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 tồ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
  25. 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
  26. 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
  27. 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
  28. 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
  29. 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