Методы объектно-ориентированного анализа предметной области
Предварительные замечания. Большинство современных системпрограммирования реализует объектно-ориентированные технологии создания программного обеспечения. Для лучшего согласования этих технологий программирования с проектными процессамисозданы объектно-ориентированные методологии проектирования.
В настоящее время основой объектно-ориентированных методологий является UnifiedModelingLanguage (UML) – унифицированный язык графического описания объектных моделей, созданныйдля разработки ПО и успешно применяемый при проектировании
ИС. Одной из наиболее популярных объектно-ориентированныхметодологий проектирования программного обеспечения являетсяRationalUnifiedProcess (RUP) – методология, предложенная компанией RationalSoftware.
В объектно-ориентированной методологии проектирования вместо диаграмм потоков данных используются диаграммы прецедентов(вариантов использования), а вместо диаграмм сущностей и связей – диаграммы классов.
Диаграммы вариантов использования информационно беднее соответствующих диаграмм потоков данных, потому что в них процессы и хранилища объединяются в единые конструкции, называемые вариантами использования.
Вариант использования – это описание последовательности действий, выполняемых системой в ответ на внешние воздействия.
Некоторые диаграммы UML создаются в процессе разработки ИС несколько раз:
1) как средство представления предметной области во время ее обследования и выяснения потребности заказчика – это бизнес-диаграммы, создаваемые на фазе, называемой: «Анализ», этап «Обследование» (базовая терминология SADT); «Формирование требований (терминология ГОСТ 34.601–90); «Начало», процесс «Бизнес-моделирование» (терминология RUP);
2) как средство представление требований, предъявляемых к системе; диаграммы этого уровня могут использоваться в ТЭО – это системные варианты тех же диаграмм, создаваемые на фазе, называемой «Анализ», этап «Изложение требований» (базовая терминология SADT «Разработка концепции» (терминология ГОСТ 34.601–90); «Уточнение», процесс «Управление требованиями» (терминология RUP);
3) как средство представления проектных решений – это тожесистемные варианты диаграмм, создаваемые в последующих фазахЖЦ;
4) как средство представления уточненных требований, предъявляемых к системе; это системные диаграммы, которые могут использоваться в начале всех фаз ЖЦ, но, в первую очередь, они используютсяна следующих фазах: «Проектирование» (базовая терминология SADT«Техническое задание» (терминология ГОСТ 34.601–90); «Уточнение», процесс «Анализ и проектирование» (терминология RUP).
Для того чтобы правильно сформулировать требования к ИС, необходимо четкое понимание контекста, в котором будет работать будущая система. Для достижения этого понимания создаются модельпредметной области и (или) бизнес-модель. Эти две модели представляют два подхода к одному и тому же вопросу: первая модель призвана, в первую очередь, отразитьинформационный аспект, а вторая – процессный аспект того предприятия (организации, учреждения), для которого создается ИС. Иногда создается что-то однолибо модель предметной области, либо бизнес-модель.
Модель предметной области описывает бизнес-объекты– важныепонятия, показатели и документы, с которыми будет работать ИС, а также связи между ними. Бизнес-модель описывает бизнес-процессы (и существующие, и будущие, появляющиеся после внедренияИС), которые должна поддерживать система. Поэтому кроме определения бизнес-объектов, вовлеченных в процесс, эта модель определяет работников, их обязанности и действия, которые они должнывыполнять. При использовании объектно-ориентированного подхода обычно создается бизнес-модель. При этом строятся диаграммыUML, в название которых включается слово «бизнес».
На этапе «Обследование» фазы «Анализ» в большинстве случаев, оказывается достаточным построение следующих UML-описаний:
1) диаграмма бизнес-прецедентов;
2) диаграммы бизнес-деятельностей (по одной на каждый бизнес-прецедент.
Перечисленные диаграммы образуют проектный минимум. Притщательной проработке предметной области они могут дополнятьсядиаграммами бизнес-коммуникаций и (или) бизнес-последовательностей. Указанные диаграммы семантически эквивалентны, отличаются только формой представления информации. В своей совокупности указанные диаграммы образуют бизнес-модель предприятияили модель анализа предметной области (рис. 6.3).
На стадии «Изложение требований» фазы «Анализ» строятся те жедиаграммы, что и на этапе «Исследование», но уже не бизнес-варианты, а системные варианты этих диаграмм, и они представляют собоймодельно (схематически) представленные требования к создаваемойИС. Однако эти требования носят процедурный (операционный) характер. Информационная составляющая в них представлена весьмаограниченно. Для устранения указанного упущения следует завершить фазу анализа построением предварительного варианта диаграммы классов (Classdiagram) как заменитель ER-диаграмм, применяемых в структурной методологии. Совокупность свойств классов, образует достаточно четкое и полное требование к информационнойсоставляющей создаваемой ИС.
Рисунок6.3. UML-модель анализа предметной области
Рисунок6.4. UML-модель требований к создаваемой ИС
(логическая модель ИС)
В своей совокупности указанные диаграммы образуют модельтребований к создаваемой ИС (рис. 6.4).
Диаграмма бизнес-прецедентов. Диаграмма бизнес-прецедентовво многом аналогична обычной (системной) диаграмме прецедентов, но имеются и существенные отличия:
- вместо простых акторов используются бизнес-акторы (бизнес-актанты);
- вместо системных прецедентов используются бизнес-прецеденты;
- в системных диаграммах прецеденты – это действия, выполняемые внутри ИС, т. е. это информационно-вычислительные процессы, выполняемые либо компьютером, либо автоматом, либочеловеком во взаимодействии с компьютером; действия в бизнес-прецедентах– это реальные физические деловые процессы, выполняемые людьми и (очень часто) без использования компьютера(естественно, это не совсем так, если предприятие уже используетпростейшие средства автоматизации в виде несложной ИС, и ставится задача ее реинжиниринга).
Изображения бизнес-элементов отличаются от обычных (системных) акторов и прецедентов наличием в левой части изображениячерты, направленной под углом 45°, и затенением овалов, символизирующих бизнес-прецеденты.
Пример диаграммы бизнес-прецедентов, созданной на этапе анализа предметной области «Магазин», показан на рис. 6.5.
Рисунок6.5. Пример диаграммы бизнес-прецедентов
предметной области «Магазин»
Графическая модель в форме диаграммы бизнес-прецедентов должна дополняться текстовой спецификацией каждого прецедента.
Описание бизнес-прецедента концептуально не отличается от описания системного прецедента, представленного Теме 20 вопрос 5. Затем осуществляется детализация каждого бизнес-прецедента в форме диаграмм деятельности или автомата (в зависимости от специфики предметной области). Если особенностью предметной области является особая важность и конструктивность понятия «состояние» сущностей, то детализацию прецедентов следует осуществлять в виде диаграмм автомата. Такими областями, в частности, являются социальные сети и интернет-магазины, фрагмент «Изучение конкретной дисциплины» учебного заведения, фрагмент «Написание диссертации» отдела аспирантуры вуза и т.п. «Важность и конструктивность» означают, что при описании предметной области имеют место следующие факты:
1) в описаниях сущностей четко выделяются их возможные состояния;
2) сущности способны изменять свои состояния под влиянием внутренних или (чаще) внешних событий;
3) с каждым состоянием ассоциируется набор каких-либо действий.
Если же предметная область такова, что в ее описании доминируют работы, действия и их последовательности, то для детализации бизнес-прецедентов наиболее подходящим инструментом являются диаграммы деятельности.
Несложно представить, что существует и многочисленное множество смешанных предметных областей, в которых важны и состояния сущностей, и последовательности действий. В таких случаях можно использовать оба вида диаграмм: некоторые прецеденты детализируются диаграммами автоматов, а некоторые – диаграммами деятельности.
Диаграммы бизнес-деятельности. Диаграммы бизнес-деятельности должны составляться для каждого бизнес-прецедента, представленного на диаграмме бизнес-прецедентов. В качестве примера, позволяющего понять принцип построения этих диаграмм, приведем только три из них, реализующие прецеденты: «Продажа товара» (рис. 6.6), «Поиск по каталогу» (рис. 6.7) и «Оформить продажу» (рис. 6.8).
Рисунок 6.6. Диаграмма бизнес-деятельности,
реализующая прецедент «Продажа товара»
Рисунок 6.7. Диаграмма бизнес-деятельности,
реализующая прецедент «Поиск по каталогу»
Рисунок 6.8. Диаграмма бизнес-деятельности,
реализующая прецедент «Оформить продажу»
Заметим, что на диаграммах деятельности часто используются блоки со значком из двух соединенных стрелкой прямоугольников. Его назначение – указать, что данный овал символизирует не действие атомарную (неделимую) операцию, а деятельность, для которой составлена собственная диаграмма деятельности. В программировании понятию «действие» соответствует понятие оператор (Statement), а понятию «деятельность» – подпрограмма (Subroutine).
Диаграмма бизнес-последовательности. Традиционно рекомендуется дополнять диаграмму бизнес-прецедентов диаграммой бизнес-объектов, на которой отображаются бизнес-работники и бизнес-сущности, соединенные друг с другом прямыми линиями – связями.
Однако эта диаграмма малоинформативна. Более содержательными являются диаграммы бизнес-взаимодействия: бизнес-последовательности и бизнес-коммуникации, которые являются удобным графическим средством демонстрации бизнес-сценариев – конкретныхцепочек действий при выполнении бизнес-прецедента.
Конкретная цепочка действий имеет также компактное название – «сценарий бизнес-прецедента». При построении диаграммбизнес-последовательности бизнес-коммуникаций отображаетсявзаимодействие бизнес-работников и бизнес-сущностей – всё этобизнес-объекты.
Составляющими диаграмм бизнес-последовательности и бизнес-коммуникации в общем случае являются объекты со специальными стереотипами поведения: бизнес-актор; бизнес-работник; бизнес-сущность. Обратим внимание на то, что бизнес-акторы фигурируют и в модели прецедентов, и в моделях коммуникации и последовательности.
Пример диаграммы бизнес-последовательности, демонстрирующей один из сценариев бизнес-прецедента «Оформить продажу» показан на рис. 6.9.
Рисунок6.9. Диаграмма бизнес-последовательности, демонстрирующая один из сценариев бизнес-прецедента «Оформить продажу»
Диаграмма прецедентов. После построения бизнес-модели предприятия переходят к изложению требований к создаваемой ИС. Дляэтого, в частности, создается системный вариант диаграммы прецедентов. Очень часто этот вариант не имеет кардинальных отличийот построенной ранее диаграммы бизнес-прецедентов, поскольку всесоставляющие бизнес-процесса предприятия получают воплощениев подсистемах ИС.
Для каждого прецедента создается детализирующая этот прецедентдиаграмма деятельности или автомата (в зависимости от спецификипроцессов и задач предметной области). Так же, как и при созданиибизнес-модели, для каждого прецедента создается одна или несколько диаграмм последовательности и (или) диаграмм коммуникации.
Каждая из этих диаграмм представляет собой конкретный сценарийразвития событий при выполнении действий прецедента, т. е. одиниз протоколов этого прецедента.
Диаграмма классов. На стадии «Изложение требований» фазы«Анализ» ЖЦ ИС создается предварительный вариант диаграммыклассов (Classdiagram) как заменитель ER-диаграмм, применяемых в структурной методологии. Диаграмма классов во многом аналогична – она также определяет носители предметной информации и взаимосвязи между ними. Однако носители называются ужене сущностями, а классами. В отличие от сущностей классы содержатне только данные, называемыеатрибутами, или полями, но и процедуры решения задач – подпрограммы, называемыеоперациямиилиметодами.
Пример диаграммы классов, используемой в качестве одной из составляющих модели требований к проектируемой ИС для предметнойобласти «Магазин», показан на рис.6.10.
Подобно ERD диаграмма классов представляет основные информационные сущности – классы, отражает наличие связей междуними, описывает характеристики этих связей.
Например, связь между классами «Заказ» и «Покупатель» является ассоциацией с именем «СОДЕРЖИТНОМЕРПАСПОРТА» (аналог имени отношения в ERD). Мощность ассоциации (аналог кардинальности отношения) представлена мультипликатором 0..∗ у класса «Заказ», мультипликатором 0..1 у класса «Покупатель», что означает ассоциацию многие-к-одному с необязательной принадлежностью ассоциации объектов обоих классов: и «Заказ», и «Покупатель» (это означает, что объект класса ассоциации может быть и «пустым»).
Разработчик диаграммы классов должен приложить к ней «Спецификацию», содержащую описания классов, представленных на диаграмме, и отношений между этими классами.
Рисунок 6.10. Диаграмма классов для предметной области «Магазин»
Для каждого класса должно быть указано:
1) какой физической сущности соответствует данный класс;
2) почему выбран именно такой состав атрибутов;
3) почему выбран именно такой состав операций;
4) какую функцию реализует каждая операция.
Для каждого отношения необходимо привести хотя бы минимальные сведения, включающие в себя указание и обоснование вида отношения. Для отношений-ассоциаций следует обосновать: выборимени и направления его чтения; указанную на диаграмме мощностьассоциации.
Тема 8. Современное моделирование бизнес-процессов как средство автоматизации изложения требований
План лекции
1. Определение бизнес-процесса
2. Современная концепция процессного управления
3. Нотация BPMN (Business Process Modeling Notation)
4. Элементы BPMN
5. Применение BPMN
6. Прототип системы как механизм поддержки процесса формирования технического задания
7. Методы анализа информационных потребностей
Определение бизнес-процесса
«Бизнес-процесс», или «операционный процесс фирмы», – понятие многоаспектное, поэтому в литературе содержатся многочисленные определения, отражающие различные стороны этого понятия.
Наиболее четко суть бизнес-процесса выражает определение 1:бизнес-процесс– это последовательность действий, направленныхна преобразование информационных и материальных потоков в целях увеличения их ценности для клиента, или на создание добавленной стоимости продукта, или на оказание услуг удовлетворяющихпотребностям клиента.
Преобразование информационных и материальных потоков имеетрезультатом получение новых сведений и продуктов, которые и приобретают увеличенную (по сравнению с входными данными, сырьем, материалами и полуфабрикатами) ценность для клиента. Еслиувеличение ценности, создание добавленной стоимости и оказаниеуслуг поместить в обертку «предпринимательская задача», то получим определение2: бизнес-процесс– это последовательностьдействий, направленных на решение какой-либо предпринимательской задачи.
Если вести речь о представлении бизнес-процесса в виде блок-схемы, то можно получить определение 3:бизнес-процесс– этомножество внутренних взаимосвязанных шагов (функций), начинающихся с одного или более входов и заканчивающихся созданием выхода (продукта либо услуги), необходимого клиенту. По сути, это ужеобычный алгоритм. Наличие нескольких входов – алгоритмическивполне нормальная ситуация, но от нее можно избавиться совсемвведя в рассмотрение единственный формальный вход и условияопределяющие альтернативные ветви развития процесса.
Совсем кратким, но далеким от сути предметной областиотражающим только внешнюю сторону проблемы, являетсяопределение 4: бизнес-процесс– это процесс преобразованиянаборов входов в наборы выходов.
Заметим, что кардинальная специфика бизнес-процесса, отличающая его от любой другой последовательности действий, заключается в трех его характеристиках, приближающих указанные ранееопределения к семантической конкретности:
1) стоимость процесса – затраты на увеличение ценности, создание добавленной стоимости или оказание услуг, т. е. на решениепредпринимательской задачи;
2) длительность процесса – время, потребовавшееся на решениепредпринимательской задачи;
3) качество процесса, выражаемое качеством продукта или степенью удовлетворенности клиента.
Указанные характеристики являются неотъемлемой частью определения бизнес-процесса. Третья характеристика неявно, но строгопредполагает, что бизнес-процесс обязательно должен давать некоторый значимый результат для клиента.
Классификация бизнес-процессов возможна по различным признакам. Возможно выделение какой-либо отдельной специфическойразновидности процессов. Например, в задачах проектирования ИСособое значение имеют так называемые сквозные процессы.
Сквозной процесс (end-to-endprocess)– это бизнес-процессзамкнутый по входу и выходу на внешнего клиента (поставщикаи потребителя), т. е. включающий в себя все этапы преобразованияинформационных и материальных потоков – от сбора исходныхданных и приобретения сырья (материалов), через обработку данных и технологические операции, до поставки потребителям готовой продукции.
В отечественной литературе, в отличие от англоязычной, определение сквозного процесса часто дополняется требованием прохождения процесса более чем через одно подразделение верхнегоуровня. Это требование совершенно не согласуется с англоязычнойлингвистической меткой end-to-endprocess и представляется совершенно избыточным, тем более что прохождение через несколькоподразделений реализуется автоматически в процессах, охватывающих все операции – от приобретения сырья до продажи готовойпродукции.
По особенностям выполняемых функций выделяют три вида бизнес-процессов:
- операционные– главные бизнес-процессы, составляющиеосновной бизнес компании и создающие основной поток доходов.Операционными бизнес-процессами, в частности, являются «Производство», «Снабжение», «Сбыт» и «Маркетинг»;
- поддерживающие– бизнес-процессы, обслуживающие основной бизнес. Прежде всего это «Бухгалтерский учет», «Работа с персоналом», «Техническая поддержка», «Административно-хозяйственная работа
- управляющие– бизнес-процессы, управляющие функционированием предприятия в целом, например «Корпоративное управление» и «Стратегический менеджмент».
Заметим, что приведенные ранее определения бизнес-процесса указывают признаки именно операционных процессов, поскольку поддерживающие и управляющие процессы самостоятельного значенияне имеют и могут рассматриваться как составляющая часть механизмареализации операционных процессов. В силу их первичности операционные процессы можно называть собственно бизнес-процессами.
Главным (смыслообразующим) началом понятия «процесс» является словосочетание «последовательность действий (работ).
Очевидно, что задача понижения значений количественных параметров, выражающих стоимость и длительность процесса, и повышения значений параметров, характеризующих качество процессаявляется перманентно актуальной. Именно постоянная актуальностьуказанной задачи привела к появлению идеи непрерывного улучшения бизнес-процессов, т.е. концепции BPM (BusinessProcessManagement), и поддерживающих эту концепцию инструментальных средствкласса BPMS (BusinessProcessManagementSystem).
Исторически BPM замыкает цепочку наиболее значимых концепций и стандартов, связанных с бизнес-процессами:
IDEF → стандарты ISO 9000, 9001
→ Реинжиниринг бизнес-процессов (BPR) → BMP
Методика IDEF, позволяющая анализировать бизнес с точки зрения функциональности системы и представляющая бизнес-процессв виде набора работ, взаимодействующих друг с другом, возникла.как реакция американской экономической мысли на успехи послевоенной японской экономики, в первую очередь, автомобильнойпромышленности.
Японский TQM (TotalQualityManagement) – общеорганизационный метод непрерывного повышения качества всех организационныхпроцессов – был полностью заимствован американцами и послужил основой для создания новых экономических концепций, в томчисле и «далеко уходящих» от стержневого принципа – непрерывности и эволюционности мероприятий по улучшению бизнеса. Революционное начало реинжиниринга бизнес-процессов обусловиломногочисленные провалы перестроечных проектов на предприятияхBPM – это возврат к фундаментальной идее непрерывности и эволюционности реорганизационных процедур.