team 01 - diamond - csci577b software engineering ii

84
Team 01 - DIAMOND FCR ARB Presentation 2-Semester Project 1

Upload: others

Post on 21-Jan-2022

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Team 01 - DIAMOND - CSCI577b Software Engineering II

Team 01 - DIAMONDFCR ARB Presentation

2-Semester Project

1

Page 2: Team 01 - DIAMOND - CSCI577b Software Engineering II

IIV&V Danny Diaz Ayon

2

Page 3: Team 01 - DIAMOND - CSCI577b Software Engineering II

Strong Points

Operational View: Consistently meet with team and communication

Technical View: Programmatic Skills/Background

Weak Points

Operational View: The lack of a Salesforce License, time differences

Technical View: Einstein OCR Engine

Technical Concerns and Possible Solutions

Concern: The OCR engine

Possible Solution: Multiple Prototypers and access to source code

Concern: Accessibility to the platform

Possible Solution: Set up prototyping sessions, share credentials

Operational Risks and Possible Mitigation

Risks: Salesforce (COTS), Personnel Shortfall

Possible Mitigation: System documentation and wide community of users, detailed documentation

3

Page 4: Team 01 - DIAMOND - CSCI577b Software Engineering II

OCDDrew Webb

4

Page 5: Team 01 - DIAMOND - CSCI577b Software Engineering II

System Purpose- Replace current fragmented system with a centralized solution

- Increase efficiency of entry of participant and program data

- Decrease overhead of collecting demographic information from programs

- Simplify the progress of generating program instructor assignments

- Correlate data to make better decisions about future programs

- Make it easy to back-up data to prevent data loss

- Allow all employees to access the data remotely

5

Page 6: Team 01 - DIAMOND - CSCI577b Software Engineering II

Business Workflow

6

Page 7: Team 01 - DIAMOND - CSCI577b Software Engineering II

Proposed New System- Relational database back end in Salesforce

- Use Salesforce Apex language to create front end apps to enter data:

- Participant and their Guardian’s information

- Program information

- Program Instructor information

- Program enrollment

- Review results

- OCR Engine to add capability to scan in participant information from paper

forms

7

Page 8: Team 01 - DIAMOND - CSCI577b Software Engineering II

Shared Vision

8

Assumptions:- Only STEM Center staff and program instructor will access the solution- Continuous growth of participants- Increasing number of programs- Stable network and database systems- System users correctly identify duplicates within the system

Stakeholders Initiatives Value Propositions Beneficiaries

● STEM Center Employees / Student Workers

● STEM Center Director● Developers (us)● Maintainers● Program Instructors

● Consolidate all of the current participant and program data

● Develop new database in Salesforce to hold all current and new data

● Develop front end to allow student workers to enter new information

● Verify data can be filtered and extracted for analysis

● Create a central database for all STEM center program and participant information

● Save time for STEM Center Employees to enter and maintain records

● Save time for STEM Center Employees to query data across programs

● Consolidated data access to participant enrollment data and entry for review for Program Managers

● STEM Center Employees / Student Workers

● STEM Center Director● Maintainers● Viterbi Administration● Funders / Donors● The University (USC)● Program Instructors

Page 9: Team 01 - DIAMOND - CSCI577b Software Engineering II

Benefit Chain Diagram

9

Page 10: Team 01 - DIAMOND - CSCI577b Software Engineering II

System Boundary

10

Page 11: Team 01 - DIAMOND - CSCI577b Software Engineering II

Core Capabilities

11

Capability Goal Priority Level

OC-1 Data Storage: The system is capable of storing program data from the STEM Center

Must Have

OC-2 Authentication and Access Control: The various accounts of the STEM Center will have varying access controls to the database. There will be an admin account with full permissions, and a program manager account and a student worker account

Must Have

OC-3 OCR recognition: the system is capable of analyzing handwriting and converting it

Should Have

OC-4 General Statistics: The system is capable of showing basic statistics about the data on a overview dashboard

Should Have

Page 12: Team 01 - DIAMOND - CSCI577b Software Engineering II

Core Capabilities

12

Capability Goal Priority Level

