1. Trang chủ
  2. » Công Nghệ Thông Tin

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

29 46 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN 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 cung cấp cho người học các kiến thức: Tại sao quản trị dự án, các hoạt động quản trị dự án, lập kế hoạch, lập lịch, lập tài liệu,... Mời các bạn cùng tham khảo nội dung chi tiết.

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 quản trị dự án ? Quản trị dự án cần thiết ñể thực phần mềm tiến độ giảm chi phí đạt ñược mục tiêu Quản trị dự án quan trọng dự án phần mềm phức tạp thay ñổi thường xuyên xuất trình phát triển cần đảm bảo ràng buộc • thời gian • chi phí • ngồn tài ngun CuuDuongThanCong.com https://fb.com/tailieudientucntt Các hoạt ñộng quản trị dự án Lập kế hoạch xác ñịnh hoạt ñộng cần thực Lập lịch lập lịch cho 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 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 Các hoạt ñộng quản trị dự án Lảnh ñạo ñưa ñịnh ñảm bảo hợp tác gữa thành viên 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ó biện pháp hiệu chỉnh cần thiết dự án bị chậm trễ Lập báo cáo viết báo cáo, trình bày CuuDuongThanCong.com https://fb.com/tailieudientucntt Lập kế hoạch Quản lý hiệu dự án phụ thuộc vào kế hoạch ðược thực suốt trình thực dự án Lập kế haọch bao gồm xác ñịnh: mục tiêu ràng buộc cơng việc cần thực để đạt mục tiêu mốc quan trọng (milestones) sản phẩm tạo Lập kế hoạch Bắt ñầu Xác ñịnh mục tiêu ràng buộc Thực ñánh giá ban đầu Xác định cơng việc, mốc quan trọng, sản phẩm Lập lịch cho công việc Thực theo lịch Cập nhật lại lịch Dự án kết thúc ? ñ Kết thúc s Kiểm tra lại ñánh giá CuuDuongThanCong.com https://fb.com/tailieudientucntt Lập kế hoạch Xác ñịnh mục tiêu ràng buộc Xác ñịnh mục tiêu mục tiêu chung dự án chức mà phần mềm phải ñáp ứng yêu cầu chất lượng Các ràng buộc ngày giao sản phẩm nhân 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 Lập kế hoạch ðánh giá ban ñầu ðánh giá ban ñầu tham số dự án cấu trúc kích thước chi phí phân tích chức phần mềm nhân công nhân lực yêu cầu CuuDuongThanCong.com https://fb.com/tailieudientucntt Lập kế hoạch Xác định cơng việc, mốc quan trọng, sản phẩm Các mốc quan trọng (milestones) bước hồn thành quan trọng dự án • Ví dụ: thẩm ñịnh ñặc tả yêu cầu, thẩm ñịnh thiết kế mốc quan trọng cho phép giám sát ñược tiến ñộ Xác ñịnh sản phẩm (delivrables) 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 Lập kế hoạch Xác định cơng việc, mốc quan trọng, sản phẩm Dự án cần phải chia thành công việc (task/activity) Các công việc không nên nhỏ • cơng việc nên kéo dài khoảng tuần Mỗi cơng việc tiếp tục chia thành công việc dễ dàng xử lý Một công việc dễ dàng xử lý • • • • có kết dễ dàng ñánh giá dễ thực dễ ñánh giá thời gian thực dễ ñánh giá nhân công, tài nguyên cần thiết 10 CuuDuongThanCong.com https://fb.com/tailieudientucntt Lập kế hoạch Xác định cơng việc, mốc quan trọng, sản phẩm Chia cơng việc Một cách đơn giản ñể xác ñịnh chia công việc tạo WBS (Work Breakdown Structure) • tương tự mục lục Ví dụ Khởi động dự án 1.1 Lập kế hoach dự án Phân tích yêu cầu 2.1 Thu thập u cầu 2.2 Mơ hình hóa u cầu sử dụng UML Thiết kế 3.1 Xây dựng biểu ñồ lớp 3.2 Xây dựng biểu ñồ 3.3 Xây dựng biểu đồ gói Mã hóa Kiểm thử 11 Lập kế hoạch Báo cáo kế hoạch dự án Cần chứa mục (1) Giới thiệu • mô tả mục tiêu • ràng buộc Tổ chức • thành viên nhóm • vai trò thành viên Phân tích rủi ro • dự báo rủi ro • đề xuất 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 CuuDuongThanCong.com https://fb.com/tailieudientucntt Lập kế hoạch Báo cáo kế hoạch dự án Cần chứa mục (2) Chia cơng việc • chia dự án thành cơng việc • xác định mốc quan trọng • xác định nội dung sản phẩm giao hàng Lịch • mơ tả ràng buộc cơng việc thời gian để đạt mơc quan trọng • gán cơng việc cho thành viên Giám sát • mơ tả báo cáo tạo • mơ tả chế sử dụng để thực thẩm định cơng việc hồn thành 13 Lập lịch Lập lịch bao gồm 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 giai ñoạn quan trọng liệt kê công việc thứ tự thực • quan hệ cơng việc đánh giá nguồn tài ngun cần thiết để hồn thành cơng việc • nhân lực, thời gian, ngân sách 14 CuuDuongThanCong.com https://fb.com/tailieudientucntt Lập lịch Liệt kê công việc thứ tự thực phụ thuộc cơng việc • cơng việc tiến hành đồn thời • công việc thực công việc khác kết thúc giảm tối thiểu phụ thuộc • hạn chế chậm trễ thời gian thực dự án phụ thuộc đường dài đồ thị cơng việc • sơ đồ PERT 15 Lập lịch Sử dụng bảng ñể biểu diễn lịch dự án Bảng giai đoạn quan trọng Bảng cơng việc Bảng phân công 16 CuuDuongThanCong.com https://fb.com/tailieudientucntt Lập lịch Bảng giai ñoạn quan trọng giai ñoạn quan trọng ngày đạt Ngày August 26 October 16 October 26 November 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ông việc công việc ngày bắt ñầu/ngày kết thúc Ngày Jul 17-Aug 23 Aug 26 - Sep 24 Sep 11-Oct Oct - Oct 26 Oct 28-Nov Nov - Nov 20 Nov 22 - Dec Dec - 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 CuuDuongThanCong.com https://fb.com/tailieudientucntt Lập lịch Bảng phân cơng làm thời gian 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%) 15 15 10 10 20 25 15 15 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 sơ đồ để xây dựng, phân tích lịch phức tạp Sơ đồ Gantt • biểu diễn quan hệ thời gian người cơng việc Sơ đồ PERT • biểu diễn phụ thuộc công việc 20 10 CuuDuongThanCong.com https://fb.com/tailieudientucntt Quản lý cấu hình Lập kế hoạch cấu hình Gồm hoạt động (1) ðịnh nghĩa thành phần cấu hình • loại tài liệu cần quản lý • đạc tả u cầu, tài liệu thiết kế, mã nguồn, báo cáo kiểm thử ðịnh nghĩa sách quản lý thay đổi quản lý phiên • mục đính sách thay đổi nhằm ñảm bảo phiên ñáp ứng tiêu chuẩn đặt • ví dụ • “khơng phân phối sản phẩm cho khách hàng chưa thực bước kiểm thử beta với 1000 người sử dụng bên ngồi” 29 Quản lý cấu hình Lập kế hoạch cấu hình Gồm hoạt động (2) ðịnh nghĩa vai trò trách nhiệm thành viên 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 cấu hình ðịnh nghĩa 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 CuuDuongThanCong.com https://fb.com/tailieudientucntt Quản lý cấu hình Quản lý thay đổi Phần mềm thường xuyên thay ñổi yêu cầu người sử dụng người phát triển thị trường Quản lý thay ñổi ghi nhận tất thay ñổi bảo bảo chúng thực với chi phí thấp 31 Quản lý cấu hình Quản lý phiên Thuật ngữ promotion • phiên chuyển giao cho người phát triển release • phiên chuyển giao cho người sử dụng (ngồi nhóm phát triển) ðặt tên phiê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 CuuDuongThanCong.com https://fb.com/tailieudientucntt Quản lý cấu hình Xây dựng hệ thống Biên dịch kết hợp tất thành phần cấu hình thành hệ thống thực thi ñược Các cách kết hợp khác thành phần tạo nên hệ thống khác Nên sử dụng 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 ý xây dựng hệ thống: Tất thành phần cần thiết ñều ñược sử dụng (liên kết) ? Phiên thích hợp mối thành phần dược sử dụng ? Tất tệp liệu ñã sẵn sàng ? Hệ thống ñược xây dựng cho (platform) ñúng đắn ? • hệ điều hành, cấu hình phần cứng Phiên trình biên dịch cơng cụ sử dụng ñúng ñắn ? 34 17 CuuDuongThanCong.com https://fb.com/tailieudientucntt Quản lý cấu hình Cơng cụ SCM hỗ trợ cơng cụ Có loại cơng cụ cơng cụ độc lập cơng cụ tích hợp vào 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 Hoạt ñộng hỗ trợ • ðặt tên phiên • tự đặt tên phiên • Ghi lại lịch sử (vết) thay đổi • Phát triển cộng tác • nhiều người thay đổi đồng thời phiên • Ghi nhận phiên bản: khả • Ghi nhân tồn phiên • Chỉ ghi nhận khác phiên 36 18 CuuDuongThanCong.com https://fb.com/tailieudientucntt Quản lý cấu hình Cơng cụ Cơng cụ quản lý phiên RCS (Revision Control System) • mã nguồn mở, cũ CVS (Concurrent Version System) • miễn phí, hỗ trợ 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 tính CVS, tốt CVS 37 Tổ chức dự án Tổ chức dự án quan trọng yếu tố định cho thành cơng Bao gồm hoạt động Chọn nhân thích hợp Chọn cấu trúc nhóm Chọn kích thước nhóm Xác định vai trò thành viên nhóm Quản lý giao tiếp thành viên nhóm 38 19 CuuDuongThanCong.com https://fb.com/tailieudientucntt Tổ chức dự án Chọn nhân thích hợp Các yếu tố cần xem xét chọn nhân 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 ngơn ngữ lập trình ðào tạo Khả • khả giao tiếp • khả 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 nhóm Nhóm khơng hình thức (egoless team) Nhóm chief-programmer Nhóm phân cấp 40 20 CuuDuongThanCong.com https://fb.com/tailieudientucntt Tổ chức dự án Chọn cấu trúc nhóm Nhóm phi hình thức (egoless team) thành viên nhóm có vai trò nhóm nhỏ thành viên có kinh nghiệm lực dự án khó 41 Tổ chức dự án Chọn cấu trúc nhóm Nhóm chief-programmer Gồm có • Trưởng nhóm (chief-programmer): thực 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ó lực 42 21 CuuDuongThanCong.com https://fb.com/tailieudientucntt Tổ chức dự án Chọn cấu trúc nhóm Nhóm phân cấp Dự án lớn chia thành nhiều dự án nhỏ Mỗi án nhỏ ñược nhóm Mỗi nhóm có trưởng nhóm Mỗi thành viên cấp 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ỹ ñể thực vai trò 43 Tổ chức dự án Chọn kích thước nhóm Kích thước nhóm nên tương đối nhỏ: người giảm thời gian giao tiếp dễ dàng làm việc Khơng nên q nhỏ nhóm bảo đảm tiếp tục làm việc, có thành viên ðối với dự án, số người nhóm thay ñổi Khi dự án chậm trể, thêm người vào dự án khơng giải vấn ñề “Adding more programmers to a late project makes it later” (Brooks’ Law - The Mythical Man-Month) 44 22 CuuDuongThanCong.com https://fb.com/tailieudientucntt Tổ chức dự án Xác định vai trò thành viên Trưởng dự án chịu trách nhiệm dự án bảo đảm nhóm có đầy đủ thơng tin nguồn tài nguyên cần thiết phân công công việc cho thành viên kiểm tra thời hạn 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 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 tiến độ cơng việc thay đổi khó khăn Giao tiếp 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 thành viên nhóm phân cấp: giao tiếp thơng qua người quản lý 46 23 CuuDuongThanCong.com https://fb.com/tailieudientucntt Tổ chức dự án Quản lý giao tiếp thành viên Các ñặc ñiểm giao tiếp nhóm (1) thành viên có vị trí cao thường áp đặt trao đổi nhóm vừa có nam nữ thường giao tiếp tốt giao tiếp phải qua người ñiều phối trung tâm thường khơng hiệu tất thành viên nên có tham gia vào định ảnh hưởng tồn nhóm 47 Tổ chức dự án Quản lý giao tiếp thành viên Các ñặc ñiểm giao tiếp nhóm (2) tính cách thành viên • q nhiều thành viên có tính cách khơng tốt • hướng cơng việc: người muốn thực cơng việc riêng • hướng cá nhân: người muốn làm ơng chủ • hướng tương tác: nhiều họp hành mà thực cụ thể • nhóm nên cân tính cách 48 24 CuuDuongThanCong.com https://fb.com/tailieudientucntt Quản lý rủi ro Rủi ro (risk) khả tính xấu xảy Quản lý rủi ro (risk management) liên quan ñến xác ñịnh rủi ro ảnh hưởng ñến dự án lập kế hoạch hạn chế ảnh hưởng rủi ro Các loại rủi ro rủi ro dự án (project risks) ảnh hưởng ñến tiến ñộ guồn tài nguyên rủi ro sản phẩm (product risks) ảnh hưởng ñến chất lượng phần mềm rủi ro doanh nghiệp (enterprise risks) ảnh hưởng ñến doanh nghiệp sử dụng phần mềm 49 Quản lý rủi ro Ví dụ Rủi 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 & Product There will be a larger number of changes to the requirements than anticipated Specification delays Project & Product Specifications of essential interfaces are not available on schedule Size underestimate Project & Product The size of the system has been underestimated Technology change Enterprise The underlying technology on which the system is built is superseded by new technology Product competition 50 Enterprise A competitive product is marketed before the system is completed 25 CuuDuongThanCong.com https://fb.com/tailieudientucntt Quản lý rủi ro Các hoạt ñộng quản lý rủi ro Xác ñịnh rủi ro Phân tích rủi ro Lập kế hoạch rủi ro Giám sát rủi ro Xử lý rủi ro 51 Quản lý rủi ro Xác ñịnh rủi ro Phân loại rủi ro thương mại • ðối thủ cạnh tranh có chiếm lĩnh thị trường trước ? • Có cần cho đời phiên nhỏ ñể chiếm thị trường ? rủi ro tài • Có đủ lực tài để thực dự án ñúng tiến ñộ ? rủi ro kỹ thuật • Cơng nghệ có cho phép ? rủi ro người • Nhóm làm việc có đủ kinh nghiệm lực ? 52 26 CuuDuongThanCong.com https://fb.com/tailieudientucntt Quản lý rủi ro Phân tích rủi ro ðánh giá dự án, công nghệ, nguồn tài ngun có để xác định hiểu chất nguồn gốc rủi ro Xác ñịnh xác suất rủi ro thấp, thấp, trung bình, cao, cao Xác ñịnh tầm quan trọng rủi ro nghiêm trọng, nghiêm trọng, bỏ qua, không quan trọng 53 Quản lý rủi ro Lập kế hoạch rủi ro Kế hoạch giảm rủi ro cho 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 ảnh hưởng kinh tế phương tiện kiểm tra rủi ro bị xóa ñã giảm kịch bị ảnh hưởng rủi ro 54 27 CuuDuongThanCong.com https://fb.com/tailieudientucntt Quản lý rủi ro Lập kế hoạch 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 Chiến lược giảm rủi ro • giảm ảnh hưởng rủi ro ñối với dự án sản phẩm xảy Kế hoạch khẩn cấp • xử lý rủi ro xảy 55 Quản lý rủi ro Lập kế hoạch rủi ro Rủi 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 underestimated Investigate buying in components, investigate use of a program generator 56 28 CuuDuongThanCong.com https://fb.com/tailieudientucntt Quản lý rủi ro Giám sát rủi ro ðánh giá thường xun rủi ro • để xác định xác suất xảy • để đánh giá hậu có thay đổi Mỗi rủi ro cần phải thảo luận có họp tiến ñộ dự án Xử lý rủi ro Phương án xử lý rủi ro xảy 57 29 CuuDuongThanCong.com https://fb.com/tailieudientucntt ... lịch Bảng công việc công việc ngày bắt ñầu/ngày kết thúc Ngày Jul 17-Aug 23 Aug 26 - Sep 24 Sep 11-Oct Oct - Oct 26 Oct 28-Nov Nov - Nov 20 Nov 22 - Dec Dec - Dec 10 Dec 1 1- Dec 18 Công việc... hình ðịnh nghĩa Cấu hình phần mềm bao gồm thành phần phần mềm xác định tính chất phần mềm thành phần • mã nguồn, tệp 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 CuuDuongThanCong.com... diễn phụ thuộc công việc 20 10 CuuDuongThanCong.com https://fb.com/tailieudientucntt Lập tài liệu Tài liệu cần thiết cho chương trình để sử dụng chương trình • cần mơ tả đầy đủ chương trình •

Ngày đăng: 11/01/2020, 18:50

Xem thêm: