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

 

Технологии от BoldSoft: новый взгляд на проектирование ИС

Константин Берлинский

30.11.2002

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

Таким фактором являются изменяющиеся требования бизнеса и, соответственно, наличие в системе огромного числа сложных и хаотично переплетённых бизнес-правил. Если на начальном этапе построения ИС они занимают сравнительно небольшое время для изучения, то этап развития становится настоящим "кошмаром сопровождения", увеличивая энтропию продукта и ведущее к его устареванию и разрушению.

На данный момент, наиболее популярным инструментом построения офисных приложений в СНГ, является, по моему мнению, Borland Delphi. И многих разработчиков наверняка заинтересуют продукты, интегрируемые с этой средой, для решения вышеуказанной проблемы. Самую развитую технологию предоставляет сейчас компания BoldSoft из Швеции. Ниже будет дан общий обзор архитектуры, созданной этой перспективной компанией, кстати, недавно включённой в состав Borland Software Corporation. [1]

Приложение, на основе которого будет дан анализ, взято из учебных материалов, доступных на сайте BoldSoft [2]. Это программа по управлению человеческими ресурсами компании. Далее представлена UML-модель приложения "HRManager", построенная в Rational Rose (рис.1).

Рисунок описывает следующие концепции АИС:

  • существуют компании (Company) и её отделения (Department);
  • отделения являются бизнес-подразделениями (BusinessUnit) компаний;
  • компании и отделения производные от понятия "рабочее место" (WorkPlace);
  • служащие (Employee) работают (worksFor) в отделении, причём один из них является менеджером (manager), т.е. управляет (manages) служащими своего отделения;
  • менеджер может управлять несколькими отделениями;
  • для менеджера в любой момент времени доступен список работников тех подразделений, которыми он управляет;
  • для каждого работника известны данные человека, которым он управляется (Managed By);
  • служащие (employs) образуют группу работников (Employment);
  • менеджеры образуют группу управляющих (Management);
  • работники отделений компании образуют её рабочую силу (WorkForce);
  • компании и отделения имеют названия (name) и атрибут, показывающий ежемесячные затраты (monthlyCost), складывающиеся из суммы зарплат за месяц (monthlySalary) работников штатной единицы;
  • должна быть возможность одновременного изменения зарплаты (AdjustSalary) всем работникам штатной единицы на определённый процент (Percent);
  • для каждого отделения устанавливается пороговое значение высокой зарплаты (highSalaryThreshold) и служащие, достигшие этого порога, считаются высокооплачиваемыми (highlyPaidEmployees);
  • в каждой компании есть список высокооплачиваемых сотрудников (TopSalaries);
  • работник характеризуется именем (firstName), фамилией (lastName) и полным именем (fullName), образуемое как имя и фамилия, записанных через пробел.

Надо признать, что требования к системе, выполненные в виде качественно сделанного текста на английском языке, напрямую превращаются в классы модели (обычно, подлежащее предложений), их атрибуты (существительные) и методы (сказуемое и глаголы), а также связи между ними (существительные).

Классы Company и Department унаследованы от класса WorkPlace (реализуются бизнес-правила № 1 и 3).

Класс HRClassesRoot является суперклассом для WorkPlace и Employee.

Описание остальных связей модели приведено ниже (таб. 1).

Таблица 1 – Семантическое описание связей модели

RoleA

RoleB

Название

N

Название

N

1.

BusinessUnit

company

1

departments

0..*

2

2.

Management

manager

0..1

manages

0..*

4,5 и 9

3.

Employment

employs

0..*

worksFor

0..1

4 и 8

4.

Managed By

manager

0..1

employees

0..*

6 и 7

5.

Workforce

employer

0..1

employees

0..*

10

6.

TopSalaries

highPaying
Employer

0

highlyPaid
Employees

0..*

13 и 14

N – множественность связи.

Бизнес-правило №11 реализуют атрибуты классов WorkPlace/monthlyCost и Employee/monthlySalary соответственно. БП №12 обеспечивается наличием метода WorkPlace/AdjustSalary(Percent: Integer). И, наконец, последнее БП №15 выполняется с помощью полей класса Employee – firstName, lastName, fullName и специального OCL-выражения, автоматически вычисляющего полное имя служащего.

Для того чтобы использовать настройки BoldSoft, командой из среды Rational Rose "Tools/Model Properties/Replace" необходимо подгрузить специальный файл (обычно это \\…\BoldSoft\BfDR31D6Ent\Rose\BfD.pty). После этого, для каждой связи, при необходимости, нужно открыть раздел её свойств и записать в поля BoldA/DerivationOCL и BoldB/DerivationOCL OCL-выражения, соответствующие определённым БП.

Список необходимых OCL-выражений, приведён далее (таб. 2).

Таблица 2 – OCL-выражения для ассоциативных связей

Название ассоциации

OCL-выражение для RoleA

OCL-выражение для RoleB

1.

Managed By

manages.employs

worksFor.manager

2.

Workforce

worksFor.company

departments.employs

3.

TopSalaries

Employee.emptyList

-

Необходимо также настроить параметры, специфичные для BoldSoft (DeleteAction, Embed, ExpressionName) и выполнить другие, достаточно простые действия, для получения функционального приложения [2].