OC-5 Front End Interface: The system has a front end that allows STEM employees without specific technical knowledge to interact with the database

Must Have

OC-6 Backup Capability: The system has redundancy and can restore critical data through backups in case of failure account

Must Have

OC-7 Error Detection and Duplicate Management: The system is able to detect errors in the data and also identify duplicate data entries.

Should Have

OC-8 Maintenance: The system is able to be to maintained simply by a dedicated employee and should be cost efficient while in use for a number of years

Must Have

Page 13: Team 01 - DIAMOND - CSCI577b Software Engineering II

Organizational GoalsOG-1: Decreases the management time and effort required for the employees to

manage STEM center program and participant information

OG-2: Simplifies analysis of the data across programs and allow for simple queries on

the data to be processed

OG-3: Allow for program managers and directors to easily view the data and simple

statistics about the programs and participants.

13

Page 14: Team 01 - DIAMOND - CSCI577b Software Engineering II

Level of Service Goals

14

Level of Service Goal Priority Level Referred Win-Win Agreements

The system will have a high availability of 99%

Should Have This will be achieved by the Salesforce platform

The data will be consistent and correct to a high degree

Must Have Duplicates will be accounted for. OCR will request validation from the user.

The system is easy to maintain and manage

Should Have Maintainer has access to source code to update schema and fix issues.

Page 15: Team 01 - DIAMOND - CSCI577b Software Engineering II

ConstraintsCO-1: Salesforce as a cloud platform: The new system will be developed and deployed

off of the Salesforce platform

CO-2: Budget only includes Salesforce: No budget for other COTS in addition to

Salesforce platform

CO-3: Need to utilize student workers to port historical data: We need to rely on the

student workers to import the historical data into the new system

15

Page 16: Team 01 - DIAMOND - CSCI577b Software Engineering II

PrototypeMeghana Kolasani & Dzung Phan

16

Page 17: Team 01 - DIAMOND - CSCI577b Software Engineering II

Optical Character Recognition Prototype

17

Page 18: Team 01 - DIAMOND - CSCI577b Software Engineering II

Front-end PrototypeLightning Web

Components

(LWC)

&

Aura

Components

18

Page 19: Team 01 - DIAMOND - CSCI577b Software Engineering II

Search Section Prototype

19

Page 20: Team 01 - DIAMOND - CSCI577b Software Engineering II

Add New Section Prototype

20

2 options: Manual Entry & Scan Data with OCR

Engine

Page 21: Team 01 - DIAMOND - CSCI577b Software Engineering II

OCR Engine Prototype

21

Page 22: Team 01 - DIAMOND - CSCI577b Software Engineering II

Sample Code

22

Page 23: Team 01 - DIAMOND - CSCI577b Software Engineering II

RequirementsHaiwen Chen

23

Page 24: Team 01 - DIAMOND - CSCI577b Software Engineering II

Success-Critical Stakeholders

24

Page 25: Team 01 - DIAMOND - CSCI577b Software Engineering II

Client Requirements

25

Priority

High

Low

Page 26: Team 01 - DIAMOND - CSCI577b Software Engineering II

Staff & Student Worker Requirements

26

Priority

High

Low

Page 27: Team 01 - DIAMOND - CSCI577b Software Engineering II

Co-Director and Manager Requirements

27

Priority

High

Low

Page 28: Team 01 - DIAMOND - CSCI577b Software Engineering II

Maintainer Requirements

28

Priority

High

Low

Page 29: Team 01 - DIAMOND - CSCI577b Software Engineering II

Client vs. Developer

29

Priority

High

Low

Page 30: Team 01 - DIAMOND - CSCI577b Software Engineering II

Top Risk Requirements & Priority Levels

Planning PokerFinal Avg. Score

30

Priority

High

Low

Page 31: Team 01 - DIAMOND - CSCI577b Software Engineering II

Non-Functional Requirements

31

Priority

High

Low

Page 32: Team 01 - DIAMOND - CSCI577b Software Engineering II

ArchitectureShijie Ding

32

Page 33: Team 01 - DIAMOND - CSCI577b Software Engineering II

