ПОИСК
Это наилучшее средство для поиска информации на сайте
Отношения между прецедентами
из "Реинжиниринг бизнеса - Реинжиниринг организаций и информационные технологии "
Когда система становится большой, важно создать ее исчерпывающую модель. Целесообразно сначала показать основные прецеденты модели, а затем добавить вторичные потоки событий. Их можно выразить как в виде новых прецедентов, так и в виде расширения основных прецедентов. Чтобы показать, что один прецедент может расширять другой, вводят отношение расширения [4]. При создании П-модели бизнеса вполне может оказаться так, что два прецедента содержат похожие описания. Чтобы избежать таких наложений, вводят отношение использования. [c.148]Описание прецедента может быть довольно сложным для понимания, если оно содержит слишком много альтернативных, необязательных (условных) или исключительных потоков событий, выполняемых только при определенных условиях. Один из способов сделать описание прозрачнее - извлечь некоторые его фрагменты и рассматривать их как отдельный прецедент. Говорят, что этот новый пример расширяет первоначальный, если выполнены требуемые условия. Такую конструкцию можно получить, используя отношения расширения между прецедентами. [c.148]
Пример. В Ресторане посетители могут получить закуску, десерт или заказать ужин при свечах, когда они сидят в отдельном кабинете с музыкальным сопровождением. Ранее был определен прецедент Обслуживание Обеда или Ужина, который можно расширить, добавив прецеденты Обслуживание Закуски, Обслуживание Десерта и Ужин при Свечах (рис. 5.11). [c.149]
На рис. 5.11 Обслуживание Закуски и Обслуживание Десерта относятся к первому типу расширения, а Ужин при Свечах - к третьему. Другие фрагменты, которые можно моделировать как расширяющие прецеденты - это, например, ситуация, когда у посетителя нет денег заплатить или он требует приготовление блюда по определенному рецепту. [c.149]
Отношение расширения можно рассматривать как способ структурирования потока событий. [c.149]
При описании прецедентов можно обнаружить, что некоторые из них имеют общие фрагменты. Чтобы не описывать эти общие фрагменты более одного раза, надо их описать в виде самостоятельного прецедента, который затем может использоваться остальными. Это обозначается в модели отношением использования. Отношение использования помогает избежать лишних описаний, позволяя повторно применять общие фрагменты потока событий. [c.150]
Отношение использования между одним прецедентом А и другим прецедентом В (А- В) показывает, что экземпляр А выполняет поток событий, описанный для В. Отношение использования применяется, когда нужно показать, что описание транзакции совместно используется несколькими прецедентами. [c.150]
П р и м е р. В прецедентах Обслуживание Обеда или Ужина и Обслуживание Завтрака выполняются процедуры Обслуживание Закуски и Десерта. Так как эти процедуры идентичны для обеда, ужина и завтрака, то этот поток событий можно выделить в отдельный прецедент, который используется как при Обслуживании Обеда или Ужина (рис. 5.12), так и при Обслуживании Завтрака. [c.150]
Отношение использования подобно отношению наследования оба представляют собой повторное применение описания. Прецедент может иметь отношения использования с несколькими другими прецедентами - сравните это с множественным наследованием. [c.150]
Отношение использования и отношение расширения можно рассматривать как вид наследования. Рассмотрим разницу между ними на следующем примере. [c.151]
Пример. Обслуживание Закуски, Обслуживание Десерта и Ужин при Свечах имеют отношение расширения к Обслуживанию Обеда или Ужина. Когда инсталлируется Обслуживание Обеда или Ужина, то его экземпляр может на определенном этапе жизненного цикла следовать описанию следующих прецедентов Обслуживание Закуски, Обслуживание Десерта или Ужин при Свечах. Однако это происходит только при определенных условиях, т. е. когда посетитель просит одно или несколько из этих расширений. Таким образом, Обслуживание Закуски, Обслуживание Десерта и Ужин при Свечах сами по себе в этой модели никогда не вызываются (см. рис. 5.11). [c.151]
Что произойдет, если вместо отношения расширения выбрать отношение использования Выделим два аспекта О Обслуживание Обеда или Ужина связано отношением использования с тремя прецедентами (см. рис. 5.12). В этом случае (в отличие от применения отношения расширения) понимание прецедента Обслуживание Обеда или Ужина невозможно вне зависимости от прецедентов Обслуживание Закуски, Обслуживание Десерта и Ужин при Свечах. Преимущество отношения расширения в том, что оно позволяет делать различные изменения в ходе событий основного прецедента, не принимая во внимание, как это отразится на расширенных потоках событий. [c.151]
О Обслуживание Закуски, Обслуживание Десерта и Ужин при Свечах используются в прецеденте Обслуживание Обеда или Ужина (см. рис. 5.12). В данном случае модель не будет эквивалентна той, что изображена на рис. 5.11, так как в этой модели (представлена на рис. 5.12) ресторан сможет предлагать только некоторые из вариантов обслуживания (см. рис. 5.11) - основной набор с закуской, основной набор с десертом или ужин при свечах только с основным набором. Чтобы получить все те функции, что представлены на рис. 5.11, придется определить прецеденты для всех комбинаций основного набора, закуски, десерта и ужина при свечах. [c.151]
В большинстве случаев выбрать между отношениями использования и расширением несложно. Отношение использования применяется для выделения общих последовательностей в нескольких прецедентах, в то время как отношение расширения применяется для добавления новых фрагментов хода событий. [c.151]
Вернуться к основной статье