Feasibility Evidence Description (FED)Version 1.0

Feasibility Evidence Description (FED)

Software Quality Analysis as a Service (SQAaaS)

Team No.1

Kavneet Kaur

Requirement Engineer

George Llames

IIV & V

Aleksandr Chernousov

Life Cycle Planner

Supicha Phadungsilp

Feasibility Analyst

Reza Khazali

Software Architect

Jincheng He

Quality Focus Point

Aditya Kathuria

Prototyper

Chris Harman

Operation Concept Engineer

Version History

Date / Author / Version / Changes made / Rationale
10/15/17 / SP / 1.0 / - / Initial draft for use with SQAaaS v1.0

Table of Contents

Feasibility Evidence Description (FED)

Version History

Table of Contents

Table of Tables

Table of Figures

1.Introduction

1.1.Purpose of the FED Document

1.2.Status of the FED Document

2.Business Case Analysis

2.1.Cost Analysis

2.2.Benefit Analysis

2.3.ROI Analysis

3.Architecture Feasibility

3.1.Level of Service Feasibility

3.2.Capability Feasibility

3.3.Evolutionary Feasibility

4.Process Feasibility

5.Risk Assessment

6.NDI/NCS Interoperability Analysis

6.1.Introduction

6.2.Evaluation Summary

Table of Tables

Table 1: Personnel Costs

Table 2: Hardware and Software Costs

Table 3: Benefits of SQAaaS System

Table 4: ROI Analysis

Table 5: Level of Service Feasibility

Table 6: Capability Requirements and Their Feasibility Evidence

Table 7: Evolutionary Requirements and Their Feasibility Evidence

Table 8: Rationales for Selecting Architected Agile Model

Table 9: Risk Assessment

Table 10: NDI Products Listing

Table 11: NDI Evaluation

FED_FCP_F16a_T01_V1.01Version Date: 10/15/17

Feasibility Evidence Description (FED)Version 1.0

Table of Figures

Figure 1: ROI Analysis Graph

1.Introduction

1.1.Purpose of the FED Document

The purpose of FED document is to determine the possibility to complete the project based on business case analysis, cost analysis, architecture feasibility, process feasibility, risk assessment and NDI/NCS interoperability analysis.

1.2.Status of the FED Document

Business case analysis, cost analysis, architecture feasibility, process feasibility, risk assessment has been added. The information in this part can be changed later during the development process.

NDI/NCS interoperability analysis will be add later.

2.Business Case Analysis

Assumptions
•Users want a way to analyze the quality of the software they have developed, managed, or invested in.
•Users will make business decisions based on the findings revealed by the software quality analysis.
•Users will access the system using Chrome on Desktop devices.
•Users will create an account using their email address.
Stakeholders / Initiatives / Value Propositions / Beneficiaries are
Developer - CSCI 577 Team
Maintainer - Pooyan
Client - Pooyan
Admin - Pooyan
Users - Researcher, Project Manager, Contributors (Navy, NASA, students) / Developers: Develop system
Maintainer: Maintain the system
Client: Properly host system using HTTPS, Advertise the system
Admin: Manage user permission
Users: Present project for analysis, hoping to examine software quality across various metrics. / Users able to analyze projects using various software quality metrics.
Users able to evaluate development team member contributions to software quality
Opportunity to fix major flaws identified by software quality metrics.
Grow system’s customer base.
Users can better understand the value of their investment.
System security will be consistent with industry standards. / Client
Users - Researchers, Project Manager, Contributors
Cost
Maintainer costs
Hosting costs
Certificate costs
Server costs / Benefits
Number of customers increases for analyzed software
Analyzed software security increases
Analyzed software increases in overall quality and value
2.1.Cost Analysis
2.1.1.Personnel Costs

Table 1: Personnel Costs

Activities / Time Spent (Hours)
Exploration, Valuation and Foundation Phases: Time Invested (CS577a, 12 weeks) / 35
•Group: 1st WinWin session [1.5 hr * 1 person] / 1.5
•Group: 2st WinWin session [1.5 hr * 1 person] / 1.5
•Client: Meeting via email, phone, and other channels [ 2hr/week * 12 weeks * 1 person] / 24
•Group: Architecture Review Boards[4 hr * 2 times * 1 people] / 8
Development Phase: Time Invested (CS577b, 12 weeks) / 37
•Client: Meeting via email, phone, and other channels [2hr/week * 12 weeks * 1 person] / 24
•Installation & deployment [5 hr * 2 times * 1 person] / 10
•Support [ 3 hr * 1 time * 1 person] / 3
Total Time Spent / 72
Total Cost [$0 / hours] * / $0
Maintenance Period (1 year) / 52
•Maintenance [1hr/week * 52 weeks * 1 person] / 52
Total Maintenance Time Spent / 52
Total Cost [$0 / hours] * / $0
2.1.2.Hardware and Software Costs

