Tutor Me Tutoring Web Service Software Requirements Specification Tutor Me Tutoring Web Service Software Requirements Specification TeamHD, autumn 2010, 48440 Software Engineering Group Members Andrew Corke - 10332056 Alex Constanti - 10702811 John Gorgees - 00054433 David Du - 10021259 Ravneel Chand - 10701720 Frederik Ruhm – 10937821 1 Tutor Me Tutoring Web Service Software Requirements Specification 1 Table of Contents 1 Table of Contents ............................................................................................................................ 2 1.1 Table of Tables......................................................................................................................... 4 1.2 Table of Figures ....................................................................................................................... 4 2 Document Revision.......................................................................................................................... 6 3 Introduction ..................................................................................................................................... 7 3.1.1 4 3.2 Overview and Scope ................................................................................................................ 7 3.3 Definitions ............................................................................................................................... 7 Information description................................................................................................................... 8 4.1 System context diagram .......................................................................................................... 8 4.2 Definitions ............................................................................................................................... 8 4.2.1 Acronyms ......................................................................................................................... 8 4.2.2 Data Dictionary ................................................................................................................ 8 4.3 5 6 7 1.1 Purpose ...................................................................................................................... 7 Entity relationship diagram ..................................................................................................... 9 Requirements ................................................................................................................................ 10 5.1 Information Requirements .................................................................................................... 10 5.2 Raw Requirements ................................................................................................................ 11 5.3 Formal Requirements ............................................................................................................ 12 Functional description ................................................................................................................... 14 6.1 Use case diagram................................................................................................................... 14 6.2 Use case diagrams ................................................................................................................. 15 6.2.1 Use Case One - Search ................................................................................................... 15 6.2.2 Use Case Two - Registration .......................................................................................... 16 6.2.3 Use Case Three – Account Activation ............................................................................ 17 6.2.4 Use Case Four – Update Profile ..................................................................................... 18 6.2.5 Use Case Five – Change Account Password .................................................................. 19 Behavioural description................................................................................................................. 20 7.1 FB-05 - The system shall show an error when an invalid grouping request is made ............ 20 7.2 FB-06 to FB-07 the system shall double check registering users email and password ......... 21 7.3 FB-08 The system shall require registering users to prove they are human ........................ 22 2 Tutor Me Tutoring Web Service Software Requirements Specification 7.4 FB-09 The system shall reload all entered data if a field is submitted incorrectly during registration ........................................................................................................................................ 23 7.5 FB-10 The system shall send an account activation email upon successful registration ...... 24 7.6 FB-13 The system shall activate a user's account when the user has interacted with the activation email ................................................................................................................................. 25 7.7 FB-15 to FB-20 Registered users shall be able to record their details on the TMTWS ......... 26 7.8 FB-27 The system shall validate the password by checking that the new password submitted is the same each time ...................................................................................................... 27 7.9 FB-28 The system shall alert the registered user if the new password is invalid ................. 28 7.10 FB-29 The system shall change the password if the submitted password is valid................ 29 7.11 FB-31 The system shall ignore duplicated addresses ............................................................ 30 7.12 FB-46 The system shall alert the administrator upon successful account modification by an administrator ..................................................................................................................................... 31 7.13 FB-47 The system shall alert the tutor upon successful account modification by an administrator ..................................................................................................................................... 32 8 9 Performance requirements ........................................................................................................... 33 8.1 Page response times.............................................................................................................. 33 8.2 Storage space ........................................................................................................................ 33 8.3 Backup ................................................................................................................................... 33 8.4 Reliability ............................................................................................................................... 33 8.5 Survivability ........................................................................................................................... 33 Non-Functional description ........................................................................................................... 34 9.1 Overview................................................................................................................................ 34 9.2 Useability ............................................................................................................................... 34 9.2.1 Specification .................................................................................................................. 34 9.2.2 Reference ...................................................................................................................... 34 9.3 Supportability and maintenance ........................................................................................... 35 9.3.1 Specification .................................................................................................................. 35 9.3.2 Reference ...................................................................................................................... 35 9.4 Reliability ............................................................................................................................... 35 9.4.1 Specification .................................................................................................................. 35 9.4.2 Reference ...................................................................................................................... 35 9.5 Scalability ............................................................................................................................... 35 9.5.1 Specification .................................................................................................................. 35 3 Tutor Me Tutoring Web Service Software Requirements Specification 9.5.2 9.6 Reference ...................................................................................................................... 35 Reusability ............................................................................................................................. 35 9.6.1 Specification .................................................................................................................. 35 9.6.2 Reference ...................................................................................................................... 35 10 Constraints ................................................................................................................................ 36 10.1 Interface Constraints ............................................................................................................. 36 10.2 Platform Constraints ............................................................................................................. 36 10.3 Architectural constraints ....................................................................................................... 36 10.4 Design and development constraints .................................................................................... 36 11 Traceability Matrix..................................................................................................................... 37 12 Draft only Bibliography - ravneel............................................................................................... 39 13 Appendix 1 - Team HD meeting minutes .................................................................................. 40 13.1 Meeting 1 .............................................................................................................................. 40 13.1.1 Issues ............................................................................................................................. 40 13.1.2 Action............................................................................................................................. 40 13.2 Meeting 2 .............................................................................................................................. 40 13.2.1 Issues ............................................................................................................................. 40 13.2.2 Action............................................................................................................................. 40 13.3 Meeting 3 .............................................................................................................................. 40 13.3.1 Issues ............................................................................................................................. 40 1.1 Table of Tables Table 1: Document Revision Control ....................................................................................................... 6 Table 2: Acronyms ................................................................................................................................... 8 Table 3: Data dictionary .......................................................................................................................... 9 Table 4: Information requirements from user problem statement ...................................................... 11 Table 5: Raw Requirements................................................................................................................... 12 Table 6: Formal Requirements .............................................................................................................. 13 Table 7: Definition of Requirements Aspects ........................................................................................ 34 1.2 Table of Figures Figure 1: System context Diagram........................................................................................................... 8 Figure 2: System architecture ................................................................................................................. 8 Figure 3: Entity relationship diagram ...................................................................................................... 9 Figure 4: System Use Case Diagram ...................................................................................................... 14 Figure 5: Use Case 1 – Search ................................................................................................................ 15 4 Tutor Me Tutoring Web Service Software Requirements Specification Figure 6: Use Case 2 – Registration ....................................................................................................... 16 Figure 7: Use Case 3 - Account Activation ............................................................................................. 17 Figure 8: Use Case 4 – Update Profile ................................................................................................... 18 Figure 9: Use Case 5 – Change Account Password ................................................................................ 19 Figure 10: State diagram - FB-05 ........................................................................................................... 20 Figure 11: Swim lane diagram - FB-05 ................................................................................................... 20 Figure 12: State diagram - FB-06 to FB-07............................................................................................. 21 Figure 13: Swim lane diagram - FB-06 to FB-07 .................................................................................... 21 Figure 14: Sate diagram - FB-08 ............................................................................................................ 22 Figure 15: Swim lane diagram - FB-08 ................................................................................................... 22 Figure 16: State Diagram – FB-09 .......................................................................................................... 23 Figure 17: Swim lane diagram - FB-09 ................................................................................................... 23 Figure 18: State diagram - FB-10 ........................................................................................................... 24 Figure 19: Swim Lane diagram - FB-10 .................................................................................................. 24 Figure 20: State diagram - FB-13 ........................................................................................................... 25 Figure 21: Swim lane diagram - FB-13 ................................................................................................... 25 Figure 22: State diagram - FB-15 to FB-20............................................................................................. 26 Figure 23: Swim lane diagram - Registered FB-15 to FB-20 .................................................................. 26 Figure 26: State diagram - FB-27 ........................................................................................................... 27 Figure 27: Swim lane diagram – FB-27 .................................................................................................. 27 Figure 24: State diagram - FB-28 ........................................................................................................... 28 Figure 25: Swim lane diagram - FB-28 ................................................................................................... 28 Figure 30: State diagram - FB-29 ........................................................................................................... 29 Figure 31: Swim lane diagram - FB-29 ................................................................................................... 29 Figure 32: State diagram - FB-31 ........................................................................................................... 30 Figure 33: Swim lane diagram - FB-31 ................................................................................................... 30 Figure 34: State diagram - FB-46 ........................................................................................................... 31 Figure 35: Swim lane diagram - FB-46 ................................................................................................... 31 Figure 36: State diagram - FB-47 ........................................................................................................... 32 Figure 37: Swim lane Diagram - FB-47 .................................................................................................. 32 5 Tutor Me Tutoring Web Service Software Requirements Specification 2 Document Revision Revision 0.01 0.02 0.03 Primary Author Andrew Corke Frederick Ruhm Andrew Corke Date of Revision 2010/04/03 2010/04/06 2010/04/07 0.04 0.05 Frederik Ruhm Andrew Corke 2010/04/07 2010/04/07 Description of Revision First compilation of Document Added diagrams. Added Bibliography Formatting and editing. Added Traceability Matrix Added further group member work Edit formatting Table 1: Document Revision Control 6 Tutor Me Tutoring Web Service Software Requirements Specification 3 Introduction 3.1.1 1.1 Purpose The Tutor Me Tutorial Web Service (TMTWS) is intended to provide a means of introducing teaching staff, wanting to offer services as tutors and students, wishing to hire a tutor. 3.2 Overview and Scope The purpose of the Software Requirements Specification (SRS) document is to define the client requirements of the Tutor Me Tutorial Web Service (TMTWS) and formally document the specifications derived from the client requirements. The SRS is intended for the client, [client name here], as well as the system developers. The SRS lists the requirements as TeamHD understands the client wants and TeamHD have found are feasible. 3.3 Definitions Specifications in this Document will use the following naming convention. The first part of the requirement name will be two letters, representing the categorisation of the requirement. The letters will be followed by two numbers, representing the unique numerical identification of the requirement. The first letter shall indicate the requirement stage. R: Raw Requirement F: Formal Requirement The second letter shall indicate the nature of the requirement. F: Functional B: Behavioural N: Non-Functional 7 Tutor Me Tutoring Web Service Software Requirements Specification 4 Information description 4.1 System context diagram Store Information Database General User Search for Tutors Retrieve information Tutor Me Tutoring Web Service Tutor Administrator Edit Account Infomation Enter Detail Figure 1: System context Diagram Figure 2: System architecture 4.2 Definitions 4.2.1 Acronyms Acronym TMTWS SRS CAPTA Description Tutor Me Tutoring Web Service Software Requirement Specification Completely Automated Public Turning test to tell Computers and Humans Apart Table 2: Acronyms 4.2.2 Term Data Dictionary Definition 8 Tutor Me Tutoring Web Service Software Requirements Specification Term User Registered user Tutor Administrator Student Admin Double Check Definition Any person or process that interacts with the TMTWS system A registered user is a person that has their personal information stored and verified by the TMTWS system. A user that is registered on the TMTWS system. Tutors have more privileges than students, but fewer privileges than administrators. A registered user of the TMTWS system. Administrators have the most privileges of all users. An unregistered user. Students are only able to view and search for tutors. See Administrator A means of verifying entered data. The data is requested twice. Both inputs are compared character by character. If the data entered both times is the same, the data is assumed to be correct. If the comparison finds any difference between the data entered, the data is assumed to be incorrect. Table 3: Data dictionary 4.3 Entity relationship diagram Figure 3: Entity relationship diagram 9 Tutor Me Tutoring Web Service Software Requirements Specification 5 Requirements 5.1 Information Requirements User Requirement URD-001 URD-002 URD-003 URD-004 URD-005 URD-006 URD-007 URD-008 URD-009 URD-010 URD-011 URD-012 URD-013 URD-014 URD-015 URD-016 URD-017 URD-018 URD-019 URD-020 URD-021 URD-022 URD-023 URD-024 URD-025 URD-026 URD-027 URD-028 URD-029 URD-030 URD-031 URD-032 URD-033 URD-034 URD-035 URD-036 URD-037 URD-038 URD-039 URD-040 Description 1. Search By: Subject Rate/Price Area Availability 2. Error Catch: Invalid Search Criteria 1. Data Validity Check Double entry of email Double entry of password 2. Captcha System (distorted Image) 3. Re-load info on input data error 4. Send Account Activation Email which includes code Tutor receive Activation email, including the identifier User to send it back (maybe by clicking on the link) System activates account and notifies tutor 1. Fields and space available for user to add/update details first name last name rates availability area subjects additional information 2. Error Catch: Data validity, such as changes to email, password, phone numbers, etc 1. Tutor must be logged in 2. Tutor clicks edit password hyperlink 3. Change account password form is shown 4. Input: Old password, new password, new password (again) 5. Validate input: old password must match stored password, new password must match new password (again) 6. For valid input: Tutor password is changed to new password 7. For invalid input: user is informed of specific error(s) 1. The list of tutoring subjects shall be set by the Administrator - F 2. The system shall ignore duplicated subjects entries - B 3. The subject list should be accessed through a website - F 4. The system shall confirm the changed subject list - B 5. The subject list shall be restricted to administrators only - NF 1. Update Service area list via front 2. Error Catch: if area already exists, system will catch and ignore 3. Optional: Have a system where Service areas can be requested, allowing for expansion to meet customer and tutor needs, maybe make it as an "other" field, where they specify and it is then sent to the administrators some how 10 Tutor Me Tutoring Web Service Software Requirements Specification User Requirement URD-041 URD-042 URD-043 URD-044 URD-045 URD-046 URD-047 URD-048 URD-049 URD-050 URD-051 URD-052 URD-053 URD-054 Description admin must be able to modify availability availability page needs to make provisions for create/update availability dates system must notify administrator of successful creates/updates the system will not allow double up on availabilities system should not allow dates past Edit Tutor List; Admin (Sample Use Case 9) [backend (homepage)] backend login tutor list (table or query) system updates the list confirmation message about successful modification Edit user account list (Sample Use Case 10) user accounts must editable by administrator successful user adds and deletes must prompt a notification email (possibly to both admin and user) 5. Create account skeleton and confirmation messages displayed to tutor User provides credentials System validates user login System relates user to relevant web page Table 4: Information requirements from user problem statement 5.2 Raw Requirements Requirement ID RF-01 RF-02 RF-03 RF-04 RB-05 RB-06 RB-07 RB-08 RB-09 RB-10 RN-11 RN-12 RB-13 RN-14 RB-15 RB-16 RB-17 RB-18 RB-19 RB-20 RB-21 Requirement Description Users shall be able to group Tutors by subject Users shall be able to group Tutors by rate charged Users shall be able to group Tutors by area Users shall be able to group Tutors by availability The system shall show an error when an invalid grouping request is made The system shall double check registering users email The system shall double check registering users Password The system shall require registering users to prove they are human The system shall reload all entered data if a field is submitted incorrectly during registration The system shall send an account activation email upon successful registration Activation emails shall be unique Activation emails shall require the user to interact with the TMTWS The system shall activate a user's account when the user has interacted with the activation email Information stored on the TMTWS shall be publicly available Registered users shall be able to record their first name on the TMTWS Registered users shall be able to record their last name on the TMTWS Tutors shall be able to record their rates charged on the TMTWS Tutors shall be able to record their availability on the TMTWS Tutors shall be able to record their area on the TMTWS Tutors shall be able to record their subjects on the TMTWS Registered users shall be able to record additional information on the TMTWS 11 Tutor Me Tutoring Web Service Software Requirements Specification Requirement ID RB-22 RF-23 RN-24 RF-25 RF-26 RB-27 RB-28 RB-29 RF-30 RB-31 RN-32 RB-33 RN-34 RF-35 RB-36 RB-37 RN-38 RB-39 RB-40 RB-41 RN-42 RN-43 RF-44 RN-45 RB-46 Requirement Description The system shall validate data entered Registered users shall be able to change their log in password Registered users shall have to be logged in to change their log in password To change their password, registered users shall have to enter their current password To change their password, registered users shall have to enter a new password twice The system shall validate the password by checking that the new password submitted is the same each time The system shall alert the registered user if the new password is invalid The system shall change the password if the submitted password is valid The list of tutoring locations shall be set by the Administrator The system shall ignore duplicated addresses The subject list should be accessed through a website The system shall confirm the changed location list The location list shall be restricted to administrators only The administrator shall be able to change the area list The system shall alert the administrator of any duplicate locations The system may have an area request process available to tutors The administrator shall be able to change the availability slots accessible to tutors The system shall alert the administrator upon successful change of availability The system shall alert the administrator of any duplicate availability slots The system shall alert the administrator of any dates past entered Validate All Entered Dates The system shall have an administrator only section Administrators shall be able to modify tutor accounts Administrators shall be able to modify student accounts The system shall alert the administrator upon successful account modification by an administrator Table 5: Raw Requirements 5.3 Formal Requirements Requirement ID FB-05 FB-06 FB-07 FB-08 FB-09 FB-10 FB-13 FB-15 FB-16 FB-17 Requirement Description Priority The system shall show an error when an invalid grouping request is made The system shall double check registering users email The system shall double check registering users Password The system shall require registering users to prove they are human The system shall reload all entered data if a field is submitted incorrectly during registration The system shall send an account activation email upon successful registration The system shall activate a user's account when the user has interacted with the activation email Registered users shall be able to record their first name on the TMTWS Registered users shall be able to record their last name on the TMTWS Tutors shall be able to record their rates charged on the TMTWS M M M H L M M M M H 12 Tutor Me Tutoring Web Service Software Requirements Specification Requirement ID FB-18 FB-19 FB-20 FB-21 FB-22 FB-27 FB-28 FB-29 FB-31 FB-46 FB-47 FF-01 FF-02 FF-03 FF-04 FF-23 FF-25 FF-30 FF-44 FN-11 FN-12 FN-14 FN-24 FN-42 FN-43 Requirement Description Priority Tutors shall be able to record their availability on the TMTWS Tutors shall be able to record their area on the TMTWS Tutors shall be able to record their subjects on the TMTWS Registered users shall be able to record additional information on the TMTWS The system shall validate data entered The system shall validate the password by checking that the new password submitted is the same each time The system shall alert the registered user if the new password is invalid The system shall change the password if the submitted password is valid The system shall ignore duplicated addresses The system shall alert the administrator upon successful account modification by an administrator The system shall alert the tutor upon successful account modification by an administrator Users shall be able to group Tutors by subject Users shall be able to group Tutors by rate charged Users shall be able to group Tutors by area Users shall be able to group Tutors by availability Registered users shall be able to change their log in password To change their password, registered users shall have to enter their current password The list of tutoring locations shall be set by the Administrator Administrators shall be able to modify tutor accounts Activation emails shall be unique Activation emails shall require the user to interact with the TMTWS Information stored on the TMTWS shall be publicly available Registered users shall have to be logged in to change their log in password The system shall validate all entered dates The system shall have an administrator only section H H H L M H M M L M L H H H H M H L M M M M H L H Table 6: Formal Requirements 13 Tutor Me Tutoring Web Service Software Requirements Specification 6 Functional description 6.1 Use case diagram Figure 4: System Use Case Diagram 14 Tutor Me Tutoring Web Service Software Requirements Specification 6.2 Use case diagrams 6.2.1 Use Case One - Search Use Case 1: Search Guest System User Inputs Search Criteria to system Notifies User of Incorrect Search Criteria Fail If User Inputs Invalid Search Criteria Pass Search results displayed System retrieves search results from database Figure 5: Use Case 1 – Search 15 Tutor Me Tutoring Web Service Software Requirements Specification 6.2.2 Use Case Two - Registration Use Case 2: Registration Tutor System Tutor fills in registration form, and submits Notify user of input Field error page reCapture is requested in the URD as the computer check, but we can us any method, as long as the result is achieved Fail Data Check (inc. Email, Password & Computer) Pass Already signed up error page Fail Check that email entered does not exist in system Pass Create Account (but not activated) Display Confirmation page Send Activation Email Figure 6: Use Case 2 – Registration 16 Tutor Me Tutoring Web Service Software Requirements Specification 6.2.3 Use Case Three – Account Activation Figure 7: Use Case 3 - Account Activation 17 Tutor Me Tutoring Web Service Software Requirements Specification 6.2.4 Use Case Four – Update Profile Figure 8: Use Case 4 – Update Profile 18 Tutor Me Tutoring Web Service Software Requirements Specification 6.2.5 Use Case Five – Change Account Password Use Case 5: Change Account Password Tutor System Tutor clicks on ‘Edit Password’ link Tutor enters old password once and new password twice Check correctness of old password Data error, re-enter data Fail Pass Fail New password entered twice check Pass Password change confirmation page Change account password to new password entered Figure 9: Use Case 5 – Change Account Password 19 Tutor Me Tutoring Web Service Software Requirements Specification 7 Behavioural description 7.1 FB-05 - The system shall show an error when an invalid grouping request is made Figure 10: State diagram - FB-05 Figure 11: Swim lane diagram - FB-05 20 Tutor Me Tutoring Web Service Software Requirements Specification 7.2 FB-06 to FB-07 the system shall double check registering users email and password Figure 12: State diagram - FB-06 to FB-07 Figure 13: Swim lane diagram - FB-06 to FB-07 21 Tutor Me Tutoring Web Service Software Requirements Specification 7.3 FB-08 the system shall require registering users to prove they are human Figure 14: Sate diagram - FB-08 Figure 15: Swim lane diagram - FB-08 22 Tutor Me Tutoring Web Service Software Requirements Specification 7.4 FB-09 the system shall reload all entered data if a field is submitted incorrectly during registration Figure 16: State Diagram – FB-09 Figure 17: Swim lane diagram - FB-09 23 Tutor Me Tutoring Web Service Software Requirements Specification 7.5 FB-10 the system shall send an account activation email upon successful registration Figure 18: State diagram - FB-10 Figure 19: Swim Lane diagram - FB-10 24 Tutor Me Tutoring Web Service Software Requirements Specification 7.6 FB-13 the system shall activate a user's account when the user has interacted with the activation email Figure 20: State diagram - FB-13 Figure 21: Swim lane diagram - FB-13 25 Tutor Me Tutoring Web Service Software Requirements Specification 7.7 FB-15 to FB-20 Registered users shall be able to record their details on the TMTWS Figure 22: State diagram - FB-15 to FB-20 Figure 23: Swim lane diagram - Registered FB-15 to FB-20 26 Tutor Me Tutoring Web Service Software Requirements Specification 7.8 FB-27 the system shall validate the password by checking that the new password submitted is the same each time Figure 24: State diagram - FB-27 Figure 25: Swim lane diagram – FB-27 27 Tutor Me Tutoring Web Service Software Requirements Specification 7.9 FB-28 the system shall alert the registered user if the new password is invalid Figure 26: State diagram - FB-28 Figure 27: Swim lane diagram - FB-28 28 Tutor Me Tutoring Web Service Software Requirements Specification 7.10 FB-29 the system shall change the password if the submitted password is valid Figure 28: State diagram - FB-29 Figure 29: Swim lane diagram - FB-29 29 Tutor Me Tutoring Web Service Software Requirements Specification 7.11 FB-31 the system shall ignore duplicated addresses Figure 30: State diagram - FB-31 Figure 31: Swim lane diagram - FB-31 30 Tutor Me Tutoring Web Service Software Requirements Specification 7.12 FB-46 the system shall alert the administrator upon successful account modification by an administrator Figure 32: State diagram - FB-46 Figure 33: Swim lane diagram - FB-46 31 Tutor Me Tutoring Web Service Software Requirements Specification 7.13 FB-47 the system shall alert the tutor upon successful account modification by an administrator Figure 34: State diagram - FB-47 Figure 35: Swim lane Diagram - FB-47 32 Tutor Me Tutoring Web Service Software Requirements Specification 8 Performance requirements There is no reference to any performance requirements; however it is in this project’s best interest to have some associated requirements to enhance the system’s lifecycle. 8.1 Page response times There are no concrete requirements specifying page response times in the industry as there are many contributors to a sufficient or sufficiently slow response. Some of the main focus points include the connection speed of the client’s access point be it a personal computer or a handheld device for example. It is therefore in the customer’s best interest to recommend a minimum modem of 64KBs and above for a satisfactory experience. 8.2 Storage space The client has not specified any storage requirements for this project; therefore it is recommended that the databases be maintained on commercial grade relational data management system (RDMS) to provide a reliable service and supportability. 8.3 Backup The system should employ a backup solution to reduce downtime. A suitable backup plan should be further discussed with the customer based on the cost and availability of space to include redundant servers mirroring configuration and table space data. A strong recommendation is to utilise SUN’s RAID0 configuration coupled with an offsite tape backup solution. 8.4 Reliability It is recommended that the system utilise redundant architecture in order to reduce the down time due to unforseen incidents or maintenance windows. This recommendation is made on behalf of the customer and shall be the subject of a focus group in the design stages. 8.5 Survivability This requirement ties in with the backup specification above. Basically, we would like to advise the customer that essentially, deploying an offsite tape backup plan of table space configurations and databases will necessarily mean that the system will be back up and running with a minimum downtime in case of a natural disaster, fire or any other catastrophe. 33 Tutor Me Tutoring Web Service Software Requirements Specification 9 Non-Functional description 9.1 Overview Requirements mentioned below were specified vaguely during our team meetings and were open to a wide range of subjective interpretations. Reference was therefore made to Mannion and Keepence, 1995 to elicit the ‘SMART’ requirements: Aspect Specific: Definition Unambiguous, using consistent terminology, simple and at the appropriate level of detail. Measurable: It is possible to verify that this requirement has been met, tests available Attainable: Technically feasible, technical “do-ability” of the requirement? Realizable: Realistic, given the resources and skill? Do you have access to the development infrastructure needed? Do you have access to the run-time infrastructure needed? Do you have enough time? Traceable: linked from its conception through its specification to its subsequent design, implementation Table 7: Definition of Requirements Aspects From Coleman (1998) we were able to utilise tools for analysing and documenting non-functional requirements in conjunction with the user requirements. 9.2 Useability 9.2.1 Specification The requirements are not very specific about the ease of which the users are able to either create an account, access or search the TMTWS. However, reference is made in several scenarios which may require some attention: The user shall be able to group a tutor search using the following criteria: Subject Rates ($) Area Availability The system shall show an error when: An invalid search criteria is specified Invalid data input during registration and profile update (including password reset) Invalid or duplicate service area is entered by administrator 9.2.2 Reference URD 006, URD 011, URD 025, URD 032, URD 039 34 Tutor Me Tutoring Web Service Software Requirements Specification 9.3 Supportability and maintenance 9.3.1 Specification As a run-time quality, the supportability of the system is critical due to the inevitable need to modify: Registered user accounts Subject list, areas and dates of service System configuration to incorporate new requirements 9.3.2 Reference URD 033, URD 046, URD 047, URD 050, URD 052 9.4 Reliability 9.4.1 Specification The requirements did not specify any need of reliability from the system. As such, the system will run in a stand-alone mode with no redundancy. At this stage all that shall be required is a serial connection to the system to allow system administrators to log in and backup data in the event of a network fault condition. Optionally, the ground work may be attempted for future incorporation of a tape backup system, or an active-standby configuration. 9.4.2 n/a Reference 9.5 Scalability 9.5.1 Specification The requirements make no reference to the scalability of the system in the event that the storage space becomes larger causing latency in the user interface. It is in the best interest of the design team to keep on record some suggestions as to how the system may be scaled in the future to upgrade the database and network connectivity bandwidth. 9.5.2 n/a Reference 9.6 Reusability 9.6.1 Specification Although no mention is made of the reusability of the TMTWS system, preparing for future systems will agree with the sales team. It is therefore a recommendation that the equipment and third party applications used to deploy this system are sought from a source that have a long standing contract with our firm. This is to ensure future the recycling of the devices. 9.6.2 n/a Reference 35 Tutor Me Tutoring Web Service Software Requirements Specification 10 Constraints 10.1 Interface Constraints Accessibility constraints o The Systems needs to cater for the visually impaired colour blindness Text size size of page, is it percentage or pixels etc User computer knowledge o Generation Compatibility o ‘Easy to use’ o Cater for both the young and mature target audiences 10.2 Platform Constraints Browser compatibility, include o Windows internet explore o Mozilla Firefox o Google Chrome o Opera(windows mobile) o Apple safari 10.3 Architectural constraints Size of the database Type of database used o Use tried and tested database, such as Oracle, My SQL etc Program language used, o JavaScript o Cold Fusion o PHP o .Net o ASPX o HTML 4/5 o CSS IEEE general software standards 10.4 Design and development constraints Time to Market o Allocate certain amount of time to complete and have up and running Developer skill o More skilled developers may cost more and blow budget, but they may speed up development time 36 Tutor Me Tutoring Web Service Software Requirements Specification 11 Traceability Matrix Usage Scenario Scenario One Scenario One Scenario One Scenario One Scenario One Scenario One Scenario One Scenario One Scenario One Scenario One Scenario One Scenario Two Scenario Two Scenario Two Scenario Two Scenario Two Scenario Two Scenario Two Scenario Three Scenario Three Scenario Three Scenario Three Scenario Four Scenario Four Scenario Four Scenario Four Scenario Four Scenario Four Scenario Four Scenario Four Scenario Four Scenario Four Scenario Four Scenario Four Scenario Four Scenario Four Scenario Four Scenario Five Scenario Five Scenario Five Scenario Five Scenario Five Scenario Five Scenario Five Scenario Six Scenario Six User Requirement URD-001 URD-001 URD-001 URD-001 URD-001 URD-001 URD-002 URD-003 URD-004 URD-005 URD-006 URD-007 URD-007 URD-008 URD-009 URD-010 URD-011 URD-012 URD-013 URD-014 URD-015 URD-016 URD-017 URD-017 URD-017 URD-017 URD-017 URD-017 URD-017 URD-018 URD-019 URD-020 URD-021 URD-022 URD-023 URD-024 URD-025 URD-026 URD-027 URD-028 URD-029 URD-030 URD-031 URD-032 URD-033 URD-034 Raw Requirement RF-01 RF-02 RF-03 RF-04 RB-05 RN-14 RF-01 RF-02 RF-03 RF-04 RB-05 RB-06 RB-07 RB-06 RB-07 RB-08 RB-09 RB-10 RB-10 RN-11 RN-12 RB-13 RB-15 RB-16 RB-17 RB-18 RB-19 RB-20 RB-21 RB-15 RB-16 RB-17 RB-18 RB-19 RB-20 RB-21 RB-22 RF-23 RN-24 RF-25 RF-26 RB-27 RB-28 RB-29 RF-30 RB-31 Formal Requirement FF-01 FF-02 FF-03 FF-04 FB-05 FN-14 FF-01 FF-02 FF-03 FF-04 FB-05 FB-06 FB-07 FB-06 FB-07 FB-08 FB-09 FB-10 FB-10 FN-11 FN-12 FB-13 FB-15 FB-16 FB-17 FB-18 FB-19 FB-20 FB-21 FB-15 FB-16 FB-17 FB-18 FB-19 FB-20 FB-21 FB-22 FF-23 FN-24 FF-25 Merged with FB-07 FB-27 FB-28 FB-29 FF-30 FB-31 37 Tutor Me Tutoring Web Service Software Requirements Specification Usage Scenario Scenario Six Scenario Six Scenario Six Scenario Seven Scenario Seven Scenario Seven Scenario Eight Scenario Eight Scenario Eight Scenario Eight Scenario Eight Scenario Nine Scenario Nine Scenario Nine Scenario Nine Scenario Nine Scenario Nine Scenario Nine Scenario Ten Scenario Ten Scenario Two Scenario Eleven User Requirement URD-035 URD-036 URD-037 URD-038 URD-039 URD-040 URD-041 URD-042 URD-043 URD-044 URD-045 URD-046 URD-047 URD-047 URD-048 URD-049 URD-050 URD-050 URD-051 URD-052 URD-053 URD-054 Raw Requirement RN-32 RB-33 RN-34 RF-35 RB-36 RB-37 RN-38 Merged with RB-04 RB-39 RB-40 RB-41 RN-43 RN-43 RF-44 RF-44 RF-44 RB-46 RF-44 RN-45 RB-46 Design consideration Implicit system quality Formal Requirement Merged with FB-20 Merged with FB-20 Merged with FB-20 Merged with FB-43 Merged with FB-45 Merged with FB-19 Merged with FB-43 N/A Merged with FB-45 Merged with FB-45 Merged with FB-45 FN-43 FN-43 FF-44 FF-44 FF-44 FB-46 FF-44 FB-46 FB-46 N/A See user roles 38 Tutor Me Tutoring Web Service Software Requirements Specification 12 Draft only Bibliography - ravneel Author/s Year, Title, Edition, Publisher, Place of publication. Malan, R & Bredemeyer, D 2001, Defining Non-Functional Requirements, Bredemeyer Consulting Mannion, M & Keepence, B. 1995, SMART Requirements Draft only - ravneel 39 Tutor Me Tutoring Web Service Software Requirements Specification 13 Appendix 1 - Team HD meeting minutes 13.1 Meeting 1 Date: 2010-03-09 Present: Andrew, Alex, Freddie, Ravneel, David Apologies: 13.1.1 Issues Software requirements specification discussed. Scope of requirements informally analysed. 13.1.2 Action Andrew: upload list of requirements Everybody: Add more specific requirements 13.2 Meeting 2 Date: 2010-03-16 Present: Andrew, Alex, Freddie, Ravneel, John Apologies: David 13.2.1 Issues John is a new member to Team HD Begin SRS 13.2.2 Action Everybody: Expand separate use cases 13.3 Meeting 3 Date: 2010-03-23 Present: Alex, Freddie, Ravneel, John Apologies: Andrew 13.3.1 Issues Entire SRS reviewed in detail and revised. In the system, students will not be registered, they will be guests. All guests (teachers, students, parents) will be treated as anonymous guests. 40