- •Введение
- •1. Структура и классификация сапр
- •1.1.Разновидности сапр
- •1.2.Функции, характеристики и примеры cae/cad/cam-систем
- •1.3.Понятие о cals-технологии
- •1.4.Комплексные автоматизированные системы
- •1.5.Системы управления в составе комплексных автоматизированных систем
- •1.6.Автоматизированные системы делопроизводства (асд)
- •2.Системы автоматизированного проектирования и их место среди других автоматизированных систем
- •3.Системные среды и программно-методические комплексы сапр
- •3.1.Функции сетевого программного обеспечения
- •3.1.1.Системы распределенных вычислений
- •3.1.2.Прикладные протоколы и телекоммуникационные информационные услуги
- •3.1.3.Информационная безопасность
- •3.2.Назначение и состав системных сред сапр
- •3.2.1.Системные среды автоматизированных систем
- •3.2.2.Подходы к интеграции по в сапр
- •3.2.3.Технологии интеграции по типа dde и ole
- •3.2.4.Управление данными в сапр
- •3.2.5.Варианты управления данными в сетях ас
- •3.2.6.Интеллектуальные серверы бд
- •3.2.7.Распределенные базы данных (рбд)
- •3.2.8.Программные средства управления проектированием в сапр
- •3.2.9.Примеры подсистем управления данными и проектированием
- •3.3.Инструментальные среды разработки программного обеспечения
- •3.3.1.Среды быстрой разработки приложений
- •3.3.2.Компонентно-ориентированные технологии
- •3.3.3.Пример реализации компонентно-ориентированной технологии в сапр
- •4.Системный подход к проектированию
- •4.1.Понятие инженерного проектирования
- •4.2.Принципы системного подхода
- •4.3.Основные понятия системотехники
- •5.Структура процесса проектирования
- •5.1.Иерархическая структура проектных спецификаций и иерархические уровни проектирования.
- •5.2.Стадии проектирования
- •5.3.Содержание технических заданий на проектирование
- •5.4.Классификация моделей и параметров, используемых при автоматизированном проектировании
- •5.5.Типовые проектные процедуры
- •6.Виды обеспечения и требования к их компонентам (гост 23501.101-87)
- •6.1.Программное обеспечение сапр
- •6.2.Информационное обеспечение сапр
- •6.3.Методическое обеспечение сапр
- •6.4.Математическое обеспечение сапр
- •6.5.Лингвистическое обеспечение сапр
- •6.6.Техническое обеспечение сапр
- •6.7.Организационное обеспечение сапр
- •7.Математическое моделирование автоматизированных систем
- •7.1.Математическое обеспечение анализа проектных решений
- •7.1.1.Математический аппарат в моделях разных иерархических уровней
- •7.1.2.Требования к математическим моделям и численным методам в сапр.
- •7.1.3.Место процедур формирования моделей в маршрутах проектирования
- •7.2.Математические модели в процедурах анализа на макроуровне
- •7.2.1.Исходные уравнения моделей
- •7.2.2.Примеры компонентных и топологических уравнений
- •7.2.3.Представление топологических уравнений
- •7.2.4.Особенности эквивалентных схем механических объектов.
- •7.2.5.Характеристика методов формирования ммс
- •7.2.6.Узловой метод
- •7.3.Методы и алгоритмы анализа на макроуровне
- •7.3.1.Выбор методов анализа во временной области
- •7.3.2.Алгоритм численного интегрирования соду
- •7.3.3.Методы решения систем нелинейных алгебраических уравнений
- •7.3.4.Методы решения систем линейных алгебраических уравнений
- •7.3.5.Анализ в частотной области
- •7.3.6.Многовариантный анализ
- •7.3.7.Организация вычислительного процесса в универсальных программах анализа на макроуровне.
- •7.4.Имитационное моделирование
- •7.4.1.Имитационное моделирование систем массового обслуживания
- •7.4.2.Событийный метод моделирования
- •7.4.3.Краткое описание языка срss
- •7.4.4.Сети Петри
- •7.4.5.Анализ сетей Петри
- •7.5.Математическое обеспечение синтеза проектных решений
- •7.5.1.Постановка задач параметрического синтеза
- •7.5.1.1.Место процедур синтеза в проектировании
- •7.5.1.2.Критерии оптимальности
- •7.5.1.3.Задачи оптимизации с учетом допусков
- •7.5.2.Обзор методов оптимизации
- •7.5.2.1.Классификация методов математического программирования
- •7.5.2.2.Методы одномерной оптимизации
- •7.5.2.3.Методы безусловной оптимизации
- •7.5.2.4.Необходимые условия экстремума
- •7.5.2.5.Методы поиска условных экстремумов.
- •7.5.3.Постановка задач структурного синтеза
- •7.5.3.1.Процедуры синтеза проектных решений
- •7.5.3.2.Задача принятия решений
- •7.5.3.3.Представление множества альтернатив
- •7.5.3.4.Морфологические таблицы
- •7.5.3.5.Альтернативные графы
- •7.5.3.6.Исчисления
- •7.5.4.Методы структурного синтеза в сапр
- •7.5.4.1.Системы искусственного интеллекта.
- •7.5.4.2.Дискретное математическое программирование
- •7.5.4.3.Элементы теории сложности
- •7.5.4.4.Эволюционные методы.
- •7.5.4.5.Постановка задачи поиска оптимальных решений с помощью генетических алгоритмов
- •7.5.4.6.Простой генетический алгоритм
- •7.5.4.7.Разновидности генетических операторов
- •7.5.4.8.Генетический метод комбинирования эвристик
- •8.Эффективность сапр
- •9.Понятие об открытых системах
- •9.1.История развития открытых систем
- •9.2.Существующие определения открытых систем и терминология
- •9.3.Различные подходы к понятию "открытые системы"
- •10.Технологии и стандарты информационной поддержки жизненного цикла изделий
- •Заключение
- •Библиографический список
- •Оглавление
- •394026 Воронеж, Московский просп., 14
3.3.Инструментальные среды разработки программного обеспечения
3.3.1.Среды быстрой разработки приложений
CASE-системы часто отождествляют с инструментальными средами разработки ПО, называемыми средами быстрой разработки приложений (RAD – Rapid Application Development). Примерами широко известных инструментальных сред RAD являются VB (Visual Basic), Delphi, PowerBuilder фирм Microsoft, Borland, PowerSoft соответственно. Применение инструментальных сред существенно сокращает объем ручной работы программистов, особенно при проектировании интерактивных частей программ.
Большое практическое значение имеют инструментальные среды для разработки ПП, предназначенных для работы под управлением операционных систем Windows, в связи с широкой распространенностью последних.
Простейшая система для написания Windows-программ на языке C++, позволяющая сократить объем кода, создаваемого пользователем вручную, основана на библиотеке DLL (Dynamic Link Library), которая содержит модули, реализующие функции API (Application Programming Interface) для связи прикладных программ с ОС Windows.
Эта система получила развитие в MFC (Microsoft Foundation Classes), представляющей собой библиотеку классов для автоматического создания каркасов ПО многоуровневых приложений. В библиотеке имеются средства для поддержки оконного интерфейса, работы с файлами и др.
В средах быстрой разработки приложений RAD обычно реализуется способ программирования, называемый управлением событиями. При этом достигается автоматическое создание каркасов программ, существенно сокращается объем ручного кодирования. В этих средах пользователь может работать одновременно с несколькими экранами (окнами). Типичными являются окна из следующего списка.
Окно меню с пунктами "file", "edit", "window" и т.п., реализующими функции, очевидные из названия пунктов.
Окно формы, на котором собственно и создается прототип экрана будущей прикладной программы.
Палитра инструментов – набор изображений объектов пользовательского интерфейса, из которых можно компоновать содержимое окна формы.
Окно свойств и событий, с помощью которого ставятся в соответствие друг другу объекты окна формы, события и обработчики событий. Событием в прикладной программе является нажатие клавиши или установка курсора мыши в объект формы. Каждому событию должна соответствовать событийная процедура (обработчик события), которая проверяет код клавиши и вызывает нужную реакцию. В RAD имеются средства для удобства разработки обработчиков событий.
Окно редактора кода, в котором пользователь записывает создаваемую вручную часть кода.
Окно проекта – список модулей и форм в создаваемой программе.
Для написания событийных процедур в Visual Basic используется язык и текстовый редактор одноименного языка, в Delphi – язык и редактор языка Object Pascal. В CASE-системе фирмы IBM, включающей части VisualAge (для клиентских приложений) и VisualGen (для серверных приложений), базовым языком выбран SmallTalk. В среде разработки приложений клиент-сервер SQLWindows оригинальные фрагменты программ пишутся на специальном языке SAL. Нужно заметить, что для реализации вычислительных процедур и, в частности, для написания миниспецификаций используется обычная для 3GL технология программирования.
Обычно после написания 1111 на базовом языке компилятор системы переводит программу на промежуточный /?-код. Вместе с интерпретатором /?-кода эта программа рассматривается, как ЕХЕ-файл. В некоторых развитых средах компилируется обычный ЕХЕ-файл, не требующий интерпретации для своего исполнения.
Помимо упрощения написания пользовательского интерфейса, в средах RAD предусматриваются средства для реализации и ряда других функций. Так, в наиболее развитой версии Visual Basic к ним относятся средства выполнения следующих функций:
поддержка ODBC, что дает возможность работы с различными СУБД;
разработка баз данных;
разработка трехзвенных систем распределенных вычислений;.
интерактивная отладка процедур на SQL Server;
управление версиями при групповой разработке ПО;
моделирование и анализ сценариев распределенных вычислений.
Для создания сред RAD в случае сетевого программирования требуется решить ряд дополнительных проблем, обусловливаемых многоплатформенностью в гетерогенных сетях, обилием применяемых форматов данных, необходимостью защиты информации и т.п. Решение этих проблем достигнуто в объектно-ориентированных технологиях на базе языка сетевого программирования Java. Кроме того, с помощью Java удается решить еще одну актуальную для Internet и Intranet задачу – сделать Web-страницы интерактивными.
Платформенная инвариантность в Java достигается, благодаря введению виртуальной метамашины с системой команд, максимально приближенной к особенностям большинства машинных языков. Любой Web-сервер при наличии запроса на Java-программу со стороны клиента транслирует (компилирует) эту программу на язык метамашины. Скомпилированный модуль, называемый байт-кодом, пересылается клиенту. Клиент должен выполнить интерпретацию байт-кода. Соответствующие интерпретаторы в настоящее время имеются в браузерах всех основных разработчиков Web-технологий.
Java используется двояким образом. Во-первых, как средство "оживления" Web-страниц. В этом случае программный Java-компонент называют аплетом, аплет встраивается в страницу с помощью специального тега, имеющегося в языке HTML. Во-вторых, Java – универсальный язык программирования и может быть использован для написания любых приложений, не обязательно привязанных к Web-технологии.
Хотя и ранее были известны технологии на базе промежуточных /?-кодов, именно технология Java, оказалась наилучшим образом приспособленной для использования в гетерогенной сетевой среде. Она последовательно отражает принципы объектно-ориентированного программирования и обеспечивает приемлемую эффективность (производительность) исполнения программ. Эту эффективность можно еще более повысить, если в браузерах заменить интерпретацию на компиляцию.
Для разработки ПО на языке Java создан ряд инструментальных средств. Основной средой является JDK (Java Developer's Kit). В ней имеются: 1) библиотеки классов, в том числе библиотеки основных элементов языка, часто используемых оболочек (wrapper), процедур ввода-вывода, компонентов оконного интерфейса и др. 2) инструментальные средства такие, как компилятор байт-кодов, интерпретатор, просмотрщик аплетов, отладчик, формирователь оконных форм и т.п. Развитую RAD-среду – PowerJ – предлагает фирма Sybase.
Значительное внимание уделяется разработке инструментальных сред для создания Web-узлов, примером такой среды может служить HAHTSite фирмы HAHTSoftware. Для разработки Java-программ из готовых компонентов можно использовать среду ШМ Visual Age for Java, в которой имеются (как и в среде VB) версии учебная, профессиональная и общецелевая (Enterprise), и др.
Наряду с самостоятельными RAD-системами имеются и RAD-системы в составе САПР. Это прежде всего упомянутая выше система CAS.CADE фирмы Matra Datavision.