Использование методологии RUP для написания приложений на платформе 1С:Предприятие <html>
<head>
<meta http-equiv=Content-Type content="text/html; charset=windows-1251">
<meta name=Generator content="Microsoft Word 11 (filtered)">
<title>UML + 1C</title>
<style>
<!--
/* Font Definitions */
@font-face
{font-family:Verdana;
panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0cm;
margin-bottom:.0001pt;
font-size:12.0pt;
font-family:"Times New Roman";}
h1
{margin-top:12.0pt;
margin-right:0cm;
margin-bottom:3.0pt;
margin-left:0cm;
page-break-after:avoid;
font-size:16.0pt;
font-family:Arial;}
h2
{margin-top:12.0pt;
margin-right:0cm;
margin-bottom:3.0pt;
margin-left:0cm;
page-break-after:avoid;
font-size:14.0pt;
font-family:Arial;
font-style:italic;}
p.MsoToc1, li.MsoToc1, div.MsoToc1
{margin:0cm;
margin-bottom:.0001pt;
font-size:12.0pt;
font-family:"Times New Roman";}
p.MsoToc2, li.MsoToc2, div.MsoToc2
{margin-top:0cm;
margin-right:0cm;
margin-bottom:0cm;
margin-left:12.0pt;
margin-bottom:.0001pt;
font-size:12.0pt;
font-family:"Times New Roman";}
a:link, span.MsoHyperlink
{color:blue;
text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
{color:purple;
text-decoration:underline;}
span.2
{font-family:Arial;
font-weight:bold;
font-style:italic;}
span.keyword1
{font-style:italic;}
@page Section1
{size:595.3pt 841.9pt;
margin:2.0cm 42.5pt 2.0cm 3.0cm;}
div.Section1
{page:Section1;}
/* List Definitions */
ol
{margin-bottom:0cm;}
ul
{margin-bottom:0cm;}
-->
</style>
</head>
<body bgcolor="#E6E5EF" lang=RU link=blue vlink=purple>
<div class=Section1>
<p class=MsoNormal style='text-align:justify'><b><span style='font-size:20.0pt'>1</span></b><b><span lang=EN-US style='font-size:20.0pt'>C</span></b><b><span
style='font-size:20.0pt'> + </span></b><b><span lang=EN-US style='font-size:
20.0pt'>UML</span></b></p>
<div style='border:none;border-bottom:solid windowtext 1.0pt;padding:0cm 0cm 1.0pt 0cm'>
<p class=MsoNormal style='text-align:justify;border:none;padding:0cm'><b><span
style='font-size:16.0pt'>Использование </span></b><b><span lang=EN-US
style='font-size:16.0pt'>Rational</span></b><b><span lang=EN-US
style='font-size:16.0pt'> </span></b><b><span lang=EN-US style='font-size:16.0pt'>Unified</span></b><b><span
lang=EN-US style='font-size:16.0pt'> </span></b><b><span lang=EN-US
style='font-size:16.0pt'>Process</span></b><b><span style='font-size:16.0pt'> (</span></b><b><span
lang=EN-US style='font-size:16.0pt'>RUP</span></b><b><span style='font-size:
16.0pt'>) с системой 1С:Предприятие 8.</span></b><b><span lang=EN-US
style='font-size:16.0pt'>x</span></b></p>
</div>
<p class=MsoNormal style='text-align:justify'><b> </b></p>
<p class=MsoNormal style='text-align:justify'><b> </b></p>
<p class=MsoToc1><span class=MsoHyperlink><a href="#_Toc154487812">1. Введение<span
style='color:windowtext;display:none;text-decoration:none'>. </span><span
style='color:windowtext;display:none;text-decoration:none'>1</span></a></span></p>
<p class=MsoToc1><span class=MsoHyperlink><a href="#_Toc154487813">2. Данные о
конторе<span style='color:windowtext;display:none;text-decoration:none'>. </span><span
style='color:windowtext;display:none;text-decoration:none'>2</span></a></span></p>
<p class=MsoToc2><span class=MsoHyperlink><a href="#_Toc154487814">2.1 Данные
полученные из опроса сотрудников:<span style='color:windowtext;display:none;
text-decoration:none'> </span><span
style='color:windowtext;display:none;text-decoration:none'>2</span></a></span></p>
<p class=MsoToc1><span class=MsoHyperlink><a href="#_Toc154487815">3.
Моделирование текущей деятельности<span style='color:windowtext;display:none;
text-decoration:none'>. </span><span
style='color:windowtext;display:none;text-decoration:none'>3</span></a></span></p>
<p class=MsoToc2><span class=MsoHyperlink><a href="#_Toc154487816">3.1 Модель
бизнес-прецедентов<span style='color:windowtext;display:none;text-decoration:
none'>. </span><span
style='color:windowtext;display:none;text-decoration:none'>3</span></a></span></p>
<p class=MsoToc2><span class=MsoHyperlink><a href="#_Toc154487817">3.2 Модель
бизнес-объектов.<span style='color:windowtext;display:none;text-decoration:
none'> </span><span
style='color:windowtext;display:none;text-decoration:none'>7</span></a></span></p>
<p class=MsoToc1><span class=MsoHyperlink><a href="#_Toc154487818">4.
Определение функциональных требований.<span style='color:windowtext;display:
none;text-decoration:none'> </span><span
style='color:windowtext;display:none;text-decoration:none'>10</span></a></span></p>
<p class=MsoToc2><span class=MsoHyperlink><a href="#_Toc154487819">4.1 Модель
системных прецедентов для бизнес-прецедента<span style='color:windowtext;
display:none;text-decoration:none'>. </span><span
style='color:windowtext;display:none;text-decoration:none'>10</span></a></span></p>
<p class=MsoToc2><span class=MsoHyperlink><a href="#_Toc154487820">4.2 Описание
системного прецедента<span style='color:windowtext;display:none;text-decoration:
none'>. </span><span
style='color:windowtext;display:none;text-decoration:none'>11</span></a></span></p>
<p class=MsoToc2><span class=MsoHyperlink><a href="#_Toc154487821">4.3
Диаграммы последовательностей для системного прецедента.<span style='color:
windowtext;display:none;text-decoration:none'> </span><span
style='color:windowtext;display:none;text-decoration:none'>12</span></a></span></p>
<p class=MsoToc1><span class=MsoHyperlink><a href="#_Toc154487822">5.
Дополнительные требования<span style='color:windowtext;display:none;text-decoration:
none'>. </span><span
style='color:windowtext;display:none;text-decoration:none'>18</span></a></span></p>
<p class=MsoToc1><span class=MsoHyperlink><a href="#_Toc154487823">6.
Приложение 1. Диаграммы<span style='color:windowtext;display:none;text-decoration:
none'>.. </span><span
style='color:windowtext;display:none;text-decoration:none'>18</span></a></span></p>
<p class=MsoToc1><span class=MsoHyperlink><a href="#_Toc154487824">7.
Приложение 2. Постановка ТЗ<span style='color:windowtext;display:none;
text-decoration:none'>. </span><span
style='color:windowtext;display:none;text-decoration:none'>18</span></a></span></p>
<p class=MsoToc1><span class=MsoHyperlink><a href="#_Toc154487825">8.
Опомнились<span style='color:windowtext;display:none;text-decoration:none'>. </span><span
style='color:windowtext;display:none;text-decoration:none'>18</span></a></span></p>
<p class=MsoNormal style='text-align:justify'><b> </b></p>
<h1><a name="_Toc154487812">1. Введение</a></h1>
<p class=MsoNormal>В этой статье я попытаюсь автоматизировать государственное
учреждение. Морг.</p>
<p class=MsoNormal>Почему морг? Потому что все уже запарились автоматизировать салоны
видеопроката и аптеки. Работать в сей чудной организации, мне не приходилось,
поэтому «данные полученные из изучения предметной области» и все остальные
факты о работе организации это исключительно полёт фантазии. А посему прошу,
сильно критично к этому не относиться. Ещё я очень многое упростил, чтобы не
раздувать текст и диаграммы.</p>
<p class=MsoNormal>Чтобы тема морга не омрачала проектирование, резидентов
холодильных ячеек заведения будем называть <b><i>клиенты</i></b>.</p>
<p class=MsoNormal> </p>
<p class=MsoNormal>В ходе проектирования мы:</p>
<p class=MsoNormal>- соберем данные о процессах происходящих на объекте</p>
<p class=MsoNormal>- построим бизнес-модель происходящего на объекте</p>
<p class=MsoNormal>- сформируем требования к программной системе</p>
<p class=MsoNormal>- поставим ТЗ программистам</p>
<p class=MsoNormal> </p>
<p class=MsoNormal><span style='color:green'>Таким шрифтом будет написана
пометка о том, что часть статьи пока не готова и появится в будущем.</span></p>
<p class=MsoNormal><span style='font-size:10.0pt;color:#6699FF'> </span></p>
<p class=MsoNormal><span style='font-size:10.0pt;color:#6699FF'>Свои мысли и
информацию не первой важности я отметил таким шрифтом. Кому много буков можно
не читать.</span></p>
<p class=MsoNormal> </p>
<p class=MsoNormal>Если в ходе чтения возникнут вопросы, или что ещё лучше
конструктивные возражения и предложения, всегда буду рад ответить на форуме.</p>
<p class=MsoNormal>Если статья окажется востребованной, я стану заниматься ей
дальше. А нет - так нет.</p>
<p class=MsoNormal align=right style='text-align:right'><span lang=EN-US>Mort</span>.
</p>
<p class=MsoNormal> </p>
<h1><a name="_Toc154487813">2. Данные о конторе</a></h1>
<p class=MsoNormal> </p>
<h2><a name="_Toc154487814">2.1 Данные полученные из изучения предметной
области:</a></h2>
<p class=MsoNormal style='text-align:justify'><b>1. Приём</b>:</p>
<p class=MsoNormal style='text-align:justify'>Медслужба освидетельствовав факт
смерти, направляет запрос в регистратуру морга на наличие свободных мест для
хранения. При положительном результате производится перевозка и прием
клиента(ов) в морг. </p>
<p class=MsoNormal style='text-align:justify'>По приезду на каждого клиента
составляется акт приема, где указывается его параметры, Ф.И.О если известны,
общее описание и присваивается личный номер. По возможности указывается время
захоронения клиента, либо указывается позже по телефону родственниками.
Хранится клиент не больше 20 дней за исключительным случаем. И клиент сдается
на хранение. </p>
<p class=MsoNormal style='text-align:justify'><b>2. Хранение. Процедуры во время
хранения</b>:</p>
<p class=MsoNormal style='text-align:justify'>Помещение морга состоит из 20
камер по 10 морозильных ячеек в каждой, каждая имеет свой номер. </p>
<p class=MsoNormal style='text-align:justify'>2.1 Экспертиза</p>
<p class=MsoNormal style='text-align:justify'>Временно клиентов может вывозить
сотрудники МВД для проведения экспертизы (просто в самом морге недостаточно
оборудования). Время возврата клиентов указывается сразу и никаких задержек и
проблем в возврате не возникает. Во время отсутствия клиентов места остаются
зарезервированными. Результаты экспертизы на записи регистратуры не влияют.</p>
<p class=MsoNormal style='text-align:justify'>2.2 Опознание.</p>
<p class=MsoNormal style='text-align:justify'>В морге может происходить опознание.
Факт и результаты процедуры опознания заносятся в журнал.</p>
<p class=MsoNormal style='text-align:justify'><b>3. Освобождение ячеек</b>.</p>
<p class=MsoNormal style='text-align:justify'>3.1 Похороны.</p>
<p class=MsoNormal style='text-align:justify'>Каждый день клиентов забирает то
или иное похоронное бюро. Время точного забора должно быть указано за день.
Сотрудники МВД могут отложить срок реализации или захоронения клиента до
какой-либо даты. </p>
<p class=MsoNormal style='text-align:justify'>3.2 Реализация: Институт или
кремация.</p>
<p class=MsoNormal style='text-align:justify'>Если в течении 20 дней не было
заявки на похороны или кремацию клиент подвергается утилизации. Его либо
кремируют либо отдают в институт на съедение медикам. </p>
<p class=MsoNormal style='text-align:justify'>Институт периодически подаёт
заявки на клиентов, типа на определенную дату им нужны клиенты определенного
пола и разряда возраста, всего 6 разрядов: (1-4)(5-15)(16-30)(31-50)(51-70)(>70).
</p>
<p class=MsoNormal style='text-align:justify'>Каждый день в 3 часа регистратура
составляет список «освободившихся» клиентов, просматривает список заявок из
института, договаривается с институтом и вечером институт забирает клиента.
Только после составления списка в институт, те счастливчики, что не попали в
институт, сжигаются (список сжигаемых клиентов регистратура передает
персоналу). Ещё кремация вместо похорон может быть произведена по желанию
родственников в любой день (такой клиент в институт попасть не должен). Заявка
от родственников должна прийти за день. </p>
<p class=MsoNormal style='text-align:justify'> </p>
<p class=MsoNormal style='text-align:justify'>Необходимо автоматизировать всю
бумажную работу регистратуры и иметь возможность по запросу указать положение
дел в морге (состояние ячеек и клиентов) на любую дату.</p>
<p class=MsoNormal style='text-align:justify'> </p>
<p class=MsoNormal style='text-align:justify'>Дальнейшие подробности уточнятся
по ходу проектирования.</p>
<p class=MsoNormal style='text-align:justify'><span style='font-size:10.0pt;
color:#6666FF'>Только не надо кричать «лажа», и что структуру можно в
конфигураторе накидать за 10 минут. Можно. Но не всегда.</span></p>
<p class=MsoNormal style='text-align:justify'> </p>
<h1><a name="_Toc154487815">3. Моделирование текущей деятельности</a></h1>
<p class=MsoNormal> </p>
<p class=MsoNormal style='text-align:justify'><a name="_Toc154487816"><span
class=2><span style='font-size:14.0pt'>3.1 Модель бизнес-прецедентов</span></span></a><b>.</b></p>
<p class=MsoNormal style='text-align:justify'> </p>
<p class=MsoNormal style='text-align:justify'>Модель бизнес-прецедентов
описывает, что творится в организации и кто с этими процессами взаимодействует
извне.</p>
<p class=MsoNormal style='text-align:justify'>Текущая деятельность нашего
заведения, это обслуживание клиентов и обслуживание ячеек. Нарисуем эти
процессы и всех, кто связан с ними:</p>
<p class=MsoNormal style='text-align:justify'> </p>
<p class=MsoNormal align=center style='text-align:center'><img width=395
height=407 src="Морг.files/image001.jpg"></p>
<p class=MsoNormal align=center style='text-align:center'>Рис 1.1 Обобщенная
модель бизнес-прецедентов</p>
<p class=MsoNormal style='text-align:justify'> </p>
<p class=MsoNormal style='text-align:justify'>Мы получили <b><i>Модель
бизнес-прецедентов</i></b>. Такие модели отображаются на <b><i>Диаграмме
вариантов использования (</i></b><b><i><span lang=EN-US>use</span><span
lang=EN-US> </span></i></b><b><i><span lang=EN-US>case</span><span lang=EN-US> </span></i></b><b><i><span
lang=EN-US>diagram</span>)</i>.</b></p>
<p class=MsoNormal style='text-align:justify'>На диаграмме указаны внешние исполнители
или <b><i>Бизнес-исполнители</i></b> (<span lang=EN-US>Actor</span>, на
диаграмме человек) и <b><i>Бизнес-прецеденты</i></b><i> </i>(<span lang=EN-US>Use</span><span
lang=EN-US> </span><span lang=EN-US>Case</span>, на диаграмме овал).
Бизнес-прецедент это некий процесс, происходящий на предприятии. Указанные
прецеденты слишком общие и требуют детализации. Рассмотрим бизнес-прецедент
«обслуживание клиента». Мы разобьем его на несколько менее обобщенных
процессов. Для этого выделим основные процессы предприятия, каким – либо
образом связанные с обслуживанием клиента.</p>
<p class=MsoNormal style='text-align:justify'> </p>
<p class=MsoNormal style='text-align:justify'><a name=Р11></a> </p>
<p class=MsoNormal align=center style='text-align:center'><img width=570
height=343 src="Морг.files/image002.jpg"></p>
<p class=MsoNormal align=center style='text-align:center'>Рис 1.2 Модель бизнес-прецедентов
«обслуживание клиента» на диаграмме вариантов использования.</p>
<p class=MsoNormal align=center style='text-align:center'> </p>
<p class=MsoNormal style='text-align:justify'> </p>
<p class=MsoNormal style='text-align:justify'>«Реализация клиента» это
объединение передачи в институт и передачи на кремацию. Я их решил объединить
т.к. они являются одним неразрывным бизнес-процессом.</p>
<p class=MsoNormal style='text-align:justify'> </p>
<p class=MsoNormal style='text-align:justify'><span style='font-size:10.0pt;
color:#6666FF'>Для четкого выявления прецедентов нужно чтобы каждый из них
соответствовал правилам описанными отцами </span><span lang=EN-US
style='font-size:10.0pt;color:#6666FF'>RUP</span><span lang=EN-US
style='font-size:10.0pt;color:#6666FF'> </span><span style='font-size:10.0pt;
color:#6666FF'>под аббревиатурой </span><b><span lang=EN-US style='font-size:
10.0pt;color:#6666FF'>WAVE</span></b><span style='font-size:10.0pt;color:#6666FF'>
:</span></p>
<p class=MsoNormal style='text-align:justify'><b><span lang=EN-US
style='font-size:10.0pt;color:#6666FF'>W</span></b><b><span style='font-size:
10.0pt;color:#6666FF'>(</span></b><b><span lang=EN-US style='font-size:10.0pt;
color:#6666FF'>What</span></b><b><span style='font-size:10.0pt;color:#6666FF'>)</span></b><span
style='font-size:10.0pt;color:#6666FF'> Прецедент должен описывать что нужно
делать, а не как.</span></p>
<p class=MsoNormal style='text-align:justify'><b><span lang=EN-US
style='font-size:10.0pt;color:#6666FF'>A</span></b><b><span style='font-size:
10.0pt;color:#6666FF'> (</span></b><b><span lang=EN-US style='font-size:10.0pt;
color:#6666FF'>Actor</span></b><b><span style='font-size:10.0pt;color:#6666FF'>)</span></b><span
style='font-size:10.0pt;color:#6666FF'> Прецедент должен быть описан с точки
зрения исполнителя.</span></p>
<p class=MsoNormal style='text-align:justify'><b><span lang=EN-US
style='font-size:10.0pt;color:#6666FF'>V</span></b><b><span style='font-size:
10.0pt;color:#6666FF'> (</span></b><b><span lang=EN-US style='font-size:10.0pt;
color:#6666FF'>Value</span></b><b><span style='font-size:10.0pt;color:#6666FF'>)</span></b><span
style='font-size:10.0pt;color:#6666FF'> Прецедент должен выдать исполнителю
некий результат.</span></p>
<p class=MsoNormal style='text-align:justify'><b><span lang=EN-US
style='font-size:10.0pt;color:#6666FF'>E</span></b><b><span style='font-size:
10.0pt;color:#6666FF'> (</span></b><b><span lang=EN-US style='font-size:10.0pt;
color:#6666FF'>Entire</span></b><b><span style='font-size:10.0pt;color:#6666FF'>)</span></b><span
style='font-size:10.0pt;color:#6666FF'> Последовательность событий должна
представлять собой один неделимый бизнес-процесс.</span></p>
<p class=MsoNormal style='text-align:justify'> </p>
<p class=MsoNormal style='text-align:justify'><span style='font-size:10.0pt;
color:#6666FF'>Я пока писал первую часть статьи, перерисовал её раз десять. И
ещё буду. Не надо стараться составить сразу идеальную модель и ступориться на
начальном этапе. Следующие этапы проектирования выявят ошибки в модели, и её можно
будет исправить.</span></p>
<p class=MsoNormal style='text-align:justify'><b> </b></p>
<p class=MsoNormal>Теперь опишем как выполняется каждый бизнес-прецедент.
Методом опроса исполнителей и т.д.</p>
<p class=MsoNormal style='text-align:justify'><b> </b></p>
<p class=MsoNormal style='text-align:justify'><b>Описание прецедента
«Реализация» глазами исполнителя:</b></p>
<p class=MsoNormal style='text-align:justify'>Регистратура смотрит записи о
клиентах, которые были помещены в ячейки более 20-ти дней назад и не отложены
заявкой МВД. Сравнивает их с заявками из института и составляет список
кандидатов, который по мылу отправляет в институт. Те смотрят список, и если
необходимость в некоторых кандидатах отпала, то их вычеркивают. Утвержденный
список из института отсылается обратно в регистратуру морга. Регистратура
составляет список всех, кого можно было сегодня сжечь, вычеркивает убывающих в
институт и добавляет тех, кого сожгут по желанию родственников. И передает
полученный список в крематорий. О том, что клиент был кремирован или отправлен
в институт, ставится соответствующая пометка в записях о клиентах.</p>
<p class=MsoNormal style='text-align:justify'> </p>
<p class=MsoNormal style='text-align:justify'>По этим данным мы строим <b><i>диаграмму
деятельности (activity diagram) бизнес-прецедента:</i></b></p>
<p class=MsoNormal style='text-align:justify'><span style='font-size:10.0pt;
color:#6666FF'>Ещё её называют диаграмма видов деятельности </span></p>
<p class=MsoNormal style='text-align:justify'><a name=Р12></a> </p>
<p class=MsoNormal align=center style='text-align:center'><img width=501
height=561 src="Морг.files/image003.jpg"></p>
<p class=MsoNormal align=center style='text-align:center'>Рис 1.3 Диаграмма деятельности
бизнес-прецедента «Реализация клиента»</p>
<p class=MsoNormal align=center style='text-align:center'> </p>
<p class=MsoNormal style='text-align:justify'>Немного похоже на схему
бизнес-процеса, только «плавательные дорожки» указывают, кто производит
действие. Прямоугольники с округлыми краями это Действия (<b><span lang=EN-US>Action</span></b>)
Точка – начало, точка в окружности – финал, горизонтальная черта разделяет
процесс, что означает различные варианты прохождения процесса.</p>
<p class=MsoNormal style='text-align:justify'><span style='font-size:10.0pt;
color:#6666FF'> </span></p>
<p class=MsoNormal style='text-align:justify'><span style='font-size:10.0pt;
color:#6666FF'>Как видно участие крематория в жизни записей довольно
сомнительное – он просто получает список.</span></p>
<p class=MsoNormal style='text-align:justify'> </p>
<p class=MsoNormal style='text-align:justify'>Уже на начальных этапах начинает
вырисовываться те или иные <b><i>Бизнес-сущности</i></b> будущей системы.
Бизнес-сущности это всё что используется внутренним исполнителем при
выполнении прецедента. Для нашей регистратуры это различные записи. Например,
сущности: «список кремации», «список переданных в институт», «записи о
клиентах».</p>
<p class=MsoNormal style='text-align:justify'>При построении системы одни
сущности перейдут в прикладные объекты, хранящиеся в базе (справочники,
документы и т.д.), а другие превратятся в результаты работы отчетов и т.д.</p>
<p class=MsoNormal style='text-align:justify'> </p>
<p class=MsoNormal style='text-align:justify'>Также приведем диаграмму видов
деятельности для прецедента «аренда клиента». По идее прецедент нужно было
разделить на выдачу и возврат, но в условии оговорено, что <b>возврат
выполняется без задержек и проблем.</b> Это условное упрощение для того, чтобы
статья не превратилась в книгу.</p>
<p class=MsoNormal style='text-align:justify'> </p>
<p class=MsoNormal align=center style='text-align:center'><img width=521
height=434 src="Морг.files/image004.jpg"></p>
<p class=MsoNormal align=center style='text-align:center'>Рис 1.4 Диаграмма
видов деятельности бизнес-прецедента «Аренда клиента»</p>
<p class=MsoNormal align=center style='text-align:center'> </p>
<p class=MsoNormal style='text-align:justify'>Описание: сотрудники МВД
подваливают в морг и требуют выдачи такого-то клиента, причем сразу указывают,
когда его вернут. Регистратура вносит пометку в записях о клиентах, что с
того-то по такое-то был на экспертизе. Клиента увозят и привозят назад в
указанную дату.</p>
<p class=MsoNormal style='text-align:justify'> </p>
<p class=MsoNormal style='text-align:justify'>Диаграммы деятельности остальных
прецедентов можно заценить в <a href="#_6._Приложение_1._Диаграммы">приложении
1.</a> </p>
<p class=MsoNormal style='text-align:justify'>Переходим к построению модели
бизнес объектов.</p>
<p class=MsoNormal style='text-align:justify'> </p>
<h2><a name="_Toc154487817">3.2 Модель бизнес-объектов.</a></h2>
<p class=MsoNormal style='text-align:justify'>Модель бизнес-объектов описывает
связь исполнителей с бизнес-сущностями присутствующими в организации. Нужна
она для того, чтобы выделить какие сущности есть, и кто с ними имеет дело.
Диаграмма называется <b><i>кооперативной (collaboration diagram).</i></b></p>
<p class=MsoNormal style='text-align:justify'><b> </b></p>
<p class=MsoNormal style='text-align:justify'><b>Модель бизнес-объектов для
прецедента «Реализация клиента»:</b></p>
<p class=MsoNormal style='text-align:justify'><a name=Р21></a> </p>
<p class=MsoNormal align=center style='text-align:center'><img border=0
width=482 height=328 src="Морг.files/image005.jpg"></p>
<p class=MsoNormal align=center style='text-align:center'>Рис 2.1 Модель
бизнес-объектов бизнес-прецедента «Реализация клиента» </p>
<p class=MsoNormal align=center style='text-align:center'> </p>
<p class=MsoNormal style='text-align:justify'>На ней ясно видно, что при
выполнении бизнес-прецедента «реализация клиента» регистратура использует
записи о клиентах, заявки института, заявки на кремацию, списки клиентов в
институт и списки клиентов к кремации.</p>
<p class=MsoNormal style='text-align:justify'>Для более детального моделирования
работы прецедента и взаимодействия исполнителей с сущностями строится <b>диаграмма
последовательности (</b><b><span lang=EN-US>sequence</span><span lang=EN-US> </span></b><b><span
lang=EN-US>diagram</span>)</b> бизнес-прецедента:</p>
<p class=MsoNormal style='text-align:justify'> </p>
<p class=MsoNormal align=center style='text-align:center'><img border=0
width=701 height=376 src="Морг.files/image006.jpg"></p>
<p class=MsoNormal align=center style='text-align:center'>Рис 2.2 Диаграмма
последовательности бизнес-прецедента «Реализация клиента»</p>
<p class=MsoNormal align=center style='text-align:center'> </p>
<p class=MsoNormal style='text-align:justify'>Диаграмма последовательности это
более продвинутая версия диаграммы деятельности <a href="#Р12">(Рис 1.3)</a>.</p>
<p class=MsoNormal style='text-align:justify'>Вверху рисуются
бизнес-исполнители и бизнес-сущности системы. От каждого вниз идет линия. Между
линиями стрелками рисуется взаимодействия между ними. Читается в порядке сверху
вниз.</p>
<p class=MsoNormal style='text-align:justify'>Безусловно, процедуры
формирования списков будут автоматизированы, но пока мы описываем модель «<span
lang=EN-US>AS</span>-<span lang=EN-US>IS</span>».</p>
<p class=MsoNormal style='text-align:justify'> </p>
<p class=MsoNormal style='text-align:justify'><b>Модель бизнес-объектов для
прецедента Поступление клиента на хранение:</b></p>
<p class=MsoNormal style='text-align:justify'> </p>
<p class=MsoNormal align=center style='text-align:center'><img border=0
width=389 height=248 src="Морг.files/image007.jpg"></p>
<p class=MsoNormal align=center style='text-align:center'>Рис 2.3 Модель
бизнес-объектов бизнес-прецедента «Поступление клиента на хранение»</p>
<p class=MsoNormal align=center style='text-align:center'> </p>
<p class=MsoNormal align=center style='text-align:center'><img border=0
width=573 height=347 src="Морг.files/image008.jpg"></p>
<p class=MsoNormal align=center style='text-align:center'>Рис 2.4 Диаграмма
последовательности бизнес-прецедента «Поступление клиента на хранение»</p>
<p class=MsoNormal align=center style='text-align:center'> </p>
<p class=MsoNormal style='text-align:justify'>И т.д по всем бизнес-прецедентам…</p>
<p class=MsoNormal style='text-align:justify'> </p>
<p class=MsoNormal style='text-align:justify'>Из этих данных можно отдельно
выделить список сущностей используемых в морге:</p>
<p class=MsoNormal style='text-align:justify'><a name=Р24></a> </p>
<p class=MsoNormal align=center style='text-align:center'><img border=0
width=466 height=181 src="Морг.files/image009.jpg"></p>
<p class=MsoNormal align=center style='text-align:center'>Рис 2.5 Бизнес
сущности используемые в проекте.</p>
<p class=MsoNormal style='text-align:justify'> </p>
<p class=MsoNormal style='text-align:justify'>Естественно это ещё не модель
нашей БД. Вообще в нашем скромном примере эти данные можно свободно получить
рассмотрев список документации в регистратуре, и с этого надо начинать, но так
легко выходит не всегда.</p>
<p class=MsoNormal style='text-align:justify'>После составления всей бизнес
модели, у нас есть полная информация о том, что происходит с записями
регистратуры в настоящий момент. Теперь пора узнать, что вообще от нас ожидают.</p>
<p class=MsoNormal style='text-align:justify'> </p>
<h1><a name="_Toc154487818">4. Определение функциональных требований.</a></h1>
<p class=MsoNormal>Автоматизация никогда не меняет состав и цели бизнес
процессов происходящих на объекте.</p>
<p class=MsoNormal><span style='font-size:10.0pt;color:#6699FF'> </span></p>
<p class=MsoNormal><span style='font-size:10.0pt;color:#6699FF'>Конечно, в ходе
моделирования могут быть выявлены неэффективные моменты в деятельности
организации (называется просто: «хаос в конторе», например, непонятно что и
зачем делает один перец, если то же самое делает чел за стенкой) и предложены
пути их устранения, но это не автоматизация, а наведение порядка.</span></p>
<p class=MsoNormal> </p>
<p class=MsoNormal>А это значит, что функциональные требования просто отражают
нашу построенную бизнес модель. Мы просто тщательно рассмотрим каждый
бизнес-прецедент с учетом использования будущей программной системы, и шаг за
шагом будем превращать бизнес-модели в системные модели.</p>
<p class=MsoNormal>В процессе определения требований мы получим структуру
конфигурации будущей ПС.</p>
<h2><a name="_Toc154487819">4.1 М<span class=keyword1>одель системных
прецедентов</span> для бизнес-прецедента</a></h2>
<p class=MsoNormal>Составляется для каждого бизнес-прецедента. Она описывает
бизнес-прецедент как определенные действия пользователя с программой и очень
похожа на модель бизнес-прецедентов. Для перехода от бизнес-моделей к
системным используется таблица определенная правилами <span lang=EN-US>RUP</span>:</p>
<p class=MsoNormal> </p>
<div align=center>
<table class=MsoTableGrid border=1 cellspacing=0 cellpadding=0
style='border-collapse:collapse;border:none'>
<tr>
<td width=319 valign=top style='width:239.25pt;border:solid windowtext 1.0pt;
background:#B3B3B3;padding:0cm 5.4pt 0cm 5.4pt'>
<p class=MsoNormal><b>Модель бизнес-прецедентов</b></p>
</td>
<td width=319 valign=top style='width:239.3pt;border:solid windowtext 1.0pt;
border-left:none;background:#B3B3B3;padding:0cm 5.4pt 0cm 5.4pt'>
<p class=MsoNormal><b>Модель системных прецедентов</b></p>
</td>
</tr>
<tr>
<td width=319 valign=top style='width:239.25pt;border:solid windowtext 1.0pt;
border-top:none;background:#F3F3F3;padding:0cm 5.4pt 0cm 5.4pt'>
<p class=MsoNormal>Прецеденты</p>
</td>
<td width=319 valign=top style='width:239.3pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
background:#F3F3F3;padding:0cm 5.4pt 0cm 5.4pt'>
<p class=MsoNormal>Подсистемы</p>
</td>
</tr>
<tr>
<td width=319 valign=top style='width:239.25pt;border:solid windowtext 1.0pt;
border-top:none;background:#F3F3F3;padding:0cm 5.4pt 0cm 5.4pt'>
<p class=MsoNormal>Внешние исполнители</p>
</td>
<td width=319 valign=top style='width:239.3pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
background:#F3F3F3;padding:0cm 5.4pt 0cm 5.4pt'>
<p class=MsoNormal>Исполнители</p>
</td>
</tr>
<tr>
<td width=319 valign=top style='width:239.25pt;border:solid windowtext 1.0pt;
border-top:none;background:#F3F3F3;padding:0cm 5.4pt 0cm 5.4pt'>
<p class=MsoNormal>Внутренние исполнители</p>
</td>
<td width=319 valign=top style='width:239.3pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
background:#F3F3F3;padding:0cm 5.4pt 0cm 5.4pt'>
<p class=MsoNormal>Исполнители или прецеденты</p>
</td>
</tr>
<tr>
<td width=319 valign=top style='width:239.25pt;border:solid windowtext 1.0pt;
border-top:none;background:#F3F3F3;padding:0cm 5.4pt 0cm 5.4pt'>
<p class=MsoNormal><span style='font-size:10.0pt;font-family:Verdana;
color:black'>Процессы, выполняемые внутренними исполнителями</span></p>
</td>
<td width=319 valign=top style='width:239.3pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
background:#F3F3F3;padding:0cm 5.4pt 0cm 5.4pt'>
<p class=MsoNormal>Прецеденты</p>
</td>
</tr>
</table>
</div>
<p class=MsoNormal align=center style='text-align:center'>Рис 3.1 Таблица
конвертации из модели бизнес-прецедентов в модель системных прецедентов</p>
<p class=MsoNormal> </p>
<p class=MsoNormal>«Подсистемы» в данном контексте и «подсистемы» в
конфигурации 1С одинаковы не только в написании.</p>
<p class=MsoNormal>Создаем в конфигураторе подсистему «обслуживание клиента» и
8 подчиненных подсистем согласно каждому бизнес-прецеденту. В крупных системах
бизнес прецеденты <a href="#Р11">(Рис 1.2)</a> могут несколько раз разбиваться
мелкие прецеденты. В таком случае иерархия подсистем имеет больше уровней.</p>
<p class=MsoNormal> </p>
<p class=MsoNormal> </p>
<p class=MsoNormal>Построим модель системных прецедентов для бизнес-прецедента
«Реализация клиента»:</p>
<p class=MsoNormal align=center style='text-align:center'><img border=0
width=351 height=220 src="Морг.files/image010.jpg"></p>
<p class=MsoNormal align=center style='text-align:center'>Рис 3.2 Модель системных
прецедентов</p>
<p class=MsoNormal> </p>
<p class=MsoNormal>Модель получилась совсем простой. Но мы не ищем сложных
путей.</p>
<p class=MsoNormal>Бизнес прецедент «Реализация клиента» я разбил на три
системных прецедента по разным действиям, производимым пользователем с
программой. Ниже о них рассказано подробней. </p>
<p class=MsoNormal> </p>
<h2><a name="_Toc154487820">4.2 Описание системного прецедента</a> </h2>
<p class=MsoNormal>Когда пользователь долго мне потрошит мозг о том, как
корабли бороздят космическое пространство, пытаясь объяснить мне, что хочет, я
в большинстве случаев ничего не понимаю. А потом просто спрашиваю, что ты
хочешь видеть на экране, как ты будешь данные вводить и в каком виде получать.
Порядок действий. То, что я пишу на салфетке по его словам, есть <i>основная
последовательность действий бизнес-прецедента</i>. А потом спрашиваю, а если
там не так пошло? Ну, тогда… </p>
<p class=MsoNormal>Тогда получается <i>альтернативная последовательность
действий.</i></p>
<p class=MsoNormal><span style='font-size:10.0pt;color:#6699FF'> </span></p>
<p class=MsoNormal><span style='font-size:10.0pt;color:#6699FF'>Вообще
пользователь последний человек, который знает, как он хочет взаимодействовать с
системой. Последовательности придумывает проектировщик. Но когда заставляешь
пользователя пофантазировать на эту тему, он выдает много полезной информации.
Плюс зачастую он сам начинает лучше соображать, чего хотелось бы от
нововведения и чего стоит ожидать.</span></p>
<p class=MsoNormal> </p>
<p class=MsoNormal>А если заморачиваться серьезно, то описание содержит:</p>
<p class=MsoNormal> </p>
<p class=MsoNormal>- заголовок (название прецедента, ответственный за исполнение,
дата создания шаблона/внесения изменений); </p>
<p class=MsoNormal>- краткое описание прецедента; </p>
<p class=MsoNormal>- предусловия (необходимое состояние системы или условия,
при которых должен выполняться прецедент); </p>
<p class=MsoNormal>- постусловия (возможные состояния системы после выполнения
прецедента); </p>
<p class=MsoNormal>- предположения; </p>
<p class=MsoNormal>- основная последовательность действий; </p>
<p class=MsoNormal>- альтернативные последовательности действий и условия, их
инициирующие; </p>
<p class=MsoNormal>- точки расширения и включения прецедентов</p>
<p class=MsoNormal> </p>
<p class=MsoNormal>Для ёмких прецедентов возможно и стоит отписать несколько
листов, но я обычно ограничиваюсь (моё субъективное мнение) парой строчек на
пункт плюс всякие особенности которые удалось выудить из юзера. Нужно
записывать и конспектировать всё важное, что говорит юзер. Вы вот забудете о
том, что он говорил, а он нет, и второй раз не скажет.</p>
<p class=MsoNormal> </p>
<p class=MsoNormal>Опишем системные прецеденты «Сформировать <span lang=EN-US>XLS</span><span
lang=EN-US> </span>список в институт» и «внести данные по институту»:</p>
<p class=MsoNormal>Словом «ЮзерР» (это то что раньше было исполнителем
«Регистратура») будем называть работника регистратуры - будущего пользователя
системы. Поскольку он один, то и роль в конфигурации будет... две. Без
администратора никуда :). </p>
<p class=MsoNormal> </p>
<table class=MsoTableGrid border=1 cellspacing=0 cellpadding=0 width="100%"
style='width:100.0%;border-collapse:collapse;border:none'>
<tr>
<td width="100%" valign=top style='width:100.0%;border:solid windowtext 1.0pt;
background:#B3B3B3;padding:0cm 5.4pt 0cm 5.4pt'>
<p class=MsoNormal><b><span style='font-size:14.0pt'>Прецедент: Сформировать </span></b><b><span
lang=EN-US style='font-size:14.0pt'>XLS</span></b><b><span lang=EN-US
style='font-size:14.0pt'> </span></b><b><span style='font-size:14.0pt'>список
в институт</span></b></p>
</td>
</tr>
<tr>
<td width="100%" valign=top style='width:100.0%;border:solid windowtext 1.0pt;
border-top:none;background:#F3F3F3;padding:0cm 5.4pt 0cm 5.4pt'>
<p class=MsoNormal><b>Описание:</b> </p>
<p class=MsoNormal>Процесс формирования файла формата <span lang=EN-US>EXCEL</span><span
lang=EN-US> </span>со списком клиентов, отправляемых в институт. Файл
направляется в институт для корректировки.</p>
</td>
</tr>
<tr>
<td width="100%" valign=top style='width:100.0%;border:solid windowtext 1.0pt;
border-top:none;background:#F3F3F3;padding:0cm 5.4pt 0cm 5.4pt'>
<p class=MsoNormal><b>Основная последовательность действий:</b></p>
<ol style='margin-top:0cm' start=1 type=1>
<li class=MsoNormal>ЮзерР открывает форму обработки </li>
<li class=MsoNormal>ЮзерР указывает, куда сохранить будущий файл и нажимает
кнопку создать файл.</li>
<li class=MsoNormal>ЮзерР оповещается о результате.</li>
</ol>
</td>
</tr>
</table>
<p class=MsoNormal> </p>
<p class=MsoNormal> </p>
<p class=MsoNormal> </p>
<table class=MsoTableGrid border=1 cellspacing=0 cellpadding=0 width="100%"
style='width:100.0%;border-collapse:collapse;border:none'>
<tr>
<td width="100%" valign=top style='width:100.0%;border:solid windowtext 1.0pt;
background:#B3B3B3;padding:0cm 5.4pt 0cm 5.4pt'>
<p class=MsoNormal><b><span style='font-size:14.0pt'>Прецедент: Внести данные
по институту.</span></b></p>
</td>
</tr>
<tr>
<td width="100%" valign=top style='width:100.0%;border:solid windowtext 1.0pt;
border-top:none;background:#F3F3F3;padding:0cm 5.4pt 0cm 5.4pt'>
<p class=MsoNormal><b>Описание:</b> </p>
<p class=MsoNormal>Процесс ввода утвержденной информации о клиентах
поступающих в институт. В результате пользователь получает готовый список
кремации.</p>
</td>
</tr>
<tr>
<td width="100%" valign=top style='width:100.0%;border:solid windowtext 1.0pt;
border-top:none;background:#F3F3F3;padding:0cm 5.4pt 0cm 5.4pt'>
<p class=MsoNormal><b>Основная последовательность действий:</b></p>
<p class=MsoNormal><b>Условие: ЮзерР получил отредактированный файл.
Исключение1: Не получил.</b></p>
<ol style='margin-top:0cm' start=1 type=1>
<li class=MsoNormal>ЮзерР выбирает в обработке путь к файлу.</li>
<li class=MsoNormal>ЮзерР нажимает «анализ».</li>
<li class=MsoNormal>ЮзерР получает на экран список к кремации, который может
распечатать.</li>
</ol>
</td>
</tr>
<tr>
<td width="100%" valign=top style='width:100.0%;border:solid windowtext 1.0pt;
border-top:none;background:#F3F3F3;padding:0cm 5.4pt 0cm 5.4pt'>
<p class=MsoNormal><b>Альтернативные последовательности действий:</b></p>
<p class=MsoNormal><b> </b> <b>Исключение1 </b>: ЮзерР не получил в ответ
отредактированный файл. </p>
<p class=MsoNormal> Примечание: В этом случае считается, что институт на
сегодня в клиентах не нуждается. </p>
<ol style='margin-top:0cm' start=1 type=1>
<li class=MsoNormal>ЮзерР указывает обработке на отсутствие файла (возможно
пункт меню обработки).</li>
<li class=MsoNormal>ЮзерР получает на экран список к кремации, который может
распечатать.</li>
</ol>
</td>
</tr>
</table>
<p class=MsoNormal> </p>
<h2><a name="_Toc154487821">4.3 Диаграммы последовательностей для системного
прецедента.</a></h2>
<p class=MsoNormal>В ходе детального определения требований и рассмотрения
системных прецедентов, мы получим перечень объектов конфигурации. </p>
<p class=MsoNormal> </p>
<p class=MsoNormal>Когда я выделял объекты по требованиям, мне в голову пришла
мысль использовать такое явное видение использования прикладных объектов, для
того чтобы заранее распределить их по подсистемам.</p>
<p class=MsoNormal> Создаем <b><i>таблицу объектов-подсистем</i></b>:</p>
<p class=MsoNormal> </p>
<div align=center>
<table class=MsoTableGrid border=1 cellspacing=0 cellpadding=0
style='border-collapse:collapse;border:none'>
<tr>
<td width=140 valign=top style='width:105.3pt;border:solid windowtext 1.0pt;
background:silver;padding:0cm 5.4pt 0cm 5.4pt'>
<p class=MsoNormal>Объект/Прецедент</p>
</td>
<td width=128 valign=top style='width:95.7pt;border:solid windowtext 1.0pt;
border-left:none;background:#CBD6F5;padding:0cm 5.4pt 0cm 5.4pt'>
<p class=MsoNormal align=center style='text-align:center'>Вывоз на
захоронение</p>
</td>
<td width=128 valign=top style='width:95.7pt;border:solid windowtext 1.0pt;
border-left:none;background:#CBD6F5;padding:0cm 5.4pt 0cm 5.4pt'>
<p class=MsoNormal align=center style='text-align:center'>Реализация клиента</p>
</td>
<td width=128 valign=top style='width:95.7pt;border:solid windowtext 1.0pt;
border-left:none;background:#CBD6F5;padding:0cm 5.4pt 0cm 5.4pt'>
<p class=MsoNormal align=center style='text-align:center'>…</p>
</td>
<td width=128 valign=top style='width:95.75pt;border:solid windowtext 1.0pt;
border-left:none;background:#CBD6F5;padding:0cm 5.4pt 0cm 5.4pt'>
<p class=MsoNormal align=center style='text-align:center'>и т.д.</p>
</td>
</tr>
<tr>
<td width=651 colspan=5 valign=top style='width:488.15pt;border:solid windowtext 1.0pt;
border-top:none;background:#CCFFFF;padding:0cm 5.4pt 0cm 5.4pt'>
<p class=MsoNormal>Справочники</p>
</td>
</tr>
<tr>
<td width=140 valign=top style='width:105.3pt;border:solid windowtext 1.0pt;
border-top:none;background:#CCCCFF;padding:0cm 5.4pt 0cm 5.4pt'>
<p class=MsoNormal>Спр1 </p>
</td>
<td width=128 valign=top style='width:95.7pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0cm 5.4pt 0cm 5.4pt'>
<p class=MsoNormal align=center style='text-align:center'>Х</p>
</td>
<td width=128 valign=top style='width:95.7pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0cm 5.4pt 0cm 5.4pt'>
<p class=MsoNormal> </p>
</td>
<td width=128 valign=top style='width:95.7pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0cm 5.4pt 0cm 5.4pt'>
<p class=MsoNormal> </p>
</td>
<td width=128 valign=top style='width:95.75pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0cm 5.4pt 0cm 5.4pt'>
<p class=MsoNormal> </p>
</td>
</tr>
<tr>
<td width=140 valign=top style='width:105.3pt;border:solid windowtext 1.0pt;
border-top:none;background:#CCCCFF;padding:0cm 5.4pt 0cm 5.4pt'>
<p class=MsoNormal>Спр2</p>
</td>
<td width=128 valign=top style='width:95.7pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0cm 5.4pt 0cm 5.4pt'>
<p class=MsoNormal align=center style='text-align:center'>Х</p>
</td>
<td width=128 valign=top style='width:95.7pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0cm 5.4pt 0cm 5.4pt'>
<p class=MsoNormal align=center style='text-align:center'>Х</p>
</td>
<td width=128 valign=top style='width:95.7pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0cm 5.4pt 0cm 5.4pt'>
<p class=MsoNormal> </p>
</td>
<td width=128 valign=top style='width:95.75pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0cm 5.4pt 0cm 5.4pt'>
<p class=MsoNormal> </p>
</td>
</tr>
<tr>
<td width=651 colspan=5 valign=top style='width:488.15pt;border:solid windowtext 1.0pt;
border-top:none;background:#CCFFFF;padding:0cm 5.4pt 0cm 5.4pt'>
<p class=MsoNormal>Документы</p>
</td>
</tr>
<tr>
<td width=140 valign=top style='width:105.3pt;border:solid windowtext 1.0pt;
border-top:none;background:#CCCCFF;padding:0cm 5.4pt 0cm 5.4pt'>
<p class=MsoNormal>…</p>
</td>
<td width=128 valign=top style='width:95.7pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0cm 5.4pt 0cm 5.4pt'>
<p class=MsoNormal> </p>
</td>
<td width=128 valign=top style='width:95.7pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0cm 5.4pt 0cm 5.4pt'>
<p class=MsoNormal> </p>
</td>
<td width=128 valign=top style='width:95.7pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0cm 5.4pt 0cm 5.4pt'>
<p class=MsoNormal> </p>
</td>
<td width=128 valign=top style='width:95.75pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0cm 5.4pt 0cm 5.4pt'>
<p class=MsoNormal> </p>
</td>
</tr>
<tr style='height:11.0pt'>
<td width=651 colspan=5 valign=top style='width:488.15pt;border:solid windowtext 1.0pt;
border-top:none;background:#CCFFFF;padding:0cm 5.4pt 0cm 5.4pt;height:11.0pt'>
<p class=MsoNormal>Обработки</p>
</td>
</tr>
</table>
</div>
<p class=MsoNormal align=center style='text-align:center'>Рис 3.3 Таблица соответствия
объектов конфигурации бизнес-прецедентам (подсистемам конфигурации)</p>
<p class=MsoNormal> </p>
<p class=MsoNormal>А потом оказалось это ещё и хорошая возможность распределить
объекты по правам доступа на роли.</p>
<p class=MsoNormal>Создаем <b><i>таблицу объектов-ролей</i></b>, она также
здорово поможет при построении меню:</p>
<p class=MsoNormal> </p>
<div align=center>
<table class=MsoTableGrid border=1 cellspacing=0 cellpadding=0
style='border-collapse:collapse;border:none'>
<tr>
<td width=140 rowspan=2 valign=top style='width:105.3pt;border:solid windowtext 1.0pt;
background:silver;padding:0cm 5.4pt 0cm 5.4pt'>
<p class=MsoNormal>Объект/Роль</p>
</td>
<td width=510 colspan=5 valign=top style='width:382.85pt;border:solid windowtext 1.0pt;
border-left:none;background:#CBD6F5;padding:0cm 5.4pt 0cm 5.4pt'>
<p class=MsoNormal align=center style='text-align:center'>РаботникРегистратуры
(ЮзерР)</p>
</td>
</tr>
<tr>
<td width=105 valign=top style='width:78.8pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
background:#CBD6F5;padding:0cm 5.4pt 0cm 5.4pt'>
<p class=MsoNormal align=center style='text-align:center'>Чтение</p>
</td>
<td width=111 valign=top style='width:83.55pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
background:#CBD6F5;padding:0cm 5.4pt 0cm 5.4pt'>
<p class=MsoNormal align=center style='text-align:center'>Добавление</p>
</td>
<td width=93 valign=top style='width:69.45pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
background:#CBD6F5;padding:0cm 5.4pt 0cm 5.4pt'>
<p class=MsoNormal>Изменение</p>
</td>
<td width=84 valign=top style='width:63.0pt;border-top:none;border-left:none;
border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
background:#CBD6F5;padding:0cm 5.4pt 0cm 5.4pt'>
<p class=MsoNormal align=center style='text-align:center'>…</p>
</td>
<td width=117 valign=top style='width:88.05pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
background:#CBD6F5;padding:0cm 5.4pt 0cm 5.4pt'>
<p class=MsoNormal align=center style='text-align:center'>и т.д.</p>
</td>
</tr>
<tr>
<td width=651 colspan=6 valign=top style='width:488.15pt;border:solid windowtext 1.0pt;
border-top:none;background:#CCFFFF;padding:0cm 5.4pt 0cm 5.4pt'>
<p class=MsoNormal>Справочники</p>
</td>
</tr>
<tr>
<td width=140 valign=top style='width:105.3pt;border:solid windowtext 1.0pt;
border-top:none;background:#CCCCFF;padding:0cm 5.4pt 0cm 5.4pt'>
<p class=MsoNormal>Спр1 </p>
</td>
<td width=105 valign=top style='width:78.8pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0cm 5.4pt 0cm 5.4pt'>
<p class=MsoNormal align=center style='text-align:center'>Х</p>
</td>
<td width=111 valign=top style='width:83.55pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0cm 5.4pt 0cm 5.4pt'>
<p class=MsoNormal> </p>
</td>
<td width=93 valign=top style='width:69.45pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0cm 5.4pt 0cm 5.4pt'>
<p class=MsoNormal> </p>
</td>
<td width=84 valign=top style='width:63.0pt;border-top:none;border-left:none;
border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0cm 5.4pt 0cm 5.4pt'>
<p class=MsoNormal> </p>
</td>
<td width=117 valign=top style='width:88.05pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0cm 5.4pt 0cm 5.4pt'>
<p class=MsoNormal> </p>
</td>
</tr>
<tr>
<td width=140 valign=top style='width:105.3pt;border:solid windowtext 1.0pt;
border-top:none;background:#CCCCFF;padding:0cm 5.4pt 0cm 5.4pt'>
<p class=MsoNormal>Спр2</p>
</td>
<td width=105 valign=top style='width:78.8pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0cm 5.4pt 0cm 5.4pt'>
<p class=MsoNormal align=center style='text-align:center'>Х</p>
</td>
<td width=111 valign=top style='width:83.55pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0cm 5.4pt 0cm 5.4pt'>
<p class=MsoNormal align=center style='text-align:center'>Х</p>
</td>
<td width=93 valign=top style='width:69.45pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0cm 5.4pt 0cm 5.4pt'>
<p class=MsoNormal> </p>
</td>
<td width=84 valign=top style='width:63.0pt;border-top:none;border-left:none;
border-bottom:solid windowtext 1.0pt;border-right |