Essentially, software development is done through the use of various models or the abstractions developers utilized to represent community and what is relevant. They are devoid of unnecessary details while helping software developers to find the solution they are developing or address the complexities of the problem they are investigating. The concept of modelling in software development is pretty much the same with that in engineering.
Each of the models is simply an abstract representation of the software and these views may be modified as the development process progresses. These models are built from various perspectives. In particular, here are the top three different modelling types commonly used in developing software for any purpose it may serve.
Domain Modelling
A domain model represents the main concepts in the real-world problem context or the business being considered. This type of model does not automatically assume that a software solution is required. Rather, it is primarily concerned about modelling and understanding context information for a particular problem which is independent of a decision to utilize a software system.
Specification Modelling
This modelling fully assumes that a software is required to deal with the problem in context. A specification model represents the elements needed to come up with the software solution to a problem. It is chiefly concerned with the highest level of abstraction of the services offered by the software.
Design Modelling
Among the three models, this one particularly concerns the software system itself, its allocation of responsibilities to its different parts and behaviour as well as the control flow.
Overall, domain modelling understands the contexts first before determining the right software solution while specification modelling is about software representations of the real-world entities the former produced. Finally, design modelling is the actual process of software development which creates the final software solution to a given problem.
Comments