- •К азань 2008
- •Введение
- •1. Программное обеспечение (по)
- •1.1. Системное программное обеспечение эвм
- •1.2. Инструментарий технологии программирования
- •1.3. Пакеты прикладных программ
- •2. Формирование системы информационных технологий жизненного цикла наукоемких изделий машиностроения на основе комплекса программных продуктов cad/cam/cae/pdm и erp
- •2.1. Мировой уровень – достижения мировых лидеров создания и производства наукоемкой продукции машиностроения
- •2.2. Производители ппп верхнего уровня для управления жизненным циклом (plm) наукоемких изделий и их программные продукты для задач cad/cae/cam/pdm
- •2.3. Ппп Pro/engineer. Программный комплекс для сквозного параллельного проектирования и подготовки производства [18]
- •Трансляторы данных
- •Создание фотореалистических изображений моделей
- •Создание Web-публикаций
- •Стандартные библиотеки
- •Прикладные программные модули, предназначенные для решения проектно-конструкторских задач (cad)
- •Pro/engineer Piping Design (Полностью автоматизированное трехмерное проектирование прокладки трубопроводов)
- •Pro/engineer Cabling Design (Быстрое получение оптимальной трассы кабелей)
- •Pro/engineer Expert Framework (Удобное средство для создания каркасных конструкций)
- •Pro/engineer Mechanica (Интегрированный пакет прочностного и теплового анализа и оптимизации, доступный конструктору)
- •Технологические решения в концепции развития Pro/engineer
- •Pro/engineer Prismatic and Multi-Surface Machining (Моделирование механической обработки)
- •Pro/engineer Complete Machining (Полный комплект модулей обработки)
- •Типы многокоординатной обработки
- •Управление осью инструмента
- •Положительные особенности рассматриваемого решения
- •Решения Pro/engineer для разработки инструментальной оснастки
- •Pro/engineer Tool Design (Проектирование пресс-форм, литейных форм и вытяжных штампов)
- •Pro/engineer Expert Moldbase (Проектирование пресс-форм для литья пластмасс)
- •Pro/engineer Plastic Advisor (Анализ проливаемости пластмассовых деталей)
- •Pro/engineer Progressive Die (Проектирование штампов для листогибочных, листовырубных и листопробивных операций)
- •2.4. Общекорпоративная информационная система управления Windchill как основа управления жизненным циклом изделий (plm)
- •Windchill pdmLink (Надежное решение для обеспечения контроля над всеми производственными процессами и сопутствующей информацией об изделии на протяжении всего жизненного цикла)
- •Windchill ProjectLink (Решение для управления проектом в рамках расширенного предприятия, основанное на совместной работе коллектива разработчиков)
- •2.5. Специализированное программное обеспечение инженерного анализа (cae)
- •Msc.Fatigue (Уникальные возможности оптимизации конструкции на основе критериев долговечности)
- •2.6. Программное обеспечение управления (планирования) ресурсами предприятий – erp
- •Управление жизненным циклом – Product Lifecycle Management (Oracle plm)
- •Oracle Расширенный каталог продуктов – Oracle Advanced Product Catalog (apc)
- •Oracle Система информирования руководства – Oracle Product Development Intelligence (opdi).
- •Управление проектами – Oracle Project
- •Управление производством – Manufacturing
- •3. Cals-технологии
- •3.1. Развитие понятия cals
- •3.2. Интерактивное электронное техническое руководство (иэтр)
- •3.3. Программное обеспечение создания интерактивной эксплуатационной технической документации
- •4. Обзор ведущих программных продуктов среднего и чертежно-конструкторского уровня, используемых при разработке и изготовлении изделий машиностроения
- •Комплекс решений pdm/cad/cam/cae для конструкторско-технологической подготовки производства (ктпп) на базе программного обеспечения лоцман:plm и компас
- •Система «Галактика»
- •Заключение
- •Список литературы
- •Содержание
- •4 20111, Казань, к. Маркса, 10
1.2. Инструментарий технологии программирования
Инструментарий технологии программирования обеспечивает процесс разработки программ и включает специализированные программные продукты, которые являются инструментальными средствами разработчика, программные продукты данного класса поддерживают все технологические этапы процесса проектирования, программирования (кодирования), отладки и тестирования создаваемых программ. Пользователями технологии программирования выступают системные и прикладные программисты.
Инструментарий технологии программирования – совокупность программ и программных комплексов, обеспечивающих технологию разработки, отладки и внедрения создаваемых программ.
Выделяют следующие группы инструментальных средств технологии программирования:
- средства для создания приложений, включающие локальные средства, обеспечивающие выполнение отдельных работ по созданию программ, и интегрированные среды разработчиков программ, обеспечивающие выполнение комплекса взаимосвязанных работ по созданию программ;
- средства по созданию информационных систем – CASE (Computer Aided System Engineering) – технология, представляющая методы анализа, проектирования и создания программных систем и предназначенная для компьютеризации процессов разработки и реализации информационных систем.
Локальные средства разработки программ широко представлены на рынке программных продуктов и состоят из языков и систем программирования, а также инструментальной среды пользователя.
Язык программирования – формализованный язык для описания алгоритма решения задачи на компьютере.
Приняв в качестве признака классификации синтаксис образования конструкции языка, можно разделить языки программирования на классы:
- машинные языки (computer language) – языки программирования, воспринимаемые аппаратной частью компьютера (машинные коды);
- машинно-ориентированные языки (computer oriented language) – языки программирования, которые отражают структуру конкретного типа компьютера (ассемблеры);
- алгоритмические языки (algorithmic language) – не зависящие от архитектуры компьютера языки программирования для отражения структуры алгоритма (Паскаль, Фортран, Си и др.);
- процедурно-ориентированные языки (procedure-oriented language) – языки программирования, предоставляющие возможность описания программы как совокупности процедур (подпрограмм);
- проблемно-ориентированные языки (universal programming language) – языки программирования, предназначенные для решения задач определенного класса (Лисп, Симула и др.);
- интегрированные системы программирования.
Программа, подготовленная на языке программирования высокого уровня, проходит этап трансляции.
Трансляторы реализуются в виде компиляторов или интерпретаторов.
Компилятор (compiler – составитель, собиратель) читает всю программу целиком, делает ее перевод и создает законченный вариант программы на машинном языке, выполняемый затем.
Интерпретатор (interpreter – истолкователь, устный перевод- чик) переводит и выполняет программу построчно.
Откомпилированная программа не требует дальнейшего привлечения исходной программы или компилятора. Программа, обрабатываемая интерпретатором, должна вновь переводиться на машинный язык при каждом очередном запуске программы. Откомпилированные программы работают быстрее, но интерпретируемые проще исправлять и изменять.
В состав современных систем программирования, предоставляющих пользователям мощные удобные средства разработки программ, входят:
- компилятор или интерпретатор;
- интегрированная среда разработки;
- средства создания и редактирования текстов программ;
- библиотеки стандартных программ и функций;
- отладочные программы, помогающие находить и устранять ошибки в программе;
- «дружественная» к пользователю диалоговая среда;
- многооконный режим работы;
- мощные графические библиотеки;
- утилиты для работы с библиотеками;
- встроенный ассемблер;
- встроенная справочная служба и др.
При создании сложных прикладных систем возникает необходимость использования машинно-ориентированных ассемблерных программ. Помимо языка ассемблера, который дает возможность использовать все особенности машины и может быть применен для решения задач любого типа, существуют языки программирования высокого уровня, ориентированные на различные классы машин. К ним относятся Фортран, Паскаль, Си.
Язык Фортран – один из первых языков высокого уровня, активно используется на персональных компьютерах. Применяется главным образом при разработке прикладных систем, ориентированных на научные исследования, компьютеризацию проектирования и другие области, где накоплены обширные стандартные библиотеки программ. Наиболее популярна версия Фортран-90, отдельные элементы которой реализованы в Microsoft Fortran, а в полном объеме – в Fortran PowerStation.
Язык Паскаль, выпущенный в 1969 г., – сегодня один из широко распространенных алгоритмических языков, компиляторы с которого разработаны для компьютеров практически всех архитектур. Существует несколько развитых диалектов языка, снабженных разнообразными дополнительными инструментариями и средствами поддержки разработки ПО, например, средствами фирмы Borland для ПК. Паскаль является классическим языком программирования, первоначально созданным в качестве учебного языка, а затем ориентированным на решение научных задач.
Язык Си, в отличие от Паскаля, с момента своего появления (1972 г.) был ориентирован на разработку системных программ. Он, в частности, послужил главным инструментом для создания многих операционных систем и программных продуктов. В этом языке имеются более гибкие средства для эффективного использования особенностей аппаратуры, чем в Паскале. Благодаря этому порождаемые машинные программы, как правило, более компактны и работают быстрее, чем программы, получаемые Паскаль-трансляторами. С другой стороны, синтаксис языка Си менее прозрачен, чем у Паскаля; возможностей для внесения ошибок больше; чтение текстов требует определенного навыка. В связи с этим язык Си применяется главным образом для создания системных и прикладных программ, в которых скорость работы и объем памяти являются критическими параметрами.
Развитием процедурных языков является объектно-ориентированный подход, впервые возникший в комплекте с компилятором Turbo Pascal 5.5. Начиная с Turbo Pascal 6.0, в пакет входит библиотека Turbo Vision, позднее перенесенная в среду Turbo C ++. Данные библиотеки основаны на объектно-ориентированном программировании и принципах построения программ, управляемых событиями. Объектно-ориентированный подход представляет собой последовательный процесс итерации, который позволяет безболезненно вносить изменения в уже отлаженный программный продукт и в котором результаты одного из этапов могут повлиять на решения, принятые на предыдущих этапах.
Концепция объектно-ориентированного программирования и визуального подхода к построению приложений нашла отражение в языках для разработки Windows-приложений: Visual Basic, Delphi, C++. Общим для них является простота и наглядность процесса создания программ, основанных на использовании технологий визуального программирования. Несмотря на идентичность идеологии, заложенной в данных языках, в их применении имеются отличия. Delphi ориентируется фирмой Borland на создание полноценных распределенных корпоративных систем доступа к данным. Visual Basic фирмы Microsoft применяется в основном для создания приложений и расширений для готовых программных продуктов под Windows- и Web-приложения, а Visual C++ (Microsoft) и Borland C++ Builder используются для разработки Интернет-обозрений, корпоративных приложений и операционных систем.
Развитие Интернета вызвало появление языков, требующихся для рационализации и надежности пользования всемирной сетью. Важная роль отведена языку гипертекстовой разметки HTML [12]. Документы с гиперссылками определили основное содержание Web-документов, используемых в www-сервисе Интернета, так как они формируются в виде совокупности отдельных файлов, ссылки к которым установлены на поле основного Web-документа, что позволяет значительно уменьшить не только объем документа, но и время его загрузки на поле браузера (программы ускоренного просмотра).
Для записи Web-документа используется язык гипертекстовой разметки HTML (HyperText Markup Language), простой по содержанию, так что овладение им доступно миллионам авторов, публикующих свои Web-страницы (информационные материалы, результаты исследований, деловые или учебные документы и т.п.).
Кроме того, в функционировании Интернета важную роль играют Web-узлы. Web-узел – это информационный портал, доступный множеству пользователей. На Web-узлах размещается различная информация – текстовая, изображения, видео-клипы и многое другое. Web-страница – это представление информации, размещенной на Web-узле, которое понятно браузерам. Поскольку существуют различные типы браузеров, работающих с различными операционными системами, не имеет смысла применять формат, зависящий от компьютерной платформы. Данные хранятся в универсальном текстовом формате ASCII (American Standard Code for Information Interchange). HTML позволяет форматировать данные, чтобы они соответствующим образом отображались в браузере [13].
Первая версия HTML появилась в 1990 г. на базе языка стандарта обобщенной разметки (Standard Generalized Mockup Language - SGML). Стандарт HTML 2.0 определяет построение большинства современных страниц www. В 1996 г. была выпущена версия языка HTML 3.2, позволяющая более широко представлять таблицы в Web-документах, использовать новые типы форматирования, включать маленькие программки – Java-апплеты и т.п.
HTML – это текстовый язык, позволяющий создать www-до- кумент (Web-документ) в форме электронной книги, которую можно пролистать, ознакомиться с оглавлением, просмотреть сноски, сделать заметки на полях, перейти на страницы другой книги (справочника и др.), получить там дополнительную информацию и снова вернуться к исходному тексту. Наряду с описанием структуры страниц HTML позволяет использовать традиционный текст, форматируя его в абзацы, таблицы, заголовки, списки и другие структуры, применять графические объекты и устанавливать ссылки на другие страницы и к другим документам и элементам их структур.
Как и любой язык программирования, HTML-язык имеет свой синтаксис и свою структуру. Синтаксис языка определяется набором команд и правилами их использования. Структура языка определяет последовательность размещения команд языка и элементов гипертекстового документа в теговой модели.
В основе гипертекстового языка лежит понятие «тег» (от английского tag – метка, ярлык, этикетка, бирка), обозначающее инструкцию по форматированию следующего за тегом текстового (или иного) фрагмента документа.
Формирование структуры записи поддерживается следующими тегами: HTML, заголовок (Head) и тело документа (Body).
Приведенные теги являются техническими и в общем случае могут не использоваться, однако так поступать не рекомендуется.
Тег сообщает браузеру, каким образом следует представить на экране текущий фрагмент документа или откуда взять дополнительную информацию.
Теги представляют собой последовательность символов, заключенных между знаками « » и «» (угловые скобы). Теги располагаются построчно, внутри неформатированного текста документа. Например: TITLE Лаборатория информационных технологий TITLE. Аналогом термина «тег» является термин «дескриптор».
В середине 1990-х годов компания Sun Microsystems (США), известная в течение ряда лет как лидер в области профессиональных рабочих станций, использующих операционную систему семейства UNIX (UNIX-станций), разработала быстро ставший популярным язык программирования Java. Java является одним из самых быстроразвивающихся языков в компьютерном мире. Это, с одной стороны, обусловлено относительной простотой программирования, что делает Java привлекательным не только для опытных, но и для начинающих программистов. С другой стороны, это связано с независимостью данного языка от выбранной компьютерной платформы. Код, написанный на «чистом» Java, является кросс-платформенным, что обозначает возможность его использования на любой платформе, поддерживающей средство разработчика языка Java (Java Development Kit - JDK), разработанное компанией Sun. Несмотря на кажущуюся простоту, Java является очень мощным языком программирования, позволяя достаточно просто решать разнообразные задачи.
Существует два вида программ, которые можно написать на языке Java: приложения и апплеты. Приложение – это программа, которая выполняется непосредственно на компьютере пользователя с помощью интерпретатора Java. Обычно программы этого типа выполняются на сервере. Однако существует другая область программ, выполняемых на стороне клиента (на компьютере пользователя). Программы, выполняемые на стороне клиента, пишутся в форме так называемых апплетов. Апплет – это программа, написанная на Java, которая обычно выполняется на компьютере пользователя с помощью обозревателя Интернет. Такие обозреватели Интернет, как Netscape Navigator и Internet Explorer имеют встроенные мини-интерпретаторы Java. Когда пользователь открывает страницу HTML, содержащую ссылку на апплет Java, обозреватель загружает файл класса, соответствующий этому апплету, и запускает его на компьютере пользователя. В данном случае программа выполняется на стороне клиента (компьютере, на котором запущен обозреватель), а не на стороне сервера (компьютере, на котором непосредственно размещен соответствующий апплету файл класса). Таким образом, использование апплетов позволяет снизить нагрузку на сервер.
В объектно-ориентированном программировании (ООП) рассматриваемый объект представляет собой реализацию класса, то есть, например, объект – самолет является реализацией комплекта чертежей, являющегося в ООП «классом».
Вслед за HTML был разработан расширенный язык разметки, известный как XML (eXtensible Markup Language). Соответствующая концепция метаинформации используется в базах данных. При создании таблицы базы данных для хранения персональной информации о клиентах сначала создаются следующие поля: firstName, lastName, StreetAdress, City, Zip и Phone. Естественно, можно хранить все эти данные в одной строке, но лучше разделить их на логические элементы. Подобным образом реализуется иерархичность данных в XML.
XML не является языком в классическом понимании этого слова. Он скорее представляет собой спецификации, основанные на других языках. Фактически можно самостоятельно создавать собственный язык на основе правил XML, то есть можно создать собственный набор дескрипторов, который будет описывать данные.
Для создания XML – совместимого документа необходимо придерживаться следующих правил. Каждый открывающий дескриптор должен иметь соответствующий закрывающий. И еще одно правило: все имена дескрипторов контекстно-зависимы, то есть дескриптор Name отличается от NAME.
Язык XML «ориентируется» на смысл информации, а не на отображение непосредственно самого документа. Можно создать несколько видов одних и тех же данных, не разделяя данные на несколько файлов.
Инструментальная среда пользователя представлена специальными средствами, встроенными в пакеты прикладных программ, это:
- библиотека функций, процедур, объектов и методов обработки;
- макрокоманды (macro command), означающие, что одна буква или слово используются для запуска набора подпрограмм, упрощая тем самым пользование программой;
- клавишные макросы. Макрос (macro) – команда, состоящая из набора команд, которые могут храниться как единое целое и вводиться в разные части программы. Следует отличать макрос от подпрограммы, которая тоже представляет собой набор команд, но к которой может быть выполнено обращение из любой части программы. Макросы же предназначены для того, чтобы предоставить пользователям, например программистам, дополнительные удобства и избежать повторного набора повторяющихся серий команд; они используются при составлении команд на языке ассемблера – программист может получить выполнение ряда команд путем совместного нажатия нескольких клавиш:
- языковые макросы;
- программные модули – вставки;
- конструкторы экранных форм и отчетов;
- генераторы приложений;
- языки запросов высокого уровня;
- языки манипулирования данными;
- конструкторы меню и т. п.
Дальнейшим развитием локальных средств разработки программ, которые объединяют набор средств для комплексного их применения на всех технологических этапах создания программ, являются интегрированные программные среды разработчиков. Основное назначение инструментария данного рода – повышение производительности труда пользователей, в частности, программистов, автоматизация создания кодов программ, обеспечивающих интерфейс пользователя графического типа, разработка приложений для архитектуры клиент-сервер, запросов и отчетов.
