các khái niệm cơ bản dự án phần mềm

36
1 BÀI 1 CÁC KHÁI NIỆM CƠ BẢN CỦA DỰ ÁN PHẦN MỀM ThS. Thạc Bình Cường

Transcript of các khái niệm cơ bản dự án phần mềm

Page 1: các khái niệm cơ bản dự án phần mềm

1

BÀI 1CÁC KHÁI NIỆM CƠ BẢN CỦA DỰ ÁN PHẦN MỀM

ThS. Thạc Bình Cường

Page 2: các khái niệm cơ bản dự án phần mềm

2

TÌNH HUỐNG DẪN NHẬP

• Chi tiêu cho Công nghệ thông tin (CNTT) thế giới tiếptục tăng, và Forrester Research dự đoán rằng chi tiêucho CNTT của Mỹ sẽ tăng 5.7% trong năm 2005, lênđến $795 tỷ.

• Trong năm 2003, trung bình quản trị dự án cấp cao ởMỹ thu nhập khoảng $90,000 một năm, và Giám đốcTrung tâm Quản trị dự án (PMO) kiếm nhiều hơnTrưởng phòng Công nghệ (CIO) ($118,633 so với$103,925).

• Quản trị dự án CNTT giống như một công trường. Mọiviệc đều rất ngổn ngang bừa bãi cần một nhà quản lýđể đưa vào trật tự.

Vai trò của quản trị dự án trong việc phát triển một dự án CNTT?

Page 3: các khái niệm cơ bản dự án phần mềm

3

MỤC TIÊU

Trình bày được các khái niệm về các vấn đề dự án và quản trị dự án.

Trình bày được các bước quá trình phát triển dự án CNTT.

Liệt kê được các kỹ thuật và mô hình kinh tế, nền kinh tế khi áp dụng các mô hình quản trị dự án.

Page 4: các khái niệm cơ bản dự án phần mềm

4

NỘI DUNG

1

Phát triển phần mềm truyền thống2

Sự tiến hóa nền kinh tế phần mềm3

Cải tiến kinh tế phần mềm4

Giới thiệu chung về dự án

Page 5: các khái niệm cơ bản dự án phần mềm

5

1. GIỚI THIỆU CHUNG VỀ DỰ ÁN

• Dự án là gì?

• Quản lý dự án là gì?

• Nói về người quản lý dự án.

Page 6: các khái niệm cơ bản dự án phần mềm

6

• Dự án là một tập hợp các công việc, được thực hiện bởi một tập thể, nhằm đạt đượcmột kết quả dự kiến, trong một thời gian dự kiến, với một kinh phí dự kiến.

Phải dự kiến nguồn nhân lực;

Phải có ngày bắt đầu, ngày kết thúc;

Phải có kinh phí thực hiện công việc;

Phải mô tả được rõ ràng kết quả (output) của công việc.

• Dự án kết thúc khi:

Hoàn thành mục tiêu đề ra và nghiệm thu kết quả (kết thúc tốt đẹp) trướcthời hạn;

Hết kinh phí trước thời hạn (kết thúc thất bại);

Đến ngày cuối cùng (nếu tiếp tục nữa cũng không còn ý nghĩa).

• Dự án thất bại khi:

Không đáp ứng các mục tiêu ban đầu;

Không đáp ứng được thời hạn;

Vượt quá ngân sách cho phép (20 - 30%).

1.1. DỰ ÁN LÀ GÌ?

Page 7: các khái niệm cơ bản dự án phần mềm

7

Không rõ mục tiêu: 18%

Không quen thuộc vớiPhạm vi và sự phứcCủa dự án: 17%

Thiếu thông tin: 21% Quản lý dự án không tốt: 32%

Lý do khác: 12%

Tại sao dự án thất bại?

• Để tránh việc thất bại dự án

0 10 20 30 40 50 60 70 80 90 %Respondents

Cải tổ việc quản lý dự án

Nghiên cứu khả thi

Tăng số các thành viên tham gia

Tăng các phương sách từ bên ngoài

Không phải những lý do trên

1.1. DỰ ÁN LÀ GÌ? (tiếp theo)

Page 8: các khái niệm cơ bản dự án phần mềm

8

• Quản lý dự án (QLDA) là việc áp dụng các công cụ, kiến thức và kỹ thuật nhằm địnhnghĩa, lập kế hoạch, tiến hành triển khai, tổ chức, kiểm soát và kết thúc dự án.

• Một dự án được quản lý tốt, tức là khi kết thúc phải thoả mãn được chủ đầu tư vềcác mặt: thời hạn, chi phí và chất lượng kết quả.

• Các nguyên lý chung của phương pháp luận QLDA:

Linh hoạt;

Hướng kết quả, không hướng nhiệm vụ (nhằm thoả mãn các thượng đế - kháchhàng);

Huy động sự tham gia của mọi người (tính chất dân chủ);

Làm rõ trách nhiệm (chữ ký);

Phân cấp có mức độ (không nên chia thành quá nhiều mức);

Tài liệu cô đọng và có chất lượng (quá nhiều tài liệu tức là có quá ít thông tin);

Kết quả quan trọng hơn công cụ hay kĩ thuật (thực dụng);

Tạo ra các độ đo tốt (để có đánh giá đúng);

Suy nghĩ một cách nhìn xa trông rộng;

Cải tiến liên tục (kế hoạch không xơ cứng).

1.2. QUẢN LÝ DỰ ÁN LÀ GÌ?

Page 9: các khái niệm cơ bản dự án phần mềm

9

Thực hiệndự án

Nguồn

Các đầu vào khác

Các yêu cầuCác kết quả bàn giaocủa dự án

Các đầu ra khác

Quản lýdự án

Những yêu cầu của người quản lý

• Quản lý và thực hiện dự án:

1.2. QUẢN LÝ DỰ ÁN LÀ GÌ? (tiếp theo)

Page 10: các khái niệm cơ bản dự án phần mềm

10

• Lợi ích của kế hoạch quản lý:

Rủi ro khi không lập kế hoạch;

Khởi đầu sai lệch;

Bị nhầm lẫn;

Không đáp ứng được sự mong đợi của các nhà tài trợ hoặc các mục tiêu;

Thông tin nghèo nàn.

• Lợi ích khi lập kế hoạch quản lý:

Đáp ứng các mục tiêu;

Gây dựng lòng tin từ người góp vốn;

Thiết lập hướng làm việc chung;

Mở ra các kênh thông tin liên lạc;

Bắt đầu dự án với một phương thức có hệ thống.

1.2. QUẢN LÝ DỰ ÁN LÀ GÌ? (tiếp theo)

Page 11: các khái niệm cơ bản dự án phần mềm

11

• Lập kế hoạch quản lý bao gồm: Xác định ranh giới của dự án: Đội lập kế hoạch, văn bản/thông tin hiện có; Xây dựng các lựa chọn tiếp cận của dự án: Chiến lược thực hiện và các phương

pháp luận tổ chức dự án; Xây dựng các ước tính ban đầu; Xây dựng cơ sở hạ tầng nguồn: Môi trường làm việc, MOC; Xây dựng cơ sở hạ tầng của dự án: Quản lý cấu hình, chất lượng, rủi ro, sự

kiện, sự thay đổi, kiểm soát dự án, lập báo cáo và lập kế hoạch; Lập thành văn bản về kế hoạch quản lý.

• Các phong cách QLDA: Sau khi vạch kế hoạch rồi, phó mặc cho người khác thực hiện, không quan tâm

theo dõi. Khi có chuyện gì xảy ra mới nghĩ cách đối phó; Một đề tài nghiên cứu khoa học: Không có sáng kiến mới, cứ quanh quẩn với

các phương pháp cũ, công nghệ cũ; Thiết lập hướng làm việc chung; Không lo lắng đến thời hạn giao nộp sản phẩm, đến khi dự án sắp hết hạn thì

