Online Survey App
Detailed Design
COP 4331, Fall, 2014
Team Name: Group # 2
Team Members:
Modification history:
Version | Date | Who | Comment |
v0.0 | 9/30/14 | Damla Turgut | Template |
v0.1 | 10/17/14 | Adam Hollifield | Issue Relevance Expansion |
v0.15 | 10/19/14 | Cody Showers | Design Tradeoff Elaboration |
v0.2 | 10/20/14 | Shawn Morrison | Added Sequence Diagrams |
v0.3 | 10/21/14 | Robert Montalbano | Added SRS/Sequence Table |
v0.4 | 10/21/14 | Frank Yi | Design Issue Elaborations |
v0.5 | 10/22/2014 | Robert Montalbano | Class Diagram |
v1.0 | 10/23/2014 | Adam Hollifield | Final Detailed Design for submission |
Trace of Requirements to Design
Design Issues:
Issue Relevance:
Prototyping:
Technical Difficulties:
Design Trade-offs:
Detailed Design Information:
Create Survey:
Sequence diagram for the Create Survey functionality of the application. User selects the appropriate button to Create Survey. User is presented with the various options to make the survey, upon clicking submit, the survey is saved and entered into the database, making it available for other users to take.
Login:
Main activity for the application. User enters credentials into appropriate fields. Both the phone number user ID and the password are hashed and sent to the database. The database then returns whether the user has entered valid credentials or whether a new account must be created. If a new account must be created, the user enters their phone number and password, both are hashed, and entered into the server’s database.
Logout:
Button present on the homepage for this activity. The request is processed by the user database server and the user is returned to the login screen of the application.
Take Survey:
User starts this sequence by selecting the appropriate button on the home page. The database server is then queried and returns a list of the current available surveys. The user can then select a survey from the list. The user is then redirected to the survey itself, completes the survey, and presses submit. Once submit is pressed, the responses are submitted to the server and are available for reporting.
Update Personal Profile:
User presses the update profile button present on the homepage to start this sequence. A user can view and modify all account attributes such as gender, age, and education level. When a user submits their updated profile, the corresponding user attributes are saved on the database server and will be tagged in any surveys this user completes.
View Results:
The user pushes a button on the homepage to begin this sequence. The database is queried for a list of the current surveys. The user then selects the survey for which they wish to view the results. The results and demographic information are also returned along with the survey. Lastly, a user may also view the comments made on the survey.
Class Diagram:
Trace of Requirements to Design:
* - Strong Correlation
Sequence Diagrams | Software Requirements Specification |
Create Survey | Use Case – 6, 7, 8, 9 Functional Requirements – 1*, 2, 3, 4, 6, 7*, 8*, 9, 10, 11*, 12, 13, 15, 16, 17, 18, 19, 20, 23*, 24, 29, 30, 32*, 33*, 35, 47, 48 |
Login and Enter Password | Use Case – 1, 2 Functional Requirements – 1, 2, 3, 4, 5, 15, 17, 18, 19, 21*, 22*, 27, 29*, 30, 31*, 35, 40*, 45*, 46, 47, 48 |
Logout | Use Case – N/A Functional Requirements - 2, 3, 4, 15, 18, 19, 21, 22, 27, 29, 31, 40*, 45*, 46 |
Take Survey | Use Case – 3, 4, 5, 7, 9 Functional Requirements - 1*, 2, 3, 4, 5, 8*, 9*, 10*, 11*, 12*, 13*, 15, 16*, 17*, 18, 19, 20*, 21, 22, 23*, 27, 29, 30, 31, 32*, 35, 46, 47, 48, 49 |
Update Info | Use Case – 2, 2a, 2b, 2c Functional Requirements - 1*, 2*, 4*, 5, 15, 17, 18, 19, 21, 22, 27, 29, 30, 31*, 35, 40* |
View Results | Use Case – 3, 4, 7, 8, 9 Functional Requirements - 1*, 3, 4, 5, 6*, 7*, 8*, 9, 11*, 12*, 13, 14*, 15, 16*, 17, 18, 19, 20*, 23*, 24*, 28*, 29*, 30*, 31, 32*, 33*, 35*, 48, 49 |