Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Основы информатики программирования и вычислительной математики. Ча

.pdf
Скачиваний:
26
Добавлен:
15.11.2022
Размер:
1.75 Mб
Скачать

(например, различные библиотеки стандартных программ), так и процесс ее выполнения (например, перевод с языков более высокого уровня (C, C++, Visual Basic, Java, Python, Ruby, Perl, Delphi (Pascal))

на языки низкого уровня (Ассемблер, Microsoft.NET, Форт, Java байт-

код – машинные языки).

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

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

Совокупность программ, обеспечивающая выполнение определенного комплекса задач, реализующего некоторую целевую функцию пользователя, называется приложением. Например, приложением является совокупность программ, обеспечивающая пользователю создание текстов. Примером такого приложения является текстовый процессор Microsoft Word (MS Word). В дальнейшем, если это не приводит к смысловым ошибкам, будем использовать понятия «программы» и «приложения» как синонимы, так как практически любое программное средство, называемое пользователем программой, является на самом деле приложением (т.е. в настоящее время пользователь, как правило, работает с каким-либо приложением, а не с какой-то одной программой).

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

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

71

elib.pstu.ru

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

Для АИС наиболее важны:

аппаратные интерфейсы – интерфейсы между аппаратными (внутренними и внешними) устройствами компьютера (компьютеров);

программные интерфейсы – интерфейсы между программами (программными модулями);

интерфейс пользователя (UI – user interface) интерфейс пользователя с программой (приложением) или программной системой (панели инструментов, пиктограммы, ярлыки и т.д.).

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

Единый программный интерфейс (интерфейс прикладного про-

граммирования – API (application programming interface)). Он пред-

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

Единый механизм обмена данными между приложениями (ти-

пичным примером такого механизма является буфер обмена в офисной системе MS Office), т.е. возможно перемещать объекты из одного приложения (программы) в другое. Например, вставлять графики из MS Excel и MS Visio в MS Word и т.д.

Единый интерфейс пользователя с приложениями программной системы (однотипные панели инструментов и их функции).

Примером интегрированной программной системы является офисная система MS Office.

72

elib.pstu.ru

4.2.Классификация программного обеспечения

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

всоответствии с предлагаемой классификацией. Мы будем разли-

чать три вида ПО: системное, прикладное и инструментальное.

Воснование классификации и, соответственно, определения этих видов ПО мы положим инвариантность (независимость) ПО по отношению к специфике той или иной проблемной области (так называют ту область задач, решение которой предусмотрено данным приложением, например, MS Word – набор текста; MS Access – составление базы данных; MS PowerPoint – создание презентаций и т.д.), в которой предполагается его использование. Другими словами, определяется степень влияния специфики задачи на специфику разработки и использования той или иной программы (приложения). Так, например, специфика использования текстового процессора MS Word практически не зависит от смыслового значения набираемых слов и символов, если они есть в заложенном списке приложения, а проверяется лишь грамматика и правописание.

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

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

Классификация ПО приведена на рис. 19.

73

elib.pstu.ru

Рис. 19. Классификация программного обеспечения

4.2.1. Системное ПО

СПО (System Software) – совокупность программ и программных комплексов для обеспечения работы компьютера и его сетей.

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

иявляется его неотъемлемой частью. Программные продукты в основном ориентированы на квалифицированных («продвинутых») пользователей – профессионалов в компьютерной области: системного программиста, администратора сети, прикладного программиста

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

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

К системному ПО относятся:

операционные системы, среды и оболочки;

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

74

elib.pstu.ru

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

ЭВМ и сети;

 

 

 

– программные средства

технического

обслуживания (СТО)

информационных систем.

 

 

 

Операционная система (ОС) – это комплекс взаимосвязанных

программ, обеспечивающих

интерфейс

между

приложениями

и пользователями с одной стороны и аппаратурой

компьютера –

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

Таким образом, с точки зрения обычного пользователя (не являющегося профессионалом в области информационных технологий) ОС выполняет две основные функции: 1) предоставляет пользователю «дружественный» (удобный) интерфейс*; 2) обеспечивает эффективное использование ресурсов ПК.

В состав ОС могут входить системы диагностики и сервиса сервисные программы (приложения) (и могут быть частью само-

стоятельной программной системы), основная цель которой – выполнение различных сервисных функций по установке программных средств, настройке и обслуживанию аппаратных средств компьютера, диагностике и устранению аварийных ситуаций. Примером сервисного приложения, входящего в состав ОС, являются программы проверки и дефрагментации жестких дисков. Такие сервисные, обслуживающие программы называют утилитами. Пример самостоятельной системы диагностики и сервиса (системы утилит) – система Neo Utilities. Данный программный комплекс предназначен для тонкой настройки операционных систем Windows, улучшения работы системы и увеличения скорости ее быстродействия. С помощью утилит, входящих в комплект, вы сможете выста-