System Context

33

Page 34: Team 01 - DIAMOND - CSCI577b Software Engineering II

34

Actor SummaryStaff Member Staff at USC STEM Center ● Input participants’ records

into system● Assign instructor to

program

Student Worker Student worker at USC STEM Center

Input participants’ records into system

Program Manager Program manager of USC STEM CENTER who is responsible for programs

● Review data● Generate report as

needed

Client Client who hosts program at USC STEM Center

Provides initiatives of the program

Instructor Instructor at USC STEM Center (Instructor doesn’t interact with system)

Provides lecture at the program

Salesforce Database A cloud database Stores the system data

Page 35: Team 01 - DIAMOND - CSCI577b Software Engineering II

Use Case Diagram

35

Page 36: Team 01 - DIAMOND - CSCI577b Software Engineering II

Sequence Diagram - Adding Records

36

Page 37: Team 01 - DIAMOND - CSCI577b Software Engineering II

Sequence Diagram - Making A Query

37

Page 38: Team 01 - DIAMOND - CSCI577b Software Engineering II

Sequence Diagram - Downloading Data

38

Page 39: Team 01 - DIAMOND - CSCI577b Software Engineering II

System Artifacts & Information

39

Page 40: Team 01 - DIAMOND - CSCI577b Software Engineering II

Status of NDI choices

40

COTS Description

APEX Salesforce: Salesforce Object

Query Language (SOQL)

The cloud platform where we will host the system. The main feature we will use will be a database for STEM Center data, allowing for data input, storage, and querying.

Salesforce Lightning Web

Component (LWC) & AURA

Creates an interface for the STEM Center employees to interact with the database without developer knowledge

Salesforce Einstein OCR API

This is an API released by Salesforce in 2019, that leverages computer vision to analyze documents and extract the relevant information. We will use Einstein OCR to extract form data from paper forms and add it to the database.

Salesforce Data Loader and Import

Wizard

These are salesforce provided applications that can support many different types of importing and exporting

Page 41: Team 01 - DIAMOND - CSCI577b Software Engineering II

Life Cycle PlanSamantha Cote

41

Page 42: Team 01 - DIAMOND - CSCI577b Software Engineering II

Life Cycle Strategy

NDI/NCS-DrivenNet-Centric Service (NCS) :

● cloud-based software platform

● suite of enterprise applications focused on

customer service, marketing automation,

analytics, and application development.

● Most functionality will be coded by team

members (Salesforce provides the cloud

environment, and a library of classes that are

important for database object management and

UI design)

42

Page 43: Team 01 - DIAMOND - CSCI577b Software Engineering II

Salesforce Developer Console

JavaScript, CSS, and XML

are the programming and

markup languages that we

are using to develop our app

within the Developer

Console.

43

Page 44: Team 01 - DIAMOND - CSCI577b Software Engineering II

Our NDI/NCS-Driven Process (semester 1 - Foundations Phase)Most important efforts (semester 1):

- Identifying operational concepts

- Salesforce Prototype (NCS) - Top Risk Prototype Pres. *

- Prototype database in Salesforce to understand how our JS code will integrate with the cloud

development environment and how we can create objects, tables, and relations

- Trade Study of NDI for OCR integration.

- Prototype of NDI for OCR integration (Einstein OCR API).

- Decide on a finalized table schema, once all sample data in all formats has been

received.

- Next top-risk candidate to be prototyped: Complex queries across multiple tables.

- If any other large risks arise, we will prototype those.

* The reason for the lack of trade study for the platform itself is because the client had selected

Salesforce for the platform before the project even began.

44

Page 45: Team 01 - DIAMOND - CSCI577b Software Engineering II

Project Personnel and Roles

45

Page 46: Team 01 - DIAMOND - CSCI577b Software Engineering II

CSCI 577A Team Members & Roles Samantha Cote - Project Manager, Life Cycle Planner

Haiwen Chen - Requirements Engineer, Project Manager

Drew Webb - Operational Concept Engineer, Prototyper

Danny Diaz Ayon - Verification & Validation, Quality Focal Point

