August 1999
SE203 : SOFTWARE ENGINEERING

QUESTION 2

Total Marks: 20 Marks

Click here to access other questions

SUGGESTED SOLUTIONS
Solutions and allocated marks are indicated in green.
Return to
Question 2

(a) Explain, in your own words, why each of the following three developments has led to increased demand for software and software development :
  • Home computing
  • More powerful hardware
  • Microprocessors in everyday devices
[6]
  • Home computing : as computer hardware became cheaper, it also became affordable for households to own personal computers. This led to software being developed not just for business uses, but also for entertainment uses, home-business etc.
  • More powerful hardware : as hardware becomes more powerful, software must be written in order to make use of these newer hardware features. A particularly good example would be in gaming software, which frequently is the first type of software to make popular use of the newest computer hardware advances.
  • The use of microprocessors in everyday appliances (e.g microwave ovens, lifts, cars) and in order to make them intelligent: this necessitates the creation of software to drive the hardware appliance itself.

 

(b) Explain carefully why the following statements are often made:
  • Prototyping leads to longer development time.
  • 4th generation techniques are easy to use.
  • Prototyping can be used for new projects.
  • Classical method of development is a default methodology that many software developers would adopt.
[8]
  • In the event that the customer repeatedly changes his mind about requirements, despite seeing the prototype, the continual creation and modification of the prototyping could lead to a waste of resources and time.
  • 4th generation techniques are generally thought to be easy to use due to their ability to create systems and programs in a non-procedural manner, and on intuitive platforms ( e.g graphical user interface based).
  • The classical method of development is well-established, and thus should have been well-expounded, discussed, and have produced many possible variations to suit specific types of projects.

 

(c) Explain each of the following phases of the classical development life-cycle:
  • Systems engineering
  • Software analysis
  • Design
  • Coding
  • Testing
  • Maintenance
[6]
  • Systems engineering : establishing requirements for the entire system.
  • Analysis : establishing requirements for the software aspect of the system.
  • Design : translating requirements to a design/software representation.
  • Coding : translating the design/software representation to machine-readable forms.
  • Testing : determines whether the developed program matches established requirements.
  • Maintenance : accommodation of changes that need to be made to the software.