Senior Project Website v 2 FINAL PRESENTATION Nelson
Senior Project Website v. 2 FINAL PRESENTATION Nelson Capote Michael Garcia Antonio Vazquez Mentor: Dr. Masoud Sadjadi CIS 4911 Senior Project School of Computing and Information Sciences Florida International University December 9 th, 2013
Problem Before the semester starts, students enrolled in the Senior Project class need to find and join a Project of interest where they will be working along with other team members on the biggest assignment of their Computer Science career. There is no system to automate the process where students can propose, search or join a Project of their choice.
Current System • • Previous • • No No skill matching team management project management efficient search Attempt No admin account No student validation No distinction between users Deficient project management SPW
Project Management
UML Use Cases Diagram Professors Project Management
Profiles and Admin Use Cases
API Use Cases
Use cases Functional Requirements Use Case Name (SPW 2_411) Add a Mentor to a Project Participating Actor Head Professor user Entry Conditions Head Professor is logged into the system Project page is displayed 1. Head Professor starts typing a professor’s name into the autocomplete “Add a Flow of Events Mentor” form 2. The System sends a request to the database to retrieve User’s names similarities. 3. The database successfully responds. 4. The System displays a list of possible matches. 5. The Head Professor clicks on a name from the list. 6. The Head Professor clicks on the “Save Changes” button. 7. The System sends a request to the database to store the new settings. 8. The database responds successfully. 9. The System sends a notification to the new Member 10. Server displays updated project page
Nonfunctional Requirements (Add a Mentor to a Project) Usability: • The Head Professor should not need more than 5 seconds to type and select a name from the autocomplete list. Performance: • Once the document is saved, the System should store the new settings within 0. 2 seconds. Supportability : • This use case makes use of JQuery and other Java. Script technologies that are supported by most popular web browsers.
Functional Requirements Use case Name (SPW 2_503) Set join/leave/propose project deadline Participating Actors Head Professor user Entry Conditions ● Head Professor user is logged into the system ● The admin dashboard page is ready (this is accessible from the navigation bar). Flow of Events 1. In the section titled: "Set Deadline for Students to Choose a Project", the Head Professor makes selections using the Calendar pickers that correspond to both the "Start Date" and "End Date" form fields. 2. The Head Professor submits the form by clicking the "Set Deadline" button. 3. The system displays a message notifying the Head Professor that the deadline has been successfully updated.
Nonfunctional Requirements (Set join/leave/propose project deadline) Usability: • The Head Professor should intuitively utilize the date pickers to set the deadline in no more than 5 seconds. Performance: • The System should display the calendar views in less than 0. 2 seconds and update the new deadline within 0. 5 second. Supportability: • JQuery date picker should be accessible from all major internet browsers
System Design System Decomposition Primary architecture: Client/Server Ø Server – provides services to instances of other subsystems, clients. Ø Client – responsible for interacting with the user. Secondary architecture: MVC Ø Model – responsible for maintaining domain knowledge. Ø View – responsible for displaying information to user. Ø Controller – responsible for managing the sequence of interactions with the user.
System Deployment
Persistent Data Design
Security/Privacy • User Validation The System via a Rest API only allows Students registered in the Senior Project class to login and interact with the website. • SQL Injection System takes care of avoiding SQL injection attacks by using the Active Record class from the Code Igniter framework for all interaction with SPW Website, which produces safer queries since the values are escaped automatically by the system. • Session Encryption SPW uses the Code Igniter Session class to manage user session information, which is stored as serialized and encrypted in a cookie. • One-Way password encryption SHA-1 function is used to encrypt users’ passwords in the database, which allow website to keep secured user’s password for the website and therefore all their profile information in the website.
Detailed Design Minimal Class Diagrams
State Machine
System Test Cases SPW_ST_503 (Set join/leave/propose project deadline) SUNNY DAY Purpose Test if the system will allow the Head Professor to set a new join/leave/propose project time period. The system should display a success message to the user. Test Setup • A Head Professor user is logged in • The admin dashboard page is ready (this is accessible from the navigation bar). • The admin will interface with the panel titled: “Set Term Deadline” • User clicks on the “Start Date” input field. Using the pop-up calendar the user selects “ 12/01/2013”. • User clicks on the End Date” input field. Using the pop-up calendar the user selects “ 12/15/2013”. • User clicks the “Set Deadline” button. Input Expected Output The system displays a message notifying the user that the new deadline was set. The updated deadline can also be seen in the admin dashboard display. PASSED/FAILED PASSED
SPW_ST_503 (Set join/leave/propose project deadline) RAINY DAY Purpose Test if the system will notify the Head Professor of an error when they attempt to set an unrealistic join/leave/propose project time period (i. e. when the start date is greater than or equal to the end date). Test Setup • A Head Professor user is logged in • The admin dashboard page is ready (this is accessible from the navigation bar). • The admin will interface with the panel titled: “Set Term Deadline” • User clicks on the “Start Date” input field. Using the pop-up calendar the user selects “ 12/15/2013”. • User clicks on the End Date” input field. Using the pop-up calendar the user selects “ 12/01/2013”. • User clicks the “Set Deadline” button. Input Expected Output The system displays an error message notifying the user that the new deadline cannot be set because the specified dates do not denote a valid time period. The deadline should not be changed. PASSED/FAILED PASSED
QUESTIONS?
- Slides: 24