Hp, Inc Pieter Van Zee
Total Page:16
File Type:pdf, Size:1020Kb
CS CAPSTONE PROJECT ARCHIVE DOCUMENTATION MAY 29, 2020 AUTOMATE THE SETTINGS THAT CONTROL A MILLION-DOLLAR PRINTING PRESS PREPARED FOR HP, INC PIETER VAN ZEE PREPARED BY GROUP62 PROPRIETORS OF THE PRESS KUAN-YU LAI COLE JONES Abstract During the 2019-2020 school year, our Capstone group created a web application for HP that uses a rule-based decision engine to provide users a starting point for determining the optimal settings for an industrial printing press for a given print job. This document is a compilation of all of the documents that were created during the year, as well as blog posts and conclusions from team members, and feedback from peers from the design and code reviews. The web application we created is planned to be deployed on an HP site so that users around the world may use it. 1 CONTENTS 1 Forward 6 2 Introduction to Project 6 2.1 Who Requested It?..............................................6 2.2 Why Was It Requested?...........................................6 2.3 What Is Its Importance?...........................................6 2.4 Who Was/Were Your Client(s)?.......................................6 2.5 Who Are the Members of Your Team?...................................6 2.6 What Were Their Roles?...........................................6 2.7 What Was the Role of the Clients?......................................7 2.8 How Did the Changes in Spring Term Affect Your Deliverables?....................7 2.9 How Do You Recommend the Next Team Use This Final Documentation to Pick Up Where You Left Off?.......................................................7 3 Requirements Document 8 3.1 Change Table.................................................9 3.2 Overview...................................................9 3.3 Glossary of Terms...............................................9 3.4 Use Cases................................................... 10 3.4.1 Implementation of Decision-Making Engine.......................... 10 3.4.2 Use of Decision-Making Engine in Pre-Press Check...................... 10 3.4.3 Use of Decision-Making Engine to Generate Job Settings for Job Ticket........... 10 3.4.4 Use of Decision-Displaying Current Operating Task and Progress............. 10 3.4.5 Use of GUI to Queue Jobs.................................... 10 3.4.6 Use of API Calls to Queue Jobs................................. 11 3.4.7 Selection of Rules for Engine................................... 11 3.5 Tools & Applications............................................. 11 3.5.1 Existing Internal Tool....................................... 11 3.5.2 Decision-Making Engine..................................... 11 3.5.3 GUI................................................. 11 3.5.4 API................................................. 12 3.5.5 Database.............................................. 12 3.6 Gantt Chart.................................................. 12 3.6.1 Gantt Chart Analysis....................................... 12 4 Design Document 13 4.1 Change Table................................................. 14 4.2 Overview................................................... 14 4.2.1 Scope................................................ 14 2 4.2.2 Purpose............................................... 14 4.2.3 Description of stakeholders.................................... 14 4.3 Glossary of Terms............................................... 14 4.4 Timeline.................................................... 15 4.5 Rules Engine.................................................. 15 4.5.1 Description of Design....................................... 15 4.5.2 Design Viewpoints........................................ 15 4.5.2.1 Context............................................... 15 4.5.2.2 Composition............................................ 15 4.5.2.3 Dependency............................................ 16 4.5.2.4 Interaction............................................. 16 4.5.3 Design Rationale.......................................... 16 4.5.4 Design Implementation...................................... 16 4.6 Database.................................................... 16 4.6.1 Description of Design....................................... 16 4.6.2 Design Viewpoints........................................ 17 4.6.2.1 Context............................................... 17 4.6.2.2 Composition............................................ 17 4.6.2.3 Dependency............................................ 17 4.6.2.4 Interaction............................................. 17 4.6.3 Design Rationale.......................................... 17 4.6.4 Design Implementation...................................... 18 4.7 Website..................................................... 18 4.7.1 Description of Design....................................... 18 4.7.2 Design Viewpoints........................................ 18 4.7.2.1 Context............................................... 18 4.7.2.2 Composition............................................ 18 4.7.2.3 Dependency............................................ 18 4.7.2.4 Interaction............................................. 19 4.7.3 Design Rationale.......................................... 19 4.7.4 Design Implementation...................................... 19 4.8 Conclusion................................................... 19 4.9 References................................................... 20 5 Tech Review Document - Kuan-Yu Lai 21 5.1 Introduction.................................................. 22 5.2 Piece1: Analysis of input data for generation of outputs......................... 22 5.2.1 Drools............................................... 22 5.2.2 Google Cloud Platform...................................... 22 5.2.3 TensorFlow............................................. 22 3 5.3 Piece2: Hosting the feature on the web................................... 23 5.3.1 Oregon State University engineering server.......................... 23 5.3.2 Heroku............................................... 23 5.3.3 Amazon Web Services....................................... 23 5.4 Piece3: Storage of outputs and profiles................................... 23 5.4.1 MYSQL............................................... 24 5.4.2 MongoDB............................................. 24 5.4.3 Redis................................................ 24 5.5 Conclusion................................................... 24 5.6 References................................................... 24 6 Tech Review Document - Cole Jones 26 6.1 Introduction.................................................. 27 6.2 Piece 1: Capture of Input Data from User.................................. 27 6.2.1 User Interface........................................... 27 6.2.2 Email................................................ 27 6.2.3 Hot Folder............................................. 28 6.3 Piece 2: Tool Interaction Using API..................................... 28 6.3.1 REST................................................ 28 6.3.2 SOAP................................................ 28 6.3.3 JSON-RPC............................................. 29 6.4 Piece 3: Presentation of Tool to User.................................... 29 6.4.1 ReactJS............................................... 29 6.4.2 Bootstrap.............................................. 30 6.4.3 Angular............................................... 30 6.5 Conclusion................................................... 30 6.6 References................................................... 31 7 Blog Posts 32 7.1 Fall Term.................................................... 32 7.1.1 Cole Jones............................................. 32 7.1.2 Kuan-Yu Lai............................................ 33 7.2 Winter term.................................................. 34 7.2.1 Cole Jones............................................. 34 7.2.2 Kuan-Yu Lai............................................ 36 8 Final Poster 37 9 Project Documentation 38 9.1 How does the project work?......................................... 38 9.2 Install Guide How to run it......................................... 38 4 9.2.1 Front-End............................................. 39 9.2.2 Back-End.............................................. 39 9.2.2.1 SJA Engine............................................. 39 9.2.2.2 Rules Engine............................................ 40 9.3 User Guide................................................... 40 9.4 API Documentation.............................................. 41 9.4.1 SJA Engine............................................. 41 9.4.2 Rules Engine............................................ 41 10 Recommended Technical Resources for Learning More 42 10.1 Helpful Websites............................................... 42 10.2 Helpful Books................................................. 42 10.3 Helpful People................................................ 42 11 Conclusions and Reflections 43 11.1 What technical information did you learn?................................. 43 11.1.1 Cole Jones............................................. 43 11.1.2 Kuan-Yu Lai............................................ 43 11.2 What non-technical information did you learn?.............................. 43 11.2.1 Cole Jones............................................. 43 11.2.2 Kuan-Yu Lai............................................ 43 11.3 What have you learned about project work?................................ 43 11.3.1 Cole Jones............................................