talla2k (он же
GanibalLector) пишет:
Разработал софт для удаленного обмена с некими терминалами. Т.е.
хозяин(директор) сидя на Лазурном берегу может соединиться со своими
терминалами и видеть все движение(обычно это продажи товаров и т.д.).
В виду того, что директора обычно люди занятые...и им некогда
просиживать штаны возле компа, сделал 2 режима работы.
Первый (ручной) :
ручками выбирается адрес удаленной точки, нужное действие и
нажимается кнопка "Звонить".
Второй (автоматический):
заранее создаются задания в БД (где указываются адреса точек, нужные
действия и время выполнения). Обычно это все создается в 1Се. Соответственно,
при наступлении нужного времени программа сама позвонит на нужные точки и
заберет/передаст данные.
Как-то так. Если инфы мало, сообщи. Распишу подробнее.
Меня интересует интерфейс. Я, в отличаи от тебя, книг по интерфейсам
не читал. Поэтому жду критики в свой адрес ! Если запостишь в
"Домашку", то буду премного благодарен. Хочу выслушать мнения народа
))
Заранее спасибо.
И добавляет в ответ на вопросы:
Кто такие директора (их квалификация и пр.) и зачем им видеть эти движения?
Есть некоторая сеть торговых киосков* или магазинов. Владелец(он ж
хозяин , он же директор) не в состоянии все контролировать. Ему нужно
или доверять кассиру(что обычно невозможно) или самому все контролировать. Можно на машине
каждый вечер объезжать все киоски(магазины), но если их больше 50 ???
Даже если два(три), но они в разных районах города.
Квалификация разная. Обычно ниже среднего. Что они могут...так это
сидеть в "Одноклассниках". Некоторые получше...владеют(т.е.
пользуются) 1Сом.
* - примеры : сеть киосков по продаже прессы, сигарет, кондитерских
изделий. На базарах "шмотками" торгуют, заправки, покер-клубы, соки фреш и т.д.
Что за некие терминалы?
Что б стало совсем понятно, будем считать, что терминалы - это
кассовые аппараты. Хотя не совсем.
Зачем два модема?
Если торговых точек очень дохрена, то один модем будет долго
обзванивать все точки. Поэтому два. Чтобы быстрее чуток было.
Скажем так, если больше 50 , то задействуется второй модем. В
большинстве, всем хватает одного.
Что там в действиях?
-считать товары (вся номенклатура торговой точки);
-считать дневной отчет (все продажи на сейчас);
-считать отчет с накоплением ();
-считать остатки (выборочно по группе...или с заданным количеством);
-записать товары (новый товар, изменить цену,
изменить\добавить\уменьшить количество, удалить товар);
-печать комментария (послать комментарий кассиру...типа "Маша, измени
ценник на такой-то товар");
-время рабочего дня (время начала работы и конца);
-лента продаж (полная информация о всем раб.дне. Номер чека, время,
номер кассира, сумма чека, номер дисконтной карты, позиции чека(код
товара,цена,скидка,наценка и т.д.))
Действия могут расширятся в зависимости от пожеланий клиента. Протокол
терминала имеет более 200 различных команд.
Все эти действия это таблицы БД!
Т.е. если считать "дневной отчет" , то самой суммы и полной детализации в
той программе(скриншоты которой высылал) не будет. Там будет только
результат (успех/неудача).
Почему? У всех этих "предпринимателей" обычно есть какие-то учетные
системы. И смотреть результаты продаж(и т.д.) в моей программе(View) им не
интересно. Все через ихнюю учетную программу.
Как добавлять действия и кассы? (Форма настроек видимо, скриншот хорошо бы.)
Видео:
Dial2.exe (Видео со встроенным плеером, вроде без вирусов), (исправил ссылку)
И еще добавляет уже сам:
Интересует дизайн главной формы программы Dial. Нужно сделать, чтобы и
убогому было понятно. Далее...почти готов второй канал обмена с девайсами
(GPRS). Опять таки...я уже не вижу куда его вставлять. Не хотелось,
чтобы форма разросталась в размерах (некоторые юзают нетбуки).
В GPRSe будет типа такого :
-кнопка включения\выключения сервера;
-TLabel с состоянием сервера (сервер работает/не работает);
-TLabel с количеством активных клиентов (т.е. терминалы, которые прямо
сейчас зашли на сервер и обмениваются данными );
- что-то еще (возможно история...нажал и посмотрел когда были
соединения, чем закончились)
Ваша задача: Найти ошибки в дизайне первой формы (всю программу пороть не нужно слишком много для домашки) и помочь Ганибалу.
UPD
Я огорчен, что до сих пор нет ни одного ответа, почему?
Мое решение
К сожалению эта домашка - пример случая, когда исправлять ошибки
![](http://img-fotki.yandex.ru/get/4109/ksoftware.18/0_3d279_b277179_XL.jpg)
бесполезно, нужно все переделывать.
Попробуем представить пользователя программы. Конечно это не жирный босс, который круглый год лежит на Мальте и жрет омаров. Скорее всего это ЧП или владелец мелкого ООО, у которого есть несколько точек, контролировать которые лично физически невозможно.
Я думаю его зовут Игорь и ему 37 лет.
Теперь можно придумать сценарии
Если натравить на действия в старом варианте метод поиска существительных, то сразу видно, что в системе должна быть «торговая точка», причем она очень важна.
-считать товары (вся номенклатура торговой точки);
-считать дневной отчет (все продажи на сейчас);
-считать отчет с накоплением ();
-считать остатки (выборочно по группе...или с заданным количеством);
-записать товары (новый товар, изменить цену,
изменить\добавить\уменьшить количество, удалить товар);
-печать комментария (послать комментарий кассиру...типа "Маша, измени
ценник на такой-то товар");
-время рабочего дня (время начала работы и конца);
-лента продаж (полная информация о всем раб.дне. Номер чека, время,
номер кассира, сумма чека, номер дисконтной карты, позиции чека(код
товара,цена,скидка,наценка и т.д.))
Мне видятся такие сценарии.
Просмотр номенклатуры точки
Игорь открывает программу, находит нужную точку и просматривает её номенклатуру.
Получение дневного отчета
Игорь находит нужную точку и просматривает дневной отчет по ней.
Печать комментария
Игорь находит нужную точку, пишет комментарий кассиру видя историю переписки
Добавление модема
Так как бизнес у Игоря процветает и количество касс переросло за 50, он решил нарастить мощности и купил модем. Игорь подключает модем к компьютеру, заходит в настройки модема и добавляет новый модем. После этого система использует модем при необходимости.
Грубый прототип интерфейса, реализующего сценарии получился такой:
В главном окне есть две области - список торговых точек и область отчетов.
![](http://img-fotki.yandex.ru/get/4011/ksoftware.18/0_3d27b_2530b8fb_XL.jpg)
Игорь просто выбирает нужную точку слева и просматривает отчеты справа. Когда программе необходимо получить данные появляется модальное окно.
![](http://img-fotki.yandex.ru/get/4113/ksoftware.18/0_3d27a_4a5cc0a0_XL.jpg)
Модемы добавляются в соответствующем меню (пример - сборщики почты в Яндексе) и система сама решает как их использовать.
Наличие баз данных, колбеков, статусов и прочего Игоря не ебёт, а интерфейс его этим и не грузит. Игорь просто видит свои торговые точки и просто смотрит как у них там дела.
Комментарии скрываются до вечера воскресенья, когда я представлю своё решение и прокомментирую ваши ответы.
Напоминаю, что домашки выходят по пятницам, присылайте свои задания на kolan@ksoftware.ru и, если задание окажется интересным, оно будет опубликовано в одну из пятниц.