Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Проектирование программного обеспечения экономических информационных систем

.pdf
Скачиваний:
163
Добавлен:
01.05.2014
Размер:
4.73 Mб
Скачать

Вспомогательные средства

311

этих средств является также ориентация на опытных разработчиков ПО. Как отмечает ряд исследователей, адекватное моделирование бизнес-процессов невозможно без учета семантики и временных аспектов взаимосвязей между действиями, предметами труда, ресурсами и действующими лицами.

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

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

312

Глава6

В настоящее время идет активное развитие интегрированных многофункциональных средств, объединяющих в себе возможности объектно-ориентированного программирования, CASE-технологий, имитационного моделирования, инженерии знаний и средств быстрой разработки приложений. Две наиболее продвинутые в этом отношении системы —SPARKS (System Performance Analysis using Realtime Knowledge-based Simulation), разработанная фирмой Coopers & Lybrand Consulting (США), и ReThink, предлагаемая фирмой Gensym (США), ведущим поставщиком инструментальных средств для разработки интеллектуальных систем управления производством. Системы SPARKS и ReThink имеют много общего как в части концепций, положенных в основу разработки, так и в части методов использования, поскольку в основе и первой, и второй лежит оболочка экспертных систем реального времени G2 фирмы Gensym —объек- тно-ориентированный инструментарий с встроенными возможностями моделирования динамических систем.

ReThink —это система моделирования для разработки приложений в области организационного управления. Она обеспечивает графическую среду проектирования моделей, объектно-ориентирован- ную подсистему имитации для тестирования этих моделей и инструментарий для измерения временных, стоимостных и других показателей эффективности деятельности организации. ReThink позволяет организации создать модель текущего делопроизводства, смоделировать каждодневную активность и собрать как обобщенные, так и конкретные данные об эффективности хозяйственной деятельности. Эта модель обеспечивает системный подход к документированию и пониманию текущего положения дел.

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

Возможность автоматической фиксации метрик анализируемого процесса облегчает экспериментирование с различными организационными и производственными структурами путем сравнения их

Вспомогательные средства

313

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

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

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

Система ReThink включает ряд базовых компонентов, на основе которых строится модель бизнес-процессов:

блоки —выполняют операции над объектами, такие, как создание объектов, исполнение бизнес-функций, установление и разрыв ассоциаций между объектами, удаление объектов;

ресурсы (средства труда) —предназначены для ограничения исполняемых операций на основе объема и состава наличных ресурсов;

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

инструменты — позволяют получать и отображать в числовой и графической форме данные о производительности моделируемых процессов. Кроме того, инструменты обеспечивают ввод параметров в заданных точках модели;

314

Глава6

сценарии — управляют механизмами моделирования дискретных

событий и дают возможность реализовать одновременнонесколь-

ких моделей.

ReThink поддерживает создание иерархических моделей, по-

зволяющих описывать процессы с различной степенью детализации. Все элементы моделей, включая ресурсы процессов, могут модифицироваться непосредственно во время исполнения. Результаты изменений можно увидеть сразу же после их введения.

ReThink дает возможность формировать стоимостные и временные характеристики различных проектов для объективного их сравнения, а также проверять гипотезы "что, если". Для анализа работы моделей предусмотрен набор инструментов: зонды для сбора данных и "установщики", устанавливающие значения атрибутов сущностей; графики для наглядного отображения результатов моделирования; различные просмотровые табло из стандартных средств комплекса G2. С помощью зондов можно снимать такие показатели, как длительность цикла обработки сущности на том или ином этапе, стоимость обработки, а также любые другие свойства, определенные разработчиком модели. Для отсева шумов и выявления тенденций можно использовать специальные блоки - фильтры.

Для проверки гипотез "что, если" в системе реализован механизм сценариев. Сценарии позволяют исследовать зависимость поведения одной и той же модели от поведения внешнего мира (например, частоты поступления заявок, сложности этих заявок и т.д.) и каких-либо параметров этой модели (например, количества транспортных средств или численности служащих, занятых оформлением заказов). Варьируемые параметры и измеряемые показатели выносятся на отдельное окно сценария, после чего в результате прогона модели автоматически формируется отчет. Кроме того, ReThink позволяет использовать сценарии для объективного сравнения альтернативных проектов: один и тот же сценарий, описывающий некоторое заранее заданное поведение внешнего мира, может использоваться для прогона различных моделей. Результаты прогона, вынесенные в отчет, являются основой для сопоставления и оценки этих моделей.

Вспомогательные средства

315

ReThink поддерживает коллективную работу с приложениями на основе архитектуры "клиент-сервер" с помощью системы Telewindows комплекса G2. Как и сам инструментальный комплекс G2, система ReThink функционирует на большинстве рабочих станций в среде UNIX, Windows 95/98/NT.

! Следует запомнить:

Наиболее распространенными на практике вспомогательными средствами поддержки ЖЦ ПО являются:

средства управления требованиями;

средства оценки затрат на разработку ПО;

средства управления конфигурацией ПО;

средстватестирования;

средствадокументирования;

средства управления проектом.

Основные понятия:

Требования, функциональные и нефункциональные требования, управление требованиями, функциональная точка.

Вопросы для самоконтроля

?1. В чем заключается важность управления требованиями?

2.Каковы основные функции средств управления конфигурацией ПО?

3.На какой стадии проекта должна выполняться оценка затрат на разработку ПО?

4.Какие из перечисленных в данной главе средств являются, по вашему мнению, наиболее важными в реальных проектах и почему?

КРАТКИЙ СЛОВАРЬТЕРМИНОВ

Абстракция — выделение существенных характеристик некоторого объекта, которые отличают его от всех других видов объектов и четко определяют его концептуальные границы относительно дальнейшего рассмотрения и анализа.

Агрегация — отношение "часть - целое".

Ассоциация — отношение между экземплярами классов.

Атрибут — любая характеристика сущности, значимая для рассматриваемой предметной области и предназначенная для квалификации, идентификации, классификации, количественной характеристики или выражения состояния сущности.

Архитектура ПО —описание системы ПО, включающее совокупность структурных элементов системы и связей между ними, поведение элементов системы в процессе их взаимодействия и иерархию подсистем, объединяющих структурные элементы.

В

Вариант использования (use case) - последовательность действий (транзакций), выполняемых системой в ответ на событие, инициируемое некоторым внешним объектом (действующим лицом).

Внешняя сущность — материальный предмет или физическое лицо, представляющие собой источник или приемник информации.

д

Действующее лицо (actor) - роль, которую пользователь играет по отношению к системе.

Краткий словарь терминов

317

Ж

Жизненный цикл программного обеспечения — период, который начинается с момента принятия решения о необходимости создания ПО и заканчивается в момент его полного изъятия из эксплуатации.

И

Иерархия - ранжированная илиупорядоченная система абстракций, расположение их по уровням.

Инкапсуляция - процесс отделения друг от друга отдельных элементов объекта, определяющих его устройство и поведение.

К

Качество ПО - совокупность свойств, которые характеризуют способность ПО удовлетворять заданным требованиям.

Класс - множество объектов, связанных общностью структуры и поведения. Любой объект является экземпляром класса.

Конфигурация ПО - совокупность его функциональных и физических характеристик, установленных в технической документации и реализованных вПО.

м

Метод проектирования ПО —организованная совокупность процессов создания ряда моделей, которые описывают различные аспекты разрабатываемой системы с использованием четко определенной нотации.

Метод (на формальном уровне) -> совокупность трех составляющих:

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

318

Краткий словарь терминов

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

Модель (ПО) —полное описание системы ПО с определенной точки зрения.

Модель ЖЦ ПО —структура, определяющая последовательность выполнения и взаимосвязи процессов, действий и задач на протяжении

ЖЦ.

Модульность - свойство системы, связанное с возможностью ее декомпозиции на ряд внутренне связных, но слабо связанных между собой модулей.

н

Накопитель данных — абстрактное устройство для хранения информации.

Наследование —построение новых классов на основе существующих с возможностью добавления или переопределения данных и методов.

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

О

Объект - осязаемая реальность (tangible entity) - предмет или явление, имеющие четко определяемое поведение.

Объектная декомпозиция - описание структуры системы в терминах объектов и связей между ними, а поведения системы — в терминах, обмена сообщениями между объектами.

Операция (метод) — определенное воздействие одного объекта на другой с целью вызвать соответствующую реакцию.

п

Параллелизм — свойство объектов находиться в активном или пассивном состоянии и различать активные и пассивные объекты между собой.

Полиморфизм —способность класса принадлежать более чем одному типу.

Поток данных - информация, передаваемая через некоторое соединение от источника к приемнику.

Краткий словарь терминов

319

Программная инженерия — 1. Совокупность инженерных методов и средств создания ПО. 2. Дисциплина, изучающая применение строгого систематического количественного (т.е. инженерного) подхода к разработке, эксплуатации и сопровождению ПО.

Программное обеспечение (программный продукт) —совокупность ком-

пьютерных программ, процедур и, возможно, связанной с ними документации и данных.

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

Процесс (ЖЦПО)—совокупность взаимосвязанных действий, преобразующих некоторые входные данные в выходные.

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

Процесс (надиаграмме потоков данных) —преобразование входных потоков данных в выходные в соответствии с определенным алгоритмом.

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

Реверсный инжиниринг - перенос существующей системы ПО вновую среду.

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

Связь —поименованная ассоциация между двумя сущностями, значимая для рассматриваемой предметной области.

320

Краткий словарьтерминов

Сопровождение ПО—внесение изменений в ПОв целях исправления ошибок, повышения производительности илиадаптации к изменившимся условиям работы или требованиям.

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

Сущность - реальный либо воображаемый объект, имеющий существенное значение для рассматриваемой предметной области.

Тестирование —процесс исполнения программы в целях обнаружения ошибки.

Технология проектирования ПО—совокупность технологических операций проектирования в их последовательности и взаимосвязи, приводящая к разработке проекта ПО.

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

Требование —условие илихарактеристика, которым должна удовлетворять система.

Уникальный идентификатор —атрибут или совокупность атрибутов и/или связей, предназначенные дляуникальной идентификации каждого экземпляра данного типа сущности.

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

Устойчивость —свойство объекта существовать во времени (вне зависимости от процесса, породившего данный объект) и/или в пространстве (приперемещении объекта из адресного пространства, в котором он был создан).