6 Embedded Software Dev. & Design Flashcards
Name the Steps of the V-Model
1) requirement analysis
2) specification
3) architecture design
4) module & alg. desing
5) implementation
a) module test
b) system integration
c) Integration test
d) acceptance test
Welche Eigenschaften gehören zum Quality Tree?
- dependability
- modifiability
- integrability
- reusability
- testability
- performance
- decomposability
- marketability
- system qualities
- …
Welche Untereigenschaften hat die dependability?
- reliability
- availability
- safety
- security
- robustness
Welche Untereigenschaften hat die modifiability?
- maintaiability (faults)
- adaptability (new reqs)
- scalability
- configurability
- extendability
Welche Untereigenschaften hat die marketability?
- cost
- Time-tomarket
Welche Untereigenschaften haben die system qualities?
- mounting space
- weight
- power consumption
What is a process model?
A process model
► structures the development and maintenance
process into distinguishable steps
► defines work products of the steps
► specifies the possible sequences and repetitions of the steps
► defines roles for the participants of the development and maintenance process and their responsibilities
What are the steps of the Waterfall model?
- requirements analysis
- specification
- architecture design
- module/algorithm design
- implementation
- validation
What is the most popular process model in the embedded systems industries?
The V model
Difference between functional and quality requirements
► Difference between what the system shall do and how good it shall do it.
► Examples:
Function (what):
• The system must keep the distance to the vehicle in front of the car constant.
Quality (how good, also non-functional requirements):
• The driver must be able to adjust the desired distance without taking the hands from the steering wheel.
(Usability)
• Deviations from the desired distance must not exceed 5%.
(Reliability)
• The distance control algorithm must be easily replaced with a
customer-owned algorithm.
(Modifiability, Integrability)
How to do requirements analysis
► Requirements Elicitation
▪ Collect the requirements from customers,
marketing, system engineers etc.
► Requirements Analysis
▪ Analyse whether the requirements are actually
what the customers, marketing, system engineers
etc. want.
What is maintainability?
Maintainability is the property of a system which describes how well faults can be removed.
How to achieve maintainability?
Keep changes local
▪ With respect to where the error can be found
▪ With respect to where the change is done
▪ With respect to which other parts are effected by the change.
► Concrete structuring principle: Information Hiding
How to apply information hiding?
- Identify design decisions which are likely to change
- Assign each of these decisions to one module, if possible.
- Encapsulation: For each module, hide the design decision behind an abstract interface such that the other modules do not have to know about it. (“Secret of the module”)
Which properties are supported by information hiding and which aren’t?
supported:
▪ Modifiability
▪ Maintainability
▪ Reusability
not supported:
▪ Performance (e.g. memory efficiency)