26
 1 TRƯỜNG ĐẠI HC BÁCH KHOA HÀ NI  VIN CÔNG NGHTHÔNG TIN VÀ TRUYN THÔNG  BMÔN CÔNG NGHPHN MM    BÀI TP LN MÔN HC KNĂNG LP BÁO CÁO KTHUT  VÀ DÁN ĐỀ TÀI TÌM HIU:  Mô Hình Cocomo II và Cách Ước Lượng DÁn  Ging Viên Hướng Dn: Th.s Nguyn Đức Trung  Sinh Viên Thc Hin : Mã ssinh viên:  Lp sinh viên:  Mã hc phn:  Phm Hng Thành  20082406 Công nghphn mm K53  IT4530 Hà Ni 4/2012 

New Microsoft Word Document

Embed Size (px)

Citation preview

5/16/2018 New Microsoft Word Document - slidepdf.com

http://slidepdf.com/reader/full/new-microsoft-word-document-55ab4fbb39663 1/26

1

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI 

VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG 

BỘ MÔN CÔNG NGHỆ PHẦN MỀM 

   

BÀI TẬP LỚN MÔN HỌC KỸ NĂNG LẬP BÁO CÁO KỸ THUẬT 

VÀ DỰ ÁN 

ĐỀ TÀI TÌM HIỂU: 

Mô Hình Cocomo II và Cách Ước Lượng Dự Án 

Giảng Viên Hướng Dẫn: Th.s Nguyễn Đức Trung Sinh Viên Thực Hiện:

Mã số sinh viên: 

Lớp sinh viên: 

Mã học phần: 

Phạm Hồng Thành 

20082406

Công nghệ phần mềm K53 

IT4530

Hà Nội 4/2012 

5/16/2018 New Microsoft Word Document - slidepdf.com

http://slidepdf.com/reader/full/new-microsoft-word-document-55ab4fbb39663 2/26

2

MỤC LỤC

CHƢƠNG 1: TỔNG QUAN VỀ ƢỚC LƢỢNG ......................................................... 4 1.1 Quá trình thiết lập phạm vi dự án ........................................................................ 4 1.2 Quá trình xác định độ đo phần mềm ................................................................... 5 1.3 Quá trình phân rã phần mềm ............................................................................... 5 

CHƢƠNG 2: MÔ HÌNH COCOMO II ........................................................................ 6 2.1 Mô hình Cocomo II cho các khu vực thị trƣờ ng phần mềm ............................... 6 2.2 Đặc điểm cơ bản của Cocomo II ......................................................................... 7 2.3 Mô hình tổng hợ p ứng dụng ................................................................................ 9 

2.3.1 Tiếp cận ......................................................................................................... 9 2.3.2 Thủ tục tính điểm đối tƣợ ng ......................................................................... 9 

2.4 Mô hình thiết kế sớ m ........................................................................................ 11 2.5 Mô hình hậu kiến trúc ....................................................................................... 12 

CHƢƠNG 3: DÙNG COCOMO II ĐỂ ƢỚC LƢỢNG DỰ ÁN .............................. 13 3.1 Mô tả về Project ................................................................................................ 13 3.2 Sử dụng mô hình Cocomo II ............................................................................. 13 

3.2.1 Đếm số dòng lệnh của dự án (SLOC) ......................................................... 13 3.2.2 Lƣợ ng giá phần mềm bằng công cụ CostStar ............................................. 14 

3.3 Giớ i thiệu một số Tool ...................................................................................... 18 3.3.1 USC-Cocomo II .......................................................................................... 18 3.3.2 Công cụ Costar............................................................................................ 25 

TÀI LIỆU THAM KHẢO .......................................................................................... 26 

5/16/2018 New Microsoft Word Document - slidepdf.com

http://slidepdf.com/reader/full/new-microsoft-word-document-55ab4fbb39663 3/26

3

DANH MỤC CÁC HÌNH TRONG BÁO CÁO

Hình 1: Giao diện USC-Cocomo II ............................................................... 18 Hình 2: Thông tin bản quyền USC-Cocomo II ............................................. 19 Hình 3: Chức năng trên giao diện USC-Cocomo II ...................................... 19 Hình 4: Trƣờ ng SLOC trong USC-Cocomo II .............................................. 20 Hình 5: Mô hình Function Point .................................................................... 21 Hình 6: Adaptation Adjustment Factor ......................................................... 21 Hình 7: Effort Adjustment Factor (EAF) ...................................................... 22 Hình 8: Schedule Botton ............................................................................... 23 Hình 9: Scale Factor Button .......................................................................... 23 Hình 10: Model Selection Button .................................................................. 24 Hình 11: Risk Column ................................................................................... 24 Hình 12: Giao diện Costar ............................................................................. 25 Hình 13: Giao diện công thức tính Effort và Schedule ................................. 26 

DANH MỤC CÁC BẢNG TRONG BÁO CÁO

Bảng 1 :Bảng phân lớp đối tƣợ ng thực thể.................................................... 10 Bảng 2: Bảng trọng số các đối tƣợ ng ............................................................ 11 Bảng 3: Bảng tỷ lệ hiệu năng ........................................................................ 11 Bảng 4: Bảng tổng hợ p số dòng đếm đƣợ c bằng CodeCouter ...................... 14 Bảng 5: Bảng các chỉ tiêu và giá trị tham số ................................................. 16 Bảng 6: Bảng các nhân tố đƣợ c thiết lập ....................................................... 17 Bảng 7: Bảng tổng kết ................................................................................... 17 

5/16/2018 New Microsoft Word Document - slidepdf.com

http://slidepdf.com/reader/full/new-microsoft-word-document-55ab4fbb39663 4/26

4

CHƢƠNG 1: TỔNG QUAN VỀ ƢỚC LƢỢNG

Ƣớc lƣợ ng là hoạt động đầu tiên trong tiến trình quản lý dự án bao gồm:

- Ƣớc lƣợ ng dự án

- Phân tích rủi ro dự án

- Lập lịch cho dự án

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

Khi lập kế hoạch một dự án, ngƣờ i ta phải trả lờ i các câu hỏi:

