Communications Software and architecture
requirements and use cases
Literature: Any good book about UML and software design
communications software challenges
Needs to work often in variety of environments
Single protocol may be used by variety of applications
Different parts will be implemented by different groups or even companies on different platforms
May have to support protocols on different layers
Design phase helps us in implementation phase and guarantee that we get what we want.
Different applications have different requirements from protocols
Design of communication software protocols
Design tools
Use cases will describe different scenarios where our solution is used
requirements define what we need from communication system in order to fullfil use cases
constraints describe what kind of limitations we will have
collabaration describes how different pieces work together
Use cases
“Use case is a narrative document that describes the sequence of events of an actor” - Jacobson
Illustrate and imply the requirements.
It is good to start development on high level use cases.
Use case contents
Use case diagrams
Requirements
Every software has a goal what to do
Requirements answer to question “what must be done?” to provide the protocol service
Functional requirements define desired system behaviour
Models
Requirements model
analysis model
Requirements modelling
Requirements model
defines one functional requirement
Modelled in use case diagram
use case != requirement
use cases help to understand the requirements
requirements can be found in specification, use cases don´t
Analysis
How can we fulfil the requirements?
What parts are required for the system
How different parts collaborate with each other to provide the desired result
analysis model
Collaboration diagram
Illustrates object interactions in graph format
Object is denoted with box
Communication between instances is denoted with line