Operational Concept Description (OCD) for SQUAADVersion 1.2

Prototype Report (PRO)

Software Quality Understanding by Analysis of Abundant Data (SQUAAD)

Team No.1

Implementers:

Aleksandr Chernousov

Chris Harman

SupichaPhadungslip

Testers:

Kavneet Kaur

Reza Khazali

George Llames

Sahar Pure

February 16, 2018

1

PRO_ASBUILT_S18b_T01_V2.3.docxVersion Date: 10/15/17

Version History

Date / Author / Version / Changes made / Rationale
09/27/17 / AK / 1.0 /
  • Created Balsamiq UI Mockups
  • Flow Charts for profiling system
  • Tableau for multiple metrics and statistics
/
  • Better understanding of the UI requirements

09/27/17 / AK / 1.1 /
  • Created React UI components
  • Added Request for Analysis
  • Added multiple statistics components
/
  • To mitigate the risk of low personnel experience with ReactJS

11/25/17 / AK / 2.0 /
  • Added Other Charts and legends to Statistics page.
  • Got statistics to work with all projects and metrics.
  • Created a metric picker for statistics.
  • Added Project status page.
  • Added Login, Registration and Add collaborator components.
  • Added user Dashboard components.
  • Cosmetic changes done.
/
  • To demonstrate the feasibility and fulfill the requirements agreed upon in the win-win negotiation.

2/15/18 / CH / 2.1 /
  • Updated visuals to reflect current state of the application (as-of ARB-RDC).
  • Updated current state of functional components.
/
  • Ensure that the latest UI enhancements are highlighted.

2/16/18 / CH / 2.2 /
  • Update verbiage in initial descriptions.
  • Add ‘Newly Added/Updated’ spec for enhancements since last prototype iteration.
/
  • Highlight progress since last major development sprint.

4/25/18 / CH / 2.3 /
  • Updates to detail features that exist within application
  • Update project status/purpose
/
  • Clarify current application state for as-built package

Table of Contents

Prototype Report...... 1

Version History...... 2

Table of Contents...... 3

Table of Tables...... 4

Table of Figures...... 5

1.Introduction...... 6

1.1.Status of Prototypes...... 6

1.2.Purpose of Prototypes...... 6

2.Navigation Flow...... 7

3.Prototype...... 8

Table 1:Request Analysis...... 8

Figure 1:Request Analysis...... 8

Table 2:User Dashboard...... 9

Figure 2: User Dashboard...... 9

Table 3:Multi Metric Statistics...... 10

Figure 3: Multi Metric Statistics...... 10

Table 4:Forgot Password...... 11

Figure 4:Forgot Password...... 11

Table 5: Sign Up...... 12

Figure 5: Sign up...... 12

Table 6: Login...... 13

Figure 6: Login...... 13

Table 7: Logout...... 14

Figure 7: Logout...... 14

Table 8: Analysis Request Status...... 15

Figure 8: Analysis Request Status...... 15

Table 9: Add Collaborator...... 16

Figure 9: Add Collaborator...... 16

Table 10: Admin Requests Notification...... 17

Figure 10: Admin Requests Notification...... 17

Table 11: Users Information...... 18

Figure 11: Users Information...... 18

Table 12: Projects Information...... 19

Figure 12: Projects Information...... 19

Table 13: Access Information...... 20

Figure 13: Access Information...... 20

Table of Tables

Table 1: Request Analysis

Table 2: User Dashboard

Table 3: Multi Metric Statistics

Table 4: Forgot password (UI render)

Table 5: Sign Up

Table 6: Login

Table 7: Logout

Table 8: Analysis Request Status

Table 9: Add a Collaborator

Table 10: Admin Requests Notification

Table 11: Users Information

Table 12: Projects Information

Table 13: Access Information

Table of Figures

Table 1: Request Analysis

Table 2: User Dashboard

Table 3: Multi Metric Statistics

Table 4: Forgot password (UI render)

Table 5: Sign Up

Table 6: Login

Table 7: Logout

Table 8: Analysis Request Status

Table 9: Add a Collaborator

Table 10: Admin Requests Notification

Table 11: Users Information

Table 12: Projects Information

Table 13: Access Information

1.Introduction

This report provides the status and purpose of prototype for SQUAAD. The SQUAAD project focuses on visualization of data provided by the client for monitoring the quality of software through the evolution of the development process.Data is provided on a commit-level granularity for many software quality metrics and is visualized within the SQUAAD system. Future work includes: deploying the app with HTTPS over the open internet, fully implementing the project and user profiling capabilities (these are nearly complete) anddeveloping an emailing module for user registration/alerting.

1.1.Status of the prototype