Shijie Ding - Software Architect/UML Modeler, Prototyper

Meghana Kolasani - Prototyper, Requirements Engineer

Dzung Phan - Prototyper, Software Architect/UML Modeler

Derek Wang - Feasibility Analyst, Operational Concept Engineer

46

Page 47: Team 01 - DIAMOND - CSCI577b Software Engineering II

Success-Critical Stakeholders- Dr. Darin Gray (client)

- STEM Center employees and student workers (users)

- Developers (team members)

- System Maintainer (to be hired by STEM Center)

47

Page 48: Team 01 - DIAMOND - CSCI577b Software Engineering II

Key Stakeholder Responsibilities (semester 1)Dr. Darin Gray:

- Provide team with sample STEM Center data in all potential input formats (spreadsheet,

paper forms, etc.)

- Provide timely feedback on requirements negotiation and prototype development.

- Specify required data formats and desired table structure.

577A Team Members:

- Prototype a data management system using Salesforce platform to show feasibility of the

client’s selected NCS.

- Perform Trade Study of potential NDIs for OCR integration.

- Consistently validate that all work toward the project is in line with success-critical

requirements and negotiations.

- Design operational concept, architecture model, life cycle plan, and feasibility evidence.

48

Page 49: Team 01 - DIAMOND - CSCI577b Software Engineering II

Key Stakeholder Responsibilities (semester 2)Dr. Darin Gray:

- Check in with team during development to continually make sure that the development of the

product is meeting expectations and decide on any re-prioritization of features if necessary

- Purchase Salesforce production environment license.

577A Team Members:

- Rebase, get new team members up to speed, and review requirements.

- Development, testing, and continuous integration

- Write system documentation and design transition plan

- Complete development and transition to production environment

- Perform testing in prod environment and pass access to system maintainer

Maintainer:

- Meet with development team to get access to the system and review documentation as part of

the transition plan.

49

Page 50: Team 01 - DIAMOND - CSCI577b Software Engineering II

577B Skills Needed- At the moment, it is estimated that 5 out of 8 team members will be

continuing on to 577B.

- Estimated that we will gain ~1 new team member in the spring

semester (Developer/Testing Roles)

- Desired Skills:

- Database knowledge, knowledge of SQL queries

- JavaScript knowledge

- Salesforce platform knowledge is helpful, but unlikely

- Unit testing experience

50

Page 51: Team 01 - DIAMOND - CSCI577b Software Engineering II

COCOMO-II Resource Estimation - ModulesNo. Module Name Brief Description SLOC

1

Salesforce Database Backend object and table cloud

storage.

3000

2

Data Management

Dashboard

Front-end interactivity capabilities

for the data management system.

1500

3

Query System System for building and executing

custom SQL queries.

800

4

OCR Engine System for Optical Character

Recognition from pdf or jpeg.

1000

51

Page 52: Team 01 - DIAMOND - CSCI577b Software Engineering II

COCOMO-II Resource Estimation - Scale DriversScale Driver Value Rationale

PREC Nominal

The team is familiar with database systems, but not in the cloud and not

using the Salesforce NCS. Development within the platform is largely

unprecedented for the team members.

FLEX Low

The team has been given rigorous requirements as to how data input must

be done, and what the table schema needs to be, but implementation details

of queries is left up to the team.

RESL VHigh

The team has made it a priority (due to risk-driven ICSM principles) to

reduce risk early and eliminate where possible. Trade studies and prototypes

have been created for areas of risk within the architecture and team

members feel largely comfortable moving forward into development that

the large risks have been mitigated.

TEAM VHigh

Team members, clients, and stakeholders have been highly attentive,

cooperative, and prompt with their assignments and expected contributions.

PMAT Nominal

The team is adhering to guidelines from the ICSM principles, using a set of

standard processes that are defined. Processes are suited for this specific

project. CMM Level 3 - Defined.

52

Page 53: Team 01 - DIAMOND - CSCI577b Software Engineering II

COCOMO-II Resource Estimation - Cost Drivers (for Module 1)Cost Driver Value Rationale

RELY Nominal

