Tải bản đầy đủ (.pdf) (57 trang)

Xây dựng một mô hình đo lường phục vụ cho việc quản lý dự án phần

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.1 MB, 57 trang )

Đề tài: Xây dựng một mô hình đo lường phục vụ cho việc quản lý dự án phần mềm
dựa trên phương pháp đo độ lớn chức năng COSMIC

MỤC LỤC

MỤC LỤC .................................................................................................................. 1
LỜI CAM ĐOAN ...................................................................................................... 3
DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT ......................................... 4
DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ .................................................................. 5
PHẦN MỞ ĐẦU ........................................................................................................ 6
1. Lý do chọn đề tài ................................................................................................... 6
3. Mục đích nghiên cứu ............................................................................................ 6
4. Đối tƣợng nghiên cứu........................................................................................... 6
5. Phạm vi nghiên cứu .............................................................................................. 6
CHƢƠNG 1: TỔNG QUAN VỀ ĐO ĐỘ LỚN PHẦN MỀM............................... 9
1.

Vai trò của việc đo độ lớn phần mềm ............................................................. 9

2.

Một số phƣơng pháp đo độ lớn phần mềm ..................................................10

CHƢƠNG 2: PHƢƠNG PHÁP ĐO ĐỘ LỚN CHỨC NĂNG COSMIC ..........16
1.

Giới thiệu chung .............................................................................................16

2.

Phƣơng pháp luận và các nguyên tắc cơ bản ...............................................16



3.

Các bƣớc đo độ lớn chức năng phần mềm COSMIC .................................18

4.

Ƣu điểm của phƣơng pháp đo COSMIC: ....................................................21

5.

Hạn chế của phƣơng pháp đo COSMIC ......................................................23

CHƯƠNG 3 ỨNG DỤNG PHƯƠNG PHÁP ĐO COSMIC VÀ ĐÁNH GIÁ ......24
1.

Giới thiệu phần mềm Gửi Mail và SMS truyền thông nội bộ của Tổng

Công ty Viễn thông Quân đội Viettel ....................................................................24
2.

Thực hiện đo độ lớn chức năng phần mềm Gửi mail/SMS truyền thông

nội bộ Tổng Công ty Viễn thông Quân đội Viettel ...............................................24

Học viên thực hiện: Lê Mạnh Hùng – CB110213 - Lớp: 11BCNTT.KT

1



Đề tài: Xây dựng một mô hình đo lường phục vụ cho việc quản lý dự án phần mềm
dựa trên phương pháp đo độ lớn chức năng COSMIC

3.

Kết quả đo .......................................................................................................24

4.

Đánh giá phƣơng pháp đo COSMIC qua áp dụng thực tiễn .....................30

PHẦN KẾT LUẬN..................................................................................................32
PHỤ LỤC: THỰC HIỆN ĐO ĐỘ LỚN CHỨC NĂNG PHẦN MỀM GỬI
MAIL/SMS TRUYỀN THÔNG NỘI BỘ TẠI TỔNG CÔNG TY VIỄN
THÔNG QUÂN ĐỘI - VIETTEL .........................................................................34
1.

Chức năng “Thêm mới Profile” FP1 ............................................................34

2.

Chức năng “Sửa thông tin Profile” FP2 .......................................................35

3.

Chức năng “Xóa Profile khỏi danh sách” FP3 ............................................36

4.

Chức năng “Kiểm tra kết nối SMS Gateway” FP4 .....................................38


5.

Chức năng “Kiểm tra kết nối Mail Server” FP5 .........................................39

6.

Chức năng “Tạo nhóm mới” FP6 .................................................................40

7.

Chức năng “Import danh sách mail từ Excel” FP7 ....................................41

8.

Chức năng “Sửa thông tin nhóm” FP8.........................................................43

9.

Chức năng “Xóa nhóm” FP9 .........................................................................44

10. Chức năng “Thêm danh sách mail từ cây thông tin nhân sự” FP10 .........45
11. Chức năng “Tạo mới nội dung mail/SMS” FP11 ........................................47
12. Chức năng “Sửa nội dung mail/SMS” FP12 ................................................48
13. Chức năng “Xóa nội dung mail/SMS” FP13................................................49
14. Preview thông tin FP14 ..................................................................................51
15. Report (Homepage) FP15 ..............................................................................52
16. Chức năng “Gửi mail” FP16 .........................................................................53
17. Chức năng “Gửi SMS” FP17.........................................................................54
DANH MỤC TÀI LIỆU THAM KHẢO ...............................................................57


Học viên thực hiện: Lê Mạnh Hùng – CB110213 - Lớp: 11BCNTT.KT

2


Đề tài: Xây dựng một mô hình đo lường phục vụ cho việc quản lý dự án phần mềm
dựa trên phương pháp đo độ lớn chức năng COSMIC

LỜI CAM ĐOAN
Tôi xin cam đoan:
1. Những nội dung trong luận văn này là công trình nghiên cứu của tôi dưới sự
hướng dẫn trực tiếp của TS Hồ Tường Vinh.
2. Mọi tham khảo dùng trong luận văn đều được trích dẫn rõ ràng tên tác giả, tên
công trình, thời gian, địa điểm công bố.
3. Các số liệu, kết quả nêu trong luận văn là trung thực và chưa từng được ai công
bố trong bất kỳ công trình nào khác.
4. Mọi sao chép không hợp lệ, vi phạm quy chế đào tạo, hay gian trá, tôi xin chịu
hoàn toàn trách nhiệm.
Tác giả luận văn
(Ký và ghi rõ họ tên)

Lê Mạnh Hùng

Học viên thực hiện: Lê Mạnh Hùng – CB110213 - Lớp: 11BCNTT.KT

3


Đề tài: Xây dựng một mô hình đo lường phục vụ cho việc quản lý dự án phần mềm

dựa trên phương pháp đo độ lớn chức năng COSMIC

DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT
Viết đầy đủ

Chữ viết tắt
FUR

Ý nghĩa

Funtional User Requirement

Yêu cầu người sử dụng chức
năng

CFP

Cosmic Function Point

Đơn vị đo độ lớn chức năng
COSMIC

COSMIC

Common
Measurement
Consortium

IFPUG


Software Cộng đồng phát triển phương
International pháp đo độ lớn chức năng
COSMIC

Inter Function Point User Group Phương pháp đo độ lớn điểm
chức năng

Học viên thực hiện: Lê Mạnh Hùng – CB110213 - Lớp: 11BCNTT.KT

4


Đề tài: Xây dựng một mô hình đo lường phục vụ cho việc quản lý dự án phần mềm
dựa trên phương pháp đo độ lớn chức năng COSMIC

DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ
Hình 1 Vai trò của đo độ lớn phần mềm .....................................................................9
Hình 2 Phân loại các dịch chuyển dữ liệu .................................................................19
Hình 3 Minh họa đo độ lớn tiến trình chức năng ......................................................20
Hình 4 Mô hình ước lượng dự án phần mềm ............................................................32
Hình 5 Biểu đồ tương tác chức năng Tạo mới Profile ..............................................35
Hình 6 Biểu đồ tương tác chức năng Sửa thông tin Profile ......................................36
Hình 7 Biểu đồ tương tác chức năng Xóa Profile khỏi danh sách ............................37
Hình 8 Biểu đồ tương tác chức năng Kiểm tra kết nối SMS Gateway ....................38
Hình 9 Biểu đồ tương tác chức năng Kiểm tra kết nối Mail Server .........................40
Hình 10 Biểu đồ tương tác chức năng Tạo nhóm mới ..............................................41
Hình 11 Biểu đồ tương tác chức năng Import danh sách mail từ file exel ...............42
Hình 12 Biểu đồ tương tác chức năng Sửa thông tin nhóm ......................................44
Hình 13 Biểu đồ tương tác chức năng Xóa nhóm .....................................................45
Hình 14 Biểu đồ tương tác chức năng Thêm danh sách mail từ thông tin nhân sự ..46

