Upload
buidat
View
214
Download
0
Embed Size (px)
Citation preview
1Running head: Lab 2 – iTracker Prototype Specification
Lab 2 – iTracker Prototype Specification
Charles W. Fischer
CS411W
Professor J. Brunelle
25 March 2019
Version 1
2Lab 2 – iTracker Prototype Specification
Table of Contents
1. Introduction..................................................................................................................................31.1 Purpose...................................................................................................................................41.2 Scope......................................................................................................................................51.3 Definitions, Acronyms, Abbreviations..................................................................................71.4 References..............................................................................................................................91.5 Overview..............................................................................................................................10
2. General Description...................................................................................................................102.1 Prototype Architecture Description.....................................................................................102.2 Prototype Functional Description........................................................................................122.3 External Interfaces...............................................................................................................14
2.3.1 Hardware Interfaces………………………………………………………………….. 14
2.3.2 Software Interfaces…………………………………………………………………... 14
2.3.3 User Interfaces………………………………………………………………………...15
List of Figures
Figure 1. Scientific Process With and Without iTracker.................................................................5Figure 2. Prototype Major Functional Components Diagram.......................................................11
List of Tables
Table 1. iTracker Competition Matrix.............................................................................................6Table 2. iTracker Features – Real World Product (RWP) vs Prototype........................................14
3Lab 2 – iTracker Prototype Specification
Lab 2 – iTracker Prototype Specification
1 Introduction
Currently, there is a need to automate the aggregation and organization of scientific
observations and to facilitate the efficient analysis of raw data by students and researchers.
iTrackers’ goal is to address this need.
ODU teaches students and conducts research. Participation in research is critical to the
education of students in the sciences so it is natural to involve students in real-world research
projects. Since this goal is so important, any tool that can facilitate this process is invaluable.
The ODU biology department is currently conducting an extended research effort on tick
systems as a result of a $2.5 million research grant by the National Institute of Health
(Saunders, 2018). Students are being incorporated into this effort by making observations of
tick behavior during their freshman introductory biology labs. There are more than 1000
students enrolled in introductory biology. Students write down their observations with pen and
paper and there is no way to automatically collect and organize these observations. These
results must be inputted after the fact into a computer spreadsheet manually by only a few
teaching assistants. This creates a bottleneck as results are generated much faster than they are
inputted. If results were recorded just as quickly as they were made the speed of research
would increase and new learning opportunities would be possible as students could study
results in the same lab period that they made them.
These issues are not unique to this experiment, ODU, or even the classroom setting.
Many labs at both ODU and other institutions run into the same problems with their data
4Lab 2 – iTracker Prototype Specificationcollection. Even non-student involved research often has similar problems. A remedy to this
data handling dilemma would have far reaching positive benefits.
1.1 Purpose
The solution to the problem is iTracker. iTracker is a system to input observations as
they are made and automatically store them in a central database, available for viewing
instantly. It will be accessible via an app for iOS and Android devices as well as a website.
Currently the work load of creating observations is distributed among many students but the
work load of recording those results is not. With iTracker the observer will input his own
observations immediately after he makes them so the work load of both making observations
and recording them is decentralized, eliminating the previous bottleneck.
While there are other data input applications available none of them have a scientific or
academic orientation. The result is that in those applications users who generate data have no
way to view it or view data generated by others. In the iTracker system student users will be
able to easily view all data collected by the entire group. Data access is decentralized in
addition to data collection. Congruent with the academic orientation, iTracker will also support
some basic statistical analysis. People will be able to view data both through the app and a web
interface.
5Lab 2 – iTracker Prototype Specification1.2 Scope
iTracker is a web-based application that automates the aggregation and organization of
observations and facilitates their analyses. The primary benefit of iTracker is to eliminate the
bottleneck in the scientific process of collecting and organizing scientific observations. The
following diagram illustrates this.
Figure 1. Scientific process without iTracker on the left and with on the right.
The benefit of iTracker as compared to its competitors is its academic and scientific
focus, specifically the level of access to data given to the average user. This is summarized here
by the competition matrix.
6Lab 2 – iTracker Prototype Specification
Table 1. Competition Matrix
In the prototype students will log in and enter data into a chosen lab form. Students will
be able see to the groups data and their own and calculate mean, median, and standard
deviation for either. Instructors will be able to anything a student can and approve or remove
student accounts. Instructors will also be able to make new lab forms.
7Lab 2 – iTracker Prototype Specification1.3 Definition, Acronyms, and Abbreviations
[Super] Administrator: Special user who has all abilities that other users have, plus the ability to add Instructor/Sr. Researcher users.
Access Times: the time period which a certain user can access a certain material (form/educational materials).
Analysis: the detailed examination of scientific observations, which can help to lead to a conclusion.
C#: object-oriented programming language developed by Microsoft like Java and C++ that is well suited for web applications such as iTracker.
Educational Materials: PowerPoint presentations, videos, and tutorials that an Instructor user can upload and a Student user can view inside of iTracker.
Form: data collection form used to gather the results of scientific observations.
Graphical User Interface (GUI): everything that users can see and interact within the iTracker application, including login pages, data forms, and statistics results pages.
Guest: - a user who is not yet registered/approved as a Student user by an Instructor user; has fewer privileges than Student users.
HTML: Hypertext Markup Language, used to present and stylize web pages.
Instructor: a type of user that has all the privileges of a Student user, plus the ability to view and manage Student User’s data, upload educational materials, and approve/deny Guest user applications to become Student users.
JavaScript: an object-oriented programming language that is often used in web development to create interactive effects on web pages.
Mean: the statistical average of a set of data calculated by summing all of the data in the set and dividing it by the number of items in the set.
Median: in a set of data that is ordered, the exact middle number of the set. If there is no exact middle, the median is then the two middle numbers divided by 2.
Mode: The most common value in a set.
MSSQL: Microsoft SQL Server, a relational database created by Microsoft that is similar to Oracle, but uses T-SQL instead of PL/SQL.
8Lab 2 – iTracker Prototype SpecificationObservation: the process of monitoring certain entities for use in scientific research applications.
Outlier Data: data that has been flagged by iTracker as possibly being invalid when compared to known viable/valid data; may be caused by experimental or user error.
PHP: hypertext preprocessor, web programming/scripting language that is particularly suited for the development of a web application such as iTracker.
Sr. Researcher: see Instructor; is part of the same user group as Instructor users and has the same application permissions and abilities but may be a lab teaching assistant instead of a professor.
Standard Deviation: a measure of the amount of variation that the values in a set of data have.
Student: the main type of user in the iTracker application who is part of a lab section and has an Instructor user.
Survey Data: the data that has been collected as part of the research observation process.
Tick Questing: A behavior in ticks that involves waiting, usually on a tree branch, leaf, or blade of grass, for a warm body to come into proximity so that it can latch onto the warm body.
Viable Data: Student data that has not been flagged by iTracker as being outlier data; is considered valid and trustworthy.
Virtual Machine (VM): a virtual computer.
Visualization: the representation of data to allow for easier drawing of conclusions in scientific experiments.
WebView Wrapper: an Android extension that allows web pages to be displayed inside an Android mobile application.
Windows Server: an operating system developed by Microsoft for server applications; is able to utilize MSSQL.
9Lab 2 – iTracker Prototype Specification1.4 References
Android Developers. (n.d.). Retrieved September 21, 2018, from Android Developers Web site:
https://developer.android.com/guide/webapps/webview/
David Gauthier. (n.d.). Retrieved September 25, 2018, from ODU People Directory Web site:
https://www.odu.edu/directory/people/d/dgauthie/
Dr. Holly Gaff. (n.d.). Retrieved September 25, 2018, from Dr. Holly Gaff - Tick Research Team
Web site: https://sites.wp.odu.edu/hgaff/
Jessa, T. (2010, September 19). What are the Steps of the Scientific Method. Retrieved January
21, 2019, from Universe Today Web site: https://www.universetoday.com/74036/what-
are-the-steps-of-the-scientific-method/
Fischer, Charles. 2019. Lab 1 – iTracker Product Description. Old Dominion University,
CS411W, Professional Workforce Development II, Spring 2019. Retrieved March 25,
2019, from Web Site: https://www.cs.odu.edu/~411yello/labs/lab1/FischerLab1v2.docx.
Microsoft SQL Server vs. Oracle: The Same, But Different? (2016, October 26). Retrieved
September 25, 2018, from Segue Technologies Web site:
https://www.seguetech.com/microsoft-sql-server-vs-oracle-same-different/
ODU Tick Team. (n.d.). Retrieved September 25, 2018, from ODU Tick Team Web site:
https://sites.wp.odu.edu/tick-team/
Saunders, N. (2018). ODU Tick Researchers Receive $2.5 Million from the National Institutes of
Health. Retrieved October 11, 2018, from News @ ODU Web site:
https://www.odu.edu/news/2018/5/tick_research/
10Lab 2 – iTracker Prototype Specification1.5 Overview
The remainder of this document includes a detailed description of the iTracker prototype.
This includes major components, functional description, external interfaces, software interfaces,
and user interfaces.
2 General Description
iTracker is a platform for facilitating scientific research and instruction by automating the
aggregation of observations.
2.1 Prototype Architecture Description
The hardware and software architecture for the prototype will match that of the final
product. The core of iTracker will consist of both a web server that hosts most of the pages used
to display the iTracker webpage (an ODU Atria server), as well as a virtual machine server
running Windows Server.
This virtual machine will run MSSQL for the database and Apache for the web services
that will drive the application interface. The Atria server will serve as means to connect users to
the web application and contain documentation. The database will contain information on all
user accounts, the forms that have been created, and all data that has been inputted via the
app or imported via the web interface. Coding for the server functionality will be done in C#
and PHP while the application interface will be done in a combination of HTML, CSS, and JS. The
server will use the MSSQL Server 2016 framework to store and run the database.
A smartphone application for both Android and iOS will be made using the WebView
wrapper to turn the already coded website into an application. The same will be done for iOS
using comparable software.
11Lab 2 – iTracker Prototype Specification
Figure 2. iTracker Prototype Major Functional Components Diagram
12Lab 2 – iTracker Prototype Specification2.2 Prototype Functional Description
There will be four types of iTracker users: guest, student, instructor and super admin.
Guests will only be able to request to register. A student account will be able to input data, view
their own data and view everyone’s data as whole. An instructor will be able to do everything a
student account can and approve guests to become student users. They will also be able to view
the individual submissions of each student. A super admin account will be able to add and
remove instructor accounts.
An instructor will create a set of questions for students to answer and this set of questions
will be called a form. When a student logs in, they will select the appropriate form. Forms will
be capable of several different question types and some basic question logic. For example,
depending on a student’s response to a question, different additional questions may be presented
to the student by iTracker depending on his response. Both instructors and students will be able
to export data via the web interface. However, an instructor will also be able to import data into
the database. The statistical tools that will be included at a minimum are calculating mean,
median, and mode for those questions on the form that are numerical.
In the prototype there will be only be one form to select to input data and that will be
based on the paper form. A student user will log in and select it. Questions will be: Terrarium
ID? Date? Time? Is there condensation? Is there fungal growth? Are lights on or off? Are ticks
moving or sitting still?
Then for each questing tick he will answer the following series of questions: Height
climbed? Species? Any additional comments? For each additional tick users will select add
additional tick to populate more form fields. When the user is done with the tick questions, they
13Lab 2 – iTracker Prototype Specificationwill have the opportunity to write any additional comments associated with that entry. Finally,
they will click submit at the bottom of the page.
At any time after logging in a user should be able to see mean, median, and mode for
height climbed for all ticks, by tick species and by terrarium ID. They should be able to view this
information for a specific time period or overall and by lab section. A basic graphical
representation of this data will also be available. In the prototype the first form will be created by
the developer, but the functionality will exist for an instructor to add additional forms. The
prototype will contain no photo, GPS, or QR code reading capability that may be present in the
finished product. Additionally, the finished product may contain statistical tools beyond mean,
median, and mode and additional supplementary instructional materials. The remaining features
are summarized below. Unit, database, and UI testing are for the prototype only. The following
chart also compares features of the RWP vs. the prototype.
14Lab 2 – iTracker Prototype Specification
Table 2. iTracker Features - Real World Product (RWP) vs Prototype
2.3 External Interfaces
The prototype will run on an ODU Atria virtual machine server and will use the
following additional interfaces.
2.3.1 Hardware Interfaces. iTracker is designed to be used by users on any PC running
a modern browser. Both a keyboard and mouse interface or a touch-based interface will work.
iTracker will also run on Apple iPhones and Android smartphones as well as iPads and Android
tablets.
15Lab 2 – iTracker Prototype Specification
2.3.2 Software interfaces. Apache runs the web server, MySQL runs the databases, and
PHP performs the calculations and visualizations. CSS, HTML, and JavaScript generate the user
interface of the web pages. An up to date browser such as Google Chrome, Mozilla Firefox,
Microsoft Edge or Apple’s Safari can access the iTracker website or it can be accessed through
the iOS or Android application.
2.3.3 User interfaces. iTracker will be accessed by users by the previously mentioned
hardware and software interfaces. The iTracker interface will follow a consistent visual style and
conform with the features previously mentioned.