TEAM 15 Joint Educational Project ONLINE PLATFORM Shreya Nigam Project Manager/Prototyper Reem Alfayez Requirement Engineer Rebecca Lin Feasibility Analyst Wei Yan System Architect Wei-Ting Cheng Life Cycle Planner Ricardo Solano Operational Concept Engineer Nicholas Pecoraro IIV&V
Remote Team Members
Experience in web development Experience with Databases Team Strong Points Experience in web development Experience with Databases
Team Weak Points Losing a team member next semester Most team members speak a different native language Lack of experience in value-based testing Lack of experience in setting up test environments and testing frameworks
Overall Project Evaluation Infrastructure nearly setup for development and testing. Secured a server and database with Dornsife to Host JEPOP. Some requirements verbiage may need to be refined. Infrastructure – Free web hosting web sites, svn repository with automatic deployment
Testing Plan Value-based testing Unit Testing – SimpleTest Integration Testing Automated Testing – Selenium (Tentative) Regression Testing Alpha Testing System Testing Acceptance Testing Value-based testing: prioritize testing order by importance, risk, market pressure, and cost. Unit Testing: Unit testing with SimpleTest will be written by the developers to verify sections of code work correctly Integration testing: Integration testing will be done as individual modules are completed and need to be tested with the other modules. Regression testing: When a bug is found, a regression test needs to be performed to verify the bug is fixed and doesn’t impact other parts of the system. Alpha Testing: Nearing development completion, we will let JEP test the system. System testing: Testing of modules in their native environment to verify it works where it will be deployed. Automated testing: Testing framework Selenium may be used to launch a browser a click through the website and perform operations to find bugs. Acceptance testing: Final tests done to verify the system meets all requirements and is ready to be delivered to JEP.
Win Condition to Test Cases Mapping Requirement ID Test Case ID Wc_2651 TC-01: Receive Message Upon Checkin Wc_2609 Wc_2645 TC-02: View Volunteer’s Assigned Site Info Wc_2643 TC-03: Get Directions to Site Wc_2781 TC-04: View JEP Documents TC-05: View Schedule Information Wc_2610 TC-06: Export Checkin Information Wc_2784 TC-07: Browse Volunteer Information Wc_2782 TC-08: Manage JEP Documents Wc_2789 TC-09: Set Message for Volunteers Wc_2833 TC-10: Edit Message for Volunteers Wc_2785 TC-11: Login Wc_2787 Wc_2786 TC-12: Logout Wc_2794 TC-13: Search Volunteer Information Wc_2819 TC-14: Add User Role Wc_2820 TC-15: Edit Roles Wc_2832 TC-16: Delete User Role Wc_2823 TC-17: Add Site Wc_2824 TC-18: Edit Site Wc_2825 TC-19: Delete Site
Operational Concept Document
System trans- formation
Proposed new System
System Boundary
System Purpose and goals Capability Goals Priority Level OC_1 receive custom message upon check-in Must Have OC_2 Unique User accounts (JEP PAs, Administrators, Volunteers) OC_3 Geo-Location Check-In OC_4 Access to Site information (Map, contact, description) OC_5 Organize and access PDF Documents (reflective questions) Level of Service Goals Desired level Acceptance level Priority Level Referred WinWin Agreements Geo-location tolerance 30ft 100ft High WC_2610 Check-in Time 5s 15s Med System Availability 99% 95%
PROTOTYPE
STUDENT LOG IN
ADMIN LOG IN
REQUIREMENTS
Requirements Win Condition# Win Condition Priority WC_2610 As a program assistant, I can export my students successful check-ins information which includes( date, time, and site) .949 WC_2785 As a user I can log in. .936 WC_2819 As an admin, I can add users(admin, and program assistant ) to the system by adding their USC ID, and selecting their role(admin, program assistant ). .934
Requirements Win Condition# Win Condition Priority WC_2823 As an admin, I can add site information including Name, dress code, no school, Early Dismissal ,Image ,Office Location ,Address, Principal Name, Coordinator's info(First Name, Last Name ,email, Office Location) .934 WC_2645 As a JEP volunteer, I can log in and find my site information including location, description, and site times that I am supposed to go there. .896 WC_2786 As a user, I can log out. .871 WC_2787 As a user, I can view the proper website view based on my role after I logged in .855
Requirements Win Condition# Win Condition Priority WC_2609 As a JEP volunteer, I can check-in my geo location on through the website either from my phone or pc, to confirm my attendance at a school or volunteer site. .855 WC_2784 As JEP PA, I can browse my student information. WC_2794 As JEP Admin, I can search student view and their information. WC_2789 As a JEP staff(PA,Admin), I can set the message that students will get when they checked_in by setting the message start date, end date, and content. .820
Requirements Win Condition# Win Condition Priority WC_2643 As a JEP volunteer, I can see maps to and from community sites and USC. .783 WC_2651 As a JEP volunteer, I get a message when I check in .745 WC_2824 As an admin, I can edit site information including Name, Dress Code, No School, Early Dismissal ,Image ,Office Location ,Address, Principal Name, Coordinator's info(First Name, Last Name ,email, Office Location) .700
Requirements Win Condition# Win Condition Priority WC_2820 As an admin, I can edit users'(admins, and PA) roles in the system. .686 WC_2795 As a JEP admin , I can notify students through email. .678 WC_2781 As JEP PA, I can browse my student information .662 WC_2832 As an admin, I can delete users'(admins, and PA) roles in the system. .647 WC_2833 As a JEP staff(PA,Admin), I can edit the message that students will get when they checked_in by setting the message start date, end date, and content.
Requirements Win Condition# Win Condition Priority WC_2825 As an admin, I can delete a site. .647 WC_2820 As a program assistant , I can upload JEP important pdf documents. .618
ARCHITECTURE
System Context Diagram
Artifacts and Information Diagram
Process Diagram
Manage JEP documents
Export check-in
Hardware Component Class Diagram
Deployment Diagram
User Interface Class Diagram
Login and Role Management Class Diagram
Check-in Class Diagram
Document Management Class Diagram
Site Management Diagram
Message Management Class Diagram
Volunteer Class Diagram
Login Sequence Diagram
Check-in Sequence Diagram
Current NDI Choice 100% 50% Routing Basic Map 0% 25% 0% 0% Places Street View Google Maps API Data Visualization Satellite
Why Google Map API? Free License can meet our requirement. We do not need to buy the Business License. The Google Maps APIs let us embed Google Maps in our web pages or mobile apps easily. We can refer to Google Maps JavaScript API v3 which provides lots of code examples. The API even provides specific interface for different browse and operation system.
LIFE CYCLE PLAN
Operational Concept Engineer Team member's role in 577a Name First role Second role Wei Yan System Architect Feasibility Analyst Shreya Nigam Project Manager Life Cycle Planner Wei-ting Cheng Operational Concept Engineer Reem Alfayez Requirement Engineer Rebecca Lin Prototyper Ricardo Solano Developer Nicholas Pecoraro IIV&V Quality Focal Point
Developer /Tester/trainer Team member's role in 577b Name First role Second role Wei Yan System Architect Developer /Tester/trainer Shreya Nigam Project Manager Wei-ting Cheng Life Cycle Planner Reem Alfayez Requirement Engineer Rebecca Lin Tester Nicholas Pecoraro IIV&V Quality Focal Point
Life cycle plan
Life cycle plan for Foundation Phase Rebaseline
Life cycle plan for first iteration
Life cycle plan for second iteration
Life cycle for transition plan
FEASIBILITY EVIDENCE
Cost Analysis-Personnel Costs Activities Time Spent (Hours) Development Period (24 weeks) Valuation and Foundations Phases: Time Invested (C577a, 12 weeks) Client: Meeting via email, phone, and other channels [2 hrs/week * 12 weeks * 5 people] 120 Client Representatives: Meeting via email, phone, and other channels [2 hrs/week * 12 weeks * 5 people] Architecture Review Boards [1.5 hrs * 2 times * 5 people] 15 Development and Operation Phases: Time Invested (CS577b, 12 weeks) Client: Meeting via email, phone, and other channels [1 hrs/week * 12 weeks * 5 people] 60 Maintainer: Meeting via email, phone, and other channels [1 hrs/week * 4 weeks * 1 people] 4 Architecture Review Boards and Core Capability Drive-through session [1.5 hrs * 2 times *5 people] Deployment of system in operation phase and training - Installation & Deployment [2 hrs * 2 times * 5 people] - Training & Support [2 hrs * 2 times * 5 people] 40 Total 374 Maintenance Period (1 year) Maintenance [1 hr/week * 52 weeks] 52
Cost Analysis-Hardware and Software Cost Hardware and Software Costs – Development Type Cost Rationale Hardware – Web server $0 Using current web server at JEP house. Hardware – Database server Using current database server at JEP house. Hardware and Software Costs – Operation Type Cost Rationale Hardware – Web Server $0 Since the development machine can be used as an operation machine, no cost is required here. Hardware – Database sever
Current activities & resources used Time Saved (Hours/Year) Benefit Analysis Current activities & resources used % Reduce Time Saved (Hours/Year) The time to check and enter the students’ attendance Program assistant (1000 JEP student * 10 mins * 16 weeks = 160, 000 mins) 90% 2400 The time to deliver the JEP student’ attendance sheet back to JEP house JEP student (1000 JEP student * 20 minutes * 16 weeks = 320, 000 mins) 4800 The time to give every JEP student the reflective question Program assistant (1000 JEP student * 10 mins = 10, 000 mins) 150 The time of JEP student find the direction to the site JEP student (1000 JEP student * 5 mins * 16 weeks= 80, 000 mins) 1200 The time of JEP Program assistant to give students their schedule Program assistant (1000 JEP student * 5 mins = 5, 000 mins) 75 Total 8625
Benefit (Effort Saved) ROI Analysis Year Cost Benefit (Effort Saved) Commutation Cost Cumulative Benefit ROI 2014 374 -1.00 2015 52 8625 426 19.25 2016 478 17250 35.09 2017 530 25875 47.82
NDI analysis results Google maps API Usages Comments Google maps API Show the direction from student current position to the site. Get student current location and compare it to the site location. Positive points: Easily use Very precise Negative points: No negative points Filemaker Database Freeware Client’s requirement Negative points MySQL
Major risk Risks Risk Exposure Risk Mitigations Potential Magnitude Probability Loss Failure to implement Shibboleth. Shibboleth comes under Dornsife which is not fully ready for implementation. 8 7 56 Start working on log in prototypes. Accuracy of the location for check-in. The checks ins are used for attendance and incorrect data can cause problem. 49 Speak to the client that this feature should only be available for mobile phones The system required the JEP registration database which might not be available until next semester. JEP has been using an obsolete database system for managing the details and Dornsife is maintaining their second database for registration system 6 36 Communicate to the client that the database is an essential part of the system to expedite the database implantation. Cannot distinguish phone access or PC access. 5 25 Start working on prototype The free web server may not work during the ARB. 3 9 Record the prototype demo.
QUALITY FOCAL POINT
Metrics Reporting
Metrics Reporting Defect Data Requirements Design Documents Found Via Defect Sources Requirements Design Documents Peer Review 4 Sanity Check 6 1 ARB 3
Technical Debt Solved Artifact Version Naming Remaining Computer Check-in as Part of Requirement User Interface System Tests on Free Hosting Site Computer checkin- We will resolve whether or not the desktop computer-based checkin should have been part of the requirement or not early next semester. User Interface – Does not look nice, but is used for verifying pages are functional. We don’t have a design yet. System Tests on Free Hosting – Until our Dornsife server and database is functional, we may have to use a free hosting website environment for any System Tests that we may need to do.