Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


CASE-ТЕХНОЛОГИЯ ПРОЕКТИРОВАНИЯ.



Таким образом за последнее десятилетие сформировалось новое направление в проектировании - CASE-технология (Computer-Aided Software/System Engineering). В последнее время эту аббревиатуру стали расшифровывать как “компьютерная поддержка проектирования систем”.

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

В настоящее время CASE - наукоемкое направление, повлекшее за собой образование мощной CASE - индустрии, объединившей сотни фирм и компаний различной ориентации:

- компании-разработчики средств анализа и проектирования программного обеспечения с широкой сетью дистрибьюторских и дилерских фирм;

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

- обучающие фирмы;

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

- фирмы, специализирующиеся на выпуске справочной и рекламной литературы по CASE.

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

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

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

Поколения CASE-средств:

1 поколение:

Назначение - анализ требований, проектирование спецификаций и структурирование, адресовано системным аналитикам и проектировщикам

Разработанные средства - для поддержки графических моделей, проектирования спецификаций, редактирования словарей данных

Цели - концентрация внимания на начальных этапах проекта

2 поколение:

Назначение - для обеспечения полного жизненного цикла разработки приложения.

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

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

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

Рассмотрим более подробно основные этапы формализации процесса проектирования сложных проектов с использованием CASE-технологии.

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

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

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

Единый графический язык.

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

Единая БД проекта.

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

Поддержка коллективной разработки и управления проектом.

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

Макетирование.

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

Генерация документации.

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

Верификация проекта/

CASE-технология обеспечивает автоматическую верификацию и контроль проекта на полноту и состоятельность на ранних этапах разработки, что влияет на успех разработки в целом - по статистическим данным анализа пяти крупных проектов фирмы TRW (США) ошибки проектирования и кодирования составляют соответственно 64% и 32% от общего числа ошибок, а ошибки проектирования в 100 раз труднее обнаружить на этапе сопровождения ПО, чем на этапе анализа требований.

Автоматическая генерация объектного кода.

Генерация программ в машинном коде осуществляется на основе репозитория и позволяет автоматически построить до 85-90% объектного кода или текстов на языках высокого уровня.

Сопровождение и реинжиниринг.

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

Табл. 1

Традиционная технология разработки Разработка с помощью CASE-технологий
Основные усилия - на кодирование и тестирование Основные усилия - на анализ и проектирование
" Бумажные" спецификации Быстрое итеративное макетирование
Ручное кодирование Автоматическая генерация машинного кода
Тестирование ПО Автоматический контроль проекта
Сопровождение программного кода Сопровождение проекта

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

Табл. 2

Анализ Проектирование Программирование Тестирование
20% 15% 20% 45%
30% 30% 15% 25%
40% 40% 5% 15%

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

1.1. Анализ требований

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

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

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

- описание выполняемых системой функций;

- ограничения в процессе разработки, имеющиеся ресурсы.

На этапе анализа определяются:

- архитектура системы, ее функции, внешние условия;

- интерфейсы и распределение функций между человеком и системой;

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

 

Проектирование

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

Проектирование можно разделить на два основных этапа:

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

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

Трудности реализации проекта системы:

1. Заказчику системы трудно сформулировать требования к системе, исчерпывающе понятые системным аналитиком.

2. Отсутствие достаточных знаний у заказчика о проблеме обработки данных или знаний для решения вопроса о реализуемости отдельных составляющих системы.

3. Недостаточность знаний системного аналитика о закономерностях предметной области реализуемого приложения.

4. Спецификация системы из-за объема и новизны технических терминов часто непонятна заказчику.

5. Информационная недостаточность спецификаций для проектировщиков и программистов при ее понятости заказчиком.

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

Базовые принципы методологии структурного анализа:

1 принцип: - “разделяй и властвуй”- для решения трудных проблем путем разбиения их на множество мелких и независимых частей-задач;

2 принцип - “иерархического упорядочения”- дополняет первый и декларирует, что устройство этих частей также существенно для понимания.

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

Средства проектирования и структурного анализа объединяются в три группы:

1 группа - функции, которые система должна выполнять;

2 группа -отношения между данными;

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

Среди многообразия средств проектирования и структурного анализа наиболее часто применяются:

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

- ERD (entity-relationship diagrams) диаграммы “сущность-связь”;

- STD (state transition diagrams) диаграммы переходов состояний.

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

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

Диаграмма STD содержит средства описывающие и раскрывающие поведения системы в реальном времени.

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

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

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

- общий пользовательский интерфейс по всем средствам;

- передачу данных между средствами;

- интеграцию этапов разработки через единую систему “представителей фаз; ”

- передачу данных и средств между различными платформами.

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

 


Поделиться:



Популярное:

Последнее изменение этой страницы: 2017-03-11; Просмотров: 1094; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.048 с.)
Главная | Случайная страница | Обратная связь