возможности case средств для автоматической генерации программного кода
CASE-средства
В соответствии с международным стандартом под CASE-средством понимается программное средство, поддерживающее процессы жизненного цикла ПО, включая анализ требований к системе, проектирование прикладного ПО и баз данных, генерацию кода, тестирование, документирование, обеспечение качества, управление конфигурацией ПО и управление проектом, а также другие процессы. CASE-средства совместно с системным ПО и техническими средствами образуют среду разработки ПО экономических информационных систем.
Современный рынок CASE-средств насчитывает порядка трех сотен различного рода программных систем, ориентированных к применению как на персональных компьютерах, так и в сложных дорогостоящих вычислительных системах с различными операционными системами.
Общепринятой является классификация CASE-средств по типам, отражающая их функциональную ориентацию на те или иные процессы жизненного цикла ПО. Она включает в себя следующие типы:
· средства анализа и проектирования, предназначенные для построения и анализа как моделей деятельности организации предметной области, так и моделей проектируемой системы. Целью их использования является определение системных требований и свойств, которыми система должна обладать, а также создание проекта системы, удовлетворяющей этим требованиям и обладающей соответствующими свойствами. Результатом их применения являются спецификации компонентов системы и их интерфейсов, алгоритмов и структур данных;
· средства проектирования баз данных, обеспечивающие моделирование данных и генерацию схем баз данных (как правило, на структурированном языке запросов SQL) для наиболее распространенных СУБД;
· средства управления требованиями, обеспечивающие комплексную поддержку разнородных требований к создаваемой системе;
· средства управления конфигурацией ПО, обеспечивающие управляемость и контролируемость процессов разработки и сопровождения ПО;
· средства документирования, позволяющие автоматически извлекать разнообразную информацию, получаемую на разных стадиях разработки проекта, и включать ее в выходные документы. При этом контролируются соответствие документации проекту, взаимосвязь документов, обеспечивается их своевременное обновление. Результирующая документация автоматически формируется из множества источников, число которых не ограничено;
· средства тестирования, предназначенные для автоматического тестирования приложений;
· средства управления проектом ПО, позволяющие оптимально планировать инвестиционную деятельность, более полно учитывать проектные риски, оптимизировать использование имеющихся ресурсов и избегать конфликтных ситуаций, контролировать исполнение составленного плана, анализировать фактические показатели и вносить своевременную коррекцию в ход работ, накапливать, анализировать и использовать в дальнейшем опыт реализованных проектов;
· средства реверсного инжиринга, предназначенные для переноса существующей системы ПО в новую среду. Они обеспечивают анализ программных кодов и схем баз данных и формирование на их основе различных моделей и проектных спецификаций.
· наличие эффективных графических средств для описания и документирования системы, поддерживающих удобный интерфейс с разработчиком;
· объединение отдельных компонентов CASE-средств, ориентированное на обеспечение управляемости процессом разработки ПО;
· организация хранилища проектных метаданных (репозитария).
Основными функциями репозитария являются: хранение, обновление, доступ, визуализация (представление в легко воспринимаемой форме) и анализ всей информации по проекту создания ПО. Репозитарий включает в себя не только информационные объекты различных типов, но и отношения между их компонентами, а также правила использования или обработки этих компонентов. Информационными объектами являются диаграммы, экраны, меню, проекты (шаблонов) отчетов, описания данных, исходные программные коды и др. Для каждого объекта задается индивидуальный перечень его свойств: имя, тип, текстовое описание, входящие в его состав компоненты, области изменения значений, правила изменения и редактирования объекта, отношения с другими объектами, время создания и последнего обновления объекта и др. Все отчеты, формируемые в процессе разработки ПО, строятся автоматически по содержимому репозитария. На его основе реализуются функции управления и контроля проекта, включая контроль безопасности (управление доступом), контроль вносимых изменений и др. Репозитарий должен обеспечивать синхронизацию поступления информации от разработчиков при групповой работе над проектом, контроль метаданных на полноту и непротиворечивость.
Графические средства ориентированы на обеспечение:
· создания иерархически связанных диаграмм с использованием графических и текстовых объектов;
· редактирования объектов, включая изменение их размеров, группировку, перемещения с сохранением связей между объектами;
· автоматический контроль ошибок (контроль синтаксиса диаграмм и типов их элементов, контроль их полноты и состоятельности и др.).
Во многих CASE-средствах основу репозитария образует объектно-ориентированная база данных.
Большинство CASE-средств в процессе разработки проекта формируют следующие документы: совокупность различного рода диаграмм, представляющих, в целом, модель разрабатываемой программной системы; спецификации классов, объектов, атрибутов, операций; заготовки текстов программ, при необходимости дорабатываемых программистами.
При выборе CASE-средств используют ряд критериев:
· возможность обеспечения поддержки полного жизненного цикла ПО с эволюционным характером его развития;
· реализацию единой технологической среды создания, сопровождения и развития ПО, обеспечивающей целостность проекта и контроль за его состоянием;
· независимость средств от программно-аппаратной платформы и СУБД как на этапе разработки проекта, так и на этапе эксплуатации приложений;
· поддержку параллельной работы групп разработчиков с согласованным и корректным внесением результатов их деятельности в общий проект;
· возможность реализации в разрабатываемых приложениях современных информационных технологий, включая технологию “клиент-сервер”;
· реализацию открытой архитектуры разрабатываемых приложений, позволяющей интегрировать инструментальные средства различных производителей и осуществлять экспорт/импорт результатов для их использования при проектировании (продолжении проектирования) в других средах;
· использование в разрабатываемых приложениях общепринятых, стандартных нормативов, соглашений и методов.
Помимо приведенных критериев при выборе CASE-средств важное значение имеют наличие качественной технической поддержки конкретных средств (сети квалифицированных дистрибьюторов и консультантов), стоимость приобретения и поддержки этих средств, простота их освоения и использования.
Процесс внедрения CASE-средств включает следующие этапы:
· определение потребностей в CASE-средствах;
· оценку и выбор CASE-средств;
· выполнение пилотного (первого в конкретной области) проекта;
· практическое внедрение CASE-средств.
Успешное внедрение CASE-средств должно обеспечить:
· высокий уровень технологической поддержки процессов разработки и сопровождения ПО;
· положительное воздействие на некоторые или на все из перечисленных факторов: производительность, качество продукции, соблюдение стандартов, документирование;
· приемлемый уровень отдачи от инвестиций в CASE-средства.
Опыт применения CASE-средств показывает, что они являются эффективным средством поддержки коллективной работы над сложным, трудоемким проектом благодаря возможности параллельной работы в рамках компьютерной сети групп разработчиков, наличию средств экспорта и импорта любых фрагментов проекта, встроенным средствам организационного управления проектом в целом. С другой стороны, практика использования CASE-средств показывает, что имеется множество примеров их не очень эффективного применения. Следует иметь ввиду, что CASE-средства необязательно дают немедленный эффект; зачастую он может быть получен только спустя какое-то время после успешного внедрения результатов; реальные затраты на внедрение CASE-средств намного превышают расходы на их приобретение.
Дата добавления: 2015-03-07 ; просмотров: 3365 ; ЗАКАЗАТЬ НАПИСАНИЕ РАБОТЫ
Основные возможности CASE-средств
Современные СASE-средства охватывают обширную область поддержки многочисленных технологий проектирования информационных систем: от простых средств анализа и документирования до полномасштабных средств автоматизации, покрывающих весь жизненный цикл программного обеспечения.
Наиболее трудоемкими этапами разработки информационной системы являются этапы анализа и проектирования, в процессе которых CASE-средства обеспечивают качество принимаемых технических решений и подготовку проектной документации. При этом большую роль играют методы визуального представления информации. Это предполагает построение структурных или иных диаграмм в реальном масштабе времени, использование многообразной цветовой палитры, сквозную проверку синтаксических правил. Графические средства моделирования предметной области позволяют разработчикам в наглядном виде изучать существующую информационную систему, перестраивать ее в соответствии с поставленными целями и имеющимися ограничениями.
В наиболее полном виде CASE-средства обладают следующими характерными особенностями:
· единый графический язык. CASE-технологии обеспечивают всех участников проекта, включая заказчиков, единым строгим, наглядным и интуитивно понятным графическим языком, позволяющим получать обозримые компоненты с простой и ясной структурой. При этом программы представляются двумерными схемами (которые проще в использовании, чем многостраничные описания), позволяющими заказчику участвовать в процессе разработки, а разработчикам — общаться с экспертами предметной области, разделять деятельность системных аналитиков, проектировщиков и программистов, облегчая им защиту проекта перед руководством, а также обеспечивая легкость сопровождения и внесения изменений в систему;
· единая база данных проекта. Основа CASE-технологии — использование базы данных проекта (репозитория) для хранения всей информации о проекте, которая может совместно использоваться разработчиками в соответствии с их правами доступа. Содержимое репозитория включает не только информационные объекты различных типов, но и отношения между их компонентами, а также правила использования или обработки этих компонентов. Репозиторий может хранить объекты различных типов: структурные диаграммы, определения экранов и меню, проекты отчетов, описания данных, логику обработки, модели данных, их организации и обработки, исходные коды, элементы данных и т. п.;
· интеграция средств. На основе репозитория осуществляются интеграция CASE-средств и разделение системной информации между разработчиками. При этом возможности репозитория обеспечивают несколько уровней интеграции: общий пользовательский интерфейс по всем средствам, передачу данных между средствами, интеграцию этапов разработки через единую систему представления фаз жизненного цикла, передачу данных и средств между различными платформами;
· поддержка коллективной разработки и управления проектом. CASE-технология поддерживает групповую работу над проектом, обеспечивая возможность работы в сети, экспорт-импорт любых фрагментов проекта для их развития и/ или модификации, а также планирование, контроль, руководство и взаимодействие, то есть функции, необходимые в процессе разработки и сопровождения проектов. Эти функции также реализуются на основе репозитория. В частности, через репозиторий могут осуществляться контроль безопасности (ограничения и привилегии доступа), контроль версий и изменений и т. п.;
· макетирование. CASE-технология дает возможность быстро строить макеты (прототипы) будущей системы, что позволяет заказчику на ранних этапах разработки оценить, насколько она устраивает его и приемлема для будущих пользователей;
· генерация документации. Вся документация по проекту генерируется автоматически на базе репозитория (как правило, в соответствии с требованиями действующих стандартов). Несомненное достоинство CASE-технологии заключается в том, что документация всегда отвечает текущему состоянию дел, поскольку любые изменения в проекте автоматически отражаются в репозиторий (известно, что при традиционных подходах к разработке программного обеспечения документация в лучшем случае запаздывает, а ряд модификаций вообще не находит в ней отражения);
· верификация проекта. CASE-технология обеспечивает автоматическую верификацию и контроль проекта на полноту и состоятельность на ранних этапах разработки, что влияет на успех разработки в целом;
· автоматическая генерация программного кода. Генерация программного кода осуществляется на основе репозитория и позволяет автоматически построить до 85-90% текстов на языках высокого уровня.
· сопровождение и реинжиниринг. Сопровождение системы в рамках CASE-технологии характеризуется сопровождением проекта, а не программных кодов. Средства реинжиниринга и обратного инжиниринга позволяют создавать модель системы из ее кодов и интегрировать полученные модели в проект, автоматически обновлять документацию при изменении кодов, автоматически изменять спецификации при редактировании кодов и т. п.
Далеко не все CASE-средства поддерживают все указанные выше возможности. Поэтому обычно к CASE-средствам относят любой программный продукт, автоматизирующий ту или иную совокупность процессов жизненного цикла программного обеспечения и обладающий следующими основными характерными особенностями:
· наличие мощных графических средств для описания и документирования информационной системы, обеспечивающих удобный интерфейс с разработчиком и развивающих его творческие возможности;
· интеграция отдельных компонентов CASE-средств, обеспечивающая управляемость процесса разработки информационной системы;
· использование специальным образом организованного хранилища проектных метаданных (репозитория).
Вопросы для самоконтроля:
Все современные CASE-средства могут быть классифицированы в основном по типам и категориям. Классификация по типам отражает функциональную ориентацию CASE-средств на те или иные процессы ЖЦ. Классификация по категориям определяет степень интегрированности по выполняемым функциям и включает отдельные локальные средства, решающие небольшие автономные задачи (tools), набор частично интегрированных средств, охватывающих большинство этапов жизненного цикла ИС (toolkit) и полностью интегрированные средства, поддерживающие весь ЖЦ ИС и связанные общим репозиторием. Помимо этого, CASE-средства можно классифицировать по следующим признакам:
· применяемым методологиям и моделям систем и БД;
· степени интегрированности с СУБД;
Классификация по типам в основном совпадает с компонентным составом CASE-средств и включает следующие основные типы:
· средства анализа (Upper CASE), предназначенные для построения и анализа моделей предметной области (Design/IDEF (MetaSoftware), BPwin (LogicWorks));
· средства анализа и проектирования (Middle CASE), поддерживающие наиболее распространенные методологии проектирования и использующиеся для создания проектных спецификаций (VantageTeamBuilder (Cayenne), Designer/2000 (ORACLE), Silverrun (CSA), PRO-IV (McDonnellDouglas), CASE.Аналитик (МакроПроджект)). Выходом таких средств являются спецификации компонентов и интерфейсов системы, архитектуры системы, алгоритмов и структур данных;
· средства проектирования баз данных, обеспечивающие моделирование данных и генерацию схем баз данных (как правило, на языке SQL) для наиболее распространенных СУБД. КнимотносятсяERwin (Logic Works), S-Designor (SDP) иDataBase Designer (ORACLE). Средства проектирования баз данных имеются также в составе CASE-средств VantageTeamBuilder, Designer/2000, Silverrun и PRO-IV;
· средства реинжиниринга, обеспечивающие анализ программных кодов и схем баз данных и формирование на их основе различных моделей и проектных спецификаций. Средства анализа схем БД и формирования ERD входят в состав VantageTeamBuilder, PRO-IV, Silverrun, Designer/2000, ERwin и S-Designor. В области анализа программных кодов наибольшее распространение получают объектно-ориентированные CASE-средства, обеспечивающие реинжиниринг программ на языке С++ (RationalRose (RationalSoftware), ObjectTeam (Cayenne)).
Для успешного внедрения CASE-средств организация должна обладать следующими качествами:
· Технология. Понимание ограниченности существующих возможностей и способность принять новую технологию;
· Культура. Готовность к внедрению новых процессов и взаимоотношений между разработчиками и пользователями;
· Управление. Четкое руководство и организованность по отношению к наиболее важным этапам и процессам внедрения.
Если организация не обладает хотя бы одним из перечисленных качеств, то внедрение CASE-средств может закончиться неудачей независимо от степени тщательности следования различным рекомендациям по внедрению.
Тема 13. Организация труда при разработке АИС. Оценка необходимых ресурсов для организации проекта
Стандарты и методики
Одним из важных условий эффективного использования информационных технологий является внедрение корпоративных стандартов. Корпоративные стандарты представляют собой соглашение о единых правилах организации технологии или управления. При этом за основу корпоративных стандартов могут приниматься отраслевые, национальные и даже международные стандарты.
Корпоративные стандарты образуют целостную систему, которая включает три вида стандартов:
• на продукты и услуги;
• на процессы и технологии;
• на формы коллективной деятельности, или управленческие стандарты.
Виды стандартов
Существующие на сегодняшний день стандарты можно условно разделить на несколько групп.
• По предмету стандартизации. К этой группе можно отнести функциональные стандарты (стандарты на языки программирования, интерфейсы, протоколы) и стандарты на организацию жизненного цикла создания и использования информационных систем и программного обеспечения.
• По утверждающей организации. Здесь можно выделить официальные международные, официальные национальные или ведомственные национальные стандарты (например, ГОСТ, ANSI, IDEF0/1), стандарты международных консорциумов и комитетов по стандартизации (например, OMG), стандарты де-факто – официально никем не утвержденные, но фактически действующие (например, стандартом де-факто долгое время были язык взаимодействия с реляционными базами данных SQL и язык программирования C), фирменные стандарты (например, Microsoft ODBC).
• По методическому источнику. К этой группе относятся различного рода методические материалы ведущих фирм-разработчиков программного обеспечения, фирм-консультантов, научных центров, консорциумов по стандартизации
Тема 14. Методика Oracle CDM. Основные принципы стандарта OracleCDM.
Методика CDM является развитием давно разработанной методики CASE-Method фирмы Oracle, применяемой в CASE-средстве Oracle CASE (в новых версиях – Designer/2000).
Ниже перечислены основные составляющие CASE-технологии и инструментальной среды фирмы Oracle.
• Методология структурного нисходящего проектирования, при которой разработка прикладной системы представляется в виде последовательности четко определенных этапов.
• Поддержка всех этапов жизненного цикла прикладной системы, начиная с самых общих описаний предметной области до получения и сопровождения готового программного продукта.
• Ориентация на реализацию приложений в архитектуре клиент-сервер с использованием всех особенностей современных серверов баз данных, включая декларативные ограничения целостности, хранимые процедуры, триггеры баз данных, с поддержкой в клиентской части всех современных стандартов и требований к графическому интерфейсу конечного пользователя.
• Наличие централизованной базы данных – репозитария. Репозитарийпредназначен для хранения спецификаций проекта прикладной системы на всех этапах ее разработки. Он представляет собой базу данных специальной структуры, работающую под управлением СУБД Oracle.
• Возможность одновременной работы с репозитарием многих пользователей. Такой многопользовательский режим почти автоматически обеспечивается стандартными средствами СУБД Oracle.
• Автоматизация последовательного перехода от одного этапа разработки к следующему.
• Автоматизация различных стандартных действий по проектированию и разработке приложения. Предусматривается генерация многочисленных отчетов по содержимому репозитария, обеспечивающих полное документирование текущей версии системы на всех этапах ее разработки; с помощью специальных процедур предоставляется возможность проверки спецификаций на полноту и непротиворечивость.
Особенности методики CDM
Отметим основные особенности методики CDM, определяющие область ее применения и присущие ей ограничения.
• Степень адаптивности CDM ограничивается тремя моделями жизненного цикла:
– классическая модель предусматривает все этапы;
– быстрая разработка ориентирована на использование инструментов моделирования и программирования Oracle;
– облегченный подход рекомендуется в случае малых проектов и возможности быстро прототипировать приложения.
• Методика не предусматривает включение дополнительных задач, которые не оговорены в CDM, и их привязку к остальным. Также исключено удаление задачи, не предусмотренное ни одной из трех моделей жизненного цикла, и изменение последовательности выполнения задач по сравнению с предложенной.
• Все модели жизненного цикла являются по сути каскадными. Даже «облегченный подход», несмотря на итерационность действий по прототипированию, сохраняет общий последовательный и детерминированный порядок выполнения задач.
• Методика не является обязательной, но может считаться фирменным стандартом. При формальном применении степень обязательности полностью соответствует ограничениям возможностей адаптации.
• Прикладная система рассматривается в основном как программно-техническая система, например, возможность выполнения организационно-структурных преобразований, практически всегда происходящих при переходе к новой информационной системе, в этой методике отсутствует.
• CDM теснейшим образом опирается на инструментарий Oracle, несмотря на утверждения о простоте адаптации CDM к проектам, в которых используется другой комплект инструментальных средств.
• Методика CDM представляет собой вполне конкретный материал, детализированный до уровня заготовок проектных документов, рассчитанных на прямое использование в проектах информационных систем с опорой на инструментальные средства и СУБД фирмы Oracle.
Средства CASE: описание, особенности, классификация и рекомендации
Разработка современных информационных систем и продуктов программного обеспечения не обходится без применения специализированных инструментов. Производители предлагают унифицированные наборы инженерных средств, позволяющих эффективно не только проектировать и создавать, но и технологически поддерживать продукты уже в процессе эксплуатации. Достаточно широкую область в данной сфере разработки охватывают средства CASE, позволяющие решать самые разные задачи от создания простейших алгоритмов редактирования документации до многоуровневых интеллектуальных систем, обеспечивающих полный рабочий цикл целевого объекта.
Что такое инструменты CASE?
Изначально концепция CASE опиралась на задачи создания программного обеспечения в автоматизированном режиме. То есть совокупность некоторых алгоритмов позволяла без кропотливого ручного труда прописывать программные модели в определенных форматах. Сегодня же такие инструменты рассматриваются в более широком смысле, что связано с повышением сложности решаемых задач.
В частности, согласно общепринятому представлению, это средства проектирования информационных систем, а CASE нового поколения также поддерживают элементы аналитической работы. При этом роль данного инструментария имеет четкие ограничения, в большинстве случаев обусловленные возможностями принятия только лишь технических решений. Например, в функционале последних версий CASE-наборов создатели особое внимание уделяют методам визуального представления данных, что может выражаться в облегченных способах автоматического построения графиков и диаграмм.
Структура наборов CASE
Конкретная реализация инструментария определяется задачами, на которые ориентируется разработчик. Это может быть и минимальный набор для решения двух-трех несложных задач, или же полноценная платформа для сопровождения проектов от нулевого этапа до непосредственного внедрения в практику применения. Так или иначе, к основным компонентам, которые формируют наборы средств CASE, относятся:
Особенности CASE-инструментов
Данный формат средств для создания программного обеспечения далеко не единственный в своем роде, но именно CASE-инструменты имеют следующие принципиальные отличия:
Классификации CASE-средств
Принципиально данные проектировочные средства различаются по двум признакам – это методология взаимодействия систем с базами данных и функциональный состав пакета. Если первая характеристика носит скорее свойства индивидуальной реализации, то вторая классификации предполагает разделение по устоявшимся типам:
Вспомогательные возможности CASE-инструментов
Выше были названы основные направления, в которых работают популярные CASE-пакеты. При этом рынок инструментов для проектирования информационных и программных систем в широком смысле охватывает и второстепенные задачи, причем их решение в таких сервисах ставится на первый план. В числе подобных CASE-средств для проектирования можно выделить следующие:
Характеристики CASE-инструментов
К основным рабочим характеристикам CASE-инструментов относятся:
Рекомендации по внедрению CASE-инструментов
Под внедрением понимается обширный комплекс мер, включающих операции по анализу потребностей организации и конкретные технологические процедуры по настройке целевого ПО. Эксперты советуют на этом этапе особое внимание уделять текущей готовности предприятия перед внедрением CASE-инструментов. Для этого должно быть произведено несколько групп технических, организационных, планировочных и структурных операций, направленных на подготовку пользовательской базы. В частности, для эффективного использования CASE-средств должны выполняться следующие условия:
Заключение
Идея автоматизации проектировочных мероприятий является не просто привилегией современных участников рынка программно-информационных услуг, а в большинстве своем необходимостью. Правильно освоенные CASE-инструменты позволяют значительно повышать производительность отделов, отвечающих за разработку и сопровождение ПО на разных уровнях. Однако возможности данной проектировочной оболочки не безграничны.
Важно понимать, что средства разработки CASE сами по себе требуют немалых аппаратных и финансовых ресурсов, в конечном итоге не всегда оправдывая ожидания пользователя. Проблемы такого рода обычно связаны с функциональной ограниченностью и технологической сложность, которая требует прохождения специальных курсов обучения от непосредственных пользователей. К слову, даже специалисты высокого уровня при вхождении в новую проектировочную оболочку должны будут пройти определенный этап подготовки для того, чтобы их действия были согласованы при работе в одной среде.