Những ước lượng về chi phí và lịch biểu trong các dự án phần mềm thường dựa vào việc dự báo về kích cỡ của hệ thống trong tương lai. Thật không may, phần mềm thường mang tiếng là thiếu chính xác trong việc ước lượng chi phí và lịch biểu. Những ước lượng về nỗ lực thường bao hàm nhiều sự phần tử của tính không chính xác. Những ước lượng ở giai đoạn sớm đảm bảo tin cậy thường khó đạt được do nguyên nhân thiếu những thông tin chi tiết và đầy đủ về hệ thống phần mềm cần xây dựng trong tương lai ở giai đoạn đầu của dự án. Tuy nhiên, những ước lượng chính xác và đầy đủ ở giai đoạn đầu của dự án có vai trò quan trọng cho việc thiết lập những hợp đồng hoặc xác định tính khả thi của dự án. Những mô hình ước
lượng chi phí trước đây xem kích cỡ của phần mềm như là tham số đầu vào quan trọng và sau đó sử dụng một tập những nhân tố điều chỉnh để tính toán ước lượng về tổng nỗ lực phát triển. Khi phát triển phần mềm theo phương pháp hướng đối tượng, những Use Cases ( UCs) mô tả các yêu cầu chức năng của hệ thống. Mô hình UC vì vậy có thể được sử dụng để dự báo kích cỡ của những hệ thống phần mềm trong tương lai ở pha phát triển đầu tiên của hệ thống.
Những mô hình ước lượng phần mềm như SLOC, COCOMO, COCOMO II, phương pháp xác định kích cỡ Function Point Analysis (FPA) đã được sử dụng rộng rãi và hiệu quả trong kỹ nghệ phần mềm, nhưng với những các tiếp cận này cũng còn hạn chế, việc đếm những điểm chức năng đòi hỏi kiến thức chuyên gia hỗ trợ.
Bởi vì sự khó khăn của việc ước lượng theo phương pháp SLOC, FP, COCOMO… và những hệ thống hiện đại thường phát triển theo phương pháp hướng đối tượng sử dụng ngôn ngữ Unified Modeling Language (UML), năm 1993, Gustav Karner đã đưa ra phương pháp Use Case Points sử dụng để xác định kích cỡ và ước lượng những dự án phát triển theo phương pháp hướng đối tượng. Phương pháp này được mở rộng từ phương pháp phân tích điểm chức năng và phương pháp Mk II FPA.
Phương pháp ước lượng UCP tính toán nỗ lực phát triển phần mềm theo đơn vị person – hours dựa vào biểu đồ UC nơi mô tả chính xác và nhất quán các yêu cầu chức năng của hệ thống. Các UC được giả định rằng chúng được đưa ra từ một tập hỗn độn các chức năng, sau đó chi tiết và chuẩn hóa để có ít hơn 10 – 12 giao dịch. Phương pháp UCP trước đây đã được sử dụng phổ biến trong một số dự án cỡ nhỏ. Cho tới gần đây, cách tiếp cận phát triển phần mềm theo phương pháp tăng trưởng và tiến hóa đang trở lên quan trọng. Ta thấy rằng phương pháp UCP có những ưu điểm rất đáng kể, nhưng để có được những ước lượng chính xác ta cần phải xem xét tới những nhân tố ảnh hưởng như nhân tố kỹ thuật, nhân tố môi trường, sự phân loại các UC và tác nhân trong biểu đồ UC.