Appendix B: Analysis Models

advertisement
Software Requirements
Specification
for
SILO – Student Information
Life Organizer
Version 2.0 approved
Prepared by Elliot Whaley & Nathan Hower
CSC 4700
April 21, 2008
Silo by Elliot Whaley and Nate Hower
Last Edited 4/22/08
Software Requirements Specification for Silo
Page ii
Table of Contents
Table of Contents .......................................................................................................................... ii
Revision History ............................................................................................................................ ii
1. Introduction ..............................................................................................................................3
1.1
1.2
1.3
1.4
1.5
Purpose ........................................................................................................................................ 3
Document Conventions ............................................................................................................... 3
Intended Audience and Reading Suggestions.............................................................................. 3
Product Scope .............................................................................................................................. 3
References ................................................................................................................................... 3
2. Overall Description ..................................................................................................................3
2.1
2.2
2.3
2.4
2.5
2.6
2.7
Product Perspective ..................................................................................................................... 3
Product Functions ........................................................................................................................ 4
User Classes and Characteristics ................................................................................................. 4
Operating Environment ............................................................................................................... 4
Design and Implementation Constraints...................................................................................... 4
User Documentation .................................................................................................................... 4
Assumptions and Dependencies .................................................................................................. 4
3. External Interface Requirements ...........................................................................................5
3.1
3.2
3.3
3.4
User Interfaces ............................................................................................................................. 5
Hardware Interfaces..................................................................................................................... 5
Software Interfaces ...................................................................................................................... 5
Communications Interfaces ......................................................................................................... 5
4. System Features .......................................................................................................................5
4.1
4.2
4.3
4.4
4.5
4.6
4.7
4.8
Organizer Saving ......................................................................................................................... 5
Organizer Loading ....................................................................................................................... 6
New Organizer Creation .............................................................................................................. 6
Events .......................................................................................................................................... 6
Changing view properties ............................................................................................................ 7
Search .......................................................................................................................................... 7
Event Notification ....................................................................................................................... 7
Help ............................................................................................................................................. 8
5. Other Nonfunctional Requirements .......................................................................................8
5.1
5.2
5.3
5.4
5.5
Performance Requirements.......................................................................................................... 8
Safety Requirements .................................................................................................................... 8
Security Requirements................................................................................................................. 9
Software Quality Attributes ......................................................................................................... 9
Business Rules ............................................................................................................................. 9
Appendix A: Analysis Models .....................................................................................................99
Revision History
SILO
Date
Reason For Changes
Version
Elliot Whaley
4/17/08
Needed to be updated and corrected
1.1
Nate Hower
4/19/08
Spelling and grammar corrections
1.2
Elliot / Nate
4/22/08
Graphs and final improvements
2.0
Software Requirements Specification for Silo
1. Introduction
1.1 Purpose
The purpose of this Software Requirements Specification is to identify the functions and
features of SILO.
1.2 Document Conventions
In this document, the abbreviation GUI will be used to represent ‘graphical user
interface.’
1.3 Intended Audience and Reading Suggestions
This Software Requirements Specification is intended for all users of the software, which
are primarily students and programmers. It is organized into several sections to be used
as a reference for interested parties to learn about the original version, or modify and
create their own versions.
1.4 Product Scope
The SILO software will provide students with one place to keep all their important
assignments, events and other things. The object is to create a calendar type organizer
where a student can add their classes, and events. The days that school is not in session
will be highlighted and important dates like move-in or deadlines can be added. Students
can add the schedules of their favorite sports teams (basketball, soccer etc.) They can ask
for reminders when a test or homework assignment is due. Student will be alerted when
conflicts arise, like a paper due the same day as an intramural game or a test. Also the
user will have the options of customizing their organizer’s background.
1.5 References
The project development web page is located at
http://www.csc.villanova.edu/~ewhaley/index.html
2. Overall Description
2.1 Product Perspective
The SILO software is intended to be a student-oriented scheduler. It is unique from
existing scheduling software because it provides functionality specific to a student’s
academic and social life.
Page 3
Software Requirements Specification for Silo
2.2 Product Functions
This software allows a user to create a schedule with:
 Classes
 Social Events
 Sporting Events
 Homework and assignment due dates
 Test dates
 Alerts for important deadlines
 Customizable user interface
 Accessible from wireless devices or other computers connected to the
