Обучающие и тестирующие программы.




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

Обучающая система (TeachPro Word, TeachPro Windows95,

TeachPro Windows 98, TeachPro Excel)

Тестирующие программы (Sunrav Test).

Многочисленные программные средства для решения различных типов вычислительных задач можно разделить на 4 группы:

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

- библиотеки прикладных программ;

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

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

Рассмотрим по порядку каждую из этих групп. Отдельная прикладная программа пишется, как правило, на некотором универсальном языке программирования (C++, Basic и т.п.) и предназначается для решения конкретной прикладной задачи. Примерами могут служить программа решения системы линейных алгебраических уравнений тем или иным численным методом, прог­рамма вычисления собственных значений матрицы и т. д. Авторами таких программ являются прикладные программисты, специализирую­щиеся: в соответствующих предметных областях. Прикладная прог­рамма может быть реализована в" виде набора модулей, каждый из которых выполняет некоторую самостоятельную функцию. Например, программа вычисления собственник значений матрицы может вклю­чать модули, - реализующие преобразования матрицы из одной, формы представления в другую ввод и вывод данных, обработку аварий­ных ситуаций с выдачей диагностических сообщений пользователю и другие действия.

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

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

Специализированные библиотеки ориентированы на решение от­дельных, порой достаточно узких, классов задач.

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

Перейдем теперь к рассмотрению пакетов прикладных программ (ППП) как самостоятельной формы прикладного программного обес­печения. Для этого прежде всего необходимо уточнить само поня­тие пакета. В настоящее время не существует признанной всеми специалис­тами единой точки зрения по этому вопросу. Отсутствует также единая терминология в пакетной проблематике. Это объясняется прежде всего новизной данного научного направления, которое сложилось, в основном за последние 30 лет (приблизительно с начала 70-х годов). Кроме того, различные определения ППП расс­матривают это понятие с разных точек зрения, выделяя те или иные функциональные или структурные особенности пакетов. ППП определяется и как совокупность прог­рамм для решения определенного класса задач, к которой обраща­ются при помощи простой символики (языка) и как совокупность программ, совместимых по структуре данных, способам управления, объединяемых общностью функционального назначениями представляющих со­бой средство решения класса задач определенным кругом пользова­телей. При этом под классом задач понимается множество прикладных проблем, обладающих общностью применяемых алгоритмов и информационных массивов, а также определение пакета как комплекса взаи­мосвязанных программ, обладающих специальной организацией, ко­торая обеспечивает значительное повышение производительности труда программистов и пользователей пакета. В данном случае не делается попытки выделить ППП среди других форм программного обеспечения ЭВМ.

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

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

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

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

Наконец, интегрированной программной системой назовем комп­лекс программ, элементами которого являются различные пакеты и библиотеки программ. Примером служат системы автоматизированно­го проектирования, имеющие в своем составе несколько ППП раз­личного назначения. Часто в подобной системе решаются задачи, относящиеся к различным классам или даже кразличным предметным областям.

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

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

 

3.2. СТРУКТУРА и ОСНОВНЫЕ КОМПОНЕНТЫППП

Несмотря на большое разнообразие конкретных пакетных разработок, можно выделить следующие основные компоненты ППП:

- входные языки;

- предметное обеспечение;

- системное обеспечение.

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

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

Рассмотрим функции каждого из компонентов ППП.

Входные языки представляют собой средство общения пользова­теля с пакетом. Как отмечалось в п. 3.1, развитый пакет может обладать несколькими входными языками, предназначенными для выполнения различных функций и ориентированными на различные типы пользователей. Можно выделить следующие основные типы пользователей ППП:

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

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

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

Конечный пользователь, применяющий пакет для решения конкретных прикладных задач.

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

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

Перейдем теперь к рассмотрению других компонентов ППП, конкретная прикладная деятельность характеризуется двумя факторами:

1) классом решаемых задач и используемых для этих целей методов,

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

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

- программные модули, реализующие алгоритмы (или их отдель­ные фрагменты) решения прикладных задач;

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

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

 

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

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

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

- монитор, управляющий процессом решения и взаимодействием всех компонентов ППП;

- трансляторы с входных языков;

- средства работы с данными;

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

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

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

 

 



Поделиться:




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

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


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