SAMENVATTING SEES 2
Software Engineering for Embedded Systems
07-04-2021
This will contain the following Weeks
1. Week 6: Human Factors, User Interface Design and
Sustainability
2. Week 7: Embedded Software Quality, Integration and Testing
Techniques
3. Week 8: Agile Development for Embedded Systems
Richard Reijerse
S1128082
,Inhoud
6 Human Factors, User Interface Design and Sustainability .............................................................. 2
6.1 User Interface Design .............................................................................................................. 2
6.1.1 Overview: process and knowledge ................................................................................. 2
6.1.2 Task Analysis ................................................................................................................... 3
6.1.3 Design and Evaluation ..................................................................................................... 4
6.1.4 Model View Controller (MVC) – a pattern for building applications .............................. 6
6.1.5 Safety-critical user interfaces.......................................................................................... 6
6.2 Software engineering and Sustainability ................................................................................ 7
6.2.1 Introduction Sustainability .............................................................................................. 7
6.2.2 Sustainability and IT ........................................................................................................ 8
6.2.3 Sustainability in IT ........................................................................................................... 9
6.2.4 Sustainability through IT ............................................................................................... 13
7 Embedded Software Quality, Integration and Testing Techniques ............................................. 17
7.1 Testing ................................................................................................................................... 17
7.1.1 Introduction .................................................................................................................. 17
7.1.2 Requirements Traceability Matrix (RTM)...................................................................... 20
7.1.3 Coding standard ............................................................................................................ 21
7.1.4 Static analysis ................................................................................................................ 22
7.1.5 Dynamic Analysis........................................................................................................... 22
7.2 Standards .............................................................................................................................. 24
7.2.1 Recognized standards ................................................................................................... 24
7.2.2 Internal Standards ......................................................................................................... 25
7.2.3 Legacy code ................................................................................................................... 26
7.2.4 Object code verification (OCV)...................................................................................... 26
7.3 Implementing a test solution environment .......................................................................... 27
8 Agile Development for Embedded Systems.................................................................................. 28
8.1 Introduction .......................................................................................................................... 28
8.2 What’s special about embedded systems? (compared to SE) Less agile! ............................ 30
8.3 Agile project planning for embedded systems ..................................................................... 30
8.4 Project governance for embedded software ........................................................................ 32
8.5 Agile development practices for embedded......................................................................... 33
8.6 Scaling factors for agile ......................................................................................................... 35
8.7 Can agile methods help you adhere to standards? .............................................................. 35
1
,6 Human Factors, User Interface Design and Sustainability
1. User interface design
2. Software engineering and Sustainability
6.1 User Interface Design
1. Overview: process and knowledge
2. Task analysis
3. Design and evaluation
4. Model View Controller Architecture
5. Safety-critical user interfaces
6.1.1 Overview: process and knowledge
Process
Developing a User Interface: four main phases
1. Understand context of use
– User profiles (Who uses your tool)
– Content, user environment, …
2. Develop user requirements
– Tasks and task structures (What should the tool do)
3. Perform usability evaluation
– Mock ups, prototypes, …
4. Development of user interface designs
– Screens
– Actions
Knowledge
Developing a User Interface: four models
1. User profile model
– User characteristics (age, education, …)
– Syntactic knowledge (interaction, but no knowledge about purpose of interaction)
– Semantic knowledge (understanding of functions of the interaction)
2. Design model
– Data and architecture
– Procedures and interfaces
– Based on requirements and user profile
3. Implementation model
– Look and feel
– Supporting information (help, tutorials, …)
– Implements design model, applies mental model
4. Mental model
– Experience
– Metaphors
• Form fill-ins
• Radio buttons
• Play, FF, Pause, …
2
, • Good practices (see textbook), such as:
• Enable frequent users to use shortcuts
• Offer simple error handling
• Permit easy reversal of actions
– Remember Command Pattern (Lecture 2)
• First step: what would a user do with the system
• Two techniques:
1. Essential Use Cases
2. Scenarios for User Analysis
1. Essential Use Cases Conventional Use Case
• Simplified, abstract
• Technology and implementation independent
• User intentions and System responsibility
• Defer implementation-oriented issues
• Conventional use cases: later in design process
Difference between Essential Use Case and Conventional Use Case:
Conventional use case, as above (right) has already defined a lot of design steps, like ‘press
account key’ or ‘press OK key’ which means these keys are already designed. You are in the
process of designing, so you want to start with the basics.
Essential Use Case only uses the essentials of the interaction, without details.
2. Scenarios for User Analysis
• High-level tool aiming at analysis for new products: scenarios
• Often short stories, based on interviews etc. For example:
Mr Brown is a retired greengrocer who wishes to contribute to a greener way of living.
On his roof, he has six solar panels installed. Occasionally he wants to know how much
energy he saved by using these solar panels. …
• Individual, fictional accounts of workflow data
• Often using personas = fictional characters representing specific user types
– Mr Brown, age: 67, retired greengrocer, married
– Peter Smith, age: 27, electro technician, single
3
The benefits of buying summaries with Stuvia:
Guaranteed quality through customer reviews
Stuvia customers have reviewed more than 700,000 summaries. This how you know that you are buying the best documents.
Quick and easy check-out
You can quickly pay through credit card or Stuvia-credit for the summaries. There is no membership needed.
Focus on what matters
Your fellow students write the study notes themselves, which is why the documents are always reliable and up-to-date. This ensures you quickly get to the core!
Frequently asked questions
What do I get when I buy this document?
You get a PDF, available immediately after your purchase. The purchased document is accessible anytime, anywhere and indefinitely through your profile.
Satisfaction guarantee: how does it work?
Our satisfaction guarantee ensures that you always find a study document that suits you well. You fill out a form, and our customer service team takes care of the rest.
Who am I buying these notes from?
Stuvia is a marketplace, so you are not buying this document from us, but from seller richardreijerse. Stuvia facilitates payment to the seller.
Will I be stuck with a subscription?
No, you only buy these notes for $3.20. You're not tied to anything after your purchase.