84
COSMIC - SYSTEM ARB PRESENTATION TEAM 2

COSMIC - SYSTEM - greenbay.usc.edu · • Client and users will use the system once it’s ... User can login using the email address and password ... OVERALL SYSTEM USE CASE DIAGRAM

Embed Size (px)

Citation preview

COSMIC - SYSTEMARB PRESENTATION

TEAM 2

OUTLINE• Remote team members• OCD• Requirements• Prototype• Architecture• Life Cycle Plan• Feasibility Evidence• QFP

REMOTE TEAM MEMBERS

TEAM STRONG POINTS & WEAK POINTS

Strong Points• Technical

– Foundations– Fast Learners– Project Experience

• Operational– Great Organization– Customer Focused– Driven

Weak Points• Technical

– No Web Dev Experience• NDI/COTS• Risk Averse

• Operational– Full team synchronization

• Schedule• Information (Duality)

OPERATIONAL RISKS & MITIGATIONSRisk Description MitigationPersonnel shortfalls

Communication problems between members of diverse backgrounds. Midterms and recruiting season outside of class cause time conflicts.

Plan more team meetings and participate in team-building

activities. Delegate tasks efficiently to members with more time.

Collaboration on source code

Making sure the code works properly with different team members working simultaneously on different aspects of the project.

Collaborating effectively using GitHub. Talking in meetings to

understand everyone’s product.

Lack of involvement with SCS in the facility manager

Not meeting the manager or understanding their expectations of the system. Not enough communication with stakeholder.

Actively involve stakeholder and build better relationship by

improving communication and meeting the stakeholder.

TECHNICAL CONCERNS & SOLUTIONS

Concern SolutionSkill deficiencies in aspects of web technologies.

Researching and learning several technologies to better understand server side programming languages and

databases.Usability issues with UI and UX. Discuss operation concepts and scenarios with client and

involve stakeholders early in development.

SOURCE OF OBSERVATIONS• Team Communication Channels

– Email – WhatsApp

• WinWin Negotiations

• Google Drive– Documentation

• Prototyping activities

OPERATIONAL CONCEPT DESCRIPTION

  

SYSTEM PURPOSEThe COSMIC-System is an efficient and organized inventory tracking system for USC Viterbi’s STEM Education Outreach Programs.

Provides an easy to use interface for managing and tracking inventory.

Designed to increase time and cost efficiency for the STEM Educational Outreach Programs.

PROGRAM MODELAssumptions:• Client and users will use the system once it’s deployed• Inventory Manager will keep the system up to date with current inventory

Stakeholders Initiatives Value Propositions BeneficiariesDevelopers:• Team Members

Client:• Darin Gray

Maintainer:• Inventory Manager

Users:• Student Volunteers• Student Organizations• Schools

Developers: • Develop the inventory

management system

Client:• Provide Requirements• Win Conditions• Hosting System• Feedback / Input

Maintainer:• Use the system• Test the system• Provide Feedback• Provide spreadsheet to

import current inventory

Users:• Use the system

• Increase time efficiency through inventory organization, tracking item location, and automated reorder emails.

• Save costs by tracking inventory stock instead of over-ordering items due to disorganization.

• Easier lesson planning for student volunteers & teachers through our searchable interface.

USC STEM-EOP• Director• STEM Staff• Inventory Manager• Student Volunteers

People that STEM-EOP affect• Students• Teachers• Student organizations

BENEFIT CHAIN DIAGRAMAssumptions:• Client and users will use the system once it’s deployed• Inventory Manager will keep the system up to date

with current inventory

Develop the system

Provide current inventory data

Train student volunteers, student orgs, and schools

to use the new system

Improved inventory tracking system

Increased time

efficiency

Inventory Manager

Faster and more organized inventory

tracking system

Better inventory organization, item location tracking, item reordering

One-time data migration to get the new system

up to date

Developers

Increased cost

efficiency

Department Director, Inventory

Manager

Deploy new inventory

management process

More organized and efficient inventory

management

Ensure system is being used correctly

More efficient lesson

planning process

Tracking inventory stock

instead of over-ordering

items

Teachers and student volunteers

improve lesson planning process

Stakeholder

Outcome

InitiativeLegend:

Student Volunteers, Student

Organizations, Schools

Use the system

