[SystemSafety] Software Requirements and Specifications

Andy Ashworth andy at the-ashworths.org
Sat Apr 15 10:50:33 CEST 2017



> On Apr 15, 2017, at 09:08, paul_e.bennett at topmail.co.uk wrote:
> 
> Like for any tall building, attention to details in setting the foundations will
> have a profound impact on whether it stands or not. The Parnas view of
> anyone wishing to be considered an engineer doing a properly structured
> engineering course builds on that notion. In Software, the basis from which
> you build the systems is going to be in knowing how your compiler is going
> to translate your hieroglyphics into something the machine will understand.

My first degree was in electronic engineering and at the time of my undergraduate studies I did not appreciate the need to study mechanics, structures, thermostat-hydraulics, etc fro other engineering disciplines. Today, thirty years later, I work in the field of safety - many hazards within the complex systems of today arise at interfaces, either interfaces between sub-systems or interfaces between engineering disciplines. The reason that an electrical engineer requires an understanding of mechanical and civil engineering is that systems rely on successfully integrating disparate disciplines into a cohesive whole. If software is going to be used in isolation then I agree that the need for the engineering foundation subjects is diminished, however if software is used within the context of a wider engineered system then I agree with Parnas' view. Any engineer involved in major system integration requires an appreciation of all disciplines, not just their own narrow field.

Here in Canada,  if you do not have an engineering licence you cannot call yourself an engineer, no matter what level of expertise you may have in formal maths and software development techniques. To become a licensed engineer you require an accredited degree (or equivalent) and experience - all accredited engineering degrees provide a broad based engineering foundation. So, in general, a Canadian calling them self a software engineer would typically be someone who graduated in another discipline and then added software to their skills, or someone who took an accredited software engineering degree complete with engineering foundation subjects.

Andy 

Euring Andy Ashworth PEng CEng MIET MSaRS




More information about the systemsafety mailing list