Business Engineering Group | Главная страница Бизнес Инжиниринг Групп | Главная страница Написать письмо Написать письмо Карта сервера Карта сайта
Бизнес Инжиниринг Групп
ЧаВо Форум Контакты Прайс
ЧаВо
Форум
Контакты
Прайс
О фирме
Консалтинг
Обучение
Инструменты
Клиенты
е-Государство
Теория
Публикации
Методология бизнес-инжиниринга

Стратегия

Структуры

Процессы

Персонал

Финансы

Логистика

Маркетинг

Менеджмент качества

Менеджмент знаний

Информационные технологии

Библиотека избранных статей по менеджменту

Общие концепции современного менеджмента
Методологии бизнес-инжиниринга и бизнес-моделирования
Стратегическое управление
Организационное проектирование. Управление процессами и проектами.
Организационная культура и организационное поведение. Управление персоналом.
Логистика и управление производством
Финансовый менеджмент. Управленческий учет, бюджетирование.
Современный маркетинг
Менеджмент качества
Менеджмент знаний
Информационные технологии
Управленческий консалтинг
Краткий словарь терминов современного менеджмента

Задайте нам вопрос

Имя:

Компания:

Телефон:

E-mail:

Вопрос:
Введите число на рисунке:
Ближайшие семинары
Моделирование стратегии сегодня: видение, дерево целей, сбалансированная система показателей, процессы и проекты развития. Как связать это в единой модели? Об этом на семинарах «Бизнес Инжиниринг Групп»
подробнее подробнее...
Главная | Публикации | Библиотека избранных статей по менеджменту | Информационные технологии

Технологии от 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) — системный аналитик Департамента информационных технологий при Правительстве Республики Молдова (Кишинев).

 

Ждем ваших звонков:
+7 (812) 6703162
191015, Россия, Санкт-Петербург,
Фуражный пер., д.3
© 1999-2019 Бизнес Инжиниринг Групп
Написать письмо в службу поддержки сайта Бизнес Инжиниринг Групп
admin@bigc.ru www.bigc.ru  
  Рейтинг@Mail.ru
Главная Новости Контакты Поиск Персональный раздел
© 2006-2007 Разработка сайта - компания Lenvendo Работает на “1С-Битрикс: Управление сайтом”