Current App-Trac Requirements

From Humanitarian FOSS Summer Institute 2009

Jump to: navigation, search

Back to App-Trac page

Contents

Introduction

Purpose

The purpose of this document is to outline the functionality, capabilities, and requirements of the App-Trac system, as agreed upon by both the client and the developers.

Authors

Sarah Thayer, Myles Garvey, Chris Fei, Ernel Wint

Intended Audience

The intended audience for this document is LVGH, and other organizations interested in a similar program.

Definitions

  • LVGH: Literacy Volunteers of Greater Hartford
  • App-Trac: Name of project for LVGH
  • SRS: Software Requirements Specification (document)
  • DB: Database
  • MySQL: Back-end DB
  • PHP: Front-end web-based interface
  • HTML: Hyper Text Markup Language used to produce web pages
  • API: Application Programming Interface
  • Java: Programming language to be used
  • Javadoc: a tool for generating API documentation in HTML format from specific comments in the code
  • OS: Operating System
  • Windows XP: initial OS to be used
  • Kiosk Mode: Interface, prohibiting access outside of it
  • Lexia: Software application currently used by LVGH
  • EuroTalk: Software application currently used by LVGH
  • Logging In: Signing in to access application suite
  • Clocking In: Signing in similar to a time punch (for volunteers)

Overall Description

Product Perspective

The purpose of App-Trac is a user-friendly interface that will allow multiple literacy applications to be connected into one system. Students, literacy volunteers, and administration personnel will be able to access information through the App-Trac kiosk system, removing the computers' OS from users' normal access. App-Trac will also keep progress data of all students and volunteers, and generate full or specific data reports on student performance to be analyzed by volunteers using App-Trac. Through the App-Trac interface, students will be able to access literacy applications by clicking in and out of each application through a kiosk instead of separate, standalone icons that would otherwise be on the desktop.

Product Functions

App-Trac will provide tracking for when a student logs in and out of the system. App-Trac is based on multi-tier user access: administrators, volunteers, staff, and students. Students will be able to log into their specific session of App-Trac by selecting their name from a selection menu and then logging in by selecting “Login”. Once users log in, a set of applications will be presented. Lab coordinators will be able to use the App-Trac system as a functional way to clock in and out, informing users of the supervisor on duty. Depending upon the given access level of a volunteer, his or her personal account will be password protected allowing different amount of access to student-specific information.

User characteristics

App-Trac provides a user-friendly interface with names of the students and unique pictures (avatars) of either the user or some other object.To avoid accidental 'mislogins', the student will have to press a separate button to confirm their login once their name is selected. Students' general use of App-Trac does not require entering a password, though turning on or off password protection will be optional for each user. This system is geared towards not only the administrative end, but also towards the students finding difficulties in reading. The interface will also allow flexibility for the addition of applications that may be needed by LVGH or any other organizations. Students will not have access to the Windows operating system. Instead, the computer will enter a kiosk mode that will only allow them access to the applications they are permitted to use for literacy training.

Operating Environment

App-Trac is primarily operating on the Windows OS, though there may be possible future cross-platform implementations. In Windows, App-Trac will be a full screen kiosk system that will restrict access to the underlying operating system.

Product Functions

App-Trac will consist of a set of functions necessary for both the needs of LVGH and other non-profit organizations with similar requirements. These functions include application tracking, specific website tracking, user management, data integration and management, report generation, and application management. App-Trac will be a module-based system, and hence will include functionality for extensibility. Examples of this extensibility will be found in the functions of user and application management as well as the report generation.

Tracking System (Core)

Within the core system of App-Trac will be a tracking system. This tracking system will include tracking of a student's activity during the use of a computer. It will record which applications the user visited and send timestamps to a database, which later can be used for report generation.

Weblink Tracking

Along with the tracking of applications and logins of students on a specific computer, there will be tracking of when users access the LVGH-specified Weblinks.

User Login System (Core)

The login functionality will consist of name and password combinations. The login system will meet the following requirements:

Logging In

Logging in is defined as the process of a user signing on to use a computer. How a user is able to use the computer is based on their access level (see 4.1). The process is analogous to logging onto an OS such as Windows, the only difference being that specific data is sent to the App-Trac database, which can later be used for reporting.

Clocking In