Features that were prototyped/documented were implemented and are featured in the current system. Changes were made to the application UI in accordance with feedback received from the client, as well as feedback obtained from users within the system. Additional functionality was added to facilitate easily adding new visual components into the application, given that several DR students spent much of the semester creating new visuals on behalf of the client.

1.2. Purpose of the prototype

Purpose of the prototype at this latter stage of the project is to serve as a record of the influences that ultimately led to the project in its final state. Newly Addedflags have been removed since the last version.

2.Navigation Flow

3.Prototype

Table 1: Request Analysis

Description / A user can request for a project to be analyzed
Related Capability / UC-7
Pre-condition / The user logs on to the system and clicks the add new projectbutton in the drop-down.
Post condition / The request for analysis of the project is sent for approval and the project is added on the analysis requests table for status.

Table 2: User Dashboard

Description / A user can look at projects he has analyzedand favorite projects.
Related Capability / UC-9, UC-11
Pre-condition / The user logs on to the system or clicks on the home menu button.
Post condition / User sees a list of favorite projects and a searchable list of all the projects that have been approved by admin and are analyzed.


Table 3: Multi Metric Statistics

Description / A user cansee multi-metric analysis result of the project along with other statistics like contribution chart and worst/best commits.
Related Capability / UC-10
Pre-condition / The user logs on to the systemand chooses of the project from his dashboard and then selects the metrics for comparison.
Post condition / User sees various statistics like contribution pie chart, worst/best commits and trade-space view of the metrics for that project.


Table 4: Forgot password(UI render)

Description / A user can ask for changing the password that has been forgotten.
Related Capability / UC-4
Pre-condition / The user logs on to the SQUAAD website and clicks the forgot password link on the login panel.
Post condition / User is redirected to the forgot password pagewhere he can enter the email for his account.

Figure 4: Forgot password (UI render)

Table 5: Sign Up

Description / A user can register to the website.
Related Capability / UC-1
Pre-condition / The user logs on to the SQUAAD website and clicks the sign-up link on the login panel.
Post condition / User can register after which the user is redirected back to the login page and success message pops up.

Table 6: Login

Description / A user can login to the website.
Related Capability / UC-2
Pre-condition / The user visits the SQUAAD website.
Post condition / User can input their credentials and are redirected to the use dashboard if correct credentials are input. They also see a success or failure message depending on the input.

Figure 6: Login

Table 7: Logout

Description / A user can logout of to the website.
Related Capability / UC-3
Pre-condition / The user visits the SQUAAD website, logins the website and clicks logout button from the top bar dropdown.
Post condition / User logs out and is redirected to the login page.

Table 8: Analysis Request Status

Description / A user can view the status of the submitted requests for analysis.
Related Capability / UC-8
Pre-condition / The user visits the SQUAAD website, logins the website and clicks Analysis request button from the top bar dropdown.
Post condition / User can view the status of all the requests of project submitted for analysis.

Table 9: Add a Collaborator

Description / A user can add a collaborator to the project so he can also have access to a closed source project.
Related Capability / UC-6
Pre-condition / The user visits the SQUAAD website, logins the website and clicks add collaborator button from the top bar dropdown.
Post condition / The user can input an email to add that user as a collaborator. The user gets a success message when the request is sent.

Figure 9: Add a Collaborator

Table 10: Admin Requests Notification

Description / An admin can view the current collaborator requestsand grant or deny these requests.
Related Capability / UC-15, UC-16
Pre-condition / The user logins the SQUAAD website as an adminor clicks the Requests button in the sidebar.
Post condition / Admin views all the current request notification, on clicking grant/deny the request is granted/denied. On clicking the cross icon, the requests are deleted.

Figure 10: Admin Requests Notification

Table 11: Users Information

Description / An admin can view the current collaborators and change their profile information if required.
Related Capability / UC-19
Pre-condition / The user logins the SQUAAD website as an admin and clicks the Users button in the sidebar.
Post condition / Admin views all the users and can select any user. By clicking on fieldsthe admin can also modify that information.

Final version used a tabular approach consistent with other views in the application

Table 12: Projects Information

Description / An admin can view the current projects which are analyzed and change their information if required.
Related Capability / UC-18
Pre-condition / The user logins the SQUAAD website as an admin and clicks the Projects button in the sidebar.
Post condition / Admin views all the projects and can select any project. By clicking on fields the admin can also modify that information.

Figure 12: Projects Information

Final version used a tabular approach consistent with other views in the application

Table 13: Access Information

Description / An admin can view and change information about access of projects to the users.
Related Capability / UC-20
Pre-condition / The user logins the SQUAAD website as an admin and clicks the Access button in the sidebar.
Post condition / Admin views the information about project access by clicking on a user and change the access informationby clicking on the respective checkbox.

Figure 13: Access Information

Access control in final version is centered around closed-source projects and allows configuring users as either Owner or Collaborator, depending on desired access level

1