Средства поддержки проектов предназначены для:
Системы программирования включают в себя:
o транслятор;
o редактор связей;
o графическую среду разработчика;
o отладчик;
o средства оптимизации кода программ;
o набор библиотек (возможно с исходными текстами программ);
o сервисные средства (утилиты) для работы с библиотеками, текстовыми и двоичными файлами;
o справочные системы;
o документатор исходного кода программы;
o систему поддержки и управления проектом программного комплекса.
Инструментальная среда пользователя представлена специальными средствами, встроенными в пакеты прикладных программ, такими, как:
o библиотека функций, процедур, объектов и методов обработки;
o макрокоманды;
o клавишные и языковые макросы;
o программные модули-вставки;
o языки запросов высокого уровня;
o языки манипулирования данными;
o построители объектов,
o конструкторы экранных форм, меню и отчетов;
o генераторы приложений;
Интегрированные среды разработки программ объединяют вышеназванные наборы средств для комплексного их применения на всех технологических этапах создания программ.
К интегрированным средам относятся: С++ Builder и Visual Basic фирмы Microsoft, Delphi фирмы Borland, Oracle одноименной фирмы.
Тенденции развития инструментария программирования показывают, что разработчики предпочитают интегрированные среды, несмотря на их дороговизну.
САSЕ - технология сформировалась в 80-х годах ХХ века. САSЕ расшифровывается как Computer-Aided System Engineering – проектирование систем с помощью компьютера.
CASE - технология представляет собой совокупность методов анализа, проектирования, разработки и сопровождения сложных систем программного обеспечения (ПО), поддержанную комплексом средств автоматизации. CASE - это инструментарий для системных аналитиков, разработчиков и программистов, заменяющий им бумагу и карандаш на компьютер для автоматизации процесса проектирования и разработки ПО.
Большинство CASE-средств основано на совокупности понятий (парадигме) методология/метод/нотация/средство. Методология определяет руководящие указания для оценки и выбора проекта разрабатываемого ПО, шаги работы и их последовательность, а также правила распределения и назначения методов. Метод - это систематическая процедура или техника генерации описаний компонент ПО (например, проектирование потоков и структур данных). Нотации предназначены для описания структуры системы, элементов данных, этапов обработки и включают графы, диаграммы, таблицы, блок-схемы, формальные и естественные языки. Средства - инструментарий для поддержки и усиления методов. Эти инструменты поддерживают работу пользователей при создании и редактировании графического проекта в интерактивном режиме, они способствуют организации проекта в виде иерархии уровней абстракции, выполняют проверки соответствия компонентов.
Основными покупателями CASE-пакетов за рубежом являются военные организации, центры обработки данных и коммерческие фирмы по разработке ПО. Практически ни один серьезный зарубежный программный проект не осуществляется без использования CASE-средств.
Основное достоинство CASE-технологии - поддержка коллективной работы над проектом за счет возможности работы в локальной сети разработчиков, экспорта - импоpтa любых фрагментов проекта, организационного управления проектом. Основная цель CASE состоит в том, чтобы отделить проектирование ПО от его кодирования и последующих этапов разработки, а также скрыть от разработчиков все детали среды разработки и функционирования ПО. Чем больше деятельности будет вынесено в проектирование из кодирования, тем лучше. наибольшие изменения касаются этапов анализа и проектирования.
Устойчивое положение они занимают в следующих областях:
· бизнес-анализ (фактически, модели деятельности предприятий "как есть" и «как должно быть" строятся с применением методов структурного системного анализа и поддерживающих их CASE-средств);
· системный анализ проектирование (практически любая крупная программная система разрабатывается с применением CASE-технологий по крайней мере на этапах анализа и проектирования, что связано с большой сложностью данной проблематики и со стремлением повысить эффективность работ).
Некоторые САSЕ-средства ориентированы только на системных проектировщиков и предоставляют специальные графические инструменты для изображения различного вида моделей:
· диаграмма/ потоков данных (DFD - data flow diagrams) совместно со словарями данных и спецификациями процессов;
· диаграмма "сущность-связь" (ERD - entity relationship diagrams), являющуюся инфологической моделью предметной области;
· диаграмма переходов состояний (STD - state transition diagrams), учитывающую события и реакцию на них системы обработки данных.
Диаграмма DFD устанавливает связь источников информации с потребителями, выделяет логические функции (процессы) преобразования информации, определяет группы элементов данных и их хранилища (базы данных).
Описание структуры потоков данных, определение их компонентов хранятся в актуальном состоянии в словаре данных, который выступает как база данных проекта. Каждая логическая функция может детализироваться с помощью DFD нижнего уровня согласно методам нисходящего проектирования.
Выполняются автоматизированное проектирование спецификаций программ (задание основных характеристик для разработки программ) и ведение словаря данных.
Другой класс САSЕ-технологий поддерживает только разработку программ, включая:
· автоматическую генерацию кодов программ на основании их спецификаций;
· проверку корректности описания моделей данных и схем потоков данных;
· документирование программ согласно принятым стандартам и актуальному состоянию проекта;
· тестирование и отладку программ.
В рамках САSЕ-технологий проект сопровождается целиком, а не только его программные коды. Проектные материалы служат заданием программистам, а само программирование скорее сводится к переводу на определенный язык структур данных и методов их обработки, если не предусмотрена автоматическая кодогенерация.
Большинство САSЕ-технологий использует также метод "прототипов" для быстрого создания программ на ранних этапах разработки. Кодогенерация программ осуществляется автоматически - до 85 - 90% текстов на языках высокого уровня.
К CASE – средствам, например, относятся BPWin, ERWin, Rational Rose, Embarcadero, xCase.
Классификация по типам отражает функциональную ориентацию CASE-средств в технологическом процессе создания информационной системы.
1) АНАЛИЗ И ПРОЕКТИРОВАНИЕ. Средства данной группы используются для создания спецификаций системы и для ее проектирования. Их целью является определение системных требований и свойств, которыми система должна обладать, а также создание проекта системы, удовлетворяющей этим требованиям и обладающей соответствующими свойствами. На выходе продуцируются спецификации компонент системы и интерфейсов, связывающих эти компоненты, а также "калька" архитектуры системы и детальная "калька" проекта, включающая алгоритмы и определения структур данных. К таким средствам относятся: CASE.Аналитик (Эйтэкс), The Developer (ASYST Technologies), POSE (Computer Systems Advisers), ProKit*Workbench (McDonnell Douglas), Excelerator (Index Technology), Design-Aid (Nastec), Design Machine (Optima), MicroStep (Meta Systems), vsDesigner (Visual Software), Analist/Designer (Yourdon), Design/IDEF (Meta Software), BPWin (Logic Works), SELECT (Select Software Tools), System Architect (Popkin Software & Systems), Westmount I-CASE Yourdon (Westmount Technology B.V. & CADRE Technologies), CASE/4/0 (microTOOL GmbH).
2) ПРОЕКТИРОВАНИЕ БАЗ ДАННЫХ И ФАЙЛОВ. Средства данной группы обеспечивают логическое моделирование данных, автоматическое преобразование моделей данных в Третью Нормальную Форму, автоматическую генерацию схем БД и описаний форматов файлов на уровне программного кода: ERWin (Logic Works), Chen Toolkit (Chen & Asssociates), S-Designor (SDP), Designer2000 (Oracle), Silverrun (Computer Systems Advisers).
3) ПРОГРАММИРОВАНИЕ. Средства этой группы поддерживают этапы программирования и тестирования, а также автоматическую кодогенерацию из спецификаций, получая полностью документированную выполняемую программу: COBOL 2/Workbench (Mikro Focus), DECASE (DEC), NETRON/CAP (Netron), APS (Sage Software). Помимо диаграммеров различного назначения и средств поддержки работы с репозитарием, в эту группу средств включены и традиционные генераторы кодов, анализаторы кодов, генераторы наборов тестов, анализаторы покрытия тестами, отладчики.
4) СОПРОВОЖДЕНИЕ И РЕИНЖИНИРИНГ. К таким средствам относятся документаторы, анализаторы программ, средства реструктурирования и реинжениринга: Adpac CASE Tools (Adpac), Scan/COBOL u Superstructure (Computer Data Systems), Jnspector/Recoder (Language Technology). Их целью является корректировка, изменение, анализ, преобразование и реинжениринг существующей системы. Средства позволяют осуществлять поддержку всей системной документации, включая коды, спецификации, наборы тестов; контролировать покрытие тестами для оценки полноты тестируемости; управлять функционированием системы и т.п. Особый интерес представляют средства обеспечения мобильности и реинжиниринга. К средствам миграции относятся трансляторы, конверторы, макрогенераторы и др., позволяющие обеспечить перенос существующей системы в новое операционное или аппаратурное окружение. Средства реинжиниринга включают:
o статические анализаторы для продуцирования схем системы ПО из ее кодов, оценки влияния модификаций (например,"эффекта ряби" -внесение изменений с целью исправления ошибок порождает новые ошибки);
o динамические анализаторы (обычно, компиляторы и интерпретаторы с встроенными отладочными возможностями);
o документаторы, позволяющие автоматически получать обновленную документацию при изменении кода;