• No results found

Priority: Medium Channel to Actor: Graphical User Interface (GUI) Usage Frequency: Weekly Secondary Actors: Database, Brisk Application

N/A
N/A
Protected

Academic year: 2021

Share "Priority: Medium Channel to Actor: Graphical User Interface (GUI) Usage Frequency: Weekly Secondary Actors: Database, Brisk Application"

Copied!
10
0
0

Loading.... (view fulltext now)

Full text

(1)

University of Arkansas – CSCE Department

Capstone I – Preliminary Report – Spring 2015

Brisk - Intelligent Time Management

Riley Turben, Daniel Pumford, Eric Hall, Ryan McAlister

Abstract

Managing teams of people is a difficult task. Often it is the responsibility of one person to ensure that everyone else on their team is working on the right things at the right times in order to keep deadlines and finish their projects on time. The purpose of Brisk is to simplify this job by creating a simple, portable, and intelligent time management application for managers and their teammates. With it being generalized enough, it’s possible that Brisk could also be effective for personal use.

To create Brisk, our team will synthesize the best features of other time management applications to find the strongest feature set that people tend to look for. We will then design additions to this feature set to make Brisk predictive and suggestive, allowing for the application to assist users in managing their time. Finally, we will implement the application across mobile and web. The significance of Brisk is that it will create better project time management for teams and do it in a way that is unobtrusive to the workflow of its users.

1.0 Problem

Time management is not a common skill. When a group of people who are not good time managers get together to work on a project, much of their time is spent on time

management tasks rather than the project tasks. While time management is very important, team members should be spending more time completing the project than managing their time.

If team members do not manage their time effectively, it will result in more work and longer completion times for the project. This in turn produces more disgruntled team members, higher project costs, and less satisfied customers. Because of this, the team does not reach its full quality and production potential.

While the ideal solution to this problem is to create a team of people with excellent time management skills, it is not realistic. Another possible solution is to assign one member of the team to perform all of the time management tasks for the entire team, while not working on any of the project tasks. This is a popular solution, but is not an efficient use of the time of the team.

(2)

2.0 Objective

The objective of this project is to provide groups of people with intelligent and cross-platform project management software. Brisk will allow teams to spend less time managing their time and more time completing their projects.

3.0 Background

3.1 Related Work

Basecamp, self-described as “everyone’s favorite project management app”, is a web company started in 1999 [1]. They offer a project management web app with services such as task lists, file sharing, multi-user collaboration, and project scheduling. In 2012, Basecamp launched a new version of their app which uses Ruby on Rails for the backend.

Wrike first released their project management web service in 2007 [2]. Similar to Basecamp. Wrike is a very successful company that provides services such as team collaboration and file sharing, with an emphasis on collaboration between multi-functional teams. It uses JSP as its backend and ExtJS as its frontend.

Both companies have been extremely successful, having customers such as Google, Fox Sports, Ebay, Etsy, and Nike. Their success shows a definite market for solid project management software. However, both products are also complicated and tailored to specific project management paradigms, which can be limiting to smaller teams. We want Brisk to be a project management solution that anybody can use by reducing the complexity of tasks and the complexity of team management.

4.0 Design

4.1 Use Cases

Use Case: Creating a Task

Author: Ryan McAlister

Primary Actor: Manager

Goal in context: Create a new task for use in the project

Preconditions: Project and user already created. User has required permissions.

Trigger: User clicks New Task button.

Scenario:

1. Manager: Presented with new task form 2. Manager: Enters information about the task

3. Application: Verifies all required information is present 4. Application: Adds task to the database

(3)

Exceptions:

1. Manager is missing required information, Form will then highlight missing information and ask for that information to be filled it.

2. The database is unavailable. In which case an alert is given and the manager must wait for the database to become available.

Priority: Medium

Channel to Actor: Graphical User Interface (GUI)

Usage Frequency: Weekly

Secondary Actors: Database, Brisk Application

Channels to secondary actors:

Database: Network

Brisk Application: Network

Open Issues:

Use Case: Add a user

Author: Ryan McAlister

Primary Actor: Manager

Goal in Context: To add a user to the list of users.

Preconditions: Manager has already been created. Manager has required permissions to add a user.

Trigger: Manager clicks new user button.

Scenario:

Manager: Is prompted with new user form.

Manager: Enters information based off of new user. Application: Verifies required information is present. Application: Adds user to database

Manager: Presented with alert declaring user was added successfully.

Exceptions:

1. Manager is missing required information, Form will then highlight missing information and ask for that information to be filled it.

2. The database is unavailable. In which case an alert is given and the manager must wait for the database to become available.

Priority: Medium

Channel to Actor: Graphical User Interface (GUI

Usage Frequency: Monthly

Secondary Actors: Database, Brisk Application

Channels to secondary actors:

(4)

Brisk Application: Network

Open Issues:

Use Case: Complete a Task

Author: Ryan McAlister

Primary Actor: Brisk Application

Goal in Context: Mark task as completed

Preconditions: Task has been completed. User has required permissions.

Trigger: Completed button on task was clicked.

Scenario:

Application: Ask user if they would like to add the task to another section Application: If yes, move a copy of the task to the other section

Application: Move task to archived task list on Database

Application: Prompts user with an alert declaring task has been completed.

Exceptions:

1. Database is unavailable. In which case an alert is given and the manager must wait for the database to become available.

Priority: High

Channel to Actor: Graphical User Interface (GUI)

Usage Frequency: Weekly

Secondary Actors: Database, User

Channels to secondary actors:

Database: Network

User: Graphical User Interface (GUI)

Open Issues:

Use Case: Browse All Tasks

Author: Daniel Pumford

Primary Actor: User

Goal in Context: View all tasks that are due today, or due in the future.

Preconditions: User has tasks. User has required permissions.

Trigger: User has browsed to their summary page.

Scenario:

User: Navigates to summary page Application: Displays all relevant tasks

(5)

1. Database is unavailable. In which case an alert is given and the manager must wait for the database to become available.

2. User has no tasks. The application should prompt the user to add some tasks.

Priority: High

Channel to Actor: Graphical User Interface (GUI)

Usage Frequency: Daily

Secondary Actors: Database, Server

Channels to secondary actors:

Database: Network Server: User

Open Issues:

4.2 Detailed Architecture

Brisk will be composed of several modules working together. Because it is web-based, there are components that will run on the client’s end and on the server.

● Server Modules

○ Ruby on Rails routing

■ Responsible for processing and routing client requests.

■ Responsible for accessing user-specific data and storing new data. Sends storage and retrieval requests to SQL database. Sends transform requests to Brisk task predictor.

■ Uses a set of models, controllers, helpers, and views to properly display and manipulate the users and tasks.

● Models: Defines the data and behavior for users, tasks, projects, and teams.

○ Task: Basic unit of Brisk. Has a goal, a set of users working on them, a set of dependencies, and other metadata.

○ User: Basic agent of Brisk. Has login credentials, a list of tasks, and other metadata.

○ Project: Group of tasks. ○ Team: Group of users.

● Controllers: Handles the routing for the server. Connects all other components together.

● Helpers: Contain any methods that need to be used by controllers or views.

● Views: HTML templates that define how the application should be displayed to the user.

○ Layout View: All other views inherit from a central layout. This is so that the website can easily add new pages

(6)

without having to re code the nav bar and other common items.

○ Profile View: Gives the user an overview of all their current tasks. Will allow the user to jump to more detailed pages. ○ Task View: Information about a single task.

○ User View: Information about a single user. ○ Project View: Information about a project. ○ Team View: Information about a team. ○ SQL database

■ Holds all user, task, project, and team data. ■ Integrates with Ruby on Rails through the Models.

Figure 1: Database Schematic ○ (Stretch Goal) Brisk task predictor

■ Learns from task and user data with machine learning algorithms to offer predictions for future tasks. Accesses and transforms data directly from SQL database.

● Client Modules

(7)

■ A web frontend.

■ Uses HTML5 and CSS3 for layouts and JQuery for client-side interactivity.

○ (Stretch Goal) Mobile user web app ■ A mobile frontend.

■ Is currently being accommodated with the desktop design.

Figure 2. Client and server components.

4.3 Tasks

- sentence on each task, tasks match schedule

● Milestones

○ Feature Set Definition - 2 Weeks ✓

■ Deciding which features have made it into the final project description. ✓ ○ Feature Prototype - 2 Weeks ✓

■ Create backend (Ruby on Rails, SQL) and frontend specifications. ✓ ○ Design Definition - 3 Weeks ✓

■ Finalize the back-end and front-end code design ✓ ■ Information Design - Riley ✓

(8)

■ Interface Design - Riley ✓

● Page wireframes - Riley ✓

■ Define program flow - Riley ✓

■ Coding templates for pages - Daniel ✓

○ Functional build - 4 Weeks ✓

■ Build a version of the project with all functional requirements met. ✓

■ Standalone Brisk Data Management (Skipped) ■ Database

● Start Database - Ryan ✓

● Relation Implementation - Ryan and Eric ✓

○ Design useful views - Ryan ✓

● Seed some dummy data - Ryan ✓

■ Server Code

● Start Ruby on Rails - Eric ✓

● User authentication - Eric ✓

● Set up site structure - Eric ✓

● Task dependencies - Eric ✓

● View Helpers

○ Summary Page - Daniel ✓

■ Today’s tasks per user, by project - Eric ✓

■ User’s projects - Eric ✓

■ User’s collaborators - Eric ✓

○ Show Pages - Daniel and Riley ✓

○ Edit Pages - Ryan and Eric✓

○ Aesthetic build - 1 Week

■ Create a build with the aesthetic design requirements met. ✓

■ Layout - Riley ✓

■ Styling - Riley ✓ ○ Final build - 1 Week

■ Create system with full feature set. ✓

(9)

● Report - Daniel ✓ ● Presentation - Daniel ✓

● Continuous

○ Documentation

■ Keep code comments up to date with useful information. ■ Maintain any relevant external documentation for class. ○ Milestone assessments

■ Take a look at our progress often to make sure we are on track with our plans.

○ Testing

■ Test new code and features as they are added.

4.4 Schedule

● Milestones

○ Feature Set Definition: November

■ Have meetings to find a solid overall approach to task management ○ Feature Prototype: December

■ Work on getting a server up and running

■ Experiment with the Mongo database to make sure it’s a good database system

○ Design Definition: December - January

■ Finalize the back-end and front-end code design ○ Functional Build: January - February

■ Code the functionality for the website

■ Continuously test the new functionality as it is added ○ Aesthetic Build: March

■ Design a user-friendly and powerful interface ○ Final Build: April

■ Deliver the final, stable build of the website

4.5 Deliverables

● Code

○ Live web build

■ Ruby on Rails server and website ■ SQL database

○ Code repository on GitHub for others to use ■ Copies of all major live build components ● Final Report

(10)

5.0 Key Personnel

Riley Turben - Turben is a senior Computer Science major in the Computer Science and Computer Engineering Department at the University of Arkansas. Look around

www.rileyturben.com to see his resume and relevant experience. He will be working on the front end technical design and its implementation.

Daniel Pumford - Pumford is a senior CS major at the University of Arkansas. Take a look at his website (www.dpumford.com) for full list of incredible accomplishments. He will likely do some of the backend systems coding, frontend systems coding, and user interface design. He plays Hearthstone.

Ryan McAlister - McAlisteris a senior Computer Science major in the Computer Science Engineering Department at the University of Arkansas. He has completed Software Engineering, Algorithms, and Programming Paradigms. He will be working on design.

Eric Hall - Hall is a senior Computer Engineering major in the Computer Science/Computer Engineering Department at the University of Arkansas. He has completed relevant courses. He has held an Application Development internship at J.B. Hunt Transport Inc., and currently holds a Web Development internship at Center for Mission Mobilization. He will be working on

frontend architecture design and implementation, as well as testing.

6.0 References

[1] Basecamp, http://www.basecamp.com [2] Wrike, http://www.wrike.com

Figure

Figure 1: Database Schematic
Figure 2. Client and server components.

References

Related documents

(c) Soy foods such as soy milk provide all the essential amino acids that you need along with some nonessential amino acids and thus are a source of complete protein. Kidney

While the third chapter of this paper goes in depth into examining urban Aboriginal perspectives on self determination and activist struggles, the three social movements in which

Session Chair at the 2013 Consumer Culture Theory Conference (Tucson, Arizona; June 2013) Session Chair at the 19 th International Conference on Marketing and Corporate Communication

The flow of the key IT processes are Business Person Governance and User Quality of Service; Service Level Management; Service Desk; Service Request Management;

‐ The  country‐level  finance  departments are  responsible,  under  the  functional supervision  of  the  finance  directors  for  each  region,  for 

Third National People of Color Legal Scholarship Conf., Seton Hall University Law School, Newark, New Jersey (Sept.. Suspicion & the Protection of Fourth

Результаты проведенного численного эксперимента (ЧЭ) выполненного в программном обеспечении собственной разра- ботки на основе метода

ITRI Cloud OS SDLC Coding Unit & Function Test Commit to Feature Branch Sprint Reqmts Code Review Feature Integrate Commit to RIB Chkout from RIB Build CI