mới lo huy động thật đông người làm cho xong; Quản lý chủ động, tích cực. Suốt quá trình thực hiện dự án không bị động về

kinh phí, nhân lực và tiến độ đảm bảo (lý tưởng).

1.2. QUẢN LÝ DỰ ÁN LÀ GÌ? (tiếp theo)

Page 12: các khái niệm cơ bản dự án phần mềm

12

• QLDA thụ động có những đặc tính:

QLDA luôn đứng sau các mục tiêu của dự án;

Hấp tấp, bị kích động, tương lai ngắn hạn;

Khi làm quyết định, chỉ nghĩ đến các khó khăn trở ngại tạm thời, trước mắt,không nghĩ đến liệu rằng đó có phải là một bước đi đúng hay không;

Không kiểm soát được tình thế, nhiều khi phải thay đổi kế hoạch và tổ chức.

• Hậu quả của QLDA thụ động:

Kết quả thu được không ổn định;

Tinh thần làm việc không cởi mở, hợp tác;

Năng suất thấp, công việc không chạy;

Rối loạn trong điều hành;

Không sử dụng hiệu quả tài nguyên;

Người quản lý dự án bị dự án quản lý;

Hồ sơ dự án kém chất lượng;

Chậm tiến độ, tiêu vượt quá kinh phí;

Chất lượng dự án không đảm bảo.

1.2. QUẢN LÝ DỰ ÁN LÀ GÌ? (tiếp theo)

Page 13: các khái niệm cơ bản dự án phần mềm

13

• Các thuộc tính của dự án IT: Kết quả bàn giao có thể là ít hữu hình; Phạm vi có thể khó kiểm soát; Kỹ năng, kinh nghiệm, thái độ và kỳ vọng trái ngược nhau; Có thể bất đồng về mục tiêu kinh doanh; Thay đổi quan trọng về tổ chức; Các yêu cầu, phạm vi, và lợi nhuận chính xác có thể rất khó xác định; Sự thay đổi nhanh chóng về công nghệ.

• Lưu ý: Quản lý dự án thành công chính là vấn đề về con người; Khám phá các nguồn hỗ trợ và ngăn trở; Nhìn bản chất, không tin hiện tượng; Người khác có cách nhìn khác nhau; Thiết lập kế hoạch chỉnh sửa dễ dàng; Dám đối mặt với sự kiện; Sử dụng quản trị để hỗ trợ cho các mục đích của dự án; Thời gian mục tiêu đối với từng nhiệm vụ không được giống như đã nêu trong

kế hoạch; Đọc lại phạm vi và các mục tiêu của dự án mỗi tuần một lần; Không ngạc nhiên.

1.2. QUẢN LÝ DỰ ÁN LÀ GÌ? (tiếp theo)

Page 14: các khái niệm cơ bản dự án phần mềm

14

• Người kỹ sư mang nhiều đặc tính của công nghệ.

• Người quản lý mang nhiều đặc tính của nghệ thuật.• Dự án nhỏ thì người kỹ sư kiêm người quản lý dự án. Dự án lớn sẽ cần nhóm quản lý

dự án.

• Bảng phân vai trong dự án:

Người quản lí dự án (PM - Project Manager): Chịu trách nhiệm chính về kết quảcủa dự án. Có vai trò chủ chốt trong việc xác định các mục đích và mục tiêu,xây dựng các kế hoạch dự án, đảm bảo dự án được thực hiện có hiệu lực vàhiệu quả.

Người tài trợ dự án (PS - Project Sponsor). Cấp tiền cho dự án hoạt động, phêduyệt dự án, quyết định cho dự án đi tiếp hay cho chết giữa chừng.

Tổ dự án (PT - Project Team). Hỗ trợ cho PM để thực hiện thành công dự án.Bao gồm những người vừa có kỹ năng (skill) và năng lực (talent).

Khách hàng (Client): Thụ hưởng kết quả dự án. nêu yêu cầu, cử người hỗ trợdự án. Là người chủ yếu nghiệm thu kết quả dự án.

Ban lãnh đạo (Senior Mangement): Bổ nhiệm PM và PT, tham gia vào việc hìnhthành và xây dựng dự án.

Các nhóm hỗ trợ (có thể có nhiều hay ít, tuỳ từng dự án): Ban điều hành(Steering Committee), nhóm tư vấn, nhóm kỹ thuật, nhóm thư ký, ...

1.3. NÓI VỀ NGƯỜI QUẢN LÝ DỰ ÁN

Page 15: các khái niệm cơ bản dự án phần mềm

15

Tổ dự án

Người sử dụng

Người quản lý dự án

Ban chỉ đạo dự án

Người tài trợ dự án

Ban lãnh đạo

1.3. NÓI VỀ NGƯỜI QUẢN LÝ DỰ ÁN (tiếp theo)

Page 16: các khái niệm cơ bản dự án phần mềm

16

• Trách nhiệm của QLDA:

Trách nhiệm chính Chi tiết

Nêu ra những điểm bao quát chung Về công việc, cấu trúc phân việc, lịch biểu và ngân sách

Trao đổi với các đồng nghiệp Bao gồm các báo cáo, biểu mẫu, bản tin, hội họp và thủ tục làm việc. Ý tưởng là trao đổi cởi mở và trung thực trên cơ sở đều đặn

Động viên, khuấy động tinh thần làm việc Bao gồm khích lệ, phân việc, mời tham gia và ủy quyền

Định hướng công việc Bao gồm điều phối, theo dõi, thu thập hiện trạng và đánh giá hiện trạng

Hỗ trợ cho mọi người

1.3. NÓI VỀ NGƯỜI QUẢN LÝ DỰ ÁN (tiếp theo)

Page 17: các khái niệm cơ bản dự án phần mềm

17

1.3. NÓI VỀ NGƯỜI QUẢN LÝ DỰ ÁN (tiếp theo)• Chọn nhân sự cho dự án:

Kiến thức kỹ thuật; Chuyên môn đặc biệt; Đã có kinh nghiệm; Đã tham gia dự án nào chưa? Quyền lực của phòng, ban của người đó? Hiện có tham gia dự án nào khác không? Khi nào kết thúc? Dành bao nhiêu thời gian cho dự án? Khối lượng công việc chuyên môn hiện nay; Quan hệ đồng nghiệp; Có hăng hái tham gia; Có truyền thống làm việc với hiệu quả cao không? Có ngăn nắp và quản lý thời gian tốt không? Có tinh thần trách nhiệm không? Có tinh thần hợp tác không? Thủ trưởng của người đó có ủng hộ không?

Page 18: các khái niệm cơ bản dự án phần mềm

18

• Xây dựng tập thể vững mạnh:

Bổ nhiệm người phụ trách;

Phân bổ trách nhiệm;

Khuyến khích tinh thần đồng đội;

Làm phát sinh lòng nhiệt tình;

Thành lập sự thống nhất chỉ huy;

Quản lý trách nhiệm;

Cung cấp môi trường làm việc tốt;

Trao đổi với đồng nghiệp.

• Sức ép với QLDA: Kinh tế, marketing, các chuẩn về công nghệ, mục tiêu, uy tín danhdự, nguồn nhân lực, nhân sự, thủ tục hành chính, quan hệ với người đặt hàng, môitrường kinh doanh.

• Phẩm chất QLDA: Trung thực, toàn tâm toàn ý, khả năng diễn đạt, khả năng chia sẻthông cảm với người khác, nhất quán, kiên nhẫn, tính kiên quyết, khách quan, tầmnhìn xa trông rộng, …

1.3. NÓI VỀ NGƯỜI QUẢN LÝ DỰ ÁN (tiếp theo)

Page 19: các khái niệm cơ bản dự án phần mềm

19

2. PHÁT TRIỂN PHẦN MỀM TRUYỀN THỐNG

• Sơ lược về quá trình – dự án truyền thống:

Dạng Văn bản không theo thể thức

Sơ đồ luồng Chương trình nguồn Vạch ranh giới cấu hình

