This document discusses requirement specification and system requirement specification (SRS) documents. It explains that SRS documents help avoid disputes by clearly outlining customer requirements. The document then provides templates for SRS documents, including sections for requirements gathering and analysis, functional requirements, non-functional requirements, and interface requirements. An example of functional requirements for an automated teller machine is also presented.
The document discusses key aspects of developing a software requirements specification (SRS) document. It notes that the SRS serves as a contract between developers and customers, detailing functional and non-functional requirements without specifying solutions. An effective SRS is unambiguous, complete, verifiable, consistent, modifiable, traceable and usable for subsequent development and maintenance phases. The document provides examples of both good and bad SRS qualities.
This document provides an overview of requirements engineering concepts from lectures 7 and 8, including:
1. It defines software requirements according to IEEE standards and discusses the requirements engineering process.
2. It outlines the different types of requirements like functional, non-functional, user, and system requirements and provides examples.
3. It explains the importance of requirements for stakeholders like customers, project managers, engineers and testers and why comprehensive requirements are needed.
The document discusses software requirements including functional and non-functional requirements, user requirements, system requirements, and the software requirements document. It describes the requirement engineering process, types of requirements, and issues with requirements. It also provides details on how to specify and document requirements.
The document discusses software engineering requirements analysis and specification. It covers topics like software requirements types (functional and non-functional), requirement engineering process, feasibility studies, requirements elicitation and analysis. The requirement engineering process involves activities like requirements discovery, analysis, specification, validation and management. It also discusses preparing a software requirements document that defines system specifications.
This document provides information about system engineering. It defines system engineering as an approach to design, implement, and evaluate complex systems. It lists several jobs that system engineers can have, such as system engineer, safety engineer, and space craft system engineer. It describes some of the duties of system engineers, which include ensuring everything works properly, creating new ideas, and coordinating with others. The document discusses elements of computer-based systems, including software, hardware, people, databases, documentation, and procedures. It also covers topics like system modeling, business process engineering, system architectures, product engineering, and requirements engineering.
The document discusses software requirements and how they should be organized and specified. It covers the following key points:
- Requirements can be functional or non-functional, describing what the system should do or constraints on the system.
- Requirements should be specified at different levels of detail for different audiences, from high-level user requirements to more detailed system requirements.
- Natural language has limitations for specifying requirements precisely, so structured techniques like templates, tables and diagrams are recommended.
- Requirements must be complete, consistent, unambiguous and verifiable to form a valid requirements specification.
The document discusses key aspects of developing a software requirements specification (SRS) document. It notes that the SRS serves as a contract between developers and customers, detailing functional and non-functional requirements without specifying solutions. An effective SRS is unambiguous, complete, verifiable, consistent, modifiable, traceable and usable for subsequent development and maintenance phases. The document provides examples of both good and bad SRS qualities.
This document provides an overview of requirements engineering concepts from lectures 7 and 8, including:
1. It defines software requirements according to IEEE standards and discusses the requirements engineering process.
2. It outlines the different types of requirements like functional, non-functional, user, and system requirements and provides examples.
3. It explains the importance of requirements for stakeholders like customers, project managers, engineers and testers and why comprehensive requirements are needed.
The document discusses software requirements including functional and non-functional requirements, user requirements, system requirements, and the software requirements document. It describes the requirement engineering process, types of requirements, and issues with requirements. It also provides details on how to specify and document requirements.
The document discusses software engineering requirements analysis and specification. It covers topics like software requirements types (functional and non-functional), requirement engineering process, feasibility studies, requirements elicitation and analysis. The requirement engineering process involves activities like requirements discovery, analysis, specification, validation and management. It also discusses preparing a software requirements document that defines system specifications.
This document provides information about system engineering. It defines system engineering as an approach to design, implement, and evaluate complex systems. It lists several jobs that system engineers can have, such as system engineer, safety engineer, and space craft system engineer. It describes some of the duties of system engineers, which include ensuring everything works properly, creating new ideas, and coordinating with others. The document discusses elements of computer-based systems, including software, hardware, people, databases, documentation, and procedures. It also covers topics like system modeling, business process engineering, system architectures, product engineering, and requirements engineering.
The document discusses software requirements and how they should be organized and specified. It covers the following key points:
- Requirements can be functional or non-functional, describing what the system should do or constraints on the system.
- Requirements should be specified at different levels of detail for different audiences, from high-level user requirements to more detailed system requirements.
- Natural language has limitations for specifying requirements precisely, so structured techniques like templates, tables and diagrams are recommended.
- Requirements must be complete, consistent, unambiguous and verifiable to form a valid requirements specification.
The document discusses requirements engineering for software development. It defines requirements engineering, outlines the requirements engineering process, and describes key requirements documents like the software requirements specification. It also covers topics like requirements attributes, validation, management, and traceability.
The document discusses software requirement specifications (SRS), including what an SRS is, when it is useful, and an outline for an SRS template. Some key points:
- An SRS formally defines the requirements for software that is to be developed. It serves as a contract between developers and customers.
- The SRS describes functional and non-functional requirements, interfaces, design constraints, and other aspects of the software without specifying solutions.
- A good SRS template includes sections for introduction, overall description, specific requirements, and appendices. It provides a standardized way to document requirements.
The document discusses software requirements and requirements engineering. It covers what requirements are, different types of requirements like user requirements and system requirements, and how requirements are specified. Functional and non-functional requirements are described as well as common challenges in requirements engineering like ambiguity, incompleteness, and consistency issues. Different methods for specifying requirements formally are also presented, including structured natural language, forms-based approaches, and programming language-based definitions.
The document discusses software requirements and requirements engineering. It covers what requirements are, different types of requirements like user requirements, system requirements and software specifications. It also discusses functional and non-functional requirements, problems with natural language requirements specifications, and guidelines for writing requirements. The intended readers of different types of requirements are also outlined.
The document discusses software requirements analysis and specification. It emphasizes that identifying requirements is critical but difficult, especially for large problems. The requirements phase aims to translate user needs into a formal Software Requirements Specification (SRS) document. A good SRS is important for developing high-quality software by reducing errors and costs. It establishes agreement between users and developers.
The document discusses software requirements and requirements engineering. It covers topics such as functional and non-functional requirements, user requirements, system requirements, and how requirements can be organized in a requirements document. Key points made include defining the difference between functional and non-functional requirements, how user requirements should be at a high level while system requirements provide more detail, and common challenges in writing requirements like ambiguity and inconsistency.
In systems engineering and software engineering, requirements analysis encompasses those tasks that go into determining the needs or conditions to meet for a new or altered product or project, taking account of the possibly conflicting requirements of the various stakeholders, analyzing, documenting, validating and managing software or system requirements.
The document provides an overview of requirements analysis and specification for software engineering projects. It discusses why requirements analysis is important, the typical activities involved which include gathering, analyzing, and documenting requirements. It describes what requirements are, the need for an SRS document, and covers topics like functional and non-functional requirements, examples of each, and standards for documenting requirements like the IEEE 830 standard.
The document discusses requirements analysis and specification in software engineering. It defines what requirements are and explains the typical activities involved - requirements gathering, analysis, and specification. The importance of documenting requirements in a Software Requirements Specification (SRS) document is explained. Key sections of an SRS like stakeholders, types of requirements (functional and non-functional), and examples are covered. Special attention is given to requirements for critical systems and importance of non-functional requirements.
The document discusses different types of software requirements including functional requirements, non-functional requirements, domain requirements, and user requirements. It also covers software requirements analysis process and different models used in analysis including structured analysis and object-oriented analysis. Key topics covered are functional vs non-functional requirements, domain analysis, data modeling, and structured vs object-oriented analysis approaches.
The document provides an overview of requirements for developing a software system specification (SRS), including:
1) Identifying and specifying requirements is difficult, especially for large scale systems, and involves understanding user needs and precisely stating what the future system will do.
2) An SRS is needed to establish agreement between users and developers on what the system should do, provide a reference for validation, and help reduce costs.
3) Key components of an SRS include an introduction describing purpose, scope, and organization, as well as sections for overall description, specific requirements, external interfaces, functions, and performance requirements.
The document discusses software requirements and requirements engineering. It defines requirements as descriptions of the services a software system must provide and constraints it must operate under. Requirements can range from abstract statements to detailed specifications. Requirements engineering is the process of establishing customer requirements and constraints. Requirements documents serve to define customer needs for contractors to bid on projects and form the basis of development contracts.
The document discusses requirements engineering and provides examples of different types of requirements. It defines requirements engineering as the process of establishing customer requirements and constraints for a system. There are two main types of requirements - functional requirements which describe system services, and non-functional requirements which define constraints like timing or development process standards. Non-functional requirements can impact system architecture. Requirements need to be precise, complete, and consistent to avoid ambiguity and conflicts during development. The operational domain of a system also imposes domain requirements that must be satisfied.
The document provides an introduction to requirements engineering and system requirements. It discusses the importance of requirements engineering in the broader systems engineering process. Requirements engineering involves developing requirements documents that define what a system must do and its constraints. Key challenges include ensuring requirements accurately reflect customer needs and avoiding inconsistencies or misunderstandings.
Software project management requirements analysisAntony Alex
The document discusses requirements analysis for software engineering. It provides 3 key points:
1. Requirements analysis bridges the gap between system requirements engineering and software design by providing a model of the system's information, functions, and behavior to guide design.
2. The purpose is to obtain a thorough understanding of business needs and break them down into clearly defined and agreed upon requirements. This establishes the framework to guide future design and development.
3. The primary goal is to create a detailed functional specification defining all system capabilities and accompanying data and process models, illustrating information managed and processes supported by the new system.
The document discusses software requirement analysis and specification. It describes determining user and stakeholder needs, defining functional and non-functional requirements, and requirement types like performance and quality attributes. Requirements must be testable and related to business needs. The analysis process involves defining user and stakeholder profiles, environments, and use cases. Common techniques for organizing requirements include functional hierarchies, data flow diagrams, and use case diagrams. The software requirements specification fully defines system behavior.
This document provides an overview of a requirements specification (SRS) for a software engineering project. It defines what an SRS is, its purpose, types of requirements it should include, its typical structure, characteristics of a good SRS, and benefits of developing an SRS. The SRS is intended to clearly define the requirements for a software product to guide its design and development.
Requirement engineering is the process of understanding a client's needs, documenting software requirements, and ensuring the final product meets the client's expectations. It involves eliciting requirements from stakeholders, analyzing and specifying the requirements, and managing changes. The key outputs are a software requirements specification document that formally defines functional and non-functional requirements, and a common understanding between developers and clients.
The document discusses requirements engineering for software development. It defines requirements engineering, outlines the requirements engineering process, and describes key requirements documents like the software requirements specification. It also covers topics like requirements attributes, validation, management, and traceability.
The document discusses software requirement specifications (SRS), including what an SRS is, when it is useful, and an outline for an SRS template. Some key points:
- An SRS formally defines the requirements for software that is to be developed. It serves as a contract between developers and customers.
- The SRS describes functional and non-functional requirements, interfaces, design constraints, and other aspects of the software without specifying solutions.
- A good SRS template includes sections for introduction, overall description, specific requirements, and appendices. It provides a standardized way to document requirements.
The document discusses software requirements and requirements engineering. It covers what requirements are, different types of requirements like user requirements and system requirements, and how requirements are specified. Functional and non-functional requirements are described as well as common challenges in requirements engineering like ambiguity, incompleteness, and consistency issues. Different methods for specifying requirements formally are also presented, including structured natural language, forms-based approaches, and programming language-based definitions.
The document discusses software requirements and requirements engineering. It covers what requirements are, different types of requirements like user requirements, system requirements and software specifications. It also discusses functional and non-functional requirements, problems with natural language requirements specifications, and guidelines for writing requirements. The intended readers of different types of requirements are also outlined.
The document discusses software requirements analysis and specification. It emphasizes that identifying requirements is critical but difficult, especially for large problems. The requirements phase aims to translate user needs into a formal Software Requirements Specification (SRS) document. A good SRS is important for developing high-quality software by reducing errors and costs. It establishes agreement between users and developers.
The document discusses software requirements and requirements engineering. It covers topics such as functional and non-functional requirements, user requirements, system requirements, and how requirements can be organized in a requirements document. Key points made include defining the difference between functional and non-functional requirements, how user requirements should be at a high level while system requirements provide more detail, and common challenges in writing requirements like ambiguity and inconsistency.
In systems engineering and software engineering, requirements analysis encompasses those tasks that go into determining the needs or conditions to meet for a new or altered product or project, taking account of the possibly conflicting requirements of the various stakeholders, analyzing, documenting, validating and managing software or system requirements.
The document provides an overview of requirements analysis and specification for software engineering projects. It discusses why requirements analysis is important, the typical activities involved which include gathering, analyzing, and documenting requirements. It describes what requirements are, the need for an SRS document, and covers topics like functional and non-functional requirements, examples of each, and standards for documenting requirements like the IEEE 830 standard.
The document discusses requirements analysis and specification in software engineering. It defines what requirements are and explains the typical activities involved - requirements gathering, analysis, and specification. The importance of documenting requirements in a Software Requirements Specification (SRS) document is explained. Key sections of an SRS like stakeholders, types of requirements (functional and non-functional), and examples are covered. Special attention is given to requirements for critical systems and importance of non-functional requirements.
The document discusses different types of software requirements including functional requirements, non-functional requirements, domain requirements, and user requirements. It also covers software requirements analysis process and different models used in analysis including structured analysis and object-oriented analysis. Key topics covered are functional vs non-functional requirements, domain analysis, data modeling, and structured vs object-oriented analysis approaches.
The document provides an overview of requirements for developing a software system specification (SRS), including:
1) Identifying and specifying requirements is difficult, especially for large scale systems, and involves understanding user needs and precisely stating what the future system will do.
2) An SRS is needed to establish agreement between users and developers on what the system should do, provide a reference for validation, and help reduce costs.
3) Key components of an SRS include an introduction describing purpose, scope, and organization, as well as sections for overall description, specific requirements, external interfaces, functions, and performance requirements.
The document discusses software requirements and requirements engineering. It defines requirements as descriptions of the services a software system must provide and constraints it must operate under. Requirements can range from abstract statements to detailed specifications. Requirements engineering is the process of establishing customer requirements and constraints. Requirements documents serve to define customer needs for contractors to bid on projects and form the basis of development contracts.
The document discusses requirements engineering and provides examples of different types of requirements. It defines requirements engineering as the process of establishing customer requirements and constraints for a system. There are two main types of requirements - functional requirements which describe system services, and non-functional requirements which define constraints like timing or development process standards. Non-functional requirements can impact system architecture. Requirements need to be precise, complete, and consistent to avoid ambiguity and conflicts during development. The operational domain of a system also imposes domain requirements that must be satisfied.
The document provides an introduction to requirements engineering and system requirements. It discusses the importance of requirements engineering in the broader systems engineering process. Requirements engineering involves developing requirements documents that define what a system must do and its constraints. Key challenges include ensuring requirements accurately reflect customer needs and avoiding inconsistencies or misunderstandings.
Software project management requirements analysisAntony Alex
The document discusses requirements analysis for software engineering. It provides 3 key points:
1. Requirements analysis bridges the gap between system requirements engineering and software design by providing a model of the system's information, functions, and behavior to guide design.
2. The purpose is to obtain a thorough understanding of business needs and break them down into clearly defined and agreed upon requirements. This establishes the framework to guide future design and development.
3. The primary goal is to create a detailed functional specification defining all system capabilities and accompanying data and process models, illustrating information managed and processes supported by the new system.
The document discusses software requirement analysis and specification. It describes determining user and stakeholder needs, defining functional and non-functional requirements, and requirement types like performance and quality attributes. Requirements must be testable and related to business needs. The analysis process involves defining user and stakeholder profiles, environments, and use cases. Common techniques for organizing requirements include functional hierarchies, data flow diagrams, and use case diagrams. The software requirements specification fully defines system behavior.
This document provides an overview of a requirements specification (SRS) for a software engineering project. It defines what an SRS is, its purpose, types of requirements it should include, its typical structure, characteristics of a good SRS, and benefits of developing an SRS. The SRS is intended to clearly define the requirements for a software product to guide its design and development.
Requirement engineering is the process of understanding a client's needs, documenting software requirements, and ensuring the final product meets the client's expectations. It involves eliciting requirements from stakeholders, analyzing and specifying the requirements, and managing changes. The key outputs are a software requirements specification document that formally defines functional and non-functional requirements, and a common understanding between developers and clients.
Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...shadow0702a
This document serves as a comprehensive step-by-step guide on how to effectively use PyCharm for remote debugging of the Windows Subsystem for Linux (WSL) on a local Windows machine. It meticulously outlines several critical steps in the process, starting with the crucial task of enabling permissions, followed by the installation and configuration of WSL.
The guide then proceeds to explain how to set up the SSH service within the WSL environment, an integral part of the process. Alongside this, it also provides detailed instructions on how to modify the inbound rules of the Windows firewall to facilitate the process, ensuring that there are no connectivity issues that could potentially hinder the debugging process.
The document further emphasizes on the importance of checking the connection between the Windows and WSL environments, providing instructions on how to ensure that the connection is optimal and ready for remote debugging.
It also offers an in-depth guide on how to configure the WSL interpreter and files within the PyCharm environment. This is essential for ensuring that the debugging process is set up correctly and that the program can be run effectively within the WSL terminal.
Additionally, the document provides guidance on how to set up breakpoints for debugging, a fundamental aspect of the debugging process which allows the developer to stop the execution of their code at certain points and inspect their program at those stages.
Finally, the document concludes by providing a link to a reference blog. This blog offers additional information and guidance on configuring the remote Python interpreter in PyCharm, providing the reader with a well-rounded understanding of the process.
An improved modulation technique suitable for a three level flying capacitor ...IJECEIAES
This research paper introduces an innovative modulation technique for controlling a 3-level flying capacitor multilevel inverter (FCMLI), aiming to streamline the modulation process in contrast to conventional methods. The proposed
simplified modulation technique paves the way for more straightforward and
efficient control of multilevel inverters, enabling their widespread adoption and
integration into modern power electronic systems. Through the amalgamation of
sinusoidal pulse width modulation (SPWM) with a high-frequency square wave
pulse, this controlling technique attains energy equilibrium across the coupling
capacitor. The modulation scheme incorporates a simplified switching pattern
and a decreased count of voltage references, thereby simplifying the control
algorithm.
Introduction- e - waste – definition - sources of e-waste– hazardous substances in e-waste - effects of e-waste on environment and human health- need for e-waste management– e-waste handling rules - waste minimization techniques for managing e-waste – recycling of e-waste - disposal treatment methods of e- waste – mechanism of extraction of precious metal from leaching solution-global Scenario of E-waste – E-waste in India- case studies.
Software Engineering and Project Management - Introduction, Modeling Concepts...Prakhyath Rai
Introduction, Modeling Concepts and Class Modeling: What is Object orientation? What is OO development? OO Themes; Evidence for usefulness of OO development; OO modeling history. Modeling
as Design technique: Modeling, abstraction, The Three models. Class Modeling: Object and Class Concept, Link and associations concepts, Generalization and Inheritance, A sample class model, Navigation of class models, and UML diagrams
Building the Analysis Models: Requirement Analysis, Analysis Model Approaches, Data modeling Concepts, Object Oriented Analysis, Scenario-Based Modeling, Flow-Oriented Modeling, class Based Modeling, Creating a Behavioral Model.
Electric vehicle and photovoltaic advanced roles in enhancing the financial p...IJECEIAES
Climate change's impact on the planet forced the United Nations and governments to promote green energies and electric transportation. The deployments of photovoltaic (PV) and electric vehicle (EV) systems gained stronger momentum due to their numerous advantages over fossil fuel types. The advantages go beyond sustainability to reach financial support and stability. The work in this paper introduces the hybrid system between PV and EV to support industrial and commercial plants. This paper covers the theoretical framework of the proposed hybrid system including the required equation to complete the cost analysis when PV and EV are present. In addition, the proposed design diagram which sets the priorities and requirements of the system is presented. The proposed approach allows setup to advance their power stability, especially during power outages. The presented information supports researchers and plant owners to complete the necessary analysis while promoting the deployment of clean energy. The result of a case study that represents a dairy milk farmer supports the theoretical works and highlights its advanced benefits to existing plants. The short return on investment of the proposed approach supports the paper's novelty approach for the sustainable electrical system. In addition, the proposed system allows for an isolated power setup without the need for a transmission line which enhances the safety of the electrical network
Discover the latest insights on Data Driven Maintenance with our comprehensive webinar presentation. Learn about traditional maintenance challenges, the right approach to utilizing data, and the benefits of adopting a Data Driven Maintenance strategy. Explore real-world examples, industry best practices, and innovative solutions like FMECA and the D3M model. This presentation, led by expert Jules Oudmans, is essential for asset owners looking to optimize their maintenance processes and leverage digital technologies for improved efficiency and performance. Download now to stay ahead in the evolving maintenance landscape.
Batteries -Introduction – Types of Batteries – discharging and charging of battery - characteristics of battery –battery rating- various tests on battery- – Primary battery: silver button cell- Secondary battery :Ni-Cd battery-modern battery: lithium ion battery-maintenance of batteries-choices of batteries for electric vehicle applications.
Fuel Cells: Introduction- importance and classification of fuel cells - description, principle, components, applications of fuel cells: H2-O2 fuel cell, alkaline fuel cell, molten carbonate fuel cell and direct methanol fuel cells.
Comparative analysis between traditional aquaponics and reconstructed aquapon...bijceesjournal
The aquaponic system of planting is a method that does not require soil usage. It is a method that only needs water, fish, lava rocks (a substitute for soil), and plants. Aquaponic systems are sustainable and environmentally friendly. Its use not only helps to plant in small spaces but also helps reduce artificial chemical use and minimizes excess water use, as aquaponics consumes 90% less water than soil-based gardening. The study applied a descriptive and experimental design to assess and compare conventional and reconstructed aquaponic methods for reproducing tomatoes. The researchers created an observation checklist to determine the significant factors of the study. The study aims to determine the significant difference between traditional aquaponics and reconstructed aquaponics systems propagating tomatoes in terms of height, weight, girth, and number of fruits. The reconstructed aquaponics system’s higher growth yield results in a much more nourished crop than the traditional aquaponics system. It is superior in its number of fruits, height, weight, and girth measurement. Moreover, the reconstructed aquaponics system is proven to eliminate all the hindrances present in the traditional aquaponics system, which are overcrowding of fish, algae growth, pest problems, contaminated water, and dead fish.
2. Lecture #2
• System Requirement Specification (SRS)
• SRS Document Template
Software Engineering (CS20006)
Spring 2020 @DSamanta
2
3. System Requirement Specification
• Objectives:
– Understanding the precise requirement of the
customers
• Avoids bitter developer-customer disputes
• Legal battle, timely payment
– Requirements documentation
• Several contractors can bid for the contract, offering,
perhaps, different ways of meeting the customer’s need
• To avoid number of iterative changes during the
development life cycle
Software Engineering (CS20006)
Spring 2020 @DSamanta
3
4. Requirement Engineering
• Requirements for a system are the description
of the services provided by the system and its
operational constraints
• The process of finding out, analyzing,
documenting and checking these services and
constraints is called Requirements Engineering
Software Engineering (CS20006)
Spring 2020 @DSamanta
4
5. Requirement Engineering
Activities:
– Requirement gathering and analysis
– Requirement specification
Note: SRS activities are carried out by System
Analysts
Software Engineering (CS20006)
Spring 2020 @DSamanta
5
6. Requirement Gathering and Analysis
• Requirements gathering
What is the problem?
Why it is important to solve the problem?
What are the possible solutions to the problem?
What exactly are the input to the system and what exactly are the
output required from the system?
What are the likely complexities that might arise while solving the
problem?
If there are external software or hardware with which the developed
software has to interface, then what exactly would the data interchange
formats with the external system be?
Software Engineering (CS20006)
Spring 2020 @DSamanta
6
7. Requirement Gathering and Analysis
• Requirements analysis
– Resolve anomaly/ambiguity in the requirement (customer)
• e.g. Distributed system without the specification of network
protocols
– Resolve the contradiction in requirement
• e.g. OODBMS and SQL query, faster execution with lesser
memory requirement
– Resolve incompleteness
• Overlooked in some requirements
Software Engineering (CS20006)
Spring 2020 @DSamanta
7
8. Requirements Specification
• User requirements
– High level abstract requirement
• Are statements, in a natural language plus diagrams, of what services the
system is expected to provide and the constraints under which it must
operate
• System requirements
– Detailed description of what the system should do
– Set out the system’s functions, services and operational constraints
• Functional requirements
• Non-functional requirements
• Interface requirements
Software Engineering (CS20006)
Spring 2020 @DSamanta
8
9. Functional Requirements
• Functional system requirements describe the system
function in detail, its inputs and outputs, exceptions,
and so on
• It should be
– Complete
• All services required by the user should be defined
– Consistent
• Requirements should not have contradictory definitions
Software Engineering (CS20006)
Spring 2020 @DSamanta
9
10. An Example: ATM
• Case Study: Automated Teller Machine
Software Engineering (CS20006)
Spring 2020 @DSamanta
10
12. ATM: Withdraw Cash
Select
Withdraw Cash
Dispaly
Account Type Menu
Enter
Option
Prompt
Amount to be withdrawn
Enter
Amount
Check
Validity of input
Display
Current Balance
Check
Transaction Request
Dispaly
Changed Balance
Software Engineering (CS20006)
Spring 2020 @DSamanta
12
13. ATM: Withdraw Cash
F1: Withdraw Cash
Description: Determines the type of accounts, amount to be withdrawn,
valid transaction
F1.1: Select Withdraw Cash
Input: Withdraw Cash Option
Output: Prompt to enter Account Type
F1.2: Select Account Type
Input: User Option
Output: Prompt to enter Amount
F1.3: Read Amount
Input: Amount to be withdrawn (within a range)
Output: Processing for “Valid Transaction” with requested cash and
printed transaction OR “Failed Transaction” with regret
message
Software Engineering (CS20006)
Spring 2020 @DSamanta
13
14. Non-Functional Requirements
• Nonfunctional requirements deal with the characteristics of the
system that cannot be expressed as functions
• Examples:
– Maintainability
– Portability
– Usability
– Reliability issues
– Accuracy of results
– Human-computer interface issues
– Constraints on the system implementation
Many more .....
Software Engineering (CS20006)
Spring 2020 @DSamanta
14
19. Interface Requirements
• Different interface for different functionality in
the system
– Specified with user’s level of understanding
– GUI or Command based
– With HCI perspective
Software Engineering (CS20006)
Spring 2020 @DSamanta
19
21. Importance of SRS Document
• Systematic organization of all the requirements
• Cater to the needs of a wide variety of audience
– Users, customers, marketing personnel
– Software developers
– Test engineers
– User documentation writers
– Project managers
– Maintenance engineers
Software Engineering (CS20006)
Spring 2020 @DSamanta
21
22. SRS Document Template
SRS Document
Preface
System evolution
System model
System architecture
User requirement definition
Glossary
Introduction
System requirements definition
Appendices
Index
Software Engineering (CS20006)
Spring 2020 @DSamanta
22
23. SRS Document Template
Chapter Description
Preface This defines the expected readership of the document and
describes its version history, including a rationale for the creation
of a new version and a summary of the changes made in each
version.
Introduction This describes the need for the system. It should briefly describe
its function and explain how it will work with other systems. It
describes how the system fits into the overall business or strategic
objective of the organization.
Glossary This defines the technical terms used in the document. Author
should not make assumptions about the experience or expertise of
the reader.
User requirements
definition
This defines the service provided for the user. User natural
language, diagrams or other notations those are easy to
understand by the customers.
Software Engineering (CS20006)
Spring 2020 @DSamanta
23
24. SRS Document Template (Cont’d)
Chapter Description
System architecture This describes a high level overview of the anticipated system
architecture showing the distribution of functions across system
modules.
System
requirements
definition
This describes the functional and non-functional requirements in
more detail.
System model This describes the object models, data-flow models, semantic
models etc.
System evolution This describes the fundamental assumptions on which the system
is based and anticipated changes due to hardware evaluation,
changing user needs, etc.
Appendices This includes specific detailed information related to the system.
Index Several indexes to the document may be included. As well as a
normal alphabetic index, there may be an index of diagrams, an
index of functions, etc.
Software Engineering (CS20006)
Spring 2020 @DSamanta
24
25. IEEE Standard of SRS Document
For the IEEE Standard (1998) of SRS Document
preparation, see the link below:
http://www.facweb.iitkgp.ernet.in/~dsamanta
Software Engineering (CS20006)
Spring 2020 @DSamanta
25
26. Problems to Ponder
• Why SRS document is often touted as a “Black
Box” document?
• “SRS document should be a flexible
document” - Agree or disagree the comment
• SRS can be taken as a legal document for the
customer as well as the developer - Justify
Software Engineering (CS20006)
Spring 2020 @DSamanta
26
27. Problems to Ponder
• How Requirement Engineering is related to
process development models?
• How Requirement Engineering is related to
software quality?
• How RE takes place in Agile software
development environment?
Software Engineering (CS20006)
Spring 2020 @DSamanta
27