21
1 Running head: Lab 2 – iTracker Prototype Specification Lab 2 – iTracker Prototype Specification Charles W. Fischer CS411W Professor J. Brunelle 25 March 2019 Version 1

  · Web viewCurrently, there is a need to automate the aggregation and organization of scientific observations and to facilitate the efficient analysis of raw data by students

  • 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.