Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Информатика — курс лекций.pdf
Скачиваний:
540
Добавлен:
11.03.2015
Размер:
2.18 Mб
Скачать

Инструментарий технологии программирования

Инструментарий технологии программирования обеспечивает процесс разработки программ и включает специализированные программные продукты, которые являются инструментальными средствами разработчика. Программные продукты данного класса поддерживают все технологические этапы процесса проектирования, программирования (кодирования), отладки и тестирования создаваемых программ. Пользователями технологии программирования выступают системные и прикладные программисты.

Инструментарий технологии программирования — совокупность программ и программ-

ных комплексов, обеспечивающих технологию разработки, отладки и внедрения создаваемых программ.

Выделяют следующие группы инструментальных средств технологии программирования:

средства для создания приложений, включающие:

-локальные средства, обеспечивающие выполнение отдельных работ по созданию программ;

-интегрированные среды разработчиков программ, обеспечивающие выполнение комплекса взаимосвязанных работ по созданию программ;

CASE-технология (Computer-Aided System Engineering), представляющая методы анализа,

проектирования и создания программных систем и предназначенная для автоматизации процессов разработки и реализации информационных систем.

Локальные средства разработки программ наиболее представительны на рынке программных продуктов и состоят из языков и систем программирования, а также инструментальной среды пользователя.

Язык программирования — формализованный язык для описания алгоритма решения задачи на компьютере.

Языки программирования, если в качестве признака классификации взять синтаксис образования его конструкций, можно условно разделить на классы:

машинные языки (computer language) — языки программирования, воспринимаемые аппаратной частью компьютера (машинные коды);

машинно-ориентированные языки (computer-oriented language) — языки программирования, которые отражают структуру конкретного типа компьютера (ассемблеры);

алгоритмические языки (algorithmic language) — не зависящие от архитектуры компьютера языки программирования для отражения структуры алгоритма (Паскаль, Фортран, Бейсик и др.);

процедурно-ориентированные языки (procedure-oriented language) — языки программирования, где имеется возможность описания программы как совокупности процедур (подпрограмм);

проблемно-ориентированные языки (universal programming language) — языки программирования, предназначенные для решения задач определенного класса (Лисп, Симула и др.);

интегрированные системы программирования.

135

Программа, подготовленная на языке программирования высокого уровня, проходит этап трансляции.

Трансляторы реализуются в виде компиляторов или интерпретаторов. С точки зрения выполнения работы компилятор и интерпретатор существенно различаются.

Компилятор (от англ. compiler — составитель, собиратель) читает всю программу целиком, делает её перевод и создает законченный вариант программы на машинном языке, который затем и выполняется.

Интерпретатор (от англ. interpreter — истолкователь, устный переводчик) переводит и выполняет программу построчно.

После того как программа откомпилирована, ни сама исходная программа, ни компилятор более не нужны. В то же время программа, обрабатываемая интерпретатором, должна заново переводиться на машинный язык при каждом очередном запуске программы.

Откомпилированные программы работают быстрее, но интерпретируемые проще исправлять и изменять.

Современные системы программирования обычно предоставляют пользователям мощные и удобные средства разработки программ. В них входят:

компилятор или интерпретатор;

интегрированная среда разработки;

средства создания и редактирования текстов программ;

обширные библиотеки стандартных программ и функций;

отладочные программы, т.е. программы, помогающие находить и устранять ошибки в программе;

«дружественная» к пользователю диалоговая среда;

многооконный режим работы;

мощные графические библиотеки;

утилиты для работы с библиотеками;

встроенный ассемблер;

встроенная справочная служба и др.

При создании сложных прикладных систем часто возникает необходимость использования машинно-ориентированных ассемблерных программ. При этом с целью повышения быстродействия или сокращения требуемых объёмов памяти на ассемблере иногда составляется значительное количество прикладных процедур. Помимо языка ассемблера, который даёт возможность использовать все особенности машины и потому может быть применён для решения задач любого типа, существуют языки программирования высокого уровня, ориентированные на различные классы задач. К ним относятся: Фортран, Паскаль и Си.

Язык Фортран — один из самых старых языков высокого уровня, активно используется на персональных компьютерах. Применяется он главным образом при разработке прикладных систем, ориентированных на научные исследования, автоматизацию проектирования и другие области, где уже накоплены обширные стандартные библиотеки программ. Имеется несколько версий этого язы-

136

ка, из которых наиболее популярна версия Фортран-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++. Общим для них является простота и наглядность процесса создания программ, основанных на использовании технологий визуального программирования. Компонентный подход позволяет легко и быстро создавать не только интерфейс программ, но и достаточно сложные механизмы доступа к данным, а также проверять и тиражировать удачные программные решения. Несмотря на идентичность идеологии, заложенной в данных языках, в их применении имеются

137

отличия. Современные тенденции показывают, что Delphi ориентируется фирмой Embarcadero (ранее

— Borland) на создание полноценных распределённых корпоративных систем доступа к данным. Visual Basic (фирмы Microsoft) применяется в основном для создания приложений и расширений для готовых программных продуктов под Windows и Веб-приложения, a Visual C++, C# (Microsoft) и C++ Builder (Embarcadero) используется для разработки интернет-обозревателей, корпоративных приложений и операционных систем.

Инструментальная среда пользователя представлена специальными средствами, встроенными в пакеты прикладных программ, такими как:

библиотека функций, процедур, объектов и методов обработки;

макрокоманды;

клавишные макросы;

языковые макросы;

программные модули-вставки;

конструкторы экранных форм и отчетов;

генераторы приложений;

языки запросов высокого уровня;

языки манипулирования данными;

конструкторы меню и многое другое.

Дальнейшим развитием локальных средств разработки программ, которые объединяют набор средств для комплексного их применения на всех технологических этапах создания программ,

являются интегрированные программные среды разработчиков. Основное назначение инструмен-

тария данного вида — повышение производительности труда программистов, автоматизация создания кодов программ, обеспечивающих интерфейс пользователя графического типа, разработка приложений для архитектуры клиент-сервер, запросов и отчётов.

Пакеты прикладных программ

Пакеты прикладных программ (ППП) служат программным инструментарием решения функциональных задач и являются самым многочисленным классом программных продуктов. В данный класс входят программные продукты, выполняющие обработку информации различных предметных областей.

Пакет прикладных программ (application program package) — комплекс взаимосвязанных программ для решения задач определенного класса конкретной предметной области.

Единую классификацию ППП провести затруднительно ввиду большого разнообразия решаемых на ЭВМ задач и соответствующих им ППП. В общем случае ППП могут быть разделены на два больших класса: общего назначения и специального назначения.

К ППП общего назначения можно отнести наиболее распространённые программные продукты, такие как текстовые и табличные процессоры, графические редакторы, системы управления базами данных, различные интегрированные пакеты и др.

Текстовый редактор — программа, используемая специально для ввода и редактирования текстовых данных.

138

Текстовые редакторы могут обеспечивать выполнение разнообразных функций, а именно:

редактирование строк текста;

возможность использования различных шрифтов символов;

копирование и перенос части текста с одного места на другое или из одного документа в другой;

контекстный поиск и замена частей текста;

задание произвольных межстрочных промежутков;

автоматический перенос слов на новую строку;

автоматическая нумерация страниц;

обработка и нумерация сносок;

выравнивание краёв абзаца;

создание таблиц и построение диаграмм;

проверка правописания слов и подбор синонимов;

построение оглавлений и предметных указателей;

распечатка подготовленного текста на принтере в нужном количестве экземпляров и т.п.

Возможности текстовых редакторов различны — от программ, предназначенных для подготовки небольших документов простой структуры, до программ для набора, оформления и полной подготовки к типографскому изданию книг и журналов (издательские системы).

Наиболее известный текстовый редактор — Microsoft Word.

Графический редактор — программа, предназначенная для автоматизации процессов построения на экране дисплея графических изображений.

Графический редактор предоставляет возможности рисования линий, кривых, раскраски областей экрана, создания надписей различными шрифтами и т.д. Большинство редакторов позволяют обрабатывать изображения, полученные с помощью сканеров, а также выводить картинки в таком виде, чтобы они могли быть включены в документ, подготовленный с помощью текстового редактора.

