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

2. Overview

3. General Description

4. Functional Requirements

  1. User shall be able to listen to the audio information recorded from the videotapes.
    1. 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.
    2. Criticality
      This component is critical in meeting the requirements of the project.
    3. 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.
    4. Dependencies with other requirements
      This information will be accessed through the use of requirement #2.
  2. User shall be able to access the recorded content through multiple access methods.
    1. 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.
    2. 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.
    3. Technical issues
      The menus and navigational buttons will need to be as simple and unambiguous as possible.
    4. Dependencies with other requirements
      This requirement will access the content described in requirement #1.
  3. User shall be able to download the entire content to listen to and view offline.
    1. 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.
    2. Criticality
      This component is not critical in meeting the requirements of the project. It meets the same requires provided by requirement # 1.
    3. Technical issues
      This requirement will be available for the competent user who desires to take advantage of the offline viewing it provides.
    4. Dependencies with other requirements
      This requirement will be an option contained within requirement #2.
  4. User shall be able to select from a list of active support groups to participate in.
    1. Description
      This requirement will present to the user a list of currently active support groups and the number/maximum number of users currently participating.
    2. Criticality
      This requirement is critical in that is saves the user time in selecting a support group to participate in.
    3. 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.
    4. Dependencies with other requirements
      This list will be dynamically generated through the use of requirements #10 and #11.
  5. User shall be able to connect to a support group.
    1. 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.
    2. 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.
    3. Technical issues
      Not applicable.
    4. Dependencies with other requirements
      This requirement will be called upon the completion of requirement #4.
  6. User shall be able to enter text that will be displayed to the entire group.
    1. 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.
    2. Criticality
      This component is critical in meeting the requirements of the project in that it allows users to communicate with each other.
    3. Technical issues
      Not applicable.
    4. Dependencies with other requirements
      This requirement will be accessible only after the user has been connected to a group as specified in requirement #6.
  7. User shall be able to view all text generated by the rest of the group.
    1. 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.
    2. 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.
    3. Technical issues
      Not applicable
    4. Dependencies with other requirements
      This requirement is dependent on the completion of requirement #6.
  8. User shall be able to exit the group.
    1. Description
      This requirement will allow the user to exit the group at any time. This can be done by closing the NetMeeting interface.
    2. Criticality
      This requirement is critical in meeting the project needs in that users will need an easy way to exit a session.
    3. Technical issues
      Not applicable.
    4. Dependencies with other requirements
      Use of this component requires the successful execution of requirement #6.
  9. Moderator's IP address will be sent to server-side database.
    1. 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.
    2. 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.
    3. 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.
    4. 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.
  10. Moderator shall be able to create a session.
    1. 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.
    2. 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.
    3. 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.
    4. Dependencies with other requirements
      Requirements #12, #11 and #5 must be executed before a session can be created.
  11. Moderator shall be able to expel a participant from a session.
    1. Description
      This component will allow the moderator(s) to expel a user from a session and force them to disconnect.
    2. 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.
    3. Technical issues
      Disconnection from the group can be executed through the NetMeeting interface.
    4. Dependencies with other requirements
      A session must be active as stated in requirement #12 before this requirement can be executed.
  12. A dynamically generated list of available sessions will be presented to the participant.
    1. 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.
    2. Criticality
      This is a critical component of the project, as it allows users to easily connect to a session.
    3. 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.
    4. 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

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

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

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

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