1.2 Modeling Requirements
A model is a representation of one or more aspects of the real world.
It captures the important aspects of the thing being modeled and simplifies or omits the rest.
Good models
A model M is the representation of an aspect R of reality, as we said before.
Therefore we can define a mapping between a model M and an aspect R, called interpretation and indicated with the letter I.
Relationships, which are valid in reality R, are also valid in model M
: relationship between real things in R : relationship between abstractions in M
What are software models for
- Capture and precisely state requirements and domain knowledge
- Think about the design of a software system
- Generate usable work products
- Give a simplified view of complex systems
- Evaluate and simulate a complex system
- Generate potential configurations of systems
- all consistent configurations should be possible
- not always possible to represent all constraints in the model (model is an abstraction !)
Modeling issues
- Coherence
- different views of the system must be coherent
- Variations in interpretation and ambiguity
- define where different interpretations of the model are acceptable