Chapter 2:
2.1 Suggest the most appropriate generic software process model that might be used as a basis for
managing the development of the following systems:
• A system to control antilock braking in a car
o Safety Critical System
o Plan Driven approach with requirements analysed carefully
o Waterfall model most appropriate with formal transformations between different
development stages.
• A virtual reality system to support software maintenance
o Cutting edge and UI dependent for usability
o Incremental or Spiral with some UI prototyping
o Agile process may be used
• A university accounting system that replaces an existing system
o Requirements fairly well known
o Reuse based approach is appropriate
• An interactive travel planning system that helps users plan journeys with the lowest environmental
impact
o Complex UI which is stable and reliable
o Incremental development approach most appropriate
o System requirements will change as user experience is gained
2.2 Incremental software development could be very effectively used for customers who did not have a
clear idea about the systems needed for their operations. Discuss
• Based on the idea of developing initial implementation, getting user feedback and evolving
software through several versions.
• Either plan driven, agile or mixture.
• Customer can evaluate systems at a relatively early stage.
2.3 Consider the integration and configuration process model shown in Figure 2.3. Explain why it is
essential to repeat the requirements engineering activity in the process.
• Firstly requirements spec involve proposing initial requirements for the system
o Brief descriptions
• Refinement stage, reusable components and applications discovered for refinement.
o Modified to reflect available components and system spec is redefined.
2.4 Suggest why it is important to make a distinction between developing the user requirements and
developing system requirements in the requirements engineering process
1) User Requirements describe the system functions and features from the perspective of a user. These are
usually abstract. System requirements provide a more detailed explanation of the procedure.
2) User requirements are written in plain and natural language. System requirements are more detailed
with specific specifications that could be part of a contract.
3) User requirements start with gathering information, identifying important aspects, and understanding
them.
System Requirements can only be implemented after the user requirements are understood and finalised.