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

Автор: Пользователь скрыл имя, 08 Января 2012 в 15:04, реферат

Описание работы

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

Работа содержит 1 файл

Документ Microsoft Office Word.docx

— 56.11 Кб (Скачать)

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

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

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

Объектно-ориентированный  подход основан на объектной декомпозиции с описанием поведения системы  в терминах в действия объектов.

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

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

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

    Идеальное объектно-ориентированное САSЕ-средство должно содержать четыре основных блока: анализ, проектирование, разработка и инфраструктура [8].

    Основные  требования к блоку анализа:

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

    Основные  требования к блоку проектирования:

  • поддержка всего процесса проектирования приложения;
  • возможность работы с библиотеками, средствами поиска и выбора;
  • возможность разработки пользовательского интерфейса;
  • поддержка стандартов ОLE, ActiveX и доступ к библиотекам HTML или Java;
  • поддержка разработки распределенных или двух- и трехзвенных клиент-серверных систем (работа с CORBA, DCOM, Internet).

    Основные  требования к блоку реализации:

  • генерация кода полностью из диаграмм;
  • возможность доработки приложений в клиент-серверных САSЕ-средствах типа Power Builder;
  • реинжиниринг кодов и внесение соответствующих изменений в модель системы;
  • наличие средств контроля, которые позволяют выявлять не соответствие между диаграммами и генерируемыми кодами и обнаруживать ошибки как на стадии проектирования, так и на стадии реализации.

    Основные  требования к блоку инфраструктуры:

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

    Сравнительный анализ САSЕ-систем показывает, что на сегодняшний день одним из наиболее приближенных к идеальному варианту САSЕ-средств является семейство Rational Rose фирмы Ration Software Corporation. Следует отметить, что именно здесь работают авторы унифицированного языка моделирования Г. Буч, Д. Рамбо и И. Джекобсон, под руководством которых ведется разработка нового САSЕ-средства, поддерживающегоUML.

    Выделим основные критерии оценки и выбора САSЕ-средств.

    Функциональные  характеристики:

  • среда функционирования: проектная среда, программное обеспечение/технические средства, технологическая среда;
  • функции, ориентированные на фазы жизненного цикла: моделирование, реализация, тестирование;
  • общие функции: документирование, управление конфигурацией, управление проектом;
  • Надежность;
  • Простота использования;
  • Эффективность;
  • Сопровождаемость;
  • Переносимость;

    Общие критерии (стоимость, затраты, эффект внедрения, характеристики поставщика). 
 
 
 

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

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

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

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

    Согласно  обзору передовых технологий (Survey of Advanced Technology), составленному фирмой Systems Development Inc. в 1996 г. по результатам анкетирования  более 1000 американских фирм, CASE-технология в настоящее время попала в  разряд наиболее стабильных информационных технологий (ее использовала половина всех опрошенных пользователей более  чем в трети своих проектов, из них 85% завершились успешно). Однако, несмотря на все потенциальные возможности CASE-средств, существует множество примеров их неудачного внедрения, в результате которых CASE-средства становятся "полочным" ПО (shelfware). В связи с этим необходимо отметить следующее:

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

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

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

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

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

    Технология. Понимание ограниченности существующих возможностей и способность принять новую технологию;

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

    Управление. Четкое руководство и организованность по отношению к наиболее важным этапам и процессам внедрения.

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

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

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

Информация о работе CASE-технологии