Software Requirements: Presented By: Ms. Terry Ann C. Cayabyab, MAM, MIT

You might also like

Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 32

SOFTWARE

REQUIREMENTS
Presented by:

Ms. Terry Ann C. Cayabyab, MAM, MIT


RECALL…
 SDLC Phases
 Planning
 Analysis
 Design
 Implementation
 Support

- each phase has prescribed activities and deliverables


- Software Requirements comes in to the analysis
phase
SOFTWARE REQUIREMENTS
 reflects the user’s view of what the system must
do
 elicited from all possible stakeholders

  must be developed, managed and documented


in a way that facilitates future maintenance of
the software 
SOFTWARE ANALYSIS
 involves defining the scope of the software to
be developed, capturing and documenting the
user’s requirements;
 knowing the various constraints that must be
met; and
 understanding the interfaces with external
systems, entities and users 
 identify needs of stakeholders
… CONTINUED
 it must be validated and officially approved by
the representatives from clients and users, the
design and testing teams, quality assurance team
and the systems analyst
 concentrates on the specification of functional
and non-functional requirements
 adopt requirements engineering process

 adopt a use case-model approach in developing


the software requirements
 normally starts with the product vision and
project scope
PRODUCT VISION & PROJECT SCOPE
- facilitates in establishing the business
requirements and aligning with the software
requirements specification

3 Sections
1. business requirements & context

2. product vision

3. project scope & limitations


BUSINESS OBJECTIVES
a. can refer to either financial or technical benefits
to the target customers that are preferably
quantifiable
e.g.
- The project helps reduce the customer support
cost by 30 percent during the first year of
operations.
- The average delay to deal with and service a
customer complaint is approximately eight hours.
… CONTINUED
b. contains the business risks associated with the
business requirements and their management
c. identifies and describes the types of product
users and other stakeholders
d. describes the context and environment in which
the product will be operating
PRODUCT VISION
a. provides a clear statement of the product goal
b. identifies the main functionalities and features
of the product being developed
c. lists all the assumptions that are made and
the dependencies that exist.
PROJECT SCOPE & LIMITATION
 Explicitly lists the functionalities and features
that will be included in different releases or
versions of the product
 Includes the functionalities and features that will
not be provided by the product in any of its future
releases.
TEMPLATE
Title page
Change history
Preface
Table of Contents
1. Business requirements and context
1.1 Product rationale and business opportunity
1.2 Business objectives
1.3 Business risks
1.4 Stakeholders
1.5 Context and environment
2. Product vision
2.1 Statement of product goals
2.2 Main features
2.3 Assumptions and dependencies
3. Project scope
3.1 Scope of current release
3.2 Scope of future releases
3.3 Limitations
Annexes
REQUIREMENTS
2 types
1. Functional - includes functionalities and
services that are needed by the users to meet
their needs and to achieve their business
objective
2. Non-functional – requirements that
constrains the provision of functionalities; also
known as quality requirements; covers both
technical and non-technical aspects of the
system and its functionalities; concerned with
cultural, political and standards conformity
aspects
FOCUS
 Fact-finding
 Investigation techniques

 familiarity with:
 business concern
 Bring a fresh perspective to a problem
TECHNICAL NON-FUNCTIONAL
REQUIREMENTS
 Interoperability- impose constraints on the types
of systems with which the software has to
interface
 Maintainability – impose constraints related to
the ease with which the software can be fixed,
adapted to new environments and technologies,
or expanded
 Operational – impose constraints on both the
physical and logical environments in which the
software under development will operate
 Performance – impose some technical constraints
on the response time delays, throughput of the
system, and memory requirements
… CONTINUED
 Portability – impose some conditions related to
the future deployment of the software system
 Reliability and Availability – impose some values
related to the reliability of the software under
development
 Reusability – impose constraints on the
development of the system related to the degree
of reuse
 Robustness – impose constraints related to the
way the software handles abnormal and
erroneous inputs and operational conditions
… CONTINUED
 Safety – are needed when the software being
developed deals with safety-critical issues
 Scalability – impose constraints on how the
software system should scale up to a high-input
load at all interfaces
 Testability – impose constraints on the future
testing of the developed software
 Traceability –impose constraints on the ease with
which the software is traceable
 Usability – address the constraints imposed by
the client in its representation of the user
community
… CONTINUED
 User-friendliness – impose some constraints on
the user experiences when interacting with the
software
 Security – concerned with confidentiality,
integrity, availability and accountability. Deals
with imposing and adhering to identification,
authentication, authorization, integrity,
immunity, privacy, non-repudiation,
survivability, physical protection, and security
standards conformity requirements.
NON-TECHNICAL NON-FUNCTIONAL
REQUIREMENTS
 Cultural and Political
 Legal and Regulatory

 Conformity to Standards
 REQUIREMENTS ENGINEERING
4 main steps
1. Elicitation

2. Analysis

3. Specification

4. Maintenance
ELICITATION OF FUNCTIONAL
REQUIREMENTS
 Activities involved are: extraction discovery or
invention, acquisition or elaboration of the
stakeholder’s needs
 Persons who conduct elicitation may be called the
system analyst, business analyst, requirement
engineer, requirement facilitator
 Skills required: cognitive and human
communication skills, practical experience in the
application domain, knowledge in group and
social dynamics, organization skills, and
knowledge engineering
STEPS
1. Understand the application domain and the
current environment or system.
2. Identify the sources of requirements and the
stakeholders
3. Selection of appropriate techniques to use for
requirements elicitation
ACTIVITIES
 Presentation of title proposals
 Justify the need for the systems proposed

 Possible features of the system

 * Generate interview guide

 Identify documents that may be analyzed


ASSIGNMENT
 Search for an article describing one project that
had failed. Discuss briefly how it failed and
explain the reason.

 Construct your Product Vision and Project Scope


document, following the above-given template

You might also like