ugrads

Team Lasso Greg Andolshek
Alex Koch
Michael McCormick
Team Lasso
2

Group Members
 Greg
Andolshek - Architect, Release Manager,
Documenter
 Alex Koch - Graphic Designer, Database Manager
 Michael McCormick - Team Leader, Communicator

Mentor
 Dr.
Eck Doerry
Groups
3

Types of organizations:

Common grouping challenges:
 Manage
members
 Define groups manually and automatically
 Analyze members and groups
 Facilitate group communication
Grouping Example – Little League
4
Manage members
Define Groups
Analyze Members
and Groups
Little League Division
Coach 1
Player 1
Player 2
Player 3
Player 4
Name: Mike
Age: 35
Position: Coach
BA: --
Name: Bob
Age: 9
Position: 1B
BA: .500
Name: Stu
Age: 10
Position: SS
BA: .432
Name: Dan
Age: 12
Position: SS
BA: .547
Name: P.J.
Age: 11
Position: P
BA: .235
Coach 2
Player 5
Player 6
Player 7
Player 8
Name: Tom
Age: 41
Position: Coach
BA: --
Name: Phil
Age: 10
Position: 2B
BA: .346
Name: Ron
Age: 9
Position: SS
BA: .564
Name: Pat
Age: 12
Position: SS
BA: .445
Name: Joe
Age: 12
Position: 3B
BA: .367
Facilitate Group
Communication
Grouping Example – Little League
5
Manage members
Define Groups
Analyze Members
and Groups
Team 1
Coach 1
Player 1
Player 2
Player 3
Player 4
Name: Mike
Age: 35
Position: Coach
BA: --
Name: Bob
Age: 9
Position: 1B
BA: .500
Name: Stu
Age: 10
Position: SS
BA: .432
Name: Dan
Age: 12
Position: SS
BA: .547
Name: P.J.
Age: 11
Position: P
BA: .235
Coach 2
Player 5
Player 6
Player 7
Player 8
Name: Tom
Age: 41
Position: Coach
BA: --
Name: Phil
Age: 10
Position: 2B
BA: .346
Name: Ron
Age: 9
Position: SS
BA: .564
Name: Pat
Age: 12
Position: SS
BA: .445
Name: Joe
Age: 12
Position: 3B
BA: .367
Team 2
Facilitate Group
Communication
Grouping Example – Little League
6
Manage members
Define Groups
Age 9-10 Group
Analyze Members
and Groups
Age 11-12 Group
Coach 1
Player 1
Player 2
Player 3
Player 4
Name: Mike
Age: 35
Position: Coach
BA: --
Name: Bob
Age: 9
Position: 1B
BA: .500
Name: Stu
Age: 10
Position: SS
BA: .432
Name: Dan
Age: 12
Position: SS
BA: .547
Name: P.J.
Age: 11
Position: P
BA: .235
Coach 2
Player 5
Player 6
Player 7
Player 8
Name: Tom
Age: 41
Position: Coach
BA: --
Name: Phil
Age: 10
Position: 2B
BA: .346
Name: Ron
Age: 9
Position: SS
BA: .564
Name: Pat
Age: 12
Position: SS
BA: .445
Name: Joe
Age: 12
Position: 3B
BA: .367
Facilitate Group
Communication
Grouping Example – Little League
7
Manage members
Define Groups
Analyze Members
and Groups
Shortstop Group
Coach 1
Player 1
Player 2
Player 3
Player 4
Name: Mike
Age: 35
Position: Coach
BA: --
Name: Bob
Age: 9
Position: 1B
BA: .500
Name: Stu
Age: 10
Position: SS
BA: .432
Name: Dan
Age: 12
Position: SS
BA: .547
Name: P.J.
Age: 11
Position: P
BA: .235
Coach 2
Player 5
Player 6
Player 7
Player 8
Name: Tom
Age: 41
Position: Coach
BA: --
Name: Phil
Age: 10
Position: 2B
BA: .346
Name: Ron
Age: 9
Position: SS
BA: .564
Name: Pat
Age: 12
Position: SS
BA: .445
Name: Joe
Age: 12
Position: 3B
BA: .367
Facilitate Group
Communication
Grouping Example – Little League
8
Manage members
Define Groups
Analyze Members
and Groups
Shortstop Group
Coach 1
Player 1
Player 2
Player 3
Player 4
Name: Mike
Age: 35
Position: Coach
BA: --
Name: Bob
Age: 9
Position: 1B
BA: .500
Name: Stu
Age: 10
Position: SS
BA: .432
Name: Dan
Age: 12
Position: SS
BA: .547
Name: P.J.
Age: 11
Position: P
BA: .235
Coach 2
Player 5
Player 6
Player 7
Player 8
Name: Tom
Age: 41
Position: Coach
BA: --
Name: Phil
Age: 10
Position: 2B
BA: .346
Name: Ron
Age: 9
Position: SS
BA: .564
Name: Pat
Age: 12
Position: SS
BA: .445
Name: Joe
Age: 12
Position: 3B
BA: .367
Facilitate Group
Communication
Grouping Example – Little League
9
Manage members
Define Groups
Analyze Members
and Groups
Facilitate Group
Communication
Shortstop Group
Coach 1
Player 1
Player 2
Player 3
Player 4 Shortstop
Forum
Name: Mike
Age: 35
Position: Coach
BA: --
Name: Bob
Age: 9
Position: 1B
BA: .500
Name: Stu
Age: 10
Position: SS
BA: .432
Name: Dan
Age: 12
Position: SS
BA: .547
Name: P.J.
Age: 11 Favorite Plays
Position: P
BA: .235 Rides to Games?
Coach 2
Player 5
Player 6
Player 7
Player 8 The Perfect Hit
Name: Tom
Age: 41
Position: Coach
BA: --
Name: Phil
Age: 10
Position: 2B
BA: .346
Name: Ron
Age: 9
Position: SS
BA: .564
Name: Pat
Age: 12
Position: SS
BA: .445
Name: Joe
Age: 12
Position: 3B
BA: .367
What is GSEP?
10
Global Science and Engineering
Program
 Sponsor – Melissa Armstrong



