0% found this document useful (0 votes)
24 views35 pages

soft eng requirements eng

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
24 views35 pages

soft eng requirements eng

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 35

REQUIREMENTS ENGINEERING

• The Hardest part of developing a software is deciding precisely what is to be


developed.
• Requirement engineering is the disciplined application of proven principle, methods,
tools, and notations to describe a proposed system’s intended behavior and its
associated constraints.
DIFFICULTIES IN REQUIREMENT ENGG.
1. No one give you complete requirement in the first time, if someone does then also
requirement are incomplete.
2. Requirements get added and changed as the user begins to understand the system
and his real need
3. Insufficient time to do a decent job
4. Communication barrier (Different technical backgrounds)
5. Lack of resources
6. Developer want more precise definition while user prefer natural language
TYPES OF REQUIREMENT
1. Known Requirement
2. Unknown Requirement
3. Undreamt Requirement
REQUIREMENTS ENGINEERING

• Requirements analysis, also called requirements engineering, is the


process of determining user expectations for a new or modified
product.
• Requirements engineering is a major software engineering action that
begins during the communication activity and continues into the
modeling activity.
• It encompasses seven distinct tasks: inception, elicitation,
elaboration, negotiation, specification, validation, and management.
• Inception :
• It establish a basic understanding of the problem, the people who want a
solution, the nature of the solution that is desired, and the effectiveness of
preliminary communication and collaboration between the other stakeholders
and the software team.
• Elicitation:
• In this stage, proper information is extracted to prepare the document for the
requirements.
• It certainly seems simple enough—ask the customer, the users, and others what
the objectives for the system or product are, what is to be accomplished, how
the system or product fits into the needs of the business, and finally, how the
system or product is to be used on a day to day basis.
• Elaboration:
• The information obtained from the customer during inception and elicitation is
expanded and refined during elaboration. This task focuses on developing a
refined requirements model that identifies various aspects of software function,
behavior, and information.
• Negotiation:
• To negotiate the requirements of a system to be developed, it is necessary to
identify conflicts and to resolve those conflicts. You have to reconcile these
conflicts through a process of negotiation.
• Specification:
• The term specification means different things to different people. A
specification can be a written document, a set of graphical models, a formal
mathematical model, a collection of usage scenarios, a prototype, or any
combination of these.
• Validation:
• The work products produced as a consequence of requirements engineering
are assessed for quality during a validation step.
• Requirements validation examines the specification to ensure that all
software requirements have been stated unambiguously; that
inconsistencies, and errors have been detected and corrected; and that the
work products conform to the standards established for the process, the
project, and the product.
• Requirements management.
• Requirements for computer-based systems change, and the desire to change
requirements persists throughout the life of the system.
• Requirements management is a set of activities that help the project team
identify, control, and track requirements and changes to requirements at any
time as the project proceeds.
ESTABLISHING THE GROUNDWORK
• Identifying Stakeholders
• A stakeholder is anyone who has a direct interest in or benefits from the
system that is to be developed. At inception, you should create a list of
people who will contribute input as requirements are elicited.
• Recognizing Multiple Viewpoints
• Because many different stakeholders exist, the requirements of the system
will be explored from many different points of view. The information from
multiple viewpoints is collected, emerging requirements may be inconsistent
or may conflict with one another.
• Working toward Collaboration
• The job of a requirements engineer is to identify areas of commonality and
areas of conflict or inconsistency.
ELICITING REQUIREMENTS
• Elicitation: the process of getting or producing something, especially
information or a reaction
• It is most difficult, most critical, most error-prone, and communication intensive
aspect of the software development.
• Requirements elicitation (also called requirements gathering) combines elements
of problem solving, elaboration, negotiation, and specification
• Collaborative Requirements Gathering
• Many different approaches to collaborative requirements gathering have
been proposed.
• During inception basic questions and answers establish the scope of the
problem and the overall perception of a solution. Out of these initial
meetings, the developer and customers write a one- or two-page “product
request.”
Approach
• Interview (Structure/ unstructured, Open ended, agenda based)
• Brain Storming (Group discussion)
• Delphi technique (Written correspondence exchanged among the participants)
• FAST (Facilitated application specification technique)
• Everyone will prepare a list of
• What surrounds the system
• Produced by the system
• Used by the system
• List of services, constraints, and performance criterion
• Then divide list into smaller list to work in smaller teams
• Quality Function Deployment
• Quality function deployment (QFD) is a quality management technique that
translates the needs of the customer into technical requirements for
software.
• QFD “concentrates on maximizing customer satisfaction from the software
engineering process”.
• To accomplish this, QFD emphasizes an understanding of what is valuable to
the customer and then deploys these values throughout the engineering
process.
• Although QFD concepts can be applied across the entire software process,
QFD uses customer interviews and observation, surveys, and examination of
historical data as raw data for the requirements gathering activity.
• These data are then translated into a table of requirements— called the
customer voice table—that is reviewed with the customer and other
stakeholders.
• QFD identifies three types of requirements :
• Normal requirements. The objectives and goals that are stated for a product
or system during meetings with the customer. If these requirements are
present, the customer is satisfied. Examples of normal requirements might be
requested types of graphical displays, specific system functions, and defined
levels of performance.
• Expected requirements. These requirements are implicit to the product or
system and may be so fundamental that the customer does not explicitly
state them. Their absence will be a cause for significant dissatisfaction.
• Exciting requirements. These features go beyond the customer’s
expectations and prove to be very satisfying when present.
• Customer determine the importance of each requirement on a scale of 1 to 5:
• 5 – Very important
• 4 – Important
• 3 – Not important but Nice to have
• 2 – Not important
• 1 – Unrealistic
Requirement Analysis
• In this phase we analyze the set of requirements to find any inconsistency or
conflicts.
• Check How many requirements are contradictory to each other or requires further
exploration.
• Different tools can be used like DFD, ER diagram, use cases.
Requirement Documentation
• After have final set of requirements, it is also necessary to document
in a standard format, so that it can be understood easily even by
non-technical person. E.g. Mark sheet, balance sheet, research
papers.
• IEEE provides standard for SRS documents in IEEE830, using which we
make SRS document more readable, modifiable, and a format which
can be followed through the world.
IEEE STANDARDS FOR SRS