Though the data being stored in the system is important to the operation of the K-12 STEM

Center, Salesforce provides great support for backups and recovery, so any data losses are

easily recoverable.

DATA Nominal

The ratio of database size to SLOC of the project is estimated to be more than 10, but less than

100. Data will be stored for participants, parents, programs, and survey data.

DOCU Nominal

Salesforce documentation for the platform itself is plentiful, and the documentation we are

writing during development will cover the life-cycle needs of the system without going

overboard.

CPLX Nominal

This project relies heavily on Data Management Operations (Nominal), User Interface

Management (High), and Computational Operations (Nominal). It will support complex

database queries, and will work on customizing the Salesforce widget library for the front-end.

Nominal computational operations will be done in the processing of the data.

RUSE Low

This system is not intended to be reused for other projects.

53

Page 54: Team 01 - DIAMOND - CSCI577b Software Engineering II

COCOMO-II Resource Estimation - Cost Drivers cont. (Mod. 1)Cost Driver Value Rationale

TIME Nominal

The system will be used when STEM Center staff members are entering new data to the

system, or querying current data, but otherwise will be mostly be idle, simply storing data

objects in the cloud, using expectedly <50% of the available execution time.

STOR

Very

High

The STEM Center has years worth of historical program data that they would like to store in

the system, and the size of the database will grow each year as new programs begin and new

participants join existing programs.

PVOL Nominal

Salesforce releases a major product update with new features and enhancements 3 times a year

(in the Spring, Summer, and Winter). They commit to this schedule, and new changes can be

expected at these three milestones each year. Browser updates will typically only be once/yr.

ACAP VHigh

Our project’s analysts and designers communicate well and promptly, are very thorough, and

follow project requirements when making design decisions.

PCAP VHigh

Though collectively unfamiliar with Salesforce and its development console at the start of the

project, the programmers have gained much experience with the platform through

prototyping and are feeling very capable with it as we approach Development phase.

54

Page 55: Team 01 - DIAMOND - CSCI577b Software Engineering II

COCOMO-II Resource Estimation - Cost Drivers cont. (Mod. 1)Cost Driver Value Rationale

PCON Nominal

We have 8 members currently working on the project in 577A and it is estimated that ~5 of

those will continue on to 577B. It is likely that 1-2 new members will join the team in 577B.

APEX Nominal

The experience of the project team with cloud data management systems is low, ~6mos. for

most team members, however many have experience with database systems and data

management systems in general.

PEXP Low

The project team has some experience working with SQL databases, but no experience

working with the Salesforce platform before, which is the main platform of this system.

LTEX High

The team will be developing the cloud data management system with XML, CSS, and

JavaScript, and many team members have lots of experience with those languages and tools.

TOOL Nominal

Our project will be moderately integrated, both frontend and backend will be integrated in the

cloud and basic life-cycle tools and documentation for said tools will be available from the

Salesforce NCS.

55

Page 56: Team 01 - DIAMOND - CSCI577b Software Engineering II

COCOMO-II Resource Estimation - Cost Drivers cont. (Mod. 1)Cost Driver Value Rationale

SITE Low

Teammates are distributed internationally (because of COVID), across 5 different time zones,

and often have completely opposite waking hours. We do have a Slack messaging system that

allows us to retain sufficient communication, however video conferences are limited because

there aren’t many times that everyone can make due to time zone issues.

SCED Nominal

The schedule is fixed; 12 weeks in fall semester, 12 weeks in spring semester.

56

Page 57: Team 01 - DIAMOND - CSCI577b Software Engineering II

COCOMO-II Resource Estimation - Result

57

Page 58: Team 01 - DIAMOND - CSCI577b Software Engineering II

COCOMO-II Resource Estimation - AnalysisAssuming:

- 12 hrs/week of effort per person

- 10 of the 12 weeks contribute to the Construction Phase (72% of total)

- 100 hrs/person-month for COCOMO Estimates

1 577B team member effort = (10 weeks)(12 hrs/week) = 120 hrs

1.67(estimated hrs/person-month COCOMO-II) = (1.67)(100 hrs)(0.72) = 120 hrs