- Cần bao nhiêu công sức ngƣờ i-tháng để phát triển dự án?

- Thờ i gian thực hiện dự án theo tháng ngày là bao nhiêu?

- Chi phí thực hiện dự án?

Trong nhiều trƣờ ng hợp, ngƣờ i ta sử dụng kinh nghiệm quá khứ, theo nghĩa nếudự án mớ i rất giống về kích cỡ và chức năng vớ i một dự án quá khứ thì rất có thể dự án mớ i sẽ đòi hỏi khối lƣợ ng công sức, thời gian và chi phí tƣơng đƣơng dự áncũ. Vậy trong trƣờ ng hợp không tìm đƣợ c dự án cũ tƣơng đƣơng thì sao? Rõ ràngchỉ ƣớc lƣợ ng bằng kinh nghiệm không chƣa đủ.

Có nhiều phƣơng pháp ƣớc lƣợ ng phần mềm khác nhau, ví dụ  phƣơng phápđiểm chức năng, COCOMO..., và chúng đều có các đặc điểm chung nhƣ sau: 

- Phải thiết lập phạm vi dự án trƣớ c

- Xác định độ đo phần mềm để tiến hành ƣớc lƣợ ng

- Phân rã dự án để tiến hành đo 

1.1 Quá trình thiết lập phạm vi dự án

Thiết lập phạm vi dự án (phạm vi phần mềm) là việc định giá các chức năng vàhiệu suất của phần mềm cần đạt tới. Định giá phải dễ hiễu, không mơ hồ, theonghĩa các dữ liệu định lƣợng nhƣ số ngƣời dùng đồng thờ i, kích cỡ danh sách, thờ igian đáp ứng... phải đƣợ c thiết lập tƣờ ng minh, các ràng buộc (về không gian lƣutrữ, về bộ nhớ , về hệ điều hành) phải đƣợ c ghi lại... Trong thiết lập phạm vi dự án,phải có đƣợ c những ƣớc lƣợ ng về tài nguyên cần cho việc hoàn thành dự án. Tàinguyên bao gồm con ngƣờ i, phần cứng và phần mềm.

Tài nguyên con ngƣờ i bao gồm các vị  trí công tác, năng lực, số  lƣợ ng. Tàinguyên phần cứng là các thiết bị phần cứng có thể sử dụng trong dự án nhƣ: Có

5/16/2018 New Microsoft Word Document - slidepdf.com

http://slidepdf.com/reader/full/new-microsoft-word-document-55ab4fbb39663 5/26

5

bao nhiêu máy chủ, máy tính cá nhân, chạy trên các nền nào... Tài nguyên phầnmềm bao gồm các công cụ hỗ trợ thiết kế, hỗ trợ quản lý dự án, hỗ trợ lập trình...

1.2 Quá trình xác định độ đo phần mềm

Có nhiều độ đo khác nhau tuỳ theo mục đích đo. Các độ đo có thể đƣợ c chiathành: độ đo kỹ thuật, độ đo chất lƣợng, độ đo hiệu năng, độ đo hƣớ ng kích cỡ, độ đo hƣớ ng chức năng và độ đo hƣớng con ngƣờ i. Tuy nhiên, hai loại độ đo thƣờ ngđƣợ c sử dụng nhiều nhất là độ đo theo kích cỡ  và độ đo theo chức năng. 

Độ đo theo kích cỡ  thƣờ ng lấy là số dòng mã lệnh (KLSOC) của toàn bộ phầnmềm. Đây là cách đo trực tiếp. Sử dụng độ đo này, ta có các ƣớc lƣợ ng sau:

  Hiệu năng = KLSOC / ngƣờ i-tháng 

Chất lƣợ ng = Kiếm khuyết / KLSOC  Chi phí = $ / KLSOC  Tƣ liệu = số trang tƣ liệu / KLSOC

Độ  đo theo kích cỡ  vẫn còn gây nhiều tranh cãi. Ngƣờ i ủng hộ cho rằng số dòng lệnh là dễ dàng đếm đƣợc. Ngƣờ i phản đối lập luận rằng KSLOC phụ thuộcvào ngôn ngữ lập trình. Tuy nhiên độ đo này vẫn đƣợ c dùng phổ biến, do tínhchính xác của nó.

Độ đo phần mềm theo chức năng là cách đo gián tiếp phần mềm và tiến trình

phát triển của nó. Thay vì đếm số dòng mã lệnh, nguờ i ta tập trung vào “chứcnăng” hay “tiện ích” của chƣơng trình. Phƣơng pháp này hoạt động trên nguyêntắc cho điểm các chức năng của chƣơng trình. Các chức năng có thể là:

  Số đầu vào theo ngƣờ i dùng  Số đầu ra theo ngƣờ i dùng  Số câu hỏi của ngƣờ i dùng  Số giao diện ngoài  Số các tệp

 Ngƣời ta tính điểm chức năng thoe công thức:

FP = t ổ ng số  đế m x [0.65 + 0.01 x SUM(Fi)]

trong đó t ổ ng số  đế m là tổng của tất cả các mục chức năng, Fi là giá trị điềuchỉnh độ phức tạp. Để có thêm thông tin chi tiết về các độ đo phần mềm.

1.3 Quá trình phân rã phần mềm

Phân rã phần mềm thành các phần nhỏ hơn, thu thập độ đo và tiến hành tínhtoán ƣớc lƣợ ng. Chúng ta phải phân rã bở i vì trong hầu hết các trƣờ ng hợ p, dự án

5/16/2018 New Microsoft Word Document - slidepdf.com

http://slidepdf.com/reader/full/new-microsoft-word-document-55ab4fbb39663 6/26

6

cần thực hiện là quá lớn để có thể xem xét trên một đơn vị. Chia nhỏ dự án sẽ giúpcho đánh giá ƣớc lƣợng chính xác hơn. 

Để tiến hành tính toán ƣớc lƣợng, ngƣời ta thƣờ ng sử dụng mô hình ƣớc lƣợ ng

kinh nghiệm hoặc các công cụ ƣớc lƣợ ng tự động. Trong mô hình ƣớc lƣợ ng kinhnghiệm, tài nguyên đƣợ c tính toán theo công thức sau:

