9.4.1. Case-технологии
CASE(Computer-AidedSoftware/SystemEngineering) как новое направление в программировании сформировалось за последние 10-15 лет.
CASE-технологии применяются при создании сложных информационных систем, обычно требующих коллективной реализации проекта, в котором участвуют различные специалисты: системные аналитики, проектировщики и программисты. Основное достоинство CASE-технологии - поддержка коллективной работы над проектом за счет возможности работы в локальной сети разработчиков, экспорта/импорта любых фрагментов проекта, организационного управления проектом.
CASE-технология представляет собой совокупность методологического анализа, проектирования, разработки и сопровождения сложных систем программного обеспечения, поддержанную комплексом программных средств автоматизации. Это инструментарий для системных аналитиков, разработчиков и программистов, который позволяет автоматизировать процесс проектирования и разработки ПО. В настоящее время практически ни один серьезный зарубежный программный продукт не осуществляется без использования CASE-средств. Известная методология структурного системного анализа SADT (точнее ее подмножество IDEFO) принята в качестве стандарта на разработку ПО Министерством обороны США.
Основная цель CASE состоит в том, чтобы отделить проектирование ПО от его кодирования и последующих этапов разработки. Чем больше деятельности будет вынесено в проектирование из кодирования, тем лучше.
Инструментальные средства CASE-технологий применяются на всех этапах жизненного цикла системы (от анализа и проектирования до внедрения и сопровождения), значительно упрощая решение возникающих задач.
CASE-технология позволяет отделить проектирование информационной системы от собственно программирования и отладки: разработчик системы занимается проектированием на более высоком уровне, не отвлекаясь на детали. Это позволяет не допустить ошибок уже на стадии проектирования и получить более совершенные программные продукты.
Эта технология изменяет все стадии разработки ИС, более всего отражаясь на этапах анализа и проектирования
Нередко применение CASE-технологии выходит за рамки проектирования и разработки ИС. Технология дает возможность оптимизировать модели организационных и управленческих структур компаний и позволяет лучше решать такие задачи, как планирование, финансирование, обучение. Таким образом, CASE-технология позволяет произвести радикальное преобразование деятельности компании, направленное на оптимальную реализацию того или иного проекта или повышение общей эффективности бизнеса.
Коллективная работа над проектом предполагает обмен информацией, контроль выполнения задач, отслеживание изменений и версий, планирование, взаимодействие и управление. Фундаментам реализации подобных функций чаще всего служит общая база данных проекта, которую обычно называют репозитарием. По существу, репозитарий - это информационный архив, где хранятся сведения о процессах, данных и связях объектов в разрабатываемом приложении.
В большинстве современных CASE-системах применяются методологии структурного анализа и проектирования, которые основаны на наглядных диаграммах. При этом для описания модели проектируемой системы используются графы, диаграммы, таблицы и схемы. Такие методологии обеспечивают строгое и наглядное описание проектируемой системы. Оно начинается с общего обзора системы, затем детализируется, приобретая иерархическую структуру.
CASE-технологии успешно применяются для построения практически всех типов ПО, как системного и управляющего, так и прикладного. Ключевым признаком CASE-средства является поддержка методологий структурного системного анализа и проектирования.
С самого начала CASE-технологии развивались с целью преодоления ограничений при использовании структурных методологий проектирования 60-70-х годов (сложности понимания, большой трудоемкости и стоимости использования, трудности внесения изменений в проектные спецификации и т.п.) за счет автоматизации поддерживающих средств. Т.о., CASE-технологии не могут считаться самостоятельными методологиями, они только развивают структурные методологии и делают более эффективным их применение за счет автоматизации.
Помимо автоматизации структурных методологий CASE обладают следующими основными достоинствами:
улучшение качества создаваемого ПО за счет средств автоматического контроля;
создание за короткое время прототипа будущей системы, что позволяет на ранних этапах оценить ожидаемый результат;
ускорение процесса проектирования и разработки;
освобождение разработчика от рутинной работы, позволяя ему целиком сосредоточиться на творческой части проекта;
поддержка развития и сопровождения разработки.
В настоящее время CASE-технологии - одно из наиболее динамично развивающихся отраслей информатики, объединяющие сотни компаний. Из имеющихся на рынке CASE-технологий можно выделить: Application Development Workbench (ADW) фирмы Knowlegge Ware, BPwin (Logic Works), CDEZ Tods (Oracle), Clear Case (Alria Softwere), Composer (Texas Instrument), Discover Development Information System (Software Emancipation Technology).
Современные CASE-технологии успешно применяются для создания ИС различного класса для банков, финансовых корпораций, крупных фирм. Они обычно имеют достаточно высокую стоимость и требуют длительного обучения и кардинальной реорганизации всего процесса создания ИС. Тем не менее экономический эффект применения CASE-технологий весьма значителен, и большинство серьезных программных проектов осуществляется именно с их помощью.
Средства CASE-технологий делятся на две группы:
встроенные в систему реализации - все решения по проектированию и реализации привязаны к выбранной системе управления базами данных (СУБД);
независимые от системы реализации - все решения по проектированию ориентированы на унификацию начальных этапов жизненного цикла и средств их документирования, обеспечивают большую гибкость в выборе средств реализации.
Некоторые CASE-технологии ориентированы только на системных проектировщиков и представляют собой специальные графические средства для изображения различного вида моделей:
диаграммы потоков данных (DFD - data dfow diagrams) совместно со словарями данных и спецификациями процессов;
диаграммы «сущность-связь» (ERD - entity relationship diagrams), являющиеся инфологической моделью предметной области;
диаграммы переходов состояний (STD - state transition diagrams), учитывающие события и реакцию на них системы обработки данных.
Другой класс CASE-технологий поддерживает только разработку программ, включая:
автоматическую генерацию кодов программ на основании их спецификаций;
проверку корректности описания моделей данных и схем потоков данных;
документирование программ согласно принятым стандартам и актуальному состоянию проекта;
тестирование и отладку программ.
Кодогенерация программ выполняется двумя способами: создание каркаса программ и создание полного продукта. Каркас программы служит для последующего ручного варианта редактирования исходных текстов, обеспечивая возможность вмешательства программиста; полный продукт не редактируется вручную.
Большинство специалистов считают, что хорошее инструментальное средство CASE должно обладать следующими качествами:
наличие выбора из различных методов проектирования (разработчик может оперативно переключаться с одного метода на другой);
простота использования в сочетании с мощными функциями;
поддержка коллективной работы;
удобный просмотр иерархии классов;
возможность "нелинейной" разработки программ;
ввод программного кода в диаграмму с последующим ее обновлением;
наличие функции контроля версий;
распечатка больших диаграмм на стандартных страницах;
гибкость построения диаграмм, позволяющая пользователю каждый раз видеть то, что ему требуется;
наличие анимации, с помощью которой можно наглядно моделировать поведение системы;
наличие хороших средств контроля ошибок, в том числе проверку на наличие логических ошибок;
разделение компонентов объектной модели по категориям выполняемых функций;
применение методов "обратного проектирования": использование в разработке алгоритмов существующего кода либо построение логической модели по уже имеющейся базе данных;
Возможность генерации кода;
при наличии неоднородной вычислительной среды поддержка нескольких платформ;
возможность включения в модель элементов проверки и фильтрации данных;
поддержка сложных моделей, в частности моделей финансовых потоков, деловой и производственной активности;
приемлемая цена.
Классификация CASE-средств по типам отражает их функциональную ориентацию в технологическом процессе.
Анализ и проектирование, создание спецификаций системы поддерживают следующие системы: CASE. Аналитик; Excelerator (Index Technology); Design-Aid (Nastec); Analist/Designer (Yourdon); Design/IDEF (Meta Software); SELECT (Select Software Tools); System Architech (Software&Systems) и др. На выходе продуцируются спецификации компонентов системы и интерфейсов, связывающих эти компоненты, а также предварительная архитектура системы; детальная проработка проекта, включающая алгоритмы и определение структур данных.
Проектирование баз данных и файлов предполагает использование следующих CASE-средств: ERWin (Logic Works); S- Designer (SDR), Designer/2000 (Oracle), Silverrun (Computer, Systems Advisers и др. Средства данной группы обеспечивают логическое моделирование данных, автоматическое преобразование моделей данных в 3НФ, автоматическую генерацию схем БД и описание форматов файлов на уровне программного кода.
Программирование. Средства этой группы поддерживают этапы программирования и тестирования, а также автоматическую кодогенерацию из спецификаций, получая полную документированную выполняемую программу: СOBOL 2/Workbench (MicroFocus); DECASE (DEC); NETRON/CAP (Netron), APS (Sage Software). Помимо диаграммеров различного назначения и средств поддержки работы с репозитарием, в эту группу средств включены и традиционные генераторы кодов, анализаторы кодов (как в статике, так и динамике), генераторы наборов тестов, анализаторы покрытия тестами, отладчики.
Сопровождение и реинжинеринг. К таким средствам относятся документаторы, анализаторы программ, средства реконструирования и реинжениринга: Adpac CASE Tools (Adpac), Scan/COBOL & Super Structure (Computer Data Systems), Inspector/Recoder (Language Technology). Их целью является корректировка, изменение, анализ, приобретение и реинжениринг существующей системы.
Мобильность системы обеспечивается в CASE-средствах средствами миграции и реинжениринга. К средствам миграции относятся трансляторы, конверторы, макрогенераторы и др., позволяющие обеспечить перенос существующей системы в новое операционное или аппаратное окружение. Средства реинжениринга включают:
статистические анализаторы для продуцирования схем системы ПО из ее кодов, оценки влияния модификаций (например, «эффект ряби»- внесение изменений с целью исправления ошибок порождает новые ошибки);
динамические анализаторы (обычно компиляторы и интерпретаторы с встроенными отладочными возможностями);
документаторы, позволяющие автоматически получать обновленную документацию при изменении кода;
редакторы кодов, автоматически изменяющие при редактировании и все предшествующие коду структуры (например, спецификации);
средства доступа к спецификациям, их модификации и генерации нового (модифицированного кода);
средства реверсного инжиниринга, транслирующие коды в спецификации.
Окружение. Средства поддержки платформ для интеграции, создания и придания товарного вида CASE-средствам Multi/Cam (AGS Management Systems), Sylva Foundry (Cagware).
Управление проектом – средства, поддерживающие планирование, контроль, руководство, взаимодействие, т.е. функции, необходимые в процессе разработки и сопровождения проектов: Project Workbench (Applied Business Technology).
CASE-средства классифицируются также по категориям. Такая классификация определяет уровень интегрированности по выполняемым функциям и включает:
вспомогательные программы (tools) - решают небольшую автономную задачу, принадлежащую проблеме более широкого масштаба;
пакеты разработчика (toolkit) - представляют собой совокупность интегрированных программных средств, обеспечивающих помощь для одного из классов программных задач (использует репозитарий для всей технической и управляющей информации о проекте, концентрируясь при этом на поддержке, как правило, одной фазы или одного этапа разработки ПО;
интегрированные программные средства (workbench) - поддерживают системный анализ, проектирование и разработку ПО. По сравнению с toolkit обладают более высокой степенью интеграции выполняемых функций, большей самостоятельностью и автономностью использования; наличием тесной связи с системными и техническими средствами аппаратно-вычислительной среды, на которой workbench функционирует.
Пакет CASE-Аналитик
Пакет CASE-Аналитик является единственной отечественной разработкой, доведенной до рынка, который относится к CASE-средствам первой генерации. В основе пакета лежит методология структурного системного анализа Гейне-Сарсоне. Пакет обеспечивает:
“принудительный” хороший стиль;
предоставление разработчику машинно-реализованных средств формального описания системы и, прежде всего, в графической нотации, понятной заказчику создаваемой системы, вовлекаемого, таким образом, в разработку системы на ее ранней стадии, когда еще можно что-либо менять без особых затрат;
предоставление доступа к любой части проекта;
контроль полноты и непротиворечивости каждой части системных требований, при помощи встроенных средств контроля.
Результат работы в среде проекта - информационно-логическая модель анализируемой системы. Эта модель представляется в виде иерархии диаграмм потоков данных и структурограмм данных. Когда дальнейшая детализация логических функций перестает быть полезной, то переходят к выражению внутренней логики процессов при помощи миниспецификаций – алгоритмов преобразования входных потоков в выходные.
В состав пакета входят:
База данных проекта, в которой CASE. Аналитик хранит всю информацию о модели системы – как о топологии и иерархии диаграмм, так и о структурных компонентах. При этом пользователю предоставляется графический интерфейс с базой данных и возможность получения разнообразных отчетов по проекту. В CASE. Аналитик используется БД в формате СУБД Paradox. БД доступа для программ, работающих с форматом Paradox. В этом смысле она является открытой. БД включает контекстные диаграммы, диаграммы потоков данных, диаграммы управляющих потоков, структуры данных, описание логики процессов, спецификации элементов данных, сигналов и структурных объектов, а также исходные данные о системе, проекте, причастных лицах и организациях, разработчиках и т.п.
Графические редакторы потоков диаграмм и структурограмм данных. Все действия над диаграммами при редактировании отображаются на экране в графических видах. При вводе элементов диаграмм и их редактировании осуществляется контроль корректности вводимой информации и ее совместимости с остальными частями проекта. Введенная (измененная) информация запоминается в БД проекта автоматически и по запросу пользователя.
Средства вывода экранных и печатных форм – для контроля и анализа проекта и его презентации. Предусмотрены следующие экранные и печатные формы – контекстная диаграмма, диаграмма потоков данных, диаграмма потоков управления, структурограмма данных, перечни объектов словаря данных, отсортированных и выбранных различными способами, содержание элементов словаря данных, миниспецификации логики процесса, протоколы верификации проекта, отчеты проекта.
Документатор. Состав и содержание документов проекта системы регламентируется комплексами стандартов и руководящих материалов. CASE. Аналитик поддерживает следующие стандарты и руководящие документы:
Информационная технология. Комплекс стандартов и руководящих материалов на автоматизированные системы. М.: Госстандарт СССР, 1991 г., - ГОСТы 34.ххх;
ЕСПД – ГОСТы 19.ххх.
Кроме того, оформление диаграмм при печати может быть выполнено в соответствии с требованиями ЕСПД: автоматически генерируется рамка и надписи.
Верификатор. Принципиальные решения по верификации проекта делает пользователь-аналитик. Эти решения аналитик принимает по результатам простых, но очень трудоемких процедур контроля и верификации, которые CASE. Аналитик выполняет автоматически по запросу. CASE. Аналитик предоставляет следующие средства верификации:
автоматический контроль выполнения формальных правил построения модели при вводе и редактировании;
автоматическая поддержка согласованности при детализации подсистем, процессов и данных, т.е. при переходе с уровня на уровень;
верификация (по запросу) согласованности модели;
вывод на дисплей и печать разнообразных отчетов, которые могут быть использованы для верификации.
К основным функциям пакета относят следующие:
Построение и редактирование потоковых диаграмм.
Навигация по диаграммам – навигация по горизонтали с использованием специального окна навигации и навигацию по вертикали (вглубь, наверх), а также выбор и загрузку любой диаграммы с использованием дерева диаграмм проекта.
Редактирование структурограмм – имеются возможности передвижения элементов структурограмм, их удаления с автоматической поддержкой целостности, ввода и редактирования спецификаций данных, а также погружения вглубь структуры.
Навигация по данным – включает передвижение по структурограмме как наверх, так и вглубь, а также выбор и загрузку любой структурограммы по дереву структур данных.
Описание логики процессов – позволяет вводить и редактировать миниспецификации процессов с использованием структурированного естественного языка.
Навигация по БД проекта – позволяет осуществлять доступ к спецификации любого объекта модели, используя списки и перечни объектов, поиск по имени, а также доступ из диаграмм и структурограммам.
Верификация проекта на полноту исходных данных, полноту диаграмм, полноту данных, согласованность накопителей и информационных каналов, а также анализ нагрузки информационных каналов и анализ объекта накопителей данных.
Печать диаграмм – режимы: качественная печать, быстрая печать, пропорциональная, печать для презентаций.
Генерация отчетов и документов – средства позволяют генерировать 12 отчетов по проекту в соответствии с вышеперечисленными стандартами, а также отчеты по спецификациям объектов (13 типов объектов), перечням объектов (11 отчетов) и верификации (6 отчетов).
Экспорт/импорт – благодаря этой функции возможно взаимодействие аналитиков, работающих на автономных рабочих местах. Руководитель проекта ведет центральную БД проекта и экспортирует для проработки другим аналитикам части (поддеревья) иерархической информационно-логической модели системы.
- Информационные технологии
- Содержание
- 1. Понятие информационной технологии
- 1.1. Информатика и информационные технологии
- 1.2. Понятие информационной технологии как научной дисциплины
- 1.3. Структура предметной области информационной технологии
- 1.4. Место информационной технологии в современной системе научного знания
- 1.5. Определение информационной технологии и информационной системы
- 1.6. Этапы развития информационных технологий
- 1.7. Новая информационная технология
- 1.8. Свойства информационных технологий
- 2. Критерии эффективности информационных технологий
- 2.2. Специфика реализации информационных технологий
- 2.3. Общий критерий эффективности информационных технологий
- 2.4. Отличительные признаки высокоэффективных технологий и основные принципы их проектирования
- Концентрация ресурсов в пространстве
- Концентрация ресурсов во времени
- Комбинированные технологии
- Векторная ориентация ресурсов
- 2.5. Основные научные направления развития информационной технологии
- Проблема семантического сжатия информации
- Семантические концентраторы
- 2.6. Человеческий фактор в перспективных информационных технологиях
- 2.7. Методологический аппарат науки как информационная технология
- 3. Классификация информационных технологий
- 3.1. Основные классы информационных технологий
- 3.1. Основные классы информационных технологий
- 3.2. Классификация по пользовательскому интерфейсу
- 3.3. Классификация по степени взаимодействия между собой
- 3.5. Понятие платформы
- 3.6. Проблемы и критерии выбора информационных технологий
- 4. Стандарты пользовательского интерфейса ит
- 4.1. Интерфейс прикладного программирования
- Реализация функций api на уровне ос
- Реализация функций api на уровне системы программирования
- Реализация функций api с помощью внешних библиотек
- 4.2. Платформенно-независимый интерфейс posix
- 4.3. Проектирование пользовательского интерфейса
- 5. Информационные технологии широкого пользования
- 5.1. Табличные процессоры
- 5.2. Системы управления базами данных Основные понятия бд
- Виды моделей бд
- Сетевая модель данных
- Реляционная модель данных
- Обзор субд
- Технология работы в субд
- 5.3. Текстовые процессоры
- 5.4. Графические процессоры
- 5.5. Геоинформационные технологии
- 5.6. Интегрированные пакеты
- Microsoft Office 2000/xp
- Русский офисс (Арсеналъ), набор независимых друг от друга программных продуктов, ориентированных на домашнее применение:
- 5.7. Информационные системы как средства и методы реализации информационных технологий
- 6. Авторские и интегрированные информационные технологии
- 6.1. Гипертекст
- 6.2. Мультимедиа
- 6.3. Новый класс интеллектуальных технологий
- 6.4. Информационные хранилища
- 6.5. Система электронного документооборота
- 6.6. Системы групповой работы
- 6.7. Оснащение рабочего места пользователя информационными технологиями
- 7. Примеры экономических информационных систем
- 7.1. Предпринимательство
- 7.2. Менеджмент
- 6.3. Электронные деньги
- 7.4. Банки
- 7.5. Биржи
- 7.6. Торговля
- 7.7. Финансы
- 7.8. Обучение
- 8. Технология обработки и обеспечения безопасности данных
- 8.1. Общая характеристика процессов сбора, передачи, обработки и хранения информации
- 8.2. Контроль достоверности данных
- 8.3. Технология обеспечения безопасности компьютерных систем
- 9. Инструментарий технологии программирования
- 9.4.2. Методология rad — Rapid Application Development
- 9.1. Принцип программного управления
- 9.2. Жизненный цикл информационных систем
- 9.3. Методы проектирования программных продуктов
- 9.4. Методология и технология разработки информационных систем
- 9.4.1. Case-технологии
- 9.4.2.Методология rad — Rapid Application Development
- 9.4.3. Стандарты и методики
- 9.5. Профили открытых информационных систем
- Список использованной литературы