In: Computer Science
Subject: Software, Architecture Design and Testing
You are to determine the user requirements for a web phone-mail product. The primary purpose of this product is to give phone-mail users (e.g., faculty and staff) the ability to access the functionality of the phone-mail system from a web page. In general, the product should enable users of the phone-mail system to do their usual phone-mail activities via a web page.
1. Requirements. Because the web phone mail system is to provide the basic functionality of the existing system, it should probably include most of the following:
The messages that are new messages will be identified.
• Users can delete and save messages in the mailbox
• Users can forward a message to another user.
• Users can listen to a message Some additional capabilities like the following are plausible. These are probably of lower priority.
• Date and time and message length will be shown for each message in the mailbox
• Users can pause, fast forward, rewind, and stop the messages that are playing.
• Users can reply to a message if they have a microphone attached and they are on campus.
• Users can change their password.
• Users can change their answering message (if they have a mike and are on campus). Some of the nonfunctional requirements might include:
• (Performance) Response time should be interactive (< 6 seconds delay to play a message) if users are on campus.
• (Security) Communication should be secure (e.g. with encryption)
• (Reliability) e.g. single user failures will not crash the entire system
• (Maintainability) - Design will include provisions for periodic software updates
• (Security) - Unattended sessions will require re-login
• (Usability) - Users will be able to access the mailbox in <5 mouse clicks
• (Usability) - Users can obtain context-sensitive help from any panel
• (Usability) - Users will be able to undo any destructive action
• (Browser) - System will work on Internet Explorer 5+ and Netscape 4+
• (Platform) - System will work with Windows 2000, Windows XP, Mac OS X
• (Performance) - System will provide interactive playback on 500Mhz Pentium II or better systems
2. Requirement evaluation.
All the above requirements satisfy the 8 criteria: Understandable, Verifiable, and Independent of implementation, Consistent, Complete, Unambiguous, Realistic, and Necessary.
3. Prioritization. The first six functional requirements are high priority. All of the above non-functional requirements are of high priority; none of them are optional.
4. Risks: There is a significant risk that the programmers will not be able to produce the product in time, especially if they are not experienced. Other likely risks include the likelihood that the customer will change the requirements, or that some of the staff will leave, or that the funding will be cut.
5. System requirements of users being able to review their mailbox contents.
5.System requirements: Review mailbox contents. When user requests "view mailbox" the mailbox contents will be transparently encrypted and transmitted to client browser.
• A locking mechanism will guarantee that only one user session can update the mailbox at one time.
• All user accessible fields of the phone-mail database will be displayed and selectable in an html form
• Users will select action to perform by mouse click.
• After action is selected, user input will be validated for correctness before converting to a proposed database update.
• User display will be updated displaying proposed changes before allowing more user input actions.
• Database updates will be finalized when user logs out.