SYSTEM BOUNDARY & ENVIRONMENTS

Services provided:• Inventory tracking• Inventory search• Advanced reservation• Item check-in/check-out• User privilege levels

Support infrastructure:• HTML• CSS & Bootstrap• JavaScript• Angular JS• PHP• MySQL

GoDaddy

Department Administrators

Inventory Manager

(maintainer)

Internet

MySQL Database

Inventory Manager

Student Volunteers

Student Organizations

Stakeholders and systemsList of services

Legend:

CURRENTBUSINESSWORKFLOW

• Check-out an item• Check-in an item• Reorder an item

CORE CAPABILITIESCapability Goals Priority

Login/Logout: User can login using the email address and password they registered for their account with.

High

User Privileges: User access to features is determined by the privilege level of their account assigned when they register.

High

Search: Users can search the inventory by any field including item name, tag name, availability, or description.

High

Reserve: Users can reserve an item in advance by emailing the Inventory Manager their request. Only the Inventory Manager can enter reservations.

Medium

Check-out: Users can check-out an item they reserved, or check-out any item that is available.

Highest

Check-in: Users must check-in items they have checked-out and enter any relevant information in the notes fields.

Highest

LEVELS OF SERVICE GOALSLevel of Service Goals Priority Level

Browsers Supported: Safari 11, Firefox 56.0, Chrome 61, Chrome 60

High

RWD / Mobile Compatibility: Desktop, Laptop, Smartphone Highest

Database Scalability: Be able to handle 1000 different items in the system.

High

ORGANIZATIONAL GOALSOrganizational Goals Priority

Improved inventory tracking system. Highest

Increase time efficiency through inventory organization, tracking item location, and automated reorder emails.

High

Increased cost efficiency by tracking inventory stock instead of over-ordering items due to disorganization.

High

Easier and more efficient lesson planning process. Medium

SYSTEM CONSTRAINTSConstraints

Database: Database limited to MySQL because we are hosting the system on our client’s GoDaddy account.

Server side language: Server side language limited to PHP because we are hosting the system on our client’s GoDaddy account.

ELEMENT RELATIONSHIP DIAGRAM

PROPOSEDBUSINESSWORKFLOW

• Reserve an item

PROPOSEDBUSINESSWORKFLOW

• Check-out an item• Check-in an item

REQUIREMENTS

REQ: ADMINISTRATIVE (1/3)Win Win Condition Priority Score

WC-1 As a User, I can request an account for a specific user type (org, volunteer, admin). 0.934

WC-1.1 Admin shall create accounts for new users and assign user type

WC-2 As a manager, I can reserve an item. 0.884

WC-2.1 Admin shall be able to reserve an item

WC-2.2 Admin shall be able to make reservations for volunteers

WC-2.3 Reservations can be made same day

WC-2.4 Reservations can be made no sooner than 3 weeks in advance

WC-2.5 Reservation length is limited to one week

REQ: ADMINISTRATIVE (2/3)Win Win Condition Priority Score

WC-3 As an admin, I can add new items to the system. 0.775

WC-3.1 An admin can add new item to inventory

WC-3.2 Only an admin can add to inventory

WC-3.3 An admin can delete item from inventory

WC-3.4 An admin shall be able to initialize item info (description, quantity, tags, location)

WC-5 As an admin, I can read the item logs from the system. 0.631

WC-5.1-2 As an admin I can view current reservations/checked out items

WC-5.3 Reservations shall have associated dates

REQ: ADMINISTRATIVE (3/3)Win Win Condition Priority Score

WC-7 As a manager, I can change the status of an item 0.544

WC-7.1 Sibling to WC-3.4 admin can update item properties (description, quantity, tags, location)

REQ: ITEM TRANSFERWin Win Condition Priority Score

WC-8 As a user, I can view items I have checked out. 0.524

WC-8.1 A user can view their checked out items ( in dashboard)

WC-8.2 Only admin/volunteer can checkout an item

WC-9 As a user, I can return an item I've checked out. 0.508

WC-9.1 User shall be able to return item (in dashboard)

WC-10As a user, I can update an item’s "status" in the inventory when I check-out or return an item. 0.494

WC-10.1-2 System shall update status at check-(in/out)

REQ: BROWSING (1/2)Win Win Condition Priority Score

