Обычно Вы высматриваете коэффициент загрузки (неофициально, Вы уже сказали, что), который официально определяется как О± = n / N, т.е. отношение привыкших к общим блокам. Для хэш-таблицы, чтобы функционировать правильно (или по крайней мере рассуждать о ее производительности в математическом элементе), это должен быть О± < 1.
Все остальное действительно до эмпирических тестов: Если Вы видите, что Ваша хэш-таблица не выполняет хороший запуск в О± > 0.5, затем убедиться остаться под тем значением. Это значение также зависит от Вашего разрешения коллизий techique. Хеширование с объединением в цепочку может потребовать других коэффициентов загрузки, чем хеширование с открытым обращением. Еще одним фактором является местность кэша. Если Ваша таблица станет слишком большой, она не впишется в оперативную память. Так как Ваш доступ в массив случаен, загружение из кэша может стать узким местом.
Aggregated POS Design Guidelines
Based on the above and other literature, here is my list of guidelines for POS design. [it would be nice if we grew this list further]
User Performance Priorities (in order): efficiency (least time to transaction conclusion) effectiveness (accurate info & output) user satisfaction (based on first 2 in work context) learning time (reduce time to learn system by making it simple)
GUIDELINES
I hope this helps everyone.
To all respondents, I really appreciate your feedback! Please give me more wrt to this answer. Thanks
В дополнение к тому, что уже было опубликовано, вот несколько советов, которые мы подобрали на этом пути.
Мы используем два разных пользовательских интерфейса, один для сенсорного экрана с большими жирными кнопками, а другой для ввода с помощью мыши / клавиатуры. код за ними такой же, только макет другой.
Для сенсорных экранов
Старайтесь не иметь всплывающих сообщений, отвлекающих внимание от основной формы, поскольку пользователи могут не смотреть на экран, для например, если они разговаривают с клиентом. мы обнаружили, что если это произойдет, пользователи будут продолжать сканировать товары, не подозревая, что они не были выставлены на продажу.
Если вы используете сканер штрих-кода, имейте в виду, что иногда они отправляют клавишу ввода после штрих-кода, это активирует сфокусированные элементы управления (говорящие да / нет всплывающим окнам). Чтобы предотвратить это, мы отключили нажатие клавиши ввода на кнопках, так что только нажатие мыши / пальца вызовет событие щелчка. мы также устанавливаем позицию табуляции на false (на вашем языке это может называться по-другому), чтобы элементы управления, которые касаются только касания, не попадали в фокус.
Что касается цветов, мы стараемся придерживаться жирных кнопок и цветов шрифта, которые легко могут быть распознаются / читаются в плохо освещенных помещениях и на экранах с бликами, поскольку в большинстве случаев пользователи не могут переместить экран, если у них возникнут проблемы с его чтением.
Все, что вы можете сделать, чтобы ускорить / помочь пользователю, является хорошим например, на нашем экране оплаты, помимо ключей 0..9 для ввода платежа, у нас также есть 1 фунт стерлингов, 2 фунта стерлингов, 5 фунтов стерлингов, 10 фунтов стерлингов и т. д., поэтому пользователям не нужно складывать деньги, которые они при этом они могут просто нажимать клавишу для каждой монеты / банкноты, полученной от клиента.
Лучший совет, который я могу дать, - это помнить, что вы разрабатываете совершенно иную среду, нежели настольное приложение, которое будет использоваться в офисе. и что пользователи, возможно, никогда раньше не использовали компьютер. поскольку POS-системы обычно заблокированы, постарайтесь сделать их настолько простыми в использовании, насколько это возможно.
, еще одна вещь, которую следует учитывать, - это персонажи (как указано в фразе Купера «заключенные управляют приютом»).
по сути, вы выдумываете несколько канонических «юзеров». дайте им имена, хобби, навыки, изображения и используйте их как людей, для которых вы создаете дизайн.
то есть:
билли кассир: имеет некоторый опыт работы с компьютером (играет на своей ps2). он учится в старшей школе, может поступить в общественный колледж. он является основным пользователем системы и хочет быстро изучить новую систему.
Сайрус менеджер: нужно управлять кассирами. нужен способ, только с его разрешения, аннулировать транзакции и иметь возможность просматривать журналы продаж для составления отчетов, а также управлять «усадкой» (кражей). у него двое детей, он живет в пригороде, поэтому добирается до него 45 минут; поэтому он не хочет тратить лишнее время на споры о системе.
вам может понадобиться три или четыре персонажа; больше, чем это, становится трудно спроектировать.
Я настоятельно рекомендую книгу «Заключенные управляют приютом», плюс Купер написал еще одну книгу: «О лице»; который я еще не прочитал.
удачи!
вам может понадобиться три или четыре персонажа; больше, чем это, становится трудно спроектировать.
Я настоятельно рекомендую книгу «Заключенные управляют приютом», плюс Купер написал еще одну книгу: «О лице»; который я еще не прочитал.
удачи!
вам может понадобиться три или четыре персонажа; больше, чем это, становится трудно спроектировать.
Я настоятельно рекомендую книгу «Заключенные управляют приютом», плюс Купер написал еще одну книгу: «О лице»; который я еще не прочитал.
удачи!
Я бы порекомендовал провести какой-то обзор удобства использования среди вашей текущей группы пользователей. Нет необходимости в том, чтобы это было сложное или строго научное исследование. Задайте им простые вопросы, чтобы определить:
Я обнаружил, что из простого опроса, подобного этому, можно многому научиться и что его можно применить к дизайну пользовательского интерфейса, чтобы обеспечить удовлетворительное удобство использования пользователями.
Devstuff уже дает отличные ответы. Кроме того:
Пара мыслей из нескольких проектов, над которыми я работал:
Что касается сенсорного экрана, убедитесь, что каждая кнопка может быть нажата кем-то «толстыми пальцами» с такой же легкостью, как и меньшие (некоторые макеты поощряют использование больших пальцев в определенных местах). Также выделяйте каждую кнопку при ее нажатии (с медленным исчезновением, если у вас есть свободные циклы ЦП).
Большие сетки лучше, чем меньшие. Цифровая клавиатура всегда должна находиться на одном и том же месте (часто в правом нижнем углу). Ввод / тендер / и т. Д. Клавиши «транзакции» должны быть больше, чем отдельные цифровые клавиши - (1) сделать более очевидным, где они находятся, (2) они будут нажиматься чаще, чем другие области экрана, и будут изнашиваться (большая область в среднем прослужит дольше ; это было более важно для сенсорных экранов старого типа; более новая технология более устойчива).
Разрешить переназначение функций / SKU на разные позиции в сетке; макет, который подходит для одного магазина, скорее всего, будет неправильным для другого.
Сгруппируйте связанные функции по цвету, но используйте отличные контрасты. Убедитесь, что комбинация переднего и заднего плана хорошо смотрится под всеми углами (некоторые ЖК-дисплеи «размывают» цвета слева направо и / или сверху вниз).
Положительный отклик сенсорного экрана со звуками должен иметь настраиваемую громкость и звуковые наборы. Приглушенные тона могут быть лучше в более тихом элитном магазине, но «задорные» звуки лучше в магазине одежды с более громкой фоновой музыкой / шумом и т. Д.
Разрешите указывать размер сетки в процентах или «единицах сетки». вместо пикселей и рисовать все векторами и т. д. поскольку некоторые комбинации оборудования могут иметь ЖК-дисплеи с лучшим разрешением. (Одна система, над которой я работал, изначально была указана как 640x480, но поставлялась с разрешением 1280x1024, так что при предварительном планировании моего дизайна в дальнейшем было много доработок.)
И, конечно, сначала посмотрите на готовые решения (особенно если вы можете получить демонстрационное программное обеспечение / оборудование для оценки). Хотя они могут быть дорогими, они часто реализовали множество вещей, над которыми вам придется работать позже, и могут быть дешевле в долгосрочной перспективе, даже после создания пользовательских надстроек для вашей системы.
Также :
Наш пользовательский интерфейс также поддерживал обычную комбинацию клавиатуры и мыши (сенсорные кнопки были просто стандартными кнопочными элементами управления соответствующего размера). Если вы нажмете цифровую клавишу, это вызовет то же событие, что и нажатие кнопки экранной панели; другие горячие клавиши были сопоставлены с часто используемыми кнопочными командами (Enter и т. д.).
Если запускать на рабочем столе, отличном от POS (например, в бэк-офисе), размер окна тоже можно было изменить («Рабочий стол POS» сохранял такое же соотношение сторон, добавляя мертвых пространство по бокам при необходимости). Стандартное верхнее меню было доступно для дополнительных административных задач, отчетности и т. Д.
Дизайн позволял каждому создавать и тестировать пользовательский интерфейс до того, как соответствующее оборудование будет окончательно доработано. И стандартные инструменты тестирования пользовательского интерфейса тоже подойдут.
Еще больше:
Наши сканеры штрих-кода были последовательными / USB, а не похожими на клавиатуру, поэтому каждый пакет от устройства вызывал событие связи. Выбранный класс драйвера "типа сканера" использовал наиболее безопасное форматирование, которое может предоставить нам устройство - некоторые могут предоставлять префикс,
Отличные комментарии от всех остальных. Я просто добавлю, что есть также статья доктора Кевина Скорсби под названием «Как разработать (POS) систему, которую все ненавидят», в которой обсуждается удобство использования POS-систем и добавляется несколько моментов к тому, что люди уже упоминали, например:
Я также обнаружил много полезных советов по дизайну POS на POSDesigns.com . Одна вещь, которая мне показалась интересной, заключается в том, что, уделяя слишком много внимания числу нажатий кнопок, вы действительно можете повлиять на скорость, что часто является основной целью. Также есть совет под названием «Пять факторов, влияющих на скорость».
Я наткнулся на этот вопрос и решил добавить свои два цента, поскольку здесь упоминались некоторые из моих работ.
Я согласен с большей частью того, что было сказано, но это Важно помнить, что почти все упомянутое представляет собой эвристику . Это означает, что, хотя они и являются хорошими принципами, которым следует следовать, есть вероятность, что (а) конкретные правила следует нарушать, и (б) между правилами будут противоречия. Уловка состоит в том, чтобы взвесить противоречивые принципы и применить их в соответствующей степени (как вы отметили в предыдущем комментарии).
В конце концов, это вопрос баланса между бизнес-требованиями и потребностями пользователей таким образом, чтобы получить оптимальные полученные результаты. А в реальном мире я считаю, что этого никогда нельзя достичь с помощью одной лишь эвристики.
Вот пример: Недавно я закончил разработку дизайна торговых точек для Subway, Wendy's и Starbucks (см. Примеры из практики на POSDesigns.com ). Во всех этих проектах использовалась надежная эвристика, но все они оказались очень, очень разными из-за различий в бизнес-целях и требованиях, потребностях и опыте пользователей, среде, в которой они работают, используемой технологии и целом множество других отличий.
Вы никогда не сможете создать отличный дизайн в вакууме. Для каждого из клиентов, упомянутых выше, я посетил множество различных типов магазинов в разных странах, чтобы понять, как работают пользователи, как будут использоваться системы, как клиенты заказывают и т. Д. Вся эта информация - вместе с данными о продажах и другими данными, предоставленными компанией, - неоценимы для создания удобного решения.
Вот еще один пример: Рекомендация № 3, которую вы предоставили ранее («Поддерживающая управляемость / Ловкость»), хороша как эвристика (хотя я должен сказать, что я сомневаюсь в том, что замена просто ОК / Отмена). Но, посещая магазины Subway, мы обнаружили, что в этом контексте расположение регистра на самом деле играет большую роль в том, что сотрудники предпочитают.
Другими словами, регистры, прижатые к стене с правой стороны, как правило, давали пользователи-левши, даже если пользователи выполняли все остальные задачи правши. Это повлияло на то, как мы позволяли переключать пользовательский интерфейс ... и кто мог это контролировать. Есть множество подобных примеров, но мы никогда не смогли бы добиться того же эффекта, который дает пользовательский интерфейс - например, уменьшение пропусков на 90%, почти нулевое обучение, повышение скорости, точности, и проверять размеры и т. д. - только следуя эвристике.
Еще один момент (извините ... вы меня уже поняли :-). Часто эвристика оказывается неполной без дополнительных данных о том, как ее применять. Примите во внимание ваше руководство № 11 «Порядок разговоров». В этом руководстве есть гораздо больше, чем просто обеспечение гибкости при вводе ордеров. Например, одна из многих вещей, которые вы должны учитывать, заключается в том, что не все пути следует представлять как равновероятные.
Мы проанализировали, как клиенты Starbucks заказывали заказы в различных местах в Соединенных Штатах и Соединенном Королевстве. Затем мы оптимизировали систему для наиболее часто встречающихся звуков. Если бы мы позволили всем путям иметь одинаковый «объем», мы бы пожертвовали удобством использования в других областях, поскольку дизайн выглядел бы более загроможденным. Новая POS-система теперь поддерживает почти все возможные шаблоны заказов, но наиболее вероятные пути представлены в большем «объеме», чем менее вероятные.
Хорошо, оказалось, что это больше двух центов, но нижняя часть Строка такова: если у вас есть возможность посетить среду, в которой будет использоваться ваш POS, проанализировать взаимодействие клиента / сотрудника и т. д. ... вы должны воспользоваться этим. Контекстные наблюдения и анализ неоценимы для правильного применения эвристики к вашей ситуации.
Удачи!
Д-р. Кевин Скорсби
К вашему сведению - я бы с удовольствием поговорил об этом подробнее, если бы вы или кто-либо еще в группе захотели. Номер моего служебного телефона указан на моей странице « О нас » на сайте POSDesigns.com, или вы можете использовать форму, чтобы начать разговор по электронной почте. Не стесняйтесь звонить в любое время в рабочее время США,