Hoạt động Yêu cầu phân tích Thiết kế chương trình

Lập trình và kiểm thử

Tích hợp theo tỷ lệ mở rộng và kiểm sửa

Sản phẩm Tài liệu Tài liệu Chương trình Vạch ranh giới yếu ớt

Các hoạt động kế tiếp: Yêu cầu – thiết kế - lập trình – tích hợp – kiểm sửa

Bắt đầu tích hợp

Điểm gián đoạn thiết kế chậm

Ngày đạt mục tiêu gốc

Lịch trình dự án

Tiến

độ

phát

triể

n (%

lập

trìn

h)

100%

Page 20: các khái niệm cơ bản dự án phần mềm

20

• Các kinh nghiệm của quá trình phát triển phần mềm:

Quá trình phát triển là không dự đoán được rất cao. Chỉ có 10% dự án là đúnghạn và ngân sách;

Các nguyên tắc quản lý là khó phân biệt được thành công hay thất bại như cáctiến bộ công nghệ;

Các mức vụn vặt và làm lại phần mềm là xác định trong tiến trình tăng trưởng.

• Hai bước cơ bản để xây một chương trình:

Phân tích và lập trình sẽ bao gồm các công việcsáng tạo mà nó đóng góp trực tiếp tới tính hữudụng của sản phẩm.

Phân tích

Lập trình

2. PHÁT TRIỂN PHẦN MỀM TRUYỀN THỐNG (tiếp theo)

Page 21: các khái niệm cơ bản dự án phần mềm

21

Yêu cầu hệthống

Yêu cầu phầnmềm

Phân tích

Thiết kếchương

Lập trình

Kiểm sửa

Thực hiện

• Mô hình thác nước cổ điển:

2. PHÁT TRIỂN PHẦN MỀM TRUYỀN THỐNG (tiếp theo)

Page 22: các khái niệm cơ bản dự án phần mềm

22

• Chi phí:

STT Hoạt động Chi phí (%)

1 Quản lý 5

2 Xác định yêu cầu 5

3 Thiết kế 10

4 Mã hóa và kiểm sửa 30

5 Tích hợp và kiểm sửa 40

6 Triển khai 5

7 Môi trường 5

2. PHÁT TRIỂN PHẦN MỀM TRUYỀN THỐNG (tiếp theo)

Page 23: các khái niệm cơ bản dự án phần mềm

23

2. PHÁT TRIỂN PHẦN MỀM TRUYỀN THỐNG (tiếp theo)

• Sơ lược rủi ro:

Kiểm sửaSơ lược rủi roSơ lược rủi roYêu cầu

Chiề

u hư

ớng

rủi r

o củ

a dự

án

Thấp

Cao Định hướng tập trung chu kỳ giải trình

rủi ro

Điều khiển chu kỳ quản

lý rủi ro

Chu kỳ khai thác rủi ro

Chu kỳ chi tiết hóa rủi ro

Vòng đời dự án

Page 24: các khái niệm cơ bản dự án phần mềm

24

• Lập tài liệu và điều khiển dự án:

Nhà dự thầu (contractor) chuẩn bị một tài liệu hợp đồng để phân phát chokhách hàng duyệt mà nó bảo đảm nắm bắt được các mẫu phát triển qua cácbước trung gian;

Khách hàng có góp ý trở lại (trong vòng 15 đến 30 ngày);

Nhà thầu sau khi xem xét lại các ý kiến của khách hàng và nộp lại bản cuối cùngđể duyệt (cũng trong vòng 15 tới 30 ngày).

• Các kinh nghiệm cụ thể:

Các kinh nghiệm ban đầu thường thấy thông qua thiết kế trên giấy và qua đóthường rất tóm tắt.

Vi phạm về sự mã hoá muộn trong vòng đời dự án;

Việc tích hợp hệ thống gây ra ác mộng về các vấn đề thể hiện không nhìn thấytrước và sự nhập nhằng về các giao diện giữa chúng;

