Documentation Standards

SRS Outline

Version: 1.1


1. Introduction

1.1 Purpose of this Document

This document describes the requirements of the RivX Outdoor Recreation system. RivX provides tools to companies who sponsor outdoor recreation events, tours, and/or expeditions. The following sections detail the requirements of the system and are collectively referred to as the SRS (Software Requirements Specification) document.

1.2 Scope of the Development Project

RivX was inspired by MokiMac River Expeditions who like many outdoor recration companies, is looking for a replacement to an existing system. RivX provides tools to manage all customer and company information related to events and activities provided by a company in the outdoor recreation industry.

RivX management tools provide the following benefits:

1.3 Definitions, Acronyms, and Abbreviations

Windows applications.
C# An object oriented programming language for use with the .NET framework.
Event The system manages events for outdoor recreation companies. These events could include a river expedition, hiking tours, bike tour, backpacking trip, etc.
MokiMac A river expedition company whos needs inspired our project. MokiMac website
.NET .NET is a set programming tools and frameworks for developing
RivX The name of our system inspired by MokiMac River Expeditions Inc.
web-based Parts of the system that can be accessed through the Internet via a web browser.

1.4 References

We will draw on the experience of past team projects, courses, and professional work. Our team has and will use the following resources for process guidelines in defining software requirements:

Courses:

Books and Articles: People:

1.5 Overview of Document

The software requirements specification is divided into three sections: this introduction, the general description of the project, and the specific requirements of the project. The general description is an overview of the project¢®?s requirements, including a product perspective, functional and data requirements, constraints, assumptions, dependencies, and guidelines. Also there are description of personas and characteristics with user view of the product showing how the interaction between the user and program can be used. The specific requirements section contains more detailed information about external interface requirements, performance requirements, quality attributes, and a detailed look at functional requirements.



2. General Description

2.1 User Personas and Characteristics

Frank, the Event Coordinator
This is an employee of the outdoor recreation company providing or sponsoring events. The event coordinator is familiar with general desktop applications in a Windows environment (like Microsoft Office) and is proficient in using a web browser (Internet Explorer, FireFox, etc.).

Julie, an Account Manager
The account manager of the outdoor recreation company using the system keeps invoices and bills event partcipants. She doesn't like computers that much, but realizes their necessity and knows enough about how to use them to e-mail and perform her necessary job functions. She likes using applications that aren't to difficult to understand or to use on a regular basis.

Anne, a Marketing Manager
Anne keeps existing and past event participants informed of company offerings. The marketing manager also seeks new customers and finds ways to remove barriers between potential event participants company offerings. Anne wouldn't want to do her job without a computer. She likes them for her work. She also spends a lot of time shopping online, so she is very familiar with the internet.

Danny, an Event Guide
The event guide runs the actual event. The guide is the company representative that takes participants on a river expedition for example. The guide needs to know all event participants for past, present, and future events. Equipment lists, safety liability waivers, and weather conditions are other needs provided by the system to this user. Danny doesn't like to use computers, and because he is often out on an event, he doesn't use one very much at all. He likes extremely simple interfaces, because he doesn't have the time he would need to learn it.

Bertha, a Receptionist
She handles phone calls, mostly from people who found the company's web site, asking for information about the events and signs people up for the events. She uses a computer, but she doesn't type very fast.

Joshua, an Event Participant
Joshua was just surfing the web late one night, and decided that a river expedition would be fun. He surfs the web a lot, but he doesn't know much about computers beyond that. He has a broadband connection to the internet, and does everything on the internet. He banks, shops, and even orders his pizza online.

Emily, an Event Participant
Emily is Joshua's sister. Josh called her up (she doesn't have internet access) and talked her into going on the event with him. She agrees, but doesn't feel comfortable giving her brother her credit card information, so she needs to call in to get herself signed up.

Heather, an Event Participant
Heather, Emily's friend, hears that Emily is going on a river expedition and wants to tag along. She uses her computer a lot, but she only has a dial-up connection to the internet, so she tries not to do to much online. She usually uses it just to check her e-mail. She wants to sign up online, but she hopes the website doesn't try to send her large web pages, because she hates sitting and waiting for them to load.


2.2 Product Perspective

This is a stand alone project.  In order for the user to communicate with our product they must use the internet to connect to the server that is running our program, and they must have a web browser in order to view the information that the web server will display to the user.  This product requires the use of a windows server running our program.  The user requires the use of a computer connected to the internet.

2.3 Overview of Functional Requirements

2.4 Overview of Data Requirements

The server running our program will display html to the user requesting information.  The internet broswer accessing our program on the web will use the keyboard and mouse to get information from the user.  This information will then be transfered over the web to our server, which will process the information and store the information in a local database.  This database will contain the information associated with that user.  The server will also be able to display information from this database to the user, upon request from the internet browser. 

2.5 General Constraints, Assumptions, Dependencies, Guidelines

General Constraints

Assumptions

Dependencies

Guidelines

2.6 User View of Product Use

Our user interface is completely web-based. There are two main user groups. There are customers and employees. The customers will need limited access to a few forms, to sign up and check schedules, and the employees need access to a lot more functionality.
Because it is web-based, it accommodates all of the users who use the web, but will be simple and intuitive enough for anyone who can use a mouse to click on links. In general, pages will be small and simple for fast loading, but they will provide or retrieve any information necessary for the users.
Each user has different needs, and our system addresses them:
Our overall plan for the user view is that it is simple and easy to use, yet provide great functionality to the user. We have put together some rough sketches of how some aspects of our interface will look.




3. Specific Requirements

3.1 External Interface Requirements

Web based client application is basic interface between operator/user:

The user interface from a human perspective:

Characteristics Requirements between software and hardware:

Interfaces with other software components or products, including other systems, utility software, databases, and operating systems

3.2 Detailed Description of Functional Requirements


3.2.1 Manage the details of an event; i.e. river expedition, hiking tour, etc.
purpose To allow users to add, edit, and remove events and event data to and from the system.
inputs The user indicates whether they would like to add a new event or selects an event whose data they would like to manage. The user will input the requested data or changes.
processing The system stored the entered data and / or applies the chages set by the user.
outputs The system will provide the user with a confirmation message when the changes are applied. If an error occurs -- such as if the user input invalid data, the system will inform the user, suggest what data item(s) to change and try to process the action again.

3.2.2 Manage the details of an event participant (customer)
purpose To allow users to add, edit, and remove customers and customer data to and from the system.
inputs The user indicates whether they would like to add a new customer or selects a customer whose data they would like to manage. The user will input the requested data or changes.
processing The system stored the entered data and / or applies the chages set by the user.
outputs The system will provide the user with a confirmation message when the changes are applied. If an error occurs -- such as if the user input invalid data, the system will inform the user, suggest what data item(s) to change and try to process the action again.

3.2.3 Print various reports
purpose To provide the company with printable and or screen views of all data stored by the system.
inputs The user will select the type of data they would like a report for.
processing The system retrieves the requested data.
outputs The system presents the data to the user. If the system does not have the data requested, it will inform the user. The user will have the option of printing the report.

3.2.4 Print invoices for billing
purpose Provide the company with an efficient means of billing the participants of events (customers).
inputs The user will select the event or customer they would like to create a bill for.
processing The system determines if the customer owes money for the event and retrieves previous transaction and payment data.
outputs The system presents the user with a collection of invoices. The user can select to print the invoices or email them. If no invoices result, the system will inform the user.

3.2.5 Provide a view of scheduled events
purpose To allow system users and customers to see what events are available, when they will happen, where, what is required, etc.
inputs The system user will indicate that they would like to browse events. The user can select individual events or specify events within a date range, geographic location, or other event related data.
processing The system will find events matching the criteria provided by the user.
outputs The system will present the events that matched the criteria requested by the user. If the set of matching events is large, the user may need to select individual events from a list for more detail. If no events are available or no events match the criteria requested by the user, the system will notify the user.


3.2.6 Email event participants (customers)
purpose To allow the company providing events to notify participants of updates, future event, and other necessary items.
inputs A list of customer emails will be stored by the system. The user will determine a group of customers or an individual customer with whom he/she would like to contact via email. The user will also provide a subject and content for the email message and request to send it to the selected individual or group.
processing As a prerequisite, the system will make sure the customer list from which the user is choosing contains only customers who have provided an email address. The system will process the message and send it.
outputs The system will notify the user that the message was sent successfully.

3.3 Performance Requirements

The performance required for this product will largely depend on the hardware specifications the Riv X application is using. The product will primarily be in web browser form with Graphic User Interface. Since several users are able to connect to the system, concurrency issue with database must be established between web application and database system. Also accessing time to database system must be fast and secure which depends on hardware and internet connectivity, because customer informations will be reside in the database. We want to make sure it can connect 4 ~ 8 users at the same time, since the product will be mostly used from the company side that it does not require hundreds of connection at the same time.

3.4 Quality Attributes

Security: Only people with the access key will be able to edit the database. Those that have physical access to the database will have complete control of it.

Maintainability: As long as there is no occurence of hardware and other software compatibility issue, the program should be easily maintainable, since this product will implement within C# and Database system.  

Availability: The product is meant to be run on a dedicated web server through a web browser, where access is necessarily anytime

Reliability: The commands run by our interface on the database must be extremely reliable and work exactly according to the specification developed by our team.

3.5 Other requirements

None at this time



Change Log

version date description
1.0 28 Jan 2005 Created a first draft through section 2.0.
1.1 28 Jan 2005 Combined each team member's improvements and completed sections 2.0 and 3.0.