Clocking in is defined as the process of a user signing into LVGH or another specific non-profit organization. This system consists of 'clocking into work' by the simple click of a button. Note that a user can be clocked in but not logged in at any particular time. The purpose of clocking in is to track volunteers that are on duty for a specific amount of time. This system can also be extended to any other user that may require a clocking system.

Report Generation (Base Module)

Report Interface

Report generation is a key feature for App-Trac, but will be implemented in a module form on top of App-Trac. This will allow easy modifications to the report generation process without looking too much into the source code. The interface will consist of a visual representation of all the databases specified by the administrator (see 3.5). The visual representation will allow the administrator to choose which data should be included in a report. The report can either be viewed or exported (see 3.4.2).

Report Export

Reports can either be viewed or exported in any format necessary for the given non-profit organization. Possible formats include HTML, CSV, PDF, etc. These are all printable formats, and could all be implemented on a web-based system, so they could also be viewable through a browser.

User and Application Management (Base Module)

App-Trac will include an administrative end that allows users and applications to be added. This edition of App-Trac will be in the form of a module, so control can be customizable for the specific non-profit organization. The user management section will involve the user information to be stored in the database. That user may have a certain access level (see 4.1), with certain permissions to specific functionality (see 4.1). The management will also involve personal information of users, so vision of this may also depend on user permissions. Application management will work in a similar manner to user management, but will have the extra feature of 'pointing' to an application's data source. This data source can be a collection of exports or a database. This will allow report generation of application data.

Extensibility

The function of modules will allow LVGH and other non-profit organizations to add features that they deem necessary without severe modifications to the core source code. App-Trac's module system will be an easy system that allows developers to code specific parts of App-Trac in a timely manner and simply add it on to the core system. This will prove extremely useful for other non-profit organizations needing a similar but not exact system as LVGH's needs for App-Trac.

User Characteristics

User Permissions

Students

Students will have the most limited access of all users. They will be required to log in and log out of the system for use. They will have access to standard LV applications such as Lexia and Eurotalk in addition to web applications such as Mozilla Firefox and an email application. These applications are determined by the administration of the non-profit organization or LVGH.

Volunteers

Volunteers will have specific permissions in addition to those of students. Volunteers may view and add new users. A volunteer-exclusive permission is the ability to clock in and clock out (see 3.2.2). A volunteer can clock in from one computer and clock out from another.

Staff

Staff users inherit all permissions of Volunteers. In addition, staff users can add and edit new users.

Data Admin/Tech Management (module addition)

This user has all permissions. They will be able to change any option and manage and view all data. This is an advanced status and an admin will be able to directly change, manage, and add modules to App-Trac. Database management is also allowed for an admin.

User Interfaces

Students

The student interface will be easy to use and easy to interpret. Many of the student users have limited literacy, and thus the interface used by them will have to accommodate their needs. Pictures will be incorporated into their interface to simplify their use of App-Trac as much as possible. They will be able to log in through a log in screen and access will then be given to a panel of applications from which to choose.

Volunteers

The logged in interface of a Volunteer will be nearly identical to that of a student, and will include the volunteer control panel. This allows for class management and general access options. There will also be an option off to the side of the login screen to allow Volunteers to clock in without monopolizing a computer.

Staff

The interface of a Staff user will be the same as that of a Volunteer, only with additional tabs. This interface will not necessarily be as graphics-friendly as that of a student.

Data Admin/Tech Management

The admin will have the most complicated interface. There will be many options and tabs for the admin to choose and edit. Like a staff member, the admin's interface will not necessarily be flashy. The admin has all options of previous users, in addition to functionality for generating reports, adding new modules, adding and updating class rosters and schedules, creating and manipulating data.

Use Cases and Scenarios

Case A: Student uses literacy applications on personal time
User System
1. Chooses name/avatar from App-Trac login screen Checks class roster, time, name: user is not part of a class, so default ‘personal time’ in DB; records user, time
2. Chooses application to use Records time, application
3. Closes application Records time, synchronizes with application DB
4a. Go back to 2 Go back to 2
4b. IF user has class Checks class roster, time, name: user is part of a class, so change to ‘class time’ in DB. Records user, time, teacher. Go to Case B #2.
4c. User logs out of App-Trac Records user, time