Thờì gian và tài chính là các áp lực cho hệ thống làm việc;

Một sản phẩm không tối ưu nhưng đã chót làm và không có thời gian thiếtkế lại;

Một sản phẩm rất yếu ớt, khó bảo trì và phân phối rất muộn mằn.

2. PHÁT TRIỂN PHẦN MỀM TRUYỀN THỐNG (tiếp theo)

Page 25: các khái niệm cơ bản dự án phần mềm

25

• Tóm tắt các vấn đề về thực tiễn:

Việc tích hợp kéo dài và phá vỡ thiết kế sau này;

Sự giải quyết rủi ro quá muộn;

Có yêu cầu phân rã theo chức năng;

Mối quan hệ giữa các cổ đông đối nghịch nhau;

Chỉ tập trung vào tài liệu và các cuộc họp rà soát lại.

• Năm cải tiến cần thiết đối với mô hình thác nước:

Hoàn thiện thiết kế chương trình trước khi bắt đầu phân tích và mã hóa (xâydựng) chương trình;

Bảo trì hiện hành và hoàn thiện tài liệu;

Làm các nhiệm vụ hai lần nếu có thế;

Lập kế hoạch, điều khiển và theo dõi kiểm tra;

Trao đổi sâu sát và thu hút khách hàng.

2. PHÁT TRIỂN PHẦN MỀM TRUYỀN THỐNG (tiếp theo)

Page 26: các khái niệm cơ bản dự án phần mềm

26

2. PHÁT TRIỂN PHẦN MỀM TRUYỀN THỐNG (tiếp theo)• Danh sách dẫn đầu 10 độ đo phần mềm công nghiệp của Boehm:

Sửa chữa sau khi đã phân phối tốn kém hơn 100 lần so với sửa ngay từ đầu; Bạn có thể nén lịch trình thời gian kế hoạch tới 25%, nhưng không thể nhiều

hơn được; Với $1 cho phát triển thì cần $2 cho bảo trì; Chi phí chủ yếu là hàm của dòng chương trình nguồn; Sự thay đổi con người sẽ gây ra sự khác nhau rất lớn của năng suất (in

productivity); Tỷ lệ chi phí giữa phần mềm và phần cứng là 85:15 và ngày càng tăng lên; Chỉ có khoảng 15% của các chi phí phần mềm là liên quan đến lập trình; Các hệ thống phần mềm chi phí gấp 3 lần so với chương trình phần mềm riêng

rẽ. Các sản phẩm phần mềm hệ thống chi phí còn gấp cả 9 lần; Duyệt qua phần mềm chỉ bắt được 60% lỗi; 80% đóng góp đến từ 20% các nhà góp vốn.

• Luật 80/20: 80% công nghệ tiêu thụ bởi 20% yêu cầu; 80% chi phí phần mềm tiêu thụ bởi 20% thành phần; 80% sai sót là nguyên nhân gây ra bởi 20% thành phần; 80% phần mềm bị loại bỏ và phải làm lại là do nguyên nhân của 20% sai sót; 80% nguồn tài nguyên tiêu thụ là do 20 % thành phần; 80% công nghệ là hoàn thành bởi 20% công cụ; 80% sự tiến bộ của dự án được thực hiện bởi 20 % con người.

Page 27: các khái niệm cơ bản dự án phần mềm

27

• Nền kinh tế phần mềm;

• Sự ước lượng chi phí phần mềm thực tế.

3. SỰ TIẾN HÓA NỀN KINH TẾ PHẦN MỀM

Page 28: các khái niệm cơ bản dự án phần mềm

28

• Mô hình chi phí phần mềm bao gồm 5 tham số:

Kích cỡ của sản phẩm cuối thông thường số dòng chương trình nguồn.

Tiến trình xử lý để đưa ra sản phẩm cuối.

Khả năng của nhân sự.

Môi trường – Các công cụ và kỹ thuật.

Chất lượng yêu cầu của sản phẩm cuối.

• Công thức lượng giá chi phí:

