0% found this document useful (0 votes)
71 views18 pages

TMP3413 Software Engineering Lab: Defining The Requirements

The document discusses the importance of defining requirements for software projects. It explains that the requirements specification document outlines what the software needs to do in clear, unambiguous terms. This ensures everyone understands the goals and provides criteria to evaluate the final product. Requirements should focus on functionality, not design, and traceability must be maintained between requirements, design, and code. The TSPi process uses scripts to guide developing and updating requirements over multiple development cycles.

Uploaded by

Nurfauza Jali
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
0% found this document useful (0 votes)
71 views18 pages

TMP3413 Software Engineering Lab: Defining The Requirements

The document discusses the importance of defining requirements for software projects. It explains that the requirements specification document outlines what the software needs to do in clear, unambiguous terms. This ensures everyone understands the goals and provides criteria to evaluate the final product. Requirements should focus on functionality, not design, and traceability must be maintained between requirements, design, and code. The TSPi process uses scripts to guide developing and updating requirements over multiple development cycles.

Uploaded by

Nurfauza Jali
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
You are on page 1/ 18

TMP3413

Software
Engineering Lab

Lecture 06:
Defining the
Requirements
Topics
 What are requirements?
 Why we need requirements?
 Requirement changes
 Requirements Elicitation
 The Software Requirements
Specification
 Requirements Traceability
1.0 What are Requirements?
In requirements the team produces the software
requirements specification (SRS). The SRS should
provide a clear and unambiguous description of
what the product is to be and it should include
precise criteria for evaluating the finished product to
ensure that it does what is supposed to do

For the TSPi course, the team need to provide


feedback to the instructor, who acts as your
customer. Thus the requirements process consists
principally of asking and answering questions. To do
an effective job of developing requirements , we
need the following:

**An initial statement of the customer’s needs.


**Someone who can explain why the product is
wanted. Generally tell what functions the customers
want. In any event, the instructor is the final authority
on requirements questions.
2.0 Why we need Requirements?
(cont)
 Because during requirements development,
we review the customer’s needs and
formulate questions about how the product is
to work.
 Then, the team need to discuss among them
and decide which ones we understand and
where we need additional information.
 Through this process, the team gains a
common understanding of what we plan to
build.
2.0 Why we need Requirements?
 SRS document is a necessary part of the
requirement development process, your goal
is to reach the team agreement on what to
build.
 A well structures requirements process is
essential that everyone participate in defining
the requirements.
3.0 Requirements Changes (cont…)
 Changes in requirements are often a problem
because users generally cannot know precisely what
they need until they try to use the finished product.

 The difficult part of the software requirements process


is to learn what the users believe they need and to
help them define their needs in terms of useful
product functions.

 The engineers should do this quickly as they can and


make this understanding as specific as possible.

 There is no such thing as a free requirements change.


All changes cost time and money.
3.0 Requirements Changes
 This raises on key question:

How do you distinguish between requirements


clarifications and significant functional additions?

 The only way to do this is to start with a


precise agreement on what is to be in the
product so that you have a mechanism for
settling requirements disagreements.
 Best reach this agreement by producing a
clear and precise SRS document.
4.0 Requirements Elicitation
 The principal steps of requirements elicitation are
as follows:
 Asses system feasibility
 Understand the organizational issues
 Identify the system stakeholders
 Record the requirements sources
 Define the system’s operating environment
 Asses the business issues
 Define the domain constraints
 Record the requirements rationale
 Prototype poorly understood requirements
 Define the usage scenarios
 Define the operational processes
5.0 The Software Requirements
Specification (SRS) (cont…)
What you plan to develop and how you intend the
product to perform?

 The requirements should not describe or even


imply how to build the product.
 That is a design decision and all design issues
should be left for the design phase.
 The objective is to produce requirements that
leave you as free as possible to make design
choices.
 Focus the SRS on what the product is to do and
avoid specifying how it will be designed and
built.
5.0 The Software Requirements
Specification (SRS)
 There are many standards for SRS documents
[Davis, pg 202; Somerville, pg 42; Pressman]
 For the TSPi, you will need to on the functional
and operational requirements.
 The principal topics to address are;
 Functional Req.: inputs, outputs, calculations and use
cases
 External Interface Req.: user, hardware, software,
communications
 Design Constraint: file formats, languages, standards,
compatibility, etc…
 Attributes: availability, security, maintainability,
conversion, etc..
 Other requirements: database, installation, etc..
5.0 The Software Requirements Specification
(SRS)
1. Table of contents
Sample SRS contents
2. Introduction
Purpose of the SRS
Problem statement
Team Project Information
3. Statement of functional requirements
Description of the system function requirements
Cycle 1 requirements
Cycle 2 requirements
Top-down structure
4. Definition of rules used in the requirements
5. External Interface requirements
User interface
Screen layouts
6. Design/implementation constraint
Standard compliance
Development constraints
7. Special system requirements
Documentation
Compatibility
8. References and sources of information
5.1 Requirements Traceability

 Toensure functional traceability, number the


paragraphs and sections on the SRS so that we
can later identify every requirements item.
 Maintain traceability through the SRS and into
design.
5.2 Balancing Workload

 SRS produced for a TSPi project is usually only a


few pages long, it should not take very long to
develop.
 Divide the writing among team members.
6.0 The TSPi Requirements Scripts
(cont…)

 TSPihas two requirements development scripts


REQ1 and REQ2. Shown in Table 6.2 & Table
6.3
 REQ1 produces the SRS for the first
development cycle and REQn updates this
SRS for the next subsequent cycles.
7.0 Summary
 In the requirement phase, Software
Requirements Specification (SRS) need to be
produced.
 It’s purpose is to describe those functions that
you intend the product to perform.
 SRS should provide clear and unambiguous
criteria for evaluating the finished product as
well as guidance.
 Need functional traceability from the code to
the design and form the design to the SRS
and the need statement.

You might also like