Software Design

Easing Design

Undertaking design in software sets a number of challenges for a software developer.  This is the creative step and requires an understanding of the requirements (which have to be clearly defined) as well as the design language.  It is expected that there will be a design standard, adherence to which will ease both design verification, future coding and other verification activities.  This design standard should enable a developer to set out a design in a clear verifiable manner.  There should be an associated checklist that allows independent review or in some cases an automatic review for compliance.  Design sets the software architecture and will perhaps incorporate aspects of requirements to enable assurance of safety, security, functional independence, ease of maintenance, etc. Architecture sets out the interfaces to the software as well as setting the context for future verification of control and data flow.

DISCOVER MORE
Easing Design image - D-risq

Verification of Design

The design step can be overlooked in the rush to produce code.  However, without the discipline to develop well thought out designs, backed up by good design standards, chaos can ensue.  The key is to be able to develop a design such that code can easily be developed and that the design can then be used in verification.  The first verification step is to ensure that the design satisfies the software requirements.  This is typically a subjective review process and hence can be error prone.  The design is often interpreting natural language requirements and translating the intent into a design that are often expressed in diagrams.  Whatever the form of the requirements and design, the semantics of both have to be understood which is where subjectivity can cause cost.  This activity can be seen as low value when compared to the second verification activity, code review.  Code review against the design gives a chance to find various errors including design as well as coding mistakes.  The third verification step for design involves unit test.  So it’s very important to get the first verification step, checking that the design satisfies requirements, as well as the second step, the code review, right otherwise a lot of effort will have been wasted. Automatic verification of this first step, compliance to design standards, is the basis of the D-RisQ Modelworks® tool.

DISCOVER MORE
D-Risq - Verification design image
D-Risq - Square image
D-Risq - Square image
D-Risq - Square image
D-Risq - Case study image
D-Risq - lovo - rovco
D-Risq - NOC - Logo
D-Risq - Forth - logo
D-Risq - thales - logo
D-Risq - Manchester - logo
D-Risq - logo

Need help with control system software? Contact us today to find out more

Get in touch
D-Risq - Square image
D-Risq - Square image
D-Risq - Square image
D-Risq - Square image
D-Risq - logo