Technological Feasability Document

Technological Feasability Document

Computer Science Senior Capstone CS476 - Requirements Engineering ViralTech Project: PIMpoint Collaborator Data Entry Point Technology Feasibility Analysis Overview: The purpose of this document is to highlight the high-level requirements of our project by presenting technological and integration challenges, and give ourselves the chance to explore evaluations and solutions. Team Members: Client: Jialei Chen Jonathan Todd - Associate Bioinformatician Carl Porter Colton Spector Weiheng Su Scooter Nowak - Capstone Mentor Northern Arizona University TGen North School of Informatics, Computing, and Cyber Systems Flagstaff, Arizona October 22, 2019 1 Table of Contents Intro 4 Document Purpose 5 Technological Challenges 7 Customer Constraints 7 Back-End Langauge 7 QR or UPC Generator 8 Front-End Langauge 9 Shipping Label Interface 9 Web-Data Entry Spreadsheet 10 Technology Analysis 11 Back-End Language 11 Java 12 Python 12 Node.js 13 Back-End Chosen Approach 13 Back-End Proving Feasability 14 QR or UPC Generator 15 GoLang QR Code Library 15 QR Code Generator (QR Code Monkey) 15 UPC Barcode Generator (Barcode Tec-it) 16 Barcode Generator Chosen Approach 16 Front-End Languages 17 HTML/(CSS) 17 Javascript 18 2 JQuery 18 Mootools 19 Ajax 19 Front-End Chosen Approach 20 Shipping Label Interface 20 Integrated Fed-Ex Label & Package Tracking 20 Web Data Entry Spreadsheet 21 Jakarta POI 22 Java Excel API 23 Spreadsheet Chosen Approach 24 Technology Integration 25 Front-End and Web Spreadsheet 25 Front-End and Google Authentication 25 Bar Code Generator and Back-End 25 Back End and JSON Objects 26 Back-End and Web Spreadsheet 26 Back-End and Shipping Label Generator 26 Back-End and PostgreSQL 26 Conclusion 27 3 1.0 Intro As humans, we can only ever see the world in abstractions. The definition of those abstractions changes depending on how versed we are in the specific domain we are abstracting. Non-medical professionals for example think of cancer as a single disease with a single treatment: chemo therapy. Medical professionals have a higher definition abstraction and see cancer as many separate diseases with separate treatments depending on the type of cancer. However even this abstraction is still an abstraction. No human can perfectly conceptualize the exact genetic structure of any single disease and it’s exact interactions with any single patients DNA. While no human is capable of doing this, maybe us humans can create machines that can get pretty close to that. TGEN, which stands for Translational Genomics Research Institute, is a non-profit organization dedicated to treating diseases not at an abstract level, but with razor sharp precision. They work tirelessly to break down and understand the genetic components of common and complex diseases. The amount of variables among diseases and people is so tremendous that one treatment can’t possibly work for everyone. And so TGEN is working towards being able to genetically analyze the actual disease afflicting a person and prescribe the best treatment on a patient by patient basis. However the processes currently in place at TGEN aren’t as efficient as they can be to allow the scientists to dedicate as much of their time as possible to actual science. This is where our team, Team Viraltech, comes into play. Team ViralTech includes: Jialei Chen, Carl Porter, Colton Spector and Weiheng Su. Our project is PIMpoint Collaborator Data Entry Point. The sponsor for this project is Jonathon Todd, an associate bioinformatician at TGen North. Figure 1: TGen North current data entry workflow The process for collaborators submitting data involves them sending the data in various formats directly to the scientists at TGen north for them to input into the database (Figure 1). Currently this processes is problematic for two main reasons: 1. Because data entry is non-standardized, scientists often have to track down or clarify necessary data that wasn’t included properly in the submission 2. Scientists waste time every day manually entering data into their database. To combat this problem our team is designing a configurable web platform to collect data from contributors in a standardized format, then automatically upload that data to the database (Figure 2). The platform will also produce a printable bar code that the contributor can attach to their samples so that the scientists at TGen are able to quickly scan the sample and pull up all the information that they 4 need. Problem 1 will be solved by creating a formatted spreadsheet that defines what fields of data are needed for the sample. Problem 2 will be solved by our website uploading the data to the database and by the attached bar codes allowing scientists to grab a sample and immediately start working on it. In addition to solving the two main problems our software will add a couple of new features that should make a positive impact on TGens workflow: 1. Collaborators will be able to log into the website to track their samples progress through the various TGen processes 2. Our website will produce a shipping label that the collaborators can use to send their packages to TGen 3. Our software will be configurable with a text file, allowing our website to function for any amount of packages containing any amount of items going through any amount of different processes. Figure 2: Our proposed solution 1.1 Document Purpose This document is the Technological Feasibility document for our PIMpoint Collaborator Data Entry Point project. The purpose of this document is as follows: 1. To outline the major technological challenges facing our project 2. To analyze the possible solutions to each one of our technological problems 3. To compare those solutions via objective measurements 4. To choose the best possible solution to each of our technological challenges 5. To determine how those solutions integrate together and into our clients system This document will be successful if it’s able to: 5 1. Comprehensively identify all the technological challenges necessary to overcome for the success of the project 2. Choose the best solutions for those technological challenges 3. Verify that all of those solutions integrate smoothly with each other and with the clients system as it exists now If this documents process is thorough and comprehensive enough then the actual implementation of the project in the following semester will be significantly smoother. The organization of this document is fairly straight forward. First, in our Technological Challenges section, we will outline and analyze all of the technological challenges facing our project. Then, in our Technology Analysis section, we will break down each and every one of our challenges and identify the possible solutions. The pros and cons of each solution will be discussed and weighed. After each solution has been weighed we will decide on which solution to implement in our project. To check our decision we will prove that that solution is implementable with small demos. Finally, in our Technology Integration section, we will go over the possible issues of integration. We will map out the basic conceptual structure of our system and identify every connection between technologies. Once we’ve identified those connections we can go through them one by one to determine if the connecting technologies integrate together smoothly. 6 2.0 Technological Challenges In this section we will outline the technological challenges that we will overcome as we implement our solution. At it’s core our project is a fairly common web data entry platform. Some challenges we face have been solved and thus should be straight forward. Having said that, there are also some challenges with our specific implementation that need to be addressed in some more detail. We will start by outlining the various customer constraints we’ve been given for this project. While these solutions are already determined, it’s important to understand how they fit into our system. Finally we will outline the various technological challenges and define the metrics by which we will judge them. 2.1 Customer Constraints Our client has some constraints that our system needs to be able to work with. Some of these constraints have to do with the preexisting system we are interfacing with while some are client preference. We will go over the customer constraints now, as they play a role in some of our technological challenges. The customer constraints we have are as follows: • Google Authentication: Our client doesn’t want to have to store collaborator passwords in their database. In addition to this, not having to make a new account for our website will be convenient for the collaborators • JSON Objects: Our client stores dynamic data for their samples in their database in the form of JSON objects. Because of this our system needs to be able to create JSON objects and send them to the database. • PostgreSQL Queries: Our client uses a PostgreSQL database and so our website needs to be able to perform PostgreSQL queries and insertions 2.2 Back-End Language The back end language is essentially the brain of our web platform. Our back-end language will be responsible for doing all of the interaction with our clients database, configure the website, abstractly model all the data, and interact with our bar code and shipping label generation. Whatever language we choose needs to be able to: • Read a text configuration file to customize our websites structure • Make PostgreSQL queries and insertions to update and read our clients database • Send JSON objects to the

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    27 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us