Uploaded by 50000thuan

working-srsP

advertisement
NOTE: This template is shareware downloaded from www.processimpact.com. All shareware
payments are donated to the Norm Kerth Benefit Fund to help a consultant who is disabled
with a brain injury. Please visit http://www.processimpact.com/norm_kerth.html to make a
shareware payment ($10 suggested). Thank you!
Software Requirements
Specification
for
<Project>
Version 1.0 approved
Prepared by <author>
<organization>
<date created>
eLearning versions of several popular Process Impact training seminars are available at
www.processimpact.com/elearning.shtml, including “In Search of Excellent
Requirements,” “Exploring User Requirements with Use Cases,” “Writing High-Quality
Requirements,” “Software Inspections and Peer Reviews,” and “Project Management
Best Practices”. Single-user and corporate-wide site licenses are both available.
Copyright © 2002 by Karl E. Wiegers. Permission is granted to use, modify, and distribute this document.
Software Requirements Specification for <Project>
Page ii
Table of Contents
Table of Contents .......................................................................................................................... ii
Revision History ............................................................................................................................ ii
1. Introduction ..............................................................................................................................1
1.1
1.2
1.3
1.4
1.5
Purpose ............................................................................................................................................ 1
Document Conventions.................................................................................................................... 1
Intended Audience and Reading Suggestions .................................................................................. 1
Project Scope ................................................................................................................................... 2
References........................................................................................................................................ 2
2. Overall Description ..................................................................................................................2
2.1
2.2
2.3
2.4
2.5
2.6
2.7
Product Perspective ......................................................................................................................... 2
Product Features .............................................................................................................................. 2
User Classes and Characteristics ..................................................................................................... 3
Operating Environment.................................................................................................................... 3
Design and Implementation Constraints .......................................................................................... 4
User Documentation ........................................................................................................................ 4
Assumptions and Dependencies ...................................................................................................... 4
3. System Features........................................................................................................................5
3.1 System Feature 1 .............................................................................................................................. 5
3.2 System Feature 2 (and so on) ........................................................................................................... 6
4. Functional Requirements Specification .................................................................................6
4.1 Usecase Diagram ................................................................. Ошибка! Закладка не определена.
4.2 Usecase List ......................................................................... Ошибка! Закладка не определена.
4.3 Usecase Description............................................................. Ошибка! Закладка не определена.
5. Other Nonfunctional Requirements .....................................................................................11
5.1
5.2
5.3
5.4
Performance Requirements ............................................................................................................ 11
Safety Requirements ...................................................................................................................... 11
Security Requirements ................................................................................................................... 11
Software Quality Attributes ........................................................................................................... 11
6. Other Requirements ..............................................................................................................11
Appendix A: Glossary..................................................................................................................11
Appendix B: Analysis Models .....................................................................................................12
Appendix C: Issues List ...............................................................................................................12
Revision History
Name
Date
Reason For Changes
Version
Software Requirements Specification for <Project>
Page 1
1. Introduction
1.1 Purpose
The purpose of a Software Requirements Specification (SRS) is to clearly and
unambiguously document the functional and non-functional requirements of a software system. The
SRS serves as a communication bridge between the project stakeholders and the development team,
providing a shared understanding of what the software system should do, how it should behave, and
what it should not do.
The SRS serves as a basis for the software development process, guiding the design,
development, testing, and maintenance of the software product. It also helps to ensure that the
software system meets the needs of its users and is of high quality, by providing a clear definition of
the software requirements that must be met.
The SRS is an important document for all stakeholders involved in the software
development process, including project sponsors, software developers, testers, and end-users. It
helps to ensure that everyone has a shared understanding of what the software system will do, and
what it will not do, and it serves as a reference throughout the software development lifecycle.
Ultimately, the SRS helps to ensure that the software system is developed on time, on budget, and to
the satisfaction of all stakeholders involved in the project.
1.2 Document Conventions
Fonts and Styles: Times New Roman
Numbering and Labeling
Priority: three-level priority system
1.3 Intended Audience and Reading Suggestions
The Intended Audience section of a Software Requirements Specification include:
1. Project Sponsors: These are the individuals or groups who are funding the software
development project. The SRS should highlight how the software system will meet
their business needs and how it will provide value to the organization.
2. Developers: These are the individuals responsible for designing and implementing
the software system. The SRS should provide clear and detailed requirements that
can be used as a basis for development.
3. Testers: These are the individuals responsible for testing the software system to
ensure that it meets the specified requirements. The SRS should provide detailed
requirements that can be used to design and execute test cases.
4. End-users: These are the individuals who will be using the software system. The SRS
should provide a clear understanding of how the software system will meet their
needs and provide a positive user experience.
5. Project Managers: These are the individuals responsible for overseeing the software
development project. The SRS should provide a clear understanding of the project
scope, timeline, and budget.
Reading Suggestions may also be included in the SRS, providing guidance on how to
approach the document and what information to focus on. These may include:
Software Requirements Specification for <Project>
Page 2
1. Overview: Start by reading the introduction and overview sections of the SRS to gain
an understanding of the software system being developed and its purpose.
2. Requirements: Focus on the requirements section, which outlines the functional and
non-functional requirements of the software system. This section provides the core
information needed to design and develop the software system.
3. Assumptions and Constraints: Pay attention to any assumptions or constraints that
may affect the requirements or development of the software system. These may
include technical, resource, or scheduling constraints.
4. Glossary: Refer to the glossary for definitions of technical terms and acronyms used
throughout the document.
1.4 Project Scope
<Provide a short description of the software being specified and its purpose, including relevant
benefits, objectives, and goals. Relate the software to corporate goals or business strategies. If a
separate vision and scope document is available, refer to it rather than duplicating its contents
here. An SRS that specifies the next release of an evolving product should contain its own scope
statement as a subset of the long-term strategic product vision.>
1.5 References
<List any other documents or Web addresses to which this SRS refers. These may include user
interface style guides, contracts, standards, system requirements specifications, use case
documents, or a vision and scope document. Provide enough information so that the reader could
access a copy of each reference, including title, author, version number, date, and source or
location.>
2. Overall Description
2.1 Product Perspective
The CRM system being specified in this SRS is a new, self-contained product that will be
developed from scratch. It is not part of an existing product family nor is it intended to replace any
existing systems. The system will be a standalone software product that will be integrated with other
business systems and processes.
The CRM system will be a critical component of the company's overall customer
engagement strategy and will provide a central repository for customer data. The system will be
designed to integrate with other systems such as marketing automation, sales forecasting, and
customer support to provide a complete picture of customer interactions and behavior.
As a standalone product, the CRM system will be designed to work with a variety of
hardware and software configurations, as well as integrate with different types of databases and
systems. It will have external interfaces with other systems, including APIs and integration with
social media platforms.
A simple diagram showing the major components of the overall system and their
interconnections can be helpful in illustrating the context and perspective of the CRM system. This
could include components such as the CRM database, marketing automation software, sales
forecasting software, and customer support software, along with any external interfaces and
connections. The diagram would help to provide a visual representation of how the CRM system fits
Software Requirements Specification for <Project>
Page 3
into the larger business ecosystem and the role it plays in managing customer interactions and
relationships.
2.2 Product Features
The CRM system being specified in this SRS will provide the following major features and
functions:
1. Customer Data Management: The system will allow users to enter, store, and manage
customer data, including contact information, demographic data, purchase history, and
communication preferences.
2. Sales Management: The system will provide tools for managing the sales process, including
lead management, opportunity tracking, and sales forecasting.
3. Marketing Automation: The system will provide marketing automation capabilities,
including email campaigns, social media engagement, and lead scoring.
4. Customer Service Management: The system will provide tools for managing customer
service interactions, including case management, ticketing, and escalation.
5. Reporting and Analytics: The system will provide a range of reporting and analytics tools,
including dashboards, data visualizations, and ad hoc reporting.
6. Integration and Customization: The system will be designed to integrate with other business
systems and processes and will provide tools for customization and configuration to meet
specific business needs.
A top-level data flow diagram or class diagram can be helpful in illustrating the major groups of
related requirements and how they relate. This would help to provide a visual representation of the
overall functionality of the CRM system and how the different features and functions are
interconnected.
2.3 User Classes and Characteristics
The following user classes are anticipated to use the CRM system being specified in this SRS:
1. Sales Representatives: These users will be responsible for managing leads, opportunities,
and sales activities. They will be heavy users of the system, accessing it daily to enter and
update data, track progress against sales targets, and generate reports. They will have a high
level of technical expertise and will require a user-friendly interface that allows them to
quickly and easily manage their sales activities.
2. Marketing Professionals: These users will be responsible for creating and executing
marketing campaigns. They will use the system to manage email campaigns, social media
engagement, and lead scoring. They will also use the system to track campaign effectiveness
and generate reports. They will have a moderate level of technical expertise and will require
an interface that allows them to easily create and manage campaigns.
3. Customer Service Representatives: These users will be responsible for managing customer
interactions and resolving customer issues. They will use the system to create and manage
customer cases, track ticket status, and escalate issues as needed. They will also use the
system to generate reports on customer service performance. They will have a moderate
level of technical expertise and will require an interface that allows them to quickly and
easily manage customer interactions.
4. System Administrators: These users will be responsible for configuring and maintaining the
CRM system. They will have full access to all system functions and will be responsible for
managing security, user roles and permissions, and system settings. They will have a high
level of technical expertise and will require an interface that allows them to easily configure
and maintain the system.
Software Requirements Specification for <Project>
Page 4
The favored user classes are Sales Representatives and Marketing Professionals, as they are the
primary users of the system and will be using it heavily. The other user classes are also important,
but may not require as much attention as the primary users.
2.4 Operating Environment
The CRM system will operate in a standard business environment, with the following hardware and
software requirements:
Hardware:
 Desktop or laptop computers with a minimum of 4GB RAM and 2.0 GHz processor speed.
 Mobile devices such as smartphones or tablets with a minimum of 2GB RAM and 1.5 GHz
