The-Software-Experts




Google
 




   catch your bugs!
  Home
  Newsletter
  Forum
  Shop

  SW-Training
  - Software Design
  - Safe Coding in C
  - Software Inspection
  - Software Testing
  

  SW-Design
  - Architecture
  - Module Design
  

  Coding in C
  - Safe Coding in C
  

  Refactoring
  - Principles
  - Methods
  

  SW-Testing
  - Principles
  - Static Analysis
  - Inspections
  - Module Tests
  - Functional Tests
  - Integration Tests
  - Test Documentation
  - Links
  

  SW-Documentation
  - SGML Principles
  - Printing SGML
  - Links
  

  SW-Processes
  - Process Descriptions
  - Process Assessments
  - Self Evaluation
  - Food for Thought
  - Links
  

Safety Software
Design Training

IEC 61508 compliant
Safety Software
Design for Microcontroller

SW Document
Templates

CMMI and SPICE
compliant document
templates

SW Process
Description

CMMI Level 4 and
SPICE compliant SW
development procedure

SGML Package for
Documentation

Edit and print SGML
Documemts. Professional.
fast, easy to use.

Test Bench
for C/C++

Perl based test
environment for easy
component testing

Software Design

"You can not test quality into software, you have to design it into your software"

No doubt it is possible to produce software without considering its design. The "from the brain into the terminal" approach is still a widely used "design method". If you are lucky to use an object oriented language such as JAVA or C++ this may even compensate a lot of the problems of such an ad hoc approach. However, you will find that what you believed to save by skipping the design phase, you have to spend on higher testing efforts and bugfixes. Worst case these bugfixes happen after your product has been shipped to the customer. Further, without a proper design you have to expect higher maintenance costs. Any addition of features may destabilize your software and bring contained faults to "the front", i.e. bugs which were contained in your software and did not bother so far, now lead to failures in your system.

A proper design will definitely minimize these problems and eventually save you a lot of money. There is no substitute for a good design. Exhaustive testing may enable you to ship a software which is giving the expected results, but at a too high price. On these pages I want to give you a few insights into a possible design for microcontroller software.





Imprint