Некоторые редакторы позволяют получать изображения трёхмерных объектов, их сечений, разворотов, каркасных моделей и т.п.

Пользуется известностью Corel Draw — мощный графический редактор с функциями создания публикаций, снабженный инструментами для редактирования графики и трехмерного моделирования.

Табличный процессор — комплекс взаимосвязанных программ, предназначенный для обработки электронных таблиц.

Электронная таблица — компьютерный эквивалент обычной таблицы, состоящей из строк и столбцов, на пересечении которых располагаются ячейки, содержащие числовую информацию, формулы или текст.

Значение в числовой ячейке таблицы может быть либо введено, либо рассчитано по соответствующей формуле; в формуле могут присутствовать обращения к другим ячейкам.

139

Каждый раз при изменении значения в ячейке таблицы в результате ввода в неё нового значения с клавиатуры пересчитываются также значения во всех тех ячейках, в которых стоят величины, зависящие от данной ячейки.

Столбцам и строкам можно присваивать наименования. Экран монитора трактуется как окно, через которое можно рассматривать таблицу целиком или по частям.

Табличные процессоры представляют собой удобное средство для проведения бухгалтерских и статистических расчётов. В каждом пакете имеются сотни встроенных математических функций и алгоритмов статистической обработки данных. Кроме того, имеются мощные средства для связи таблиц между собой, создания и редактирования электронных баз данных.

Специальные средства позволяют автоматически получать и распечатывать настраиваемые отчёты с использованием десятков различных типов таблиц, графиков, диаграмм, снабжать их комментариями и графическими иллюстрациями.

Табличные процессоры имеют встроенную справочную систему, предоставляющую пользователю информацию по конкретным командам меню и другие справочные данные. Многомерные таблицы позволяют быстро делать выборки в базе данных по любому критерию.

Самые популярные табличные процессоры — Microsoft Excel и Lotus 1—2—3.

В Microsoft Excel автоматизированы многие рутинные операции, специальные шаблоны помогают создавать отчеты, импортировать данные и многое другое.

Lotus 1—2—3 — профессиональный процессор электронных таблиц. Широкие графические возможности и удобный интерфейс пакета позволяют быстро ориентироваться в нём. С его помощью можно создать любой финансовый документ, отчёт для бухгалтерии, составить бюджет, а затем разместить все эти документы в базах данных.

База данных — это один или несколько файлов данных, предназначенных для хранения, изменения и обработки больших объёмов взаимосвязанной информации.

В базе данных предприятия, например, может храниться:

вся информация о штатном расписании, о рабочих и служащих предприятия;

сведения о материальных ценностях;

данные о поступлении сырья и комплектующих;

сведения о запасах на складах;

данные о выпуске готовой продукции;

приказы и распоряжения дирекции и т.п.

Даже небольшие изменения какой-либо информации могут приводить к значительным изме-

нениям в разных других местах.

Базы данных используются под управлением систем управления базами данных (СУБД).

Система управления базами данных (СУБД) — система программного обеспечения, позволяющая обрабатывать обращения к базе данных, поступающие от прикладных программ конечных пользователей.

140

Системы управления базами данных дают возможность объединять большие объёмы информации и обрабатывать их, сортировать, делать выборки по определенным критериям и т.п. Современные СУБД дают возможность включать в них не только текстовую и графическую информацию, но и звуковые фрагменты и даже видеоклипы. Простота использования СУБД позволяет создавать новые базы данных, не прибегая к программированию, а пользуясь только встроенными функциями.

СУБД обеспечивают правильность, полноту и непротиворечивость данных, а также удобный доступ к ним.

Популярные СУБД — FoxPro, Access for Windows, Paradox.

Для менее сложных задач вместо СУБД используются информационно-поисковые системы (ИПС), которые выполняют следующие функции:

хранение большого объёма информации;

быстрый поиск требуемой информации;

добавление, удаление и изменение хранимой информации;

вывод её в удобном для человека виде.

Интегрированные пакеты представляют собой набор нескольких программных продуктов, объединённых в единый удобный инструмент.

Наиболее развитые из них состоят из текстового редактора, органайзера, электронной таблицы, СУБД, средств поддержки электронной почты, программы создания презентационной графики.