processor speed.
 Internet connectivity with a minimum bandwidth of 10Mbps.
Software:
 Operating systems: Windows 10, MacOS, iOS, Android.
 Web browsers: Google Chrome, Mozilla Firefox, Microsoft Edge, Safari.
 Database management system: MySQL 8.0 or higher.
 Server technology: Apache Tomcat 9.0 or higher.
The system must peacefully coexist with other software applications used in the organization, such
as email clients, office productivity tools, and other business systems. It is assumed that the system
will be deployed in a secure environment with appropriate firewalls and access controls.
2.5 Design and Implementation Constraints
There are several design and implementation constraints that the development team must take into
consideration when developing the CRM system. These constraints include:
1. Hardware limitations: The system must be designed to operate on the minimum hardware
specifications outlined in the operating environment section. Developers must ensure that
the system's functionality is not compromised by hardware limitations such as memory or
processing power.
2. Technology constraints: The system must be built using Apache Tomcat and MySQL
database management system. Developers must also use Java programming language.
3. Security considerations: The system must be designed with security in mind. This includes
secure login and authentication procedures, access control mechanisms, and encryption of
sensitive data.
4. Regulatory policies: The system must comply with any applicable regulatory policies or
guidelines, such as GDPR and HIPAA.
5. Design conventions and programming standards: The development team must follow design
conventions and programming standards established by the customer's organization. These
standards will ensure that the system is maintainable by the customer's organization after
deployment.
6. Interface with other applications: The system must be designed to interface with other
applications used in the organization, such as email clients and office productivity tools.
The development team must take these constraints into consideration when designing and
implementing the CRM system. Failure to do so may result in an ineffective or non-compliant
system.
2.6 User Documentation
The following user documentation components will be delivered along with the CRM software:
Software Requirements Specification for <Project>
Page 5
1. User manual: A comprehensive user manual will be provided in both electronic and
hardcopy formats. The manual will provide step-by-step instructions on how to use the CRM
software, including how to perform common tasks, how to navigate the user interface, and
how to troubleshoot common issues.
2. Online help: The CRM software will include an online help system accessible from within
the application. The online help system will provide context-sensitive help to users, allowing
them to quickly find information about the task they are performing.
3. Tutorials: The CRM software will include a set of interactive tutorials designed to help users
get started with the application. The tutorials will walk users through common tasks,
allowing them to become familiar with the application's features and functionality.
All user documentation will be delivered in English and will comply with the customer's
organization's documentation standards. The electronic versions of the user manual and online help
system will be provided in HTML format and will be accessible from any web browser.
2.7 Assumptions and Dependencies
Assumptions:
 The users have basic knowledge of computer operation and the software will not provide any
additional training.
 The software will be developed using Java programming language.
 The hardware and software environment will be available for testing and implementation as
specified in the Operating Environment section.
 The software will comply with all relevant laws and regulations.
 The project team will have access to all necessary resources, including hardware, software,
and personnel.
 The user interface design will be approved by the stakeholders before implementation.
Dependencies:
 The software will use a third-party library for data encryption.
 The database schema will be provided by the client and will be used as the basis for the
software's data storage.
 The software will integrate with a third-party authentication service for user login and access
control.
 The software will use a messaging service for communication between users.
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.>
3.1 System Feature 1
<Don’t really say “System Feature 1.” State the feature name in just a few words.>
3.1.1
Description and Priority
<Provide a short description of the feature and indicate whether it is of High,
Medium, or Low priority. You could also include specific priority component ratings,
such as benefit, penalty, cost, and risk (each rated on a relative scale from a low of 1
to a high of 9).>
Software Requirements Specification for <Project>
3.1.2
Page 6
Stimulus/Response Sequences
<List the sequences of user actions and system responses that stimulate the
behavior defined for this feature. These will correspond to the dialog elements
associated with use cases.>
3.1.3
Functional Requirements
<Itemize the detailed functional requirements associated with this feature. These are
the software capabilities that must be present in order for the user to carry out the
services provided by the feature, or to execute the use case. Include how the
product should respond to anticipated error conditions or invalid inputs.
Requirements should be concise, complete, unambiguous, verifiable, and necessary.
Use “TBD” as a placeholder to indicate when necessary information is not yet
available.>
<Each requirement should be uniquely identified with a sequence number or a
meaningful tag of some kind.>
REQ-1:
REQ-2:
3.2 System Feature 2 (and so on)
4. Functional Requirements Specification
Software Requirements Specification for <Project>
Page 7
4.1 Usecase Diagram
Figure : Usecase Diagram
4.2 Usecase Diagram
<Describe the logical and physical characteristics of each 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.>
ID
Actor
UC-1
New Customer
UC-2
Register Customer
Name
Use case writer
Register
Register Login
Sussychrist
Assign To
Software Requirements Specification for <Project>
UC-3
Admin
Register Customer,
UC-4
Admin
Admin Login
Page 8
Sussychrist
Logout
Add customer and manager
UC-5
Admin
UC-6
Admin
UC-7
Admin
UC-8
Admin
UC-9
Admin
UC-10
Manager
Add order in system
Sussychrist
UC-11
Manager
Delete order in system
Sussychrist
UC-12
Manager
Edit order in system
Sussychrist
UC-13
Manager
View order in system
Sussychrist
UC-14
Manager
Search order in system
UC-15
Manager
Add product in system
UC-16
Manager
Deletet product in system
UC-17
Manager
Edit product in system
UC-18
Manager
View product in system
UC-19
Manager
Search product in system
account
Delete customer and manager
account
Edit customer and manager
account
View customer and manager
account
Search customer and manager
account
Registed
UC-20
Customer, New
Customer
Search product
Sussychrist
Sussychrist
Sussychrist
Sussychrist
Sussychrist
Software Requirements Specification for <Project>
UC-21
Registed Customer
Display bill
UC-22
Registed Customer
Payment
UC-23
Registed Customer
Add product to cart
4.3 Usecase Description
4.3.1 Login
Use case ID
UC-1
Use case name Register
Created by
Sussychrist
Actor
Register Customer, Admin
This function allows:
Description
Admin to login in the Account’s database
Register Customer to login in the website with phone number
Trigger
N/A
Post
conditions
New Customer have a phone number
Main flows
1. New Customer opens Website, fills in Phone number,
personal information and taps Register in Account.
Normal flow
2. System sends a message with OTP code and move to
confirm screen.
3. New Customer fills in confirm input with OTP code
4. Website will automatically move to Home screen
Alternative
flow
N/A
Priority
High.
Frequency of
use
High.
Page 9
Software Requirements Specification for <Project>
Other inf.
N/A.
Assumptions
N/A.
Page 10
Table :
4.3.2 Login
Use case ID
UC-2
Use case name Login
Created by
Sussychrist
Actor
New Customer
Description
This function allows New Customer to register the website with
phone number
Trigger
N/A
Post
conditions
New Customer have a phone number
Main flows
5. New Customer opens Website, fills in Phone number,
personal information and taps Register in Account.
Normal flow
6. System sends a message with OTP code and move to
confirm screen.
7. New Customer fills in confirm input with OTP code
8. Website will automatically move to Home screen
Alternative
flow
N/A
Priority
High.
Frequency of
use
High.
Other inf.
N/A.
Assumptions
N/A.
Software Requirements Specification for <Project>
Page 11
5. Other Nonfunctional Requirements
5.1 Performance Requirements
<If there are performance requirements for the product under various circumstances, state them
here and explain their rationale, to help the developers understand the intent and make suitable
design choices. Specify the timing relationships for real time systems. Make such requirements as
specific as possible. You may need to state performance requirements for individual functional
requirements or features.>
5.2 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 taken, as well as
actions that must be prevented. Refer to any external policies or regulations that state safety
issues that affect the product’s design or use. Define any safety certifications that must be
satisfied.>
5.3 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.>
5.4 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.>
6. 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.>
Appendix A: Glossary
<Define all the terms necessary to properly interpret the SRS, including acronyms and
abbreviations. You may wish to build a separate glossary that spans multiple projects or the entire
organization, and just include terms specific to a single project in each SRS.>
Software Requirements Specification for <Project>
Page 12
Appendix B: Analysis Models
<Optionally, include any pertinent analysis models, such as data flow diagrams, class diagrams,
state-transition diagrams, or entity-relationship diagrams.>
Appendix C: Issues List
< This is a dynamic list of the open requirements issues that remain to be resolved, including
TBDs, pending decisions, information that is needed, conflicts awaiting resolution, and the like.>
Download