Software Engineering LabManual
Experiment -2
Aim:-Develop requirements
specification for a given problem
Objective:
To find the
requirement specificat ion (both functional and
Procedure:
nonfunctional) of a given Problem.
Step 1:
Introduction:
Purpose
Identify the
scope of the productproduct whose
that is coveredsoftware
by this requirements
are
SRS, particularlyspecified
in this document. Describe the
system or a single if this SRS describes
such as developers,subsystem.Describe the different types of user that the only part of the
project managers, marketing staff, document is intended for.,
Describe what the rest of this SRS contains and how it users, testers, and documentation writers.
the document, beginning with the is organized. Suggest a
overview sequence for
sections and proceeding through the sections that are read1ng
pertinent to each rea der type. most
Project Scope
Provide a short description of the
benefits, objectives, and goals. Relate thesoftware
software
being specified and its purpose, including relevant
separate vision and scope document is available, refertotocorporate
it rather
goals or business strategies. If a
than
An SRS that specifies the next release of an duplicating its contents here.
evolving
asa subset of the long-term strategic product vision. product should contain its own scope statement
Sten 2:
Overall Description
Product Perspective
Describe the context and origin of the product being specified in this SRS. For example, state
whether this product is a follow-on member of a product fam1ly, a replacement for certain
systems, or a new, self-contained product. If the SRS defines a component of a larger system,existing
relate
the requirements of the larger system to the functionality of this software and identify interfaces
between the two. A simple diagram that shows the major components of the overall system.
Subsystem interconnections, and external interfaces can be helpful.
T/CSE/3/SE LAB (3CS4-23) Page 9
Software Engineering LabManual
Product Features
Summarize the major features the product contains or the significant functions that it
performs or lets the user perform. Only a high level summary is needed here.
to make them understandable to any Organize the
reader of the SRS. A Dicture of the major groups offunctions
requirements and how they relate, such as a top level data flow related
effective. diagram or a class diagram, 1s often
User Classes and
Characteristics
Identify the various user classes that you anticipate will use this
differentiated based on frequency of use, subset of product product. User classes may be
functions used,
security privilege levels, educational level, or
experience. Describe the pertinenttechnical expertise,
or
cach use class. Certain requirements may characteristics
pertain only to certain user classes. Distinguish the favorcdof
user classes from those who are less
important to satisfy.
Operating Environment
Describe the environment in which the
platform, operating system and versions, and any software
other
will operate, including the hardware
software
which it must peacefully coexist. components or applications with
Design and Implementation Constraints
Describe any items or issues that will limit the options available to the
might include: corporate or regulatory policies; hardware limitations developers. These
(timing requirements, memory
requirements); interfaces to other applications; specific technologies, tools, and databases to be
parallel operations; language requirements;communications protocols; security used:
considerations;
conventions or programming standards (for example, if the customer's organization will be design
responsible for maintaining the delivered software).
Step 3:
System Features
This template illustrates organizing the functional requirements for the product by system
features, the major services provided by the product. You may prefer to organize this section by use
case, mode of operation, user class, object class, functional hierarchy, or combinations of these.
whatever makes the most logical sense for your product.
System Feature 1
Don'treally say "System Feature 1."State the feature name in just a few words.
Description and Priority
Provide a short description of the feature and indicate whether it is of Hgh, Medium
or Low priority. You could also include specitic priority component ratings, such as
benefit, penalty, cost, and risk (each rated on a relative scale from a low of lto &huch
of 9).
7CSE/3/SE LAB (3CS4-23) Page 10
Software Engineering LabManual
2
StimulusResponse Sequences
List the sequences of user actions and system responses that stimulate the behavior
detined for this feature. These will correspond to the dialog clements associated with use
cases
Functional Requirements
Itemize the detailed functional requirements ussociatcd with this featurc. Thesc arc
the software capabilities that must be prescnt in order for the user to curry out the services
provided by the feature, or to execute the usc case. Include how the product should respond to
anticipated error conditions or invalid inputs. Requirements should be concisc, complete,
unambiguous, verifiable, and necessary.
Step 4:
External Interface Requirements
User Interfaces
Describe the logicalcharacteristics of cach interface between the software product and the
users. This may include sample screen images, any GUl standards or product family style guides that
are to be followed, screen layout constraints, standard buttons and functions (c.g.. help) that wil
appear on every screen, keyboard shortcuts, error message display standards, and so on. Define the
software components for which a user interface is needed. Details of the uscr interface design should
be documented in a separate user interface specification.
Hardware Interfaces
Describe the logical and physical characteristics of cach interface between the software
product and the hardware components of the system. This may include the supported device types, the
nature of the data and control interactions between the software and the hardware, and communication
protocols to be used.
Software Interfaces
Describe the connections betwcen this product and other specific software components (name
and version), including databases, operating systems, tools, librarics, and integratcd conmercial
components. Identify the data items or messages coming into the system and going out and describe
the purpose of each. Describe the services needed and the nature of communications, Refer to
documents that describe detailed application progranmming interface protocols. ldentify data that will
be shared across software components. If the data sharing mechanism must be implemented n a
specific way (for example, use of a global data area in a multitasking operating system), specify this
as an implementation constraint.
/CSE/3/SE LAB (3CS4-23) Page 10
Software Engineering LabManual
Communications Interfaces
Describc the requirements associated with any
product, including C-mail, web browser, network server communications functions required by this
and so on. Define any pertinent message communications protocols, electronic forms,
be used, such as FTP or HTTP. Specifyformatting. Identify any communication standards that will
any communication security
transfer rates, and synchronization or encryption issues, data
mechanisms.
Nonfunctional Requirements
Performance Requirements
If there are performance requirements for the
here and explain their rationale, to help the developersproduct under various circumstances, state them
understand the intent and make suitable design
choices. Specify the timing relationships for real time systems.
possible. You may need to state performance requirements for Make such requirements as specific as
features. individual functional requirements
or
Safety Requirements
Specify those requirements that are concerned with possible loss, damage, or harm that could
result from the use of the product. Define any safeguards or actions that must be
actions that must be prevented. Refer to any external policies or regulations that state taken, as well as
safety issues
that affect the product's design or use. Define any safety certifications that must be satisfied.
Security Requirements
Specify any requirements regarding security or privacy issues surrounding use of the product
or protection of the data used or created by the product. Define any user identity authentication
requirements. Refer to any external policies or regulations containing security issues that affect the
product. Define any security or privacy certifications that must be satisfied.
Software Quality Attributes
Specify any additional quality characteristics for the product that will be important to either
the customers or the developers. Some to consider are: adaptability, availability, correctness.
flexibility, interoperability, maintainability, portability, reliability, reusability, robustness, testability.
and usability. Write these to be specific, quantitative, and verifiable when possible. At the least.
clarify the relative preferences for various attributes, such as ease of use over ease of learning.
Other Requirements
Define any other requirements not covered elsewhere in the SRS. This might include database
requirements, internationalization requirements, legal requirements, reuse objectives for the project,
and so on. Add any new sections that are pertinent to the project.
CSE/3/SE LAB (3CS4-23) Page 10
Software Engineering LabManual
Viva-voice
Q1. What is SRS,
Answer- Software engineering is an engineering branch associated with development of software
Dduct using well-defined scientific principles, methods and procedures. The outcome of software
gineering is an efficicnt and reliable software product.
Q2. How Can YouGather Requirements?
Answer: Requirements can be gathered from users via interviews, surveys, task analysis,
brainstorming, domain analysis, prototyping, studying existing usable version of software,
and by observation.
03. What Is Software Measure?
Answer: Software Measures can be understood as a process of quantifying and symbolizing
various attributes and aspects of software.
Q4. What Are Various Phases Of Sdlc?
Answer: The generic phases of SDLC are: Requirement Gathering, System Analysis and
Design, Coding, Testing and implementation. The phases depend upon the model we choose
to develop software.
Q5. What Is Software Process Or Software Development Life Cycle (sdle)?
Answer: Software Development Life Cycle, or software process is the systematic
development of software by following every stage in the development process namely,
Requirement Gathering, System Analysis, Design, Coding, Testing, Maintenance and
Documentation in that order.
Q6. What Are Sdle Models Available?
Answer: There are several SDLC models available such as Waterfall Model, Iterative
Model, Spiral model, V-model and Big-bang Model etc.
Q7. What Is Software Project Management?
Answer: Software project management is process of managing all activities like time, cost
and quality management involved in software development.
IT/CSE/3/SE LAB (3CS4-23) Page 10
SoftwareEngineering LabManual
Q8. What Are Software
Project Estimation Techniques
Answer: There are many estimation Available?
techniques available. The most widely used are:
Decomposition tcchnique (Counting Lines of Code and Function Points)
Empiricaltechnique (Putnam and COCOMO).
Question 9. What Is Feasibility Study?
Answer: It is a measure to assess how
development will be for an organization. The practical and beneficial the software project
understand economic, technical and operationalsoftware analyzer conducts a thorough study to
feasibility of the projcct.
Economic - Resource transportation, cost for training, cost of
tools and overall estimation of costs and benefits of the project.additional utilities and
Technical - Is it possible to develop this system ? Assessing suitability
and operating system(s) on which software will ofmachine(s)
execute,
knowledge and skills, training, utilities or tools for project. existing developers
Operational - Can the organization adjust smoothly to the changes done as per the
demand of project ? Is the problem worth solving ?
Question 10. What Are Non-functional Requirements?
Answer: Non-functional requirements are implicit and are related to security, performance,
look and feel of user interface, interoperability, cost etc.
Page 10
/CSE/3/SE LAB (3CS4-23)