9 июня 2006 г.

Программирование логики

Бизнес-процесс - это связанный набор повторяемых действий (функций), преобразующих исходный материал и (или) информацию в конечный продукт (услугу) в соответствии с предварительно установленными правилами. ARIS - это продукт, для описания бизнес-процессов. Он, по определененным правилам, описывает:
  • последовательность вызова бизнес-процессов;
  • условия вызова бизнес-процесса (входные, выходные и используемые в процессе документы);
По сути, бизнес-процессу в IT могут соответствовать:
  • функция;
  • процедура;
  • модуль;
  • класс (но не экземпляр класса);
Теперь, если взять ARIS (модель eEPC) и поставить в соответствие указанные выше термины из IT, то появляется хороший повод для размышлений ;) ... По крайней мере у меня сразу возникли такие мысли:
  • коллекция функций, как-то связанных между собой;
  • каждая функция имеет некоторый уровень, на котором она используется (например, "сложение двух чисел" - один уровень, а "отобразить сообщение" - другой);
  • функция = бизнес-процесс;
  • ну и главная мысля: программирование логики с помощью бизнес-процессов, т.е. накидываем бизнес-процессы, связываем их и настраиваем - программа готова.

Автоформируемые социальные индивидуумы

Социальные общества - это конечно хорошо, но люди в этих обществах всё равно разные. И если Вы не горите одной конкретной идеей, то эти общества не для Вас.
Но пользователь всё равно хочет получать информацию. Так почему мы должны давать пользователю выбор из того, чего он не знает? Почему мы заставляем пользователя идти путем проб и ошибок?
Пусть в начале мы предложим пользователю всю информацию, которая у нас есть. Он выберет интересное ему. Мы зафиксируем и запомним. Он выберет следующее. Мы опять зафиксируем. Всё - социальное общество в лице одного пользователя готово! Социальный индивидуум! Пусть он продолжает выбирать, а мы будем фиксировать.
Следующий пришедший пользователь начнет с тех же шагов, что и первый, только одно но: на каком-то шаге мы заметим сходство или различие меток. Этого достаточно для формирования второго социального индивидума, зависимого от первого! Мы начнем предлагать второму пользователю информацию, которая будет ему интересна. Не надо заставлять пользователя выбирать из всей кучи - они этого не любят :), пусть он выбирает из наиболее интересных для себя вещей.
Потом, по накоплении базы знаний, по увеличению числа пользователей, выборка станет больше, результаты точнее. Нам проще, чем пользователю, найти ему друга, т.к. про него мы знаем больше него.

Информация (Вер 2)

Если Вы хотите, чтоб пользователь не испытывал проблем с информацией, используемой в вашей программе, то она должна быть:
  • доступной;
  • находимой;
Доступность - это значит, что пользователь не будет долго думать надо способом обращения к информации, в идеале - информация выдается пользователю, в зависимости от местонахождения пользователя.

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