summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavisLWebb <davislwebb@ymail.com>2014-02-10 10:06:57 -0500
committerDavisLWebb <davislwebb@ymail.com>2014-02-10 10:06:57 -0500
commit9c38e418bbd86a630ae995ff9b1f1566c9fd5c92 (patch)
tree924c8a682f545a0c9c16c7d989b3b6b1c8efe672
parentace4c680b352dedd21e25b8fa5cb2c70c76d2911 (diff)
Ive changed the design doc by adding the Model 2 application design
-rw-r--r--.gitignore4
-rw-r--r--Diagram01.jpgbin0 -> 2008078 bytes
-rw-r--r--Makefile17
-rw-r--r--ProductBacklog.md108
-rw-r--r--ProductBacklog.md~55
-rw-r--r--ProjectCharter.md26
-rw-r--r--ProjectLeaguerWorkloadBreakup.md14
-rw-r--r--SystemModel.dot60
-rw-r--r--docs/.~lock.DesignDocument.docx#1
-rw-r--r--docs/DesignDocument.docxbin42682 -> 42692 bytes
-rw-r--r--stickman.pngbin0 -> 1308 bytes
11 files changed, 285 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..ed193ea
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,4 @@
+*.pdf
+*.html
+*.png
+!stickman.png
diff --git a/Diagram01.jpg b/Diagram01.jpg
new file mode 100644
index 0000000..0c85216
--- /dev/null
+++ b/Diagram01.jpg
Binary files differ
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..7a239c4
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,17 @@
+docs = ProductBacklog ProjectCharter ProjectLeaguerWorkloadBreakup
+
+pdf: $(addsuffix .pdf,$(docs))
+html: $(addsuffix .html,$(docs))
+
+%.pdf: %.md Makefile
+ pandoc -s $< -o $@
+%.html: %.md Makefile
+ pandoc -s $< -o $@
+%.png: %.dot Makefile
+ dot -Tpng < $< > $@
+
+ProductBacklog.pdf: SystemModel.png
+SystemModel.png: stickman.png
+
+clean:
+ rm -f -- *.pdf *.html
diff --git a/ProductBacklog.md b/ProductBacklog.md
new file mode 100644
index 0000000..cb089c6
--- /dev/null
+++ b/ProductBacklog.md
@@ -0,0 +1,108 @@
+---
+title: Team 6 - Leaguer
+author: [ Nathaniel Foy, Guntas Grewal, Tomer Kimia, Andrew Murrell, Luke Shumaker, Davis Webb ]
+---
+
+Problem Statement
+-----------------
+
+In team-based tournament sports, often individual contributions are
+overshadowed by the binary end result: win or lose. This
+winner-takes-all mentality may unfairly pair players in later stages
+of the tournament based on the team's score rather than their own in
+early stages.
+
+
+Background
+----------
+
+Generally, new team based competitions have been managed
+electronically using archaic methods. The winning team advances and
+the losing team is defeated. In the real world there are many
+examples of individual review (as in football) and handicaps (as in
+golf). Our goal is to create software that allows teams to compete
+and review their peers to more accurately represent modern team
+competitions. Our domain is online competition management and
+e-sports. The targeted audience is defined on two levels, on a broad
+level it is for any individual wishing to manage a competitive event,
+on a niche level it is for individuals looking to manage and
+participate in team competitions (like League of Legends).
+
+All existing solutions that we found were limited by the binary
+win/lose. Several open-souce options exist, which we could possibly
+extend.
+
+The most prominent of these is "XDojo". It has not been modified in
+roughly two years, but has been used for several national
+tournaments. Unfortunately, the documentation is not in English.
+Because of this, evaluating it for possible adaptation is at the very
+least, a spike.
+
+Another current offering is "OMGT" (Open Manager for Game
+Tournaments). It seems to be reasonably well developed and stable,
+though the install process is mostly undocumented, and while probably
+not very complex, we haven't figured it out yet.
+
+The third current open source offering looked at was "tournamentmngr",
+which seems to be unstable/incomplete. It is written in C#, which
+gets in the way of our "easy to install" requirement.
+
+System Model
+------------
+
+![](./SystemModel.png)\
+
+Requirements
+------------
+<<<<<<< HEAD
+//
++---------+-----------------------------------+-----------------------------+
+| | Functional Requirements | Non-Functional Requirements |
++=========+===================================+===================================================================================+
+| Must be | - Tournament Creation | - As a user and host, I would like the program to be simple and intuitive |
+| done | - Tournament Settings Management | - As a user and host, I would like the program to be fast and memory efficient |
+| | - Tournament Registration | - As a user and host, I would like installation to be as simple as possible |
+| | - Tournament Pairings | |
+| | - Peer Review System | |
+| | - Standings | |
+| | - Server File Backup | |
++---------+-----------------------------------+-----------------------------------------------------------------------------------+
+| If time | - Alert System | - Interactive Menu |
+| allows | - Private Message System | - Twitch Integration |
+| | - Advanced Tournament Search | - Mobile Access |
++---------+-----------------------------------+-----------------------------+
+=======
+
+ - Essential functional requirements
+ - As a host, I would like to create a new tournament.
+ - As a host, I would like to set some of the parameters of a
+ tournamet, such as number of players per team, whether
+ spectators ar allowed, and game type.
+ - As a player, I would like to register for a tournament.
+ - As a host, I would like to assign members to team, or have the
+ option to randomly assign teams.
+ - As a player, I would like to rate my peers, and would like to be
+ reviewed by my peers.
+ - As a player, or spectator, I would like to see the standings of
+ all players.
+ - As a host, or a player, I would like my win/rating history to be
+ stored so that I can have the same profile throughout many
+ tournaments.
+ - Essential non-functional requirements
+ - As a host, player, or spectator I would like the Project Leaguer
+ interface to be simple and easy to use.
+ - As a host, player, or spectator I would like the Project Leaguer
+ server to be secure and to operate quickly.
+ - Non-essential functional requirements
+ - As a host, I would like to be able to send public alerts to
+ players and spectators.
+ - As a player, I would like to be able to exchange private
+ messages with a host.
+ - As a player or spectator I would like access to Advanced
+ Tournament Search facilities.
+ - Non-essential non-functional requirements
+ - As a player or spectator I would like to utilize an Interactive Menu.
+ - As a spectator, I would like to be able to watch matches on "Twitch".
+ - As a player, or a spectator, I would like to be able to access
+ the service on a mobile device.
+>>>>>>> 81ad3ea9605516711b798ba759a2dd1c7264d8d1
diff --git a/ProductBacklog.md~ b/ProductBacklog.md~
new file mode 100644
index 0000000..b193d89
--- /dev/null
+++ b/ProductBacklog.md~
@@ -0,0 +1,55 @@
+---
+title: Team 6 - Leaguer
+author: [ Nathaniel Foy, Guntas Grewal, Tomer Kimia, Andrew Murrell, Luke Shumaker, Davis Webb ]
+---
+
+Problem Statement
+-----------------
+
+In team-based tournament sports, often individual contributions are
+overshadowed by the binary end result: win or lose. This
+winner-takes-all mentality may unfairly pair players in later stages
+of the tournament based on the team's score rather than their own in
+early stages.
+
+
+Background
+----------
+
+Generally, new team based competitions have been managed
+electronically using archaic methods. The winning team advances and
+the losing team is defeated. In the real world there are many
+examples of individual review (as in football) and handicaps (as in
+golf). Our goal is to create software that allows teams to compete
+and review their peers to more accurately represent modern team
+competitions. Our domain is online competition management and
+e-sports. The targeted audience is defined on two levels, on a broad
+level it is for any individual wishing to manage a competitive event,
+on a niche level it is for individuals looking to manage and
+participate in team competitions (like League of Legends).
+
+TODO - Luke write about existing software.
+
+System Model
+------------
+
+![](./Diagram01.jpg)\
+
+Requirements
+------------
+
++---------+-----------------------------------+-----------------------------+
+| | Functional Requirements | Non-Functional Requirements |
++=========+===================================+===================================================================================+
+| Must be | - Tournament Creation | - As a user and host, I would like the program to be simple and intuitive |
+| done | - Tournament Settings Management | - As a user and host, I would like the program to be fast and memory efficient |
+| | - Tournament Registration | - As a user and host, I would like installation to be as simple as possible |
+| | - Tournament Pairings | |
+| | - Peer Review System | |
+| | - Standings | |
+| | - Server File Backup | |
++---------+-----------------------------------+-----------------------------------------------------------------------------------+
+| If time | - Alert System | - Interactive Menu |
+| allows | - Private Message System | - Twitch Integration |
+| | - Advanced Tournament Search | - Mobile Access |
++---------+-----------------------------------+-----------------------------+
diff --git a/ProjectCharter.md b/ProjectCharter.md
new file mode 100644
index 0000000..f88ccd4
--- /dev/null
+++ b/ProjectCharter.md
@@ -0,0 +1,26 @@
+1. In team-based tournament sports, often individual contributions are
+ overshadowed by the binary end result: win or lose. This
+ winner-takes-all mentality may unfairly pair players in later
+ stages of the tournament based on the team's score rather than
+ their own in early stages.
+
+2. Project Objectives:
+ * To address issues of fairness in tournament orchestration and
+ * To create a general-purpose open source solution for organizing
+ team-based tournaments where individual performance matters
+ * by implementing an out-of-the-box open source server software
+ * capable of managing pairings, scoring, and statistics for a
+ variety of applicable game types
+ * accessable via an intuitive web interface.
+
+3. Stakeholders - the development team, testers, and a future community of users.
+
+4. A Project Leaguer server provides the user with everything needed
+ to run a tournament: regisration, pairing, scoring, and statistics,
+ right away through a simple web interface. Project Leaguer also
+ gives its users a unique option for scoring, not available through
+ traditional tournament management techniques: peer review. By
+ providing a forward facing, web-based interface for tournament
+ participants to score their teammates, Project Leaguer allows
+ individual ability and activity to be recognized within the context
+ of an all-in, win-or-lose multiplayer team game.
diff --git a/ProjectLeaguerWorkloadBreakup.md b/ProjectLeaguerWorkloadBreakup.md
new file mode 100644
index 0000000..99d9c2e
--- /dev/null
+++ b/ProjectLeaguerWorkloadBreakup.md
@@ -0,0 +1,14 @@
+How to break up workload:
+
+ * Login/Registration/Verification System
+ * SQL Database Design and Access
+ * User Interface
+ * Officiator Interface/Admin Access
+ * Pairings and Statistics
+ * Peer Review
+ * Secure Saved Server Image (backed up user profiles, database, and statistics)
+ * Separate Game Module Plugins
+ * General Abstractions
+ * Unit Testing and Error Handling
+ * Installing and Running Out-of-the-box
+ * Icons and Images
diff --git a/SystemModel.dot b/SystemModel.dot
new file mode 100644
index 0000000..ea1836a
--- /dev/null
+++ b/SystemModel.dot
@@ -0,0 +1,60 @@
+digraph SystemModel {
+ rankdir=LR;
+ peripheries=0;
+
+ /* users */
+ {
+ node [image="stickman.png", labelloc="b", shape="none"];
+ player[label="Player"];
+ host[label="Host"];
+ spectator[label="Spectator"];
+ }
+
+ /* subsystems */
+ /* if you want to rename any of these, it is probably easiest
+ * to leave the ID the same, and just change the label */
+ subgraph clusterSystem {
+ label = "System Boundry";
+ style = filled;
+
+ node [style=solid];
+ peerReview[label="Peer Review"];
+ performance[label="Performance"];
+ standings[label="Standings"];
+ gs[label="Game Score"];
+ search[label="Search"];
+ pm[label="Private Message"];
+ alerts[label="Alerts"];
+ pairings[label="Pairings"];
+ details[label="Tournament Details"];
+ backup[label="Backup"];
+ registration[label="Registration"];
+ }
+
+ /* all the relationships */
+ spectator -> search;
+ standings -> spectator;
+ alerts -> spectator;
+ pairings -> spectator;
+
+ player -> spectator [arrowhead="onormal"];
+ player -> peerReview;
+ player -> performance;
+ player -> registration;
+ player -> pm;
+ pm -> player;
+
+ host->spectator [arrowhead="onormal"];
+ host->alerts;
+ host->details;
+ host->registration;
+ host -> pm;
+ pm -> host;
+
+ peerReview -> standings;
+ performance-> standings;
+ gs -> performance;
+ details -> backup;
+ details -> pairings;
+ registration -> pairings;
+}
diff --git a/docs/.~lock.DesignDocument.docx# b/docs/.~lock.DesignDocument.docx#
new file mode 100644
index 0000000..e66fdd4
--- /dev/null
+++ b/docs/.~lock.DesignDocument.docx#
@@ -0,0 +1 @@
+Davis ,amelia,Amelia,10.02.2014 10:01,file:///home/amelia/.config/libreoffice/3; \ No newline at end of file
diff --git a/docs/DesignDocument.docx b/docs/DesignDocument.docx
index aae07db..4215ce0 100644
--- a/docs/DesignDocument.docx
+++ b/docs/DesignDocument.docx
Binary files differ
diff --git a/stickman.png b/stickman.png
new file mode 100644
index 0000000..00f16fc
--- /dev/null
+++ b/stickman.png
Binary files differ