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

bài giảng công nghệ phần mềm chương 6 quản lý dự án phần mềm - ths. nguyễn khắc quốc

28 604 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

Thông tin cơ bản

Tiêu đề Quản Lý Dự Án Phần Mềm
Tác giả Ths. Nguyễn Khắc Quốc
Trường học Trường Đại Học Công Nghệ Thông Tin
Chuyên ngành Công Nghệ Phần Mềm
Thể loại Bài Giảng
Định dạng
Số trang 28
Dung lượng 167,92 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Các thông số của các dự án đã phát triển trong quákhứ sẽ được dùng dể phục vụ cho ước lượng cho cácphần mềm sẽ phát triểnĐiểm chức năng FP được tính dựa trên đặc tả yêucầu và độc lập với

Trang 1

Ths Nguyễn Khắc Quốc Email:quoctv10@gmail.com

BÀI GIẢNG MÔNCÔNG NGHỆ PHẦN MỀM

Chương 6 QUẢN LÝ DỰ ÁN PHẦN MỀM

Trang 2

- Quản lý dự án là tầng đầu tiên trong phát triển phầnmềm.

- Mục tiêu của việc quản lý dự án phát triển phầnmềm là đảm bảo cho dự án:

Trang 3

Quản lý dự án bao gồm các pha công việc sau:

• Theo dõi và kiểm soát dự án

• Viết báo cáo và trình diễn sản phẩm

6.1 Đại cương (tt)

Trang 4

Tiến hành quản lý dự án là người quản lý dự án, có các

nhiệm vụ và quyền hạn như sau:

Thời gian

- Tạo lập kế hoạch, điều chỉnh kế hoạch

- Kiểm tra/đối chiếu các tiến trình con với kế hoạch

- Giữ một độ mềm dẻo nhất định trong kế hoạch

- Phối hợp các tiến trình con

6.1 Đại cương (tt)

Trang 5

Tài nguyên:

+ Kinh phí,+ Thiết bị,+ Con người

Sản phẩm:

+ Chức năng của sản phẩm

Rủi ro:

+ Phân tích+ Tìm phương pháp xử lý+ Chấp nhận một số rủi ro

6.1 Đại cương (tt)

Trang 6

Người quản lý dự án còn cần phải quan tâm đến sự phốihợp với các dự án khác và thông tin cho người quản lýcấp trên

Phương pháp tiếp cận của người quản lý dự án là:

• Hiểu rõ mục tiêu (tìm cách định lượng các mục

tiêu bất cứ khi nào có thể)

• Hiểu rõ các ràng buộc (chi phí, lịch biểu, tính

năng )

• Lập kế hoạch để đạt được mục tiêu trong các ràngbuộc

• Giám sát và điều chỉnh kế hoạch

• Tạo môi trường làm việc ổn định, năng động chonhóm

6.1 Đại cương (tt)

Trang 7

Để quản lý chúng ta cần định lượng được đối tượngquản lý cần quản lý:

+ Phần mềm+ Qui trình phát triển

Chúng ta cần đo kích cỡ phần mềm, chất lượng phầnmềm, năng suất phần mềm

6.2 Độ đo phần mềm

Trang 8

Có hai phương pháp phổ biến để đo kích cỡ phần mềm là:

+ Đo số dòng lệnh (LOC - Lines Of Code)+ Đo điểm chức năng (FP - Function Points)

- Độ đo LOC tương đối trực quan, tuy nhiên phụ thuộc rấtnhiều vào ngôn ngữ lập trình cụ thể

- Từ kích cỡ của phần mềm (LOC), chúng ta có thể tínhmột số giá trị như:

+ Hiệu năng = KLOC/người-tháng+ Chất lượng = số khiếm khuyết/KLOC+ Chi phí = giá thành/KLOC

6.2.1 Đo kích cỡ phần mềm

Trang 9

Các thông số của các dự án đã phát triển trong quákhứ sẽ được dùng dể phục vụ cho ước lượng cho cácphần mềm sẽ phát triển

Điểm chức năng FP được tính dựa trên đặc tả yêucầu và độc lập với ngôn ngữ phát triển

Tuy nhiên nó lại có sự phụ thuộc vào các tham sốđược thiết lập dựa trên kinh nghiệm

6.2.1 Đo kích cỡ phần mềm (tt)

Trang 10

Mô hình cơ sở của tính điểm chức năng là:

F P = a1I + a2O + a3E + a4L + a5F,

Trang 11

Người ta còn thiết lập một số độ đo phần mềm dựatrên thống kê như sau:

-Độ tin cậy MTBF - Mean Time Between Failure: thờigian chạy liên tục của hệ thống

-Thời gian khôi phục hệ thống MTTR - Mean Time

To Repair

- Tính sẵn có M T B F /(M T B F + M T T R )

6.2.2 Độ đo dựa trên thống kê

Trang 12

Công việc đầu tiên của người quản lý dự án là ướclượng:

+ Kích cỡ + Chi phí + Thời gian tiến hành dự án.

Việc này thông thường được tiến hành bằng cách phân

rã phần mềm cần phát triển thành các khối nhỏ và áp

dụng các kinh nghiệm (các thông số như kích cỡ, chi

phí, năng lực nhân viên ) đối với các phần mềm đã

phát triển để ước lượng, đánh giá công việc

6.3 Ước lượng

Trang 13

Một mô hình ước lượng hay được dùng là mô hình

COCOMO - Constructive Cost Model ước lượng chi

phí từ số dòng lệnh

Dùng mô hình này ta sẽ có thể ước lượng các thông

số sau:

+ Nỗ lực phát triển E = aLb+ Thời gian phát triển T = cEd+ Số người tham gia N = E /T

Trong đó a,b,c,d là các tham số tùy thuộc vàotừng loại dự án

6.3 Ước lượng (tt)

Trang 14

Điểm đáng chú ý ở đây là từ nỗ lực phát triển chúng

ta suy ra thời gian và số người tham gia vào dự án

Bảng 6.1: COCOMO - Các tham số cơ sở

6.3 Ước lượng (tt)

Trang 15

Các bước tiến hành của COCOMO như sau:

- Thiết lập kiểu dự án (organic: đơn giản, detached: trung bình, embeded: phức tạp)

semi Xác lập các mô đun và ước lượng dòng lệnh

- Tính lại số dòng lệnh trên cơ sở tái sử dụng

- Tính nỗ lực phát triển E cho từng mô đun

- Tính lại E dựa trên độ khó của dự án (mức độ tin cậy,

kích cỡ CSDL, yêu cầu về tốc độ, bộ nhớ, )

- Tính thời gian và số người tham gia

6.3 Ước lượng (tt)

Trang 16

Đo phần mềm là công việc rất khó khăn do:

• Hầu hết các thông số đều không đo được một cáchtrực quan

• Rất khó thẩm định được các thông số

• Không có mô hình tổng quát

• Các kỹ thuật đo còn đang thay đổi

Chúng ta không thể kiểm soát được quá trình sản xuất

phần mềm nếu không ước lượng (đo) nó.

Một mô hình ước lượng nghèo nàn vẫn hơn là không

có mô hình nào và phải liên tục ước lượng lại khi dự ántiến triển

6.3 Ước lượng (tt)

Trang 17

Chi phí (trả công) con người là phần chính của chi phí

xây dựng phần mềm

Năng lực của người phát triển phần mềm lại rất biếnthiên, kéo theo sự phức tạp trong tính toán chi phí

Phát triển phần mềm được tiến hành theo nhóm

- Kích thước tốt của nhóm là từ 3 đến 8 ngưòi

- Phần mềm lớn thường được xây dựng bởi nhiềunhóm nhỏ

6.4 Quản lý nhân sự

Trang 18

Một nhóm phát triển có thể gồm các loại thành viênsau:

Người phát triển

• Chuyên gia về miền ứng dụng

• Người thiết kế giao diện

• Thủ thư phần mềm

• Người kiểm thử

6.4 Quản lý nhân sự (tt)

Trang 19

- Một nhóm phát triển cần có người quản lý, và người

có vai trò lãnh đạo về mặt kĩ thuật

- Một đặc trưng của làm việc theo nhóm là sự trao đổi

thông tin (giao tiếp) giữa các thành viên trong nhóm.

-Thời gian dùng cho việc giao tiếp có thể chiếm đếnnửa tổng thời gian dành cho phát triển phần mềm

- Một người có thể đồng thời làm việc cho nhiều nhóm

(dự án) phần mềm khác nhau.

- Điều này làm cho việc tính toán giá thành phần mềmphức tạp

6.4 Quản lý nhân sự (tt)

Trang 20

Cần ghi nhớ, trong sản xuất phần mềm:

- Năng lực của các thành viên là không đồng đều

- Người tốt (nhất) có thể sản xuất hơn 5 lần trung bình,

người kém có thể không cho kết quả gì

- Một số công việc quá khó đối với mọi người

-Không nên tăng số thành viên một cách vô ý thức,

Vì như thế chỉ làm tăng sự phức tạp giao tiếp giữa cácthành viên, khiến công việc nhiều khi chậm lại

- Một số việc (phức tạp, đặc thù) chỉ nên để một người

làm

6.4 Quản lý nhân sự (tt)

Trang 21

- Quản lý cấu hình phần mềm (còn gọi là quản lý

mã nguồn) là một công việc quan trọng trong sản

• Tạo ra một điểm truy cập duy nhất (phiên bản

thống nhất) cho người lập trình sửa đổi, thêm

bớt mã nguồn.

6.5 Quản lý cấu hình

Trang 22

Do đó chúng ta có thể dễ dàng:

• Kiểm soát được tính thống nhất của mã nguồn

• Kiểm soát được sự sửa đổi, lý do của sự sửa đổi, lýlịch các lần sửa đổi

• Dễ dàng lưu trữ và truy cập tới các phiên bản khácnhau của phần mềm

• Tối ưu hóa vùng đĩa cần thiết cho lưu trữ

6.5 Quản lý cấu hình (tt)

Trang 23

Phương thức hoạt động của các công cụ này là:

• Quản lý tập trung (mã nguồn, tư liệu, công cụ

Trang 24

Khi muốn sửa đổi mã nguồn sẽ thực hiện thao táccheck out tệp đó.

Khi tệp đã bị check out thì các người phát triển khác chỉ

có thể mở tệp dưới dạng chỉ đọc

Khi kết thúc sửa đổi và ghi tệp vào CSDL, người sửađổi tiến hành check in để thông báo kết thúc công việcsửa đổi, đồng thời có thể ghi lại các thông tin liên quan

(lý do sửa đổi ) đến sự sửa đổi.

6.5 Quản lý cấu hình (tt)

Trang 25

Dữ liệu được lưu trữ của dự án thông thường bao gồm:

Trang 26

Quản lý rủi ro là một công việc đặc biệt quan trọng và khókhăn trong phát triển phần mềm.

- Có các rủi ro sau dẫn đến chấm dứt dự án:

• Chi phí phát triển quá cao

• Quá chậm so với lịch biểu

• Tính năng quá kém so với yêu cầu

Quản lý rủi ro bao gồm các công việc chính sau:

Dự đoán rủi ro

• Đánh giá khả năng xảy ra và thiệt hại

• Tìm giải pháp khắc phục

6.6 Quản lý rủi ro

Trang 27

Các rủi ro thường xảy ra khi phát triển phần mềm và cácphương pháp khắc phục chúng:

nhất; xây dựng nhóm làm việc; đào tạo người mới

bằng các phương pháp khác nhau; lọc, loại bỏ các yêucầu không quan trọng

tích tốt hơn; phân tích tính tổ chức/mô hình nghiệp vụcủa khách hàng

6.6 Quản lý rủi ro (tt)

Trang 28

Phát triển sai giao diện: phân tích thao tác ngườidùng; tạo kịch bản cách dùng; tạo bản mẫu.

phí/lợi ích

dấu thông tin; phát triển theo mô hình tiến hóa

6.6 Quản lý rủi ro (tt)

Ngày đăng: 17/10/2014, 07:10

HÌNH ẢNH LIÊN QUAN

Bảng 6.1: COCOMO - Các tham số cơ sở - bài giảng công nghệ phần mềm chương 6 quản lý dự án phần mềm - ths. nguyễn khắc quốc
Bảng 6.1 COCOMO - Các tham số cơ sở (Trang 14)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm