Software Modelling and Design Flashcards
Movel vs design
Model is an abstraction of what the system will do agreed with clients. A design is an abstraction of how it will be done, agreed with developers
Scope
Summarises the big picure Contains:
* Needs - problem the system solves
* Goal - What functionaility will be provided
* Business Case - how it makes money
* Stakeholder - person/group affected by system
* High-level operational concepts - How system will be used
* Success Criteria - measurements of success
Functional Requirements
What the system must do, interactions between users/other systems.
Non-Functional Requirements
How well the system does what it does.
Design Requirements
Systems
How the system should be implemented.
1. implementation - use of specific tools/languages/platforms
2. interface - compatibility with other systems
3. legal - what laws to be careful of
Specification Properties
Systems
- complete - All features of interest described only (not everything that can be done)
- consistent - No contradiction
- correct - What client wants and what developer will build
- unambiguous - Must have exactly 1 interpretation of each requirement
- Verifiable - Correctness can be tested
- Traceable - Requirements can be linked to their system functions
Artifact
A document made in system development.
Stakeholder
Any person/group that will be affected by the system
Actors
Stakeholders and systems that interact with the system
User Story
Short description of a (human) actor’s expectation of a system
Scenario
Description of an expected use of a system. Contains actors and the flow of events to success. One particular instance
Use Case
A detailed description of a user-system interaction. Achieves functional requirement(s). General expectation.
Model
Abstract Representation of a system, used to unify understanding about the system
Requirements Capture
Research exercise to work out the scope of a project. Needed as customers are not able to define project accurately. Contains forst 2 steps of project, requirements gathering and specification
As-Is model
Model describing how the system is now
To-Be model
Model describing how the system will be
class visibility
Class Diagram
private -
public +
protected #
Class Diagram Attribute Syntax
visibility attribute[multiplicity ordering] : type = initialValue
multiplicity - bounds (lowerBound..upperBound)
ordering - unordered/ordered
Class Diagram Operation Syntax
visibility operation(parameter list) : returnType
Binary Association
Class Diagram
Association specified. Left to right or direction of solid black triangle.
N-ary Association
Class Diagram
Relates more than 2 classes. Empty diamond in centre connects all classes
Aggregation Association
Class Diagram
Has-a relationship(1st class has 2nd class). weak lifecycle dependancy (2nd class still exists without the other). Shown with empty diamond on 1st class
Composition Association
Class Diagram
Contains-a relationship(1st class contains 2nd class). Strong lifecycle dependancy (2nd class doesn’t exist without first). Shown with sold black triangle on 1st class
Generalisation Association
Class Diagram
Shows subclass. Shown by arrow ending with white filled arrowhead pointing towards parent class
Use Case Digram
Contains use cases and actors and connects them
includes
use case diagram
One use case always includes another, shown with labelled dotted arrow poiting to additional use case
extends
use case diagram
Shows that one use case sometimes also used. Shows with labelled dotted arrow pointing from additional use case
UML Structural Diagrams
What is contained in system. Uses object, attributes, operations and relationships.
UML Behavioural Diagrams
What must happen in the system. Shows collaboration of objects and changes to object states.
Start
Activity Diagram Symbol
A filled in black circle. Can have multiple in a diagram.
Activity
In Activity Diagram
Empty Oval.
Transition
In Activity Diagram
Regular arrow. Change from one state to another.
Stop
In Activity Diagram
Filled in black circle with a ring. Multiple Allowed.
Decision and Merge
In Activity Diagram
Empty diamind splitting into options
Fork and Join nodes
In Activity Diagram
Black vertical line spliting and merging into concurrent flows
Time Event
In Activity Diagram
Stops flow after a period of time has elapsed. Then goes to interrupting edge. Shown by hourglass
Interrupting Edge
In Activity Diagram
Lightning bolt shaped arrow interrupts flow to different route
Interruptable Activity region
In Activity Diagram
Surrounds section in dotted line box. Allows an interrupt to happen
Object-Flow Transition
In Activity Diagram
A transition that goes to an object (rectangle), is done with a dashed arrow. Shows input/output from/to object.
Swimlanes
In Activity Diagram
Shows which activities are done by which actors. Sections split by solid line with actor
Activity Diagram
Models behavious of a system and how they are related
State Machine Diagram
Represents states of an object in a class. Used in important systems. Start and stop same as activity diagram.
States
In State Machine Diagram
Rounded rectangles
Transitions
In State Machine Diagram
Arrows, always shows change of one state to another
Triggers
In State Machine Diagram
An event that occurs to the system that causes an arrow to be followed, may result in transition, or may just stay at same state
Sequence Diagram
Shows the order of events taking place. Time proceedes down the page. Constructed by vertical actors and objects of different types
Entity
For Sequence Diagrams
Shown by a circle with a horizontal line under it. The standard system object for representing system data. Cannot access non entity objects
Boundry
In Sequence Diagrams
Shown by sideways T attached to left side of circle. Objects that interface with users
Control
In Sequence Diagram
Shown by circle with an arrow in it. Acts as intermediary between boundry and entity objects
Lifeline
In Sequence Diagram
Shown by dashed line. When an element is created and exists
Activation
In Sequence Diagram
Shown by empty vertical rectangle. Shows object executing or waiting for reply
Synchronous Message
Sequence Diagram
Shows by arrow with block black head. Requires response to continue
Reply/Return Message
Sequence Diagram
Dotted line with open head. Shows response to synchronous message
Asynchronous Message
Sequence Diagram
Shown by arrow with open arrowhead. Doesn’t get a reply, so continues after
Deletion
Sequence Diagram
A message can destroy an object which will be shown by a lifeline ending with a big X.
Found/Lost messages
Sequence Diagram
message originates or end in solid black circle. Means sendder or reciever is unkown
Reflexive message
Sequence Diagram
When an object sends a message to itself
Fragment
Sequence Diagram
Shown by box covering the affected area and the type of fragment in the top left. Indicates change in system flow
Alternative fragment
Sequence Diagram
Shown with alt type and dotted line splitting multiple options with guards