Tài nguyên = c11 e1 + c21 e2 + ...

trong đó: ei là đặc trƣng phần mềm thứ i

ci1, ci2 là các hằng số suy dẫn từ kinh nghiệm cho đặc trƣng thứ i.

CHƢƠNG 2: MÔ HÌNH COCOMO II Bốn đặc điểm chính của chiến lƣợ c Cocomo II là:

Bảo toàn tính mở  đối vớ i bản Cocomo gốc

Bổ sung đặc tính mới hƣớ ng các khu vực thị trƣờ ng phần mềm tƣơng lai Thêm vào đầu vào và đầu ra của các mô hình con Cocomo II (submodel

Cocomo II) tƣơng ứng vớ i cấp bậc thông tin hiện có.Cho phép các mô hình con Cocomo II phù hợ p vớ i một chiến lƣợ c xử lý cụ thể 

của một dự án nào đó. 

2.1 Mô hình Cocomo II cho các khu vự c thị trườ ng phần mềm

Lập trình đầu cuối không cần một mô hình COCOMO II.Thông thƣờ ng, nhữngứng dụng thuộc khu vực này đƣợ c phát triển trong vòng vài giờ cho tớ i vài ngày,vì thể chỉ cần một ƣớc lƣợng đơn giản dựa vào hoạt động là đủ.

Mô hình Cocomo II cho khu vực tổng hợ p ứng dụng dựa trên điểm đối tƣợ ng(Object Point).Điểm đối tƣợ ng là số các màn hình (Screen), báo cáo và mô đunchƣơng trình thuộc ngôn ngữ thế hệ thứ  ba đƣợ c phát triển cho ứng dụng.Mỗi đốitƣợng đƣợc đánh trong số  tƣơng ứng vớ i ba mức độ phức tạp (Đơn giản, Trung

 bình, Khó).Điều này tƣơng ứng vớ i cập độ thông tin về một sản phẩm tổng hợ pứng dụng trong giai đoạn lập kế hoạch, đồng thời tƣơng ứng với độ chính xác cầnthiết cho các ƣớc lƣợ ng chi phí phần mềm (chẳng hạn, những ứng dụng đƣợ c pháttriển bở i một đội nhỏ trong vòng vài tuần tớ i vài tháng).

5/16/2018 New Microsoft Word Document - slidepdf.com

http://slidepdf.com/reader/full/new-microsoft-word-document-55ab4fbb39663 7/26

7

Khả năng của Cocomo II trong việc ƣớc lƣợ ng chi phí thuộc các khu vực tạoứng dụng, tích hợ p hệ thống và kiến trúc nền tảng phụ thuộc vào một tỷ lệ phùhợ p của mô hình tổng hợ p ứng dụng (cho các nỗ lực làm bản mẫu) và hai mô hìnhƣớc lƣợ ng chi tiết cho các giai đoạn tiếp sau của vòng đờ i phần mềm: Thiết kế 

sớ m (Early Design) và Hậu kiến trúc (Post – Architecture).

2.2 Đặc điểm cơ bản của Cocomo II

Thứ nhất, không giống nhƣ mô hình COCOMO ban đầu đƣợc đề xuất vàonhững năm 70 của thế kỷ trƣớ c chỉ hỗ trợ một mô hình vòng đờ i phát triển phầnmềm đơn lẻ, riêng biệt, bản COCOMO II hỗ trợ  những dự án phần mềm tronghiện tại và tƣơng lai vớ i nhiều mô hình phát triển phần mềm đa dạng hơn. Trongcác dự án này, mỗi quy trình (process) sẽ đƣợ c gắn vớ i một hƣớ ng dẫn quy trình(process driver). Những hƣớ ng dẫn này bao gồm COTS (Commercial off-the-shelf) hoặc tính sẵn có của phần mềm sử dụng lại (reusable software availability);mức độ hiểu biết về kiến trúc và yêu cầu; các ràng buộc về thị trƣờ ng và lịch trình;kích cỡ ; và sự tin cậy cần thiết.

Thứ hai, mô hình ƣớc lƣợ ng chi phí phần mềm sử dụng phải tƣơng thích vớ ithông tin sẵn có hỗ trợ cho việc ƣớc lƣợng.Trong giai đoạn đầu của một dự ánphần mềm, chỉ biết đƣợ c rất ít thông tin về kích cỡ của sản phẩm cần phát triển, về 

môi trƣờ ng triển khai (target platform), về nhân lực sẽ tham gia vào dự án hoặcnhững chi tiết cụ thể của tiến trình sẽ áp dụng. Khi vòng đờ i tiến triển dần, hiểubiết về bản chất của phần mềm cùng phạm vi kích cỡ của nó tăng lên, lúc này, cácquyết định về ƣớc lƣợ ng sẽ chính xác hơn.

Thứ ba, COCOMO II cho phép cung cấp thông tin “thô” về  “hƣớ ng dẫn chi phí” (đây là các thông tin ảnh hƣở ng tới chi phí nhƣ yêu cầu về mức độ tin cậy củasản phẩm, các ràng buộc về thờ i gian, nhân lực ...) trong giai đoạn đầu của dự án,và những thông tin “tinh” trong giai đoạn sau của dự  án. Do đó, COCOMO II

không tạo ra điểm đánh giá chính xác cho chi phí và nỗ lực cần thiết để xây dựngdự án phần mềm, mà tạo ra miền giá trị điểm đánh giá tƣơng ứng vớ i mức độ xácđịnh của đầu vào cho việc ƣớc lƣợ ng.

Mô hình Tổng hợ p ứng dụng bao gồm các nỗ lực làm bản mẫu để phát hiện vàhạn chế những rủi ro tiềm năng nhƣ giao diện ngƣời dùng, tƣơng tác giữa phầnmềm và môi trƣờ ng triển khai, hiệu năng, và sự phát triển của công nghệ.

Mô hình Thiết kế sớ m (Early Design Model) bao gồm việc tìm hiểu các kiểntrúc phần mềm/hệ thống khác nhau và các khái niệm về nghiệp vụ.Trong giai đoạn

5/16/2018 New Microsoft Word Document - slidepdf.com

http://slidepdf.com/reader/full/new-microsoft-word-document-55ab4fbb39663 8/26

8

này, không có đủ thông tin hỗ trợ  việc ƣớc lƣợ ng chính xác chi phí.Chức năngtƣơng ứng với giai đoạn này trong mô hình COCOMO II bao gồm việc sử dụngđiểm chức năng và một tập hợ p gồm 7 “hƣớ ng dẫn chi phí”. 

Mô hình Hậu kiến trúc (Post-Architecture) bao gồm việc xây dựng và bảo trìmột sản phẩm phần mềm thực sự (không còn nằm trên thiết kế nữa).Trong giaiđoạn này, sẽ tiết kiệm đƣợ c chi phí nếu một kiến trúc vòng đờ i phần mềm đƣợ cxây dựng từ  trƣớ c, phù hợ p vớ i nhiệm vụ của hệ thống và thao tác thực hiện,lƣờng trƣớ c rủi ro; và kiến trúc này đƣợ c thiết lập nhƣ là một khung làm việc chosản phẩm.Mô hình COCOMO II tƣơng ứng với giai đoạn này cũng tƣơng tự nhƣmô hình COCOMO gốc và Ada COCOMO. Nó sử dụng các hƣớ ng dẫn nguồn(Source Instruction) và/hoặc điểm chức năng; một tập gồm 17 hƣớ ng dẫn chi phí;một tập gồm 5 nhân tố xác định số mũ tỷ lệ của dự án.Những nhân tố này thay thế cho các phƣơng thức phát triển trong mô hình COCOMO gốc, cũng nhƣ 4 nhân tố của mô hình Ada COCOMO.

Tóm lại, COCOMO II cung cấp một chuỗi ba giai đoạn các mô hình ƣớc lƣợ ngcho các dự án phần mềm về tạo ứng dụng, tích hợ p hệ thống và kiến trúc nền tảng.

Về chiến lƣợ c xử lý, những dự án phần mềm thuộc khu vực Tạo ứng dụng, Tíchhợ p hệ thống và Kiến trúc nền tảng sẽ bao gồm sự kết hợ p của ba mô hình xử lý

chính.Mô hình phù hợ p sẽ phụ thuộc vào từng ứng dụng cụ thể.

Pha đầu tiên bao gồm việc làm bản mẫu, sử dụng các khả năng của mô hìnhtổng hợ p ứng dụng. Mô hình tổng hợ p ứng dụng trong COCOMO II hỗ trợ các

 pha này, cũng nhƣ tất cả các hoạt động làm bản mẫu xảy ra sau đó trong vòng đờ iphát triển phần mềm.

Pha tiếp theo bao gồm việc tìm hiểu các khả năng lựa chọn về kiến trúc hoặccác chiến lƣợ c phát triển tăng dần (incremental development strategies).Để hỗ trợ  

các hoạt động này, COCOMO II cung cấp mô hình ƣớc lƣợ ng sớ m gọi là mô hìnhthiết kế sớ m.Mức độ chi tiết trong mô hình này tƣơng ứng vớ i mức độ chung củathông tin sẵn có và độ chính xác ƣớc lƣợ ng cần thiết trong giai đoạn này.

Khi dự án chuẩn bị để xây dựng và triển khai trong một hệ thống, nó phải cómột kiến trúc về vòng đờ i, cung cấp những thông tin chính xác hơn về đầu vàohƣớ ng dẫn chi phí, từ đó cho phép tiến hành ƣớc lƣợng chính xác hơn.Để hỗ trợ  giai đoạn này, COCOMO II cung cấp mô hình Hậu kiến trúc.

5/16/2018 New Microsoft Word Document - slidepdf.com

http://slidepdf.com/reader/full/new-microsoft-word-document-55ab4fbb39663 9/26

9

Nội dung vừa trình bày ở trên chỉ là những khái niệm chung nhất liên quan đếnCOCOMO II.Những thông tin đó phải đƣợ c xem xét lại dựa trên việc phân tích dữ liệu tiếp sau.Quá trình phân tích dữ liệu cho phép xác định rõ hơn giữa điểm đốitƣợng, điểm chức năng, và dòng mã cho các ngôn ngữ khác nhau và các hệ thống

tổng hợ p, từ đó hỗ trợ việc điều chỉnh các tham số.

2.3 Mô hình tổng hợ p ứ ng dụng

Mô hình này tập trung cho các ứng dụng có tính đa dạng hóa cao không thể thiết lập đƣợ c bằng một công cụ cụ thể nào.Có thể lấy ví dụ nhƣ các ứng dụnggiao diện đồ họa  –  GUI, quản lý đối tƣợng hay cơ sở dữ liệu, các chƣơng trìnhtrung gian trong công việc xử lý phân tán, xử lý giao dịch, những công cụ tìmkiếm thông minh, và còn phải kể đến các ứng dụng quản lý tài chính, công nghiệp,y tế...

2.3.1 Tiếp cận

Ƣớc lƣợng điểm đối tƣợ ng là một phƣơng pháp tƣơng đối mớ i nhằm có thể tiếpcận tới kích thƣớ c của phần mềm.Nhƣng nó đã đƣợ c thực nghiệm cho thấy rằngkhá phù hợp cho lĩnh vực tổng hợ p ứng dụng.Nó đƣợ c coi là có hiệu quả ngangvới ƣớc lƣợng điểm chức năng khi sử dụng cho một tập không tầm thƣờng (nhƣngvẫn phải có giớ i hạn) các ứng dụng.

Một nghiên cứu so sánh ƣớc lƣợng điểm đối tƣợng và ƣớc lƣợng điểm chứcnăng đã đƣợ c tiến hành, lấy mẫu 19 dự án phần mềm ngân hàng cho cùng một tổ chức, sử dụng ICASE, vớ i nguồn nhân lực biến thiên từ 4.7 tới 71.9 ngƣờ i-tháng.Kết quả cho thấy: Tiếp cận ƣớc lƣợng điểm đối tƣợ ng nhận định 73% thay đổitrong lƣợng ngƣờ i-tháng nói trên đƣợc điều chỉnh tái sử dụng, vớ i tiếp cận ƣớ clƣợ ng chức năng con số này là 76%.

Sau đó một nghiên cứu mang tính thống kê về hai phƣơng thức ƣớc lƣợng điểmcho thấy rằng: Hai cách ƣớc lƣợ ng cho cùng một độ chính xác nhƣ nhau về mặtthống kê.Nhƣng ƣớc lƣợng điểm đối tƣợ ng lại chỉ cần một khoảng thờ i gian 47%so với ƣớc lƣợng điểm chức năng (tính trung bình).Và nhiều ngƣờ i quản lý cũngphát biểu họ cảm thấy ƣớc lƣợng điểm đối tƣợ ng dễ dàng sử dụng hơn. 

2.3.2 Thủ tục tính điểm đối tượ ng

Trƣớ c tiên cần nêu ra một số thuật ngữ:  NOP: New Object Points - Những điểm đối tƣợ ng mớ i  SRVR: Số lƣợ ng các bảng dữ liệu trên máy chủ kết hợ p vớ i screen hay

report

5/16/2018 New Microsoft Word Document - slidepdf.com

http://slidepdf.com/reader/full/new-microsoft-word-document-55ab4fbb39663 10/26

10

  CLNT: Số lƣợ ng các bảng dữ liệu trên máy khách kết hợ p vớ i Screenhay Report.  %REUSE: Tỷ lệ phần trăm của các Screen, Report, Mô đun 3GL đƣợ c

tái sử dụng từ phiên bản trƣớ c của ứng dụng.

Các bƣớ c tiến hành:

  Ƣớc định số lƣợng đối tƣợng: Ƣớc lƣợ ng số  lƣợ ng các screen, report,thành phần 3GL của ứng dụng.Sử dụng chuẩn của các đối tƣợ ng trên vào môitrƣờ ng ICASE.  Phân lớ p từng đối tƣợ ng thực thể vào 3 mức độ phức tạp: đơn giản,

trung bình và khó, dựa trên những giá trị trên những chiều tiêu biểu. Sử dụng bảngsau:

Bảng 1 : Bảng phân lớp đối tượ ng thự c thể 

Cho các Screen Cho các Report

Số Lƣợ ng

KhungNhìn

Số lƣợ ng và nguồn cáchàng dữ liệu

Số 

Lƣợ ngMục

Số lƣợ ng và nguồn cácbảng dữ liệu

Tổng <4(<2srvr,<3 clnt)

Tổng <(2/3 srvr,3-5 clnt)

Tổng 8+ (> 3 srvr,< 5 clnt)

Tổng <4(<2srv<3 clnt)

Tổng <(2/3srvr,3-5 clnt)

Tổng 8+(>3 srvr,< 5 clnt)

<3Đơn giản

Đơn Giản

Trungbình

0hoặc1

Đơn giản

Đơn giản

Trungbình

3 – 7Đơn giản

Trungbình

Khó 2hoặc

3

Đơn giản

Trungbình

Khó

>8Trungbình

Khó Khó 4+ Trungbình

Khó Khó

  Đặt trọng số cho các đối tƣợ ng, vớ i giá trị nằm trong bảng dƣới đây.Trọng số này phản ánh một cách tƣơng đối nỗ lực phải bỏ ra để hoàn thành côngviệc.

5/16/2018 New Microsoft Word Document - slidepdf.com

http://slidepdf.com/reader/full/new-microsoft-word-document-55ab4fbb39663 11/26

11

Bảng 2: Bảng trọng số các đối tượ ng

Loại đối tƣợ ng

Độ phức tạp – Trọng số 

Đơn giản Trung bình Khó

Screen 1 2 3

Report 2 5 8

Thành phần 3GL 10

  Quyết định điểm đối tƣợ ng: Tính tổng tất cả trọng số của những thể hiện vào một con số, đó là số đếm điểm đối tƣợ ng.  Đánh giá tỷ lệ phần trăm tái sử dụng mong đợ i có thể đạt đƣợ c. Tính

lƣợng NOP đƣợ c phát triển, với OP là điểm đối tƣợ ng:

100

)%100(*)( reuseOP NOP

 

  Quyết định tỷ lệ hiệu năng, PROD = NOP / ngƣờ i-tháng, với lƣợc đồ:

Bảng 3: Bảng tỷ lệ hiệu năng 

Khả năng & kinh nghiệm củangƣờ i phát triển, khả năng và sự 

phát triển của ICASE

RấtThấp Thấp

Danhnghĩa Cao

RấtCao

PROD 4 7 13 25 50

  Đánh giá nhân lực. PM là lƣợng ngƣờ i-tháng:

PROD

 NOPPM   

2.4 Mô hình thiết kế sớ m

Mô hình này sử dụng điểm chức năng không hiệu chỉnh (Unadjusted Function

Points - UFP) làm số đo kích thƣớ c. Ta dùng mô hình này ở  giai đoạn sớ m của dự án, khi biết rất ít về kích thƣớ c của sản phẩm phát triển, nền tảng mục tiêu, những

5/16/2018 New Microsoft Word Document - slidepdf.com

http://slidepdf.com/reader/full/new-microsoft-word-document-55ab4fbb39663 12/26

12

ngƣờ i tham gia dự án, chi tiết những tiến trình…Mô hình này có thể đƣợ c ứngdụng để Khở i tạo ứng dụng, Tích hợ p hệ thống hay Phát triển hạ tầng.

Sử dụng khi:  Yêu cầu tƣơng đối ổn định

  Kiến trúc căn bản đã đƣợ c xác lập

Đơn vị đo là điểm chức năng và KLOC 

Các chức năng:

  Nhập vào  Xuất ra  Tệp logic trong, tệp giao tiếp ngoài  Truy vấn ngoài

Đổi FP thành KLOC: 1 điểm chức năng tƣơng đƣơng vớ i bao nhiêu dòng lệnh

Size tính theo KLOC

Ƣớc lƣợ ng:

  Dựa vào 7 hƣớ ng dẫn chi phí (Cost driver)  PM =Ax[Size’]BX x∏EM +PMM   Size’= Size x (1 +BRAK/100)

BRAK: lƣợ ng mã phải loại bỏ do thay đổi yêu cầuCó tính đến thay đổi yêu cầu  EM – Effort Mutiplier

7 hƣớ ng dẫn chi phí 

  PERS – Personnel Capability  RCPX – Product Reliability and Complexity  RUSE – Required Reuse  RDIF – Platform Difficulty  PREX – Personnel Experience  FCIL – Facilities  SCED - Schedule

2.5 Mô hình hậu kiến trúc

Sử dụng trong quá trình xây dựng phần mềmDùng số dòng mã, điểm chức năng, cùng 17 hƣớ ng dẫn chi phí Tƣơng tự nhƣ mô hình thiết kế sớm nhƣng mà cụ thể và chính xác hơn 

5/16/2018 New Microsoft Word Document - slidepdf.com

http://slidepdf.com/reader/full/new-microsoft-word-document-55ab4fbb39663 13/26

13

CHƢƠNG 3: DÙNG COCOMO II ĐỂ ƢỚC LƢỢNG DỰ ÁN

Phần này trình bày một ví dụ ƣớc lƣợ ng một dự án theo mô hình COCOMO II,trong đó có các chỉ tiêu mà nhà quản trị dự án cần đánh giá và các công cụ có thể 

sử dụng.3.1 Mô tả về Project

Một công ty phần mềm, hỗ trợ cho việc khai thác thông tin (data mining) vớ imục đích là xây dựng các thuộc tính của ứng dụng để phân tích và truyền tin trongmột mạng biological. Nhƣ là một phần của dự án này, database provider sẽ thể hiện một giao diện đơn giản với ngƣờ i lập trình và dấu đi sự phức tạp của các lớ pdữ liệu sẽ đƣợ c xây dựng.

Công ty này đã hoàn thành pha đầu tiên, gồm các tài liệu, chƣơng trình thô môtả về tƣ tƣở ng của dự án. Khách hàng có thể có đƣợ c các khả năng sau:

  Chuyển đổi một cơ sở  dữ liệu có sẵn SQL Server (~1GB) trên nềnWindows sang dữ liệu dạng ProtgreSQL trên nền Linux.  Các phần đã xây dựng sử dụng ngôn ngữ lập trình Java, phần chính của

chƣơng trình là phần database provider.  Khi mà mớ i xây dựng dự án, thì một bản thảo tỉ mỉ (chi tiết thiết kế cho

từng pha) là chƣa sẵn sàng.  Dự án có thời gian xác định.

3.2 Sử dụng mô hình Cocomo II

COCOMO II lƣợ ng giá phần mềm dựa trên công sức của con ngƣờ i/ tháng.Cụ thể hơn là kích thƣớ c vật lý tổng thể của các tệp trong dự án, đó chính là hàngngàn mã lệnh (KSLOC). Vớ i các dự án chƣa hoàn thiện nhƣ ví dụ, ta sẽ phải chọnmô hình COCOMOII Early Design

3.2.1 Đếm số dòng lệnh của dự án (SLOC)

Đơn giản nhất là đếm số dòng lệnh dựa trên số dòng hiện lên trên status bar khimở một file.Phức tạp hơn bạn cần tách biệt các ghi chú và dòng rỗng. Làm nhƣtrên cũng có thể là một cách để đánh giá sơ qua về dự án, đặc biệt là các dự án nhỏ nhƣng thực ra một dự án lớ n lại có nhiều file vớ i hàng ngàn câu lệnh.Sự lựa chọnbắt buộc phải là một công cụ tự động đếm số dòng lệnh SLOC vớ i các tuỳ chọnthích hợ p.

Một chƣơng trình loại đó đƣợ c giớ i thiệu ở  đây là chƣơng trình CodeCounter vớ i giao diện thân thiện có thể đếm SLOC của nhiều ngôn ngữ lập trình nhƣ Java,

5/16/2018 New Microsoft Word Document - slidepdf.com

http://slidepdf.com/reader/full/new-microsoft-word-document-55ab4fbb39663 14/26

14

C/C++, SQL, HTML và XML. Chƣơng trình này có thể download và sử dụng thử nghiệm trong 30 ngày theo địa chỉ: http://www.investph.com/ geronesoft/ 

Trong trƣờ ng hợ p cụ thể của ví dụ  này, chƣơng trình nguồn gồm 4 phần đã

hoàn thành  Create PostgreSQL database, indexes, write pgSQL (close to PL/SQL)

stored procedures.  Xây dựng các thành phần Java gồm cơ sở lô gíc của ứng dụng, và phần

phục vụ là database provider.  Xây dựng servlet, một thành phần độc lập cho phép gửi nhanh các yêu

cầu từ giao diện ngƣờ i dùng UI đến nhân các thành phần Java.  Một trang HTML thử nghiệm để kiểm tra database provider.

Chƣơng trình nguồn ví dụ ở  đây gồm có 4 thành phần đƣợ c viết từ 4 ngôn ngữ khác nhau từ SQL, Java và HTML/ XML.Rất tiện lợi vì nó đã đƣợ c sắp xếp vào 4folder riêng biệt nên dễ dàng cho việc đếm số dòng. Bảng tổng hợ p về số dòngđếm đƣợ c trong các folder bằng CodeCouter:

Bảng 4: Bảng tổng hợ p số dòng đếm đượ c bằng CodeCouter

No. Folder Total SLOC

1 SQL Files 414

2 Java DB Provider Files 345

3 Java Servlet 156

4 Web Files 113

3.2.2 Lượ ng giá phần mềm bằng công cụ CostStar

Bạn hoàn toàn có thể sử dụng mô hình COCOMO II nhƣ sau: chọn mô hình,công thức, xác định các giá trị cho các tham số và tự tính giá của dự án. Tôi tinchắc rằng đó sẽ là một vấn đề, bạn sẽ thích làm gì hơn: điền vào các form trống cósẵn giống nhƣ dùng máy tính hay sử dụng các công cụ phần mềm khác.Hẳn là bạnsẽ thích hơn sự lựa chọn sau và nếu nhƣ vậy tôi xin giớ i thiệu một công cụ chuyêndụng để làm việc vớ i mô hình COCOMO II và cả các phiên bản đã có củaCOCOMO.

5/16/2018 New Microsoft Word Document - slidepdf.com

http://slidepdf.com/reader/full/new-microsoft-word-document-55ab4fbb39663 15/26

15

Đó chính là công cụ CostStar 7.0 vớ i giao diện rất thuận tiện cùng vớ i tài liệutrợ giúp ngắn gọn và đầy đủ.Chƣơng trình đã đƣợ c sử dụng bở i hàng triệu kháchhàng.Bản CostStar 7.0 demo hay mới hơn có thể tìm thấy ở   địa chỉ http://www.softstarsystems.com/  

Thông thƣờ ng, bạn tạo một thành phần chính và các thành phần con xác địnhbở i các phần tƣơng ứng của dự án của bạn.Thành phần chính này đƣợc coi nhƣgốc của các thành phần khác, nó sẽ  là nơi tổng kết tất cả các đánh giá. Bạn cầnphải tạo ra các thành phần con cho tất cả các phần công việc, và nhập số dòngSLOC vào dựa trên kết quả của chƣơng trình đếm số dòng đã nói ở trên

Ở trong dự án ví dụ, tôi đã tạo thành phần chính (gốc) và 4 thành phần con:  db_provider  servlet  database_scripts  ui_web_testing

Và sau khi các thành phần ban đầu của CostStar đã đƣợ c xác lập thì chúng ta cóthể bắt đầu thực hiện việc lƣợ ng giá bằng mô hình COCOMO II. Mặc dù là cơ sở  của phép đánh giá theo mô hình COCOMO II dựa trên số  lƣợ ng SLOC, sự điềuchỉnh các tham số có thể  làm thay đổi giá trị của một phần mềm hàng trăm lần.

 Nhƣ đã đề cập ở  trên, tồn tại hai tập các tham số  giúp cho phép lƣợ ng giá

COCOMO II chính xác hơn.Tập thứ nhất gồm 17 chỉ tiêu phần lớn đƣợ c thừahƣở ng từ mô hình COCOMO 81, tập thứ hai thêm vao 5 chỉ tiêu mớ i dùng trongCOCOMO II.

Cách để thiết lập các chỉ tiêu khá đơn giản. Với vai trò nhƣ là một nhà quản lýdự án, bạn cần các thông tin về những mặt quan trọng nhất trong dự án nhƣ cácđặc trƣng của sản phẩm, các yêu cầu về các bảng tổng kết, các yêu cầu về chấtlƣợ ng sản phẩm, kinh nghiệm và khả năng của nhóm làm dự án, cơ sở vật chất cósẵn và kỳ hạn phải hoàn thành.Sau đó là một phần rất nhạy cảm để tạo ra các giá

trị giả định chấp nhận đƣợ c cho các tham số trong phần lấy thông tin.

Sau đây là phần nhập tham số cho dự án ta đang nghiên cứu, giá trị mặc địnhtrong CostStar cho các tham số là 1(nominal):

Điều chỉnh các nhân tố và đặc trƣng của sản phẩm:

  Pha ban đầu đã hoàn thành xong sự thiếu sót về không có các tài liệu về kiến trúc khiến cho dự án bị coi nhƣ là rất nhỏ và pha đã làm nhƣ chƣa độc lâp.Dẫn đến chỉ tiêu RESL bị đánh giá rất thấp (very low).

5/16/2018 New Microsoft Word Document - slidepdf.com

http://slidepdf.com/reader/full/new-microsoft-word-document-55ab4fbb39663 16/26

16

  Đội ngũ phát triển phần mềm đã quen thuộc vớ i khái niệm của côngnghệ phần mềm xong phần mềm xử lý vẫn chỉ ở mức CMM (nhân tố PMAT ở  mức low)  Kích thƣớ c database lớ n (~1GB) vớ i 20 bảng và 100 chỉ số. Chỉ tiêu

DATA đƣợc đánh giá là High. 

Nhân tố con ngƣờ i:

  Thành viên của nhóm lập trình ở mức trung bình của C/C++ xong mớ ichỉ bắt đầu vớ i Java. Dẫn đến PCAP, khả năng lập trình ở mức cao High nhƣngLTEX, kinh nghiệm sử dụng ngôn ngữ hay công cụ lập trình chỉ ở mức thấp Low.  Thành viên của nhóm lập trình có kinh nghiệm khá khi làm việc trong

môi trƣờng Windows nhƣng vớ i nền Linux thì không. PLEX ở mức thấp Low.  Không có vai trò đặc biệt của phân tích nên khả năng phân tích ACAP

chỉ ở mức thấp.  Chỉ  tiêu SCED đƣợc đánh giá cao High vì kế hoạch dự án khá cụ thể 

vớ i việc cố định thờ i gian làm việc của thành viên dự án mớ i vờ i việc hoà nhập vờ imôi trƣờ ng và công việc.

Bảng 5: Bảng các chỉ tiêu và giá trị tham số 

STT Hƣớ ng dẫn chi phí Giá trị giả định

1 DATA high2 CPLX nominal

3 TIME nominal

4 STOR nominal

5 RUSE nominal

6 DOCU nominal

7 PVOL nominal

8 SCED very high

9 RELY nominal

10 TOOL nominal

11 APEX nominal

12 ACAP low

5/16/2018 New Microsoft Word Document - slidepdf.com

http://slidepdf.com/reader/full/new-microsoft-word-document-55ab4fbb39663 17/26

17

13 PCAP high

14 PLEX low

15 LTEX low

16 PCON nominal

17 SITE nominal

Bảng 6: Bảng các nhân tố đượ c thiết lập

STT Yếu tố quy mô Giá trị giả định

1 PREC nominal

2 PMAT CMM Level I (upper)

3 TEAM Nominal

4 FLEX Norminal

5 RESL Little (20%)

Các công thức đƣợ c sử dụng sẽ đƣợc CostStar trình bày nhƣ sau: 

1312.1)(**9400.2 KSLOC  EAF  Effort   

 EAF = 1.4184

 Effort: Effort in Person-Months

3242.0)(*600.1*6700.3 Effort Schedule  

 Based on effort with SCED = Nominal

 Duration in Months

Bảng 7: Bảng tổng kết

5/16/2018 New Microsoft Word Document - slidepdf.com

http://slidepdf.com/reader/full/new-microsoft-word-document-55ab4fbb39663 18/26

18

Level Component

Name

Developed

Size

Effort in

Person

Months

Cost

(k $)

Increment

1 main 1028 4.6 23.0 1

2 Database - scripts 414 1.9 9.3 1

2 Servlet 156 0.7 3.5 1

2 Ui_web_testing 113 0.5 2.5 1

2 Db_provider 345 1.5 7.7 1

Bảng trên cho thấy giá trị của dự án là 23.000$ và thờ i gian dự án là 4.6 thángcùng vớ i giá và thờ i gian của các khâu con trong dự án.

3.3 Giớ i thiệu một số Tool

3.3.1 USC-Cocomo II

Hình 1: Giao diện USC-Cocomo II

5/16/2018 New Microsoft Word Document - slidepdf.com

http://slidepdf.com/reader/full/new-microsoft-word-document-55ab4fbb39663 19/26

19

Hình 2: Thông tin bản quyền USC-Cocomo II

Hình 3: Chức năng trên giao diện USC-Cocomo II

5/16/2018 New Microsoft Word Document - slidepdf.com

http://slidepdf.com/reader/full/new-microsoft-word-document-55ab4fbb39663 20/26

20

Giải thích:

1.  Main Menu bar –  vùng này chứa các thực đơn lựa trọn của hàm chínhcủa Cocomo, có nhiều lựa chọn là File, View, Edit, Parameters , Calibrate , PhaseDistribution và Help

2.  Tool Bar: đây là vùng chứa các nút ảnh nhƣ là của sổ ứng dụng choNew Project, Open Project, Save Project, Delete Module, Copy & Paste, Insertclipboard content, Insert a module và About functions.

3.  Project Name: đây là trƣờ ng có thể sửa đổi hiện thị tên của dự án hiệntại để sửa tên cần kích đúp vào trƣờ ng này và thực hiện việc sửa tên.

4.  X: đây là cột đƣợc đƣợ c dành riêng cho đồng nhất một mô đun 5.  Module Name Colume : hiện thị tên của Project hiện tại trong vùng

Module – có thể đƣợc thay đổi6.  Module Size (SLOC) Column: đây là cột đƣợ c sử dụng lƣu trữ SLOC

của mỗi mô đun trong vùng môđun. Giá trị cho SLOC có thể đƣợ c tích một trongba cách sau:  Thứ nhất, giá trị có thể đƣợ c nhập trực tiếp trong trƣờ ng SLOC

Hình 4: Trườ ng SLOC trong USC-Cocomo II

  Thứ 2 sử dụng mô hình Function Point

5/16/2018 New Microsoft Word Document - slidepdf.com

http://slidepdf.com/reader/full/new-microsoft-word-document-55ab4fbb39663 21/26

21

Hình 5: Mô hình Function Point

  Thứ 3 là sử dụng Adaptation Adjustment Factor

Hình 6: Adaptation Adjustment Factor

5/16/2018 New Microsoft Word Document - slidepdf.com

http://slidepdf.com/reader/full/new-microsoft-word-document-55ab4fbb39663 22/26

22

7.  Labor Rate Column: cột này chứa khối lƣợ ng tiền mà một nhà pháttriển đang làm việc trên một mô đun riêng biệt đƣợ c trả theo tháng. Giá trị có thể đƣợ c sửa đổi, giá trị từ 0$ đến 99999$

8.  Effort Adjustment Factor (EAF) Column: hiện thi sản phầm của hƣớ ng

dẫn chi phí cho mỗi mô đun rõ ràng. Các Cost Drivers chi thành các nhóm :Product, Platform, Personel và Project

Đánh giá cuối cùng đƣợ c tính bằng:Final rating = (Next cost driver rating - Current cost driver rating) * Current

inter cost driver / 100

Hình 7: Effort Adjustment Factor (EAF)

9.  Total Area: hiện thị kết quả tình toán của tất cả các mô đun chứa trongproject. Tổng số dòng mã

10.  Status Bar: cửa sổ này hiện thị những định nghĩa ngắn của tiêu đề của

các cột.11.  Schedule Button: hiện thị thông báo lịch làm việc

5/16/2018 New Microsoft Word Document - slidepdf.com

http://slidepdf.com/reader/full/new-microsoft-word-document-55ab4fbb39663 23/26

23

Hình 8: Schedule Botton

12.  Scale Factor Button : Hiện thị Scale Factor

Hình 9: Scale Factor Button

5/16/2018 New Microsoft Word Document - slidepdf.com

http://slidepdf.com/reader/full/new-microsoft-word-document-55ab4fbb39663 24/26

24

13.  Model Selection button : lựa chọn mô hình thiết kế sớ m hoặc hậu kiếntrúc

Hình 10: Model Selection Button

14.  Risk Column : chƣa các cấp độ nguy cơ của mô đun riêng lẻ 

Hình 11: Risk Column

5/16/2018 New Microsoft Word Document - slidepdf.com

http://slidepdf.com/reader/full/new-microsoft-word-document-55ab4fbb39663 25/26

25

15.  Staff (FSWP) Column16.  Instruction Cost Column17.  Cost Column18.  Productivity (PROD) Column

19.  Estimated Person-Month (EST PM) Column20.  Nominal Person-Month (NOM PM) Column21.  Languages

3.3.2 Công cụ Costar

Hình 12: Giao diện Costar

5/16/2018 New Microsoft Word Document - slidepdf.com

http://slidepdf.com/reader/full/new-microsoft-word-document-55ab4fbb39663 26/26

26

Hình 13: Giao diện công thứ c tính Effort và Schedule

TÀI LIỆU THAM KHẢO[1] http://www.codeproject.com/KB/architecture/cocomo2.aspx#app1[2].University of Southern California.COCOMO II Mode Definition Manual

2000.[3] http://www.softstarsystems.com/ [4] http://csse.usc.edu/csse/research/COCOMOII/cocomo_downloads.htm