Taking Control of your Software

Thursday 27th June

Green Park, Reading - 9.00 am to 4.00 pm

banner cropped.jpg

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 questions of our expert, Niall Cooling.

There are a limited number of places available, so we would encourage you to book as soon as you can. 

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.

Book your place

Full Agenda

Introduction to Embedded Software Development

  • Stating the obvious...
  • Credo...
  • But..
  • 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
  • Editing
  • 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
  • Tools

Programming [an algorithm]

  • A Program?
  • Written Instruction:
  • Overlapping leaves knitting pattern
  • Sequence 
  • Arithmetic Operators - Example
  • Date Types
  • Input/Output (I/O)
  • Selection 
  • Equality, Relational and Logical Operators
  • if-else - Example
  • Iteration 
  • Decomposition 
  • Concurrency

The embedded workflow

  • what is embedded? 
  • Early computing (1960’s-1970’s)
  • 1980’s
  • Personal computing
  • Breaking the mould
  • x86 API
  • Linux API
  • Platforms
  • Embedded Platforms
  • Independent 
  • Integrated 
  • Target Flash Programming and Debug

Software Development Lifecycles (SDLC)

  • Waterfall
  • Royce’s Comments
  • Testing V-Model
  • Spiral Model (Prototype)
  • Agile foundations
  • Principles behind the Agile Manifesto
  • Regularly Missed…
  • Influences
  • Agile
  • Agile Process
  • Scrum 
  • Agile techniques
  • XP Practices
  • Acceptance Test Driven Development (ATDD)
  • Continuous Delivery
  • Functional vs. Cross-Functional Organization
  • Agile Programming
  • FlaccidScrum
  • Five years of Flaccid Scrum

Software Design

  • Code and Fix
  • Unified Modeling Language
  • The model view for dynamic systems
  • The fundamental UML diagrams
  • The UML process?
  • The use case
  • The Ideal Object model is a simplification
  • OMG Model-Driven Architecture (MDA)

Requirements Analysis

  • 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

Software Quality

  • Quality definitions
  • Three definitions of quality
  • Compliance quality
  • Intrinsic quality
  • Software rot
  • Refactoring
  • 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

The Whys... 

  • How many???
  • Mother Tongues
  • Why are there different programming languages?
  • Compiled vs. Interpreted
  • Pros and Cons
  • Programming Tradeoffs
  • Interpreted
  • Compiled
  • Why are there different approaches to developing software?
  • Scripted
  • Imperative (Procedural)
  • Object-Oriented (OO)
  • Functional 
  • Multi-Paradigm
  • Why do we keep getting it wrong?

Book your place