Методология моделирования предметной области

Автор работы: Пользователь скрыл имя, 13 Апреля 2014 в 10:18, реферат

Описание работы

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

Файлы: 1 файл

МЕТОДОЛОГИИ МОДЕЛИРОВАНИЯ ПРЕДМЕТНОЙ ОБЛАСТИ.doc

— 163.50 Кб (Скачать файл)

 

 

 

 Рис. 4. Составные  части ППП 

 

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

 · управляющие программы - мониторы для вызова модулей и библиотечных подпрограмм;

 · языковые процессоры для перевода формулировки прикладной задачи на язык программирования;

 · архивные подсистемы;

 · специализированные базы данных;

 · средства диалогового взаимодействия с пользователем и т.д.

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

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

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

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

 

 Пакетный  режим удобен, когда:

 а) требуется  решать много однотипных задач  с использованием одной и той  же программы на входном языке;

 б) время, затрачиваемое на решение каждой  задачи, достаточно велико;

 в) программа  на входном языке сложна и имеет  значительный объем.

 Диалоговый  режим работы. Большинство ППП, применяемых  на персональных ЭВМ, ориентировано  на диалоговое взаимодействие с пользователем в ходе решения задач.

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

 

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

 

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

 

 Модель  предметной области ППП 

 

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

 

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

 

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

 

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

 

 Данные 

 

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

 

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

 

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

 

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

 

 Множество  данных X можно представить как  объединение непересекающихся подмножеств, содержащих однотипные данные:

 

  если i ≠ j.

 

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

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

 

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

 

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

 

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

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

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

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

 То есть, данные могут получать новые  значения двумя способами: либо  в результате ввода пользователем  нового значения, либо в результате  выполнения обрабатывающего модуля.

 

 Связи

 

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

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

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

 

 Например, если в модели имеются целое  данное n и массивы х и у, размеры  которых зависят от n, то можно  считать, что х и у подчинены n. Действительно, если значение n не  определено, то х и у также  имеют неопределенные значения. Если изменяется n, например, увеличивается, то значения х и у становятся неопределенными. В то же время изменение любого из массивов х или у, или их отдельных элементов не влияет на размеры массивов и, следовательно, на значение n. В некоторых случаях ограничения на область определения данного удобнее рассматривать не как свойство типа данного, а как связь по определению. Например, если некоторая матрица:

 

 

  должна  состоять из элементов: 0 £ aij £1, (2)

 

 а каждая  строка матрицы должна удовлетворять  условию:

 

(i = 1...n), (3)

 

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

 

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

 элементов  множества М сопоставляет некоторое  высказывание, обозначаемое Р(a1...аn)]. Если какая-то переменная зависит  от других, которые не определены  к настоящему моменту, то предикат  имеет значение «ложь».

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

 

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

 

 Отдельный  обрабатывающий модуль можно  рассматривать как функцию y = f(x). Здесь x Ì X - набор входных данных модуля; y Ì X - набор выходных данных, т.е. х и у некоторые подмножества множества X.

 

 В зависимости  от состава набора данных х  и набора выходных данных у можно  различать функциональные связи, не изменяющие значений своих входных данных (x Ç y = 0), и связи, изменяющие значения всех или части входных данных (x Ç y ≠ 0).

 

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

 

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

 Таким  образом, функциональная связь в модели  предметной области представляется:

 · набором входных данных;

 · набором выходных данных;

 · обрабатывающим модулем (именем модуля), реализующим эту связь.

 

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

 

 Условие  реализуемости функциональной связи  можно формально определить как  предикат Pf(x), который принимает  значение «истина», если связь  реализуема, и значение «ложь», если  связь не реализуема.

Информация о работе Методология моделирования предметной области