One 577B team member effort = 1.67 CII person-months

If we only have 5 team members for 577B:

5 * 1.67 = 8.35 CII person-months

If we have 6 team members for 577B (the expected scenario):

6 * 1.67 = 10.02 CII person-months

58

Page 59: Team 01 - DIAMOND - CSCI577b Software Engineering II

The Plan (Foundations Phase)- For our proposed architecture, a system built to

architecture will be buildable within the budgets and schedules in the Plan.

59

Page 60: Team 01 - DIAMOND - CSCI577b Software Engineering II

60

Page 61: Team 01 - DIAMOND - CSCI577b Software Engineering II

61

Page 62: Team 01 - DIAMOND - CSCI577b Software Engineering II

62

Page 63: Team 01 - DIAMOND - CSCI577b Software Engineering II

63

Page 64: Team 01 - DIAMOND - CSCI577b Software Engineering II

64

Page 65: Team 01 - DIAMOND - CSCI577b Software Engineering II

65

Page 66: Team 01 - DIAMOND - CSCI577b Software Engineering II

66

Page 67: Team 01 - DIAMOND - CSCI577b Software Engineering II

67

Page 68: Team 01 - DIAMOND - CSCI577b Software Engineering II

Feasibility EvidenceDerek Wang

68

Page 69: Team 01 - DIAMOND - CSCI577b Software Engineering II

Business Case (Personnel Costs)Valuation and Explorations Phases: CS 577a, 12 weeks

- Client: Meeting via email and video. 3 hrs/week * 12 weeks * 1 person = 36 hours

- Student worker: Misc. tasks, sending data samples, following email chains. 1hr/week * 12

weeks * 1 person = 12 hours

- Architecture Review Boards. 1.5 hours * 2 times * 2 people = 6 hours

Development and Operations Phases: CS 577b, 12 weeks

- Client: Meeting via email and video. 5 hrs/week * 12 weeks * 1 person = 60 hours

- Maintainer: Following development, meeting via video. 3 hrs/week * 12 weeks * 1 = 36 hours

- Architecture Review Boards. 1.5 hours * 2 times * 2 people = 6 hours

- Deployment of System and Training 10 hours * 3 times * 2 people = 60 hours

Maintenance Period: 1 year

- Maintenance 3 hrs/week * 52 weeks = 156 hours

372 Total Hours

-

69

Page 70: Team 01 - DIAMOND - CSCI577b Software Engineering II

Hardware and Software CostsHardware Costs

This project has no hardware costs. All the development and operations will be online.

Software Costs

Initially the development can proceed using the free tier of Salesforce. Eventually the Essentials

edition will be used at $25/month per account or $300/year/user

Note: First 1-2 GB of data storage is included with the Essentials, additional data storage will incur

additional costs

70

Page 71: Team 01 - DIAMOND - CSCI577b Software Engineering II

Benefits (Time Saved)Current activities &

resources usedTIme Estimate %

ReduceTime Saved (Hours/Year)

Program data entry

- Student worker 2 hours/week 90% 93.6

Program data exporting

- Student worker 5 hours/week 90% 234

Analysis request

- Program Manager 2 hours/week 50% 93.6

- Student Worker 2 hours/week 50% 93.6

Total 761.5

71

Page 72: Team 01 - DIAMOND - CSCI577b Software Engineering II

BenefitsApart from the hours saved, there are some intangible benefits that cannot be described in

countable measures:

- Overall increase in the correctness and consistency of the system. Duplicates can be

accounted for and merged. The format of the data will be standardized

- Ability for the client to control access to the data. Previously the multiple data sources

resulted in inconsistent access controls

- Backups to reduce data loss. Salesforce has built in backup systems for the data.

- Digitization of old program data. Some of the previous

72

Page 73: Team 01 - DIAMOND - CSCI577b Software Engineering II

ROI AnalysisYear Cost Benefit (Effort

Saved)Cumulative Cost Cumulative Benefit ROI

2020 810 0 810 0 -1

2021 5,070 11,422.50 5,880 11,422.5 .94

2022 2,904 11,422.50 8,784 22,845 1.60

