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