Виды проблемно-ориентированного программного обеспечения. 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Виды проблемно-ориентированного программного обеспечения.



Введение.

Виды проблемно-ориентированного программного обеспечения.

Существующее ПО м.б. отнесено к одному из след. видов:

1)независимые программы

2)библиотеки подпрограмм (функций)

3)многофункциональные программы

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

5)макросистемы

6)интеллектуальные системы.

 

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

 

2) (Библиотеки подпрограмм (функций)). Для них хар-но единообразие входа в подпрограмму, форм задания параметров, получение результатов и выхода из неё. Подпрограммы, как правило, не содержат операторов ввода\вывода, тщательно тестированы и самодокументированны (текст описания подпрограмм находится в исходном тексте). Инициализация вызова подпрограмм выполняется операторами языка, на котором они написаны. Главная программа разрабатывается пользователем-программистом.

 

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

 

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

 

5) (Макросистемы). Или еще их называют интегрированными системами. Они имеют в своём составе несколько ППП и СУБД. Могут иметь в своем составе так называемый “диалоговый монитор”, реализующий определённые функции макроуправления пакетами, входящими в макросистему. В этом случае задачи интерфейса решены не только на информационном уровне, но и на уровне управления.

 

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

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

Автоматизацией прикладной деятельности называется весь комплекс работ, связанных с разработкой алгоритмов и программ решения задач, а также с подготовкой и проведением расчетов ПО – это совокупность прикладных задач и используемых при этом методов. Дисциплина работы – система правил, соглашений, технологических приёмов и подходов, принятых при разработке, отладке и эксплуатации программ. В структуре ППП можно выделить 3 основные компоненты:

1) Функциональное наполнение (отражает специфику ПО);

2) Язык заданий (средства общения пользователя с пакетом);

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

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

 

Функциональное наполнение (ФН)

ФН отражает специфику ПО пакета и представляет собой совокупность модулей. Язык (языки) программирования, на котором написаны эти модули, называется базовым языком пакета. В ФН можно выделить 2 части:

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

2)Информационная (к ней относятся данные, документы, справочники и т.п.).

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

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

1 математическими (описывают реализации отдельных математических методов);

2 физическими или прикладными (соответствуют задачам конкретной ПО).

 

Модуляризация.

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

1) экономия записи. В модули помещаются повторяющие части программы (как функции в Си);

2) сокращение суммарного времени трансляции. Выделяются модули, допускающие автономную трансляцию. Написание программы в целом можно распределить между несколькими исполнителями;

3) удобство редактирования текста программ (1-2 страниц). Выделяются модули, логику которых можно целиком показать на экране;

4) экономия оперативной памяти. Принцип Оверлея: выделяются сегменты программы в виде отдельных модулей, которые сменяют друг друга в опер. памяти во время выполнения программы;

5) систематизация и упрощение разработки.

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

 

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

Регламент модуляризации.

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

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

1. Внутренняя модуляризация. Заново переписать все квази-модули в соответствии с регламентом модуляризации. Здесь совместимость достигается соблюдением всех требований регламента в период их разработки (неприемлемо по причине трудоёмкости).

2. Вешняя модуляризация. Доработка квази-модулей. Исходные тексты квази-модулей не изменяются. Здесь опять 2 подхода:

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

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

 

Язык Заданий

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

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

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

3.Основан на разработке специализированного проблемно ориентированного языка задания. Такие языки не связаны ни с каким языком прог-я. Ориентация на ламеров. Обычно основан на лексике предметной области и имеет простой синтаксис. Стремятся обеспечить высокую непроцедурность этого языка т.е. большая часть задания описывает постановку задачи а не её реализацию. Такая реализация требует развитых программных средств.

 

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

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

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

 

Системное наполнение.

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

1.Штатных общецелевых средств системного обеспечения.

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

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

 

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

Понятия, реализация которых определяет системные характеристики пакета:

1.Язык заданий.

2.Регламент модуляризации функций наполнения

3.Планирование вычислений, (способ построения расчетной цепочки).

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

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

 

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

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

2.Монитор организации интерактивного взаимодействия с пользователем.

3.Транслятор входных заданий. Формирует внутреннее представление задания.

4.Интерпритатор внутреннего представления заданий.

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

6.Монитор организации вычислительного процесса. Обеспечивает взаимодействие модулей по информации и управлению.

7.Архив функционального наполнения. Это подсистема хранения модулей Функционального наполнения.

8.База расчетных данных - это подсистема хранения начальных и промежуточных данных, а так же результатов расчетов.

 

Интеллектуальные системы

Технология разработки интеллектуальных программных средств основаны на том, что знания о решении задач отделяются от задач и реализуются в БД, а в программах реализуется манипулирование этими знаниями. Этот алгоритм – механизм логического вывода. Знания являются явными и доступными, что отличает интеллектуальные системы от большинства традиционных программных систем.

 

Введение.

Виды проблемно-ориентированного программного обеспечения.

Существующее ПО м.б. отнесено к одному из след. видов:

1)независимые программы

2)библиотеки подпрограмм (функций)

3)многофункциональные программы

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

5)макросистемы

6)интеллектуальные системы.

 

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

 

2) (Библиотеки подпрограмм (функций)). Для них хар-но единообразие входа в подпрограмму, форм задания параметров, получение результатов и выхода из неё. Подпрограммы, как правило, не содержат операторов ввода\вывода, тщательно тестированы и самодокументированны (текст описания подпрограмм находится в исходном тексте). Инициализация вызова подпрограмм выполняется операторами языка, на котором они написаны. Главная программа разрабатывается пользователем-программистом.

 

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

 

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

 

5) (Макросистемы). Или еще их называют интегрированными системами. Они имеют в своём составе несколько ППП и СУБД. Могут иметь в своем составе так называемый “диалоговый монитор”, реализующий определённые функции макроуправления пакетами, входящими в макросистему. В этом случае задачи интерфейса решены не только на информационном уровне, но и на уровне управления.

 

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



Поделиться:


Последнее изменение этой страницы: 2016-06-07; просмотров: 645; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.17.184.90 (0.052 с.)