Разделы

  Java, JavaScript
  Документация Perl
  Новости
  Документация ASP
  Flash
  Интернет протоколы
  Apache
  Уроки программирования
  Язык программирования C

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

Уроки программирования
4.1 / 5 (98 оценок)

CASE-технология (Computer-Aided Software / System Engineering) представляет собой совокупность методологий анализа, проектирования, разработки и сопровождения сложных систем программного обеспечения (ПО), поддержанную комплексом взаимосвязанных средств автоматизации. CASE предоставляет системным аналитикам, проектировщикам и программистам инструментарий для автоматизации проектирования и разработки ПО.

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

1. Разработка делового и коммерческого ПО. Широкое применение CASE-технологий обусловлено массовостью этой прикладной области, в которой CASE применяется не только для разработки ПО, но и для создания моделей систем, помогающих коммерческим структурам решать задачи стратегического планирования, управления финансами, определения политики фирм, обучение персонала (этот направление получил собственное название - бизнес-анализ).

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

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

Жизненный цикл программного обеспечения

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

Типичный ЖЦ ПО включает следующие основные этапы:
• анализ требований;
• проектирование;
• кодирование (программирование);
• тестирование и наладка;
• эксплуатация и сопровождение.

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

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

Характеристика, состав и функциональные возможности CASE-средств

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

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

2. Использование компьютерного хранилища, или репозитория (repository) - базы данных CASE, в которой хранится вся проектная информация. Эта информация является основой для автоматического создания ПО и повторного использования его в будущих системах.
3. Интеграция информации и инструментальных средств, позволяющий управлять всем процессом проектирования и разработки ПО, используя средства планирования проекта. Выделяют следующие виды интеграции:
• интеграция данных;
• интеграция управления и контроля;
• интеграция представление (изображение).

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

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

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

4. Широкое применение базовых программных средств различного назначения (БД и СУБД, компиляторы, отладчик, документаторы, текстовые редакторы, оболочки экспертных систем и базы знаний, языка четвертого поколения и т.д.).

5. Автоматизированная или автоматическая кодогенерации, предназначенная для выполнения нескольких видов генерации кодов: преобразования для получения документации, формирования БД, ввода и модификации данных, получение выполняемых машинных кодов из спецификаций ПО, автоматического составления модулей из словарей и моделей данных и повторно используемых программ, автоматической конверсии файлов в новые форматы.

6. Ограничение сложности с целью получения управляемых компонентов системы с простой структурой и доступных для осмотра и понимания.
7. Доступность для различных категорий пользователей.
8. Эффективность использования и рентабельность.
9. Гибкость, которая обеспечивает способность к адаптации при изменении требований и целей проекта.

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

Интегрированный CASE-пакет содержит множество средств, принадлежащих к четырем основным группам:

1. Средства централизованного хранения в течение ЖЦ всей информации относительно проектируемого ПО. Это так называемый репозиторий, который является основой CASE-пакета. Соответствующая БД должна быть способна поддерживать большую систему описаний и характеристик и предусматривать надежные меры защиты от ошибок и потерь информации. Репозиторий должен обеспечивать:

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

2. Средства ввода, предназначенные для ввода данных в репозиторий, а также для организации взаимодействия с CASE-пакетом. Эти средства должны поддерживать различные методологии и использоваться в течение ЖЦ многими категориями пользователей: аналитиками, проектировщиками, инженерами, администраторами и т.д.

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

4. Средства вывода, используемые для документирования, управления проектом и кодовой генерации.

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

Поддержка графических моделей

В процессах анализа и проектирования ПО одним из основных средств отображения структуры компонентов программных систем являются графические модели. Главными их преимуществами по сравнению со словесными описаниями является простота и компактность, а также легкость восприятия. Для представления различных аспектов концептуальной модели системы используются четыре типа диаграмм: диаграммы функционального проектирования, к которым относятся DFD-диаграммы потоков данных; диаграммы моделирования данных (ERD-диаграммы «сущность-связь»); диаграммы моделирования поведения (как правило, STD- диаграммы переходов состояний) и структурные карты (схемы) SC.

На диаграммах потоков данных (Data Flow Diagram, DFD) отражаются потоки данных, процессы преобразования входных потоков в выходные; хранилища информации, источники и потребители информации, внешние относительно системы. Каждый из процессов может быть представлен диаграммой низкого уровня. В дальнейшем эти диаграммы являются основой для формирования структуры разрабатываемого ПО.

На диаграммах «сущность-связь» (Entity-Relationship Diagrams, ERD) должны быть показаны так называемые сущности (информационные объекты, представляющие интерес с точки зрения последующего хранения) и связи между сущностями с отображением характера связи. Эти диаграммы являются основой для проектирования баз данных.

На диаграммах переходов состояний (State Transition Diagram, STD) отображаются состояния, в которых может находиться система, и возможные переходы из одного состояния в другое. Согласно диаграмме проектируется пользовательский интерфейс.

Структурные карты (Structure Chart, SC) служат для отображения архитектуры системы в виде совокупности программных модулей и связей между ними, а также данных, передаваемых от одного модуля к другому.

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

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

Контроль проектной информации

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

CASE-средства способны обеспечить автоматическую верификацию и контроль проекта на полноту и обоснованность на ранних этапах ЖЦ. Диаграмеры и верификаторы осуществляют следующие типы контроля:

1. Контроль синтаксиса диаграмм и типов их элементов. По контроля этого вида проверяется, соблюдены соответствии диаграмм правилам построения их, а также реального заполнения элементов диаграмм типам элементов.

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

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

4. Сквозной контроль диаграмм одного или разных типов с целью проверки согласованности по уровням - вертикальное и горизонтальное балансирование диаграмм. Вертикальное балансировки применяется для диаграмм одного типа и направлено на выявление несбалансированных потоков данных в диаграмме, детализируется, и в диаграмме, которую детализирует.
Горизонтальное балансирование обнаруживает несоответствия между DFD, ERD, STD, словарями данных и миниспецификациямы процессов. Например, при балансировании DFD-ERD контролируется соответствие каждого хранилища данных на DFD сущности или отношению на ERD.

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

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

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

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

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

Средства кодогенерации включают средства генерации каркаса ПО и средства генерации полного продукта. Каркас ПО включает описание потоков управления ПО, а также коды для БД, файлов, экранов и отчетов. Остальные ПО при этом кодируется вручную. В случае генерации полного продукта из проектных спецификаций генерируется полная программа вместе с сопроводительной документацией. Чаще всего в CASE-пакетах обеспечивается кодирования на языках COBOL, C i ADA.


Другие материалы по теме:

- Технологии Internet
- Понятие языка программирования
- Использование языков и сред программирования как средств обучения
- Eclipse
- Технология intranet


📌 www.smti.ru © 2026 SMTI.RU: инструменты, знания и сообщество для создания веб-проектов | Обратная связь