Содержание к диссертации
Введение 4
1. Подходы и средства разработки концептуальных моделей систем
прикладного ПО 10
1.1. Средства концептуального моделирования в рамках методов и
подходов выявления требований 10
Интервьюирование 11
Анкетирование 12
Наблюдение 12
Изучение предоставляемой заказчиком документации 13
Прототипирование 13
Совместная разработка приложений (J/Ш-метод) 14
Метод быстрой разработки приложений (RAD-метод) 15
1.2. Средства концептуального моделирования в рамках корпоративных
систем управления 16
Краткая характеристика основных методологий 16
Методология IDEF0 18
Методология DFD 23
Методология IDEF3 24
Методология ARIS 25
Методология UML 31
Метод концептуального моделирования на основе алгоритмических сетей 39
2. Технология Взаимодействующих Фондовых Потоков 47
Основные понятия 47
Технология , ....52
Технология ВФП в задачах анализа требований 57
3. Технология ВФП как инструмент разработки базового набора
концептуальных паттернов процессов (бизнес-процессов) прикладного
ПО 61
Представление паттернов 61
Реализация 62
3.2.1. Паттерн САМОУСИЛЕНИЕ 63
3.2.2, Паттерн УРАВНОВЕШИВАНИЕ 65
Паттерн УРАВНОВЕШИВАНИЕ ПОД ВОЗДЕЙСТВИЕМ ЛАГА РЕАЛИЗАЦИИ РЕШЕНИЙ 67
Паттерн НЕОГРАНИЧЕННЫЙ КОНКУРЕНТНЫЙ РОСТ....70
Паттерн ОГРАНИЧЕННЫЙ КОНКУРЕНТНЫЙ РОСТ 73
Патгерн ДРЕЙФУЮЩАЯ ЦЕЛЬ 76
Паттерн ЭСКАЛАЦИЯ 19
Паттерн РЕШЕНИЕ, ОБРЕЧЕННОЕ НА НЕУДАЧУ 82
Паттерн РОСТ ПРИ СЛАБОМ ИНВЕСТИРОВАНИИ. 85
Паттерн СМЕЩЕНИЕ БРЕМЕНИ НАГРУЗКИ. 89
Паттерн КОНКУРЕНТНОЕ ИСПОЛЬЗОВАНИЕ ОГРАНИЧЕННОГО РЕСУРСА 92
Паттерн СОПЕРНИЧЕСТВО СЛУЧАЙНЫХ КОНКУРЕНТОВ 95
4. Демонстрация возможностей применения технологии ВФП на примере
концептуального проектирования схем управления логистическими
активностями 102
Описание деятельности компании 102
Имитационная потоковая модель логистических активностей 108
Заключение 118
Библиографический список использованной литературы 122
Введение к работе
Авторитетные источники в области software утверждают, что трудности, с которыми сталкивается программная инженерия, определяются рядом специфических свойств прикладного программного обеспечения (ПО) и, прежде всего - его функциональной, структурной и поведенческой сложностью. Действительно, среда современного прикладного ПО формируется не просто из одного-двух пользователей и их интерфейса с компьютером, а из организаций, предприятий, отраслей, глобальных и корпоративных сетей, заказчиков, пользователей, готовой продукции, систем управления и т, д. Традиционно проектирование таких систем базируется на использовании самых разнообразных программных пакетов-решений.
Спектр подобных программных продуктов широк и популярен, начиная с локальных и персонифицированных СОТХ'-продуктов (Commercial Off The Shelf — готового к использованию коммерческого software) [59] и кончая широкомасштабными программными комплексами типа ЛР-систем (Enterprise Resource Planning) планирования корпоративных ресурсов [30], SCM-cucitM (Supply Chain Management) управления логистическими активностями [70; 66], Я2#-систем (Business То. Business) управления электронным бизнесом [28; 58] и т.д. Основное и несомненное достоинство использования таких пакетов — смещение акцента от чрезвычайно затратного проектирования с "чистого листа" к "настройке" проектов на готовые индустриальные решения. Основной недостаток - отсутствие у большинства предлагаемых продуктов средств концептуального анализа управленческих и организационных процессов (часто объединяемых термином бизнес-процесс) прикладного ПО.
К сожалению, пакеты-решения, как и другие подходы проектирования приложений типа компонентных технологий CORBA {Common Object Request Broker Architecture — общая архитектура брокеров объектных запросов) [57], DCOM (Distributed Common Object Model — распределенная модель компонентных объектов) [34] и EJB (Enterprise JavaBeans) [67] не изменяют сложившихся схем и подходов к проектированию. Они лишь формируют среду, в которой уже готовые концептуальные решения конкретизируются и реализуются, оставляя за пределом возможного анализа латентные проблемы, возникающие на ранних стадиях реализации проектов и порождаемые поведенческой сложностью прикладных систем.
Действительно, уяснить реальное положение дел и "одним взглядом" выявить проблему порой весьма непросто и желательно иметь в своём распоряжении средства, способствующие:
концентрации внимания аналитиков Исполнителя и Заказчика на фрагментах концептуальных схем, вызывающих наибольшие опасения;
диагностированию источников возникновения проблемных ситуаций и выработке возможных вариантов бесконфликтных путей дальнейшего развития программного проекта;
выделению характерных для предметной области прикладного ПО концептуальных "паттернов", по терминологии UML (Unified Modeling Language) [31]- приемлемых вариантов "типичных решений типичной проблемы в данном контексте".
Для любой системы прикладного ПО, разрабатываемой как с "чистого листа", так и на основе настройки на "готовые" решения, хотелось бы иметь набор паттернов, способствующих организации моделирования нетривиального поведения проблемных фрагментов. Такие паттерны можно воспринимать как области соприкосновения взаимных интересов и партнерских отношений Исполнителя и Заказчика, складывающихся, начиная с самых начальных этапов развития проекта и поддерживаемых в течении всего жизненного цикла
существования системы. К сожалению, предлагаемые на рынке современные технологии, несмотря на свою претенциозность, не обладают той степенью когнитивности, которая весьма желательна для поддержания плодотворных контактов между Исполнителем и Заказчиком на всех стадиях разработки и сопровождения, особенно на стадиях выявления и анализа требований.
В связи с актуальностью обозначенных проблем, актуальность темы диссертации определяется, прежде всего, необходимостью постоянной борьбы с ПОВЕДЕНЧЕСКОЙ СЛОЖНОСТЬЮ проектируемых систем. Подобные задачи традиционные средства пытаются разрешать лишь мощностью структурных и функциональных описаний, тогда как специалисты-практики на каждом шагу ощущают, что любой сколько-нибудь нетривиальный фрагмент концептуальной схемы управленческого, организационного или какого-либо другого процесса прикладной системы - нечто большее, чем простой набор функций и структур (как бы этот набор ни был велик).
Актуальность темы определяется также необходимостью исследования ДИНАМИКИ взаимодействий между внутренними и внешними структурами паттернов, ибо их поведение (как и поведение любых процессов прикладного ПО) разворачивается вдоль оси времени некоторого "жизненного цикла" своего существования.
Актуальность темы диктуется и тем вниманием, которое сегодня начинает уделяться исследованиям структур РЕФЛЕКСИВНЫХ КОНТУРОВ (контуров обратных связей), которые по сути и определяют природу нетривиального поведения концептуального паттерна.
Актуальность темы связывается с теми попытками, которые предпринимаются с целью выработки правдоподобных ПРОГНОЗОВ развития проблемных ситуаций на возможно ранних стадиях проектирования практически любой системы, ибо проблемы желательно "обнаруживать до того, как они обнаружат Вас...".
И, наконец, тема работы претендует на актуальность в связи с целесообразностью (а возможно, и с осознанной необходимостью) разработки плодотворной ТЕХНОЛОГИИ аналитического сопровождения ранних этапов жизненного цикла проектов прикладного ПО.
Цель диссертационной работы — разработка программной технологии Взаимодействующих Фондовых Потоков (ВФП), обеспечивающей аналитическую поддержку работ по формированию и исследованию поведения концептуальных паттернов ^типичных решений типичной проблемы в данном контексте"), применяемых на ранних этапах проектирования систем прикладного ПО. Технология базируется на методах системной динамики Дж. Форрестера [44; 60] и операционных возможностях персонифицированных программных пакетов имитационного моделирования типа /think (High Performance Systems, Inc) [62] и Powersim (Powersim, Inc) [65].
Основные задачи, решаемые в соответствии с поставленной целью:
актуализация исследований поведенческой сложности управленческих, организационных и др. процессов прикладного ПО;
определение возможных вариантов формирования схем простейших прототипов концептуальных паттернов;
исследование возможностей применения средств компьютерной имитации и современных пакетов имитационного моделирования в качестве инструментальной поддержки технологии ВФІ7;
разработка набора базовых паттернов как концептуальных единиц проектирования управленческих, организационных и др. процессов прикладного ПО;
~ демонстрация возможностей набора базовых паттернов и технологии
ВФП на примерах решения конкретных задач концептуального
проектирования фрагментов реальных приложений.
Методы исследования, использованные в работе, очерчиваются
понятиями и методами общей теории систем, математической логики, теории
множеств, системной динамики, математической экономики, а также современных методологий построения программных комплексов и систем. Научная новизна состоит в:
формировании принципов конструирования концептуальных моделей технологических, организационных и др. процессов прикладного ПО на базе идей, методов и подходов системной динамики [51; 50];
использовании концептов техники финансового анализа при конструировании потоковых схем базовых паттернов [47];
определении набора паттернов как концептуальных единиц имитационных моделей процессов в рамках жизненного цикла системы прикладного ПО [46].
Практическая значимость работы определяется:
разработкой технологии ВФП, позволяющей проектировать, исследовать и сопровождать концептуальные схемы проблемных фрагментов систем прикладного ПО;
снижением рисков при обнаружении и анализе проблемных ситуаций на ранних этапах жизненного цикла развития проектов;
возможностью разработки набора базовых паттернов как концептуальных единиц систем прикладного ПО, формирующих содержимое "корпоративной памяти" организационных структур экономики и бизнеса.
Диссертационная работа состоит из четырех глав. Первая глава посвящена обзору и анализу наиболее известных подходов и средств, претендующих на роль инструментов разработки концептуальных моделей проблемных фрагментов систем прикладного ПО. Внимание концентрируется на методологиях, которые могут использоваться на ранних этапах выявления и анализа требований к проектируемым системам. Во второй главе рассматривается предлагаемая технология ВФП, предпосылки её возникновения, её* место в задачах анализа требований. В третьей главе
рассмотрено применение технологии ВФП для построения набора паттернов базовых бизнес-процессов, представленных рефлексивными контурами обратных связей. В четвертой главе демонстрируются операционные возможности технологии ВФП и набора паттернов на примере действующего прототипа реального проекта.