Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Contact Manager  (Прочитано 16616 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Varlenka
Гость
« : 08-10-2003 10:20 » 

Здравствуйте!

Занимаюсь курсовиком на кафедре ИИ.
Нужно написать программку на РНР. На сервере будет храниться база со сведениями о пользователях и о их занятости на неделю. Распространение программы - в рамках одной фирмы.
Программа должна уметь регистрировать нового пользователя или удалять. При входе пользователя он может выбрать список работников, с кем ему хочется назначить встречу, конференцию,...
Потом программа делает анализ свободного времени каждого из этих сотрудников и дает статистику наиболее свободного времени - этот процент людей идет на встречу. А что делать с другими, которые в это время заняты???


В итоге программа должна выдать наиболее приемлемое время.

Подскажите, в правильном ли направлении я думаю или есть более легкие пути решения?

Есть еще такая задумка. Определить набор фраз занятости и установить каждой приоритет важности. Тогда программа будет сверять приоритеты тех людей, кто занят, с приоритетом назначаемой встречи. Если ниже - тоже идут на встречу и меняют свои планы. А что делать с теми, у кого выше???

Помогите, пожалуйста Жжешь
Записан
MOPO3
Ай да дэдушка! Вах...
Команда клуба

lt
Offline Offline
Пол: Мужской
Холадна аднака!


WWW
« Ответ #1 : 08-10-2003 10:35 » 

Что то я не врубаюсь, в чём проблема то ?
В написании скриптов или в логике самой программы ?

В чём конкретно задача то ?
Записан

MCP, MCAD, MCTS:Win, MCTS:Web
Varlenka
Гость
« Ответ #2 : 08-10-2003 11:09 » 

Цитата: MOPO3
Что то я не врубаюсь, в чём проблема то ?
В написании скриптов или в логике самой программы ?

В чём конкретно задача то ?
Не знаю как реализовать анализ времени.......  Так больше нельзя...
Записан
PSD
Главный специалист

ru
Offline Offline
Пол: Мужской

« Ответ #3 : 08-10-2003 11:19 » 

А что делать с другими, которые в это время заняты???
А что делать с теми, у кого выше???
Эти вопросы стоит задать заказчику, в данном случае дипломному руководителю.

Тут нужно состовлять дерево прав не только для встречь но наверное для людей.

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

Я так понимаю это будет дерево  рангов  имитирующее реальную структуру управления.

2) Нужно утвердить систему команд
- Назначить встречу(приказать явится)
- Предложить встречу (по обоюдному согласию)
- Испросить разрешения на встречу(аудиенция у начальства)
- Предоставить информацию о свободном времени сотрудника
- Отменить встречу
.....
Производные операции
- Перенсти встречу
- Выдать спсок конфликтов( в случае если ваших прав не достаточно для отмены уже существующе й встречи)
.....
Как кие еще операции у тебя в ТЗ прописаны?


Далее нужно растисать реакцию системы по каждой команде    
Получится таблица. По которой можно будет разрешить любой конфликт первого шага.  
 

(Я нужном направлении двигаюсь?)
Записан

Да да нет нет все остальное от лукавого.
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #4 : 08-10-2003 11:20 » 

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

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Varlenka
Гость
« Ответ #5 : 08-10-2003 11:40 » 

Цитата: PSD

Тут нужно состовлять дерево прав не только для встречь но наверное для людей.

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

Я так понимаю это будет дерево  рангов  имитирующее реальную структуру управления.


Так получается, что у каждого разные возможности при входе в систему? Вопрос - разве а) и в) не один и тот же тип взаимоотношений? стрелка в обратную сторону. А далее по списку что там еще может быть-то?
Значит в зависимости от того, кто кому написал - программа реагирует. Если начальник подчиненному - как приказ итп?

Цитата

2) Нужно утвердить систему команд
- Назначить встречу(приказать явится)
- Предложить встречу (по обоюдному согласию)
- Испросить разрешения на встречу(аудиенция у начальства)
- Предоставить информацию о свободном времени сотрудника
- Отменить встречу
.....
Производные операции
- Перенсти встречу
- Выдать спсок конфликтов( в случае если ваших прав не достаточно для отмены уже существующе й встречи)


А как это - список конфликтов?



Цитата

Далее нужно растисать реакцию системы по каждой команде    
Получится таблица. По которой можно будет разрешить любой конфликт первого шага.


Вроде понятно. Т.е. проверкой if тэдэ тэдэ.
А если нужно назначить конференцию нескольких пользователей?

Varlenka
Записан
Varlenka
Гость
« Ответ #6 : 08-10-2003 11:52 » 

Цитата
Тут нужно состовлять дерево прав не только для встречь но наверное для людей.


Значит составить базу данных, в которой хранится таблица пользователей с их логином, паролем и должностью, а также таблица отношений должностей? не представляю, что это можно сделать  Так больше нельзя...
Записан
Varlenka
Гость
« Ответ #7 : 08-10-2003 11:56 » 

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


Тогда получается, что нужно хранить для каждого таблицу с его занятостью. Потом после запроса идет проверка полей соответствующего времени? Хорошо, а если запросившему нужно встретиться в четверг, а у нескольких, с кем он хочет встретиться -забит весь четверг? Или если у всех 5 человек разное время свободно ?

спасибо

Varlenka
Записан
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #8 : 08-10-2003 12:39 » 

Цитата
Тогда получается, что нужно хранить для каждого таблицу с его занятостью.

Ну не Пушкин же будет помнить кто, когда и чем занят  Я шокирован!  Отлично
Цитата
Потом после запроса идет проверка полей соответствующего времени? Хорошо, а если запросившему нужно встретиться в четверг, а у нескольких, с кем он хочет встретиться -забит весь четверг? Или если у всех 5 человек разное время свободно ?

Собрать всех ночью! Отлично Шутка.
Занятость бывает разная - занят начальник, или занят подчиненный (по воле начальника или сам) - PSD это уже описал. Вот скажем хочет собрать начальник совещание, а подчиненный занят фигней, у которой приоритет ниже чем у приказа начальства. Значит его следует освободить от той фигни (конференцию отменить, или просто исключить его из списка участников) и записать на совещание.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
PSD
Главный специалист

ru
Offline Offline
Пол: Мужской

« Ответ #9 : 08-10-2003 12:59 » 

Цитата

Так получается, что у каждого разные возможности при входе в систему? Вопрос - разве а) и в) не один и тот же тип взаимоотношений? стрелка в обратную сторону. А далее по списку что там еще может быть-то?
Значит в зависимости от того, кто кому написал - программа реагирует. Если начальник подчиненному - как приказ итп?


Нет не один и тотже(дерево будет  взвешаное и направленое), начальник может вызвать подчиненного а подчиненный начальника только пригласить. Понимаешь?
Записан

Да да нет нет все остальное от лукавого.
MOPO3
Ай да дэдушка! Вах...
Команда клуба

lt
Offline Offline
Пол: Мужской
Холадна аднака!


WWW
« Ответ #10 : 08-10-2003 13:26 » 

Цитата: Varlenka
Не знаю как реализовать анализ времени.......  Так больше нельзя...


В смысле вычислить разницу во времени у разных пользователей  :?:
Записан

MCP, MCAD, MCTS:Win, MCTS:Web
Anonymous
Гость
« Ответ #11 : 08-10-2003 15:37 » 

По поводу планировки и перепланировки встреч.
С мотри у нас тут несколько ситуаций.

1) А назначает Б встречу у б есть свободное время в указаном интервале,
2) А назначает Б встречу но у б нет времени в указаном интервале
            а) А переносит встречу(меняет границы заданого для встречи временного интервала) на другое время (ось времени в строну будующего бесконечна)
            б) А приказывает Б быть там  и точка
                           Что происходит с дневным планом Б
                            (1) Конфликтная с А встреча отминяется вообще
                            (2) Конфликтная с А встреча перносится на другое время(тут еще вопрос перносить ли автоматически или уведомлять Б отом что всреча отменена и пусть он сам ломает голову куда ее перносить и  надоливообще).
              Примечание: Я незнаю как правильно ограничить права А, критерия ограничения может быть три
                                  1) отменяемая у Б встренча назначена с опоненом более высокого уровня.          
                                  2) Встреча помечена как "непереносимая".
                                  3) У встречу невозможно будет перенести уложившись в "интервал актуальности"(еще один парамет который обязательно нужен, крайняя дата, перенос встречи за которую теряет смысл)      

Еще нужено продумать  порядок взаимодействия если А и Б равные по положению. Там видимо придется отправлять уведомление о прозьбе встречи и квитировать его в случае согласия или отсылать встречное предложение.


 А еще неплохо обработать откаты чтоб если что можно было откатить внов  назначеную встречу и чтоб у всех затронутых людей планы выстановились(но это сложно.)
Записан
Varlenka
Гость
« Ответ #12 : 08-10-2003 17:18 » 

Да, но дело в том, что при желании назначить с кем-то встречу можно написать письмо или позвонить. А задача моей программки - назначить встречу группе людей. Их может быть и 100.
Записан
PSD
Главный специалист

ru
Offline Offline
Пол: Мужской

« Ответ #13 : 10-10-2003 04:29 » 

Ну если устранить человеческий фактор, то  все упрощается. Ситема сказала совещанию быть а они сами пусть выкручиваются как им туда попасть.
Записан

Да да нет нет все остальное от лукавого.
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines