Software Requirements Specification for R. A. Block Cancer Foundation Project
Author(s): Robert Rice, David Prebyl, Antonio Frazier, Brandt Tierney, Kathleen Cromer, Xin Lin
Affiliation: CS451-Software Engineering
Address: 202 NE 5th St. Apt.11 KCMO 64118
Date: February 13,2002
Document Version Control Information: 1.0
1. Introduction
1.1 Purpose of this document
The purpose of this document is to describe the specifications for the R. A. Bloch Cancer Foundation project. It is intended as a guideline for the project team members so that the goal of the project is kept clear and concise. It is also evidence of the team’s commitment to provide for the client the software that it describes.
1.2 Scope of this document
The group of people responsible for this project consists of team members, clients, and instructors. Following is a list of those responsible:
- Team Lead:
- Team Members:
- Kathleen Cromer
- Xin Lin
- David Prebyl
- Antonio Frazier
- Brandt Tierney
- Client Contacts:
- Richard Bloch
- Vangie Rich
- Instructor:
2. Overview
- This organization has entrusted us to complete for them a project of two parts. The first part involves information for cancer patients concerning health, diet and exercise contained on video tapes created by Dr. Ernie Rosenbaum. It is the organizations wish that the information contained on these tapes is made readily available and easily accessible, in some form, to any patients with access to the web. The second part of the project involves the creation of a basis for a 'virtual support group', whose funtionality will be later completed by other project groups. This is a program that will allow cancer patients to communicate with each other in a group setting and discuss personal experiences and provide emotional support for each other.
3. General Description
The first part of the project will involve the recording of the information contained on the video tapes so that an audio version of the information will be available to patients. Instructional graphics will be created by the team and implemented where appropriate in a slide-show fashion to accompnay the audio. This information will be accessible through a table of contents interface, as well as simple navigational buttons on each page of text. Also provided will be the same information in a downloadable format.
The second part of the project, the 'virtual support group' will need to provide a simple interface for the patients to access by. When the user clicks on the link to join a support group, a dynamic list will be presented showing the number of current groups available and the number of people currently in participation. When the patient clicks on a particular group, the number of participants will be immediately updated. This connection to other group members will be done through the use of Microsoft NetMeeting.
For the moderator, we will need to provide the same entry interface as the participants, with a few additions. The moderator will be able to specify the maximum number of participants in a group. The moderator will start a group session of NetMeeting through an interface that will send their computer's IP address to an Active Server Page script that will update the entry page for the participants. This IP address will be attached to a link on the participant's page that, when clicked on, will start NetMeeting on their computer and automatically connect to the moderator's computer.
3.2 Similar System Information
The only currently associated software for this organization is the web site at www.blochcancer.org. However, this project will not be part of that site, but its own site implemented on a server provided by UMKC.
3.3 User Characteristics
The user community is expected to have minimal expertise in the use of computers and potential difficulty in accessing information on the computer due to physical limitations. Users will be cancer patients and friends and family of cancer patients. The systems they will use to access these programs are expected to be older machines with slow Internet connections.
3.4 User Problem Statement
The user community currently faces two problems. The first is the inaccessibility of the information contained on the video tapes created by Dr. Rosenbaum. Currently, there are very few copies and thus they are being accessed on a loaned out system. The second is the difficulty in attending live support group sessions due to scheduling conflicts or physical restrictions.
3.5 User Objectives
The user’s first requirement is to be able to access the information contained on the videotapes in some form. A more cost-effective way of distributing this information needs to be used, rather than incurring the cost of creating several copies of the videotapes for patients to use. The second requirement for the users is that they be able to easily connect to a support group and participate with minimal effort.
3.6 General Constraints
Because of the user population of this project, a few constraints will need to be enforced to ensure that the client receives what is desired. It is to be expected that many users of these programs will access them through computers that may be several years old, with modem Internet connections that provide much slower data transfer than what many of us are used to. Therefore, it is integral to make sure that design and implementation is done in such a way so that the quickest possible execution is provided. It is also integral that the interfaces to these programs are as simple and straightforward as possible. Because the target user population is expected to consist of computer novices, interface simplicity is required.
4. Functional Requirements
- User shall be able to listen to the audio information recorded from the videotapes.
- Description
This component will allow the user to listen to the information that is contained on the videotapes in an audio format, whild viewing a slide show of graphics that will further explain the concepts where necessary.
Criticality
This component is critical in meeting the requirements of the project.
Technical issues
The online information will be a combination of recorded audio from the videotapes and instructional graphics where appropriate. Audio will be provided by the embedding of Windows Media Player into the web page.
Dependencies with other requirements
This information will be accessed through the use of requirement #2.
User shall be able to access the recorded content through multiple access methods.
- Description
This component will allow the user to access the content that has been recorded from the videotapes. There will be two access methods involved. The first will provide a menu of "chapter" selections that will take the user to a particular section of content. The second method will allow the user to move sequentially through the content through the use of navigational buttons.
Criticality
This component is critical in meeting the requirements of the project, as it allows the user easy access to the content specified in requirement #1.
Technical issues
The menus and navigational buttons will need to be as simple and unambiguous as possible.
Dependencies with other requirements
This requirement will access the content described in requirement #1.
User shall be able to download the entire content to listen to and view offline.
- Description
This requirement provides an alternative form of the content for the user to view. It will be a download of all content for viewing and listening to offline.
Criticality
This component is not critical in meeting the requirements of the project. It meets the same requires provided by requirement # 1.
Technical issues
This requirement will be available for the competent user who desires to take advantage of the offline viewing it provides.
Dependencies with other requirements
This requirement will be an option contained within requirement #2.
User shall be able to select from a list of active support groups to participate in.
- Description
This requirement will present to the user a list of currently active support groups and the number/maximum number of users currently participating.
Criticality
This requirement is critical in that is saves the user time in selecting a support group to participate in.
Technical issues
The selection of support groups will need to be as simple and unambiguous as possible. A response will need to be generated if all currently active groups are at full capacity. Upon selection, the number of active members in the group will be immediately updated. This will avoid confusion as to the number of members in a group at a given time.
Dependencies with other requirements
This list will be dynamically generated through the use of requirements #10 and #11.
User shall be able to connect to a support group.
- Description
This component will connect the user to a group session, thus allowing communication within that group. At this point the interface for interacting with the group (NetMeeting interface) will be presented to the user.
Criticality
This component is critical in meeting the requirements of the project. Without it, the user would not be able to communicate with the group.
Technical issues
Not applicable.
Dependencies with other requirements
This requirement will be called upon the completion of requirement #4.
User shall be able to enter text that will be displayed to the entire group.
- Description
This component will allow the user to enter text, through the use of the NetMeeting interface, which, upon completion will be available for the entire group to view.
Criticality
This component is critical in meeting the requirements of the project in that it allows users to communicate with each other.
Technical issues
Not applicable.
Dependencies with other requirements
This requirement will be accessible only after the user has been connected to a group as specified in requirement #6.
User shall be able to view all text generated by the rest of the group.
- Description
This component allows the user to view all text messages generated by the rest of the group. This includes both other users, moderators, as well as themselves. Messages will be presented to the user through the use of the NetMeeting interface.
Criticality
This component is critical in meeting the requirements of the project. It will be necessary for the goals of the project that users are able to view messages by other users so that communication between them is possible.
Technical issues
Not applicable
Dependencies with other requirements
This requirement is dependent on the completion of requirement #6.
User shall be able to exit the group.
- Description
This requirement will allow the user to exit the group at any time. This can be done by closing the NetMeeting interface.
Criticality
This requirement is critical in meeting the project needs in that users will need an easy way to exit a session.
Technical issues
Not applicable.
Dependencies with other requirements
Use of this component requires the successful execution of requirement #6.
Moderator's IP address will be sent to server-side database.
- Description
This component will cause the moderator's IP address to be sent to a data-base on the server when the moderator starts a session.
Criticality
This component is critical in meeting the requirements of the project. The providing of the moderator's IP address is necassary to make the links to each session able to connect automatically to each session instead of the user needing to know and enter the moderator's IP address.
Technical issues
This component can be executed by a script running on an Active Server Page. PerlScript provides a very simple set of commands for accessing a user's IP address. After retrieveing the string, it can be sent to a server-side database for use by the dynamic menu page from which participants can select session to join.
Dependencies with other requirements
This operation must be performed before a room can be created, as specified in requirement #10. The information that this requirement provide will be needed for the completion of requirement #12.
Moderator shall be able to create a session.
- Description
This component will allow the moderator(s) to create a session. Execution of this will create a session interface for the moderator and open up the option for users to connect to the session.
Criticality
This component is critical to meeting the requirements of the project. Sessions will need to be created in order for the users to access them.
Technical issues
Upon the creation of the first session, the moderator will be required to enter his IP address to a script that will send it to the session selection page.
Dependencies with other requirements
Requirements #12, #11 and #5 must be executed before a session can be created.
Moderator shall be able to expel a participant from a session.
- Description
This component will allow the moderator(s) to expel a user from a session and force them to disconnect.
Criticality
This is not a critical component of the project, but may be necessary since the client specifications insist on a lack of logon or password procedures.
Technical issues
Disconnection from the group can be executed through the NetMeeting interface.
Dependencies with other requirements
A session must be active as stated in requirement #12 before this requirement can be executed.
A dynamically generated list of available sessions will be presented to the participant.
- Description
This component will generate a dynamic list of active session links for the user to click on and enter. The IP address of the moderator will be dynamially entered into each link, which will also contain the command to start NetMeeting. This combination will start NetMeeting and automatically connect to the moderator's machine.
Criticality
This is a critical component of the project, as it allows users to easily connect to a session.
Technical issues
This list will be dynamcially generated through a script run on an Active Server Page that will access the information in the database generated in requirement #9.
Dependencies with other requirements
A session must be active as stated in requirement #10 before this requirement can be executed. It is implied by this that requirement #9 will have been met and that hte moderator's IP address has been sent to the database.
5. Interface Requirements
5.1 User Interfaces
Videotape Content: Users will be presented with a screen of clickable "chapter" titles that, upon use, will direct the user’s web browser to the appropriate section of information. Additionally, there will be easy to use navigational buttons on each page of content that will take the user forward one page, back one page, or back to the menu page.
Support Group Entry Interface: To join a group, the user will be presented with a list of currently active groups, including the maximum number allowed in a group and the current number active in the group. Upon clicking a full group, the user will be informed that the group’s capacity is at a maximum. Upon clicking on a non-full group the NetMeeting interface will be presented to the user and will automatically connect to the moderator's computer.
Support Group Session Interface: Once entered into a session, the user will be presented with the NetMeeting interface that will be used to participate in the session.
Moderator Interface: Once the session has been started by the moderator, he will also be presented with the NetMeeting interface.
Moderator Entry Interface: To start a session, the moderator will be provided with a button that will first send his machine's IP address to the server's database, and then start up his copy of NetMeeting.
6. Performance Requirements
Performance for the support group sessions will need to be as close to real-time as possible. Disinterest in the program may increase if too much time is spent between communication interactions. It is also important that the content of the videotapes is accessed as quickly as possible, also to minimize disinterest.
7. Design Constraints
7.1 Ease of Use
These programs must be made as simply and unambiguously as possible as a consideration to the potential low level of computer competence of the intended users. Menus and interfaces will need to be as clean and self-explanatory as possible. This might also put restrictions on the limit to what we can allow the user to do.
These programs must be accesseble by users with computers that may be 4-5 years old and connecting to the Internet via a slow modem connection. Therefore, we may have to code for computers that are running at clock speeds of 300-500 MHz, with 58.8 modems. As a result, coding will need to be done in a form that will take advantage of as much speed as possible on the software side to make up for the potential lack of speed on the hardware side.
8. Other non-functional attributes
8.1 Security
Security will be minimal in this project. The client has specifically requested that no logon procedures or password checks be incorportaed into the system as a benefit to simplicity.
The system is expected to be reliable so that no interupptions of group sessions occur.
Because of the requirements of the project and the limited availability of created software for audio and textual communication between computers, portability will necessarily be limited. Netmeeting can only be used on Windows systems running Internet Explorer, thus limiting the use of the support groups to owners of PCs running Windows, as opposed to Macs or Unix/Linux operating systems.
Future teams will make incremental extensions to this project so that the ultimate goal of the project may be met in the future. For this reason, it is important to make this project as extensible as possiblem, to minimize the work of these future teams.
9. Appendices
- 9.1 Definitions, Acronyms, Abbreviations
User: A participant in a support group session or a reader of the information transcribed from the videotapes. Note that the definition of a User includes a Moderator, who shares the same interface considerations as a non-Moderator User.
Moderator: A volunteer from the R.A. Bloch Foundation who is appointed the responsibility of moderating patient support group sessions.
Robert Rice: Mighty_Rabit@hotmail.com
K.Cromer: kdc9b0@umkc.edu
Xin Lin: xl33c@umkc.edu
Antonio Frazier: adfcee@umkc.edu
Brandt Tierney: bont@kc.rr.com
David Prebyl: prebyld@umkc.edu