Результаты, полученные отдельными подпрограммами, могут быть объединены в окончательный документ, содержащий табличный, графический и текстовый материал.

Интегрированные пакеты, как правило, включают в себя некоторое ядро, обеспечивающее возможность тесного взаимодействия между составляющими.

Наиболее распространенным интегрированным пакетом является Microsoft Office. В этот мощный профессиональный пакет вошли такие необходимые программы, как текстовый редактор WinWord, электронная таблица Excel, программа создания презентаций PowerPoint, СУБД Access, средство поддержки электронной почты Mail. При этом, все части этого пакета составляют единое целое, и даже внешне все программы выглядят единообразно, что облегчает как их освоение, так и ежедневное использование.

ППП специального назначения предназначены для решения задач в некоторой предметной области.

Например, одним из наиболее эффективных и распространенных программных средств моделирования сложных дискретных систем на персональных ЭВМ является ППП GPSS (General Purpose Simulating System). Он успешно используется для моделирования систем, формализованных в виде систем массового обслуживания Язык GPSS построен на предположении, что моделью сложной дискретной системы является описание ее элементов и логических правил их взаимовлияния в процессе функционирования моделируемой системы. Далее предполагается, что для определенного класса моделируемых систем можно выделить небольшой набор абстрактных элементов, называемых объектами. Причем набор логических правил также ограничен и может быть описан небольшим числом

141

стандартных операций. Комплекс программ, описывающих функционирование объектов и выполняющих логические операции, является основой для создания программной модели системы данного класса. Эта идея и была реализована при разработке языка GPSS.

На сегодняшний день среди широко известных программных сред для проведения научнотехнических расчётов можно выделить: MathCad, MatLab и Mathematica. Важным достоинством среды MathCad является возможность записи алгоритмов в естественном научно-техническом виде. Данная среда на сегодняшний день является одной из наиболее удобных сред для проведения математических расчётов. В последних реализациях MathCad значительно облегчён ввод математических выражений, увеличено число встроенных процедур и приложений, расширены возможности языка программирования, усовершенствованы средства обмена с Windows приложениями. Наглядность среды, а также большое количество разнообразной литературы делают эту среду весьма привлекательной для проведения имитационного моделирования.

Среда MatLab (Matrix Laboratory — матричная лаборатория) предложенная фирмой The Math Works Inc. представляет собой апробированную и надежную систему, рассчитанную на решение широкого круга инженерных задач с представлением данных в универсальной матричной форме. Благодаря интеграции в ней среды Maple, разработанной фирмой Waterloo Maple Software, так же как и в MathCad, среда MatLab позволяет применять символьную запись математических выражений. Широкому применению MatLab при имитационном моделировании способствует не только разнообразный набор матричных и иных операций и функций, но и наличие большого количества специализированных расширений. Так, версия MatLab 5.0/5.3 распространяется с 35 расширениями, самое мощное из которых Simulink for Windows непосредственно предназначено для проведения имитационного моделирования. Важным достоинством системы является её открытость и расширяемость, а также приспособляемость к решению широкого класса задач. Расширяемость достигается за счёт встроенного языка программирования. При этом язык системы MatLab в части программирования математических вычислений намного богаче большинства универсальных языков программирования высокого уровня. Он реализует почти все известные средства программирования, в том числе объ- ектно-ориентированное и визуальное программирование. Расширения системы хранятся на жёстком диске компьютера и вызываются в нужный момент без какого-либо предварительного объявления или описания, необходимого в большинстве универсальных языков программирования. При этом по скорости выполнения задач эта система превосходит другие подобные системы.

Универсальная среда Mathematica разработана фирмой Wolfram Research, является мощным средством для математических и других вычислений и выполняет численные, аналитические и графические операции. Ввод и представление информации, графическая оболочка среды, набор дополнительных библиотек — все соответствует самым современным требованиям и тенденциям. Встроенный, высокого уровня, язык программирования позволяет быстро и качественно решать разнообразные инженерные задачи, имеет богатые возможности для визуализации данных и результатов расчетов. По богатству и разнообразию средств высокого уровня данная среда уникальна. Пакет позволяет создавать интерактивные документы, объединяющие в себе текст, анимацию и активные формулы.

142