* Если сравнивать работу ОС MS-DOS и MS Windows, видно, что работать с последней ОС намного проще: – не нужно знать команды управления, а достаточно «кликнуть» мышью по необходимому объекту (ярлыку, папке и т.д.). Следовательно, MS Windows обладает более «дружественным» интерфейсом пользователя.

75

elib.pstu.ru

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

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

Операционная среда – это комплекс системных программ, основным назначением которого является предоставление в распоряжение пользователя как интерфейса пользователя (UI), так и интерфейса прикладного программирования (API), существенно превосходящих по своим возможностям аналогичные интерфейсы, предоставляемые ОС. Отличительная черта операционной среды – то, что она надстраивается над существующей ОС, т.е. ее работа невозможна без этой ОС. Наиболее типичным примером удачной операционной среды является Windows 3.1, которая реализована как надстройка над ОС MS DOS.

Windows 3.1 была разработана таким образом, чтобы иметь максимальный уровень обратной совместимости с более старыми платформами Windows. Как и версия 3.0, Windows 3.1 имела диспетчер файлов и диспетчер программ. В дальнейшем были разработаны версии Windows 3.2 (для китайского языка), Windows 3.х. Со време-

нем Windows 3.х была заменена Windows 95, Windows 98 и более поздними версиями, которые интегрировали компоненты MS DOS и Windows в единый продукт.

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

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

76

elib.pstu.ru

предоставляют только один вид интерфейса – интерфейс пользователя. Главная задача операционной оболочки – предоставление пользователю более удобного интерфейса, чем тот, который ему предоставляет ОС. Именно для этого и разрабатываются операционные оболочки. Наиболее известная в России операционная оболочка – Norton Commander (в настоящее время наиболее распространена операционная оболочка Total Commander), предназначенная для работы в ОС MS DOS.

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

4.2.2.Инструментальное ПО

Кинструментальному ПО (инструментальным системам) отно-

сятся:

– инструментальные системы программирования;

САSЕ-системы.

Инструментальное ПО – совокупность программных средств, предназначенных для разработки программ, программных систем, программного и информационного обеспечения АИС специалистами в области информационных технологий.

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

Язык программирования (ЯП) – формализованный язык для опи-

сания алгоритма решения задачи (на компьютере) в виде программы.

В состав системы разработки программ входят: текстовый редактор, транслятор (компилятор или интерпретатор), компоновщик, библиотека стандартных подпрограмм, средства отладки программ.

77

elib.pstu.ru

Текстовый редактор – системная программа, которая предоставляет в распоряжение программиста средства набора и редактирования текста программы, написанной на некотором ЯП.

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

Трансляция может выполняться в режиме компиляции или интерпретации исходного кода. При компиляции транслируется вся программа, но не выполняется. В режиме интерпретации программы исходный код транслируется покомандно (т.е. «порцией» трансляции является одна команда программы), и полученный код тут же выполняется. Соответственно, различают программы-компиляторы и программы-интерпретаторы исходного кода программы.

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

Библиотека стандартных программ – совокупность стандарт-

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

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

78

elib.pstu.ru

Очередным шагом в автоматизации процессов создания программных систем стало появление САSЕ-систем (Computer Aided S… Engineering – трактуется сегодня в широком смысле: и как Software, и как System (компьютерное ПО или система)) – программных комплексов, автоматизирующих процессы анализа, проектирования, разработки и сопровождения сложных приложений и информационных систем. Такие программные комплексы называют также САSЕ- средствами (в настоящее время такое название более распространено). Технологической основой использования САSЕ-систем являются САSЕ-технологии, представляющие собой совокупность методологии, методов и методик проектирования программной системы и набора инструментальных средств, позволяющих моделировать и анализировать ПО на всех этапах разработки и сопровождения АИС, а также разрабатывать программные системы в соответствии с информационными потребностями пользователей.

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

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

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

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

Объектно-ориентированный язык программирования. Про-

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

79

elib.pstu.ru

сы другим объектам, получает ответы, изменяет значения своих внутренних переменных. Механизм запросов в объектно-ориенти- рованном программировании: при выполнении запроса объектом могут быть непосредственно изменены только значения переменных этого объекта.

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

Методика – это достаточно детальное описание последовательности шагов, выполняемых при разработке проекта программной системы на основе определенного метода. Соответствующие методики реализуются в виде конкретной САSЕ-технологии на основе соответствующих инструментальных средств.

На основе построенной модели может выполняться автоматизированное проектирование спецификаций программ (формального, точного и полного описания свойств, характеристик, функций программ и данных, ими используемых). Существуют САSЕ-техно- логии, которые поддерживают только разработку программ, обеспечивая автоматическую генерацию кодов программ на основе их спецификаций, проверку корректности описания моделей данных, документирование программ в соответствии с принятыми стандартами, тестирование и отладку программ.

4.2.3. Прикладное ПО

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

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

80

elib.pstu.ru