2. Инструментарии программирования и их назначение и состав. Инструментарии программирования и их назначение и состав
Скачать 31.23 Kb.
|
Инструментарии программирования и их назначение и состав.Инструментарий технологии программирования— совокупность программ и программных комплексов, обеспечивающих технологию разработки, отладки и внедрения создаваемых программных продуктов. Состав и назначение инструментария технологии программирования . Рис. 17 Классификация инструментария технологии программирования. В настоящее время бурно развивается направление, связанное с технологией создания программных продуктов. Это обусловлено переходом на промышленную технологию производства программ, стремлением к сокращению сроков, трудовых и материальных затрат на производство и эксплуатацию программ, обеспечению гарантированного уровня их качества. Это направление часто называют программотехникой. Программотехника— технология разработки, отладки, верификации и внедрения программного обеспечения. Инструментарийтехнологии программирования— программные продукты поддержки (обеспечения) технологии программирования. В рамках этих направлений сформировались следующие группы программных продуктов (рис.17): Средства для создания приложений, включающие: локальные средства, обеспечивающие выполнение отдельных работ по созданию программ; интегрированные средыразработчиков программ, обеспечивающие выполнение комплекса взаимосвязанных работ по созданию программ; Состав и назначение инструментария технологии программирования. В настоящее время бурно развивается направление, связанное с технологией создания программных продуктов. Это обусловлено переходом на промышленную технологию производства программ, стремлением к сокращению сроков, трудовых и материальных затрат на производство и эксплуатацию программ, обеспечению гарантированного уровня их качества. Это направление часто называют программотехникой. Программотехника(software engineering) - технология разработки, отладки, верификации и внедрения программного обеспечения.Инструментарии технологии программирования- программные продукты поддержки (обеспечения) технологии программирования. В рамках этих направлений сформировались следующие группы программных продуктов (рис.8.1.): - средства для создания приложений, включающие: локальные средства, обеспечивающие выполнение отдельных работ по созданию программ; интегрированные среды разработчиков программ, обеспечивающие выполнение комплекса взаимосвязанных работ по созданию программ; - СASE-технология (Computer-Aided System Engineering), представляющая методы анализа, проектирования и создания программных систем и предназначенная дли автоматизации процессов разработки и реализации информационных систем. Средства для создания приложений.Локальные средства разработки программ. Эти средства на рынке программных продуктов наиболее представительны и включают языки и системы программирования, а также инструментальную среду пользователя. Язык программирования- формализованный язык для описания алгоритма решения задачи на компьютере. Средства для создания приложений- совокупность языков и систем программирования, а также различные программные комплексы для отладки и поддержки создаваемых программ. Языки программирования, если в качестве признака классификации взять синтаксис образования его конструкций, можно условно разделить на классы: - машинные языки (computer language) - языки программирования, воспринимаемые аппаратной частью компьютера (машинные коды); - машинно-ориентированные языки (computer-oriented language) - языки программирования, которые отражают структуру конкретного типа компьютера (ассемблеры); - алгоритмические языки ( algorithmic language) - не зависящие от архитектуры компьютера языки программирования для отражения структуры алгоритма (Паскаль, j Фортран, Бейсик и др.); - процедурно-ориентированные языки (procedure-oriented language) - языки программирования, где имеется возможность описания программы как совокупности процедур (подпрограмм); - проблемно-ориентированные языки (universal programming language) - языки программирования, предназначенные для решения задач определенного класса (Лисп, РПГ, Симула и др.); - интегрированные системы программирования. Другой классификацией языков программирования является их деление на языки, ориентированные на реализацию основ структурного программирования, и объектно-ориентированные языки, поддерживающие понятие объектов и их свойств и методов обработки. Более подробно об этом делении см. гл. 18 и 19. Программа, подготовленная на языке программирования, проходит этап трансляции, тогда происходит преобразование исходного кодапрограммы (source code) в объектный код (object code), который далее пригоден к обработке редактором связей.Редактор связей- специальная программа, обеспечивающая построениезагрузочного модуля(load module), пригодного к выполнению (рис, 8.12.). Рис. 8.12. Схема процесса создания загрузочного модуля программы. Трансляция может выполняться с использованием средств компиляторов (compiler) или интерпретаторов (interpreter). Компиляторы транслируют всю программу, но без ее выполнения. Интерпретаторы, в отличие от компиляторов, выполняют пооператорную обработку и выполнение программы. Существуют специальные программы, предназначенные для трассировки и анализа выполнения других программ, так называемые отладчики(debugger). Лучшие отладчики позволяют осуществить трассировку (отслеживание выполнения программы в пооператорном варианте), идентификацию места и вида ошибок в программе, "наблюдение" за изменением значений переменных, выражений и т.п. Для отладки и тестирования правильности работы программ создается база данных контрольного примера. Системы программирования(programming system) включают: - компилятор; - интегрированную среду разработчика программ; - отладчик; - средства оптимизации кода программ; - набор библиотек (возможно с исходными текстами программ); - редактор связей; - сервисные средства (утилиты) для работы с библиотеками, текстовыми и двоичными файлами; - справочные системы; - документатор исходного кода программы; - систему поддержки и управления проектом программного комплекса. Средства поддержки проектов - новый класс программного обеспечения, предназначен для: - отслеживания изменений, выполненных разработчиками программ; - поддержки версий программы с автоматической разноской изменений; - получения статистики о ходе работ проекта. Инструментальная среда пользователяпредставлена специальными средствами, встроенными в пакеты прикладных программ, такими, как: - библиотека функций, процедур, объектов и методов обработки; - макрокоманды; - клавишные макросы; - языковые макросы; - программные модули-вставки; - конструкторы экранных форм и отчетов; - генераторы приложений; - языки запросов высокого уровня; - языки манипулирования данными; - конструкторы меню и многое другое. Более подробно эти средства рассмотрены в гл. 19. Средства отладки и тестирования программ предназначены для подготовки разработанной программы к промышленной эксплуатации. Интегрированные среды разработки программ.Дальнейшим развитием локальных средств разработки программ, которые объединяют набор средств для комплексного применения на всех технологических этапах создания программ, являются интегрированные программные среды разработчиков. Основное назначение инструментария данного вида - повышение производительности труда программистов, автоматизация создания кодов программ, обеспечивающих интерфейс пользователя графического типа, разработка приложений для архитектуры клиент-сервер, запросов и отчетов. CASE-технология создания информационных систем. Средства CASE-технологии - относительно новое, сформировавшееся на рубеже 80-х г направление. Массовое применение затруднено крайне высокой стоимостью и предъявляемыми требованиями к оборудованию рабочего места разработчика. CASE-технология - программный комплекс, автоматизирующий весь технологический процесс анализа, проектирования, разработки и сопровождения сложных программных систем. Средства CASE-технологий делятся на две группы: - встроенные в систему реализации - все решения по проектированию и реализации привязаны к выбранной системе управления базами данных (СУБД); - независимые от системы реализации - все решения по проектированию ориентированы на унификацию начальных этапов жизненного цикла и средств их документирования, обеспечивают большую гибкость в выборе средств реализации. Основное достоинство CASE-технологии - поддержка коллективной работы над проектом за счет возможности работы в локальной сети разработчиков, экспорта/импорта любых фрагментов проекта, организационного управления проектом. Некоторые CASE-технологии ориентированы только на системных проектировщиков и предоставляют специальные графические средства для изображения различного вида моделей: - диаграмму потоков данных (DFD - data flow diagrams) совместно со словарями данных и спецификациями процессов; - диаграмму "сущность-связь" (ERD - entity relationship diagrams), являющуюся инфологической моделью предметной области (см. гл. 15); - диаграмму переходов состояний (STD - state transition diagrams), учитывающую события и реакцию на них системы обработки данных. Диаграмма DFD устанавливает связь источников информации с потребителями, выделяет логические функции (процессы) преобразования информации, определяет группы элементов данных и их хранилища (базы данных). Описание структуры потоков данных, определение их компонентов хранятся в актуальном состоянии в словаре данных, который выступает как база данных проекта. Каждая логическая функция может детализироваться с помощью DFD нижнего уровня согласно методам нисходящего проектирования (см. гл. 18). Выполняются автоматизированное проектирование спецификаций программ (задание основных характеристик для разработки программ) и ведение словаря данных. Другой класс CASE-технологий поддерживает только разработку программ, включая: - автоматическую генерацию кодов программ на основании их спецификаций; - проверку корректности описания моделей данных и схем потоков данных; - документирование программ согласно принятым стандартам и актуальному состоянию проекта; - тестирование и отладку программ. Кодогенерация программ выполняется двумя способами; создание каркаса программ и создание полного продукта. Каркас программы служит для последующего ручного варианта редактирования исходных текстов, обеспечивая возможность вмешательства программиста; полный продукт не редактируется вручную. В рамках CASE-технологий проект сопровождается целиком, а не только его программные коды. Проектные материалы, подготовленные в CASE-технологии, служат заданием программистам, а само программирование скорее сводится к кодированию - переводу на определенный язык структур данных и методов их обработки, если не предусмотрена автоматическая кодогенерация. Большинство CASE-технологий использует также метод "прототипов" для быстрого создания программ на ранних этапах разработки. Кодогенерация программ осуществляется автоматически - до 85 - 90% объектных кодов и текстов на языках высокого уровня, а в качестве языков наиболее часто используются Ада, Си, Кобол. Программные продукты для создания приложений. Данный класс программных средств, как уже отмечалось выше, весьма представителен. Приведем характеристику некоторых продуктов, которые предлагает фирма Microsoft. Макроассемблер MASM, обеспечивающий создание программ, быстро манипулирующих с данными большой размерности, поддерживающих различные форматы объектных файлов. Кроме того, можно создавать динамические библиотеки (DLL, VBX) для Microsoft Visual Basic, генерировать DOS-, Windows-приложения. Средства данного языка наиболее часто используются для разработки драйверов - специальных программ для эмуляции нестандартных устройств, подключаемых к компьютеру, различных преобразований форматов данных, поддержания интерфейсов доступа к данным в разнородных программных системах. Компилятор Visual C++for Windows Professional Edition 1.5 является системой программирования объектно-ориентированного типа, обеспечивающей просмотр иерархии классов объектов приложения (Source Browser), работу отладчика (Debugger), компилятора и др. В состав пакета входит библиотека классов MFC (Microsoft Foundation Classes Library), содержащая классы для реализации сложного пользовательского интерфейса, средства изготовления структуры пользовательского интерфейса (AppWizard), создания диалогов, меню, икон, растров, курсоров (Арр Studio), свойств новых интерфейсных классов, наследующих свойства классов MFC (Class Wizard). Компилятор полностью поддерживает стандарт OLE 2.0 системы Windows (см. ниже), ODBC (Open DataBase Connectivity) - для обеспечения доступа к данным в различных форматах, хранимых как в локальной базе данных, так и на сервере баз данных. Visual Basic for Windows 4.0-система программирования объектно-ориентированного типа, транслирующая команды по мере их ввода, позволяющая создавать и управлять множеством объектов (кнопками, флажками, комбинированными списками, окнами ввода, переключателями, линейками и т.п.), поддержку объектов OLE 2.0. Данный язык является языковой платформой приложений Microsoft Office (см. гл. 18) и имеет диалект Microsoft Basic for Application. Microsoft IMSL Mathematical and Statistical Library-математическая и статистическая библиотеки набора функций и примеров их использования (более 1000), которые можно вызвать из программ, написанных на языке C++. Средства поддержки проектов Microsoft Delta for Windows, используемые для независимой от всего проекта новой версии программного модуля, отслеживания новых версий, автоматической разноски изменений по копиям проекта программной системы. Технологические стандарты Microsoft, которые могут быть использованы разработчиками прикладных программ. OLE(Object Linking and Embedding) 2-0 - позволяющий создавать приложения, включающие в свой состав объекты, полученные из других приложений. Объект имеет две составляющие: - внешнее представление объекта (presentation data); - способ редактирования объекта (native data). Любой объект может либо внедряться (embedding), либо связываться (linking) с приложением. Технология OLE 2.0 обеспечивает: - редактирование "чужого" объекта внутри приложения; - экономию трудовых затрат на разработку программ за счет ссылок на существующие внешние объекты; - информационную интеграцию приложений. ODBC(Open DataBase Connectivity) - создание единого интерфейса доступа к различным базам данных на различных платформах. Программа выступает в качестве клиента, а база данных - в качестве сервера, доступ реализуется с помощью драйвера. Разработчики новых СУБД обеспечивают создание соответствующих их форматам драйверов. Для создания прикладных программ, использующих стандарт ODBC, используется инструментарий ODBC Sowtware Development Kit (SDK). MAPI(Messaging Application Program Interface) - обеспечение независимости приложений от систем связи в режиме телекоммуникаций, который также работает по принципу драйвера. MAPI поддерживает стандарт Х.400 Association's Common Messaging Calls (CMC), a также ряд других интерфейсов (API, SDK, DDK). Существуют также и интегрированные инструментальные среды для разработчиков программ других фирм: - Delphi 2.0; - Clarion for Windows 1.5 идр. Специфика современной информационной технологии состоит в бурном развитии сетевых комплексов вычислительных машин, в создании программ для работы в архитектуре сети типа файл-сервер и клиент-сервер, ожидается, что начиная с середины 90-х годов 90% вновь создаваемых приложений будут являться приложениями типа клиент-сервер. Рассмотрим систему Delphi 2.0, позволяющую создавать приложения типа клиент-сервер. Разработчику программ с использованием Delphi 2.0 предоставлены: - объектно-ориентированный язык программирования; - высокопроизводительный компилятор - скорость компилирования 120000 строк в минуту, это в настоящее время мировой рекорд скорости компиляции; - объектно-ориентированная модель многократно используемых компонентов; - средства наглядного (визуального) создания программ - набор визуальных средств для создания системы меню, экранных форм, отчетных форм и т.п., использование библиотеки визуальных компонентов и визуальных объектов. - масштабируемая технология работы с базами данных - использование реляционно полного языка SQL, встроенная поддержка баз данных под управлением СУБД Oracle, Informix, Sybase, Interbase; применение локального сервера Interbase для отладки приложений; - принцип "открытой системы", возможность добавления новых средств и перенос на другие платформы. Так, первоначально предполагается использовать среду Windows 3.1., затем - Windows 95 и Windows NT. Все создаваемые программы средствами Delphi 2.0 разрабатываются как экранные формы, которые играют функцию окна и диалоговой панели одновременно. Форма содержит элементы управления: поля ввода, списки, текстовые метки, кнопки, которые поддерживают интерфейс пользователя с базой данных, обеспечивает запуск управляемых событиями процедур. Программа создается на визуальном уровне, т. е. разработчик размещает в форме интерфейсные элементы, каждый из которых рассматривается как объект, имеющий список свойств, реагирует на наступление указанных событий типа: - нажатие левой кнопкой мыши один раз; - двукратное нажатие левой кнопкой мыши; - перемещение мыши (уход от объекта, фокусировка объекта и т.п.). Свойства объектов можно заранее фиксировать либо изменять программным способом во время работы программы. Для каждого события создается программный код. В состав системы входит менеджер проектов, который предназначен для управления проектами в среде Delphi, позволяя объединять ряд форм в единое приложение, добавлять и удалять файлы, перемещаться по файлам проекта, просматривая исходные тексты программ обработки событий и т.п. Для удобства редактирования объектов используется так называемый браузер объектов (Browser). Интегрированный отладчик позволяет выполнять пошаговую трассировку кода, задавать точки останова (Break points). Для создания пользовательских меню приложений служит редактор меню, позволяющий использовать готовые либо создавать новые шаблоны меню. Графический редактор дает возможность разработчику приложения создавать графические изображения, кнопки, иконки, использовать масштабирование и вставку внешних графических изображений. Локальная версия среды разработки - Delphi Desktop Edition, предназначена для создания приложений, работающих с локальными базами данных (dBASE, Paradox). Разработчики могут создавать динамические библиотеки, которые будут доступны из программ, написанных на языках C++, Borland Pascal, Paradox for Windows, dBASE for Windows. Для повышения производительности труда разработчиков обеспечивается многократное использование программных модулей. Например, объекты OLE можно импортировать и встраивать в любое место. По отзывам экспертов, Delphi наиболее перспективная среда разработчика Windows-ориентированных приложений, функционирующих в архитектуре клиент-сервер. |