DFP5043 – Software
Requirement and Design
Group 2
Huzaifah, Muiz, Hakim,
Amirul, Fitri, Afiq, Alif, Ahmad Luqman
Tutorial Lab3
Instruction:
Discuss and contribute
together to answer each of the questions below and post the answer to the class
blog.
1. Giving reasons
for your answer based on the type of system being developed, 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 anti-lock
braking in a car
• A virtual reality system to
support software maintenance
• A university accounting system
that replaces an existing system
• An interactive travel planning
system that helps users plan journeys with the lowest environmental impact
a) Anti-lock braking system is the
system that need a lot of testing and the flow would likely to go back and
forth which make Waterfall model out of the question the only reasonable model
used would be incremental development.
b) Virtual reality system is
another system that will change based on customer feedback. Incremental
development with an agile process may be used.
c) University accounting system is
a system where it’s commonly being used in other industry and would likely already
have a model that can be modified to customer needs. Therefore, a reuse-based
model can easily be implemented in this system.
d) Interactive travel planning system is
a system that changes based on user feedback and probably would have to extend
their compatibility with another system in the future, there’s also a need of
usability engineering which is based on user experience and the ergonomics of
the design would also affect the end user efficiency, these changes need to be
improved overtime so an incremental development approach is the most
suitable to give out the best of the system.
2. Consider the reuse-based
process model shown in page 14 in the slide, explain why it is essential to
have two separate requirements engineering activities in the process.
In a reuse based process, you need
two requirements engineering activities because it is essential to adapt the
system requirements according to the capabilities of the system to be reused.
These activities are:
a)
An initial activity where you understand the function of the
system and set out broad requirements for what the system should do. These
should be expressed in sufficient detail that you can use them as a basis for
deciding of a system that satisfies some of the requirements and so can be
reused.
b)
Once systems/components have been selected, you need a more
detailed requirements engineering activity to check that the features of the
reused software meet the business needs and to identify changes and additions
that are required.
3. Based on page 18 in the slide,
suggest why it is important to make a distinction between developing the user requirements and developing
system requirements in the requirements
Engineering process.
·
The user requirement are intended to describe
the system’s function and features from a user perspective and it is essential
that user understand these requirement. They should be expressed in natural
language and may not be expressed in great detail, to allow some implementation
flexibility. The people involved in the process must be able to understand the
user’s environment and application domain.
·
The system requirement are much more detailed
than the user requirements and are intended to be a precise specification of
the system that may be part of a system contract. They may also be used in
situation where development is outsourced and the development team need a
complete specification of what should be develop. The system requirement are
develop after user requirement are developed after user requirement are developed
after user requirement have been established.