WC-6As a volunteer, I can check the current availability and location of an item in the system.

0.551

WC-6.1 Users shall be able to view item availability

WC-6.2 Only Volunteer/admin can view location of items

WC-6.3 Org role sole purpose is to browse inventory

WC-6.4 Org shall not have access to location info

WC-12 As a user, I can click on an item to view its details such as status, quantity, location. 0.374

WC-12.1 User can view item details by 'clicking' item picture

REQ: BROWSING (2/2)Win Win Condition Priority Score

WC-14 As a user, I can search for a specific item. 0.339

WC-14.1 User shall be able to search inventory

WC-14.2 Item shall be searchable by name and tags

WC-15 As a user, I can browse through the STEM inventory. 0.32

WC-15.1 User can browse through inventory

WC-16 The website should show image thumbnails in the browse mode. 0.197

WC-16.1 Item thumbnails shall be displayed while browsing

WC-16.2 Item picture shall be displayed on item page (extension)

REQ: OUTWARD FACING (1/3)Win Win Condition Priority Score

WC-4 As a developer, I can import a spreadsheet of items into the inventory system. 0.674

WC-4.1 Team COSMIC shall be responsible for importing inventory into the system one time

WC-4.2Team COSMIC shall be responsible for providing the format to new manager in prep for importing

WC-11 As an admin user, I can get an email notification when an item is out of stock. 0.447

WC-11.1 All Admins shall receive email notification for item going out of stock

WC-11.2 Item stock status triggered by system update ( WC-10.1-2 )

REQ: OUTWARD FACING (2/3)Win Win Condition Priority Score

WC-13 The website should be rendered properly on mobile platforms. 0.373

WC-13.1The website shall render on windows machine on chrome browser (inherent as cosmic is a web app)

WC-13.2 The website shall render on mobile devices

WC-13.2.1 The website shall render on iOS devices on safari

WC-13.2.2 The website shall render on Android on chrome

WC-13.2.3 Mobile support shall at a minimum support browsing (Stakeholder expectation)

REQ: OUTWARD FACING (3/3)Win Win Condition Priority Score

WC-17 As a manager, I can click a button to e-mail Darin to reorder a given item. 0.177

WC-17.1 Admin shall have button to email Darin for re-order

WC-17.2 User shall email Darin for ordering new item

PROTOTYPE / PRODUCT DEMO

PRODUCT DEMO RECAP• Prototype Presentation Demo

– UI– Database integrated– Login / User Privileges– Check Out

PROTOTYPE - Database

• 3NF

PRODUCT DEMO • Significant capabilities

– ARB Demo• Add new item

– Interoperability with the database– Personnel Shortfall (Back-End Knowledge) Risk Mitigation

• Reservations– High priority score item

• Check In– Risk Mitigation of off-nominal return scenarios– Gain feedback early from critical stakeholders regarding usability issues

Demo

PRODUCT DEMO - BACK-UP SLIDES

Inventory page (Browse)

PRODUCT DEMO - BACK-UP SLIDES

Login page

PRODUCT DEMO - BACK-UP SLIDES

Item details page

PRODUCT DEMO - BACK-UP SLIDES

Item details page: Check-Out Module [Student Volunteer, Admin Only]

PRODUCT DEMO - BACK-UP SLIDES

Item details page: Reservations Module [Admin Only]

PRODUCT DEMO - BACK-UP SLIDES

Item details page: Update Item Details Module [Admin Only]

PRODUCT DEMO - BACK-UP SLIDES

User dashboard

PRODUCT DEMO - BACK-UP SLIDES

User dashboard: Check-In Module [Student Volunteer, Admin Only]

PRODUCT DEMO - BACK-UP SLIDES

Add New Item Page: Check-In Module [Admin Only]

ARCHITECTURE

TOP LEVEL PHYSICAL ARCHITECTURE

TOP LEVEL PHYSICAL ARCHITECTURE

SYSTEM CONTEXT

ARTIFACT AND INFORMATION DIAGRAM

OVERALL SYSTEM USE CASE DIAGRAM

ADMIN USE CASE

Admin Use Case ListNo. Use Case No. Use Case

UC-1 Login UC-8 View Reservation

UC-2 Logout UC-9 Cancel Reservation

UC-3 View Inventory UC-10 Update Item Details

UC-4 Search Inventory UC-11 Add Item

UC-5 Check In UC-12 Remove Item

UC-6 Check Out UC-13 Add User

UC-7 Make Reservation

STUDENT VOLUNTEER USE CASE

Student Volunteer Use Case ListNo. Use Case No. Use Case

UC-1 Login UC-8 Reservation Request

UC-2 Logout UC-9 View Reservation

UC-3 Registration UC-10 Cancel Reservation

UC-4 View Inventory

UC-5 Search Inventory

UC-6 Check In

UC-7 Check Out

STUDENT ORGANIZATION USE CASE

Student Organization Use Case ListNo. Use Case No. Use Case

UC-1 Login UC-8 Cancel Reservation

UC-2 Logout

UC-3 Registration

UC-4 View Inventory

UC-5 Search Inventory

UC-6 Reservation Request

UC-7 View Reservation

THE FULL PICTURE

STATUS OF NDIs

•GoDaddy – Web server

•MySQL – Database

•phpMyAdmin - SQL User Interface

LIFE CYCLE PLAN  

LIFE CYCLE PLANPurpose of Life Cycle Plan• Develop project plans, estimate project effort for each incremental phase

–Record and update progress over each iteration of the project–Manage workflow and identify responsibilities and skills of team

Overall Strategy• Architected Agile

Assumptions• One semester project length

Team• 7 total members

– 5 On-campus students– 2 Distant Education Students

KEY STAKEHOLDERSStakeholders Roles

Darin Gray Client & Director of STEM Educational Outreach ProgramsXue Fei Lin Inventory Manager of STEM Education Outreach ProgramsSam Lehardi Project Manager/ Life Cycle Planner/ TrainerMishaal Aleem Prototyper/ TrainerRachel Inouye Operational Concept Engineer/ ImplementerSitan Gao Feasibility Analyst/ ImplementerTerence Williams Software Architect/ ImplementerSam Villarreal Requirements Engineer/ IIV & V/ TesterNick Kwong Quality Focal Point/ IIV&V/ Tester

MAINTAINER’S RESPONSIBILITYKeep hosting package online

Save weekly backups on hosting package

Add new items into the system

Monitor emails for inventory system

Register new user accounts

Understand domain models developed

Learn basics of phpMyAdmin to maintain database

FUTURE PLAN 1/2

FUTURE PLAN 2/2

COCOMO II SCALE DRIVERSPREC

Nominal

FLEXNominal

RESLHigh

TEAMHigh

PMATNominal

Precedentedness

Process Maturity

Development Flexibility

Risk Resolution

Team Cohesion

COCOMO II COST DRIVERS

COCOMO II RESULTSAnalysis Results:

SLOC: 2,700

Effort needed (120 hours / person-month):Optimistic = 5.60 person-monthMost Likely = 7.00 person-monthPessimistic = 8.75 person-month

Assumptions for 12 week fixed schedule:-Assuming 10 of 12 weeks fill COCOMO II phase (72% of total effort estimate)-Assuming 120 hours/person-month

Total time spent by COSMIC team member:12 hrs/week * 10 weeks =120 hrs

Single team member effort:(Factor)(120 hours/person-month)(.72) = 120 hrsFactor = 1.39 CII person-months

Total team effort with 7 members:7 *1.39 person-month = 9.73 CII person-month

FEASIBILITY EVIDENCE

NDI CHOICE

NDI Products PurposesAngularJS Javascript Framework

PHP Programming Language

MYSQL Store data (eg. user, item, check-in/check-out record)

GoDaddy Hosting

BUSINESS CASE

• Cost (cost factors)– Development costs– Maintenance costs– Domain costs

• Benefits (Key performance indicators – KPIs)– Save times for people who wants to borrow items– Have a better management of items

MAJOR RISKSRisks Risk Exposure Risk Mitigations

Potential Magnitude

Probability Loss

Risk Exposure

Personnel shortfalls: Skill deficiencies in aspects of web technologies and lack of cohesion between members as new team just formed. Communication problems between members of diverse backgrounds. Midterms and recruiting season outside of class cause time conflicts.

6 6 36Researching and learning several technologies and better understanding of server side programming languages and databases. Plan more team meetings and participate in team-building activities. Delegate tasks efficiently to members with more time. Inventory management system crashing and loss of information

Inventory management system crashing and loss of information: Bugs, malfunctions, malware, etc. may cause database to not function and crash, potentially losing months of information

8 4 32Developing extra features to create savepoints and restore points for the system.

Gold Plating /Requirements mistmatch: Taking too much time to develop features that add little value to the overall user experience of the product.

5 6 30Performing case-analysis and holding win-win negotations with client. Taking surveys from stakeholders to determine most important features.

Inability to handle multiple users: Various schools/organizations/students will have access which may cause real-time issues for reserving items.

6 4 24Prototyping system to determine how many users can actively use system with no performance loss. Discuss with client expected amount of users.

Requirements change: Client introduced modifications to pre-existing features to improve overall quality and flow of system.

6 4 24Incremental development of highest priority features and functions first. Schedule hardest features and discuss with client

PERSONNEL COSTSActivities Time Spent (in hours)

Client Meeting: 1h/w * 12 w 12

Win-Win Sessions: 2 sessions * 1h 2

Training: 2h 2

ARB: 1 session * 1.5h 1.5

CCD: 1 session * 1h 1

TRR: 1 session * 1.5h 1.5

Total 20

HARDWARE AND SOFTWARE COSTS

Type Cost Rationale

Development Cost $0 Only use PHP、AngularJS and MYSQL to develop

Maintenance Cost $0 No foreseeable maintenance costs

Hardware Cost $0 No foreseeable hardware costs

GoDaddy Economy Cost $7.99/month Gain a hosting package

BENEFIT ANALYSISCurrent activities & resources

usedCurrent Time

Spent (Hrs/Yr)Proposed Time Spent (Hrs/Yr)

% Reduction

Time Saved (Hrs/Yr)

Find ItemUser: See if there are items available 60 6 90% 54Reserve ItemUser: Send e-mail of reserve requestManager: Set item reserved 75 10 87% 65

Manage Item    Manager: Manage, update and track item 50 15 70% 35

Total 154

PERSONA 1 – JENNY MILLER• Basic Demographics: 20, Female, USC Undergraduate Student• Background: Jenny grew up in Pasadena, CA. She is a Sophomore at

USC majoring in Computer Science and living in the on-campus dorms. She is an excellent student, and in her free time she works as one of the student volunteers for USC Viterbi’s STEM-EOP.

• User Scenario: Jenny is going to facilitate a robotics project at a nearby high school. She wants to reserve 8 robot kits to bring with her to the school next Wednesday. She will need to check out the robots on Wednesday morning, and plans on returning them Thursday morning.

• Computer Literacy: Jenny is a computer science student, and is very technically fluent. Her browser of choice is Chrome, but she can use any web browser easily (desktop or mobile).

PERSONA 2 – SPENCER LEE• Basic Demographics: 28, Male, USC Graduate Student• Background: Spencer grew up in Seattle, WA. He did his

undergraduate degree in Biology at The University of Washington, and is now getting his PhD in Biology at USC. He works part-time as the Inventory Manager for USC Viterbi’s STEM EOP.

• User Scenario: Spencer receives an email from a student volunteer with a list of items and quantities they would like to reserve for an upcoming project, along with their reservation dates. Spencer needs to confirm that those items and quantities are available, and then reserve each item for the specified date and quantity.

• Computer Literacy: Spencer has average technical fluency relative to his peers. He exclusively uses Safari as his browser of choice on his MacBook and iPhone.

QFP

QUALITY/CONFIGURATION MANAGEMENTQuality Management• Benchmarking

– Compare to other similar websites, such as Amazon• Peer Review• Test Cases

Configuration Management • Revision control through GitHub• Baseline requirements established through win-win negotiations

– verified and updated through client meetings

TRACEABILITY MATRIX (1/3)Requirement ID Verification Type Test Identifier Test Case

WC-1 User can request an account

Testing TC-01: Request an account TC-01-01: Check that admin users can create accounts

TC-01-02: Check that user with new account created by admin can log in

WC-2 Manager can reserve an item

Testing TC-02: Reserve an item TC-02-01: Check that only admin users can access reservations

TC-02-02: Check that reservations are successful

TC-02-03: Check that reservations cannot be more than 3 weeks in advance

