7 сентября 2010 г.

Управление вводом/изменениями данных на формах

Сейчас в системах Windows (другие не рассматриваю, ибо не знаю как "там" сейчас) принята следующая идеология при вводе или изменении данных на формах: пользователю предоставляются 3 (не всегда) кнопки:
  • OK - применяет все изменения на форме и закрывает форму;
  • Apply - применяет все изменения на форме и оставляет форму открытой;
  • Cancel - отменяет все изменения на форме, которые были сделаны до последнего нажатия кнопки Apply.
Но иногда бывает полезно ввести/изменить данные, посмотреть как это "выглядит", и затем отменить ввод. Для выполнения этого сейчас надо выполнить следующие действия:
  1. Открыть форму и ввести/изменить данные.
  2. Нажать OK или Apply (в последнем случае нам не надо будет закрывать форму).
  3. Посмотреть полученный результат.
  4. Опять открыть форму (или перейти на неё, если на шаге 2 мы нажали Apply).
  5. Отменить все исправления, сделанные на шаге 1.
  6. Нажать OK.
Предлагается для достижения того же результата изменить эту последовательность действий на следующую.
  1. Открыть форму и ввести/изменить данные.
  2. Нажать Apply (форма остаётся открытой).
  3. Посмотреть полученный результат.
  4. Перейти на форму.
  5. Нажать Cancel.
Т.е. нам не придётся повторно отменять (кликать по всем контролам) все исправления. Т.е. предлагается изменить фукнционал кнопки Cancel на такой, что её нажатие будет отменять все изменения, сделанные на форме, не до последнего нажатия кнопки Apply, а до момента открытия формы.

P.S. Возможно, таким образом мы потеряем какой-то другой фунционал. :)

Контроль качества

Разработчики создают программы. Отдел качества их тестирует. Пользователи - используют.
Но иногда компании экономят на отделе качества (например, выделяют недостаточное количество тестеров на проект или предоставляют недостаточное количество времени для тестирования). Таким образом роль тестеров достаётся конечным пользователям.
Предлагается.
Создаётся интернет (онлайн) сообщество тестеров, желающих заниматься тестированием на следующих условиях:
  • Разработчик перед выкладыванием проекта для тестирования, выделяет на это определённую сумму денег.
  • Тестер по желанию может присоединиться к любому проекту.
  • Необходимо гарантировать, что пользователи знают об описываемом сообществе тестеров. (???)
  • Тестер (практически по желанию, но теоретически это понадобится) знакомится с документацией по проекту.
  • Тестер по желанию может заниматься поиском ошибок в программе.
  • Если тестер(1) находит ошибку в программе, которая не соответствует функционалу (это обязательное условие), описанному в документации, то он сообщает о ней в сообществе.
  • Если другой тестер(2) видит, что кто-то нашел ошибку, то он может проверить её: действительно ли ошибка имеет место быть.
  • Если ошибка подтверждается, каждый тестер получает определённое, но различное количество баллов.
  • Если ошибка не подтверждается, то инициируется процедура судейства (???), после которой с какого-нибудь тестера (или с обоих) могут снять часть баллов.
  • Найденная ошибка уходит разработчикам (на исправление).
  • Разработчик также может быть не согласен с наличием ошибки (???).
  • После завершения этапа тестирования, начинается этап опытной эксплуатации пользователями.
  • Если пользователь находит ошибку, он сообщает о ней в сообщество тестеров.
  • Каждая найденная пользователем ошибка также обрабатывается на соответствие документации, с привлечением, при необходимости, процедуры судейства. (???)
  • Если ошибка подтверждается, то со всех тестеров, участвующих в проекте, снимается определённое количество баллов, а пользователь, нашедший ошибку, наоборот, получает определённое количество баллов.
  • После завершения этапа опытной эксплуатации, выделенная разработчиком на тестирование сумма, делится между тестерами и пользователями, в соответствии с набранными ими баллами.
Знаками "???" пометил места, которые требуют дополнительного обдумывания.