русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

CASE-технология


Дата добавления: 2014-05-22; просмотров: 2408; Нарушение авторских прав


 

Анализ литературы последних лет по технологии программирования показывает [14; 20; 23; 35 и др.], что новой ветвью в технологии промышленной разработки и реализации сложных и значительных по объему систем программного обеспечения является CASE-технология (Computer Aided Software Engineering).

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

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



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

САSE-ToolKits и CASE-WorkBenches. Хороших русских эквивалентов этим терминам нет. Однако первые часто называют «инструментальными сундучками» (пакетами разработчика, технологическими пакетами), а вторые - «станками для производства программ» (технологическими линиями).

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

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

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

Таким образом, CASE-WorkBench является естественным «замыканием» технологии разработки, реализации и сопровождения программного обеспечения.

В настоящее время «типовая» система поддержки CASE-технологии имеет функциональные возможности, представленные на рис. 14.

 

Рис. 14. Функциональные возможности типовой системы поддержки CASE-технологии

 

Как следует из рис. 14, в CASE-среде должны поддерживаться все основные этапы разработки и сопровождения процессов создания программных систем. Однако уровень такой поддержки существенно различен. Так, например, если говорить об этапах анализа и проектирования, большинство инструментальных пакетов поддерживает экранные и отчетные формы, создание прототипов, обнаружение ошибок. Значительная часть этих средств предназначена для ПЭВМ. Многие поддерживают такие широко используемые методологии, как структурный анализ DeMarco или Gane/Sarson, структурное проектирование Yourdan/Jackson и некоторые другие. Существуют специализированные пакеты разработчиков для создания информационных систем, например AnaTool (Advanced Logical Software) для Macintosh; CA-Universe/Prototype (Computer Associates International) для ПЭВМ. Имеются CASE-среды и для поддержки разработки систем реального времени.

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

В процессе создания проекта выделяют следующие этапы:

- формирование требований, разработка и выбор варианта концепции системы;

- разработка и утверждение технического задания на систему;

- эскизный и технический проекты с описанием всех компонентов и архитектуры системы;

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

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

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

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

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

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

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

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

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

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

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

Основные достоинства CASE-технологии:

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

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

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

- ускорение обучения персонала и использование программного обеспечения в полном объеме,

- постоянное обновление и модернизация пользовательских программ.

Наиболее известной в России в настоящее время является CASE-система Oracle, позволяющая создавать приложения на базе одноименной СУБД. В ее основе лежит CASE-метод проектирования сети «сверху вниз» - от наиболее общих решений к частным. Этапы в Oracle выглядят следующим образом [17]:

- выработка стратегии;

- анализ объекта;

- проектирование;

- реализация;

- внедрение;

- эксплуатация.

ER-модель строится на этапе анализа объекта, а СУБД -на этапе проектирования.

CASE-система Oracle состоит из инструментальных средств CASE*Dictionary (для графического представления модулей предметной области); CASE*Generator (для автоматического генерирования программных модулей).

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

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

 



<== предыдущая лекция | следующая лекция ==>
Технологии разработки программного обеспечения (программирования) | Мультимедиа-технологии


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.005 сек.