Semester 1 Presentation
Total Page:16
File Type:pdf, Size:1020Kb
E-Clerk Team: SDMAY18-01 Website: https://sdmay18-01.sd.ece.iastate.edu Advisor & Client: Lee Harker Team Members Rex Borseth Annie Steenson DeQuan Burnside Major: Software Engineering Major: Software Engineering Major: Software Engineering Team Role: Client Liaison Team Role: Project Manager Team Role: Software Reporter Technical Role: Embedded Technical Role: Software Architect Technical Role: Backend Systems Developer Developer Nick Parsons George Zachariades Sandra Sebastian Major: Computer Engineering Major: Computer Engineering Major: Computer Engineering Team Role: Secretary Team Role: Treasurer Team Role: Hardware Reporter Technical Role: Hardware Technical Role: Systems Technical Role: Hardware Architect Administrator Engineer Project Plan Problem Statement ● ETG small equipment checkout ● Sub-optimal business hours ● Waste of precious faculty time ● Inefficient bookkeeping ● Low accountability Functional Requirements - Students ● Log in and out ● View available equipment ● Select an equipment item to checkout ● Determine checkout duration ● View currently checked out equipment (personal) ● Return equipment, close checkout record ● Report system misuse or broken items Functional Requirements - Admin ● Log in and out ● C.R.U.D. available equipment ● Determine max checkout durations for items ● C.R.U.D. student users, records, and user privileges ● Create, update, remove lockers ● Add new Administrators Non-Functional Requirements ● Scalability ● Availability ● Reliability / Recoverability ● Maintainability ● Security ● Data Integrity ● Usability Conceptual Sketch ● Metal Lockers ● Dallas 1-Wire® System ● Raspberry Pi ● Linux Virtual Machine ○ Website ○ MySQL ● Monitor ● Keyboard Technical Constraints and Considerations ● How much current we can deliver to the 12-volt locks ● Sanitize database every semester ○ Graduating students/ Leaving students ● Misuse: Item return validation ● Website must be maintainable by ETG Market Survey ● Send out Survey to ECpE students Market Survey ● Send out Survey to ECpE students Potential Risks & Mitigation ● Learning Curves ● Failing to manage time wisely ● Malicious users, system abuse ● Concurrency Issues ○ Opening two sessions of the website on the Raspberry Pi Resource & Cost Estimate ● Total Estimated Cost: $627.82 Resource & Cost Estimate ● Total Estimated Cost: $627.82 Alternatives: Amazon - Hubs ● Up to $6K-$20K in cost plus monthly maintenance fees ● Similar misuse risks https://amazon29.au1.qualtrics.com/jfe/form /SV_dcgOjgJfneXEG45 System Design Functional Decomposition ● Two major components: ○ Hardware ■ Lockers ■ 1-Wire® System ■ Raspberry Pi ○ Software ■ Virtual Machine ■ Website ■ Database ■ OWFS (1-Wire Filesystem) Macro-level System Design Software - OWFS (1-Wire Filesystem) ● Will run on the Raspberry Pi ● I2C connection is used to connect to one wire system ● Runs a virtual filesystem ● Each device on discovered is automatically added as a file ● Runs two servers ○ OW server runs filesystem ○ HTTP server Hardware Design ● System ○ Raspberry Pi ○ One-Wire Master Device ○ Logic Level Converter (3.3V to 5V) ● Per Locker items ○ One-Wire Slave Devices ○ LM 660 Operational Amplifier ○ IRF 540 Mosfet Device ○ 12V Electric Lock Hardware Design - Master Circuit Diagram ● Hardware Design - Slave Circuit Diagram ● Hardware Design - Circuit Equations 12V limit to MOSFET If Vt is never reached, the MOSFET will be in an “OFF” state. (Vgs = 0) Software - Platforms Software - Database Schema Security - Authentication - Shibboleth ● Version - Shibboleth 2.6.0 ● Redirecting /secure to the Shibboleth authentication page. ● Returning header with successful login. ● User now authenticated and can checkout equipment. ● Logging authenticated users with login time. Prototype Demo Prototype Demo Authentication - Shibboleth - Demo Test Plan ● Unit tests ● Code Coverage ● Functionality Testing ○ Proper navigation (links) ○ Form validation ● Database testing ○ Data consistency ● Content checking ○ Disability Accommodations Test Plan ● Compatibility Testing ○ Browsers ○ Print Options ● Security Tests ○ Unauthorized requests ○ SSL is working properly ○ Securing Raspberry Pi ● Hardware ○ Circuit validation ○ Operational validation Conclusion Project Milestones (First Semester) ● Prototype - 12/06/2017 ○ User clicks on button to signal they want to checkout something ○ Frontend sends HTTP request to backend ○ Backend sends a TCP request to OWFS server ○ OWFS turns slave device port assigned to the lock off Project Milestones (Second Semester) ● Minimal Viable Product (MVP) - 03/09/2018 ○ Check out/in and retrieve/return equipment to designated locker box. ○ 40% unit test code coverage ● Alpha Testing ○ Team and ETG tests the MVP ● Staging ○ Product has pristine user interface ○ Fully functional student and admin features ○ 60% unit test code coverage Project Milestones (Second Semester) ● Beta Testing ○ Team will ask a group of students and ETG staff to trial the system ● Final Product - 04/27/2018 ○ Final product should have any modification requirements found from testing ○ Over 95% unit test code coverage ○ Logging and error handling ○ Backup script ○ Software and hardware manuals Current Project Status ● Prototype is complete ● Work on MVP over break ● Implement checkout functionality ● Make website look professional ● Have master device differentiate which slave devices to signal ● Securing OWFS server Plan for Next Semester ● Make more specific goals ● Work on personal accountability ● Build out MVP first month ● Finalize circuit design ● Add LED and Locker functionality to one-wire system ● Build out the staging product ● Test, test, test Contributions of Each Project Member ● Team Total: 387 hours Task Responsibility ● Annie: Software Architect, Full stack dev ○ Design software architecture ○ Front-end components ○ Back-end implementation ● Quan: Backend Dev ○ REST API endpoints ○ Document software processes ● Rex: Embedded Systems Dev ○ REST API endpoints ○ OWFS integration Task Responsibility ● George: Systems Administrator ○ Shibboleth integration ○ OWFS and locker integration/testing ● Sandra: Hardware Engineer, Front-end Dev ○ OWFS and locker integration/testing ○ Front-end styling ● Nick: Hardware Architect ○ Design circuits ○ 1-wire® system ○ Locker integration ○ Document hardware processes Thanks! ANY QUESTIONS? Appendix: In Depth Slides Market Survey ● Send out Survey to ECpE students Market Survey ● Send out Survey to ECpE students 1-Wire Technology https://www.maximintegrated.com/en/app-notes/index.mvp/id/1796 1-Wire Block Diagram https://www.maximintegrated.com/en/products/digital/one-wire.html Plan for Next Semester ● Annie: ● Quan: ● Rex: ● George: ● Sandra: ● Nick:.