Seminar - Thursday 6th June
Green Park, Reading - 9.00 am to 4.00 pm
Are you a Director, Manager or Team Leader responsible for products or projects using embedded software but don’t have a software background?
This day will give you a useful insight into the embedded development process, as well as ideas and techniques to help you understand more about the quality of the software your teams develop.
We’ll also examine how to identify and manage your pain points and give you a chance to ask our expert, Niall Cooling.
Tickets are £35 + VAT per person to 1 May and £50 + VAT after this date.
Registration will be open from 9.00am. The seminar will start at 9.30 am and finish at 4.00 pm.
Introduction to Embedded Software Development
- Stating the obvious...
- The Mythical Man-Month
Introduction to Embedded Systems Architecture
- High Performance Computer (HPC)
- Typical interactive on-line computer system (Banking System)
- Embedded Computer System
- Key Embedded Drivers
- ARM Embedded Processors
- ARM Application Processors
- ARM Cortex-M Processors
The Basic Workflow
- From code to functionality
- From Code to Software
- Building the software
- Debugging the software
- Static Analysis
- [Dynamic] Testing
- What is Configuration Management?
- Managing versions
- Concurrent Versions System (CVS)
- Distributed Version Control Systems (DVCS)
- From Software to Functionality
Programming [an algorithm]
- A Program?
- Written Instruction:
- Overlapping leaves knitting pattern
- Arithmetic Operators - Example
- Date Types
- Input/Output (I/O)
- Equality, Relational and Logical Operators
- if-else - Example
The embedded workflow
- what is embedded?
- Early computing (1960’s-1970’s)
- Personal computing
- Breaking the mould
- x86 API
- Linux API
- Embedded Platforms
- Target Flash Programming and Debug
Software Development Lifecycles (SDLC)
- Royce’s Comments
- Testing V-Model
- Spiral Model (Prototype)
- Agile foundations
- Principles behind the Agile Manifesto
- Regularly Missed…
- Agile Process
- Agile techniques
- XP Practices
- Acceptance Test Driven Development (ATDD)
- Continuous Delivery
- Functional vs. Cross-Functional Organization
- Agile Programming
- Five years of Flaccid Scrum
- Code and Fix
- Unified Modeling Language
- The model view for dynamic systems
- The fundamental UML diagrams
- The UML process?
- MODELS AND UML
- The use case
- The Ideal Object model is a simplification
- OMG Model-Driven Architecture (MDA)
- Ignorance and Innovation
- What is software?
- Armour's Five Orders of Ignorance
- Estimating Second-Order Ignorance
- Obeng project types
- Innovation and Obeng project types
- Ignorance and process
- Quality definitions
- Three definitions of quality
- Compliance quality
- Intrinsic quality
- Software rot
- Customer-perceived quality
- Focus on compliance quality
- Focus on intrinsic quality
- Focus on customer-perceived quality
- Which quality is right?
- Fitness For Purpose
Software Testing and Maintenance
- Bathtub Curve
- Revised bathtub curve for software reliability
- How many???
- Mother Tongues
- Why are there different programming languages?
- Compiled vs. Interpreted
- Pros and Cons
- Programming Tradeoffs
- Why are there different approaches to developing software?
- Imperative (Procedural)
- Object-Oriented (OO)
- Why do we keep getting it wrong?