Software Development Methodology
Term |
Software Development Methodology |
Aliases |
- |
Definition
A Software Development Methodology is a coherent system of models, model transformations, technologies, design principles, and decision rules used in software development. It defines what is modeled, how models are constructed, and how they are connected to executable software.
In general usage, a Software Development Methodology may also include a Development Process. SimpleModeling separates the Methodology that defines models and model transformations from the Development Process that operates it in practical development.
SimpleModeling
The SimpleModeling Software Development Methodology uses Object, Knowledge, and Literate Models as its three constituents. Domain Modeling organizes problem-domain meaning, structure, rules, and boundaries from those constituents; Use Case Modeling organizes Actors, Goals, Scenarios, and Outcomes; and Application Modeling organizes Use Case realization, Collaborations, Interactions, state transitions, Events, Services, and Operations. Approved Executable Models connect to CML, Cozy, AI, and Textus through Model Realization.
The Development Process combines this Methodology with a Process Style and defines how planning, modeling, implementation, review, testing, release, and feedback are operated in practical development. Separating the Methodology from the Process Style allows the same Methodology to be reused across different Process Styles and projects, including Agile, iterative, and staged approaches.