Главная

Популярная публикация

Научная публикация

Случайная публикация

Обратная связь

ТОР 5 статей:

Методические подходы к анализу финансового состояния предприятия

Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века

Ценовые и неценовые факторы

Характеристика шлифовальных кругов и ее маркировка

Служебные части речи. Предлог. Союз. Частицы

КАТЕГОРИИ:






CASE-технологии — инструментарий поддержки ЖЦ




Практически ни один серьезный проект по созданию АСУП не осуществляется без использования CASE-средств. CASE (Computer- Aided Software/System Engineering) представляет собой совокупность методологий анализа, проектирования, разработки и сопровожде­ния сложных программных систем, поддержанную комплексом вза­имоувязанных средств автоматизации. CASE — это инструментарий для системных аналитиков, разработчиков и программистов, заме­няющий им бумагу и карандаш компьютером для автоматизации процесса проектирования и разработки ПО. При применении этого инструментария отмечается значительный рост производительнос­ти труда, составляющий (по оценкам фирм, использующих CASE) от 100 до 600% в зависимости от объема и сложности работ и опыта использования CASE. Общее число распространяемых пакетов пре­вышает 500 наименований. Объем рынка CASE-средств превышает 10 млрд. долл. в год, число инсталляций наиболее популярных паке­тов составляет десятки тысяч.

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

Следует отметить, что CASE — не революция в программотехни­ке, а результат естественного эволюционного развития всей отрас­ли средств, называемых ранее инструментальными или технологи­ческими. Однако это и не Confuse Array of Software that does Everything, существует ряд признаков и свойств, наличие которых позволяет классифицировать некоторый продукт как CASE-средство. Одним из ключевых признаков является поддержка структурных и/или объек- тно-ориентированных методологий. С самого начала CASE-средства развивались с целью преодоления ограничений при использовании структурных (а в настоящее время и объектно-ориентированных) методологий (сложности понимания, большой трудоемкости и сто­имости использования, трудности внесения изменений в проект­ные спецификации и т. д.) за счет их автоматизации и интеграции поддерживающих средств.

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

• улучшают качество создаваемой системы за счет средств авто­матического контроля (прежде всего контроля проекта);

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

• ускоряют процесс проектирования и разработки;

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

• поддерживают развитие и сопровождение разработки;

• поддерживают технологии повторного использования компо­нент разработки.

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

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

В табл. 8 приведены оценки трудозатрат по фазам ЖЦ. В табл. 9 сведены основные изменения в ЖЦ при использовании CASE по сравнению с традиционной разработкой.

На рис. 24 представлены преимущества разработки с применени­ем CASE-технологий.

Ниже кратко характеризуются основные функциональные воз­можности CASE-средств.

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


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

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

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

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

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

7) Верификация проекта. CASE обеспечивает автоматическую верификацию и контроль проекта на полноту и состоятельность на ранних этапах разработки, что влияет на успех разработки в целом. В подтверждение этого достаточно привести следующие статисти­ческие данные, основанные на отчетах фирмы TRWпо анализу пяти крупных проектов:

• ошибки проектирования и ошибки кодирования составляют соответственно 64 и 32% общего числа ошибок;

• ошибки проектирования значительно труднее обнаружить на этапе сопровождения ПО, чем на этапе анализа требований.

Базой для контроля состоятельности проектных спецификаций является репозитарий. Все отчеты и протоколы верификации стро­ятся автоматически по репозитарию, ниже перечислены основные типы контроля:

• контроль синтаксиса диаграмм и типов их элементов;

• контроль полноты и состоятельности диаграмм;

• контроль декомпозиции функций;

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

 

8) Автоматическая кодогенерация. Кодогенерация осуществляет­ся на основе репозитария и позволяет автоматически построить до 80—90% объектных кодов или текстов программ на языках высокого уровня. При этом различными CASE-пакетами поддерживаются прак­тически все известные языки программирования, однако наиболее час­то в качестве целевых языков выступают COBOL, С и ADA. Средства кодогенерации по отношению к полноте целевого продукта разделяют­ся на средства генерации каркаса и средства генерации полного продукта. В первом случае автоматически строится откомментиро­ванная логика (потоки управления) программной системы, а также коды для баз данных, файлов, экранов, отчетов и т. п., остальные фраг­менты кодируются вручную. Во втором случае из проектных специфи­каций генерируется полная документированная программа, включая вы­полняемый код, пользовательскую и программную документацию, набо­ры тестов и т. д. Все эти компоненты полной программы связывают­ся в единый объект, хранящийся в репозитарии для облегчения доступа и сопровождения.

Идея автоматической кодогенерации на основе модели заключает­ся в следующем. Любая программа схематически может быть пред­ставлена в виде тройки: обрабатываемые данные, логический каркас обработки, линейные участки обработки. Схема базы данных может быть легко сгенерирована на основании модели «сущность—связь», и современные средства информационного моделирования (например, ERWin, Designer/2000 и др.) обеспечивают такую генерацию. Логика обработки генерируется на основе диаграмм потоков данных: извест­ны алгоритмы автоматического преобразования иерархии DFD в струк­турные карты, а с задачей получения из структурных карт соответ­ствующих кодов легко справляется теория компиляции. Наконец, ли­нейным участкам соответствуют мини-спецификации модели. И имен­но здесь лежит ключ к высокому проценту автоматически сгенериро­ванного кода, существенно зависящего от метода задания мини-специ­фикаций.

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

 






Не нашли, что искали? Воспользуйтесь поиском:

vikidalka.ru - 2015-2024 год. Все права принадлежат их авторам! Нарушение авторских прав | Нарушение персональных данных