Download as pdf or txt
Download as pdf or txt
You are on page 1of 3

TCS2411-MMU-WRY Date Issue: 04 Jul 2005 Date Due: 11 Jul 2005

Course: Software Engineering


Multimedia University Cyberjaya,
Trimester 1, Session 2005/2006.

ASSIGNMENT NO. 1

(1) According to the Good Book, “the characteristics of software make it different from other
things human beings build”. What does this statement mean?
ANSWER

Software is a logical product rather than a physical product that is manufactured by human
beings. In a sense, it is logical (algorithms, flow charts, masterpieces of the thought
processes – in the mind translated to a certain language and transformed into bits and bytes
of iron pigments on magnetic disks, grooves and hills on CDs, to electrical currents in RAM) to
a certain extent when you do not consider the program files sitting on hard disks, floppy disks,
inside thumb drives, plastic/vinyl CDs and as electric currents on silicon RAM memory, etc, as
being ‘physical’. Let’s us not go far and be philosophical here. The discussion/debate on this
subject will be endless – “then the cows will not go home!” ha.. ha.. ha..

Since software is intrinsically logical, it does not wear out (algorithms are mind concepts).
However, the components on which the algorithms, or program files sit are physical and do
wear out. So we do have indirect software problems, and the physical components must be
maintained or replaced to ensure that the software will always be good just like any other
physical products human beings manufacture. There is also another catch to software
problems: software algorithms can be erroneous, meaning giving results but erroneous
results. These are definitely caused by design errors. Sometimes these design errors are not
apparent until some hacker finds some security gaps, or someone inputs the wrong data or
presses buttons in a wrong sequence or somebody forgets to program exclusions (e.g. try-
catch clauses in java), etc. They are all design errors, ‘under sights’ or oversights.

(2) What does the Good Book mean by the term “determinate” and “indeterminate” software
applications? Give two examples of each.
ANSWER

Software applications that accept data and inputs in a predefined order, then execute the
instructions in a predefined order, and produce results and responses in a predefined order are
called determinate software. Two examples: Microsoft Word application and a software that
runs to control a machine to cut wood or timber into planks etc.

On the other hand, indeterminate software are applications that do not receive predefined
order of inputs or instructions. These applications are normally services like operating
systems, web servers and database services that actually wait for their input or instructions.
These inputs vary in timing and contents and these services will respond in accordance to the
pre-programmed response instructions built into them. These applications are called ‘services’
because they serve and respond to whatever inputs that are passed to them. These services
are ‘awaken to respond’ through interrupts sent to them via appropriate addresses like
designated service or listening TCP port numbers, etc. These applications are called
indeterminate because you cannot determine ‘‘exactly what will come and when will it come”
to the applications. Yes, it is true that you can determine how the application will respond to
whatever inputs that come (because the responses are pre-programmed, or not programmed
i.e. including crashing or got hung up indefinitely) but you do not know when the input will
come or what input will come. Two examples: A software operating system and an aircraft
flight control system software – fly-by-wire. Ha..ha..ha..

(3) On the internet, “critics argue that many of the foundations of software engineering are
inherently flawed”. Explain at least 5 of these criticisms.

Page 1 of 3
TCS2411-MMU-WRY Date Issue: 04 Jul 2005 Date Due: 11 Jul 2005

ANSWER

For answers, please refer to Required Reading-1.pdf on this course website.

(4) Within the software engineering community itself, there are ongoing debates that have yet
to achieve consensus regarding the following issues:

• Right to use the word ‘engineering’


• Substance versus metaphor
• Meaning of terms
• Fighting over priorities

In your own words describe what do they mean by “Substance versus metaphor”?
ANSWER

For answers, please refer to Required Reading-2.pdf on this course website.

Specifically for “Substance versus Metaphor” –

Some software engineers believe that ‘Software Engineering’ (SE) as a discipline lacks the
concrete or hardcore basics like in the traditional engineering disciplines. For example, there is
no ‘substance’ like the science of calculus, physics, chemistry, thermodynamics, statics,
dynamics etc in software engineering. Those elements generally comprise true or real
engineering. So SE is not quite ‘engineering’ in that sense. It is more suitable to be called
software development rather than software engineering.

Another group of software engineers views ‘Software Engineering’ not in the sense of a true
hard engineering discipline, but in a sense of ‘metaphorically’ engineering-like. Metaphor
means similar, analogous, akin or alike. This assertion states that the production of software is
conducted in a manner similar to traditional engineering by adopting step by step activities,
following well defined and rigorous standards and procedures in a coordinated manner. There
are processes like software design, software construction as well as software maintenance like
the processes in traditional engineering disciplines.

(5) Complying with ‘standards’ is one of the key activities in human life that makes us safe
and secure. For example, fuels for commercial aircraft plying the globe and refueling at
different airports comply with a standard, the “Jet A1 Fuel Specifications”, irrespective of
whether the fuel is provided at the airport in Anchorage, Alaska, or at the KL International
Airport in Sepang, Malaysia. That is why the jet fuel does not freeze in mid air and we fly
safely to our destinations. Similarly, there are also standards in software engineering. In your
own words, what are the following standards precisely for:
ANSWER

• IEEE Std 829 – IEEE Standard for Software Test Documentation


This standard describes a set of basic software test documents. The standard specifies
the form and content of individual test documents. It does not specify the required
set of test documents. When you apply this standard, the required set of test
documents will then be specified.

• IEEE Std 830 – IEEE Recommended Practice for Software Requirements Specifications
This recommended practice describes recommended approaches for the specification
of software requirements. The practice is based on a model such that the result or
final outcome of the process is an unambiguous and complete specification document
for the software requirements.

Page 2 of 3
TCS2411-MMU-WRY Date Issue: 04 Jul 2005 Date Due: 11 Jul 2005

• MS Std 795 (Malaysian Standard)


This is the standard specification for WC flushing cisterns (WC = water closet including
dual flush cisterns and flush pipes). This standard covers the specifications of a
particular toilet flush system, i.e. specifications of the water tank and its internal
mechanisms, piping, components, sizes, volume of water, performance tests, etc.

• http://www.lukoil.bg/pdf_litasco/Specifications.pdf
This document is actually a specification for Aviation Turbine Fuel Jet A-1. It describes
a list of physical and chemical tests that must be conducted on the fuel and each test
result must be within the range as specified in the table before the supplier can claim
to comply with the standard. Again each individual test must comply with the
respective ASTM standards (American Standards of Testing and Materials).

The Jet A-1 fuel specifications compliance is so stringent that every aircraft pilot
(especially commercial) will be provided with the actual ‘certificate of quality’ on the
fuel that he is carrying on board and will be used by the aircraft for its flight. The
certificate provides the actual test results of the current Jet A-1 fuel in the aircraft,
and the pilot will commence flying only when he is satisfied with the quality of fuel.
(p.s. I knew this because I have a few pilot friends and it is also quoted on a National
Geographic documentary - ASTRO).

Page 3 of 3

You might also like