Spherical Modeling Tool Team 13 Lyle Franklin Mehmet Sezer Ari Summer Rathin Kumar Vijaya Kumar Sait Ilhaner Guoxiong Xie Outlines • Acceptance Test Plan and Cases • OCD • Prototype Update • Architecture • Life Cycle Plan • Feasibility Evidence 2 Acceptance Test Plan Outline * Unit Testing * Monkey Testing * Performance Testing * Security Testing * Reliability Testing * Load Testing * End to End Testing 3 Acceptance Test Cases Unit Tests * Creating a Sphere – Test whether user can successfully create a sphere. * 2D/3D View – Test to see if user can toggle between 2D and 3D views. * Edit Sphere – Test to see if user can edit the sphere and save it. * Share Sphere – Test to see if user can share the sphere succesfully. * Register – Test user registration, login and logout. Test the edge cases and rainy day scenarios (bad user input,etc.). * Creating Questions – Test whether user can create questions. * Edit Questions – Test to see if user can edit the questions. 4 LOS Test Cases * Performance Testing - Speed (test the initial load times of home page, time it takes to toggle between 2D/3D view,etc.). * Scalability (how does system respond when there are 100 users and what happens if we gradually increase the number of users). * Stability (what happens if 1000 users tries to create a 2D or 3D sphere, what happens when all of them try to toggle between 2D/3D view). 5 LOS Test Cases * Security Testing – Test cases according to (www.owasp.org/index.php/Web_Application_Security_Testing_Cheat_Sheet). * Reliability Testing – Test to see if we are up by 99% of the time. * Load Testing – Mainly do stress testing, concurrent users logging into the system at one time, concurrent user logging into system rapidly and doing the same thing or using the app heavily. Will be mainly using Apache Jmeter and if it does’t fit our needs, we will evaulate LoadUIWeb (loaduiweb.org). 6 DOD * Code written including comments, checkins. * Pull requests are reviewed. * Unit test are written and passing. * Build without errors. * Passed UAT. * Relevant documentation produced or updated. * Trello tasks are updated and remaining time set to zero and task closed. 7 Team’s Strong Points (Operational View) * Strong Communication (email, team/client meetings,etc.) * Commitment to The Class and to The Project * All CS Master Students 8 Team’s Strong Points (Technical View) * Consists of Subject Matter Experts Programming Wise (Both back and front end technically solid people, in other words skills/needs match) * Ability to Learn and Iterate New Technologies Quickly * Use of Online Collaboration Tools (Google Docs, Dropbox, Trello, Flowdock, Bugzilla, Winbook) 9 Team’s Weak Points (Operational View) * Having An Off-Campus Student Adds an Extra Layer of Communication (This is mitigated by team members taking notes and uploading to Dropbox, Skype meetings and emails) * People Having Different Schedules (This is mitigated by agreeing on a common time) * Two new students – adjustment time, etc. 10 Team’s Weak Points (Technical View) * Low Precedence Technology (There is nothing like Spherical Modeling Tool on the market. Possible solution is by having a prototype and see how it works.). * Possible Technology (Like advanced graphic rendering needed to render the Spherical Model) might take some time to learn and iterate (Possible solution is to constantly practice the new technology and get help from online communities). 11 Overall Evaluation * Strong Team * Real Life Project * Great Learning Opportunity * Diverse Backgrounds 12 OCD Outline * System Purpose * Changes in System * Capability Goals * Level of Service Goals * Diagrams 13 System Purpose * Develop a data visualization model that uses the shape of a sphere to provide a holistic evaluation of the condition of dynamic systems * Mission is to improve productivity, communication, awareness and understanding in a wide variety of domains * Domains include education, healthcare, business and government organizations 14 Changes in System There is no change in the system. 15 Capability Goals Capability Goals Priority Level OC-1 Sphere Generation Must Have OC-2 Collaborative Editing Should Have OC-3 Data Visualization Want to Have 16 Level of Service Goals Level of Service Goals Desired Level Acceptance Level Referred WinWin Agreements 2D/3D Toggling Time 1s 5s WC_2496 Response Time Upon Addition of the Next Sphere and Upon Editing the Existing Picture of An Assembly of Different Spheres 0.1 s 5s WC_2482, WC_2483, WC_2493, WC_2494 Response Time Upon Sphere Rotation, Editing 0.02 s 2s WC_2493 Uptime (Heroku) 99 90 WC_2780 17 System Boundary and Environment Diagram 18 Prototype Update http://mighty-refuge-4158.herokuapp.com/ 19 Architecture Outline * System Context * Class Diagram * Sprint 1 Subset * NDI Products 20 System Context 21 Class Diagram (Server) 22 Class Diagram (Client) 23 Sprint 1 Subset 24 Architecture NDI Product Three.js Purpose 3D Graphic Rendering Library Highcharts Chart Creation MongoDB Database Node.js Build Scalable Network Applications Express.js Node.js Web Application Framework Backbone.js Bootstrap jQuery RequireJS Yeoman Heroku Client-Side MV Framework Mobile First Front-End Framework Facilitate Javascript Procedures Such as Event Handling, Animations. Async. load JS dependencies Toolchain to automate project builds and deployment Hosting Services 25 Life Cycle Plan Outline * Key Stakeholders Roles & Responsibilities by Phase * Project Plan * Iteration Plan 26 Roles in 577B 27 Responsibilities Example 28 Project Plan Construction Iteration Sprint 1 29 Project Plan Construction Iteration Sprint 2 30 Project Plan Development Phase - Transition Iteration 31 Iteration Plan Strategy * Construction Iteration: Two Iterations * Within The Two Iterations: - Adopt Scrum Development Process - Three 2-Week Sprints in CCI - One 2-Week Sprint in FCI 32 Iteration Plan for Core Capability Drive Through Milestone Construction Iteration Capabilities To Be Implemented Sprint 1 : 50 points Sprint 2 : 53 points Sprint 3 : 40 points 33 Iteration Plan for Core Capability Drive Through Milestone 1. Construction Iteration Capabilities To Be Tested * All The Capabilities Will Be Tested (Except Those Noted On Next Slide) 2. Non-Functional Requirement To Be Tested 34 Iteration Plan for Core Capability Drive Through Milestone * Construction Iteration Capabilities NOT To Be Tested 35 Feasibility Analysis Outline * Feasibility Evidence & Business Case * Risk Analysis * Traceability Matrix * Definition of Done * Metrics * Conclusion 36 Feasibility Evidence & Business Case Assumptions * A Successful Data Visualization Model * Analysis of The Application (As An Automation Tool Implemented to An Environment That Already Uses The Model) * Usage Rate : 60 Spheres/Year 37 Business Case Cost Identification * Personnel Costs Activities 1st Year Rate Other Years Rate Meetings with Development Team 24 Weeks * 2 hours * $30.00 = $1440.00 $0.00 Total Cost $1,440.00 $0.00 38 Business Case Cost Identification * Hardware and Software Costs Type Database Server Rationale Store and make database available to access through application Database Software designed to manage Management database, data, and run operations System on the data requested by users Cost $9.00 (per month) $0.00 Web Server Store and make application available online $35.00 (per month) Domain Name Facilitate the access to the application $15.00 (per year) $543.00 (per year) 39 Benefits Identification Current Activities & Resources Used % Reduce Time Saved (Hours/Year) Reuse of Pre-existing Sphere Template 100 1 min/sphere *60 spheres/year = 1 h/year Comparison of Answers from Different People to the Same Sphere 25 1 min/sphere * 60 spheres/year = 1 h/year Drawing of 2D Chart 100 1 min/sphere * 60 spheres/year = 1 h/year Drawing of 3D Sphere 100 1 h/sphere * 60 spheres/year = 60 h/year Sharing of Sphere Data 50 2 min/sphere * 60 spheres/year = 2 h/year Total Total Value 65 h/year 65 h/year * $30/h = $1,950.00 40 ROI Analysis Year Cost Benefit Cumulative Cost Cumulative Benefit ROI 1 $1,983.00 $0.00 $1,983.00 $0.00 -1.00 2 $543.00 $1,950.00 $2,526.00 $1,950.00 -0.23 3 $543.00 $1,950.00 $3,069.00 $3,900.00 0.27 4 $543.00 $1,950.00 $3,612.00 $5,850.00 0.62 5 $543.00 $1,950.00 $4,155.00 $7,800.00 0.88 41 Risk Analysis Risk Exposure Risks Risk Mitigations Potential Magn. Prob. Loss Risk Exp. 10 0 0 Difficulties to Embed 3D Image Into Distribution 9 0 0 Functional prototype has shown the ability to properly embed the 3D image into a web site. 3D Rendering Algorithm's Run Time 7 0 0 Functional prototype has shown that run time for rendering is not a threat. Unclear Definition of Project Priorities 6 0 0 The team has a clear definition of the project requirements and priorities. Problems with Usability of Model 9 3 27 Constantly try to test model usability with prototypes and adapt it to fit into users' needs. 3 The development of functional prototypes has helped reduce this risk. Give preference for interoperable NDIs and their alternatives, or debug code. 3D Rendering Problems with NDI Interoperability 6 0.5 The algorithm is complete, poses no risk. 42 Traceability Matrix OC-1 WC_2493 - UC11 Sphere Generation As a user I can edit/add/remove nodes (questions), sectors (categories), and sphere title (with admin permission). WC_2486 - UC17 As a user I can title a sphere. WC_2484 - UC19 As a user I can generate questions for each node. TC-01-01 Check sphere and node creation TC-01-02 Check node label creation OC-2 Collaborative Editing WC_2499 - UC05 As a user I can share a sphere with another user. This includes allowing another user to view your sphere and edit data (based on permissions). WC_2498 - UC06 As a user I can prompt other users to enter data (notification through app and email). WC_2495 - UC09 As a user I can assign permissions to other registered users. 43 Traceability Matrix TC-03-01 Edit Sphere TC-04-01 Share Sphere TC-05-01 Register OC-3 Data Visualization WC_2485 - UC18 As a user I can see the data visualize in a 3D sphere. WC_2492 - UC12 WC_2633 - UC01 WC_2829 - UC27 As a user I can overlay data from different users so that I can compare different shapes (w/different colors). This only includes the 2D rendering. As a user I can visualize the data in a 2D chart. As a user I can select which sets of data show up in the 2D/3D visualizations. TC-02-01 Check 3D Sphere View TC-02-02 Toggle Between 2D/3D View 44 Traceability Matrix OCD Requirements SSAD Test Cases OC-1 WC_2493 WC_2486 WC_2484 UC-11 UC-17 UC-19 TC-01 WC_2499 WC_2498 WC_2495 UC-05 UC-06 UC-09 TC-03 TC-04 TC-05 WC_2485 WC_2492 WC_2633 WC_2829 UC-18 UC-12 UC-01 UC-27 TC-02 (Sphere Generation) OC-2 (Collaborative Editing) OC-3 (Data Visualization) 45 Definition of Done Test and Verify the Correct Entry of Data √ Delete Sphere √ Overlay Data in 2D Chart 2/14/2014 √ Update Display Name 2/13/2014 Generate Questions for Each Node Open an Existing Sphere Project 2/12/2014 √ √ Enter Node Labels 2/10/2014 √ Edit Data in Table Format Enter Categories for Each Node 2/7/2014 2/6/2014 2/5/2014 Toggle Between 2D&3D 2/4/2014 Title a Sphere 2/3/2014 Sprint - 1 √ √ √ . . 46 Definition of Done Visualize the Data in 2D Chart 5/5/2014 View Average of All Selected User Data 4/23/2014 Search Sphere by Name and Owner 4/22/2014 Save a Sphere as a Template 4/18/2014 . 3/10/2014 Assign Permission to Other Users 3/7/2014 . 3/6/2014 Edit/Add/Remove Questions, Categories 3/3/2014 2/27/2014 Sprint - 2 . . . . Sprint - 3 Transition (Acceptance Environment) Transition (Production Environment) Training Project Relesase . . . .47 Metrics * Bugzilla Reports * Bug Periods Efficiency * Worked Hours Efficiency 48 Metrics Bug Period Efficiency Blue - Days to be finished Orange - Over the deadline 49 Metrics Worked Hours Efficiency 50 Analysis Conclusion Feasible Project * Good Return of Investment Rate * Low Risk Project 51 Spherical Modeling Tool Questions? 52