Chi phí = (Nhân sự)(Môi trường)(Chất lượng)(Kích thướctiến trình).

• Ba giai đoạn phát triển phần mềm được thể hiện ở hình vẽ sau:

3.1. NỀN KINH TẾ PHẦN MỀM

Page 29: các khái niệm cơ bản dự án phần mềm

29

3.1. NỀN KINH TẾ PHẦN MỀM (tiếp theo)

- 1960s-1970s- Mô hình thác nước- Thiết kế chức năng- Tỷ lệ phi kinh tế

- 1980s-1990s- Cải tiến tiến trình- Dựa vào bao bọc- Tỷ lệ phi kinh tế

- 2000 và sau đó- Sự phát triển lặp đi lặp lại- Thành phần- Kết quả đầu tư

ROI phầnmềm

Môi trường/Công cụTập quán

Môi trường/Công cụKhông lỗi thời, riêng rẽ

Môi trường/Công cụKhông lỗi thời, tích hợp

Kích thước:100% tập quán

Kích thước:30% dựa vào thành phần cơ bản70% tập quán

Kích thước:70% dựa vào thành phần cơ bản30% tập quán

Tiến trình:Theo trường hợp đặc biệt

Tiến trình:Có thể lặp lại

Tiến trình:Quản lý/phân phối

Kích thước phần mềm

Sự phù hợp môi trường, kích thước và các công nghệ tiến trình

Hiệu năng của dự án điển hình

Khả năng dự đoán tồiLuôn luôn:

Vượt quá ngân sáchVượt quá lịch trình

Không có khả năng dự đoán Không thường xuyên:

Đúng ngân sáchĐúng lịch trình

Có khả năng dự đoánThường xuyên:Đúng ngân sáchĐúng lịch trình

Chi p

Page 30: các khái niệm cơ bản dự án phần mềm

30

• Đánh giá các điểm chức năng: Sự biến đổi chương trình nguồn làm cơ sở cho việc đánh giá; Sử dụng các điểm chức năng “Function Points” để đánh giá chi phí:

Các dữ liệu đầu vào của người sử dụng Các dữ liệu đầu ra Nhóm các dữ liệu cục bộ Giao diện dữ liệu ngoài Các dạng câu hỏi ngoài

• Độ chính xác: Toàn bộ độ chính xác của việc đánh giá chi phí phần mềm hiện tạiđược mô tả như là "… 20 % sự chính xác , 70 % về thời gian…“

• Tiến trình chi phí nổi bật được mô tả như sau:

Nhà quản lý phần mềm, nhà quản lý kiến trúc phần mềm, nhà quản lý phát triển phần mềm, nhà quản lý định giá

phần mềm

Mô hình chi phí

Chi phí ước lượng

“Đây là sự biện hộ nào đó về giá trị đó”

Các rủi ro, sự lựa chọn, trả giá, thay thế

“Dự án này phải có giá trị là $X để chiến thắng trong nền thương mại này”

3.2. SỰ ƯỚC LƯỢNG CHI PHÍ PHẦN MỀM THỰC TẾ

Page 31: các khái niệm cơ bản dự án phần mềm

31

• Các thuộc tính của đánh giá tốt:

Việc đánh giá phải được nhận thức và hỗ trợ bởi mọi các thành viên tham giadự án;

Cán bộ quản lý dự án, đội kiến trúc, đội phát triển và đội kiểm thử trong từngcông việc của họ;

Việc đánh giá phải được chấp nhận bởi tham vọng của toàn bộ các cổ đôngnhưng cần hiện thực;

Việc đánh giá dựa vào mô hình xác định chuẩn với nền tảng tin cậy;

Việc đánh giá dựa trên các kinh nghiệm của các dự án trước;

Việc đánh giá được chi tiết cụ thể và đặc biệt quan tâm hiểu biết tới lĩnh vựcrủi ro.

3.2. SỰ ƯỚC LƯỢNG CHI PHÍ PHẦN MỀM THỰC TẾ (tiếp theo)

Page 32: các khái niệm cơ bản dự án phần mềm

32

• Năm tiêu chí cải tiến nền kinh tế phần mềm: Giảm kích cỡ của phần mềm; Cải tiến tiến trình phát triển phần mềm; Sử dụng các nhân sự có kỹ năng và nhóm đội tốt hơn; Sử dụng môi trường, công cụ phát triển phần mềm tốt hơn; Thoả hiệp, cân nhắc, hoặc thúc đẩy các mặt còn yếu dựa vào ngưỡng chất

lượng.• Giảm kích thước phần mềm:

Lựa chọn ngôn ngữ lập trình; Áp dụng các phương pháp hướng đối tượng và mô hình hoá trực quan; Sử dụng lại phần mềm; Các thành phần phần mềm thương mại hoá.

• So sánh các điểm chức năng qua ví dụ ngôn ngữ: 1,000,000 dòng lệnh - ngôn ngữ Assembly; 400,000 dòng lệnh - ngôn ngữ C; 220,000 dòng lệnh - ngôn ngữ Ada 83; 175,000 dòng lệnh - ngôn ngữ Ada 95 hoặc C++.

4. CẢI TIẾN NỀN KINH TẾ PHẦN MỀM

Page 33: các khái niệm cơ bản dự án phần mềm

33

• Phương pháp hướng đối tượng và mô hình trực quan:

Việc nắm bắt tính trừu tượng hoá của phần mềm dẫn đến giao tiếp và làm việctheo đội nhóm tốt hơn;

Việc tích hợp liên tục thường xuyên dẫn đến nhận biết các rủi ro sớm và hạnchế chi phí chỉnh sửa;

Kiến trúc hướng đối tượng đảm bảo phân tách các thành phần của hệ thống vàtạo bức tường ngăn cản các sự cố lan truyền nhằm giảm chi phí;

Mô hình hướng đối tượng và trực quan tạo ra kiến trúc vững chắc nhằm tạo rasản phẩm sạch và giảm chi phí.

• Sử dụng lại phầm mềm:

Kiến trúc phần mềm chung;

Môi trường phát triển;

Các hệ điều hành;

Hệ thống quản trị CSDL;

Các sản phẩm trên mạng;

Các ứng dụng văn phòng.

4. CẢI TIẾN NỀN KINH TẾ PHẦN MỀM (tiếp theo)

Page 34: các khái niệm cơ bản dự án phần mềm

34

• Chi phí sử dụng lại và lập lịch:

1 giải pháp dự án: $N và M tháng

2 giải pháp dự án: trên 50% chi phí và 100% thời gian

5 giải pháp dự án: trên 125% chi phí và trên 150% thời gian

Giải pháp nhiều dự án: Thao tác với giá trị cao tên đơn vị đầu tư, các sản phẩm thương mại điển hình

Số dự án sử dụng thành phần có thể tái sử dụng được

Phát

triể

n ch

i phí

lập

lịch

tài n

guyê

n4. CẢI TIẾN NỀN KINH TẾ PHẦN MỀM (tiếp theo)

Page 35: các khái niệm cơ bản dự án phần mềm

35

CÂU HỎI THẢO LUẬN

Xu hướng nền kinh tế phần mềm trong những năm gần đây như thế nào?

Page 36: các khái niệm cơ bản dự án phần mềm

36

TÓM LƯỢC CUỐI BÀI

• Phát triển phần mềm thông thường ngày nay không đáng tin

cậy và lạc hậu.

• Mô hình thác nước cần cải tiến để làm việc thỏa đáng. Thực

tiễn thông thường đảm bảo các tiêu chuẩn cho việc cải tiến

trong tương lai và thay đổi các phương pháp phát triển

phần mềm.

• Đánh giá phần mềm phải dựa vào việc phân tích cụ thể và

được hỗ trợ bởi các thành viên.

• Cải tiến nền kinh tế phần mềm phải dựa vào việc giảm kích

thước, sử dụng các thành viên có kỹ năng và cân đối các chỉ

tiêu phần mềm tương lai.