This Software Requirements Specification document is designed for the R&R
Scheduler Project sponsored by Solano Family and Children's Services. The
project is being undertaken by Gnosis, a Senior Project development team from
California State University, Sacramento. The Gnosis development team is
comprised of undergraduate students pursuing a degree in Computer Science. The
project will be two semesters long, and is designed to help team members gain
“real-world” experience in software development. The successful completion of
the project is defined as the delivery of the desired software product.
The project sponsor and team members are as follows:
Solano Family & Children's Services
421 Executive Court North
Fairfield, CA 94534-4019
Fax: (707) 863-3975
Vicki James (Office Manager of SFCS)
Kathy Lago (Manager of R&R department)
Kurt Galvez (Executive Director)
GNOSIS DEVELOPMENT TEAM:
Sterling Schulkins (firstname.lastname@example.org)
Akshat Srivastava (email@example.com)
Ferras Almoumen (firstname.lastname@example.org)
Kevin Maris (email@example.com)
Justin Rogers (firstname.lastname@example.org)
Team Website: http://www.schulkinscreations.com/gnosis/
The purpose of the Software Design Specification document is to act as a working
document that provides a basis of communications between Gnosis and Solano
Family & Children's Services regarding the design of the system. The SDS shall
provide a baseline for the design that the system implementation shall satisfy.
This document will cover the following areas in depth: detailed functions, external,
internal, and user interface. However, information regarding actual implementation
and testing of R&R scheduler Software is not covered in this document
1.3 Definitions, Acronyms and Abbreviations
HTML. Used in the creation of web pages, HTML is an international
standard whose specifications are maintained by the World Wide Web
DBMS. Database Management System, a software operating environment
that manages and stores relational databases (DBMS).
mySQL®. An open source DBMS that is used mainly in conjunction with
the web programming language PHP (MySQL).
PHP. An open source scripting language used in conjunction with HTML
to create dynamic web interfaces (PHP).
Prototype. A model created to show preliminary design and partial
functionality to the client during the development lifecycle.
WAMP. Windows Apache MySQL and PHP. It is a software environment
analogous to LAMP (Linux Apache MySQL and PHP). Its function is to
provide the entire gamut of functionality for dynamic web capabilities and
SQL. A query language used for requesting information from a database
CSUS. California State University, Sacramento
DBMS. Database Management System
HTML. Hypertext Markup Language
PHP. Pre Hypertext Processor
R&R Resource and Referral Department
POS. Project Overview Specification
SDS. Software Development Specification
SRS. Software Requirements Specification
STR. Software Test Report
SQL. Structured Query Language
STS. Software Testing Specification
UM. User Manual
WAMP. Windows Apache MySQL PHP
Buckley, Bob. Project Overview Specification. Course home page. March. 2008-May
2008. Dept. of Engineering and Computer Science, California State University,
Sacramento. 22 March. 2008 <http://gaia.ecs.csus.edu/~buckley/CSc190/CSc190.html>.
“DBMS.” Webopedia. 2008. Jupitermedia Corporation. 22 March 2008.
“HTML.” Mozilla Development Center. 2008. Mozilla. 22 March 2008.
“MySQL.” Webopedia. 2008. Jupitermedia Corporation. 22 March 2008.
“PHP.” Webopedia. 2008. Jupitermedia Corporation. 22 March 2008.
“SQL.” Webopedia. 2008. Jupitermedia Corporation. 22 March 2008.
1.5 Overview of Contents
The content of this document is divided into nine sections. Section 1 is an introduction,
which explains the purpose, scope, definitions, acronyms, abbreviations, references, and
provides an overview of the content of this document. Section 2 is about the architectural
design of the system which describes what functionality is assigned to what subsystems,
where the data will be stored, and how much communication is required through the user
interface, between subsystems and with the database. Section 3 is Interface Design and it
specifies the look, feel and behavior of that portion of the system that is visible to the
user. This section provides the design specifications for the team’s design prototype.
Section 4 is Database Schema and provides the translation of the informational model
contained in the Software Requirement Specification into a relational database. Section 5
is Component Design Specifications which contains the detailed description for the
design the software. Section 6 is Performance Analysis; it layouts the details on any
performance issues or constraints that may have arisen during the design and
implementation phase. Next section contains a summary of the computer resources
required to build, operate and maintain the software. Section 8 shows a software
requirements traceability matrix that relates the design components and the requirement
elements by relating the paragraph numbers in this document to the paragraph numbers in
the Software Requirements Specification Document. And lastly, Section 9 contains the
sign-off sheet that is used to indicate approval of and agreement to the design
specifications contained in this document.
2. Architecture Design
This section will provide the design details of the hardware and software
architecture of the application.
2.1 Hardware Architecture
The application will utilize a one tier hardware architecture where a single
user system will access information stored within the same system.
(What should I put here?)
Figure 1. 1-Tier Architecture
Platform: Cross Platform. Will use a WAMP interface to run on Windows
Operating system: Linux, Windows 98/2000/2003/ME/XP/Vista
Hardware: the computer must have a minimum of 800x600 screen
resolution with 256 colors; the computer must have at least 256 MB of RAM;
the computer must have a CD-ROM or a DVD-ROM for installing the software
and 10MB of hard drive space.
Software: the server on which the software will be installed should have
WAMP installed on it, along with any web browser to view the webpage.
2.2 Software Design Architecture
The application may be conceptually broken into three design layers which
consist of the Presentation Layer, the Business Logic Layer, and the Data
2.2.1 Presentation Layer
This layer will facilitate the user interface requirements and features, which
will receive mouse and keyboard input.
2.2.2 Business Logic Layer
This layer will describe the actions within class scheduling which include
adding attendees, deleting attendees, adding classes, adding instructors for classes,
appending sections, and posting conflict alerts to the Graphical User Interface within
the Presentation Layer.
2.2.3 Data Management Layer
This layer will maintain the database and the currently existing relationships
between administrator, employees, attendees, classes that have been created by the
employees or administrator.