Goal – internationalize all
STEM degree programs
Dual degree
 13
STEM majors
 5 language majors

Currently 75 students
GSEP Grouping Requirements
11

GSEP needs one tool that can:
 Manage
students
 300-500
 Define
groups manually and automatically
 GSEP attributes
 Analyze
 Charts
students and groups
and statistical breakdowns
 Facilitate
 Share
group communication
GSEP experiences
Grouping Example – GSEP
12
Manage members
Define Groups
Analyze Members
and Groups
GSEP Group
Admin 1
Student 1
Student 2
Student 3
Student 4
Name: Robert
M: Com Sci
L: German
GPA: 4.0
Name: Fred
M: Com Sci
L: German
GPA: 3.8
Name: Ali
M: Com Sci
L: Spanish
GPA: 4.0
Name: April
M: Com Sci
L: Spanish
GPA: 3.7
Name: AJ
M: Com Sci
L: Chinese
GPA: 3.5
Admin 2
Student 5
Student 6
Student 7
Student 8
Name: Allison
M: Eng
L: Spanish
GPA: --
Name: Gale
M: Eng
L: French
GPA: 3.9
Name: Stan
M: Eng
L: Spanish
GPA: 4.0
Name: Carl
M: Eng
L: Spanish
GPA: 3.6
Name: Jim
M: Eng
L: Japanese
GPA: 3.7
Facilitate Group
Communication
Grouping Example – GSEP
13
Manage members
Analyze Members
and Groups
Define Groups
Computer Science Group
Admin 1
Student 1
Student 2
Student 3
Student 4
Name: Robert
M: Com Sci
L: German
GPA: 4.0
Name: Fred
M: Com Sci
L: German
GPA: 3.8
Name: Ali
M: Com Sci
L: Spanish
GPA: 4.0
Name: April
M: Com Sci
L: Spanish
GPA: 3.7
Name: AJ
M: Com Sci
L: Chinese
GPA: 3.5
Admin 2
Student 5
Student 6
Student 7
Student 8
Name: Allison
M: Eng
L: Spanish
GPA: --
Name: Gale
M: Eng
L: French
GPA: 3.9
Name: Stan
M: Eng
L: Spanish
GPA: 4.0
Name: Carl
M: Eng
L: Spanish
GPA: 3.6
Name: Jim
M: Eng
L: Japanese
GPA: 3.7
Engineering Group
Facilitate Group
Communication
Grouping Example – GSEP
14
Manage members
Define Groups
Analyze Members
and Groups
GPA 3.80-4.0 Group GPA 3.5-3.79 Group
Admin 1
Student 1
Student 2
Student 3
Student 4
Name: Robert
M: Com Sci
L: German
GPA: 4.0
Name: Fred
M: Com Sci
L: German
GPA: 3.8
Name: Ali
M: Com Sci
L: Spanish
GPA: 4.0
Name: April
M: Com Sci
L: Spanish
GPA: 3.7
Name: AJ
M: Com Sci
L: Chinese
GPA: 3.5
Admin 2
Student 5
Student 6
Student 7
Student 8
Name: Allison
M: Eng
L: Spanish
GPA: --
Name: Gale
M: Eng
L: French
GPA: 3.9
Name: Stan
M: Eng
L: Spanish
GPA: 4.0
Name: Carl
M: Eng
L: Spanish
GPA: 3.6
Name: Jim
M: Eng
L: Japanese
GPA: 3.7
Facilitate Group
Communication
Grouping Example – GSEP
15
Manage members
Define Groups
Analyze Members
and Groups
Spanish Group
Admin 1
Student 1
Student 2
Student 3
Student 4
Name: Robert
M: Com Sci
L: German
GPA: 4.0
Name: Fred
M: Com Sci
L: German
GPA: 3.8
Name: Ali
M: Com Sci
L: Spanish
GPA: 4.0
Name: April
M: Com Sci
L: Spanish
GPA: 3.7
Name: AJ
M: Com Sci
L: Chinese
GPA: 3.5
Admin 2
Student 5
Student 6
Student 7
Student 8
Name: Allison
M: Eng
L: Spanish
GPA: --
Name: Gale
M: Eng
L: French
GPA: 3.9
Name: Stan
M: Eng
L: Spanish
GPA: 4.0
Name: Carl
M: Eng
L: Spanish
GPA: 3.6
Name: Jim
M: Eng
L: Japanese
GPA: 3.7
Facilitate Group
Communication
Grouping Example – Little League
16
Manage members
Define Groups
Analyze Members
and Groups
Spanish Group
Admin 1
Student 1
Student 2
Student 3
Student 4
Name: Robert
M: Com Sci
L: German
GPA: 4.0
Name: Fred
M: Com Sci
L: German
GPA: 3.8
Name: Ali
M: Com Sci
L: Spanish
GPA: 4.0
Name: April
M: Com Sci
L: Spanish
GPA: 3.7
Name: AJ
M: Com Sci
L: Chinese
GPA: 3.5
Admin 2
Student 5
Student 6
Student 7
Student 8
Name: Allison
M: Eng
L: Spanish
GPA: --
Name: Gale
M: Eng
L: French
GPA: 3.9
Name: Stan
M: Eng
L: Spanish
GPA: 4.0
Name: Carl
M: Eng
L: Spanish
GPA: 3.6
Name: Jim
M: Eng
L: Japanese
GPA: 3.7
Facilitate Group
Communication
Grouping Example – Little League
17
Manage members
Define Groups
Analyze Members
and Groups
Facilitate Group
Communication
Spanish Group
Admin 1
Student 1
Student 2
Student 3
Student Spanish
4
Forum
Name: Robert
M: Com Sci
L: German
GPA: 4.0
Name: Fred
M: Com Sci
L: German
GPA: 3.8
Name: Ali
M: Com Sci
L: Spanish
GPA: 4.0
Name: April
M: Com Sci
L: Spanish
GPA: 3.7
Name: AJ
Best Places to Eat
M: Com Sci
L: Chinese
GPA: 3.5 Catalonia Las Cortes
Admin 2
Student 5
Student 6
Student 7
Student Tranquilamente
8
Name: Allison
M: Eng
L: Spanish
GPA: --
Name: Gale
M: Eng
L: French
GPA: 3.9
Name: Stan
M: Eng
L: Spanish
GPA: 4.0
Name: Carl
M: Eng
L: Spanish
GPA: 3.6
Name: Jim
M: Eng
L: Japanese
GPA: 3.7
Product Comparison
18
Manage Members
Poor
Create Groups
Fair
Analyze Groups
Facilitate
Communication
Good Very Good Excellent
What is Missing?
19
Socially Organized Groups
• Self-organized
• User contribution
• Inter-group focus
Centrally Managed Groups
• Centrally controlled
• Administrator functions
• Management focus
What is Missing?
20
Socially Organized Groups
• Self-organized
• User contribution
• Inter-group focus
Centrally Managed Groups
• Centrally controlled
• Administrator functions
• Management focus
Our Solution: Group Wrangler
21



