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




 

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

Язык программирования – это формализованный язык для описания алгоритма решения задач на компьютере. Языки программирования можно условно разделить на следующие классы:

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

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

– процедурно-ориентированные языки – это языки, в которых имеется возможность описания программы как совокупности процедур, или подпрограмм (Си, Паскаль и др.);

– проблемно-ориентированные языки, предназначенные для решения задач определенного класса (Лисп, Пролог).

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

CASE-технология (CASE – Computer-Aided System Engineering) – программный комплекс, автоматизирующий весь технологический процесс анализа, проектирования, разработки и сопровождения сложных программных систем.

Средства CASE-технологий делятся на:

– встроенные в систему реализации – все решения по проектированию и реализации привязки к выбранной СУБД;

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

Основное достоинство CASE-средств – это поддержка коллективной работы над проектом за счет возможности работы в локальной сети разработчиков, экспорта (импорта) любых фрагментов проекта, организованного управления проектами.

В некоторых CASE-системах поддерживается кодогенерация программ – создание каркаса программ и создание полного продукта.

Системы программирования включают:

– компилятор (транслятор);

– интегрированную среду разработки программ (не всегда);

– отладчик;

– средства оптимизации кода программ;

– набор библиотек;

– редактор связей;

– сервисные средства (утилиты для работы с библиотеками, текстовыми и двоичными файлами);

– справочные системы;

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

Компилятор транслирует всю программу без ее выполнения.

Трансляторы (интерпретаторы) выполняют пооперационную обработку и выполнение программы.

Отладчики (Debugger) – специальные программы, предназначенные для трассировки и анализа выполнения других программ. Трассировка – это обеспечение выполнения в пооператорном варианте.

На рис. 6.2 представлена классификация пакетов прикладных программ (ППП).

 

 

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

Проблемно-ориентированные ППП:

ППП автоматизированного бухгалтерского учета;

– ППП финансовой деятельности;

– ППП управления персоналом;

– ППП управления производством;

– банковские информационные системы и т.п.

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

ППП являются высокие требования к аппаратному обеспечению, наличие библиотек встроенных функций, объектов, интерфейсов с графическими системами и БД (AutoCAD).

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

– визуализирована схема БД;

– осуществлена автоматическая поддержка целостности БД при различных видах обработки (включение, удаление, модификация);

– предоставляются так называемые мастера, обеспечивающие поддержку процесса проектирования;

– созданы шаблоны (прототипы) структур БД, отчетов, форм и т.д.

ППП специального назначения:

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

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

– программы-переводчики, средства проверки орфографии, распознавания текста (Tiger – система распознавания русского языка; Stylus Lingvo Office, содержащий Fine Reader; Stylus для Windows – переводчик на выбранный язык; корректор орфографии Lingvo Corrector и резидентный словарь Lingvo).

Методо-ориентированные ППП – данный класс охватывает программные продукты, обеспечивающие, независимо от предметной области и функции информационных систем, математические, статистические и другие методы решения задач. Наиболее распространены методы математического программирования, решения дифференциальных уравнений, имитационного моделирования, исследования операций (Storm, SYSTAT, SAS и др.).

 

Программирование

 

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

Классификация видов программирования по назначению или способу написания программ:

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

2. Системное программирование – разработка средств общего программного обеспечения, в том числе ОС, вспомогательных программ пакетов программ общесистемного назначения: АСУ, СУБД и т.д.

3. Декларативное программирование – метод программирования, предназначенный для решения задач искусственного интеллекта (используется язык Пролог).

4. Объектно-ориентированное программирование – метод программирования, основанный на использовании концепции объекта, абстрагирующего конкретные его реализации в предметной области (используется в ряде языков (Си++, Java, Object Lisp, Смолток и др.).

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

6. Процедурное программирование – метод, в соответствии с которым программы пишутся как перечни последовательно выполняемых команд.

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

8. Эвристическое программирование – метод, основанный на моделировании мыслительной деятельности человека. Используется для решения задач, не имеющих строго формализованного алгоритма или связанных с неполнотой данных.

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

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

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

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

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

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

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

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

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

 

Языки программирования

 

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

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

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

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

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

Наиболее широко распространены разновидности следующих трех подходов: операционного, денотационного (математического) и деривационного (аксиоматического).

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

Деривационная семантика описывает последствия выполнения конструкций языка с помощью языка логики и задания пред- и постусловий.

Денотационная семантика оперирует понятиями, типичными для математики, – множества, соответствия, а также суждения, утверждения и др.

Языки программирования могут быть реализованы как компилируемые и интерпретируемые.

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

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

Для преобразования текста в последовательность машинных команд необходима промежуточная программа, называемая компилятором. На этапе компиляции производится распределение данных в ОЗУ, при этом вместо имен переменных подставляются относительные адреса ячеек, в которых распознаются данные. Абсолютные адреса данным присваивает операционная система при размещении программы в ОЗУ компьютера перед ее использованием.

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

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

К универсальным языкам относятся Паскаль, Бейсик, Си, Си++, Java, а также современные средства среды визуального программирования Delphi, Visual Basic и др.

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

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

Направления программирования: процедурное, объектно-ориентированное, структурное, модульное (компонентное), логическое (реляционное), функциональное, параллельное и др.

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

 

Таблица 6.1.



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2017-04-03 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: