Dường như bây giờ bạn có thểước lượng thời gian để viết chương trình, nhưng nó không đơn giản như vậy. Với việc đọc các chương tài liệu, bạn có thểđếm số trang cần đọc và sử dụng dữ liệu trung bình cũ số phút/trang để tính toán thời gian đọc. Ngay cả việc bạn có thể sắp xếp các chương bởi độ khó và cho phép một cái gì đó lớn hơn tốc độ phút/trang cho các chương mà dường như phức tạp hơn hay gồm tài liệu ít liên quan. Bằng cách liếc sơ chương mới, bạn đánh giá độ khó tương ứng và lấy tốc độ phút/trang dựa trên kinh nghiệm quá khứ.
Tuy nhiên đối với việc viết chương trình, không có chương trình để đếm đến khi bạn phát triển xong nó. Vì vậy, đểước lượng thời gian viết chương trình, đầu tiên bạn phải ước lượng chương trình cần bao nhiêu dòng lệnh và sau đó ước lượng số phút/dòng lệnh. Sau đó bạn có thể tính tổng thời gian ước lượng.
Trong khi có nhiều cách đểước lượng kích thước chương trình trước khi phát triển chúng, tất cả các phương pháp ước lượng kích thước liên quan đến rất nhiều sự phán đoán. Đầu tiên, xem xét các yêu cầu của chương trình cần phát triển. Sau đó, xếp hạng kích
thước tương đối của chương trình mới so với các chương trình mà bạn đã viết. Cuối cùng, dựa vào ý kiến của bạn về việc chương trình mới sẽ rơi vào điểm nào trong dãy kích thước lịch sử này, ước lượng nó giống như số dòng lệnh.
Một ví dụ của thủ tục này được thể hiện trong bảng 2.5.3. Đây là danh sách các chương trình phát triển trước đây của sinh viên Y, thời gian phát triển tính bằng phút, sắp xếp theo thứ tự kích thước. Danh sách chỉ ra kích thước chương trình tính bằng dòng lệnh, thời gian phát triển bằng phút, tốc độ bằng phút/dòng lệnh và mô tả ngắn gọn các chức năng của chương trình. Bằng việc xem xét các dữ liệu này trong chương trình của bạn, và cân nhắc những gì bạn biết gì về chương trình định viết, bạn có thể đoán được chương trình mới sẽ rơi vào chỗ nào trong bảng giới hạn kích thước. Điều này giúp bạn ước lượng giới hạn kích thước của chương trình mới. Dựa vào dữ liệu lịch sử phút/dòng lệnh, bạn có thểước lượng thời gian để phát triển chương trình mới.
Sinh viên Sinh viên Y Ngày 30/9/96
Người hướng dẫn Thầy Z Lớp CS1 Chương trình Thời gian Số dòng lệnh Phút/dòng lệnh Chức năng 4 93 10 9,30 Dòng lặp while đơn giản 2 69 11 6,27 Câu lệnh case nhỏ 3 114 14 8,14 Câu lệnh case lớn 5 95 14 6,79 Repeat-until trung bình 6 151 18 8,39 Danh sách liên kết nhỏ 1 158 20 7,90 Tính toán nhỏ
Bảng 2.5.3 Dãy các kích thước chương của sinh viên Y
Ví dụ, giả sử sinh viên Y lên kế hoạch viết một chương trình mới bao gồm một dòng lặp while phức tạp vừa phải. Từ bảng 2.5.3, cô sẽước lượng nó lớn hơn 14 dòng lệnh cho chương trình 5 và có thể nhỏ hơn 20 dòng lệnh cho chương trình 1. Vì vậy cô có thể đặt giá trị là trung bình của chúng là (14 + 20)/2 = 17 dòng lệnh.