2023 3,194.4 11,422.50 11,978.4 34 267.5 1.86

Calculated based on $15/hour wage for all hours.

A 10% yearly increase in maintenance costs is also included

73

Page 74: Team 01 - DIAMOND - CSCI577b Software Engineering II

NDI Analysis COTSCOTS Purpose Comments

APEX Salesforce:

Salesforce Object Query

Language (SOQL)

Database server, backend syntax ● Client’s Requirement● Language is similar to SQL

Salesforce Lightning

Web Component (LWC)

& AURA

Web server and front end ● Coded in HTML, CSS and javascript.● Simple interface

Salesforce Einstein OCR

API

Application framework for text recognition

● Built into Salesforce● API allows easy interaction with the rest of

salesforce● Don’t need to create an OCR engine from scratch

Salesforce Data Loader

and Import Wizard

Application tools for exporting and importing

74

Page 75: Team 01 - DIAMOND - CSCI577b Software Engineering II

Major Risks

Risks

Risk Exposure

Risk MitigationsPotential

Magnitude

Probability

Loss

Risk Exposure

Basic System

Functionality

8 2 16

Prototype with Salesforce COTS to ensure it will

meet the needs of the project.

Use of COTS product

'Einstein OCR API'

and its integration

with Salesforce

4 7 48

Reduction by prototyping the use of this API and

prototyping its integration with our other

prototype, the Salesforce cloud database.

Change of Team

members from 577A

to 577B

4 9 36

Reduction by creating a project plan, applying

incremental development, and creating clear notes

for future developers to take over

Unanticipated or

inflated requirements

5 7 35

Reduction by using feasibility analysis, win

conditions

Unrealistic schedule

and budget, time

crunch

4 6 28

Reduction by using life cycle plan, creating project

plans and applying incremental development.

75

Page 76: Team 01 - DIAMOND - CSCI577b Software Engineering II

Persona #1 - Shaun DavisAge: 20Gender: MaleLocation: Seattle, WA, USAOccupation: Undergraduate student @USC, student worker at the Viterbi K-12 STEM CenterEducation: Went to Ballard High School in Seattle, currently attends USCAttributes: Enjoys skateboarding, reading novels, and video games.

Background/Description:Shaun grew up in Seattle and is now attending USC for undergrad. He is studying engineering and applied for a student worker position at the Viterbi K-12 STEM Center his sophomore year. He got the part-time position and now works ~8hrs/week for the STEM Center, helping facilitate their MESA and SHINE programs.

Motivation/User Scenario:Shaun is a student worker for the K-12 STEM Center and has just received all of the Google Surveys from prospect participants in this year’s SHINE program that the Viterbi K-12 STEM Center runs. In past years, he would have just entered the demographic data from each survey manually into the STEM Center’s database that was hosted on a machine in the office on campus. Due to COVID-19, Shaun is now working from home in Seattle and needs to be able to access the database remotely to be able to enter the data from the surveys.

Computer Literacy Level: As an engineering student, Shaun is good with computers and uses one daily. He has lots of experience with the Google Suite but the Salesforce platform is new to him.

Daily Device Usage: Shaun uses his phone (Android) and his Lenovo laptop daily.Projet-Specific Device Usage: Shaun uses solely his laptop for working with STEM Center data because he finds it easier to view all of the data on a larger screen. 76

Page 77: Team 01 - DIAMOND - CSCI577b Software Engineering II

Persona #2 - Ella RussellAge: 35Gender: FemaleLocation: Los Angeles, CA, USAOccupation: Viterbi K-12 STEM Center Program Manager Education: Holds her Bachelor’s from UMass Amherst and her Master’s from UCLAAttributes: Loves spending time with her family, traveling, and watching The Office.

Background/Description:Ella grew up on the East Coast of the US, in Connecticut but moved out to the West Coast when she went to grad school at UCLA and has lived with her family in LA ever since. She spent 7 years working as a science teacher at a middle school in LA before joining the Viterbi K-12 STEM Center as a program manager for their Code.org program.

