Учебно-методические материалы для студентов кафедры АСОИУ

Тема 1.2 Структура и основные компоненты ППП

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

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

  1. входной язык (макроязык, язык управления) — представляет средство общения пользователя с пакетом;
  2. предметное обеспечение (функциональное наполнение) — реализует особенности конкретной предметной области;
  3. системное обеспечение (системное наполнение) — представляет низкоуровневые средства, например, доступ к функциям операционной системы.
Типовые компоненты ППП

Рис. 1. Структура ППП

Входной язык — основной инструмент при работе пользователя с пакетом прикладных программ. В качестве входного языка могут использоваться как универсальные (Pascal, Basic и т.п.), так и специализированные, проблемно-ориентированные языки программирования (Cobol — для бизнес-приложений, Lisp — списочные структуры данных, Fortran и MathLAB — математические задачи и т.п.).

Развитый пакет может обладать несколькими входными языками, предназначенными для выполнения различных функций в рамках решаемого класса задач. Так, например в пакете OpenOffice.org поддерживаются языки StarBasic, Python, JavaScript и Java. StarBasic является основным входным языком, предназначенным для автоматизации работы с пакетом, для этого языка имеется интегрированная среда разработки и встроенный отладчик. Скрипты на языках Python и JavaScript загружаются и исполняются из внешних файлов. На Java (через SDK и функции API OpenOffice) можно создавать модули расширения и полнофункциональные приложения-компоненты.

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

Предметное обеспечение отражает особенности решаемого класса задач из конкретной предметной области и включает:

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

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

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

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

CC-BY-CA Анатольев А.Г., 05.11.2013