Хотелось бы обратить внимание на то, что построение аналитической модели – "каркаса" проекта одинаково возможно как в среде Borland Delphi - через встроенный Bold UML Model Editor (рис. 2), так и в самой Rose. Во втором случае, необходимо чтобы в проекте Delphi в обязательном порядке присутствовали компоненты BoldModel и BoldUMLRoseLink.

После этого можно реализовывать процесс "round-trip engineering" (поочередное обновление модели или программного кода). Команда редактора "Export via Link" обновляет модель из кода, "Import via Link" производит обратный процесс. Таким образом, синхронизируется дизайн системы и её реализация, эффективно используются как многочисленные возможности визуальных сред разработки (например, Borland Delphi или C++ Builder), так и мощь CASE-инструментов построения моделей (например, Rational Rose).

Когда аналитическая модель построена, остается только разместить нужные компоненты на формах и настроить свойства соответствующих объектов [2]. Конечный результат приведён на рис. 3.

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

Возможно динамическое изменение уровня, достигнув который, работники подразделения считаются высокооплачиваемыми (атрибут highSalaryThreshold). При этом, программа запоминает все установленные настройки и при последующей загрузке восстанавливает их. Для каждого экземпляра класса, Bold "по умолчанию" поддерживает возможность просмотра его атрибутов. Так, например, двойным кликом по служащему можно вызвать форму, где указаны его свойства и параметры установленных связей (рис. 4).

В учебном примере, для того, чтобы не "нагружать" приложение ненужными подробностями взаимодействия с базами данных, введённая информация сохраняется в XML-файл. Однако Bold, с одинаковой легкостью, позволяет генерировать схему БД. Для того чтобы этим воспользоваться, необходимо создать алиас (например, в SQL Explorer), а затем, командой в редакторе модели "Tools/Generate Database", сгенерировать структуру БД (рис. 5).

При создании физической модели базы, Bold основывается на атрибутах классов модели и, кроме того, добавляет служебные таблицы и поля (рис. 6).

В заключение хотелось бы отметить, что, несмотря на некоторые недостатки, свойственные любой молодой и развивающейся технологии, архитектура Bold обладает значительным потенциалом и отличными перспективами. Основными достоинствами Bold, являются:

  • единое хранилище бизнес-правил ИС, что значительно облегчает их создание и дальнейшее сопровождение;
  • бизнес-логика ИС преобразуется в связи между классами и описывается с помощью языка OCL, а не рассеяна по DB-компонентам, обработчику ApplicationEvents.OnIdle() и различным функциям OnClick() и OnChange();
  • хорошая интеграция с CASE-инструментарием Rational Rose – популярным средством моделирования бизнес-процессов;
  • качественное выполнение кодогенерации и реинжиниринга;
  • "прозрачное" отображение сущностей модели и их связей на компоненты Bold в Delphi/C++Builder;
  • поддержка "вычисляемых" полей;
  • генерация схемы БД, основанной на модели классов.

Опытный читатель-практик, несомненно, найдёт и другие полезные возможности BoldSoft. Пока же остается надеяться, что компания Borland, "доведёт до ума" эту, безо всякого сомнения, перспективную архитектуру, и многочисленные разработчики получат долгожданную возможность "правильного" проектирования, основанного на бизнес-объектах, а не на устаревшей практике разработок в стиле "code and fix".

Литература

http://www.borland.com/l

http://doc.boldsoft.com/

Константин Берлинский (berlicon@yahoo.com) — системный аналитик Департамента информационных технологий при Правительстве Республики Молдова (Кишинев).

 

Книга «Менеджмент по нотам» под редакцией Льва Григорьева
Книга «Менеджмент по нотам» под редакцией Льва Григорьева
Каждый руководитель хочет, чтобы компания работала как единый слаженный механизм, а изменения проходили в нужном направлении, четко и без задержек. Достичь этого можно, если выстроить работу фирмы с использованием методов бизнес-инжиниринга, благодаря которым цели, процессы, оргструктура и задачи сотрудников сведены в понятную и прозрачную для всех систему и каждое организационное решение вытекает из видения целого.
подробнее
Ближайшие семинары
Практический курс по моделированию бизнес-процессов в среде ОРГ-МАСТЕР®
Семинар адресован специалистам, заинтересованным в постановке на своем предприятии регулярного менеджмента: современных средств моделирования и совершенствования бизнес-процессов, улучшения общей модели деятельности, построения компьютерной системы формирования и управления организационными регламентами.
Слушатели семинара получат полное представление о новейших технологиях бизнес-инжиниринга, опирающихся на ОРГ-МАСТЕР® - уникальный программный продукт, созданный специалистами "Бизнес Инжиниринг Групп", который успешно эксплуатируется более чем на 500 российских компаниях.
подробнее
Почему процессное управление не приживается в России. И внедрений мало, и не эффективно, и поверхностно. Как преодолеть сложившуюся ситуацию?
БИГ-СПб приглашает на новый цикл семинаров Школы Бизнес-Инжиниринга «Управление конкурентоспособностью предприятия – от процессного к архитектурному подходу»
Сроки проведения цикла семинаров — 22-26 мая 2017 г.
подробнее
SpyLOG
TopList
Бизнес Инжиниринг Групп Новости Подписка Контакт Поиск

© 2001—2016, Business Service Association.

design by Art Engineering