WC-3 Manager can add new items to the system

Testing TC-03: Add new item TC-03-01: Check that only admin users can add a new item

TC-03-02: Check that only admin users can set the information of new items being added

TC-03-03: Check that only admin users can delete an item

TC-03-03: Check that new items are added successfully

TC-03-04: Check that items can be removed successfully

TRACEABILITY MATRIX (2/3)Requirement ID Verification Type Test Identifier Test Case

WC-4 Developer can import a spreadsheet Testing TC-04: Import spreadsheet TC-04-01: Check that spreadsheet is successfully imported

WC-5 Manager can read item logs Testing TC-05: Read item logs TC-05-01: Check that only admin users can view current reservations

WC-6 Check current availability and location

Testing TC-06: View item availability and location

TC-06-01: Check that all users can view item availability

TC-06-02: Check that only admin and student volunteer users can view item locations

WC-7 Manager can change an item’s status Testing TC-07: Change item status TC-07-01: Check that only admin users can update item properties

WC-8 Users can view their checked-out items

Testing TC-08: View own items TC-08-01: Check that all users can view items they checked out

TC-08-02: Check that only admin and student volunteer users can check out items

WC-9 Users can return their checked-out items

Testing TC-09: Return items TC-09-01: Check that all users can return items they checked out

WC-10 Item status changes with quantity Testing TC-10: Item status changes with quantity

TC-10-01: Check that an item’s status is “available” if the quantity is positive

TC-10-02: Check that an item’s status is “unavailable” if the quantity is 0

TRACEABILITY MATRIX (3/3)Requirement ID Verification Type Test Identifier Test Case

WC-11 Admin email notification for out of stock items

Testing TC-11: Out of stock items TC-11-01: Check that admin users are notified when an item is out of stock

WC-12 Users can view item details Testing TC-12: View item details TC-12-01: Check that all users can view item details

WC-13 Website is usable on multiple platforms

Testing TC-13: Website is cross-platform

TC-13-01: Check that website is fully functional on Windows machine with Chrome browser

TC-13-02: Check that website is fully functional on iOS devices with Safari browser

TC-13-03: Check that website is fully functional on Android devices with Chrome browser

WC-14 Users can search for an item Testing TC-14: Search for an item TC-14-01: Check that all users can search for an item

TC-14-02: Check that items are searchable by name and tags

WC-15 Users can browse the inventory Testing TC-15: Browse inventory TC-15-01: Check that all users can see all items

WC-16 Website should show item images

Testing TC-16: Show item images TC-16-01: Check that all items have images when browsing

TC-16-02: Check that all item details include an image

WC-17 Manager can email Darin to re-order an item

Testing TC-17: Email Darin TC-17-01: Check that only admin users can email Darin to re-order an item

TRACEABILITY MATRIX SUMMARY

Completed Incomplete Total

Requirements/Test Identifiers 12 5 17

Passed Failed Untested Total

Test Cases 21 2 6 29

DEFECT INJECTION & REMOVAL MATRIX

Defect Injection Phase

Defect Removal Step Requirements Design Coding Total

Requirements Review

Design Review

Testing C D A,B 4

Customer Detected

Total 1 1 2

Avoidable Defects:A. Spelling errors and issues in syntaxB. Entering decimals/negative/zero for quantity checkout

Unavoidable Defects:C. Lack of feedback from

facility managerD. Inability to test on client

hosting package

TECHNICAL DEBTDescription Category1 Category2 Has it been

fixed?How did you fix it/mitgation plan

No. of weeks active

Due to availability issues, scheduling conflicts, and midterms, we have not met with the one of the success critical stakeholders yet (facility manager)

Personnel Shortfalls

Reckless Inadvertent

No Actively involve stakeholder and build better relationship by improving communication and meeting the stakeholder.

2

Although the database currently works correctly, we have not checked that the database is formatted properly due to lack of domain knowledge

Personnel Shortfalls

Prudent Deliberate

Yes Spend more time learning about databases and have multiple team members confirm that the database is built properly and is 3NF.

1

Although the website is currently running with similar hosting parameters, we have not tried running it with the client's actual hosting package.

Methods, Processes and Tools (MPT) Shortfalls

Prudent Deliberate

No We will transfer the website to the client's server for testing.

3

Questions?