Что такое компьютерная технология case технология разработки пс
CASE-технологии (Computer-Aided Software/System Engineering) — инструментальные средства, используемые при проектировании систем. CASE-технологии охватывают весь спектр работ по созданию и сопровождению программного обеспечения (главным образом, анализ и разработку, составление проектной документации, кодирование и тестирование системы).
CASE-технологии имеют ряд характерных особенностей:
- обладают графическими средствами для проектирования и документирования модели информационной системы
- имеют организованное специальным образом хранилище данных, содержащее информацию о версиях проекта и его отдельных компонентах
- расширяют возможности для разработки систем за счет интеграции нескольких компонент CASE-технологий
Современные CASE-средства поддерживают также множество технологий моделирования информационных систем, начиная от простых методов анализа и регламентации и заканчивая инструментами полной автоматизации процессов всего жизненного цикла программного обеспечения.
CASE-технологии можно классифицировать по функциональной направленности на
- средства моделирования предметной области
- средства анализа и проектирования
- технологии проектирования схем баз данных
- средства разработки приложений
- технологии реинжиниринга программного кода и схем баз данных
В настоящий момент на рынке программного обеспечения насчитывается более 300 различных CASE-средств. Наиболее известными являются CA ERwin Process Modeler (ранее BPwin), CA ERwin Data Modeler (ранее ERwin), Rational Rose, ARIS.
CA ERwin Process Modeler — CASE-технология фирмы Computer Associates, предназначенная для описания, анализа и моделирования бизнес-процессов. Использует семейство нотаций IDEF (а именно, IDEF0 и IDEF3), DFD, интегрируется с Erwin Data Modeler и входит совместно с данным средством в пакет CA ERwin Modeling Suite.
CA ERwin Data Modeler — CASE-средство от Computer Associates для моделирования баз данных, использующее методологию IDEF1X. Имеет два уровня представления модели — логический и физический — и позволяет строить одно из представлений на основе другого.
Rational Rose — технология фирмы Rational SoftWare Corporation, предназначенная для автоматизации этапов анализа и проектирования программного обеспечения, а также для генерации кодов на различных языках и выпуска проектной документации. Использует нотацию UML.
ARIS (Architecture of Integrated Information Systems) — CASE-технология фирмы IDS Scheer, ориентированная на описание бизнес-процессов организации. Методология ARIS рассматривает предприятие как совокупность взглядов на организационную структуру, структуру функций, структуру данных и структуру процессов. Использует нотации EPC (event-driven process chain), ERM (Entity-Relationship Model), UML.
CASE-технологии обладают очевидными достоинствами, поскольку существенно упрощают процесс разработки программного обеспечения и проектирования информационных систем и повышают его качество. Однако, несмотря на это, CASE-технологии находятся в стороне от непосредственного управления бизнесом. Они помогают разобраться с существующей и желаемой ситуацией, но не являются средством автоматизации процессов, что обуславливает целесообразность использования продуктов класса workflow, BPMS в сочетании с программами учета. Примером подобного продукта является "ПитерСофт: Управление процессами" на весьма распространенной в России платформе 1С.
Термин " CASE " ( Computer Aided Software / System Engineering ) используется в настоящее время в весьма широком смысле. Первоначальное значение термина " CASE ", ограниченное вопросами автоматизации разработки только лишь программного обеспечения ( ПО ), в настоящее время приобрело новый смысл, охватывающий процесс разработки сложных ИС в целом.
Теперь под термином " CASE -средства" понимаются программные средства , поддерживающие процессы создания и сопровождения ИС, включая анализ и формулировку требований, проектирование прикладного программного обеспечения (приложений) и баз данных, генерацию кода, тестирование, документирование , обеспечение качества, конфигурационное управление и управление проектом , а также другие процессы.
Появлению CASE-технологии и CASE -средств предшествовали исследования в области методологии программирования . Программирование обрело черты системного подхода с разработкой и внедрением языков высокого уровня, методов структурного и модульного программирования , средств визуального моделирования и проектирования на базе языка UML ( Unified Modeling Language ), средств их поддержки, формальных и неформальных языков описаний системных требований и спецификаций и т. д. Кроме того, появлению CASE-технологии способствовали и такие факторы, как:
- подготовка аналитиков и программистов, восприимчивых к концепциям модульного и структурного программирования;
- широкое внедрение и постоянный рост производительности компьютеров, позволившие использовать эффективные графические средства и автоматизировать большинство этапов проектирования;
- внедрение сетевой технологии, которая предоставила возможность объединения усилий отдельных исполнителей в единый процесс проектирования путем использования разделяемой базы данных, содержащей необходимую информацию о проекте.
CASE -средства позволяют создавать не только продукт, практически готовый к применению, но и обеспечить "правильный" процесс его разработки. Основная цель технологии - отделить проектирование программного обеспечения от его кодирования, сборки, тестирования и максимально "скрыть" от будущих пользователей все детали разработки и функционирования ПО . При этом значительно повышается эффективность работы проектировщика: сокращается время разработки, уменьшается число программных ошибок, программные модули можно использовать при следующих разработках.
Большинство CASE -средств основано на парадигме "методология/метод/ нотация /структура/средство".
Методология задает руководящие указания для оценки и выбора проекта разработки ПО , этапы и последовательность работ , правила применения тех или иных методов.
Метод - систематическая процедура или технология генерации описаний компонент ПО (например, описание потоков и структур данных).
Нотации предназначены для описания системы в целом, ее элементов, таких как графы, диаграммы, таблица , блок-схемы , алгоритмы, формальные языки и языки программирования.
Структуры являются средством для реализации структурного анализа и построения структуры конкретной системы.
Средства - технологические и программные инструменты для поддержки и усиления методов.
CASE-технологии обладают следующими основными достоинствами, которые позволяют широко использовать их при разработке информационных систем:
- ускоряют процесс коллективного проектирования и разработки;
- позволяют за короткий срок создать прототип заказанной системы с заданными свойствами;
- освобождают разработчика от рутинной работы, оставляя время для творчества;
- обеспечивают эффективность и качество разрабатываемого ПО за счет автоматизации контроля всего процесса разработки;
- поддерживают сопровождение и развитие системы на высоком уровне.
Следует отметить, что, несмотря на все потенциальные возможности CASE -средств, существует достаточно много примеров их неудачного внедрения, в результате которых CASE -средства становятся "полочным" ПО ( Shelfware ).
В связи с этим необходимо учитывать следующее:
- CASE-средства не обязательно дают немедленный эффект, он может быть получен только спустя какое-то время;
- реальные затраты на внедрение CASE-средств обычно намного превышают затраты на их приобретение;
- CASE-средства обеспечивают возможности для получения существенной выгоды только после успешного завершения процесса их внедрения, эффективного обучения пользователей и регулярного применения.
Можно также перечислить следующие факторы, усложняющие определение возможного эффекта от использования CASE -средств:
- широкое разнообразие качества и возможностей CASE-средств;
- относительно небольшое время использования CASE-средств в различных организациях и недостаток опыта их применения;
- широкое разнообразие в практике внедрения различных организаций;
- отсутствие детальных метрик и данных для уже выполненных и текущих проектов;
- широкий диапазон предметных областей проектов;
- различная степень интеграции CASE-средств в различных проектах.
Некоторые аналитики считают, что реальная выгода от использования некоторых типов CASE -средств может быть получена только после одно- или двухлетнего опыта. Другие полагают, что воздействие может реально проявиться в фазе эксплуатации жизненного цикла ИС, когда технологические улучшения могут привести к снижению эксплуатационных затрат.
Ниже перечислены основные виды и последовательность работ , рекомендуемые при построении логических моделей предметной области в рамках CASE-технологии анализа системы управления предприятием.
- Проведение функционального и информационного обследования системы управления (административно-управленческой деятельности) предприятием ( рис. 8.12):
- определение организационно-штатной структуры предприятия;
- определение функциональной структуры предприятия;
- определение перечня целевых функций структурных элементов (подразделений и должностных лиц);
- определение круга и очередности обследования структурных элементов системы управления согласно сформулированным целевым функциям ;
- обследование деятельности выделенных структурных элементов;
- построение FD-диаграммы системы управления с указанием структурных элементов и функций, реализация которых будет моделироваться на DFD -уровне.
- выделение множества внешних объектов, оказывающих существенное влияние на деятельность структурного элемента;
- спецификация входных и выходных информационных потоков ;
- выявление основных процессов, определяющих деятельность структурного элемента и обеспечивающих реализацию его целевых функций;
- спецификация информационных потоков между основными процессами деятельности, уточнение связей между процессами и внешними объектами;
- оценка объемов, интенсивности и других необходимых характеристик информационных потоков ;
- разработка иерархии диаграмм потоков данных , образующих функциональную модель деятельности структурного элемента;
- объединение DFD -моделей структурных элементов в единую модель системы управления предприятием.
- определение сущностей модели и их атрибутов;
- проведение атрибутного анализа и оптимизация сущностей;
- идентификация отношений между сущностями и определение типов отношений;
- анализ и оптимизация информационной модели;
- объединение информационных моделей в единую модель информационного пространства.
- определение границ автоматизации - составление перечня автоматизируемых структурных элементов, разбиение процессов основной деятельности на автоматические, автоматизированные и ручные;
- составление перечня подсистем и логических АРМов (автоматизированных рабочих мест), определение способов их взаимодействия;
- разработка предложений по очередности проектирования и реализации подсистем и отдельных логических АРМов , входящих в состав ИС;
- разработка требований к средствам базового технического обеспечения ИС;
- разработка требований к средствам базового программного обеспечения ИС.
Логическая модель, отображающая деятельность системы управления предприятием, и информационное пространство , в котором эта деятельность протекает, представляют собой "снимок" положения дел ( функциональная структура , роли должностных лиц, взаимодействие подразделений, принятые технологии обработки управленческой информации, автоматизированные и неавтоматизированные процессы и т. д.) на момент обследования. Эта модель позволяет понять, что делает и как функционирует предприятие с позиций системного анализа, и затем сформулировать предложения по улучшению ситуации.
Развитие логической модели предметной области , ее последовательное превращение в модель целевой ИС, позволит интегрировать перспективные предложения руководства и ведущих сотрудников предприятия, экспертов и системных аналитиков, сформировать видение новой, реорганизованной и автоматизированной деятельности предприятия ( рис. 8.12).
Построенная модель является законченным результатом по следующим причинам.
Модель ЖЦ ПО определяет порядок выполнения этапов, а также критерии перехода от этапа к этапу.
Традиционная модель ЖЦ ПО строится по каскадному принципу ( переход на следующий этап происходит после окончания работ по предыдущему этапу) или по поэтапному принципу с промежуточным контролем (с циклами обратной связи между этапами, что предполагает корректировки в процессе проектирования, но растягивает все этапы на весь период разработки).
CASE -технология базируется на спиральной модели ЖЦ ПП, суть которой в следующем. Делается упор на начальные этапы ЖЦ: анализ требований, проектирование спецификаций, предварительное и детальное проектирование. На этих этапах проверяется и обосновывается реализуемость технических решений путем создания прототипов. Все эти этапы выполняются на каждом витке спирали ЖЦ. Каждый виток спирали соответствует некоторому уровню детализации проекта Каждый следующий виток характеризуется более высокой степенью детализации создаваемого ПО. Каждый виток заканчивается тем, что уточняются цели и характеристики проекта и планируются работы следующего витка спирали. Тем самым реализуется нисходящий принцип проектирования.
Специалистами отмечаются следующие преимущества спиральной модели:
n накопление и повторное использование программных средств, моделей и прототипов;
n ориентация на развитие и модификацию ПО в процессе проектирования;
n анализ риска и издержек в процессе проектирования.
Чем же принципиально CASE -технология отличается от традиционной?
Для ответа на этот вопрос несколько отвлечемся и вспомним, что нас интересует прежде всего, если мы встречаем предмет, который раньше никогда не видели? Смею утверждать, что это будут вопросы ‘Что оно делает?’ и ‘ Из чего оно состоит?’. Ответы на эти вопросы представляют собой функциональный и структурный аспект описания объекта. Исторически так сложилось, что при проектировании новых объектов структурный аспект отражается в виде схем (принципиальные электрические схемы, механические схемы, комбинированные схемы и т.п.). Так вот CASE -технологии иначе еще называют структурным системным анализом, что отражает тот факт, что и функционирование объекта (в рассматриваемом случае разрабатываемого ПО) отражается в различных схемах, таблицах, диаграммах, матрицах, картах и т.п. Можно смело утверждать, что девизом разработчиков CASE -технологий является фраза ‘одна картинка стоит тысячи слов’.
Некоторые из элементов CASE -технологий Вы будете изучать в последующих курсах.
Большинство CASE -технологий основано на парадигме методология/метод/нотация/ средство.
Методология на основе некоторого подхода определяет шаги работы, их последовательность, а также правила распределения и назначения методов.
Метод определяет способ достижения той или иной цели.
Нотацией называют систему обозначений, используемых для описания структуры системы, элементов данных, этапов обработки и других компонентов. Нотации могут быть графические (представление моделей в виде таблиц, графов, диаграмм, схем
и т. п.) и текстовые (описания моделей на формальных и
Средства — инструментарий для поддержки методов. Эти инструменты обеспечивают работу пользователей-разработчиков при создании и редактировании проекта в интерактивном режиме, выполняют проверки соответствия компонентов и кодируют на некотором языке программирования модули ПО.
Следует отметить, что используемые в методологии структурного анализа средства весьма разнообразны, Наиболее часто и эффективно используются следующие:
n DFD ( Data Flow Diagrams ) - диаграммы потоков данных, совместно со словарями данных и спецификациями процессов или миниспецификациями;
n ERD ( Entity-Relationship Diagrams) - диаграммы ‘ сущность - связь ’;
n STD ( State Transition Diagrams ) - диаграммы переходов состояний.
Современные структурные методологии анализа и проектирования классифицируются по следующим признакам:
n по отношению к школам - Software Engineering (SE) и Information Engineering (IE);
n по порядку построения моделей - процедурно-ориентированные, ориентированные на данные и информационно-ориентированные;
n по типу целевых систем - для систем реального времени и для информационных систем.
Основная особенность систем реального времени заключается в том, что они контролируют и контролируются внешними событиями: своевременное реагирование на эти события (отклик должен следовать не позднее регламентированного временного интервала) - основная и первоочередная функция таких систем. Другие отличия информационных систем от систем реального времени сведены в таблицу.
CASE — аббревиатура от Computer Aided Software Engineering. Предполагает использование программных пакетов для выполнения и автоматизации многих видов деятельности по разработке информационных систем, включая разработку программного обеспечения или программирование.
Ключевые слова : CASE, инструмент, программное обеспечение, продукт, жизненный цикл, система.
Автоматизированная программная инженерия (CASE) может быть единым инструментом, поддерживающим конкретную программную инженерную деятельность в сложной среде, которая включает в себя инструменты, данные о людях, аппаратные средства, стандарты сетевых операционных систем и другие компоненты, т.д. Архитектуру среды, состоящую из аппаратной платформы и поддержки операционной системы. Но сама среда CASE нуждается в других строительных блоках. Набор сервисов переносимости обеспечивает мост между инструментами CASE, их интеграционной структурой и архитектурой среды. [4]
Каркас интеграции представляет собой набор специализированных программ, который позволяет собирать специализированные программы, которые позволяют отдельным инструментам CASE взаимодействовать друг с другом, создавать базу данных проекта и демонстрировать один и тот же внешний вид. Служба переносимости позволяет CASE-инструментам и их интеграционной платформе проходить через различные аппаратные платформы и операционные системы без большого адаптивного обслуживания. [2]
В последнее время CASE tools вступили в третью фазу: внедрение новых методологий, основанных на возможностях I-CASE tools. Эти новые методологии используют методы быстрого прототипирования позволяют разрабатывать приложения быстрее, дешевле и качественнее. С помощью быстрого прототипирования прототип может быть сделан быстро, поэтому разработанная система может быть протестирована между фазами разработки, потому что создание прототипа не требует много времени. Таким образом, ошибки могут быть обнаружены и исправлены раньше. Чем раньше это можно сделать, тем лучше, потому что исправление этих ошибок становится сложнее и дороже, когда система развивается дальше. Таким образом, с помощью быстрого прототипирования можно сэкономить много времени и денег. [5]
Как было сказано выше, необходим новый набор инструментов. Эти инструменты должны автоматизировать каждый этап процесса жизненного цикла и более тесно связать разработку приложений со стратегическими операциями бизнеса. За эти годы было разработано и разрабатывается множество различных инструментов. Существует так много инструментов, что мы можем легко запутаться. Чтобы рассмотреть все эти инструменты CASE, мы разделим их на следующие категории:
- Продукты, поддерживающие информационную инженерию. Это процессы жизненного цикла, вытекающие из стратегических планов предприятия и обеспечивающие хранилище для создания и поддержания корпоративных моделей, моделей данных и моделей процессов.
- Структурированные схемы-вспомогательные продукты. Они получены из нескольких методологий разработки, таких как Gane-Sarson или Jackson. Эти продукты, по крайней мере, поддерживают поток данных, поток управления и поток сущностей, которые являются тремя основными типами структурированного программного обеспечения.
- Структурированная разработка вспомогательных продуктов. Эти продукты обеспечивают помощь для структурированного развития процесса. Эти продукты очень подходят для использования системными аналитиками, потому что им очень помогает структурированный процесс, потому что они могут быть проанализированы быстрее и точнее.
- Продукты, генерирующие код приложения. Это продукты, которые генерируют приложение-код для конкретной цели, поставленной дизайнером. Большинство продуктов в этой области используют COBOL-генератор, который является инструментом, генерирующим программный код на определенном языке из спецификаций, установленных разработчиком системы. [4]
В основе хорошо разработанной системы I-CASE лежит репозиторий, который используется в качестве базы знаний для хранения информации об организации, ее структуре, модели предприятия, функциях, процедурах, моделях данных и т. д. Значение, представленное диаграммами и их подробными окнами, хранится в репозитории. В хранилище постоянно накапливается информация, касающаяся планирования, анализа, проектирования, строительства и технического обслуживания систем. Другими словами, репозиторий является сердцем системы CASE. [1]
В программном обеспечении CASE для хранения проектной информации используются два типа механизмов:
- Словарь, содержащий названия и описания элементов данных, процессов.
- Хранилище, содержащее эту словарную информацию и полное кодированное представление планов, моделей и проектов, с инструментами для перекрестной проверки, корреляционного анализа и валидации. [3]
Прежде чем имплантировать CASE и разработать инструменты, следует выполнить ряд шагов:
Читайте также: