logo search
КНИГИ_Комп’ютерна обробка інформації / Інформаційні технології / Информационные технологии

9.4.1. Case-технологии

CASE(Computer-AidedSoftware/SystemEngineering) как новое направление в программировании сформировалось за последние 10-15 лет.

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

CASE-технология представляет собой совокупность методологического анализа, проектирования, разработки и сопровождения сложных систем программного обеспечения, поддержанную комплексом программных средств автоматизации. Это инструментарий для системных аналитиков, разработчиков и программистов, который позволяет автоматизировать процесс проектирования и разработки ПО. В настоящее время практически ни один серьезный зарубежный программный продукт не осуществляется без использования CASE-средств. Известная методология структурного системного анализа SADT (точнее ее подмножество IDEFO) принята в качестве стандарта на разработку ПО Министерством обороны США.

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

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

CASE-технология позволяет отделить проектирование информационной системы от собственно программирования и отладки: разработчик системы занимается проектированием на более высоком уровне, не отвлекаясь на детали. Это позволяет не допустить ошибок уже на стадии проектирования и получить более совершенные программные продукты.

Эта технология изменяет все стадии разработки ИС, более всего отражаясь на этапах анализа и проектирования

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

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

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

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

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

Помимо автоматизации структурных методологий CASE обладают следующими основными достоинствами:

В настоящее время CASE-технологии - одно из наиболее динамично развивающихся отраслей информатики, объединяющие сотни компаний. Из имеющихся на рынке CASE-технологий можно выделить: Application Development Workbench (ADW) фирмы Knowlegge Ware, BPwin (Logic Works), CDEZ Tods (Oracle), Clear Case (Alria Softwere), Composer (Texas Instrument), Discover Development Information System (Software Emancipation Technology).

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

Средства CASE-технологий делятся на две группы:

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

  1. диаграммы потоков данных (DFD - data dfow diagrams) совместно со словарями данных и спецификациями процессов;

  2. диаграммы «сущность-связь» (ERD - entity relationship diagrams), являющиеся инфологической моделью предметной области;

  3. диаграммы переходов состояний (STD - state transition diagrams), учитывающие события и реакцию на них системы обработки данных.

Другой класс CASE-технологий поддерживает только разработку программ, включая:

  1. автоматическую генерацию кодов программ на основании их спецификаций;

  2. проверку корректности описания моделей данных и схем потоков данных;

  3. документирование программ согласно принятым стандартам и актуальному состоянию проекта;

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

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

Большинство специалистов считают, что хорошее инструментальное средство CASE должно обладать следующими качествами:

Классификация CASE-средств по типам отражает их функциональную ориентацию в технологическом процессе.

Анализ и проектирование, создание спецификаций системы поддерживают следующие системы: CASE. Аналитик; Excelerator (Index Technology); Design-Aid (Nastec); Analist/Designer (Yourdon); Design/IDEF (Meta Software); SELECT (Select Software Tools); System Architech (Software&Systems) и др. На выходе продуцируются спецификации компонентов системы и интерфейсов, связывающих эти компоненты, а также предварительная архитектура системы; детальная проработка проекта, включающая алгоритмы и определение структур данных.

Проектирование баз данных и файлов предполагает использование следующих CASE-средств: ERWin (Logic Works); S- Designer (SDR), Designer/2000 (Oracle), Silverrun (Computer, Systems Advisers и др. Средства данной группы обеспечивают логическое моделирование данных, автоматическое преобразование моделей данных в 3НФ, автоматическую генерацию схем БД и описание форматов файлов на уровне программного кода.

Программирование. Средства этой группы поддерживают этапы программирования и тестирования, а также автоматическую кодогенерацию из спецификаций, получая полную документированную выполняемую программу: СOBOL 2/Workbench (MicroFocus); DECASE (DEC); NETRON/CAP (Netron), APS (Sage Software). Помимо диаграммеров различного назначения и средств поддержки работы с репозитарием, в эту группу средств включены и традиционные генераторы кодов, анализаторы кодов (как в статике, так и динамике), генераторы наборов тестов, анализаторы покрытия тестами, отладчики.

Сопровождение и реинжинеринг. К таким средствам относятся документаторы, анализаторы программ, средства реконструирования и реинжениринга: Adpac CASE Tools (Adpac), Scan/COBOL & Super Structure (Computer Data Systems), Inspector/Recoder (Language Technology). Их целью является корректировка, изменение, анализ, приобретение и реинжениринг существующей системы.

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

Окружение. Средства поддержки платформ для интеграции, создания и придания товарного вида CASE-средствам Multi/Cam (AGS Management Systems), Sylva Foundry (Cagware).

Управление проектом – средства, поддерживающие планирование, контроль, руководство, взаимодействие, т.е. функции, необходимые в процессе разработки и сопровождения проектов: Project Workbench (Applied Business Technology).

CASE-средства классифицируются также по категориям. Такая классификация определяет уровень интегрированности по выполняемым функциям и включает:

Пакет CASE-Аналитик

Пакет CASE-Аналитик является единственной отечественной разработкой, доведенной до рынка, который относится к CASE-средствам первой генерации. В основе пакета лежит методология структурного системного анализа Гейне-Сарсоне. Пакет обеспечивает:

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

В состав пакета входят:

  1. База данных проекта, в которой CASE. Аналитик хранит всю информацию о модели системы – как о топологии и иерархии диаграмм, так и о структурных компонентах. При этом пользователю предоставляется графический интерфейс с базой данных и возможность получения разнообразных отчетов по проекту. В CASE. Аналитик используется БД в формате СУБД Paradox. БД доступа для программ, работающих с форматом Paradox. В этом смысле она является открытой. БД включает контекстные диаграммы, диаграммы потоков данных, диаграммы управляющих потоков, структуры данных, описание логики процессов, спецификации элементов данных, сигналов и структурных объектов, а также исходные данные о системе, проекте, причастных лицах и организациях, разработчиках и т.п.

  2. Графические редакторы потоков диаграмм и структурограмм данных. Все действия над диаграммами при редактировании отображаются на экране в графических видах. При вводе элементов диаграмм и их редактировании осуществляется контроль корректности вводимой информации и ее совместимости с остальными частями проекта. Введенная (измененная) информация запоминается в БД проекта автоматически и по запросу пользователя.

  3. Средства вывода экранных и печатных форм – для контроля и анализа проекта и его презентации. Предусмотрены следующие экранные и печатные формы – контекстная диаграмма, диаграмма потоков данных, диаграмма потоков управления, структурограмма данных, перечни объектов словаря данных, отсортированных и выбранных различными способами, содержание элементов словаря данных, миниспецификации логики процесса, протоколы верификации проекта, отчеты проекта.

  4. Документатор. Состав и содержание документов проекта системы регламентируется комплексами стандартов и руководящих материалов. CASE. Аналитик поддерживает следующие стандарты и руководящие документы:

Кроме того, оформление диаграмм при печати может быть выполнено в соответствии с требованиями ЕСПД: автоматически генерируется рамка и надписи.

  1. Верификатор. Принципиальные решения по верификации проекта делает пользователь-аналитик. Эти решения аналитик принимает по результатам простых, но очень трудоемких процедур контроля и верификации, которые CASE. Аналитик выполняет автоматически по запросу. CASE. Аналитик предоставляет следующие средства верификации:

К основным функциям пакета относят следующие:

  1. Построение и редактирование потоковых диаграмм.

  2. Навигация по диаграммам – навигация по горизонтали с использованием специального окна навигации и навигацию по вертикали (вглубь, наверх), а также выбор и загрузку любой диаграммы с использованием дерева диаграмм проекта.

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

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

  5. Описание логики процессов – позволяет вводить и редактировать миниспецификации процессов с использованием структурированного естественного языка.

  6. Навигация по БД проекта – позволяет осуществлять доступ к спецификации любого объекта модели, используя списки и перечни объектов, поиск по имени, а также доступ из диаграмм и структурограммам.

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

  8. Печать диаграмм – режимы: качественная печать, быстрая печать, пропорциональная, печать для презентаций.

  9. Генерация отчетов и документов – средства позволяют генерировать 12 отчетов по проекту в соответствии с вышеперечисленными стандартами, а также отчеты по спецификациям объектов (13 типов объектов), перечням объектов (11 отчетов) и верификации (6 отчетов).

  10. Экспорт/импорт – благодаря этой функции возможно взаимодействие аналитиков, работающих на автономных рабочих местах. Руководитель проекта ведет центральную БД проекта и экспортирует для проработки другим аналитикам части (поддеревья) иерархической информационно-логической модели системы.