Table 2: Hardware and Software Costs

Type / Cost / Year / Rationale
Web Hosting / $101.62 / Amazon web service - Hosting for ReacrJS frontend and NodeJS Backend. (
Domain Name Hosting / Dreamhost - Domain name is need to access page. (
•First year / $11.95
•The following year / $13.95
SSL Certificate / $15 / Dreamhost - Client security issues(
Total Cost / •First year: $128.57
•The following year: $130.57
2.2.Benefit Analysis

Our project are the part of the research project which the target user are client, researcher and contributor (navy, NASA, student). The project current activities are increasing number of customers for analyzed, analyzed software security increases, analyzed software quality increases and analyzed software value increases.

Table 3: Benefits of SQAaaS System

Current activities & resources used / % Increase / Time Saved (Hours/Year)
Number of customers increases for analyzed software / 25% / Not Quantifiable
Analyzed software security increases / 70% / Not Quantifiable
Analyzed software quality increases / 70% / Not Quantifiable
Analyzed software value increases / 25% / Not Quantifiable
Total
2.3.ROI Analysis

Assuming cost increase 10% every years.

This is a part of client research’s project. He doesn’t get paid.

Cost

•Development cost = 72 hours * $0/hour = $0

•Maintenance cost = 54 hours * $0/hour = $0

•Hardware cost = $128.57 for first year and 130.57 for the following year

Benefit

Client has no plan to sale this product.

Table 4: ROI Analysis

Year / Cost / Benefit
(Effort Saved) / Cumulative Cost / Cumulative Benefit / ROI
1 / $128.57 / 0 / $128.57 / 0 / -1.00
2 / $130.57 / 0 / $259.14 / 0 / -1.00
3 / $143.63 / 0 / $402.77 / 0 / -1.00
4 / $157.99 / 0 / $560.76 / 0 / -1.00

Figure 1: ROI Analysis Graph

3.Architecture Feasibility

3.1.Level of Service Feasibility
Level of Service Requirement / Product Satisfaction
LOS-1: System should be able to support 20 users working on the system simultaneously. / Product Strategies: Node.js
Process Strategies: Node.js server concept is support scalability such as Node.js can delegate execution of the requestto a separate component and avoids spinning up threadsfor each request
Analysis:The system will be able to handle 20 users working on the system simultaneously based on Node.js server.
LOS-2: System should compatible with Chrome browser. / Product Strategies:ReactJS, ReactBootstrap, PrimeReact, D3&Canvas
Process Strategies: develop product using ReactJS, ReactBootstrap, PrimeReact, D3&Canvas which are support in chrome.
Analysis: The system will compatible with Chrome browser.
LOS3: System should be able to smoothly interact with the scatterplot chart of the coevolution of a system with10,000 data points for up to 4 metrics. / Product Strategies: D3 &Canvas
Process Strategies: implement chart prototype using D3.
Analysis: After implement prototype using D3 & canvas, we found that system can smoothly interact with 10,000 data points for up to 4 metrics.
LOS4: System should be able to load project analysis view in 2 seconds. / Product Strategies:ReactJS, ReactBootstrap, PrimeReact, D3&Canvas, Node.js
Process Strategies: prototype statistic view using ReactJS, ReactBootstrap, ReactPrime, D3&Canvas as a frontend component and Node.js as a backend component.
Analysis: System has high change to be able to load project analysis page in 2 seconds because we already prototype chart display. This chart can load in 2 second. For the backend part, Node.js average response time of 20 concurrent requests is 19 ms. It can support 509 requests/sec. [2017, Performance Comparison Between Node.js and Java EE, Retrieved from

Table 5: Level of Service Feasibility

3.2.Capability Feasibility

Table 6: Capability Requirements and Their Feasibility Evidence

Capability Requirement / Product Satisfaction
CR-1: Statistical Page / Software/Technology used:ReactJS, ReactBootstrap, PrimeReact, D3&Canvas and Node.js
Feasibility Evidence: Statistical page prototype
Referred use case diagram: SP
CR-2: Profiling System / Software/Technology used: ReactJS, ReactBootstrap, PrimeReact, Node.js and PostgreSQL
Feasibility Evidence: prototype using ReactJS, ReactBootstrap, PrimeReact
Referred use case diagram: PS
CR-3: SSL Certificate / Software/Technology used:Dreamhost Service
Feasibility Evidence:Dreamhost supports SSL Certificate
Referred use case diagram: HTTPS
3.3.Evolutionary Feasibility

Table 7: Evolutionary Requirements and Their Feasibility Evidence

Evolutionary Requirement / Product Satisfaction
ER-1: Scalability of the system / Software/Technology used: AWS
Feasibility Evidence: This application have plan to deploy on AWS which is a scalable and highly available server.
Referred use case diagram: -

4.Process Feasibility

Decision Criteria Rating Scale: 0:Very Low; 1:Low; 2:Medium; 3:High; 4:Very High Importance Rating Scale: 1:Low; 2:Medium; 3:High

Table 8: Rationales for Selecting Architected Agile Model

Criteria / Importance / Project Status / Rationales
30 % of NDI/NCS features / 3 / 4 / Using ReactJS, ReactBootstrap, PrimeReact
Single NDI/NCS / 1 / 0 / There is no a NDI/NCS that can support all project expectation.
Unique/ inflexible business process / 2 / 3 / The business process is not unique and able to negotiate wit h client.
Need control over upgrade / maintenance / 3 / 1 / Project should be easy to add more metrics.
Rapid deployment / 2 / 2 / The deployment deadline is Apr, 20 2018. I
Critical on compatibility / 3 / 3 / This project must compatibility with chrome browser.
Internet connection independence / 1 / 0 / Need internet connection to connect with backend server.
Need high level of services / performance / 3 / 2 / 20 users can work on the system simultaneously.
Need high security / 3 / 4 / User and password requires for user authentication.
Asynchronous communication / 1 / 1 / All communication are synchronous.
Be accessed from anywhere / 1 / 2 / Internet is need to access web application.
Critical on mass schedule constraints / 1 / 0 / No mass schedule.
Lack of personnel capability / 3 / 1 / All team members have no experience on ReactJS, ReactBootstrap, PrimeReact.
6/8 of team members have no experience on Node.js
Require little upfront costs / 2 / 2 / All developer tool and library are open-source.
Require low total cost of ownership / 2 / 2 / Need to pay for AWS, Domain hosting and SSL Certificate.
Not-so-powerful local machines / 1 / 1 / Not require powerful local machimes.

From Table 8 Rationales for Selecting Architected Agile Model, SQAaaS project match with service-intensive team project status with the Service-Intensive Decision Pattern the most.

5.Risk Assessment

Table 9: Risk Assessment

Risks / Risk Exposure / Risk Mitigations
Potential Magnitude / Probability Loss / Risk Exposure
Vague definition of statistical analysis view. / 7 / 9 / 63 / implement prototype for layout and data visualization to narrow down implementation options
Ambiguity in definition of Access Control for users of the application / 7 / 8 / 56 / implement use case diagram and activity diagram for access control flow and discuss with client
Client doesn’t have final idea on user interfaces / 7 / 8 / 56 / Team design and implement wireframe prototype and discuss with client.
Not consulting end users. / 6 / 8 / 48 / Should gather feedback and interact with eventual end-users to establish initial requirements.
Collaboration may be difficult, and siloing may occur within the team. / 4 / 9 / 36 / Establish a plan for collaboration, so that very large deliverables are not assigned to only an individual.
D3 might be unwieldy in React framework / 4 / 7 / 28 / Create a basic view as a dummy prototype
Programmatic testing might go unexplored / 5 / 5 / 25 / Consider the risks of not including code-based testing practices. Research available options and possibly implement tests, depending on risk factors.
React may be difficult to learn quickly / 3 / 8 / 24 / Each Team member create ReactJS Page based on prototype page from previous week.

6.NDI/NCS Interoperability Analysis

6.1.Introduction

< Identify the Non-Developmental Item (NDI) and Net-Centric Services (NCS) including open source software or libraries that you are using/ plan to use in your project and analyze their interoperability. >

6.1.1.COTS / GOTS / ROTS / Open Source / NCS

< Identify all candidate commercial off-the-shelf, government-off-the-shelf, research-off-the-shelf, open source software, libraries, and net-centric services component that you are using/ plan to use. Also identify the purpose of each component. >

Table 10: NDI Products Listing

NDI/NCS Products / Purposes
6.1.2.Connectors

< Identify the connector, for example

-“In this project, we use PHP/MySQL Connector to enable the PHP web application to retrieve and query data from the database”. >

6.1.3.Legacy System

< Identify the connector, for example

-“In this project, the development system has to be able to interoperate and works well with “BusinessWorks” version 5.2, which is a software system that the client is currently using.” >

6.2.Evaluation Summary

< Summarize the final selection of your interoperable NDI/NCS, its usage and its comment. Example can be found in ICSM EPG> Task: Analyze NDI Interoperability for NDI / NCS project. >

Table 11: NDI Evaluation

NDI / Usages / Comments

1