Back to Portfolio

COCOMO Estimation Tool

Bachelor Project 2016 - Java desktop application for software project estimation

Project Overview

As part of a five-person team, we developed a Java desktop application that implements the Basic COCOMO model to estimate project effort, schedule, and staffing. The tool accepts project size in KDSI and mode (Organic/Semi-detached/Embedded) to compute effort, development time, average staffing, and productivity. This comprehensive software engineering project demonstrates advanced application development, database design, and professional software architecture principles.

Key Features

COCOMO Implementation

  • Basic COCOMO model implementation
  • Project effort estimation
  • Development time calculation
  • Average staffing computation
  • Productivity metrics analysis
  • Three development modes support

Advanced Features

  • Phase/activity distribution analysis
  • Maintenance effort via ACT
  • Linear interpolation for non-standard sizes
  • MySQL data storage integration
  • XML export functionality
  • Cross-platform compatibility

Technical Architecture

  • Java Swing user interface
  • MySQL database backend
  • UML-driven design approach
  • Professional software architecture
  • Windows and macOS testing
  • Team-based development workflow

User Interface

Technical Implementation

The application implements the Basic COCOMO model using Java Swing for the user interface and MySQL for data persistence. The architecture follows UML design principles with clear separation of concerns between presentation, business logic, and data layers. The system supports linear interpolation for project sizes that don't match standard COCOMO categories, making it more flexible for real-world applications.

COCOMO Model Implementation

The tool accurately implements the Basic COCOMO model equations for three development modes: Organic (small teams, familiar environment), Semi-detached (medium teams, mixed experience), and Embedded (large teams, complex constraints). It calculates effort in person-months, development time in months, average staffing levels, and productivity metrics. The system also provides phase distribution analysis and maintenance effort estimation using the Annual Change Traffic (ACT) method.

Team Collaboration & Development

This project was developed as part of a five-person team, demonstrating collaborative software development practices. The team utilized version control, code reviews, and agile development methodologies. The project included comprehensive testing on both Windows and macOS platforms, ensuring cross-platform compatibility and reliability. The UML-driven design approach facilitated clear communication and maintainable code architecture.

Applications & Impact

This COCOMO estimation tool provides practical value for software project managers and developers who need accurate effort and schedule estimates. The implementation demonstrates understanding of software engineering principles, database design, and professional application development. The project showcases the ability to translate theoretical models into practical software tools, making complex estimation techniques accessible through an intuitive user interface.