internet
2.3 User Classes and Characteristics
This software is aimed towards students at all levels of education to create and manage their
schedule. It can also be utilized by teachers and professors to provide updates about the class
schedule and assignments. No technical skills will be needed to operate the software.
2.4 Operating Environment
This software is compatible with all major operating systems (Windows, Mac, Linux.)
Internet access must be available for many of the functions, but basic schedules are
viewable offline.
2.5 Design and Implementation Constraints
The user assumes any and all responsibility for the use, installation, and removal of the
software. This software is free for users to download and use and the underlying code
may be modified or edited under GPL.
2.6 User Documentation
See website….
http://www.csc.villanova.edu/~ewhaley/index.html
2.7 Assumptions and Dependencies
This software is dependent on access to a course information database. It assumes that it
is compatible with Java 1.5 and any future updates.
Page 4
Software Requirements Specification for Silo
3. External Interface Requirements
3.1 User Interfaces
The user interface will contain three main GUIs. Initially a login screen will be presented
to the user with textboxes for a username and password. After logging in, the main GUI
will be displayed. This consists of basic menu bar at the top and the basic calendar
overview. There will also be a button panel which has items for viewing different
schedule variations (classes only, monthly schedule, weekly schedule, etc.) and for
editing any of the schedules. When the user wishes to edit, a third GUI with advanced
editing options will be displayed. This will have a similar appearance to the basic
schedule but with increased functionality. See Appendix A for images of the interfaces.
3.2 Hardware Interfaces
This product is capable of using hardware devices such as a PC, notebook, iphone and
other internet capable devices.
3.3 Software Interfaces
All software interfaces will be implemented using the Java 1.5 SDK components
3.4 Communications Interfaces
An internet connection will be needed for certain functionality, as well as an email
address for alerts and updates.
4. System Features
4.1 Organizer Saving
4.1.1
Description and Priority
An organizer can be saved to the local desktop and if connected to the internet
will be capable of being viewed via wireless devices i.e. iphone or laptop.
4.1.2
Stimulus/Response Sequences
A organizer can be saved editing any day or month where SILO will prompt the
user if he/she wants to save and continue, cancel, or continue without saving.
4.1.3
Functional Requirements
To carry out this feature a connection to the internet must be present or the
organizer
will only be saved to the local machine with no capability of
being seen elsewhere.
REQ-1: If the specified changes are invalid, user will not be able to save.
Page 5
Software Requirements Specification for Silo
REQ-2:
If there is no connection to the internet SILO will notify the user
of this.
4.2 Organizer Loading
4.1.1
4.1.2
Description and Priority
SILO will be capable of loading a previously create organizer. SILO will
have under file an open option that will allow users to open previous
organizers.
Stimulus/Response Sequences
To access a previous organizer the user will be required to either 1) click file then
click open to find their organizer 2) under file a list of previous used organizers
will be at the bottom and can be clicked.
4.1.3
Functional Requirements
REQ-1: The user will not be allowed to open a file that does not exist
4.3 New Organizer Creation
4.1.1
Description and Priority
In SILO multiple organizers can be created. A user can have separate
schedules, or if there are multiple users on the same system, they can each
create individual organizers.
4.1.2
Stimulus/Response Sequences
A new organizer can be created by selecting File and then New. A user will be
able to select a premade template, or choose their own custom settings.
4.1.3
Functional Requirements
REQ-1: If another calendar is open, the user will be asked to save before
creating the new calendar.
REQ-2: If the user tries to create a calendar, any incomplete settings will
be highlighted and the user prompted to enter the information
before continuing.
4.4 Events
4.1.1
4.1.2
Description and Priority
If a user enters an event that occurs repeatedly, it can be set to occur at a
specified frequency. For example, if a user has a weekly group meeting,
they can enter the information as an event and set it to occur every week at
that time. A user can also select from various premade event schedules;
i.e. sporting events, sorority meetings, etc. Any conflict in scheduling will
be brought to the user’s attention.
Stimulus/Response Sequences
Page 6
Software Requirements Specification for Silo
To add an even the user must first select the Events menu. A new event can be
added by clicking New, which will display a menu with fields for the information.
To add a premade event schedule, the user can select from a drop down menu the
category and specific event and click to add it.
4.1.3
Functional Requirements
REQ-1: If a user attempts to create an event without the required
information, the needed fields will be highlighted and the user
prompted to enter the information before continuing.
4.5 Changing view properties
See images in Appendix A
4.1.1
4.1.2
Description and Priority
A user can customize their organizer in many ways. The calendar can be
viewed by week or month. The user can select a color scheme or create
their own.
Stimulus/Response Sequences
To change the way the calendar is displayed, the user must first select the View
menu. They can select whether they want to view their upcoming schedule by
month or by week. By clicking on Color Scheme in the menu, a user will be able
to select built in color schemes from a list or click to access a window where they
can manually set their own preferences.
4.1.3
Functional Requirements
REQ-1: If a user selects the view that is currently being displayed, no
change will occur.
REQ-2: If a user changes any settings, they will be asked if they want to
save.
4.6 Search
4.1.1
4.1.2
Description and Priority
The search function allows a user to search for events and classes by
category or keyword.
Stimulus/Response Sequences
A search can be entered into the text box at the upper right side of the screen,
with the option to perform advanced search functions.
4.1.3
Functional Requirements
REQ-1: The search will use the term as entered by the user and similar
variations to find any events that may be of interest to the user
REQ-2: The user will be notified if there are no results returned.
4.7 Event Notification
See images in Appendix B
Page 7
Software Requirements Specification for Silo
4.1.1
4.1.2
Description and Priority
For any upcoming event, a user can select from a variety of notification
types. This can range from a pop up window while using the organizer, to
external notifications through email. The user can specify the a suitable
time for this notification, ranging from an hour before a meeting to several
days before an upcoming test.
Stimulus/Response Sequences
A user can set a notification in two ways. First, the option to notify can be
selected when the event is first created. The other method is to select the
Notification menu. The user can then select from a list of all scheduled events
which one they want to be notified about. There will also be a list of previously
appointed notifications with the ability to modify the individual options for each.
4.1.3
Functional Requirements
REQ-1:
REQ-2:
For email notifications, the user must have a valid email address.
If a notification is set to display while another event or class is
scheduled, the user will be notified of the conflict.
4.8 Help
4.1.1
4.1.2
Description and Priority
If a user encounters a problem, they can access the help information. This
is displayed as a separate document. There will also be a link to a website
with additional guides and troubleshooting information.
Stimulus/Response Sequences
A user can access the help by clicking on the Help menu and selecting View.
The user can also click on an option to go directly to the online help guide.
4.1.3
Functional Requirements
REQ-1: Online guides cannot be viewed without an active internet
connection.
5. Other Nonfunctional Requirements
5.1 Performance Requirements
The only requirement is that the user and software can interact in a reasonable amount of
time.
5.2 Safety Requirements
There are no safety requirements.
Page 8
Software Requirements Specification for Silo
5.3 Security Requirements
The user’s information will be password protected and accessible only to them.
5.4 Software Quality Attributes
This software is versatile through its open source capabilities to eliminate bugs and
improve performance.
5.5 Business Rules
The only user who may add official class updates is the instructor of that course
Appendix A: Analysis Models
Section 1: Interface images

By clicking the scroll bar on the left a user can add a sporting or other premade event to their organizer.
IMAGE 1
Page 9
Software Requirements Specification for Silo

By clicking add event a user can create their own event that is not on the premade list.
IMAGE 2
Page 10
Software Requirements Specification for Silo

By clicking add new task a user can add a task such as daily reminders or
classes to their organizer.
IMAGE 3
Page 11
Software Requirements Specification for Silo
Section 2: UML Diagrams
Use Case Diagram
State Diagram
Page 12
Software Requirements Specification for Silo
Activity Diagram
Page 13
Download