SQUAAD TRR ARB 04/13/2018
Overview Product Description Complete Demo Product Usability Transition Issues and Transition Plan Training Plan Support Plan
Product Description - What is SQUAAD? Software Quality Understanding by Analysis of Abundant Data
SQUAAD is for all stakeholders in software development Developed Software Quality Understanding by Analysis of Abundant Data Managed Invested
SQUAAD is for all stakeholders in software development Quality Understanding by Analysis of Abundant Data Developer ⇒ Contributions Manager ⇒ Evaluation Investor ⇒ Value
SQUAAD provides varied insights into software projects Quality Understanding by Analysis of Abundant Data Quality Metrics Multiple Projects
SQUAAD provides... … and is a platform for better understanding. Easy and secure accessibility on the web. Developed for google Chrome and supports HTTPS for secured, safe browsing on the most popular browser User and account management; with verification with email Metrics and statistical views for analysis; altogether
OCD - System Boundary Overview
Demo Normal Features Statistical View Features Demo data Demo step Screenshots Statistical View Features
Demo - Features Log in Add collaborator Log out View project request Sign up Route protection Forgot password Sidebar menu Dashboard View project list Add/remove a favorite project Add project Add collaborator View project request View project analysis result Manage request Collaborator request Project request Email update Manage user Manage access Manage project
Demo - Data(1) User Account Role admin@admin.com ADMIN Id Account Role 4 admin@admin.com ADMIN 2 supichapd@hotmail.com USER 3 supichapd@gmail.com Project Id Project Name isPublic? 37 apache-cxf-fediz FALSE 38 apache-calcite 39 nasa-WellClear 2 apache-commons-bcel Contributor project User apache-calcite phadungs@usc.edu
Demo - Data(2) Permission Account Project Permission Type supichapd@hotmail.com apache-calcite Owner nasa-WellClear Collaborator apache-commons-bcel supichapd@gmail.com
Demo - Route Protection, Sign up & Login Step Account & Page & Action Expected output Feature: Route Protection 1 Directly opens Dashboard page without login. System should redirect to login page Feature: Sign up, Login, Logout 2 Go to ‘Sign up’ Page and create user. User: phadungs@usc.edu Password: Settrade99 - User created - System sends email to user’s email. 3 Open email and click ‘Confirm’ button System activate account and redirect to ‘Login’ page 4 Go to ‘Login’ Page, fill and submit ‘Login’ Form - Successful login to the system - System will redirect you to ‘Dashboard’ Page - ‘apache-calcite’ project displays in project list. 5 Click ‘Log out’ button - Log out of the system - System redirects to ‘Login’ Page
Feature: Manage Access Demo - Manage Access Step Account & Page & Action Expected output Feature: Manage Access 6 Account: admin@admin.com Page: Manage Access Click ‘Edit Project Access’ button of ‘apache-calcite’ project. Move ‘phadungs@usc.edu’ to locate under ‘No Access’ label 7 Account: phadungs@usc.edu Page: Dashboard Doesn’t have ‘apache-calcite’ project in project list
Feature: Forgot Password Demo - Forgot Password Step Account & Page & Action Expected output Feature: Forgot Password 8 Click ‘Forgot Password’ link System redirects to ‘Forgot Password’ Page 9 Fill ‘Forgot Password’ form and submit email: phadungs@usc.edu System sends ‘Forgot Password’ email 10 Open email and click ‘Reset Password’ System redirects to ‘Reset Password’ Page 11 Fill ‘Reset Password’ form and submit. Password: Settrade10 System resets password and redirect to ‘Login’ Page 12 Fill ‘Login’ form and submit User: phadungs@usc.edu Password: Settrade99 Login Fail 13 - Login success - System redirects to ‘Dashboard’ page 14 Click ‘Log out’ button - Log out success - System redirects to ‘Login’ page
Demo - Sidebar & Dashboard Step Account & Page & Action Expected output Feature: Sidebar 15 Account: supichapd@hotmail.com Password: Settrade99 Page: Login Page A sidebar is display different based on user’s role. 16 Account: admin@admin.com Feature: Dashboard 17 Page: Dashboard - Can search project - Can add/remove favorite - ‘apache-calcite’ displays as private project - ‘apache-cxf-fediz’ doesn’t show up.
Demo - Add Collaborator Step Account & Page & Action Expected output Feature: Add Collaborator 18 Account: supichapd@hotmail.com Page: Add collaborator Send ‘add collaborator’ request. (3 cases) - user already has permission. - duplicated request - success (nasa-WellClear) - success 19 Account: supichapd@gmail.com Page: Dashboard Doesn’t have ‘nasa-WellClear’ in project list 20 Account: admin@admin.com Action: Manage request page - Approve request ‘nasa-WellClear’ - Reject request ‘apache-commons-bcel’ Success approve and reject request. 21 Have ‘nasa-WellClear’ project in project list
Demo - Add Project Step Account & Page & Action Expected output Feature: Add Project 22 Account: supichapd@gmail.com Page: Add Project Fill ‘Add Project’ form and submit Project Name: twbs-bootstrap URL: https://github.com/twbs/bootstrap isPublic: true System creates ‘Add Project’ request 23 Page: Dashboard Doesn’t have ‘twbs-bootstrap’ in project list 24 Account: admin@admin.com Action: Manage request page - Approve project ‘twbs-bootstrap’ Success approve request. 25 have ‘twbs-bootstrap’ in project list
Feature: Manage Project Demo - Manage Project Step Account & Page & Action Expected output Feature: Manage Project 26 Account: supichapd@gmail.com Page: Dashboard have ‘apache-commons-compress’ project and ‘apache-commons-configuration’ in project list 27 Account: admin@admin.com Action: Manage project - set ‘apache-commons-compress’ project as a closed source. - set ‘apache-commons-configuration’ as a inactive project. Success approve request. 28 Doesn’t have ‘apache-commons-compress’ project and ‘apache-commons-configuration’ in project list
Demo - Manage User Step Account & Page & Action Expected output Feature: Manage User 29 Account: admin@admin.com Page: Manage Users Set ‘supichapd@gmail.com’ account as inactive. Success set ‘supichapd@gmail.com’ account as inactive. 30 Account: supichapd@gmail.com Click ‘Log out’ button - Log out success - System redirects to ‘Login’ page 31 Password: Settrade99 Login fail (user inactive)
Demo - Sign up
Demo - Login
#ClientMenu Demo - User Sidebar
#ClientMenu Demo - Dashboard
#ClientMenu Demo - Add Project
Demo - Add Collaborator #ClientMenu Demo - Add Collaborator
#ClientMenu Demo - Project Request
#AdminMenu Demo - Admin Sidebar
Demo - Manage Collaborator Request #AdminMenu Demo - Manage Collaborator Request
Demo - Manage Project Request #AdminMenu Demo - Manage Project Request
#AdminMenu Demo - Manage Users
#AdminMenu Demo - Manage Projects
#AdminMenu Demo - Manage Access
Demo - Statistical View Features Scatter plot showing metric coevolution Zoom in/out Filter data Date range Authors Commits ranked by metric diff Contributor, Affiliations, and Clustering pie chart Add/remove components dynamically Export data to Excel
Demo - Statistical View #StatsView Demo - Statistical View
Demo - Statistical View #StatsView Demo - Statistical View
Demo - Statistical View #StatsView Demo - Statistical View
Demo - Statistical View #StatsView Demo - Statistical View
Demo - Statistical View #StatsView Demo - Statistical View
Demo - Statistical View #StatsView Demo - Statistical View
Demo - Statistical View #StatsView Demo - Statistical View
Demo - Statistical View #StatsView Demo - Statistical View
Product Usability (Based on Personas) Name: George Age:28 Job Scenario: Boeing, 55 hrs/wk Situation: I believe my performance over the last few years demonstrates that I deserve a promotion and a raise. His Boss says: "Well, we're not in a raise cycle right now, so let's track your performance and see what it merits." Result: With the current SQUAAD system, George and his team, can send their repository to the the admin of the system and request a new project analysis, based on the result of the analysis, George’s Managers can decide his efficiency and his activity
Product Usability (Based on Personas) Name: Pooyan Age:27 Number of Student: 8 Current Grading Method: depends case by case. Some, are implementing features, so I have a minimum expectations. Some, are learning new materials, so the criteria is based on their progress (online course, books, etc.) Result: Current SQUAAD system: has capability to produce an Excel file of metrics, helping Pooyan to score or rate his students based on the value of their code as provided or evidenced by the metrics
Result of Product Usability Survey Usability Test Item Average STDEV Median How easy was it to use the Web App (Sign up, log in, log out, and other features)? 8.91 1.31 10 How easy was it to analyze a project for different metrics? 8.27 2.53 9 How would you rate the UI of the web app? 7.82 8 How likely would you need an instruction manual to use the product? 5 2.92 4 How likely are you to recommend this product to others? 7.73 2.09 7
Usable & Reliable Trusted services with: AWS HTTPS Nginx Docker Optimized for Chrome AWS for hosting, HTTPS encryption with LetsEncrypt, Nginx and docker for containerization
Transition Issues & Plan Transitioning is happening on April 20, 2018 at 12:00 noon Transition Plan AWS (transfer account) Github (transfer account) User Manual Documentation Project building instructions Provide code and supporting documentation Issues Client needs GitHub and AWS accounts
Support Plan We will provide support for the following: Tool’s Operations (main functionalities and Admin OPs) Code, Host & Server Maintenance COTS Limited availability for different members of the team Supicha Phadungsilp (Mondays phadungs@usc.edu) Kavneet Kaur (till 12/11/18 kavneetk@usc.edu ) Sahar Pure(Fridays, Saturdays spourmoh@usc.edu ) Reza Khazali (rkhazali@usc.edu) The client is required to take over long term maintenance
Training Transition & Support Material User Manual Tutorial Video Test Suite (Excel workbook + .feature files) Code Map Document Code Documentation Schedule: April 20, 2018 12:00 Noon Participants: 1(client) + 3 (students) + 4 (team)
Questions & Answers
Thank You!