Motivation/User Scenario:Ella has been project manager in the K-12 STEM Center for the Code.org program for 4 years now, and has collected data each year about the demographics of students in the program. A potential donor for the K-12 STEM Center has approached her and is asking her for analytics about the trend of female student participation in the Code.org program over the past 4 years. Ella would like to collect the data from the past 4 years in one place,

and generate some graphs from the data that she can give to the donor.

Computer Literacy Level: Ella has worked with Excel spreadsheets for most of her career, but a Salesforce cloud database is a new platform for her. She is relatively savvy with computers, however, and generally understands the table structure in the database.

Daily Device Usage: Ella uses her iPhone and HP laptop daily.Projet-Specific Device Usage: Ella only accesses the Salesforce database from her laptop, because she finds it is hard to view or edit fields in the tables when viewing on her small phone screen.

77

Page 78: Team 01 - DIAMOND - CSCI577b Software Engineering II

Persona #3 - Melissa OrrAge: 35Gender: FemaleLocation: Los Angeles, CA, USAOccupation: STEM Center EmployeeEducation: Bachelors of Computer science, University of WashingtonAttributes: Loves biking, takes care of a dog, enjoys dabbling in no-sql databases in her free time

Background/Description:Melissa grew up in Portland, Oregon and went to University of Washington as a computer science major. After graduation, she started as a data analyst at a healthcare company, and over the years specialized in database administration.

Motivation / User Scenario:Melissa has recently been hired by the STEM Center to be a long time maintainer of the system. After a few weeks of getting up to speed on the database and salesforce platform, her first task is to upload a new program’s data into the system and update the program report. To do this she makes use of the inbuilt OCR (Optical Character Recognition) to scan the raw data into the system and edits any mistakes that occur.

Computer literacy level- Melissa has worked with on-premises databases for most of her career, but recently started looking into cloud platforms. She doesn’t have Salesforce experience, but she’s worked with other cloud platforms.

Daily Device Usage: She has a phone and a laptop for her personal useProject-specific Device Usage: At work she has a desktop and at home she uses her laptop

78

Page 79: Team 01 - DIAMOND - CSCI577b Software Engineering II

QFPDanny Diaz Ayon

79

Page 80: Team 01 - DIAMOND - CSCI577b Software Engineering II

Quality Management Strategy

80

Tool Strategy

Google Team DriveOrganize weekly reports, meeting notes, and other files relevant to the project

SlackDay to day collaboration and internal video conferencing

TrelloTrack progress, assign task and deadlines

ZoomFormal collaboration tool

Page 81: Team 01 - DIAMOND - CSCI577b Software Engineering II

Defect Identification

81

Defect Description

Einstein OCR TokenEinstein AI platform integration with our application need fine tuning

Table SchemaWe do not have a finalized table schema

Team AvailabilityOur team spans 4 different time zones, while most have full time jobs

Page 82: Team 01 - DIAMOND - CSCI577b Software Engineering II

Technical Debt

82

Debt Mitigation Strategy

Salesforce platformWork in teams, planning sessions, shared credentials

Table SchemaCreate tables based on common fields

Front-End UI - OCRFinalize the OCR functionality

Page 83: Team 01 - DIAMOND - CSCI577b Software Engineering II

83

Traceability Matrix

* Win-Win Conditions Link

OCD Win-Win Agreement SSAD

OC-1 Agreement 6, 7 UC-2, ATF-4

Agreement 9 UC-9

Agreement 11 UC-5OC-2 Agreement 8 UC-9

Agreement 16 UC-10OC-3 Agreement 12 UC-11, ATF-4

Agreement 13 UC-11, ATF-6OC-4 Agreement 1, 4 UC-7, ATF-13

Agreement 2, 3 UC-8, ATF-11

Agreement 5 UC-4, ATF-12

Agreement 14 UC-3, ATF-12

Agreement 19 UC-8, ATF-8OC-5 Agreement 10 UC-2, ATF-4OC-7 Agreement 15 UC-5OC-8 Agreement 17 UC-6

Agreement 18 UC-12

Page 84: Team 01 - DIAMOND - CSCI577b Software Engineering II

Questions & Feedback?

84