Software engineering
Software engineering
1. Objective (s):
After completing this experiment, student will be able to:
Identify ambiguities, inconsistencies and incompleteness from a
requirements specification
Identify and state functional requirements
Identify and state non-functional requirements
2. Theory:
Requirements
Sommerville defines "requirement" as a specification of what should be
implemented. Requirements specify how the target system should behave. It
specifies what to do, but not how to do. Requirements engineering refers to the
process of understanding what a customer expects from the system to be
developed, and to document them in a standard and easily readable and
understandable format. This documentation will serve as reference for the
subsequent design, implementation and verification of the system.
It is necessary and important that before we start planning, design and
implementation of the software system for our client, we are clear about it's
requirements. If we don't have a clear vision of what is to be developed and what
all features are expected, there would be serious problems, and customer
dissatisfaction as well.
Characteristics of Requirements
Requirements gathered for any new system to be developed should exhibit the
following three properties:
Unambiguity: There should not be any ambiguity what a system to be
developed should do. For example, consider you are developing a web
application for your client. The client requires that enough number of people
should be able to access the application simultaneously. What's the "enough
number of people"? That could mean 10 to you, but, perhaps, 100 to the
client. There's an ambiguity.
Once all possible FRs and non-FRs have been identified, which are complete,
consistent, and non-ambiguous, the Software Requirements Specification (SRS)
is to be prepared. IEEE provides a template [4], also available here, which could
be used for this purpose. The SRS is prepared by the service provider, and
verified by its client. This document serves as a legal agreement between the
client and the service provider. Once the concerned system has been developed
and deployed, and a proposed feature was not found to be present in the system,
the client can point this out from the SRS. Also, if after delivery, the client says
a new feature is required, which was not mentioned in the SRS, the service
provider can again point to the SRS. The scope of the current experiment,
however, doesn't cover writing an SRS.
3. Outcome of Study:
4. Output: