Académique Documents
Professionnel Documents
Culture Documents
In this learning object you will practise identifying and making notes on the main points of a short
text about software engineering.
Activity 1
Exercise
Since engineering is a well-established field, you might think that there is a wealth of previously
developed engineering techniques that can be useful in answering such questions. This reasoning,
however, overlooks the many distinctions between the properties of software and those of other
fields of engineering.
One such distinction deals with the ability to construct systems from generic prefabricated
components. Traditional fields of engineering have long benefited from the ability to use "off-the-
shelf" components as building blocks when constructing complex devices. The designer of a new
car does not have to design the engine, radio, air conditioner, and door locks. Instead, the designer
uses previously designed versions of these components. In the context of software, however,
previously designed components tend to be domain specific- that is, their internal design is
dependent on a specific application. To re-use such a component would therefore require it to be
redesigned. The result is that complex systems have historically been built from scratch.
Another distinction between software engineering and traditional engineering deals with the roles of
tolerances. Traditional areas of engineering deal with the development of products that are
acceptable as long as they perform their task within certain bounds. A washing machine that cycles
through its wash-rinse-spin cycle within a 2 percent tolerance of the desired time is acceptable.
Software, in contrast, performs either correctly or incorrectly. An accounting system that is accurate
only to within a 2 percent tolerance is not acceptable.
Still another distinction relates to the lack of quantitative systems, called metrics, for measuring the
properties of software. The quality of a mechanical device if often measured in the mean time
between failures, which is a measurement of how well the device endures wear and tear. Software,
in contrast, does not wear out, so this method of measuring quality does not carry over into software
engineering.
Activity 2
We cannot assume that we can use previously developed engineering techniques in software
engineering because there are a number of differences between traditional and software
engineering.
1. Prefabricated components
b. In software engineering previously designed components are domain specific. Re-using them
means redesigning them. So, complex systems are usually built from scratch.
2. Tolerances
b. Software is either correct or not. For example, an accounting system that is accurate to within a
two percent tolerance is not acceptable.
3. Metrics
a. In traditional engineering the quality of a device is measured by how well it endures wear and
tear
b. Software does not wear out so quality cannot be measured in the same way.
Activity 3
Now reduce the main points to note form, remembering to use some of the note-taking techniques
you have been introduced to.
Diffs. betw. traditional & software engineering so cannot use prev. developed software engin.
techniques
1. Prefabricated components
b. Software - designs are domain specific - re-use = redesign complex systems built from
scratch
2. Tolerances
a. Trad eng. - develop't is acceptable if correct within limits E.g. washing machine OK if finishes
within 2 mins of correct time
b. Software - either correct or not E.g. accounting system that is accurate with 2% tolerance not
OK
3. Metrics
b. Software - does not wear out cannot measure quality in same way