Week 3 Flashcards
What is the purpose of software modelling?
Manage complexity
Abstraction
Communication between all parties involved
What types of software models are there? Give examples.
Object models - classes, objects, messages
Functional models - what it does - flow charts, state charts
Physical models
Task models - units of work, schedule, etc - e.g. Gantt chart
What notations are there for software modelling?
OMT - Object modelling techniques
UML - Unified modeling language
State charts
flow diagrams
type diagrams
What are some reasons you might use a model?
Quicker and easier to build than the real thing
Can be used in a simulation
Can evolve as we learn
Can choose how much detail to include
Can represent real or imaginary things
What is the difference between diagrams and models?
Diagram illustrates some aspect of a system
Model provides complete view of a system at a particular stage, from a particular perspective
Model may consist of one or more diagrams
What do different models present in UML? examples
Views of the system, e.g.
Use case view
Design view
Process view
Implementation view
deployment view
With each iteration, models become more:
Concrete - less abstract
Formally specified
Detailed
What is the purpose of Activity Diagrams?
To model a task
Describe a function of a system
Describe the logic of an operation
How do you draw an activity diagram?
Identify the actions
Organise them in order
Draw arrows between them
Activity diagrams may contain ____________ if some actions are carried out by different people
swimlanes
What is the difference between static models and dynamic models/
Static models describe structural aspects
Dynamic models describe behavioural aspects
Give 3 examples of static models
Class diagrams
Package diagrams
Type diagrams
give 4 examples of dynamic models
Use case diagrams
Sequence diagrams
Collaboration diagrams
Activity diagrams
What do use case diagrams show?
User view of essential system behaviour
Does NOT specify the flow of processes
How is inheritance represented on UML class diagrams?
Empty triangle pointing towards the inherited class