Download presentation
Presentation is loading. Please wait.
Published byMartin Holt Modified over 6 years ago
1
Smart Locks Control Team 5 - Terence Williams, Alex Miller, William Goishi, Diego Brandao, Nick Kwong Nick 1
2
Agenda Operational Concept Overview and Transition Strategy
Product Demo Quality Assurance - Testing Quality Control and Metrics Transition Plan Nick 2
3
Operational Concept Overview
Nick 3
4
Program model Assumptions: Stakeholders: Initiatives:
Reliable connection of Device Handler to the hub and the locks. Schlage FE599 locks support the Z-wave protocol. Website is able to connect with the SmartThings API. Locks and hubs in use registered are on SmartThings and fully functional. Stakeholders: - Administrator - House Manager - House Staff - Client - Development Team Initiatives: - Changing/maintaining slots and the overall service. - Provide equipment, advertising and marketing strategy - Develop the application Value Propositions: - Saves time, increases efficiency - Control to Administrator - Tracking user activity through log files - Increases security through user hierarchy Beneficiaries: - House Staff/Security - Guests Cost: - Personnel Costs - Development Costs - Schlage FE599 locks - Samsung SmartThings hubs - Rboy device handler - Maintenance Costs Benefits: - Increase time efficiency for administrator - Increase management efficiency for house manager - Decrease labor costs for house staff - Decrease check-in time for guests Nick 4
5
System purpose Lock management system with user hierarchy.
Provides an easy user interface for management. Save time on management for administrator and house manager. Increase security for administrator and house manager. Nick 5
6
Organization Goals OG-1: Improve management efficiency by implementing user hierarchy. OG-2: Increase security by tracking user activity using lock logs. OG-3: Increase time efficiency for administrator. OG-4: Decrease labor costs via remote control. Nick 6
7
System Boundary 8 Nick Supported Infrastructures:
Samsung SmartThings REST API Express JS Framework Angular, Node JS, HTML, CSS, BootStrap Nginx, JWT, Docker, Let’s Encrypt Nick 8
8
Transition Objectives and Strategy
Testing Ensure all win conditions are satisfied Ensure all core capabilities are completed Ensure the latest version has minimal defects/bugs reported. Client Training Basic training on how to use the web page: add/delete users, add/delete/modify lock slots, and view the logs. Provide the user manual and instructions on how to maintain and modify the website in the future. System Transition Deliver and setup the system on client’s server. Connect the SmartThings account to the web page administrator account. Nick 10
9
Product Demo Will 4:20 11
10
Product NDI/NCS Net-Centric Service:
Samsung SmartThings: Provides a cloud service to connect to smart devices and interact with them. Also, provides an IDE and simulator for developing Restful APIs. System NDI: Bootstrap: Used for UI for responsive frontend application development. Angular 5.0: Used for frontend development framework for single page application. Node.js: Used for backend development. Express.js: Web framework for Node.js. Sequelize: Object Relational Mapping for Node.js MySQL: Database engine. JWT: Token-based authentication and authorization protocol. Docker: Container management Docker Compose: a tool for defining and running multi-container applications. Nginx: Web server and reverse proxy Let’s Encrypt: Free SSL support Will 12
11
UI Components UI Component Functionality New Features 13 Locks
Manages all the functionality related to remote control of locks. Actions such as add, delete and update slot codes are supported. - Code Status - Code Activation and Deactivation Dates - Sorting improved Hubs Shows information related to hub status (online/offline) and information related to all locks in the hub (status, battery). Logs Shows a LOG of all the actions that have been performed involving the locks. - New events (Invalid Code, Code Used) Users Manages functionality related to users. Can handle actions such as add, delete and update users. - notification configuration Will Diego -> Added “New Features” (what do you think?) 13
12
UI Components UI Component Functionality New Features 14 Profile
Allows users to modify their passwords and notification configuration. - notification configuration Configuration Allows user to give permissions to the web-app to load hubs and locks from the Samsung SmartThings account. Also, allows the user to generate a token to connect the SmartApp to the WebApp. - Webhook Token Reset Password Allows user to reset his/her password New component Will Diego - Update 14
13
User Stories
14
User Stories Story ID Description Category 14
As an Administrator or House Manager, I will be able to view the status (active/inactive/pending) of a code. Device Status 3 As an Administrator, House Manager or House Staff, I will be able to reset my password without logging in. User Control 5 Implement SSL support Deployment 7 Add MySQL to a docker container 14
15
User Stories - Lock Management
Story ID Description 2 As an Administrator or House Manager, I will not be able to assign the same code to two different users 6 As an Administrator or House Manager, I will be able to schedule activation and expiration dates for the codes. 9 As an Administrator or House Manager, I may choose to receive a notification if a User is locked out due to too many incorrect unlock attempts 24 As an Administrator or House Manager, I may choose to receive a notification if a code is added/updated/removed 25 As an Administrator or House Manager, I may choose to receive a notification if a my code was used 15
16
Live Demo Smart Locks Control
Will 16
17
Quality Assurance - Testing
Terence 24 min 16
18
Testing Unit Testing by Developers throughout Development
Manual Testing for the Lock Hardware and SmartThings Integration Testing Selenium for Functionality Testing Erroneous Input Testing Regression Testing Verification and Validation Acceptance Testing by Client Definition of Done Terence 17
19
Selenium We are using Selenium for our Regression Testing and Functional Testing We have created a runnable jar test suite that serves as part of our acceptance testing A detailed report is generated after each run Terente -> Add report 18
20
Test Cases and Results Terence 19
21
Test Cases Categories:
Lock Management User Control Device Status All tests are verified through automated or manual testing All the core features are validated through automated testing Terence 20
22
Test Cases for Lock Management
Number Test Item Result TC-04-01 Add Slot with Valid Input Pass TC-04-02 Add Slot with Invalid Input TC-05-01 Edit Slot with Valid Input TC-05-02 Edit Slot with Invalid Input TC-06-01 Delete Slot TC-07-01 View All Logs TC-07-02 Filter Log Files TC-09-01 Update SmartThings Account Information with Valid Input TC-09-02 Update SmartThings Account Information with Invalid Input TC-09-03 Log in to SmartThings Account Terence 21
23
Test Cases for Lock Management
Number Test Item Result TC-10-01 View Active Codes Pass TC-10-02 View Inactive Codes TC-10-03 View Pending Codes TC-13-01 Assign Unique Code TC-13-02 Assign Repeated Code Terence 22
24
Lock Management TC-04-01 Add Slot With Valid Input
Code length validation Duplicate code validation Activation and Expiration code scheduling Date range validation Code status TC Edit Slot With Valid Input Same as TC-04-01 Terence
25
Lock Management TC-07-01 View All Logs
SmartThings Api communication validation Lock communication validation System monitoring TC Filter Logs More refined version of the log monitoring Specific lock monitoring Specific date range monitoring Terence
26
Test Cases for User Control
Number Test Item Result TC-01-01 Create New User with Valid Input Pass TC-01-02 Create New User with Invalid Input TC-02-01 Change Name with Valid Input TC-02-02 Change Name with Invalid Input TC-02-03 Change Password with Valid Input from the USERS tab TC-02-04 Change Password with Invalid Input from the USERS tab TC-02-05 Change Password with Valid Input from the MY PROFILE tab TC-02-06 Change Password with Invalid Input from the MY PROFILE tab TC-02-07 Change Username with Valid Input TC-02-08 Change Username with Invalid Input Test Cases for User Control Terence 20
27
Test Cases for User Control
Number Test Item Result TC-02-09 Change with Valid Input Pass TC-02-10 Change with Invalid Input TC-03-01 Delete User TC-11-01 Reset Password with Valid Input TC-11-02 Reset Password with Invalid Input Test Cases for User Control Terence 20
28
User Control TC-11-01 Reset Password with Valid Input
Maintains Administrator access to the system User self-sufficiency in accessing the system Terence
29
Test Cases for Device Status
Number Test Item Result TC-08-01 View Lock Status Pass TC-08-02 View Hub Status Terence 21
30
Test Case ID (if applicable)
Traceability Matrix Requirement ID Verification Type Test Case ID (if applicable) OC-1: Lock Management Testing TC-04-01, TC-04-02, TC-05-01, TC-05-02, TC-06-01, TC-07-01, TC-07-02, TC-09-01, TC-09-02, TC-09-03, TC-10-01, TC-10-02, TC-10-03, TC-13-01, TC-13-02 OC-2: User Control TC-01-01, TC-01-02, TC-02-01, TC-02-02, TC-02-03, TC-02-04, TC-02-05, TC-02-06, TC-02-07, TC-02-08, TC-02-09, TC-02-10, TC-03-01, TC-11-01, TC-11-02 OC-3: Device Status TC-08-01, TC-08-02 Terence 29
31
Quality Control and Metrics
Diego 29:25 31
32
Current Technical Debts
Mitigation Plan Priority Hardcode base URL in the selenium automated tests. Move the hardcoded URL to a properties file or pass it via an argument to the test suite HIGH Refactor Users Component and remove duplicated code Refactor the component removing duplicated attributes and methods. MEDIUM Missing automated unit tests for some backend APIs. Partially fixed, added automated unit tests for the “users API". Need to add for locks as well. However, some tests are covered by Selenium Mobile Compatibility: The web page does not work properly in a mobile device Run "npm run lint" and perform the suggested corrections LOW Need to adjust the CCS to support the latest Android and IOS phones Diego 32
33
Quality Control - Code Review
Slack 1 - Push Code 2 - Trigger Build 3 - Build Result Diego - Need to adjust it here.
34
Continuous Deployment
Diego - Add docker registry image, slack and server 34
35
Bugs Fixed Diego 36 min 35
36
Metrics
37
Metric: Tasks Created vs Tasks Completed
Nick 37
38
Contributions To Master GitHub Branch, Excluding Merge Commits
CCD Nick 36:00 38
39
Transition Plan Alex 39
40
Hardware, Software, Site and Staff Preparation
Locks Samsung SmartThings hubs Router & modem Computer Software SmartThings App Web browser (ex: Firefox, Chrome) SmartLocks App Site Server provided by client Setting up locks on each door Paring locks with hubs Alex 40
41
Transition Plan Key Stakeholders Responsibilities Developers
Update the user manual. Design maintainer documents. Make sure that the latest version is deployed to the server Client Undergo training for the product. Understand the core capabilities implemented. Identify future plan. Maintainers Follow the instructions mentioned in the user manual. Develop new patch updates for future features. Alex Need to add based on the Project Plan that will be drawn. 41
42
Evaluation Evaluation
Throughout the development process and during the CCD, the team received feedback from client regarding changes and fix bugs associated with the website content, interface and functionality. The suggested changes were negotiated, prioritized and implemented. Alex 42
43
Operational Testing & Training
Final testing was performed to ensure all the win conditions are met. Training Client needs to: Be trained on how to use the website. Be trained on how to apply future software patches. Know how to manage SmartThings account. Know how to manage the different users, hubs and locks associated with the website. Alex 43
44
Required Resources Maintainer document
Guide to setup the system with initial configuration. Guide to develop new patch updates. Guide to run automated testing on the product. User manual Guide for different users in the hierarchy to operate the system. Guide for basic navigational flow and functionalities of the website. Source code Github repository Alex 44
45
Project Plan Will 41:00 min 45
46
Project Plan (contd…) 46 Will
Explain how it entails into the milestone plan 46
47
Project Plan: Remaining Schedule
Will Explain how it entails into the milestone plan 46
48
Thank You ! Team 5 Will 43:00 47
49
Backup Slides 38
50
Video : Selenium in action
31
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.