Search

Software Think Science, not Art

Author / Editor: Mirko Bäcker / Rosemarie Stahl

Software development is popularly seen as an individual pursuit of trial and error. But that is far from true on any substantial programming project, where a large team of developers are working on complex systems.

Products are neither purely hardware nor software but a hybrid of both, and as they get smaller, smarter, more reliant on embedded software and microprocessors, as well as more interconnected, product complexity is increasing massively.
Products are neither purely hardware nor software but a hybrid of both, and as they get smaller, smarter, more reliant on embedded software and microprocessors, as well as more interconnected, product complexity is increasing massively.
(Photo: thinkstockphotos.in)

The discipline of software engineering is a science rather than an art. The principles of repeatable, process-driven development for creating robust, high-quality software were established at organisations like NASA where reliability was critical. They are key in industries like defence, aerospace, embedded and industrial control systems, medical, energy generation and automotive that need to balance complexity, cost and risk.

Gallery

Across all of these industries, risks remain high, there is always pressure to reduce costs but complexity is only increasing. Automotive design is one area where many different parts of software engineering have to come together, and to combine with mechanical and systems engineering, because like so many once-mechanical systems enhanced by embedded software, it is no longer about designing a vehicle purely for driving. Auto companies are morphing into mobility and consumer electronics companies, having to rely on new and disruptive technologies to build new products – without surrendering any of the responsibilities of safety and performance.

That means the tools that help you manage the product development lifecycle need to be integrated systems that cross multiple domains and disciplines to support a seamless flow of information, and deliver efficiency and accountability across all the steps of that development process.

Car – or complex, connected system?

Assisted, connected and autonomous cars are only the most extreme case; electric and hybrid vehicles are already adding a new level of design problems. Take the power train; it is one of the many real-time systems in the car where precision is vital; you can never miss a signal or fail to respond correctly to an input. But it is no longer a standalone system. If you are capturing energy from braking to charge the batteries in a hybrid power train, you have to incorporate more sensors and look at energy optimisation and battery drain across the entire vehicle because that affects driving range. That also needs to be integrated with the infotainment systems that combine information, control and navigation for the driver. This is the point where the new connected car features combine with the traditional personal entertainment options and the human interface with the car, and it is vital to design that interface and that experience so it does not overwhelm the driver by adding complexity that causes accidents.

(ID:44460425)