Web based solution for group management
Supports social interaction and group management
Satisfies the following group challenges:
 Manage
members
 Create automated groups
 Analyze and maintain groups
 Facilitate group communication
Home Page
22
Site Settings – Attributes Tab
23
Group Creation
24
Group Profile
25
User Profile – Attributes Tab
26
Group Profile – Members Tab
27
Analysis Tool
28
Development Process
29

Agile development methodology
Requirements Acquisition
30


Initial meeting with Melissa Armstrong
Established functionality by user type
 Generic


user and administrator
Developed initial requirements document
Later meetings to refine requirements
Generic User Modules
31
Admin Functional Modules
32
Technology
33

Criteria:
 Solid
code structure
 Strong community support
 Fast development cycle
 Easy maintenance
 Support for software
engineering principles
Ruby on
Rails Server
34
Architecture
Heroku
Database
Client
Hartl, Michael. 2013. <http://ruby.railstutorial.org/ruby-on-rails-tutorial-book>
Implementation
35

Main components: users, groups, attributes
Group Controller
Index
Show
New
Group Model
Create
ID
Update
Name
Destroy
Description
Rules
Privacy Level
Group View
Testing and Refinement
36



Regular mentor meetings
Client/user testing
Improvements
 Page
accessibility
 Screen real estate
 Sidebar layout
