Software Requirements Specification for PEW
Page 1
Software Requirements
Specification
for
Publicity Email WebApp (PEW)
Version 1.0 approved
Prepared by: Giselle Colon
Stanislav Gravchikov
Matthew Kincheloe
Kenton Standard
Chillax
9/16/2015
Software Requirements Specification for PEW
Page 2
Table of Contents
Table of Contents
Revision History
1. Introduction
1.1 Purpose and Scope
1.2 Definitions, Acronyms and Abbreviations
1.3 References
1.4 Overview
2. Overall Description
2.1 Product Functions
2.2 User Classes and Characteristics
2.3 Constraints
2.4 Assumptions and Dependencies
3. Specific requirements
3.1 External Interface Requirements
3.1.1 User Interfaces
3.1.2 Hardware Interfaces
3.1.3 Software Interfaces
3.1.4 Communications Interfaces
3.2 Functional requirements
3.2.1 Search Function
3.2.2 Calendar Function
3.3 Performance Requirements
3.4 Software System Attributes
3.4.1 Availability
3.4.2 Security
3.4.3 Maintainability
3.5 Design constraints
3.5.1 Standards Compliance
3.5.2 Hardware Limitations
Appendix A: Issues List
Revision History
Name Date Reason For Changes Version
Stan Gravchikov 9-16-14 Section 1, 2.2, 3.1.1, 3.2 - Initialization. 1.0
Matthew 9-16-14 Section 2, Initialization 1.0
Kincheloe
Giselle Colon 9-16-14 Section 3.1-3.3 - Initialization 1.0
Kenton Standard 9-16-14 Section 3.4, 3.5 - Initialization 1.0
Software Requirements Specification for PEW
Page 3
1. Introduction
1.1 Purpose and Scope
The purpose of this document is to give a detailed description for the “Publicity Email WebApp” web-based
service. It will show the purpose and complete description for the development of a system. It will also
introduce system constraints, interfaces and interactions with external services. The primary goal of this
document is to propose to the client for its approval and a reference for the development of the first version
of the system.
The “Publicity Email WebApp” is a web-based application which serves the purpose of bulk mail
distribution. Messages can be sent manually or scheduled to be sent automatically at the certain date and
time. This service allows for the email addresses management. This service will be available online and free
to use upon registration.
The system requires the Internet connection. All system information is stored and maintained in the database,
located on the web-server. System has a direct interaction with existing email system such as Microsoft
Outlook.
1.2 Definitions, Acronyms and Abbreviations
Term Definition
User Individual who interacts with a system:
Publicity Chair of the international
conference.
Admin/Administrator System administrator that is given
permission for managing and altering the
system
SRS Software Requirements Specification
Desc Description
Microsoft Outlook Free personal email service from Microsoft
SMTP Simple Mail Transfer Protocol
FTP File Transfer Protocol
HTTP Hypertext Transfer Protocol
Software Requirements Specification for PEW
Page 4
1.3 References
[1] Fu Jicheng, “srs_template“, unpublished.
[2] Fu Jicheng, “Outcome_b“, unpublished.
[3] Benjamin Cheng, Ross Jeffery, "Comparing Inspection Strategies for Software Requirement
Specifications," aswec, pp.203, 1996 Australian Software Engineering Conference (ASWEC '96), 1996
1.4 Overview
The remainder of this document contains two chapters and an appendix. The second chapter provides overall
description of a system, talking about system functionality and system interactions with other systems and
users.
Third chapter of this document illustrates organizing the functional requirements for the system by system
features, the major services provided by the system. It also talks about system interfaces such as User
Interface, Hardware and Software interfaces etc.
Appendix at the end includes the list of open requirements issues that remain to be resolved.
2. Overall Description
2.1 Product Functions
PEW offers the ability to send out thousands of emails. The user will be able to sort their emails, merge
multiple lists of emails and remove duplicates from the list of emails. The user will also be able to search for
emails that have been sent or received, and the user will be able to send emails in the future based on a
calendar selection. The recipient of the email also receives the email as if it was sent personally to only them.
2.2 User Classes and Characteristics
The Publicity Chair of the International Conference who sends the email should be able to send an email
to a massive amount of recipients, sort, merge, remove duplicates from the list of emails, and individualize
each email.
The Recipient of the email should be able to receive the email. Recipient will be able to see only his/her
email address as if the email was only targeted to him/her.
The Administrator is responsible for the approval of new registrants. Administrator is also able to remove
the user’s profiles.
Software Requirements Specification for PEW
Page 5
2.3 Constraints
Potential limitations in our product may include the amount of time given to create it. Given more time, the
scope of the product may be vastly more complex. The customer also stated that they needed an n(logn)
sorting algorithm, which limits our choices in regards to type of sorting algorithm we can use.
2.4 Assumptions and Dependencies
Assumptions include the user has basic computer knowledge necessary to log in, send and edit emails, and
other simple operations. The user should know when email addresses are invalid, the sorting algorithm is
good enough to be n(logn) for both best and worst case scenarios.
Software Requirements Specification for PEW
Page 6
3. Specific requirements
In this section we will discuss the user, hardware, software and communication interfaces
that are used for this system. PEW will allow for different inputs which must be
processed and formed into outputs for the user to interpret. Performance of the system is a
major concern for the user, along with availability of the product and how it will be maintained will be
discussed. As with any system there are design constraints that we will discuss, in particular, how we handled
and overcame them.
3.1 External Interface Requirements
3.1.1 User Interfaces
PEW will look much like Microsoft Outlook to make it easy for users to use and manage email lists. In later
production we will provide pictures of our product to give a good idea of how this product can be used.
Along with this we will provide any constraints that are to be dealt with when using our product. In this
section we will discuss different button functions and other keyboard functions to make using this product as
easy as possible. Here we will also discuss error messages and how to interpret them.
The sample interface for the User is presented below.
● “Search…” field will allow for the user to input the search string. After pressing the “Go!” button
“List of Emails” will be sorted according to the request.
● “Sort” will allow sorting the email list by two available criteria (Alphabetical, Domain). In order to
complete sort operation on the list, the User needs to select one of two options in the checkboxes that
are located below the “Sort” button.
● “Merge” button when pressed will open the file browser so that the User can populate the “List of
Emails”.
Software Requirements Specification for PEW
Page 7
● Delete button when pressed will open the file browser so that the User can select file that contains
the list of emails to be removed from the “List of Emails”.
● “Send” button will allow sending the text message typed in the field on the left to the email addresses
selected on the right.
● “Calendar” icon will allow User to select the delivery date for the email in order to specify exactly
when the email to be delivered.
● “Settings” icon will allow the user to link the service to an existing email account.
The sample interface for the administrator is presented below.
3.1.2 Hardware Interfaces
PEW will be supported on all operating systems that can access major internet browsers such as Google
Chrome, Mozilla Firefox, Safari, and Internet Explorer.
3.1.3 Software Interfaces
“Publicity Email WebApp” will connect with Microsoft Outlook and other regular SMTP server to get email
list and send emails through your current provider. Later in the product production, we will be able to give
exact versions, libraries and integrated commercial components that can be used with this product. Here we
will describe the messages coming into the system and going out along with programming interface
protocols. We will also discuss how data will be shared across software and if need be how it is implemented.
3.1.4 Communications Interfaces
Users will need to have a standard web browser such as Google Chrome, Mozilla Firefox, Safari or Internet
Explorer. They will also need to have an Internet connection, some sort of email provider such as Microsoft
Outlook or any other regular SMTP server email provider. In later production we will provide information on
Software Requirements Specification for PEW
Page 8
if the user will need an FTP or HTTP along with any encryption issues, data transfer rates and
synchronization mechanisms.
3.2 Functional requirements
In this section the different functional requirements will be given. We will discuss how inputs and outputs are
processed for different functions.
3.2.1 “Search in Email List” Function
[Link] Introduction
The search function will allow you to search for emails sent by title and will search the message to find the
word being searched for. This allows the user to be able to go through emails quickly to find certain
keywords to help verify that certain emails have been sent out.
[Link] Inputs
At the top of the page there is a search bar. From here you can type any amount of words and the product will
both search the title and message of all sent emails.
[Link] Processing
The search bar accepts all letters and numbers but no special characters. If a special character is input there
will be an error message that pops up asking to remove the special character. In later production we will
discuss the algorithms used to search the emails.
[Link] Outputs
When search is complete a list of emails meeting these requirements will be shown on the screen. If there are
no emails found with the search then an error message will appear telling you so.
3.2.2 “Schedule” Function
This function will display a calendar and let you input appointments or set up scheduled emails to be sent
out. This will make it easy for the user to send an email even if they are busy with other things and keep track
of meetings if need be.
[Link] Inputs
Unlike the search bar the inputs for this function are vastly different. A dialog box will display when a new
appointment or scheduled email is set up. From here the user can set up specifications as to how they want to
be notified of an event, time of the event and so forth. For a scheduled email they will be able to say when it
sends out and to what list of people it will send to.
[Link] Processing
The calendar will check to make sure that the time given is a real time and date, if not it will display an error
message telling the user to change to a real time. Otherwise the process will go through and add an event to
the calendar, for both an event and scheduled email being made.
Software Requirements Specification for PEW
Page 9
[Link] Outputs
When the calendar scheduling process has finished there will be a dialog box telling the user if the event was
successfully created or not. If it was not an error message will display telling you how to fix the error before
continuing.
3.2.3 “Sort Email List” Function
[Link] Introduction
The sort function will allow the Publicity Chair of the international conference to sort list of the email
addresses given the certain criteria. Emails can be sorted by the sender’s email address or the send date and
time.
[Link] Inputs
User will be given two buttons that will allow to sort email addresses in the alphabetical order or by the email
domain of the email addresses of the recepients.
[Link] Processing
Sorting will be performed upon user selection of the sort option. Sorting will use the algorithm that allows to
get n(logn) performance.
[Link] Outputs
When sort is complete a list of emails will be displayed on the screen in order that was defined by the
request.
3.2.4 “Delete from the List” Function
[Link] Introduction
The delete function will allow removing from the current email list email addresses that are present in the
uploaded file.
[Link] Inputs
User needs to select a file that contains email addresses to delete.
[Link] Processing
Upon User’s selection of the file that contains email addresses to delete, deletion will be completed
on the list that is currently present in the system’s email list.
[Link] Outputs
When deletion is complete a list of emails shown on the screen will be updated to reflect changes.
3.2.5 “Merge Email Lists” Function
[Link] Introduction
The merge function will allow combining email addresses from two lists.
Software Requirements Specification for PEW
Page 10
[Link] Inputs
User needs to select a file that contains email addresses to add.
[Link] Processing
Upon User’s selection of the file that contains email addresses to add, merge will be completed on
the list that is currently present in the system’s email list. All duplicates will be removed.
[Link] Outputs
When merge is complete a list of emails shown on the screen will be updated to reflect changes caused by
merge operation.
3.2.6 “Send Email” Function
[Link] Introduction
The “Send Email” function will allow the Publicity Chair to send emails to the selected participants.
[Link] Inputs
User types the email and selects the list of recipients. User then needs to press the send button.
[Link] Processing
The message that was typed by the Publicity Chair will be distributed between the listed users.
[Link] Outputs
The “Email was sent successfully!” message will appear on the screen upon the completion of the send
process.
3.2.7 “System Setting” Function
[Link] Introduction
The “System Setting” function will allow the user to connect to the existing SMTP server email provider.
[Link] Inputs
User needs to input the account to be used for the email distribution purposes.
[Link] Processing
System will connect to the account that was provided by the user.
[Link] Outputs
The system will return the message on whether the system was successfully linked to the provided account.
3.2.8 “Register” Function
[Link] Introduction
The “Register” function will allow new users to create an account with “Publicity Chair WebApp”.
Software Requirements Specification for PEW
Page 11
[Link] Inputs
In order to send the registration request user will need to provide some information, such as name
date of birth, email address, username/password.
[Link] Processing
System will submit the request to the administrator. User will be able to use the account as soon as
the administrator approves the request.
[Link] Outputs
Request submission message will be delivered to the user.
3.2.9 “Approve New Publicity Chair” Function
[Link] Introduction
Function available to the administrator that will allow confirming the registration request from new users.
[Link] Inputs
Administrator will need to mark new user as registered in order for the user to gain the access to the
system.
Processing
When administrator makes changes to the user registration status, information will be updated in the
database.
[Link] Outputs
The User’s status is being updated.
3.2.10 “Delete Publicity Chair’s Account” Function
[Link]Introduction
The “Delete Publicity Chair’s Account” function will allow the administrator to manage the user list by
deleting accounts that have redundant information, miss some information or those that are not eligible for
approval.
[Link]Inputs
Administrator will have a button to delete an account that will be located next to the every user’s
name.
[Link]Processing
Upon applying the delete operation the system will erase the record from the database, so that user
will no longer be able to access his/her account.
[Link]Outputs
The list of users will be updated.
Software Requirements Specification for PEW
Page 12
3.3 Performance Requirements
PEW can sort (using the algorithm with n(logn) efficiency)) through email in alphabetical order along with
merging lists of emails together into one list and take out any emails that appear more than once. Users can
use Microsoft Outlook or any regular SMTP server to use this product and it will handle similarly to
Microsoft Outlook in being able to edit content of the email being sent out. This product can be
used on any major browser such as Google Chrome, Mozilla Firefox, Safari, or Internet Explorer 9 or above.
After further production timing relationships can be given for this product to give a look into the
performance of our system.
3.4 Software System Attributes
This section includes the quality aspects of PEW like availability, security, maintainability, standards
compliance, and hardware limitations.
3.4.1 Availability
If there is a software or hardware failure, please allow 24 hours for our team to resolve the issue. We will
have a temporary page the website will be routed to for the meantime to tell users that the site is down. After
an issue has been resolved, we will send out an automated email stating that PEW is back online. Expected
availability will be 95%.
3.4.2 Security
In order to access the functionality of the PEW the User needs to sign in, thus first time registration is
required. In case if a user has an unauthorized access to a page within PEW, the user will be redirected to the
last visible page and will be prompted as such. If the user was trying to get specific access to sensitive data
that is not his or hers, the user will receive the punishment the law deems fit. If a user has forgotten their
password, then they will have to answer two security questions to restore the password.
3.4.3 Maintainability
There is a five hour window for regular maintenance on every Sunday morning between 1AM to 6AM CST.
This will assure that routine bug are fixed and new features are added without interruption. Each day at
12AM CST, there is also a daily backup of all data on each of the accounts and this data will be stored for 14
days on our servers. After 14 days, this backup data will be compressed and placed into an archive folder for
each user.
3.5 Design constraints
This will go over what limitations this service will be able to provide due to standards we have to comply to
and hardware limitations.
3.5.1 Standards Compliance
PEW will comply with all of the privacy laws within the region that this program is being used.
Software Requirements Specification for PEW
Page 13
3.5.2 Hardware Limitations
Users are only going to be allotted 150MB of account space due to the hard drive space available on the
server.
Appendix A: Issues List
Critical: Start developing the project