1.Introduction 3. Specific Requirements


1. Purpose 1. External Interfaces
2. Scope 2. Functions
3. Definition, Acronyms and abbreviations 3. Performance requirements
4. References 4. Logical database requirements
5. Overview 5. Design Constraints
2.The Overall Description 6. Software System attributes
2.1 Product Perspective 7. Organization of specific requirements
1. System Interfaces 8. Additional Comments.
2. Interfaces
3. Hardware Interfaces 4. Change Management Process
4. Software Interfaces 5. Document Approval
5. Communication Interfaces 5.1 Table, Diagram, and flowchart
6. Memory Constraints 5.2 Appendices
7. Operations 5.3 Index
8. Site Adaptation Requirements
2.2 Product Functions
2.3 User Characteristics
2.4 Constraints
2.5 Assumptions for dependencies
2.6 Apportioning of requirements
SRS document
• The important parts of SRS document are:
• Functional requirements of the system
• Non-functional requirements of the system, and
• Goals of implementation
Functional requirements:-
• Requirement, which are related to Functional/working aspect of
software fall into this category.
• The functional requirements discusses the functionalities required
from the system.
• The system is considered to perform a set of high-level functions {fi}.
• Each function fi of the system can be considered as a transformation
of a set of input data (I) to the corresponding set of output data (O).
The user can get some meaningful piece of work done using a
high-level function.
Nonfunctional requirements:-
• Nonfunctional requirements deal with the characteristics of the
system which can not be expressed as functions - such as the
maintainability of the system, portability of the system, usability of
the system, security, cost, disaster management, etc.
• Nonfunctional requirements may include:
• # reliability issues, # accuracy of results,
• # human - computer interface issues,
• # constraints on the system implementation, etc.
Goals of implementation:-

