Modelling Flashcards
(25 cards)
What is a model
A simplification of reality
What are the two types of models?
Behavioural: Dynamics of a system eg use case diagrams
Structural:: The organisation of a system eg Class diagrams
Aims of modelling
Template upon which devs can design the system
Specify the structure/behaviour of the system
Document decisions made about the system
Visualise the system as is or is to be
Algorithmic Approach
Building Blocks: Procedures and Functions
Focus: Control and decomposition of larger algorithms into smaller ones
Object Oriented Approach
Building blocks: Objects and classes
Focus: Object state, identity and behaviour
Purpose of models
Abstract reality
Deal with human limits
Filter out details
Purpose of Objects
Reflects reality more accurately
Reduce semantic gap
Perspectives
Conceptual
Specification
Implementation
Conceptual Perspective
Do not consider any aspects of implementation
Only focus on identifying objects
Specification Perspective
Consider interfaces of objects and how they interact with one another
Implementation Perspective
Consider all details of objects and how they’ll be programmed
Principles
Choice of model important
One model isn’t sufficient
Levels of precision may differ
Models are connected to reality
Levels of precision
Every model can be expressed at different levels of precisioin
Models connected to reality
All models simplify reality and reflect potentially fatal characteristics
No single model is enough
Best approached through a small set of independent models that can be studied separately but still interrelated
Choice of model is important
The choice of what model you use has a profound impact on how a problem is approached and thus how the solution is formed
Class diagram
Diagram which describes the structure of an OO system by showing the classes and relationships between other classes in the system
Sequence diagram
Describes the interactions between a set of objects in our system collaborating with one another in chronological order
Object diagram
Illustrates the instances of classes and their relationships within a system at a specific point in time
Component diagram
Classify groups into components which support the interchangeability and reuse of code
Package diagram
Used to simplify complex diagram and allows us to group classes into packages.
State machine diagram
used to describe state dependent behavior for an object. Eg order, placed dispatched delivered
What does UML Stand for?
Unified modelling language
What does UML do?
Provides a common vocab for OO systems and language agnostic way of modelling systems development projects