Hình 15 Biểu đồ tương tác chức năng Tạo mới nội dung mail/sms .........................48
Hình 16 Biểu đồ tương tác chức năng Sửa nội dung mail/sms .................................49
Hình 17 Biểu đồ tương tác chức năng Xóa nội dung mail/sms ................................50
Hình 18 Biểu đồ tương tác chức năng Preview thông tin .........................................51
Hình 19 Biểu đồ tương tác chức năng Report ...........................................................52
Hình 20 Biểu đồ tương tác chức năng Gửi mail .......................................................54
Hình 21 Biểu đồ tương tác chức năng Gửi SMS ......................................................55

Học viên thực hiện: Lê Mạnh Hùng – CB110213 - Lớp: 11BCNTT.KT

5


Đề tài: Xây dựng một mô hình đo lường phục vụ cho việc quản lý dự án phần mềm
dựa trên phương pháp đo độ lớn chức năng COSMIC

PHẦN MỞ ĐẦU
1. Lý do chọn đề tài
Ngày nay khi công nghệ thông tin đi vào mọi ngõ ngách, lĩnh vực trong đời sống,
sự hiện diện của các phần mềm đã tạo ra một cuộc cách mạng về thói quen của
người sử dụng và đem lại một loạt các tiện ích. Điều này là động lực thúc đẩy
ngành công nghệ phần mềm phát triển như vũ bão trong những năm gần đây. Khi
các phần mềm được sử dụng trong tất cả các lĩnh vực đồng nghĩa với nhu cầu sản
xuất và sử dụng phần mềm cũng gia tăng theo tỉ lệ thuận.
Một nhu cầu tất yếu được đặt ra là cần có cơ cở khoa học cho phép người phát triển
phần mềm định cỡ phần mềm cần phát triển; cho phép người sử dụng phần mềm
đánh giá chính xác độ lớn phần mềm cần đầu tư, đồng thời giúp dự kiến chi phí,
nhân công để quản trị dự án triển khai. Từ đây các phương pháp định cỡ phần mềm
được ra đời.
Trong bài luận văn này tiến hành nghiên cứu tổng quan về các phương pháp định cỡ

phần mềm nói chung, sự cần thiết của các phương pháp định cỡ phần mềm, từ đó đi
sâu vào nghiên cứu, tìm hiểu phương pháp đo độ lớn phần mềm dựa trên độ lớn
chức năng COSMIC và áp dụng phương pháp COSMIC đo đạc độ lớn phần mềm
tại doanh nghiệp.
3. Mục đích nghiên cứu
Mục đích nghiên cứu của luận văn là tìm hiểu tổng quan về định cỡ phần mềm nói
chung, mục đích cũng như các phương pháp định cỡ một phần mềm từ đó nhấn
mạnh vào đặc trưng của mỗi một phương pháp. Tiếp đó luận văn lựa chọn và phân
tích một phương pháp định cỡ phần mềm phù hợp và đáp ứng những nhu cầu thiết
yếu nhất của yêu cầu đo độ lớn phần mềm.
4. Đối tƣợng nghiên cứu
Trong bài luận văn này tác giả tập trung vào nghiên cứu mô hình đo độ lớn chức
năng COSMIC, phân tích phương pháp luận, phạm vi áp dụng cũng như cách thức
tiến hành các bước chi tiết để thực hiện đo đạc, định cỡ phần mềm bằng phương
pháp COSMIC. Trên cơ sở kết quả đo đạc, luận văn dự kiến chi phí cho phần mềm
bao gồm chi phí về giá thành, chi phí về thời gian, chi phí về nhân lực đối để sản
xuất ra phần mềm. So sánh kết quả dự trù với thực tế triển khai dự án để đánh giá
tính chính xác của phương pháp đo.
5. Phạm vi nghiên cứu
Tiêu đề của đề tài là Xây dựng một mô hình đo lường phục vụ cho việc quản lý dự
án phần mềm dựa trên phương pháp đo độ lớn chức năng COSMIC tuy nhiên trong

Học viên thực hiện: Lê Mạnh Hùng – CB110213 - Lớp: 11BCNTT.KT

6


Đề tài: Xây dựng một mô hình đo lường phục vụ cho việc quản lý dự án phần mềm
dựa trên phương pháp đo độ lớn chức năng COSMIC


khuôn khổ một luận văn thạc sĩ tác giả tiếp cận theo hướng nghiên cứu, tìm hiểu
phương pháp đo độ lớn chức năng COSMIC và áp dụng phương pháp COSMIC vào
đo độ lớn phần mềm trong môi trường doanh nghiệp, ước lượng chi phí nguồn lực
phát triển phần mềm, so sánh với thực tế triển khai từ đó đưa ra đánh giá.
Nội dung của đề tài tập trung vào một số vấn đề sau:
- Đưa ra khái niệm và nhu cầu cần có một phương pháp đo độ lớn chức năng
phần mềm. Phân tích sự cần thiết và tính tất yếu của các phương pháp đo độ
lớn phần mềm trong việc đưa ra một ngôn ngữ chung, thống nhất giữa người
dùng phần mềm cũng như người sản xuất phần mềm đồng thời làm cơ sở cho
quản trị viên dự án quản lý tiến độ dự án của mình đảm bảo dự án hoàn thành
đúng theo cam kết chất lượng và dự trù thời gian, nhân công, chi phí.
- Giới thiệu một số phương pháp đo độ lớn phần mềm đã và đang được áp
dụng trên thế giới. Phân tích đặc trưng và các ưu nhược điểm của các
phương pháp từ đó xác định được các tiêu chí lựa chọn một phương pháp đo
phù hợp.
- So sánh và đưa ra lý do lựa chọn phương pháp đo độ lớn chức năng phần
mềm COSMIC để tìm hiểu và áp dụng đo đạc trong thực tế. Phân tích tính
tiên tiến và ưu việt của phương pháp COSMIC so với các phương pháp đo
độ lớn chức năng khác.
- Tìm hiểu lý thuyết phương pháp đo độ lớn chức năng COSMIC, áp dụng
phương pháp đo COSMIC vào dự án phần mềm của doanh nghiệp. Tiến
hành đo độ lớn chức năng từ đó ước lượng dự kiến chi phí, thời gian, nguồn
lực để hoàn thành dự án phần mềm.
- So sánh ước lượng dự kiến với thực tế triển khai dự án, đánh giá độ chính
xác của phương pháp.
Một số khó khăn:
-

Để thực hiện thử nghiệm phương pháp đo độ lớn chức năng COSMIC trên
một phần mềm đã được triển khai thật trong thực tế cần có một bản đặc tả

chi tiết về yêu cầu phần mềm. Phương pháp đo độ lớn chức năng phần mềm
COSMIC dựa vào việc xác định chính xác các thao tác dữ liệu vào/ra do đó
cần thiết phải có đặc tả yêu cầu phần mềm chi tiết cùng với sơ đồ thao tác
người dùng usecase. Tuy nhiên trên thực tế do tính bí mật về kinh doanh do

Học viên thực hiện: Lê Mạnh Hùng – CB110213 - Lớp: 11BCNTT.KT

7


Đề tài: Xây dựng một mô hình đo lường phục vụ cho việc quản lý dự án phần mềm
dựa trên phương pháp đo độ lớn chức năng COSMIC

-

-

đó việc tiếp cận các thông tin này gặp một số khó khăn do thiếu tài liệu và
căn cứ để triển khai đo thử nghiệm.
Với một số phần mềm tập trung vào các phép xử lý theo thuật toán phức tạp
thay vì các thao tác vào ra dữ liệu ví dụ như các phần mềm nghiên cứu
chuyển động của các vệ tinh trong ngành hàng không vũ trụ hay các phần
mềm dự báo khí tượng khi đó phương pháp đo độ lớn chức năng phần mềm
COSMIC cho kết quả không thật sát với độ lớn và phức tạp vốn có của phần
mềm dẫn tới việc định cỡ và dự trù chi phí, nhân sự và thời gian cho phần
mềm phần mềm sẽ khó đạt kết quả như mong muốn.
Kết quả thử nghiệm phương pháp đo độ lớn chức năng COSMIC mang tính
chất tương đối về kết quả. Điều này có nghĩa là với cùng một phần mềm
nhưng với những chuyên viên đo có kinh nghiệm và kiến thức khác nhau sẽ
có kết quả sai khác trong một biên độ nào đó. Kết quả đo thậm chí còn khác

đi với cùng một người thực hiện đo đạc khi kinh nghiệm và kĩ năng đo được
hoàn thiện dần.

Học viên thực hiện: Lê Mạnh Hùng – CB110213 - Lớp: 11BCNTT.KT

8


Đề tài: Xây dựng một mô hình đo lường phục vụ cho việc quản lý dự án phần mềm
dựa trên phương pháp đo độ lớn chức năng COSMIC

CHƢƠNG 1: TỔNG QUAN VỀ ĐO ĐỘ LỚN PHẦN MỀM
1. Vai trò của việc đo độ lớn phần mềm
Hiện nay các nhà quản lý công nghệ thông tin không ngừng yêu cầu nâng cao chất
lượng quản lý phần mềm Công nghệ thông tin (CNTT) nhằm tránh các thất bại, đưa
ra được những biện pháp quản lý phần mềm một cách mềm dẻo, linh hoạt đảm bảo
cho người quản trị dự án có khả năng kiểm soát, điều chỉnh và quản lý thay đổi với
phần mềm của mình đảm bảo phần mềm đầy đủ chức năng và được phát triển trong
thời gian cam kết. Để làm được điều này quản trị dự án phần mềm cần có một
phương pháp đo độ lớn phần mềm và có khả năng ánh xạ từ độ lớn đo được với dự
kiến chi phí thời gian, giá thành và nhân công cần thiết.
Độ lớn phần mềm cũng là cơ sở quan trọng để quản trị dự án làm việc với khách hàng
sử dụng phần mềm để thống nhất hợp đồng thầu dự án. Độ lớn phần mềm cũng là
một trong những nhân tố quan trọng giúp cho việc xây dựng các hệ thống đo lường
phục vụ cho việc quản lý có hiệu quả các phần mềm. Các mô hình chất lượng phần
mềm như CMM (hay CMMI) đều nhấn mạnh tầm quan trọng của số đo độ lớn phần
mềm. Ước lượng giá thành và công sức phát triển phần mềm là một trong những yếu
tố giúp cho việc quản lý dự án phần mềm một cách có hiệu quả. Việc ước lượng này
là rất cần thiết trong toàn bộ vòng đời của phần mềm từ khi bắt đầu dự án cho tới khi
dự án hoàn thành. Những ước lượng tính toán đầu tiên giúp cho việc đánh giá tính

khả thi của phần mềm.

Hình 1 Vai trò của đo độ lớn phần mềm

Học viên thực hiện: Lê Mạnh Hùng – CB110213 - Lớp: 11BCNTT.KT

9


Đề tài: Xây dựng một mô hình đo lường phục vụ cho việc quản lý dự án phần mềm
dựa trên phương pháp đo độ lớn chức năng COSMIC

Quan sát trong hình vẽ 01 ta thấy việc đo độ lớn chức năng phần mềm được bắt đầu
ngay sau khi có đặc tả yêu cầu phần mềm. Sau khi chốt đặc tả yêu cầu phần mềm,
quá trình đo độ lớn chức năng phần mềm bắt đầu. Sản phẩm của quá trình đo là giá
trị độ lớn chức năng của phần mềm. Căn cứ vào độ lớn này quản trị dự án sẽ ước
tính chi phí về giá thành, chi phí nhân công và chi phí thời gian của dự án. Với kết
quả ước lượng thu được quản trị dự án tiến hành xây dựng kế hoạch phát triển phần
mềm. Kế hoạch này được sử dụng là căn cứ để theo dõi và điều chỉnh trong toàn bộ
vòng đời của phần mềm. Khi có thay đổi yêu cầu bài toán dẫn tới thay đổi về độ lớn
chức năng của phần mềm khi đó kế hoạch cũng thay đổi ánh xạ tới sự thay đổi về
ước lượng nguồn lực dự kiến để hoàn thành dự án. Đây chính là quá trình quản lý
thay đổi trong vòng đời phát triển phần mềm.
2. Một số phƣơng pháp đo độ lớn phần mềm
2.1. Phƣơng pháp đo độ lớn chức năng phần mềm dựa trên số lƣợng dòng lệnh
Đây là phương pháp đo độ lớn chức năng phần mềm kinh điển đã có từ rất lâu với
nguyên tắc rất đơn giản. Độ lớn chức năng của phần mềm phụ thuộc vào số lượng
dòng lệnh. Phương pháp này có ưu điểm là tính đơn giản. Chỉ cần đếm số lượng
dòng lệnh của phần mềm để ước lượng độ lớn của phần mềm. Ngoài ra phương
pháp này cũng không đòi hỏi chuyên viên đo phải trau dồi kĩ năng và kinh nghiệm

đo thực tế. Tuy nhiên phương pháp này có một số nhược điểm lớn. Thứ nhất số
lượng dòng lệnh trong nhiều trường hợp không thể hiện được bản chất phức tạp/đơn
giản của ứng dụng. Thứ hai là phương pháp này không áp dụng được với những
phần mềm được phát triển trên nhiều nền tảng khác nhau do mỗi ngôn ngữ lập trình
có một cấu trúc ngữ pháp riêng do đó không có quy chiếu chung về số lượng dòng
lệnh. Hệ quả tất yếu của việc này là những dự án phần mềm viết bằng những ngôn
ngữ khác nhau không thể so sánh về độ lớn với nhau và những phần mềm viết bằng
những ngôn ngữ khác nhau không tính được giá trị độ lớn.
2.2. Phƣơng pháp đo độ lớn phần mềm dựa vào tài liệu hoặc sản phẩm
Nếu như phương pháp đo độ lớn chức năng dựa trên số lượng dòng lệnh hướng
nhiều về các lập trình viên thì phương pháp đo độ lớn phần mềm dựa vào tài liệu

Học viên thực hiện: Lê Mạnh Hùng – CB110213 - Lớp: 11BCNTT.KT

10


Đề tài: Xây dựng một mô hình đo lường phục vụ cho việc quản lý dự án phần mềm
dựa trên phương pháp đo độ lớn chức năng COSMIC

hoặc sản phẩm lại hướng về góc độ của người sử dụng. Đối với người sử dụng họ sẽ
quan tâm nhiều hơn tới những yếu tố trực quan sinh động gắn liền với quá trình sử
dụng phần mềm. Phương pháp đo này dựa vào độ lớn của tài liệu đặc tả và vận
hành, số lượng giao diện người dùng, số lượng báo cáo hay số lượng module mà
phần mềm cung cấp. Có thể dễ dàng thấy rằng phương pháp đo độ lớn phần mềm
dựa vào tài liệu hoặc sản phẩm có phần cảm tính và không có một quy chuẩn chung.
2.3. Phƣơng pháp đo độ lớn phần mềm dựa vào độ lớn chức năng.
Khác với hai phương pháp ở trên, phương pháp đo độ phần mềm dựa vào đo độ lớn
chức năng đưa ra một phương pháp tiếp cận có tính trung hòa đảm bảo thỏa mãn
nhu cầu và sự quan tâm của cả 2 đối tượng: người sử dụng phần mềm và nhà quản

trị dự án.
Phương pháp đo này có một số ưu điểm nổi bật. Thứ nhất phương pháp này cho
phép xác định độ lớn của phần mềm ngay tại pha Phân tích yêu cầu của khách hàng.
Ngoài ra việc đo độ lớn chức năng hoàn toàn độc lập và không phụ thuộc vào nền
tảng công nghệ/ngôn ngữ lập trình do đó có thể xác định được độ lớn chức năng với
các dự án phần mềm được phát triển bởi nhiều ngôn ngữ khác nhau. Đồng thời có
thể so sánh độ lớn của các phần mềm được viết bằng các ngôn ngữ khác nhau.
Qua so sánh nhận định các phương pháp đo độ lớn phần mềm trên đây, tác giả đánh
giá một phương pháp đo độ lớn phần mềm ưu việt cần đảm bảo các yếu tố sau:
 Có ý nghĩa cho cả khách hàng và người phát triển.
 Được công nhận phù hợp theo tiêu chuẩn của các tổ chức quốc tế (ví dụ
ISO…)
 Có phương pháp luận nhất quán và phương pháp tường minh, rõ ràng.
 Dễ học và dễ áp dụng
Dễ dàng nhận thấy trong các phương pháp đo độ lớn phần mềm thì phương pháp đo
dựa trên đo độ lớn chức năng đáp ứng tốt nhất các tiêu chí này. Phần tiếp theo tác
giả sẽ lựa chọn so sánh hai phương pháp đo độ lớn chức năng được ISO công nhận,
từ đó lựa chọn phương pháp ưu việt hơn để nghiên cứu chi tiết và áp dụng đo thử
nghiệm trong thực tế.

Học viên thực hiện: Lê Mạnh Hùng – CB110213 - Lớp: 11BCNTT.KT

11


Đề tài: Xây dựng một mô hình đo lường phục vụ cho việc quản lý dự án phần mềm
dựa trên phương pháp đo độ lớn chức năng COSMIC

2.4. So sánh phƣơng pháp đo độ lớn chức năng COSMIC và IFPUG
Phương pháp đo IFPUG: Đây là phương pháp do hãng IBM phát minh vào những

năm cuối của thập kỷ 70 với tên là FPA (Function Point Analysis). Hiện nay,
phương pháp này được Hiệp hội quốc tế những người sử dụng phương pháp điểm
chức năng – tên viết tắt là IFPUG (International Function Point User’s Group,
) duy trì và phát triển. Từ đấy, phương pháp đo này được gọi
tên là Điểm chức năng IFPUG (IFPUG Function Points). Phương pháp này cho
phép ước lượng độ lớn phần mềm từ góc độ của người sử dụng. Theo cách nhìn
này, một phần mềm được cấu thành từ các thành phần cơ bản sau: nhập dữ liệu,
xuất dữ liệu, truy vấn dữ liệu, tệp dữ liệu bên trong (tệp được khởi tạo, cập nhật và
thay đổi bởi phần mềm được đo) và tệp dữ liệu bên ngoài (tệp được truy nhập bởi
phần mềm được đo nhưng được khởi tạo và cập nhật bởi một phần mềm khác). Các
thành phần này được gọi là các thành phần chức năng. Độ lớn chức năng của một
phần mềm sẽ được ước lượng dựa trên số lượng các chức năng. Từ việc phân tích
yêu cầu của người sử dụng, các chức năng sẽ được nhận diện và phân loại theo
thành phần. Mỗi chức năng này sẽ được xếp loại theo một thang đo độ phức tạp:
đơn giản, trung bình và phức tạp. Tuỳ theo độ phức tạp, mỗi chức năng sẽ được gán
điểm theo một thang điểm. Độ lớn chức năng của phần mềm sẽ bằng tổng số điểm
gán cho các chức năng.
Phương pháp COSMIC-FFP : Theo phương pháp COSMIC-FFP, yêu cầu phần
mềm của người sử dụng (Functional User Requirements) có thể chia ra thành nhiều
tiến trình chức năng (Functional process). Mỗi tiến trình chức năng này là một tập
hợp các dịch chuyển dữ liệu. Theo mô hình phần mềm của COSMIC-FFP, có bốn
kiểu trao đổi dữ liệu : chuyển vào (entry), chuyển ra (exit), ghi (write) và đọc dữ
liệu (read). Các thao tác chuyển dữ liệu này chỉ chứa một nhóm dữ liệu duy nhất
(tương tự như một lớp dữ liệu trong mô hình hướng đối tượng).
 Thao tác chuyển vào di chuyển dữ liệu từ người sử dụng, vượt qua giới hạn
giữa phần mềm và người sử dụng (boundary of the software) vào trong quy
trình chức năng.

Học viên thực hiện: Lê Mạnh Hùng – CB110213 - Lớp: 11BCNTT.KT


12


Đề tài: Xây dựng một mô hình đo lường phục vụ cho việc quản lý dự án phần mềm
dựa trên phương pháp đo độ lớn chức năng COSMIC

 Thao tác chuyển ra di chuyển dữ liệu từ phần mềm ra phía người sử dụng,
vượt qua giới hạn giữa phần mềm và người sử dụng.
 Các thao tác ghi và đọc di chuyển dữ liệu vào và ra kho lưu trữ dữ liệu lâu
dài.
Theo phương pháp COSMIC-FFP, mỗi thao tác di chuyển dữ liệu được gán một
đơn vị đo duy nhất, tương đương với 1 CFP (Cosmic functional point). Độ lớn chức
năng của một quy trình chức năng bằng tổng của các thao tác di chuyển dữ liệu. Độ
lớn của cả phần mềm sẽ bằng tổng độ lớn chức năng của các tiến trình chức năng.
So sánh phương pháp đo độ lớn phần mềm COSMIC và IFPUG:
Đặc điểm chung:
 Cả 2 phương pháp đều theo chuẩn ISO.
 Đều được chứng thực chất lượng bởi tổ chức US Government Accountability
Office.
So sánh theo các tiêu chí cụ thể:
Tiêu chí

IFPUG

COSMIC

Nguồn gốc và
thực trạng sử
dụng hiện tại


-Là phương pháp đo độ lớn
chức năng đầu tiên, được phát
triển và quảng bá bởi Tập đoàn
IBM từ những năm đầu thập kỉ
80

-Được phát triển bởi một nhóm
chuyên gia quốc tế về độ đo phần
mềm. Được giới thiệu phổ thông
từ năm 2000, Ngày nay phương
pháp được sử dụng rộng khắp
trên toàn thế giới

Thiết kế

Một khi phương thức xây dựng
một phần mềm thay đổi lúc đó
Các nguyên tắc mới không thay
cần bổ sung các nguyên tắc đo
đổi
mới vào phương pháp đo
IFPUG để đáp ứng thay đổi

Tính ứng
dụng

Phương pháp được sử dụng để
đo các loại phần mềm khác
nhau trừ các phần mềm thuần
nhất sử dụng thuật toán. Trong

suốt hơn 30 năm tồn tại
phương pháp IFPUG rất ít khi

Phương pháp đo được xây dựng
nhằm ứng dụng cho các ứng dụng
nghiệp vụ, các ứng dụng thời gian
thực và các ứng dụng nhúng, ở
bất kì lớp nào trong phân lớp
phần mềm và ở bất kì cấp độ

Học viên thực hiện: Lê Mạnh Hùng – CB110213 - Lớp: 11BCNTT.KT

13


Đề tài: Xây dựng một mô hình đo lường phục vụ cho việc quản lý dự án phần mềm
dựa trên phương pháp đo độ lớn chức năng COSMIC

Tiêu chí

IFPUG
được sử dụng với các phần
mềm không phải là phần mềm
quản lý thông tin (MIS
Software)

COSMIC
phân rã nào. Ngày nay phương
pháp đo này được sử dụng rộng
rãi cho tất cả các loại phần mềm

Kết quả đo là một phạm vi mở.
Độ lớn chức năng của các phần
mềm quản lý thông tin cỡ khoảng
70 CFP trong khi đó với những
phần mềm phức tạp hơn như phần
mềm điện tử hàng không thường
có độ lớn trên 100 CFP. Độ lớn
tối thiểu của 1 tiến trình chức
năng đơn lẻ là 2 CFP

Phạm vi đo

Kết quả đo chỉ cho phép xác
định ước lượng độ lớn theo 3
mức độ: Lớn, Trung bình và
Nhỏ. Kết quả phân loại này
tương đối nghèo nàn và không
đáp ứng được với những phần
mềm lớn và phức tạp

Đo lƣờng độ
lớn sự thay
đổi đối với
phần mềm

Đo được độ lớn của một thay đổi
Không thể đo được độ lớn sự
do đó phương pháp này được áp
thay đổi đối với 1 thành phần
dụng để đo độ lớn của phần mềm

phần mềm, chỉ có thể xác định được thêm vào, thay đổi hoặc xóa
độ lớn với những thành phần
bỏ. Chính vì vậy phương pháp
thêm vào hoặc bỏ bớt đi của hệ này được sử dụng để quản lý thay
thống
đổi trong vòng đời của án phần
mềm

Kho dữ liệu
tham chiếu

Do có lịch sử lâu đời hơn do
vậy trong kho dữ liệu tham
chiếu của IFPUG có nhiều dự
án hơn so với COSMIC tuy
nhiên rất ít trong số này từ các
dự án trong vòng một thập kỉ
trở lại đây và hầu hết trong số
chúng đều thuộc lĩnh vực phần
mềm quản trị thông tin

Sử dụng để
ƣớc lƣợng các

Các mô hình ước lượng dự án
Đã có rất nhiều tổ chức lớn & uy
thường đòi hỏi biết kích cỡ yêu tín sử dụng phương pháp đo

Cơ sở dữ liệu ISBSG hiện nay có
dữ liệu của rất nhiều dự án được

đo độ lớn bằng phương pháp
COSMIC. Kho dữ liệu này có
tính thức thời hơn và được cập
nhật thường xuyên

Học viên thực hiện: Lê Mạnh Hùng – CB110213 - Lớp: 11BCNTT.KT

14


Đề tài: Xây dựng một mô hình đo lường phục vụ cho việc quản lý dự án phần mềm
dựa trên phương pháp đo độ lớn chức năng COSMIC

Tiêu chí
nỗ lực cần
thiết của dự
án

IFPUG

COSMIC

cầu bài toán (thông qua số
lượng dòng lệnh hoặc số điểm
chức năng IFPUG). Tuy nhiên
thực tế cho thấy ước lượng nỗ
lực bằng IFPUG đạt độ chính
xác không cao

COSMIC để đo độ lớn chức năng

và ước lượng nỗ lực cho các dự
án và trong đó có những báo cáo
cho kết quả xuất sắc. Điển hình
như Nokia, NTT, Ericsson,
Renault,…

Trong suốt hai thập kỉ phương
pháp IFPUG đã được các nhà
Nghiên cứu và nghiên cứu chỉ ra một số nhược
điểm tuy nhiên chưa có nhiều
phát triển
cải tiến để khắc phục những
nhược điểm này

Chi phí áp
dụng phƣơng
pháp đo

Để có tài liệu về phương pháp
IFPUG và sử dụng phương
pháp một tổ chức/cá nhân cần
trở thành một thành viên của
IFPUG và chi trả một khoản
phí sinh hoạt định kì. Ngoài ra
để có chứng chỉ IFPUG cần thi
với chi phí 250 $ và cứ 3 năm
phải gia hạn một lần

Có rất nhiều tài liệu nghiên cứu
hàn lâm tập trung vào việc sử

dụng phương pháp COSMIC để
ước lượng nỗ lực và tự động hóa
quá trình đo COSMIC thông qua
yêu cầu phần mềm
Tất cả tài liệu hướng dẫn sử dụng
của COSMIC được đăng tải công
cộng và cho phép tải miễn phí tại
trang chủ www.cosmicon.com.
Để có chứng chỉ COSMIC cần thi
với chi phí 100$ và chứng chỉ có
hiệu lực mãi mãi

Dựa trên các so sánh trên đây cho thấy COSMIC là phương pháp đo có nhiều ưu
điểm và mang nhiều hơi thở thời đại mới hơn do vậy COSMIC là phương pháp
được tác giả lựa chọn để tìm hiểu và áp dụng đo trong luận văn này.

Học viên thực hiện: Lê Mạnh Hùng – CB110213 - Lớp: 11BCNTT.KT

15


Đề tài: Xây dựng một mô hình đo lường phục vụ cho việc quản lý dự án phần mềm
dựa trên phương pháp đo độ lớn chức năng COSMIC

CHƢƠNG 2: PHƢƠNG PHÁP ĐO ĐỘ LỚN CHỨC NĂNG COSMIC
1. Giới thiệu chung
Phương pháp COSMIC ra đời năm 2000 là kết quả nghiên cứu của một tập hợp các
chuyên gia về đo lường phần mềm nhằm đưa ra một phương pháp chuẩn mực về đo
độ lớn phần mềm dựa vào độ lớn chức năng. Phương pháp COSMIC có thể áp dụng
cho nhiều kiểu phần mềm khác nhau từ phần mềm quản lý thông tin cho đến phần

mềm thời gian thực và phần mềm nhúng. Đây là một trong những đặc điểm nổi bật
tạo ra sự khác biệt và ưu thế cạnh tranh của COSMIC so với những phương pháp
khác (vì những phương pháp đo độ lớn chức năng khác hiện mới áp dụng được với
phần mềm quản lý thông tin).
2. Phƣơng pháp luận và các nguyên tắc cơ bản
Phương pháp COSMIC có phương pháp luận nhất quán với những nguyên tắc rất rõ
ràng, minh bạch và dễ dàng tiếp cận cho người mới tiếp cận. Theo đó COSMIC có
một số nguyên tắc cơ bản là:
 Trong phương pháp đo COSMIC phần mềm được phân rã thành những tiến trình
chức năng độc lập và khép kín. Có thể hiểu mỗi tiến trình chức năng là một chuỗi
các diễn biến nhằm hiện thực hóa một luồng nghiệp vụ độc lập hay thỏa mãn một
tính năng nào đó trong yêu cầu phần mềm của người dùng.
Đối với các phần mềm phức tạp, quản trị viên cần phân tách cấu trúc phần mềm
thành các lớp và thực hiện đo độ lớn chức năng của từng lớp. (Một lớp là một
tập hợp các module của phần mềm thực hiện một mục đích chuyên biệt nào
đó). Ví dụ như lớp giao diện (thực hiện các chức năng giao diện với người dùng
và hệ thống khác), lớp nghiệp vụ (thực hiện các nội dung nghiệp vụ của phần
mềm), lớp tiện ích (cung cấp các tiện ích cơ bản và nâng cao với mục đích tối
ưu hóa phần mềm).
 Mỗi tiến trình chức năng được bắt đầu bằng một sự kiện khơi mào gọi là sự
kiện kích hoạt và tiến trình chức năng kết thúc khi thực hiện xong một quy trình
nghiệp vụ được định nghĩa cho phần mềm.

Học viên thực hiện: Lê Mạnh Hùng – CB110213 - Lớp: 11BCNTT.KT

16


Đề tài: Xây dựng một mô hình đo lường phục vụ cho việc quản lý dự án phần mềm
dựa trên phương pháp đo độ lớn chức năng COSMIC


 Mấu chốt của phương pháp đo COSMIC là việc phân rã phần mềm thành các
tiến trình chức năng độc lập. Độ lớn chức năng của phần mềm bằng tổng độ lớn
chức năng của các tiến trình chức năng độc lập. Do vậy bài toán tính độ lớn
chức năng của phần mềm được quy về bài toán tính độ lớn chức năng của từng
tiến trình chức năng.
 Để tính độ lớn chức năng của từng tiến trình chức năng, COSMIC dựa trên
nguyên tắc Dịch chuyển dữ liệu. Theo nguyên tắc này mỗi tiến trình chức năng
được phân ra thành các dịch chuyển dữ liệu khác nhau. Mỗi dịch chuyển dữ
liệu có giá trị một độ lớn chức năng. Có 4 loại dịch chuyển dữ liệu khác nhau
bao gồm: dịch chuyển dữ liệu Read (đọc dữ liệu từ Cơ sở dữ liệu ra phần mềm)
kí hiệu là R, dịch chuyển dữ liệu Write (ghi dữ liệu từ phần mềm vào cơ sở dữ
liệu) kí hiệu là W, dịch chuyển dữ liệu Entry (người dùng nhập dữ liệu vào
phần mềm) kí hiệu là E, dịch chuyển dữ liệu Exit (gửi trả dữ liệu cho người
dùng hoặc hiển thị thông tin trên màn hình) kí hiệu là X
 Mỗi dịch chuyển dữ liệu có giá trị một đơn vị độ lớn chức năng COSMIC (hay
còn kí hiệu là 1 CFP).
 Đầu vào của phương pháp đo COSMIC chính là tài liệu đặc tả yêu cầu phần
mềm cũng như tài liệu thiết kế cơ sở dữ liệu của hệ thống. Đầu ra là độ lớn
chức năng của phần mềm xác định bằng đơn vị độ lớn chức năng CFP.
 COSMIC đã được áp dụng cho rất nhiều các dự án thực tế do vậy có một kho
tập mẫu phong phú các dự án phần mềm thực tế. Căn cứ vào kho mẫu này có
thể ước lượng từ giá trị độ lớn chức năng mới đo được ở trên ra chi phí giá
thành, thời gian và nguồn lực cần thiết để triển khai dự án. Đây chính là các
thông số cơ bản để xây dựng kế hoạch triển khai dự án. Về sau này trong vòng
đời dự án COSMIC vẫn được áp dụng để quản lý các thay đổi. Ví dụ trong
trường hợp người sử dụng thay đổi đặc tả yêu cầu để đáp ứng luồng chức năng
nghiệp vụ mới, khi đó quản trị viên dự án sử dụng COSMIC để đo độ lớn mới
rồi một lần nữa căn cứ vào tập mẫu xác định những thay đổi cần có về chi phí,
thời gian cũng như nguồn lực để hoàn thành dự án. Như vậy COSMIC tiếp tục

được quản trị dự án sử dụng để quản lý thay đổi trong suốt vòng đời của dự án.

Học viên thực hiện: Lê Mạnh Hùng – CB110213 - Lớp: 11BCNTT.KT

17


Đề tài: Xây dựng một mô hình đo lường phục vụ cho việc quản lý dự án phần mềm
dựa trên phương pháp đo độ lớn chức năng COSMIC

 Một yếu tố rất được quản trị dự án quan tâm để đánh giá hiệu quả cũng như
đánh giá công tác nhân sự cho một dự án phần mềm đó là đánh giá hiệu năng
của đội dự án. Năng suất lập trình của đội dự án được tính bằng công thức:
Năng suất = (Công sức bỏ ra)/Độ lớn phần mềm
Đơn vị công sức bỏ ra: người * giờ
Đơn vị độ lớn phần mềm: cfp
Sau khi tính được năng suất của dự án quản trị viên có thể so sánh với năng suất
trung bình để đánh giá năng suất/chất lượng của đội dự án.
3. Các bƣớc đo độ lớn chức năng phần mềm COSMIC
Phương pháp đo độ lớn phần mềm dựa trên đo độ lớn chức năng COSMIC bao gồm
4 bước thực hiện chính:
Bƣớc 1: Xác định những ngƣời sử dụng chức năng:
Đối tượng người sử dụng chức năng là đối tượng người dùng hoặc một phần mềm
khác thực hiện gửi hoặc nhận dữ liệu tới phần mềm được đo độ lớn chức năng để
thực hiện một yêu cầu chức năng nào đó. Người sử dụng chức năng của phần mềm
được xác định tùy vào mục đích của phép đo.
Bƣớc 2: Xác định các tiến trình chức năng
Một tiến trình chức năng là một tập hợp các tương tác của phần mềm nhằm thực
hiện một chức năng cụ thể. Tiến trình chức năng có tính khép kín. Điều này có
nghĩa là một tiến trình chức năng sẽ giải quyết trọn vẹn một chức năng của phần

mềm từ khi bắt đầu đến khi hoàn toàn kết thúc và chức năng được thực thi. Tiến
trình chức năng được kích hoạt bởi các sự kiện. Sự kiện kích hoạt là một sự kiện
(một điều gì đó xảy ra) và là nguyên nhân làm cho một người sử dụng chức năng
của phần mềm đó khởi tạo một hoặc nhiều tiến trình chức năng cùng lúc.
Xác định các tiến trình chức năng là một cơ sở mấu chốt để thực hiện đo độ lớn
chức năng phần mềm theo phương pháp COSMIC. Theo đó mỗi chức năng độc lập
và khép kín của phần mềm chính là một tiến trình chức năng. Tiến trình chức năng
được bắt đầu khi xảy ra sự kiện kích hoạt và kết thúc khi chức năng của phần mềm
được hoàn thành.

Học viên thực hiện: Lê Mạnh Hùng – CB110213 - Lớp: 11BCNTT.KT

18


Đề tài: Xây dựng một mô hình đo lường phục vụ cho việc quản lý dự án phần mềm
dựa trên phương pháp đo độ lớn chức năng COSMIC

 Một tiến trình chức năng sẽ được xác định từ ít nhất một yêu cầu đặc tả của
người sử dụng chức năng trong phạm vi được chấp nhận.
 Một tiến trình chức năng được thực thi khi một sự kiện kích hoạt xảy ra.
 Một sự kiện có khả năng kích hoạt một hay nhiều tiến trình chức năng thực
hiện song song. Một tiến trình chức năng cũng có thể được kích hoạt bởi
nhiều hơn một sự kiện. Như vậy mối quan hệ giữa sự kiện kích hoạt và tiến
trình chức năng là mối quan hệ nhiều nhiều.
 Một tiến trình chức năng có tối thiểu hai thao tác dịch chuyển dữ liệu.
 Một sự kiện đơn lẻ có thể kích hoạt một hoặc nhiều tiến trình chức năng thực
thi độc lập. Một tiến trình chức năng độc lập có thể được kích hoạt bởi một
hoặc nhiều sự kiện kích hoạt. Như vậy mối quan hệ giữa sự kiện kích hoạt và
tiến trình chức năng là quan hệ Nhiều – Nhiều.

Bƣớc 3: Đo độ lớn chức năng
Như ta đã biết độ lớn chức năng của phần mềm bằng tổng độ lớn chức năng của các
tiến trình chức năng cấu thành phần mềm đó. Do vậy bài toán đo độ lớn phần mềm
lúc này quy về đo độ lớn chức năng của từng tiến trình chức năng. Sau các bước
thực hiện ở trên ta đã xác định được các tiến trình chức năng với sự kiện kích hoạt
và những người sử dụng chức năng có liên quan. Để đo độ lớn chức năng của một
tiến trình chức năng cần phân rã tiến trình chức năng thành các dịch chuyển dữ liệu
E, R, W, S:

Hình 2 Phân loại các dịch chuyển dữ liệu
Ví dụ minh họa về các loại dịch chuyển dữ liệu:

Học viên thực hiện: Lê Mạnh Hùng – CB110213 - Lớp: 11BCNTT.KT

19


Đề tài: Xây dựng một mô hình đo lường phục vụ cho việc quản lý dự án phần mềm
dựa trên phương pháp đo độ lớn chức năng COSMIC

Hình 3 Minh họa đo độ lớn tiến trình chức năng
Trên đây là minh họa tính năng thay đổi thông tin nhân viên trong một phần mềm
Quản lý nhân sự. Trực quan ta thấy tính năng này chính là một tiến trình chức năng
của phần mềm Quản lý nhân sự và tiến trình chức năng này được phân rã thành các
dịch chuyển dữ liệu như sau:
Bước 1: Người sử dụng nhập thông tin nhân viên mình muốn thay đổi thông tin 
Đây là một thao tác nhập dữ liệu  Ghi nhận 1 dịch chuyển dữ liệu dạng E
Bước 2: Hệ thống truy xuất cơ sở dữ liệu những nhân viên có tên giống/gần giống
với thông tin người sử dụng vừa nhập. Đây là một thao tác truy xuất cơ sở dữ liệu
 Ghi nhận một dịch chuyển dữ liệu dạng R.

Bước 3: Hệ thống hiển thị thông tin các nhân viên vừa truy xuất từ cơ sở dữ liệu lên
màn hình. Đây là một thao tác xuất dữ liệu lên màn hình người dùng  Ghi nhận
một dịch chuyển dữ liệu dạng X.
Bước 4: Người sử dụng chọn chính xác nhân viên muốn thay đổi thông tin vd nhân
viên Nguyễn Văn A. Đây là một thao tác nhập liệu  Ghi nhận một dịch chuyển dữ
liệu dạng E.
Bước 5: Hệ thống trích xuất dữ liệu của nhân viên Nguyễn Văn A. Đây là một thao
tác trích xuất cơ sở dữ liệu  Ghi nhận một dịch chuyển dữ liệu dạng R.

Học viên thực hiện: Lê Mạnh Hùng – CB110213 - Lớp: 11BCNTT.KT

20


Đề tài: Xây dựng một mô hình đo lường phục vụ cho việc quản lý dự án phần mềm
dựa trên phương pháp đo độ lớn chức năng COSMIC

Bước 6: Hệ thống hiển thị chi tiết thông tin về nhân viên Nguyễn Văn A lên màn
hình cho người sử dụng thay đổi thông ti. Đây là một thao tác xuất dữ liệu  Ghi
nhận một dịch chuyển dữ liệu dạng X.
Bước 7: Người sử dụng lúc này nhập thông tin mới vào trường thông tin muốn sửa
trong profile của nhân viên Nguyễn Văn A. Đây là một thao tác nhập liệu  Ghi
nhận một dịch chuyển dữ liệu dạng E
Bước 8: Phần mềm ghi thông tin mới được thay đổi cho nhân viên Nguyễn Văn A
lưu trữ vào trong cơ sở dữ liệu. Đây là một thao tác dạng ghi dữ liệu vào cơ sở dữ
liệu  Ghi nhận một dịch chuyển dữ liệu dạng W.
Qua quá trình phân ra tiến trình chức năng “Sửa thông tin nhân viên” ta thấy tiến
trình chức năng này bao gồm 8 dịch chuyển dữ liệu do vậy độ lớn chức năng của
tiến trình này là 8 đơn vị độ lớn chức năng COSMIC hay 8 CFP.
Bƣớc 4: Ƣớc tính thời gian, nhân công, chi phí triển khai

Sau khi xác định độ lớn chức năng phần mềm, mục tiêu tiếp theo của quản trị viên
là ước lượng chi phí giá thành, thời gian và nguồn lực để lập kế hoạch và quản lý
thay đổi cho dự án. Như đã biết phương pháp COSMIC đã được các công ty phần
mềm áp dụng rộng khắp, số liệu các dự án phần mềm thực tế triển khai đo đạc bằng
COSMIC được cập nhật thường xuyên vào kho dữ liệu mẫu. Do vậy chỉ cần so sánh
tham chiếu vào kho dữ liệu mẫu quản trị viên dự án sẽ ánh xạ được với độ lớn chức
năng phần mềm đã đo được cần chi phí giá thành bao nhiêu, thuê bao nhiêu nhân
công, làm trong bao lâu. Khi số lượng dự án phần mềm thực tế cập nhật thông tin
vào kho dữ liệu mẫu càng nhiều thì số liệu của kho dữ liệu mẫu càng phong phú,
chính xác. Cũng từ đây quản trị viên dự án có thể xác định được hiệu suất của đội
ngũ lập trình dự án so với mức chuẩn chung của các dự án trên thế giới.
4. Ƣu điểm của phƣơng pháp đo COSMIC:
 Phương pháp đo COSMIC cho phép xác định độ lớn của phần mềm ngay tại
pha xác định yêu cầu phần mềm. Từ đó quản trị dự án có thể ước lượng chi phí
về nguồn lực, về nhân công, về giá thành, về thời gian để hoạch định cho dự án
của mình

Học viên thực hiện: Lê Mạnh Hùng – CB110213 - Lớp: 11BCNTT.KT

21


Đề tài: Xây dựng một mô hình đo lường phục vụ cho việc quản lý dự án phần mềm
dựa trên phương pháp đo độ lớn chức năng COSMIC

 Phương pháp đo COSMIC không phụ thuộc vào ngôn ngữ lập trình được sử
dụng. Do đó có thể áp dụng phương pháp đo COSMIC cho những dự án được
xây dựng bằng nhiều ngôn ngữ lập trình khác nhau.
 COSMIC dựa vào sự di chuyển của dữ liệu là nguyên tắc chính để đo đạc do đó
áp dụng được với nhiều loại phần mềm khác nhau như ứng dụng thời gian thực,

các phần mềm nhúng … trong khi đối với những phương pháp đo độ lớn chức
năng khác ví dụ IFPUG phạm vi chỉ là những phần mềm quản lý thông tin.
 Phương pháp đo COSMIC cho phép quản trị các thay đổi trong toàn bộ vòng
đời phát triển của phần mềm. COSMIC hỗ trợ nhà quản trị dễ dàng theo dõi
tiến độ thực hiện của phần mềm thông qua lộ trình thực hiện các chức năng của
phần mềm. Khi có sự thay đổi yêu cầu chức năng của phần mềm trong quá
trình triển khai dự án phần mềm quản trị dự án có thể dựa vào phương pháp đo
độ lớn chức năng tính toán sự thay đổi độ lớn chức năng tương ứng. Trên cơ sở
độ lớn chức năng mới quản trị viên xác định chi phí thời gian, giá thành và
nhân công cần có để hoàn thành dự án. Từ đây quản trị viên sẽ có những điều
chỉnh thích hợp với dự án của mình.
 Phương pháp đo COSMIC cho phép tiếp cận từ phía khách hàng cũng như từ
phía đội dự án.
Do COSMIC xây dựng phương pháp đo trên nền tảng tiếp cận từ phía kĩ thuật
viên cũng như khách hàng sử dụng phần mềm do đó một lợi thế hiển nhiên là
phương pháp đo COSMIC dễ hiểu, dễ nắm bắt cho cho cả đội dự án phần mềm
cũng như cho khách hàng sử dụng phần mềm. Việc này giúp cho quá trình thảo
luận thống nhất hợp đồng thuận lợi và nhanh chóng. Để đáp ứng tính khách
quan đơn vị sản xuất phần mềm và khách hàng sẽ thuê một đơn vị trung gian thứ
ba có chuyên môn thực hiện đánh giá độ lớn chức năng của phần mềm. Trên cơ
sở kết quả đo độ lớn chức năng đơn vị sản xuất phần mềm và khách hàng sẽ
cùng thương thảo và đi đến kí kết hợp đồng chính thức. Việc định giá là rõ ràng
và minh bạch cho cả hai bên.

Học viên thực hiện: Lê Mạnh Hùng – CB110213 - Lớp: 11BCNTT.KT

22


Đề tài: Xây dựng một mô hình đo lường phục vụ cho việc quản lý dự án phần mềm

dựa trên phương pháp đo độ lớn chức năng COSMIC

 Phương pháp đo COSMIC cho kết quả với độ chính xác cao (trung bình chênh
lệch với kết quả triển khai thực tế chỉ từ 5-15 %, kết quả đo có thể tiến bộ và tốt
hơn theo năm kinh nghiệm
5. Hạn chế của phƣơng pháp đo COSMIC
Phương pháp đo độ lớn chức năng COSMIC có nhiều ưu điểm nổi bật và rất thuyết
phục với cả quản trị dự án phần mềm và khách hàng. Tuy nhiên để đo đạc độ lớn
phần mềm bằng phương pháp COSMIC, nhà quản trị dự án phần mềm và khách
hàng cần có một số lưu ý như sau:
 Cả nhà cung ứng phần mềm và khách hàng đều phải đầu tư cho việc đo theo
phương pháp đo xác định. Một phương án thường thấy là nhà cung cấp phần
mềm và người sử dụng phần mềm sẽ thuê một bên thứ ba đóng vai trò nhà phân
tích trung gian để tính toán độ lớn chức năng của phần mềm. Việc này sẽ phát
sinh chi phí.
 Giá trị đo độ lớn chức năng COSMIC không phải là một con số tuyệt đối cố
định. Sẽ có những sai số nhất định giữa kết quả đo khi được thực hiện bới các
chuyên gia đo khác nhau dù sai số không đáng kể. Ngay kể cả với cùng một
chuyên gia đo độ lớn chức năng COSMIC khả năng đo sẽ ngày càng chuẩn hóa
qua số thời gian và dự án thực nghiệm.
 Giá thành cho một đơn vị phần mềm có thể khác nhau tùy theo đặc trưng của
phần mềm. Do mỗi loại phần mềm có một đặc trưng khác nhau về sự phức tạp
trong thuật toán và nền tảng công nghệ sử dụng do đó ngoài số đo độ lớn chức
năng cũng cần lưu ý tới loại phần mềm để có những điều chỉnh thích hợp với
việc áp đơn giá cho từng đơn vị độ lớn chức năng phần mềm.

Học viên thực hiện: Lê Mạnh Hùng – CB110213 - Lớp: 11BCNTT.KT

23



Đề tài: Xây dựng một mô hình đo lường phục vụ cho việc quản lý dự án phần mềm
dựa trên phương pháp đo độ lớn chức năng COSMIC

CHƯƠNG 3 ỨNG DỤNG PHƯƠNG PHÁP ĐO COSMIC VÀ ĐÁNH GIÁ
1. Giới thiệu phần mềm Gửi Mail và SMS truyền thông nội bộ của Tổng Công
ty Viễn thông Quân đội Viettel
Phần mềm gửi Mail/SMS truyền thông nội bộ của Tổng Công ty Viễn thông Quân
đội Viettel được xây dựng nhằm đáp ứng nhu cầu truyền thông qua Mail/SMS của
cán bộ công nhân viên Tập đoàn Viettel.
Các tính năng cơ bản:
 Cấu hình profile gửi mail/SMS
 Cấu hình nhóm gửi mail/SMS
 Kiểm tra kết nối
 Gửi mail/SMS
 Báo cáo ghi nhận thông tin
 ……
2. Thực hiện đo độ lớn chức năng phần mềm Gửi mail/SMS truyền thông nội
bộ Tổng Công ty Viễn thông Quân đội Viettel
Phần mềm Gửi mail/SMS truyền thông nội bộ là phần mềm thuộc dạng phần mềm
quản lý thông tin. Việc đo độ lớn chức năng của phần mềm COSMIC theo đúng
nguyên tắc dựa vào việc xác định các tiến trình chức năng của phần mềm và thực
hiện đo độ lớn của từng tiến trình chức năng theo các dịch chuyển dữ liệu. Độ lớn
chức năng của phần mềm bằng tổng độ lớn chức năng của toàn bộ các tiến trình
chức năng. Các bước đo độ lớn chức năng của phần mềm:
 Xác định các tiến trình chức năng
 Xây dựng usecase chi tiết cho từng tiến trình chức năng, xác định dịch
chuyển dữ liệu và tính độ lớn của từng tiến trình chức năng.
 Độ lớn chức năng của phần mềm bằng tổng độ lớn của các tiến trình chức
năng.

Chi tiết quá trình phân tích và đo đạc được trình bày trong phần Phụ lục của luận văn.
3. Kết quả đo

Học viên thực hiện: Lê Mạnh Hùng – CB110213 - Lớp: 11BCNTT.KT

24


Đề tài: Xây dựng một mô hình đo lường phục vụ cho việc quản lý dự án phần mềm
dựa trên phương pháp đo độ lớn chức năng COSMIC

Kết quả đo thực tế phần mềm Gửi mail/SMS truyền thông nội bộ Tổng Công ty
Viễn thông Quân đội Viettel bằng phương pháp COSMIC:
 Phần mềm truyền thông có tổng cộng 17 tiến trình chức năng.
 Tổng độ lớn chức năng của phần mềm: 95 CFP.
Chi tiết quá trình phân tích và thực hiện đo được trình bày trong phần phụ lục. Sau
đây là bảng tổng kết quá trình thực hiện đo:
FP
1

2

3

4

Tiến trình
chức năng
Tạo mới
profile


Sự kiện
kích hoạt
Chọn tab
“Profile” 
Thêm mới
Profile

Cập nhật
profile

Chọn tab
“Profile” 
Chọn profile
cần sửa.

Xóa profile

Chọn tab
“Profile” 
Xóa profile.

Check kết Chọn
tab
nối
SMS “Profile” 
gateway
Chọn profile
cần kiểm tra


Mô tả dịch chuyển dữ liệu
1. Nhập thông tin profile
2. Ghi thông tin vào CSDL
3. Đọc thông tin từ CSDL
4. Hiển thị thông tin profile mới
tạo cho người dùng
1. Nhập thông tin profile muốn
cập nhật
2. Trích xuất thông tin profile từ
CSDL
3. Hiển thị thông tin profile
4. Cập nhật chi tiết profile
5. Ghi thông tin vào CSDL
6. Trích xuất thông tin profile từ
CSDL
7: Hiển thị thông tin profile
1. Nhập thông tin profile muốn
xóa
2. Trích xuất thông tin profile từ
CSDL
3. Hiển thị thông tin profile cần
xóa
4. Nhập thông tin xóa profile
5. Xóa profile trong CSDL
6. Hiển thị thông báo đã xóa
profile cho người dùng
1. Nhập thông tin profile cần
kiểm tra kết nối
2. Trích xuất thông tin từ CSDL
3. Gửi thông tin kết nối đến


Loại dịch
chuyển dữ liệu
E
W
R
X

Học viên thực hiện: Lê Mạnh Hùng – CB110213 - Lớp: 11BCNTT.KT

CFP
1
1
1
1

E

1

R

1

X
E
W
R

1

1
1
1

X
E

1
1

R

1

X

1

E
W
X

1
1
1

E

1


R

1

25


×