ppt

The Decider
Group Decision Making
Application
Design
Document
Shiran Alush
Shai Kerer
Dor Altshuler
Academic instructor: Prof. Ronen Brafman
Contents

Reminder – About the project

Main System Requirements

System Architecture

Class Diagram – Main Classes

Database Scheme

User Interface

Algorithms

Task List
What is “The Decider” ?
The Decider© is a web-based Facebook
application for group decision making.
The Decider is a new tool that will help groups
of different scale to convey polls &
questionnaires, while letting the voter
express his preferences, and process the
results using the most cutting-edge
algorithms in order to get an ideal decision.
Main System Requirements

Create questionnaires

Invite others

Vote -
with four types of possible
questions (Choose, Rank, Grade, Budget).
to participate in a questionnaire.
fill out and submit questionnaire and Express
preferences.

Decide /View result - Reach a decision in a fair way.

View statistics
users.
about questionnaires, votes, results and
System Architecture
Our System will be deployed on a web
server, exposing its API and
communicating with the front-end
users as a web-service, via a 3rd-party
actor which is the Facebook interface.
Class Diagram
Class Diagram
Questionnaire – represent a collection of questions (variables)
and possible answers (values), and some other additional
information regarding the questionnaire.
Variable – represent a question in a questionnaire.
Value – represent a possible answer to a certain question.
Class Diagram
Vote (Abstract) – a vote is basically a pair of type question-answer. An instance
of vote can be according to the question type (Choose, Rank, Score).
VoteManager – this class's role is to create the above mentioned votes
according to the user's input, and save those votes in the Database.
Class Diagram
Decider – Creates the decision.
It does so by reading the votes from the Database and
invoking the decision-making algorithms.
Decision –Represent a complete decision to a questionnaire.
Algorithm (Interface) – provide an interface for the classes
that implements a decision-making algorithm.
Class Diagram
SystemHandler – a type of façade controller that handles all the transactions
between the end-user and our system.
GuiHandler – translate requests made by the user via the GUI to real system
functionality expressed as objects instantiation and methods invocation.
DatabaseHandler – responsible for communication with the Database.
FacebookHandler – API that connects between
our system and Facebook.
Database Scheme - ERD
Database Scheme
(partial)
Questionnaire (ID, Name, Description, Creator-Id, Creation-date, settings)
Variables (Question-Id, Var-num, Name, Description, Type)
Values (Question-Id, Var-number, Value-num, Name, Is-Visible)
Constraints (Question-Id, Var1-num, Value1-num , Var2-num, Value2-num)
Single-Value-Vote (Question-Id, Dependency-comb, Var-num, Value-num, Count)
Ranking-Vote (Question-Id, Dependency-comb, Var-num, Ranking, Count)
Grading-Vote (Question-Id, Dependency-comb, Var-num, Value-num, Sum-Score, Count)
Dependency-Combination (Question-Id, Dependency-Id, Var-num, Value-num)
User interface example
An example of a questionnaire:
What community car to buy?
• Brand? (rank)
–
–
–
–
1) Porsche
2) Volvo
3) Subaru
4) Mazda
• Color? (rank)
–
–
–
–
1) Red
2) black
3) White
4) Blue
• Gear? (choose)
– 1) Automatic
– 2) Manual
Does your answer to any question will depend
on other questions?
 My answer to Brand depends on my answer to:
 My answer to Color depends on my answer to:
 My answer to Gear depends on my answer to:
Color
Gear
Brand
Gear
Brand
Color
Does your answer to any question will depend
on other questions?
 My answer to Brand depends on my answer to:
 My answer to Color depends on my answer to:
 My answer to Gear depends on my answer to:
Color
Gear
Brand
Gear
Brand
Color
Does your answer to any question will depend
on other questions?
 My answer to Brand depends on my answer to:
 My answer to Color depends on my answer to:
 My answer to Gear depends on my answer to:
The car’s manufacture and model.
Color
Gear
Brand
Gear
Brand
Color
Does your answer to any question will depend
on other questions?
 My answer to Brand depends on my answer to:
 My answer to Color depends on my answer to:
 My answer to Gear depends on my answer to:
Color
Brand
Brand
Gear
Gear
Color
Does your answer to any question will depend
on other questions?
 My answer to Brand depends on my answer to:
 My answer to Color depends on my answer to:
 My answer to Gear depends on my answer to:
Color
Brand
Brand
Gear
Gear
Color
Rank your preferences to “Brand”:
Instructions:
Click on a value and move it up or down using the arrows.
Porsche
Volvo
Subaru
The ranking given to this
variable.
‘1234’ means that in first
Specifies the dependencies st
place is the 1 value
in which this vote is cast. Number of similar
(Porsche), in second
place
votes cast
onisthis
so
we
Questionnaire’sHere
ID there are none
Variable
number
the 2nd value (Volvo)
and etc.
variable.
put value zero.
Mazda
Ranking-Vote:
Question-Id
Dependency
Var-num
Ranking
Count
0001
0
1
1234
1
Dependences:
If “Brand” is
“Color”:
Porsche
then rank your preferences to
“Porsche”
Red
Black
Dependency-Combination:
White
DependencyQuestion-Id Specifies the dependencies
Var-num Value-num
ID
in which this vote is cast.
The1 ranking given1 to this
0001
1 to the record
‘1’ points
on
variable.
the Combination table.
Blue
Color
Ranking-Vote:
Question-Id
Dependency
Var-num
Ranking
Count
0001
1
2
1234
1
Choose your preferences of “Gear”:
Automatic
Manual
Single-Value-Vote:
Question-Id
Dependency
Var-num
Value-num
Count
0001
0
3
2
1
Gear
“Manual”
Decision Making Algorithms
Choose one Algorithms
•Plurality
•Plurality with run-off (two rounds)
•Sequential run-off (multiple rounds)
Ranking Algorithms
•Borda count
•Condorcet (can return empty set)
•Plurality with run-off
•Sequential run-off
•Extended Condorcet - Copeland
Score Algorithms
•Maximum sum
•Minimal regret
http://www.math.princeton.edu/math_alive/Voting/
Task List
 Data base Build-up.
 Decision Algorithms implementation.
 Graphical User interface (creation, voting, editing, result viewing)
• Domain layer implementation.
• System handler implementations.
• Proto-type testing.
• Smart Voting and Sequential voting implementation.
• Project- day presentation – Due date 10/6/2010
Thank You