Schedule
37
Problems and Challenges
38

No similar system exists
 Team

Intuitive user interface
 User

meetings to establish feature integration
testing
Multiple browser support
 Avoiding

browser-specific code
File and picture storage
 Using
Amazon S3 for file/picture storage
Outcomes
39



Used for managing GSEP students starting next fall
Publicly available
Total project value:
 570
hrs/developer
 $100/hr
 Total value: $171,000
Future Work
40

Remaining tasks:
 Installation
manual
 User interface refinement
 Delivery to client

Features for upcoming version:
 Support
for large user bases (100,000+ users)
 Support for additional graph types
 Additional integration with social sites
Conclusion
41

Problem


Lack of proper group management tool combined with
social interaction
Solution

Group Wrangler
Manage members
 Define groups manually and automatically
 Analyze groups and members
 Facilitate group communication


Vision

Premiere group management software
Questions?
42

Display Board 36A
 Time:

4PM-5PM
Live demo of Group Wrangler
 Set
up with all UGRADS capstone teams’ information
Client-Sever Architecture
43
Testing Results
44

Creating groups
 Group

creation from sidebar
Screen real estate
 Compact

representation of analysis information
Layout of sidebar content
 Multiple
sidebar versions
45
Grouping Challenges
46

Types of organizations:
Small Business
Soccer League

Common grouping challenges:
Outdoor Club
 Manage
Boy Scouts
members
 Create appropriate groups
 Analyze and maintain groups
 Facilitate group communication
School
Book Club
Convention
Cycling Club