Một số phương pháp xây dựng mô hình ước lượng công thực hiện phần mềm bằng lập trình di truyền
Trang nhan đề
[IMG]file:///C:/Documents%20and%20Settings/trungduyen/My%20Documents/lrc-tnu.tpp2/hcmus2/www.nsl.hcmus.edu.vn/greenstone/collect/thesiskh/import/Dot2/Lieu/CNTT/NguyenHoangAnh/NguyenHoangAnh.jpg[/IMG]
Lời cảm ơn
Mục lục
Danh mục
Chương 1:
Tổng quan
Chương 2:
Dịch vụ Web và tìm kiếm dịch vụ Web
Chương 3:
Ngữ nghĩa và các phương pháp biểu diễn ngữ nghĩa
Chương 4:
Phương pháp mở rộng OWL-S dựa trên công dụng
Chương 5:
Tìm kiếm dịch vụ OWL-S dựa trên công cụ
Chương 6:
Cài đặt thử nghiệm và đánh giá
Chương 7:
Kết luận
Tài liệu tham khảo
7 trang |
Chia sẻ: lvcdongnoi | Lượt xem: 2826 | Lượt tải: 1
Bạn đang xem nội dung tài liệu Một số phương pháp xây dựng mô hình ước lượng công thực hiện phần mềm bằng lập trình di truyền, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
42
PHẦN 3: HƯỚNG TIẾP CẬN VÀ GIẢI PHÁP ðỀ XUẤT
Chương 4: Nhận định về ước lượng cơng thực hiện phần
mềm và đề xuất của luận văn
4.1. Nhận định về Tập dữ liệu lịch sử
Suy cho cùng, ước lượng cơng thực hiện phần mềm là quá trình đi tìm mối liên hệ
giữa một bên là đại lượng cơng (Effort) và một bên là những thơng số liên quan đến
việc tính cơng phần mềm (Cost Driver).
ðối với mỗi dự án phần mềm đã hồn thành, cơng thật sự để thực hiện phần mềm
được biết qua thơng tin về thời gian và nhân lực của dự án. Những thơng số liên
quan đến việc tính cơng phần mềm cũng dễ dàng được thu thập. Bộ dữ liệu cơng –
thơng số cơng này thể hiện một phần nào đĩ mối liên hệ cần tìm cho việc ước lượng
cơng sau này. Nếu cĩ N dự án phần mềm đã hồn thành, một tập N bộ dữ liệu cơng
– thơng số được thu thập và được gọi là tập dữ liệu lịch sử (Historical Data) như
trình bày ở bảng 4.1.
Bảng 4.1. Tập dữ liệu lịch sử bao gồm N dự án phần mềm.
Dự án
phần mềm
Cơng thực tế Thơng số
tính cơng 1
Thơng số
tính cơng 2
…
1 Real Effort 1 Cost Driver 11 Cost Driver 12 …
2 Real Effort 2 Cost Driver 21 Cost Driver 22 …
… … … … …
N Real Effort N Cost Driver N1 Cost Driver N2 …
Tập dữ liệu lịch sử là bảng số liệu phản ánh rõ nét nhất mối liên hệ giữa đại lượng
cơng và những thơng số liên quan đến việc tính cơng. Phân tích tập dữ liệu lịch sử
sẽ giúp tìm ra mối liên hệ này. Như vậy trong tương lai, với một dự án phần mềm
43
mới, những thơng số liên quan đến việc tính cơng dự án phần mềm sẽ được thu
thập. Khi đĩ, áp dụng mối liên hệ tìm được, sẽ giúp tính ra cơng thực hiện phần
mềm.
Một đặc tính quan trọng của tập dữ liệu lịch sử là tính chất phụ thuộc “cục bộ” của
nĩ vào đội ngũ phát triển phần mềm. Như đã biết, mỗi đội ngũ phát triển phần mềm
là một thực thể thống nhất, cĩ những đặc trưng riêng về năng suất, phong cách, văn
hĩa làm việc, những kỹ năng mềm, … giúp phân biệt với những đội ngũ phát triển
phần mềm khác. Những đặc trưng này khơng thể đo lường hết được. ðiều này tạo
nên tính “đơn nhất” ở mỗi đội ngũ phát triển. Với cùng một dự án phần mềm, nếu
được thực hiện bởi hai đội ngũ phát triển khác nhau sẽ cĩ cơng thực hiện khác nhau.
Vì vậy, tập dữ liệu lịch sử chỉ cĩ giá trị khi các bộ dữ liệu của nĩ được thu thập từ
các dự án phần mềm được thực hiện bởi cùng một đội ngũ phát triển. Nĩi một cách
khác, tập dữ liệu lịch sử gắn liền với từng đội ngũ phát triển cụ thể.
Từ tính chất phụ thuộc “cục bộ” của tập dữ liệu lịch sử, cĩ thể nhận thấy rằng: việc
mang cơng thức tính cơng rút trích từ tập dữ liệu lịch sử của một đội ngũ phát triển
để áp dụng tính cơng cho một đội ngũ phát triển khác là khập khiễng. Cơng thức
tính cơng này cần phải được điều chỉnh lại cho phù hợp dựa trên tập dữ liệu lịch sử
riêng của đội ngũ phát triển muốn áp dụng nĩ.
4.2. Nhận định về ðơn vị người-tháng
ðơn vị người-tháng là đơn vị được dùng để đo cơng thực hiện phần mềm thuần túy,
tức nĩ chỉ cho biết khối lượng cơng việc, chứ khơng cho biết thời gian và nhân lực
cần cho cơng việc. Hai đại lượng “người” và “tháng” trong đơn vị này là khơng thể
chuyển đổi cho nhau. Một dự án phần mềm cĩ cơng thực hiện là 20 người-tháng,
với nhân sự 4 người làm trong thời gian 5 tháng, chưa chắc là dự án phần mềm đĩ
cĩ thể được thực hiện bởi 2 người trong 10 tháng, hay 10 người trong 2 tháng.
44
ðiểm đặc biệt ở đơn vị người-tháng là tính khơng chuẩn mực của nĩ. Thang đo của
đơn vị này khơng giống nhau cho mọi đội ngũ phát triển phần mềm. ðơn vị người-
tháng là kết quả thu được từ cơng thức tính cơng rút trích từ tập dữ liệu lịch sử của
một đội ngũ phát triển. ðại lượng “người” trong đơn vị này chính là năng suất làm
việc trung bình của đội ngũ phát triển đĩ. Mà năng suất này ở mỗi đội ngũ phát triển
là khác nhau. Từ đĩ cĩ thể thấy, cơng thực hiện 20 người-tháng ở đội ngũ phát triển
này là hồn tồn khác biệt với cơng 20 người-tháng ở đội ngũ phát triển khác.
Tính khơng chuẩn mực của đơn vị người-tháng củng cố thêm cho nhận định về tập
dữ liệu lịch sử ở phần trên: áp dụng một cách máy mĩc khơng điều chỉnh cơng thức
tính cơng rút trích từ tập dữ liệu lịch sử của một đội ngũ phát triển cho một đội ngũ
phát triển khác là hồn tồn khơng phù hợp.
4.3. Nhận định về Phương pháp ước lượng dựa trên cơng thức
Các phương pháp ước lượng dựa trên cơng thức thường được thể hiện dưới dạng
những mơ hình ước lượng (hai trong số những mơ hình này là COCOMO và SLIM
đã được trình bày trong chương 2). Một mơ hình ước lượng dựa trên cơng thức bao
gồm 2 thành phần chính: cơng thức tính cơng và bộ thơng số tính cơng của mơ hình.
Khi ước lượng cơng thực hiện dự án phần mềm, bộ thơng số này được gán giá trị
lấy từ dự án và trở thành tham số truyền vào cơng thức tính cơng.
Thơng thường, cơng thức tính cơng của mơ hình thường được tác giả mơ hình xây
dựng dựa trên việc phân tích, đánh giá một tập dữ liệu lịch sử nào đĩ mà tác giả thu
thập, sưu tầm được (ví dụ như cơng thức tính cơng của mơ hình COCOMO phiên
bản 2000 được xây dựng dựa trên tập 161 dự án phần mềm của Bộ Quốc phịng Mỹ
do tác giả Barry Boehm sưu tầm được). ðiều này làm cho cơng thức của các mơ
hình khơng tránh khỏi hạn chế được nêu trong nhận định về tập dữ liệu lịch sử và
đơn vị người-tháng: khơng thể áp dụng nguyên bản mơ hình ước lượng dựa trên
45
cơng thức vào thực tế ước lượng ở một đội ngũ phát triển phần mềm, điều này sẽ
mang lại kết quả kém chính xác.
ðể khắc phục hạn chế này, hầu hết những mơ hình ước lượng dựa trên cơng thức
đều cung cấp một phương pháp tinh chỉnh. Phương pháp này cho phép người dùng
điều chỉnh lại các hệ số trong cơng thức tính cơng của mơ hình theo tập dữ liệu lịch
sử của mình. Kết quả sau khi tinh chỉnh sẽ mang lại độ chính xác ước lượng cao
hơn cho người dùng. Tuy nhiên, để thực hiện việc tinh chỉnh, tập dữ liệu lịch sử của
người dùng phải bao gồm đầy đủ bộ thơng số tính cơng mà mơ hình quy định. ðây
là điều nan giải khi áp dụng mơ hình vào thực tế sử dụng. ða số trường hợp, tập dữ
liệu lịch sử sẵn cĩ của người dùng khơng chứa đầy đủ những thơng số quy định,
hoặc chứa những thơng số mang ý nghĩa khác với thơng số của mơ hình. Người
dùng bấy giờ phải lựa chọn: hoặc điều chỉnh lại những thơng số trong tập dữ liệu
lịch sử của mình cho phù hợp, hoặc thu thập lại tập dữ liệu lịch sử mới từ đầu thỏa
quy định. Cả hai lựa chọn điều tốn rất nhiều thời gian và cơng sức.
Cịn một hạn chế nữa đối với các mơ hình ước lượng dựa trên cơng thức, đĩ là bộ
thơng số tính cơng của mơ hình là cố định, khơng thay đổi theo thời gian. Bộ thơng
số này phản ánh những yếu tố liên quan đến cơng của dự án phần mềm cần ước
lượng: kích thước, độ phức tạp, quy trình phát triển, các yếu tố mơi trường, … Và
theo thời gian, với sự phát triển khơng ngừng của cơng nghệ, và với sự biến đổi
khơn lường của mơi trường làm phần mềm, bộ thơng số này cĩ khả năng lỗi thời,
khơng cịn phản ánh chính xác những yếu tố này nữa.
Tĩm lại, mơ hình ước lượng dựa trên cơng thức khơng cĩ “tính linh động” cao.
Cơng thức của mơ hình khơng thể áp dụng nguyên bản vào thực tế mà phải tinh
chỉnh lại trước khi sử dụng. Nhưng việc tinh chỉnh lại khơng dễ dàng, tốn nhiều thời
gian và cơng sức do ràng buộc tập dữ liệu lịch sử dùng để tinh chỉnh phải bao gồm
đầy đủ bộ thơng số do mơ hình quy định. Hơn nữa, bộ thơng số của mơ hình là cố
46
định, khơng đổi theo thời gian, cĩ khả năng làm cho mơ hình lạc hậu nhanh chĩng
trong thực tế biến đổi, phát triển chĩng mặt của ngành phần mềm.
4.4. Những đề xuất của luận văn
Như nhận định ở phần trên, mơ hình ước lượng dựa trên cơng thức cĩ những hạn
chế sau:
- Hạn chế về tính sẵn sàng: mơ hình khơng thể áp dụng ngay mà cần phải được
tinh chỉnh lại trước khi sử dụng.
- Hạn chế về khả năng áp dụng thực tế : đa phần người dùng lần đầu tiếp cận
mơ hình để dùng cho cơng việc ước lượng của mình nên tập dữ liệu lịch sử
của họ khĩ cĩ thể đáp ứng những ràng buộc về bộ thơng số của mơ hình.
- Hạn chế về tính linh động: mơ hình cĩ bộ thơng số cố định nên dễ lạc hậu
với sự phát triển của ngành phần mềm.
Tuy cĩ những hạn chế, nhưng mơ hình ước lượng dựa trên cơng thức vẫn là một
phương pháp tương đối tốt với những ưu điểm sau:
- Việc ước lượng thực hiện tự động và nhanh chĩng thơng qua cơng thức.
- Kết quả ước lượng khách quan, khơng cảm tính, cĩ thể kiểm chứng dễ dàng.
- Chi phí ước lượng thấp hơn nhiều lần so với thuê chuyên gia.
Xem xét những nhận định trên, luận văn đề xuất một phương pháp cải tiến việc sử
dụng mơ hình ước lượng dựa trên cơng thức nhằm khắc phục những hạn chế trong
khi vẫn phát huy được ưu điểm của nĩ. Ý tưởng chính của phương pháp này được
minh họa trong hình 4.1.
47
Hình 4.1. Ý tưởng của phương pháp đề xuất.
Phương pháp này cho phép xây dựng một mơ hình ước lượng dựa trên cơng thức
hồn tồn mới dựa trên một tập dữ liệu lịch sử hiện cĩ. Mơ hình mới được xây dựng
khắc phục được những hạn chế của mơ hình truyền thống.
Thứ nhất, cơng thức tính cơng của mơ hình mới được rút trích từ chính tập dữ liệu
lịch sử của người dùng, nên khơng cần phải tinh chỉnh lại khi sử dụng. ðiều này
khắc phục được hạn chế về tính sẵn sàng.
Thứ hai, tập dữ liệu lịch sử được dùng để phát sinh cơng thức chứ khơng dùng để
tinh chỉnh, người dùng cĩ thể sử dụng tập dữ liệu lịch sử sẵn cĩ của họ, khơng cĩ
ràng buộc nào, nên mơ hình mới khơng gặp phải hạn chế về khả năng áp dụng thực
tế.
Thứ ba, tuy mơ hình mới vẫn cĩ bộ thơng số cố định, nhưng khi cần, người dùng cĩ
thể dễ dàng mở rộng bộ thơng số này bằng cách cập nhật tập dữ liệu lịch sử và phát
sinh mơ hình mới từ đĩ.
Hơn nữa, cơng thức ở mơ hình truyền thống thường xoay quanh một dạng cố định,
việc tinh chỉnh chỉ diễn ra trên các hệ số của cơng thức. Trong khi cơng thức ở mơ
hình mới khơng nhất thiết phải theo một dạng nào, vì vậy sẽ phản ánh chính xác
48
hơn mối liên hệ giữa đại lượng cơng và những thơng số tính cơng trên tập dữ liệu
lịch sử của người dùng.
Và nếu bộ phát sinh cơng thức đủ linh động, người dùng cĩ thể can thiệp vào quá
trình phát sinh cơng thức, thêm vào những tùy biến để cĩ được mơ hình mới với
cơng thức cĩ những tính chất theo ý muốn chủ quan của mình. ðiều này cĩ nghĩa là
phương pháp luận văn đề xuất cĩ thể được dùng cho việc tinh chỉnh những mơ hình
truyền thống bằng cách tạo ra mơ hình mới với cơng thức cĩ dạng giống với cơng
thức của mơ hình truyền thống.
Như vậy, phần cốt lõi của phương pháp này nằm ở bộ phát sinh cơng thức. Nĩ phải
đủ mạnh để phát sinh được cơng thức chính xác theo tập dữ liệu lịch sử. Và nĩ phải
đủ linh động để người dùng cĩ thể cấu hình, tùy biến cơng thức được phát sinh.