• The goals of implementation part documents some general


suggestions regarding development. These suggestions guide
trade-off among design goals.
• The goals of implementation section might document issues such as
revisions to the system functionalities that may be required in the
future, new devices to be supported in the future, reusability issues,
etc.
• These are the items which the developers might keep in their mind
during development so that the developed system may meet some
aspects that are not required immediately.
Example: - Withdraw Cash from ATM
• R1: withdraw cash
• Description: The withdraw cash function first determines the type of
account that the user has and the account number from which the
user wishes to withdraw cash. It checks the balance to determine
whether the requested amount is available in the account. If enough
balance is available, it outputs the required cash, otherwise it
generates an error message.
• R1.1 select withdraw amount option
• Input: “withdraw amount” option
• Output: user prompted to enter the account type
• R1.2: select account type
• Input: user option
• Output: prompt to enter amount
• R1.3: get required amount
• Input: amount to be withdrawn in integer values greater than 100
and less than 10,000 in multiples of 100.
• Output: The requested cash and printed transaction statement.
• Processing: the amount is debited from the user’s account if sufficient
balance is available, otherwise an error message displayed.
Properties of a good SRS document
• Concise. The SRS document should be concise and at the same time
unambiguous, consistent, and complete. Verbose and irrelevant
descriptions reduce readability and also increase error possibilities.
• Structured. It should be well-structured. A well-structured document
is easy to understand and modify. In practice, the SRS document
undergoes several revisions to cope up with the customer
requirements. Often, the customer requirements evolve over a
period of time. Therefore, in order to make the modifications to the
SRS document easy, it is important to make the document
well-structured.
• Conceptual integrity. It should show conceptual integrity so that the
reader can easily understand it.
• Response to undesired events. It should characterize acceptable
responses to undesired events. These are called system response to
exceptional conditions.
• Black-box view. It should only specify what the system should do and
refrain from stating how to do these. This means that the SRS
document should specify the external behavior of the system and not
discuss the implementation issues. The SRS document should view
the system to be developed as black box, and should specify the
externally visible behavior of the system. For this reason, the SRS
document is also called the black-box specification of a system.
• Verifiable. All requirements of the system as documented in the SRS
document should be verifiable. This means that it should be possible
to determine whether or not requirements have been met in an
implementation.
Decision tree
• A decision tree gives a graphic view of the processing logic involved in
decision making and the corresponding actions taken. The edges of a
decision tree represent conditions and the leaf nodes represent the
actions to be performed depending on the outcome of testing the
condition.
• Example: - Consider Library Membership Automation Software (LMS)
where it should support the following three options:
• New member
• Renewal
• Cancel membership
• New member option
• Decision: When the 'new member' option is selected, the software asks details about
the member like the member's name, address, phone number etc.
• Action: If proper information is entered then a membership record for the member is
created and a bill is printed for the annual membership charge plus the security
deposit payable.
• Renewal option
• Decision: If the 'renewal' option is chosen, the LMS asks for the member's name and
his membership number to check whether he is a valid member or not.
• Action: If the membership is valid then membership expiry date is updated and the
annual membership bill is printed, otherwise an error message is displayed.
• Cancel membership option
• Decision: If the 'cancel membership' option is selected, then the software asks for
member's name and his membership number.
• Action: The membership is cancelled, a cheque for the balance amount due to the
member is printed and finally the membership record is deleted from the database.
Decision table
• A decision table is used to represent the complex processing logic in a
tabular or a matrix form.
• The upper rows of the table specify the variables or conditions to be
evaluated.
• The lower rows of the table specify the actions to be taken when the
corresponding conditions are satisfied.
• A column in a table is called a rule. A rule implies that if a condition is
true, then the corresponding action is to be executed.

You might also like