Обеспечение процесса анализа и проектирования ИС возможностями CASE-технологий
Термин "CASE" (Computer Aided Software/System Engineering) используется в настоящее время в весьма широком смысле. Первоначальное значение термина "CASE", ограниченное вопросами автоматизации разработки только лишь программного обеспечения (ПО), в настоящее время приобрело новый смысл, охватывающий процесс разработки сложных ИС в целом.
Теперь под термином "CASE-средства" понимаются программные средства, поддерживающие процессы создания и сопровождения ИС, включая анализ и формулировку требований, проектирование прикладного программного обеспечения (приложений) и баз данных, генерацию кода, тестирование, документирование, обеспечение качества, конфигурационное управление и управление проектом, а также другие процессы.
Появлению CASE-технологии и CASE-средств предшествовали исследования в области методологии программирования. Программирование обрело черты системного подхода с разработкой и внедрением языков высокого уровня, методов структурного и модульного программирования, средств визуального моделирования и проектирования на базе языка UML(Unified Modeling Language), средств их поддержки, формальных и неформальных языков описаний системных требований и спецификаций и т. д. Кроме того, появлению CASE-технологии способствовали и такие факторы, как:
- подготовка аналитиков и программистов, восприимчивых к концепциям модульного и структурного программирования;
- широкое внедрение и постоянный рост производительности компьютеров, позволившие использовать эффективные графические средства и автоматизировать большинство этапов проектирования;
- внедрение сетевой технологии, которая предоставила возможность объединения усилий отдельных исполнителей в единый процесс проектирования путем использования разделяемой базы данных, содержащей необходимую информацию о проекте.
CASE-технология представляет собой методологию проектирования ИС, а также набор инструментальных средств, позволяющих в наглядной форме моделировать предметную область, анализировать эту модель на всех этапах разработки и сопровождения ИС и разрабатывать приложения в соответствии с информационными потребностями пользователей. Большинство существующих CASE-средств основано на методологиях структурного (в основном) или объектно-ориентированного анализа и проектирования, использующих спецификации в виде диаграмм или текстов для описания внешних требований, связей между моделями системы, динамики поведения системы и архитектуры программных средств [Вендров А.М.,www.citforum.ru/database/case/index.shtml].
CASE-средства позволяют создавать не только продукт, практически готовый к применению, но и обеспечить "правильный" процесс его разработки. Основная цель технологии - отделить проектирование программного обеспечения от его кодирования, сборки, тестирования и максимально "скрыть" от будущих пользователей все детали разработки и функционирования ПО. При этом значительно повышается эффективность работы проектировщика: сокращается время разработки, уменьшается число программных ошибок, программные модули можно использовать при следующих разработках.
Большинство CASE-средств основано на парадигме "методология/метод/нотация/структура/средство".
Методология задает руководящие указания для оценки и выбора проекта разработки ПО, этапы и последовательность работ, правила применения тех или иных методов.
Метод - систематическая процедура или технология генерации описаний компонент ПО (например, описание потоков и структур данных).
Нотации предназначены для описания системы в целом, ее элементов, таких как графы, диаграммы, таблица, блок-схемы, алгоритмы, формальные языки и языки программирования.
Структуры являются средством для реализации структурного анализа и построения структуры конкретной системы.
Средства - технологические и программные инструменты для поддержки и усиления методов.
CASE-технологии обладают следующими основными достоинствами, которые позволяют широко использовать их при разработке информационных систем:
- ускоряют процесс коллективного проектирования и разработки;
- позволяют за короткий срок создать прототип заказанной системы с заданными свойствами;
- освобождают разработчика от рутинной работы, оставляя время для творчества;
- обеспечивают эффективность и качество разрабатываемого ПО за счет автоматизации контроля всего процесса разработки;
- поддерживают сопровождение и развитие системы на высоком уровне.
Следует отметить, что, несмотря на все потенциальные возможности CASE-средств, существует достаточно много примеров их неудачного внедрения, в результате которых CASE-средства становятся "полочным" ПО (Shelfware).
В связи с этим необходимо учитывать следующее:
- CASE-средства не обязательно дают немедленный эффект, он может быть получен только спустя какое-то время;
- реальные затраты на внедрение CASE-средств обычно намного превышают затраты на их приобретение;
- CASE-средства обеспечивают возможности для получения существенной выгоды только после успешного завершения процесса их внедрения, эффективного обучения пользователей и регулярного применения.
Можно также перечислить следующие факторы, усложняющие определение возможного эффекта от использования CASE-средств:
- широкое разнообразие качества и возможностей CASE-средств;
- относительно небольшое время использования CASE-средств в различных организациях и недостаток опыта их применения;
- широкое разнообразие в практике внедрения различных организаций;
- отсутствие детальных метрик и данных для уже выполненных и текущих проектов;
- широкий диапазон предметных областей проектов;
- различная степень интеграции CASE-средств в различных проектах.
Некоторые аналитики считают, что реальная выгода от использования некоторых типов CASE-средств может быть получена только после одно- или двухлетнего опыта. Другие полагают, что воздействие может реально проявиться в фазе эксплуатации жизненного цикла ИС, когда технологические улучшения могут привести к снижению эксплуатационных затрат.
Ниже перечислены основные виды и последовательность работ, рекомендуемые при построении логических моделей предметной области в рамках CASE-технологиианализа системы управления предприятием.
1. Проведение функционального и информационного обследования системы управления (административно-управленческой деятельности) предприятием (рис. 8.12):
o определение организационно-штатной структуры предприятия;
o определение функциональной структуры предприятия;
o определение перечня целевых функций структурных элементов (подразделений и должностных лиц);
o определение круга и очередности обследования структурных элементов системы управления согласно сформулированным целевым функциям;
o обследование деятельности выделенных структурных элементов;
o построение FD-диаграммы системы управления с указанием структурных элементов и функций, реализация которых будет моделироваться на DFD-уровне.
2. Разработка моделей деятельности структурных элементов и системы управления в целом:
o выделение множества внешних объектов, оказывающих существенное влияние на деятельность структурного элемента;
o спецификация входных и выходных информационных потоков;
o выявление основных процессов, определяющих деятельность структурного элемента и обеспечивающих реализацию его целевых функций;
o спецификация информационных потоков между основными процессами деятельности, уточнение связей между процессами и внешними объектами;
o оценка объемов, интенсивности и других необходимых характеристик информационных потоков;
o разработка иерархии диаграмм потоков данных, образующих функциональную модель деятельности структурного элемента;
o объединение DFD-моделей структурных элементов в единую модель системы управления предприятием.
3. Разработка информационных моделей структурных элементов и модели информационного пространства системы управления:
o определение сущностей модели и их атрибутов;
o проведение атрибутного анализа и оптимизация сущностей;
o идентификация отношений между сущностями и определение типов отношений;
o анализ и оптимизация информационной модели;
o объединение информационных моделей в единую модель информационного пространства.
4. Разработка предложений по автоматизации системы управления предприятием
o определение границ автоматизации - составление перечня автоматизируемых структурных элементов, разбиение процессов основной деятельности на автоматические, автоматизированные и ручные;
o составление перечня подсистем и логических АРМов (автоматизированных рабочих мест), определение способов их взаимодействия;
o разработка предложений по очередности проектирования и реализации подсистем и отдельных логических АРМов, входящих в состав ИС;
o разработка требований к средствам базового технического обеспечения ИС;
o разработка требований к средствам базового программного обеспечения ИС.
Логическая модель, отображающая деятельность системы управления предприятием, и информационное пространство, в котором эта деятельность протекает, представляют собой "снимок" положения дел (функциональная структура, роли должностных лиц, взаимодействие подразделений, принятые технологии обработки управленческой информации, автоматизированные и неавтоматизированные процессы и т. д.) на момент обследования. Эта модель позволяет понять, что делает и как функционирует предприятие с позиций системного анализа, и затем сформулировать предложения по улучшению ситуации.
Развитие логической модели предметной области, ее последовательное превращение в модель целевой ИС, позволит интегрировать перспективные предложения руководства и ведущих сотрудников предприятия, экспертов и системных аналитиков, сформировать видение новой, реорганизованной и автоматизированной деятельности предприятия (рис. 8.12).
Построенная модель является законченным результатом по следующим причинам.
1. Она включает в себя модель существующей неавтоматизированной технологии, принятой на предприятии. Формальный анализ этой модели позволяет выявить узкие места в управлении предприятием и сформулировать рекомендации по его улучшению (независимо от того, предполагается ли дальнейшая разработкаавтоматизированной системы или нет).
Рис. 8.12. Модель системы в технологическом CASE-решении
2. Она независима и отделяема от конкретных разработчиков, не требует сопровождения и может быть безболезненно передана другим лицам. Более того, если по каким-либо причинам предприятие не готово к реализации проекта в данный момент времени, модель может быть "положена на полку" до тех пор, пока в ней не возникнет необходимость.
3. Она позволяет осуществлять эффективное обучение новых работников конкретным направлениям деятельности предприятия, так как соответствующие технологии содержатся в модели.
4. С ее помощью можно осуществлять предварительное моделирование перспективных направлений деятельности предприятия с целью выявления новых потоков данных, взаимодействующих процессов и структурных элементов.
Рис. 8.13.
5. Она обеспечивает распространение накопленного опыта на других предприятиях, дает возможность унифицировать административно-управленческую ифинансовую деятельность этих предприятий.
Рис. 8.14.
Модель является не просто реализацией начальных этапов работы и основанием для формирования технического задания на ее последующие этапы. Она представляет собой самостоятельный результат, имеющий большое практическое значение, так как он позволяет дальнейшее применение CASE-технологий для реального проектирования и разработки ИС.
Современные CASE-пакеты имеют широкие возможности инструментального расширения за счет использования стандартных программных средств, что делает их чрезвычайно удобными при разработке программных и информационных систем (рис. 8.13 и 8.14).
Для успешного внедрения CASE-средств организация должна обладать нижеследующими качествами.
Культура. Готовность к внедрению новых процессов и взаимоотношений между разработчиками и пользователями, ИТ/ИС-управленцами и пользователями.
Управление. Четкое руководство и организованность по отношению к наиболее важным этапам и процессам внедрения.
Технология. Понимание ограниченности существующих возможностей и способность принять новую технологию.
Если организация не обладает хотя бы одним из перечисленных качеств, то внедрение CASE-средств может закончиться неудачей независимо от степени тщательности следования различным рекомендациям по внедрению.
В качестве примеров популярных CASE-средств укажем программные средства компании Computer Associates, IBM-Rational Software и Oracle:
- BPwin - моделирование бизнес-процессов;
- ERwin - моделирование баз данных и хранилищ данных;
- ERwin Examiner - проверка структуры СУБД и моделей, созданных в Erwin;
- ModelMart - среда для командной работы проектировщиков;
- Paradigm Plus - моделирование приложений и генерация объектного кода;
- Rational Rose - моделирование бизнес-процессов и компонентов приложений;
- Rational Suite AnalystStudio - пакет для аналитиков данных;
- Oracle Designer (входит в Oracle9i Developer Suite) - высокофункциональное средство проектирования программных систем и баз данных, реализующее технологию CASE и собственную методологию Oracle - CDM. Позволяет команде разработчиков полностью провести проект, начиная от анализа бизнес-процессов через моделирование к генерации кода и получению прототипа, а в дальнейшем и окончательного продукта. Сложное CASE-средство, его имеет смысл использовать при ориентации на линейку продуктов Oracle.
Рис. 8.15.
Самым мощным из указанных программных пакетов является пакет Rational Rose (RR) компании IBM-Rational, с помощью которого можно спроектировать и сопровождать весь жизненный цикл разработки программного продукта (рис. 8.15). Пакет включает набор средств моделирования объектно-ориентированных информационных систем, базирующихся на языке моделирования UML.
Пакет RR способен решать практически любые задачи в проектировании информационных систем: от анализа бизнес-процессов до кодогенерации на определенном языке программирования, позволяет разрабатывать как высокоуровневые, так и низкоуровневые модели, осуществляя тем самым абстрактное либо логическое проектирование (рис. 8.16).
Рис. 8.16.
Таким образом, современные CASE-средства вместе с системным программным обеспечением и техническими средствами поддержки образуют полную среду разработки информационных систем.