O'Reilly logo

Patterns for Parallel Software Design by Jorge Luis Ortega-Arjona

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

9.1. 9.1 The Situation in Software Design

Software has been used successfully in standardizing and automating many areas of enterprise and industry. However, software is having trouble achieving similar success in its own realm. Compared to other industries such as building construction or manufacturing, software development has seen less increase in productivity and quality. Now, when software design is being studied in a more formal way, it is necessary to consider the reasons for this difference.

By providing an analysis of how software is currently developed, it is possible to gain insights that may change this situation. Software systems produced by software designers and programmers can be accessed usually only through descriptions such as the source code or executable code. At the source code level, designers and programmers can only see programming language constructs - functions, classes and so on - whose size is small relative to the scale of most software systems. It is therefore difficult to notice larger structures by just inspecting a software system at the level of its source or executable code. This lack of visibility of larger structures in software systems is an important cause of the seeming complexity that is commonly associated with software systems [RM97].

Other industries, such as building construction, have an advantage over the software industry due to their ability to manage the complexity of their products and development process [RM97] [Ben97]. This ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required