An Object-Oriented Dynamic Software Process Model

Abstract

This thesis describes a new method for modeling complex dynamic processes using object-oriented techniques. These techniques are applied to develop a sophisticated model of the software development process. This object- oriented approach has many advantages over non-object-oriented System Dynamics models. Non-homogeneous resource allocation can be explicitly modeled This allows resource allocation strategies and management decisions to be modeled and assessed in a realistic manner. Since software development tasks and resources are modeled as objects, they can be flexibly created and manipulated to capture the dynamics of a particular project. Furthermore, the principles of object- oriented inheritance lets the modeler or analyst easily extend the model to include new resources and tasks. The thesis addresses major considerations in modeling the software development process, as well as the detailed development of an object-oriented software process model in C + +. A comparison is done between this dynamic model and the empirical predictions of the popular COCOMO software estimation system. This new object-oriented approach is not limited to software process modeling and could be applied to a wide variety, of scientific, business, and social simulations.

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Jan 01, 1993
Accession Number
ADA267726

Entities

People

  • Bradley J. Smith

Organizations

  • Air Force Institute of Technology

Tags

Communities of Interest

  • Materials and Manufacturing Processes

DTIC Thesaurus Topics

  • Accuracy
  • Computer Programming
  • Computer Programs
  • Computers
  • Differential Equations
  • Engineering
  • Language
  • Life Cycles
  • Models
  • Operating Systems
  • Production
  • Production Control
  • Prototypes
  • Software Development
  • Software Metrics
  • Standards
  • Systems Engineering

Fields of Study

  • Computer science
  • Engineering

Readers

  • Database Systems and Applications
  • Software Engineering.
  • Team-Based Human-Centered Cognitive Task Decision Making and Information Performance.