Дизайн приложения для дебатного клуба - PullRequest
1 голос
/ 05 мая 2010

Для дискуссионного клуба моего университета меня попросили создать приложение для назначения дискуссионных сессий, и у меня возникли некоторые трудности, чтобы придумать хороший дизайн для него. Я сделаю это на Java. Вот что нужно:

Что вам нужно знать о дебатах в ВР: Есть четыре команды по 2 участника и каждая судья. Четырем группам назначается определенная должность: gov1, gov2, op1, op2. В команде нет значения для порядка.

Цель приложения - получить в качестве входных данных присутствующих участников дебатов (например, если будет 20 человек, мы проведем 2 дискуссии) и назначить их командам и ролям с учетом истории каждого участника дебатов. что:

  • Каждый участник дискуссии должен обсуждать (быть в одной команде) как можно больше людей.
  • Каждый участник дискуссии должен единообразно обсуждать разные позиции.
  • Дискуссия должна быть справедливой - участники дебатов имеют разный уровень опыта, и это должно быть как можно более равномерным, то есть не должно быть команды из двух очень опытных участников дебатов и команды младших участников дебатов.
  • Должна быть возможность для пользователя ограничивать назначение различными способами, такими как:
    • Указание, что два человека должны обсуждать вместе, в определенной позиции или нет.
    • Указание того, что один участник дебатов должен находиться на определенной позиции независимо от партнера.

Если кто-нибудь может попытаться дать мне несколько советов по разработке этого приложения, я буду очень благодарен! Кроме того, я никогда раньше не реализовывал графический интерфейс, поэтому буду признателен за некоторые советы по этому вопросу, но сейчас это не главная проблема.

Кроме того, существует проблема хранения информации Debater в файле, которую я также никогда не реализовывал в Java, и я хотел бы также получить некоторые советы по этому вопросу.

Ответы [ 2 ]

0 голосов
/ 06 мая 2010

Есть две части (три, если вы учитываете ввод и / или сохранение данных), базовый алгоритм и пользовательский интерфейс.

Для интерфейса я странный. Я использую эту технику (есть ссылка на мой проект sourceforge). Должна быть сделана Java-версия, которая не будет слишком сложной. Это странно, потому что очень немногие люди когда-либо использовали его, но это экономит усилия по кодированию на порядок.

Для алгоритма проблема выглядит достаточно маленькой, чтобы я подошел к ней с помощью простого поиска по дереву. У меня был бы алгоритм подсчета очков, и я просто сообщал бы расписание с лучшим счетом.

Это взгляд с высоты птичьего полета на то, как я к нему подхожу.

0 голосов
/ 06 мая 2010

Это похоже на проблему ограничения в учебнике. Несмотря на GUI, он был бы идеален для такой технологии, как Prolog (ECLiPSe prolog имеет несколько различных библиотек интеграции Java, которые поставляются с ним).

Но, поскольку вы хотите это в Java, почему бы не сохранить историю участников дебатов в базе данных sql и использовать язык SQL для структурирования ограничений. Затем вы можете обернуть эти запросы SQL как методы Java.

...