Наверх
Войти на сайт
Регистрация на сайте
Зарегистрироваться
На сайте недоступна
регистрация через Google
Мобильные приложения
AppStore GooglePlay

Дима, 32 - 24 февраля 2013 22:48

Все
Оставь свой комментарий первым
Бизнес-правила в среде разработки и моделирования

Ренди Миллер (Randy Miller)
Один из часто задаваемых вопросов, касающихся любого проекта на основе UML [1] - где следует устанавливать бизнес-правила? Размышляя над таким проектом, мы часто думаем о процессе, управляемом сценариями использования (case driven process), в котором применяются понятия класса, последовательности и диаграмм состояний. Наиболее обычным из этих процессов является унифицированный процесс (Unified Process). Однако, как мы увидим далее, методология, которая здесь рассматривается, работает и с другими процессами, например, с процессами Feature Driven Development (функционально-ориентированная разработка программного обеспечения).

Бизнес-правила представляют собой специализированный вид логики, описывающей ограничения на образ действий, которые система или люди должны учитывать в своем поведении. Эти правила определяются целым рядом факторов, включая директивы распорядительных органов, промышленные стандарты, деловую хватку и простой здравый смысл. Нередко они изменяются от страны к стране, от отрасли к отрасли, и даже от бизнеса к бизнесу. В качестве примера бизнес-правила в банковском деле можно привести закон, по которому о любой сделке, превышающей сумму 10 000 долларов наличными, государство должно ставится в известность. Несомненно, данное бизнес-правило необходимо принимать во внимание при создании банковской системы вложения/снятия наличных денег.

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

Бизнес-требования

Большинство бизнес-правил обнаруживаются в процессе накопления требований. При этом появляется естественное желание добавить еще одну секцию в описания сценариев использования и в нее добавлять бизнес-правила. Однако если бизнес-правило по своему существу не принадлежит к функции, описанной сценарием использования, то оно обычно охватывает несколько сценариев. Так в приведенном выше примере бизнес-правило 10 000 долларов будет охватывать сценарии "Вложение наличных денег" и "Снятие наличных денег".

Каждый из этих сценариев может "запустить" правило 10000 долларов и привести его в действие. В конце концов, вы можете сказать, что это правило лучше внести в каждый сценарий. Тем более что большинство сценарных шаблонов имеют раздел для бизнес-правил. Но что будет, если правительство изменит правило 10000 долларов на правило 15000 долларов? Тогда вам придется изменить это правило в обоих сценариях использования.

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

Однако большинство бизнес-правил представляет собой простую проверку достоверности, например, обеспечение соответствия почтовых индексов с индексами, имеющимися у штатов США. Мы часто игнорируем бизнес-правила такого сорта, пока пишем сценарии использования, поскольку они - всего лишь незначительная подробность проверки адресов. Впрочем, существует специальное место, где устанавливаются и такие ограничения. Логично предположить, что все они принадлежат классу "Адреса" на диаграмме классов. Размещая бизнес-правила в соответствующем классе на диаграмме классов, мы гарантируем, что эти правила будут многократно использоваться во всех сценариях точно таким же образом, как и класс, к которому они принадлежат, в модели сценариев использования.

Типы правил

В общем случае существует три типа правил. К первому типу принадлежат правила вывода [Francis 2003]. Правило вывода (derivation rule) преобразует полученную информацию в возвращаемые значения. Например, скидки на товары можно вычислить с помощью специального алгоритма, учитывающего размер заказа, рекламную поддержку и значимость клиента, которому будут поставляться товары. Правила этого типа допускают изменения, и поэтому, прежде чем с ними можно было работать, их требуется выделить.

Второй тип правил - правила ограничения [Francis 2003]. Правило ограничения (constraint rule) проверяет значения транзакции или операции на непротиворечивость. Например, чтобы заказчик получил письмо, почтовый индекс на письме должен соответствовать индексу штата, в котором проживает заказчик. Эти правила могут использоваться для изучения взаимосвязей между объектами, например, когда все клиенты имеют адресующие объекты в интернет-магазине видеоаппаратуры. Кроме того, они могут применяться вместе с Булевыми результатами. Если они не истинны, то мы не сможем продолжить или завершить операцию.

Наконец, существуют инвариантные правила [Francis 2003]. Инвариантные правила (invariant rules) проверяют множественные изменения и обеспечивают непротиворечивость итог
Добавить комментарий Комментарии: 0
Мы используем файлы cookies для улучшения навигации пользователей и сбора сведений о посещаемости сайта. Работая с этим сайтом, вы даете согласие на использование cookies.