Case B: Student uses literacy applications on class time
User System
1. Chooses name/avatar from App-Trac login screen Checks class roster, time, name: user is part of a class, so change to ‘class time’ in DB; records user, time
2. Chooses application to use Records time, application
3. Closes application Records time, synchronizes with application DB
4a. Go back to 2 Go back to 2
4b. IF user has class Checks class roster, time, name: user is part of a class, so change to ‘class time’ in DB. Records user, time, teacher. Go to Case B #2.
4c. User logs out of App-Trac Records user, time


Case C: Volunteer/Staff/Admin adds new student to class
User System
1. Logs in to App-Trac Records user, time
2. Goes to ‘Class Control’ tab, then 'Add Student to a Class'. Selects class from list, Checks new student’s box to add to class, clicks ‘Save’ System adds user to class in DB
3. Logs out of App-Trac Records user, time


Case D: Volunteer/Staff/Admin clocks in/out
User System
1. Goes to any computer, selects username
2. Enters password, clicks ‘Clock in’ Records user, time
3. Goes to any computer, selects username
4. Enters password, clicks ‘Clock out’ Records user, time


Case E: Volunteer adds new student user
User System
1. Logs in to App-Trac Records user, time
2. Goes to ‘Add Student’, inputs: first name, last name, password, type, image, clicks ‘Save’ Adds new user and information to DB
3. Logs out of App-Trac Records user, time


Case F: Admin generates reports
User System
1. Logs in to App-Trac Records user, time
2. Goes to ‘Report Control’ tab, chooses specific report type desired Gathers all required data, synchronizes it together, generates report, displays (option to view or print)
3. Logs out of App-Trac Records user, time


Case G: Admin removes user
User System
1. Logs in to App-Trac Records user, time
2. Goes to ‘User Control,’ selects ‘Remove User,’ Adds new user and information to DB
3. Selects user from current list, clicks ‘Remove’. Warning message: “Are you sure?”, clicks ‘Yes’ Removes user and all related information from DB
4. Logs out of App-Trac Records user, time


Case H: Staff/Admin adds class
User System
1. Logs in to App-Trac Records user, time
2. Goes to ‘Class Control’ tab, ‘Add Class’
3. Inputs teacher name, days/times of class, clicks ‘Save’ Records all information to use for personal/class management of DB
4. Logs out of App-Trac Records user, time


Case I: Staff/Admin adds student to class
User System
1. Logs in to App-Trac Records user, time
2. Goes to ‘Class Control’ tab, ‘Add Student to a Class'
3. Selects class from list, selects student from list, clicks 'Submit' Records all information to use for personal/class management of DB
4. Logs out of App-Trac Records user, time

Operating Environment

Hardware

Our goal is to allow App-Trac to run with as little overhead as possible.

Platform

App-Trac will run on the Windows OS, due to application loading requirements. See Possible App-Trac Enhancements.

Network

Coordination with others on Network

The computers at LVGH are all networked together, sharing a common hard drive.

Design/Implementation Constraints

Legality of Information

One constraint that may be encountered is the legal issue of personal information. However, the only user information to be used by App-Trac is name, password, and type of student.

Hardware Constraints

Since App-Trac is focused towards non-profit organizations, the hardware may not be the most up-to-date. Careful algorithm design may be needed for the App-Trac system due to this constraint. Design for optimal performance must be considered.

Security

See 6.1 for the legality constraints. App-Trac is not responsible for personal information about students. Such information is to be held only by certain administrators at LVGH, and will not be included in App-Trac functionality.

Other Nonfunctional Requirements

Security requirements

App-Trac is to operate in kiosk mode, allowing access to only the available applications in the kiosk. Users in general will not be allowed to access the underlying OS. Passwords will not be available to non-English speaking student users for ease of use, but will be made available to volunteers and administrators for security purposes. All user login information will be encrypted or at least encryptable. To that end, all database information, particularly personal user information, must be protected from potential malfunctions in user permissions or hacking of the system.

Project documentation

Project documentation will consist of Javadoc comments and specific comments within the code. A possible wiki will be set up that will list all the functional aspects of App-Trac and will also allow new developers to easily pick up on making modifications to the system.

User documentation

User documentation will consist of a user manual designed for administrators, including how App-Trac works, how to perform an initial setup, and how to add new functionality. A couple of detailed tutorials will be added on how to add new modules to App-Trac for general needs. Documentation will also include end-use guides, with instructions on how to use App-Trac.

Appendices

Appendix A: References

Writing Software Requirements Specifications. Donn Le Vie, Jr.

Back to App-Trac page

Personal tools