Государственный комитет РФ по высшему образованию
Московский Институт Электронной Техники
(Технический Университет)
Факультет МПиТК
Кафедра ИУВС
Пояснительная записка
к дипломному проекту на тему
“Клиентская часть
технологической среды для разработки больших экономических моделей: компоненты поддержки работы эксперта-экономиста при формировании и отладке (в расчетном режиме) структурного текста модели”.
Дипломант Авдейчев Д.В.
Руководитель проекта Тареев А.Н.
Консультант Фишкис В.М.
Консультант по технологической
части Волков .
Консультант по организационно-
экономической части Мормуль Н.Ф.
Консультант по технике
безопасности Каракеян В.И.
1999 г.
Содержание
1. Введение
2. Эскизный проект
2.1 Постановка задачи
2.1.1 Определение понятия модели
2.1.2 Требования, предъявляемые к системе экономического планирования.
2.1.3 Выбор платформы проектирования и еe обоснование
2.2 Экономическая модель в системе экономического планирования
2.2.1 Структура экономической модели
2.2.2 Язык модели
2.3 Общая отруктура системы
2.4 Структуры данных
2.4.1 Инфологическая модель базы данных
2.4.2 Даталогическая модель данных
3. Технический проект
3.1 Конфигурация технических средств
3.2 Алгоритмы предварительной подготовки данных для расчета экономической модели
3.2.1 Общий алгоритм работы программы
3.2.2 Структура программы
3.2.3 Архитектура Borland Database Engine (IDAPI) – ядро доступа к данным.
3.2.4 Иерархия форм.
3.2.5 Создание псевдонима BDE.
3.2.6 Модуль формы fmNew.
4. Технология программирования с использованием средств быстрой разработки приложений.
4.1 Введение
4.2 Особенности RAD–средств
4.2.1 Визуальная компонентность.
4.2.2 Многократное использование кода.
4.3 Создание программ в среде Delphi.
4.4 Отладка программ.
5. Расчёт затрат на разработку программы
5.1 Введение
5.2 Составляющие затрат на разработку программ Kр
5.3 Затраты на непосредственную разработку КП
5.3.1 Факторы КП как объекта проектирования, влияющие на непосредственные затраты при разработке сложных программ.
5.3.2 Применение современных методов разработки КП.
5.3.3 Факторы оснащенности процесса разработки КП аппаратурными средствами, влияющими на непосредственные затраты при разработке сложных программ.
5.3.4 Факторы организации процесса разработки КП, влияющие на непосредственные затраты при создании сложных программ.
5.4 Затраты на изготовление опытного образца как продукции производственно-технического назначения.
5.5 Затраты на технологию и программные средства автоматизации разработки КП.
5.6 Затраты на ЭВМ, используемые для автоматизации разработки данной программы.
5.7 Расчет затрат на разработку системы моделирования макроэкономики
5.7.1 Исходные данные
5.7.2 Коэффициенты изменения трудоемкости
5.7.3 Расчет непосредственных затрат на разработку
5.7.4 Затраты на ЭВМ
5.8 Выводы
6. Организация рабочего места программиста
6.1 Условия производственно-экологической безопасности разработчика пользователя ЭВМ
6.2 Вредные воздействия при работе с компьютером
6.3 Факторы обитаемости
6.4 Воздействие электромагнитного излучения монитора
6.5 Оптимизация условий зрительного восприятия
6.6 Освещение
6.7 Микроклимат
6.8 Оптимизация акустических условий
6.9 Электробезопасность.
6.9.1 Меры защиты от поражения электрическим током.
6.9.2 Защита от статического электричества.
6.9.3 Защита от электромагнитных полей и ионизирующего излучения
6.10 Психофизические факторы
6.11 Организационные мероприятия
6.12 Пожаробезопасность
6.13 Мероприятия по организации рабочего места
6.14 Заключение
6.15 Выводы
7. Литература
Глава 1
СПЕЦИАЛЬНАЯ ЧАСТЬ
«Клиентская часть технологической среды разработки экономических моделей»
Введение
Развитие современной компьютерной техники и программного обеспечения для нее в условиях жесткой конкуренции делает необходимым максимальную автоматизацию различных производственных процессов и делопроизводства с использованием самых совершенных компьютеров, которые позволяют ускорить и облегчить работу человека, а следовательно, и снизить себестоимость товаров или предоставляемых услуг и повысить их качество.
Одним из проектов Российского НИИ искусственного интеллекта является создание прототипа комплексной системы по теме "Компьютерное моделирование макроэкономики Российской Федерации на основе технологии недоопределенных вычислений". Цель данного проекта - разработать технологическую среду, которая бы позволяла экономистам создавать и изучать математические модели макроэкономики страны и составляющих ее районов, максимально приближенные к действительности. Модель - это сложная структура, включающая в себя множество экономических показателей и взаимосвязи между ними и описывающая поведение макроэкономики. (более подробно понятие модели раскрыто в эскизном проекте).
Соответственно, можно различить два типа пользователей системы:
* Экономист - разработчик: занимается непосредственной разработкой математической модели макроэкономики, устанавливает взаимосвязи между различными компонентами макроэкономики. Предполагает высокую экономическую квалификацию.
* Экономист - пользователь: занимается изучением макроэкономики на основе математической модели, построенной экономистом - разработчиком.
Разработка системы моделирования позволит автоматизировать процесс расчета экономических параметров, исследовать поведение макроэкономики при изменении каких либо составляющих ее показателей.
Мой дипломный проект посвящен разработке клиентской части базы данных - создание условий для формирования структурного текста модели и его представление в формате «понятного» вычислительному ядру системы.
Прежде чем определить круг требований к системе, установим, что же скрывается под понятием модели.
Модель является базовым понятием для любых областей знаний, использующих аппарат математики, поскольку каждая попытка работать в точных терминах с реальным явлением должна начинаться с описания его формальной модели. Именно Модель представляет Объект исследования или расчетов и определяет характер формального аппарата, используемого для описания Задачи и выполнения необходимых вычислений. Формально, Модель определяется парой неупорядоченных множеств - множеством переменных-параметров и множеством отношений, связывающих значения этих переменных.
Прежде всего, формальная Модель является особым типом общего понятия Модели. Сама семантика общего понятия включает Объект моделирования. Модель Чего? - без ответа на этот вопрос понятие Модели просто не имеет смысла.
Математическая Модель реального явления представляет собой его формальную аппроксимацию и при определенных условиях может заменять оригинал в компьютерном (а иногда и аналитическом) исследовании его природы и поведения. В этом качестве Модель может служить базисом для решения обычных вычислительных Задач. Например:
· каким образом данный набор значений одних параметров влияет на значения других,
· какие значения параметров возможны при данном наборе ограничений,
· какие сочетания значений параметров являются оптимальными для данного критерия при данном наборе ограничений, и т.п.
Любая математическая Модель, которая не является формализацией реальной сущности, может быть интересна в качестве объекта исследования только самим математикам, поскольку не является аппаратом для решения практических Задач.
В данной системе экономического планирования Модель описывает собой макроэкономику РФ в определенный период времени (на данном этапе с 1994 года по 2000 год) и представлена в виде неупорядоченной совокупности отношений, которые соответствуют связям, существующим между параметрами задачи (параметрами модели являются компоненты макроэкономики, например, статьи бюджета.). Эти отношения, называемые общим термином "ограничения" могут иметь вид уравнений, неравенств, логических выражений и т. п.
Замечательно то, что одну и ту же модель можно использовать для решения различных задач (например, прямых и обратных). При этом постановка той или иной задачи конкретизируется путем добавления в модель ограничений на допустимые значения параметров и/или формулирования дополнительных связей между ними.
В модели нет априорного разделения параметров на входные и выходные. В соответствии с требованиями решаемой задачи пользователь определяет, какие из параметров заданы точно, какие неизвестны совсем, а какие — приблизительно (исходная информация о таких параметрах задается в виде ограничений на множество их возможных значений). Применительно к модели макроэкономики можно утверждать, что все значения экономических параметров до 1998 года заданы точно, 1998 года и позднее неизвестны совсем либо заданы приблизительно.
Используя модель задачи и исходную информацию о значениях ее параметров, методы программирования в ограничениях обеспечивают автоматическое нахождение решения.
В самом общем виде постановка задачи в парадигме программирования в ограничениях формулируется следующим образом. Пусть на переменные x1, x2 ..., xn , областями значений которых являются множества X1 , X2 , ..., Xn , заданы ограничения Ci (x1 , x2 , ..., xn), i =1, k. Требуется найти наборы значений <a1 , a2 , ..., an> (ai Î Xi), которые бы удовлетворяли всем ограничениям одновременно.
Такая постановка задачи называется проблемой удовлетворения ограничений, а для ее решения используются различные алгоритмы и методы. В частности проблема удовлетворения ограничений может формулироваться как система уравнений с числовыми параметрами, а для ее решения могут использоваться стандартные численные методы. Однако при решении многих реальных задач эти методы оказываются неприменимыми, особенно если модель включает и нечисловые параметры, а начальные данные могут задаваться приблизительно в виде множеств и интервалов, содержащих допустимые значения.
Одним из наиболее развитых и практически значимых подходов, относящихся к программированию в ограничениях, являются недоопределенные модели.
Метод недоопределенных моделей (Н-моделей) был предложен в начале 80-x годов для представления и обработки неполностью определенных знаний [9]. Рассматриваемый вначале как оригинальный метод из области искусственного интеллекта, он трансформировался постепенно в прикладную технологию программирования в ограничениях. Технология Н-моделей выделяется среди других подходов вычислительной мощностью, универсальностью и эффективностью. Фактически она является единственной технологией, которая позволяет решать задачу удовлетворения ограничений в самой общей постановке. Модель макроэкономики РФ и представляет собой недоопределенную модель.
Теперь можно уточнить постановку задачи. Требуется написать систему, которая представляет собой технологическую среду для разработки больших экономических моделей. Система должна работать под управлением Windows95, реализована в среде разработки Borland Delphi 3 и должна состоять из двух компонентов - вычислительного ядра системы (engine) и оболочки над ним. Оболочка включает в себя:
· Набор интерфейсов для всех типов процессов
· База данных (БД), структура которой предполагает несколько проекций:
a. несколько моделей,
b. несколько вариантов одной модели (в процессе ее разработки),
c. несколько вариантов значений (для отладки комплекса данных и\или бюджета)
· "Кожух" для engine:
- два уровня программы: на внешнем языке и на внутреннем,
- два уровня данных: внутренний и внешний (с заданной точностью)
- компонент управления процессом: поиск корней, управление «сужением» интервалов, задание точности и т.д.
- определение состава данных, выдаваемых на интерфейс.
· Сервис: графика, генерация отчетов, help.
1.1.3 Выбор платформы проектирования и еe обоснованиеВ качестве операционной среды, в которой реализовался данный ПП, была выбрана среда Windows’95 (Windows NT). Причины этого следующие:
· Распространенность этих ОС, в связи с чем получается охват большого числа возможных пользователей;
· Возможность работы с большими массивами данных, реализация чего в среде Windows 3.1 или в среде MS-DOS представляет нетривиальную и трудновыполнимую задачу;
· Удобство графического интерфейса дает возможность при минимизации затрат на его реализацию максимизировать удобство работы пользователя с программой. Интерфейс интуитивно понятен и стандартизован, соответственно пользователь не потратит много времени на освоение программы и в дальнейшем количество возможных ошибок в его действиях будет минимизировано.
· 32-разрядность систем Windows’95 и Windows NT увеличивает скорость работы с соответствующими числами.
В качестве среды программирования была выбрана среда Borland Delphi 3, сочетающая в себе как все преимущества всех средств, относящихся к RAD[1], так и свои собственные преимущества:
· Простота и надежность создания и отладки программы;
· Использование всех преимуществ операционных систем Windows’95 и Windows NT, включая 32-разрядность, многозадачность, удобный интерфейс и прочее;
· Использование обработки исключений (exceptions), что позволяет повысить надежность работы программного продукта;
· Наличие и доступность большого количества компонент, реализующих многие стандартные функции.
Таким образом, в качестве платформы для реализации была выбрана связка Windows’95 (NT) - Borland Delphi 3.
1.2 Экономическая модель в системе экономического планирования 1.2.1 Структура экономической моделиЭкономическая модель состоит из трех частей:
* переменных
* описания взаимосвязей между переменными
* подмоделей
Под переменной подразумевается некий экономический параметр (например, доходы в процентах от ВВП). В системе каждый параметр представляется в виде табличной функции, где каждое значение (которое может быть как в виде определенного числа, так и в виде интервала, либо вообще не задано) - это значение переменной при дискретном значении индекса. Под индексами понимается значение квартала или года. На данном этапе развития проекта индексов может быть максимум два, т.е. переменная может зависеть либо от года либо от квартала и года. Индекс обязательно должен иметь диапазон изменения, например, для года - от 1994 до 2000 года; для квартала - от 1 до 4-х.
Описание взаимосвязей между переменными или система ограничений параметров представляет собой систему уравнений и неравенств. В системе она представляется в виде отдельного файла. Язык описания очень схож с описанием выражений на языках высокого уровня, таких как Basic, Pascal или C/C++.
Подмодель представляет вполне законченную экономическую модель, для которой также определены свои переменные, система ограничений и свои подмодели. Такая модель может рассчитываться совершенно автономно, причем ей «неизвестно», входит ли она сама в какую-либо большую модель как подмодель. В качестве примера большой экономической модели, например, можно взять бюджет Российской Федерации, а в качестве одной из подмоделей - бюджет Свердловской области.
Пример простейшей модели бюджета, на которой испытывался прототип данной системы, можно посмотреть на рис.1
Рис.1. Простейшая модель бюджета РФ.
1.2.2 Язык моделиПод языком экономической модели понимается совокупность правил описания ограничений, т.е. формат записи уравнений и неравенств
Этот язык можно разделить на внешний и внутренний. Под внешним языком подразумевается форма записи, которой придерживается экономист - разработчик. Внутренний язык - это формат записи, который «понимает» вычислитель системы. Фактически, в системе внешний язык идентичен внутреннему, но, чтобы добиться совместимости с первой версией (макетом), предусмотрена возможность распознавания текста модели макета.
1.2.2.1 Внутренний язык - язык вычислителя UniCalcЯзык UniCalc - это правила по которым записывается модель для решателя UniCalc.
На языке решателя UniCalc пользователь можете записать модель в виде совокупности выражений, включающих переменные, константы, стандартные математические функции, пользовательские функции. Язык решателя максимально приближен к общепринятой математической нотации. Каждое выражение должно заканчиваться символом ";".
Алфавит входного языка решателя UniCalc состоит из всех букв латинского алфавита и русского алфавита, всех цифр и набора специальных символов: +, -, *, /, ^, (, ), [, ], =, <, <=, >, >=, <>, :=, ,, ;, and, or, not, ->, (*, *).
Имена служат для обозначения переменных и функций. Имя может состоять только из букв и цифр, причем первым символом обязательно должна быть буква.
Переменные в UniCalc’е рассматриваются двух типов: целые и вещественные. Тип переменной принимается по умолчанию. Имена целых переменных начинаются с букв i, j, k, l, m, n для латинского алфавита, и соответственно - с букв и, й, к, л, м, н для русского алфавита. Остальные переменные считаются вещественными. Большие и малые буквы в имени различаются.
В системе определены константы двух типов: целые и вещественные. Целые константы - целые числа в диапазоне от -2147483646 до 2147483646. Пример записи целого числа:
-10, -5, 0, 15, 100,...
Вещественные константы - вещественные числа в диапазоне от -1e+19 до 1e+19. Пример записи вещественных констант: -0.03, 3.14, 0.9999999, 10.44e-5,...
Язык содержит встроенные константы для задания постоянных величин:
p= 3.14159,
e = 2.71828,
g = 9.80665.
Эти константы изображаются следующим образом:
p - @pi; e - @e; g - @g.
Пример:
l:=[-@pi/2, @pi/2];
S = @pi*r^2;
f = (@e^x - @e^(-x))/2;
F = M*@g^2/2.
1.2.2.1.2 ПеременныеВ UniCalc'e рассматриваются переменные двух типов: целые и вещественные. Тип переменной определяется первым символом ее имени. Имя может состоять из букв латинского и русского алфавита, а также цифр, причем первым символом обязательно должна быть буква. Имена распознаются по первым восьми символам. Большие и малые буквы в имени различаются. Имена целых переменных начинаются с букв i, j, k, l, m, n, для латинского алфавита, и соответственно с букв и, й, к, л, м, н, для русского алфавита. Для больших букв умолчание сохраняется. Остальные переменные считаются вещественными.
1.2.2.1.3 Стандартные математические функцииsin() синус;
cos() косинус;
asin() арксинус;
acos() арккосинус;
tg() тангенс;
ctg() котангенс;
atan() арктангенс;
ln() натуральный логарифм;
exp() экспонента;
abs() абсолютное значение;
sign() знак числа;
sqrt() квадратный корень;
dif() функция символьного дифференцирования
max(a,b,..,c) максимальное значение;
min(a,b,...,c) минимальное значение;
lower(0 нижнее значение;
upper() верхнее значение;
1.2.2.1.4 Пользовательские функцииПользовательские функции записываются в виде:
имя_функции (список формальных параметров) := выражение;
Допускается использование только арифметических выражений.
Вызов функции:
имя_функции (список фактических параметров);
Пример описания пользовательской функции:
f(x,y) := x^2 + y^2 - 1;
Пример вызова функции:
f(23.1, z+5) = 0;
1.2.2.1.5 КомментарииЛюбая последовательность символов, заключенная между комбинациями символов "(*" и "*)", является комментарием и может вставляться в любое место программы.
1.2.2.1.6 Арифметические операции+ операция сложения;
- операция вычитания и унарный минус;
* операция умножения;
/ операция деления;
^ операция возведения в степень.
Арифметические операции по приоритету в порядке убывания располагаются следующим образом: ^, /, *, -, +. Фактически операции "+" и "-" имеют одинаковый приоритет, так же как и /" и "*". Для изменения приоритета операций используются круглые скобки. Результатом операции деления в случае обоих целых операндов является целая часть частного.
1.2.2.1.7 Логические операцииOR логическое "ИЛИ";
AND логическое "И";
NOT логическое "НЕ";
-> импликация.
Логические операции по приоритету в порядке убывания располагаются следующим образом: NOT, AND, OR, ->.
1.2.2.1.8 Операции отношения= равно;
<> не равно;
< меньше;
> больше;
<= меньше или равно;
>= больше или равно.
1.2.2.1.9 Оператор присваиванияОператор присваивания используется для инициализации переменных и для задания начального интервала переменных. Вид оператора присваивания - := .
Пример операции присваивания:
х := 999;
Y := [5+6*10, 999].
1.2.2.1.10 Переменные - массивыВ последних версиях решателя возможно использование массивов произвольной размерности:
<array_name>[index_expr1, index_expr2, ... , index_exprN]
Тип элементов массива определен в имени массива <array_name> согласно правилам, действующим для имен переменных. Индексные выражения <index_expri> должны быть целыми константами или выражениями, результат которых - целое число. Элемент массива - это та же самая переменная, только записанная в специфической форме.
1.2.2.2 Внешний языкВнешний язык модели полностью идентичен внутреннему, поскольку разработкой модели будет заниматься эксперт - экономист, что, в свою очередь, подразумевает некие навыки программирования. Но, для совместимости с первой версией системы возможно распознавание текста модели макета. Отличие внешнего языка от внутреннего в данном случае состоит в том, что в языке макета не существовало понятия циклов, поскольку вычислитель системы их не поддерживал, т.е. для него не было определено понятие массивов. Таким образом, чтобы описать в формуле зависимость параметра от индексов, нужно было вводить некоторые скобки - разделители, в которых записывались обозначения индексов. Таким образом, на внешнем языке формула, описывающая ограничение, была одна, а во внутреннем языке, после обработки препроцессором, получалось N формул, где N - число сочетаний индексов, используемых в формуле и не выходящих за границы диапазона изменения индекса. Вместо обозначения индекса во внутреннем языке подставлялось его значение.
1.2.2.3 Пример формулы на внешнем языке и внутреннем языкеПусть существует несколько параметров A, B и С которые зависят от индекса Y, изменяющегося в диапазоне от 1992 до 1995. Параметр С, кроме этого зависит от индекса K, изменяющегося в диапазоне от 1 до 4-х. Также от параметра К зависит параметр D. Между ними существует взаимосвязь:
C{K,Y}=A{Y}+B{Y-1}+D{K+2};
Фигурные скобки {} «показывают» препроцессору, что перед ним переменная, которая зависит от индексов, находящихся в этих скобках. После трансляции на внутренний язык получается система уравнений:
C[1,1993]=A[1993]+B[1992]+D[3];
C[1,1994]=A[1994]+B[1993]+D[3];
C[1,1995]=A[1995]+B[1994]+D[3];
C[2,1993]=A[1993]+B[1992]+D[4];
C[2,1994]=A[1994]+B[1993]+D[4];
C[2,1995]=A[1995]+B[1994]+D[4];
Но все это сделано для распознавания «старых» моделей. Эту формулу также можно записать в виде, применяемом в нынешней версии.
Рис.2. Структура системы.
Учитывая специфику задачи и возможности операционной системы, разрабатываемая система должна иметь следующую структуру, показанную на рис.2
Вычислитель системы - UniCalc - реализован в виде динамически связываемой библиотеки (Dynamic Link Library), которая экспортирует функции и переменные. Вычислитель основан на принципах недоопределенной математики и разрабатывается в Академгородке в Новосибирске.
База данных реализована в формате DB, т.е. в формате Paradox. В этом формате, в основном, хранятся значения экономических параметров, т.е. входные и выходные данные. Ограничения параметров, т.е. система неравенств, уравнений представлена в виде текстового файла, поскольку данная информация не упорядочивается и не структурируется.
Макропрепроцессор реализован в виде функций, находящихся в основном модуле системы, и функций динамически связываемой библиотеки. Такая реализация обусловлена проблемой совместимости с первой версией системы - функции библиотеки DLL служат для конвертирования модели из старого формата.
1.4 Структуры данныхВходные и выходные данные экономической модели хранятся в базе данных, реализованной в формате Paradox. В ней хранятся данные по экономическим параметрам, т.е. их описания и значения, и по структуре модели.
1.4.1 Инфологическая модель базы данныхИнфологическая модель подразумевает собой описание предметной области, которую следует представить в виде некоторой структуры базы данных, без привязки к какой-либо системе управления базами данных, имеет целью упорядочить информацию о предметной области, ее составе, и включает в себя следующие описания:
· предметной области;
· объектов и связи между ними;
· лингвистическое;
· ограничения целостности;
· алгоритмических связей между показателями объектов;
· информационных потребностей пользователя.
1.4.1.1 Предметная областьПод предметной областью подразумевается какая-либо область человеческой деятельности, вызывающая интерес для исследования. В данном случае предметной областью является макроэкономика РФ в целом и макроэкономика составляющих ее районов.
Рис.3. Структура объектов базы данных.
Рис.4. Связи между объектами.
1.4.1.4 Лингвистическое описаниеБаза данных описывает экономическую модель, поэтому одним из объектов, входящих в базу, является объект «Экономическая модель». Объект «Экономическая модель» описывает файловую структуру экономической модели. Признаками данного объекта являются
· обозначение модели - статический атрибут, который показывает, под каким псевдонимом выступает экономическая модель в различных выходных формах системы, например, в форме с деревом модели;
· описание модели - статический атрибут, целью которого является пояснение - какую, собственно, часть макроэкономики описывает данная модель. В частности, это может быть представление макроэкономики какого-нибудь региона;
· путь к базе данных модели - динамическое свойство;
· название файла ограничений (файл, содержащий систему уравнений и неравенств для данной модели) - динамический атрибут.
Кроме этого в базе существуют объекты, которые описывают логическую структуру модели.
Объект «Экономический параметр». Синонимом данного объекта также является «экономическая переменная». Объект имеет следующие свойства:
· обозначение параметра в модели - статический признак, который показывает, под каким псевдонимом (алиасом) используется данная переменная в системе, например, в системе ограничений;
· описание параметра (название параметра) - статическое свойство.
Объект «Индекс» - некая переменная, от которой зависят экономические параметры, в данном проекте эта переменная обозначает различные годы и кварталы. Признаки данного объекта следующие:
· обозначение индекса модели - статический атрибут, показывающий, под каким псевдонимом используется индекс. В проекте обычно имеет вид «Y» (year);
· минимальное значение - данное свойство, как и остальные, является статическим;
· максимальное значение;
· шаг изменения, в проекте обычно имеет значение «1».
Поскольку целью работы системы является автоматизация расчетов различных параметров макроэкономики, а также проверка различных предложений по разработке экономической политики, поэтому в базе существует объект «Версия расчета модели». Данный объект нужен для регистрации расчета системы, т.к. рассчитываться может либо вся модель, либо в автономном режиме ее подмодель, и для реализации «отката» в системе, т.е. попытки вернуться на N шагов назад к данным предыдущих расчетов. Но на данной стадии производится расчет всей модели, автономный режим пока не реализован. Все свойства данного объекта являются статическими и выглядят следующим образом:
· номер версии. После запуска системы, т.е. до всех расчетов, по умолчанию номер версии равен нулю;
· комментарий по версии - например, «Проверка предложения фракции ЛДПР по введению новых налогов»
В базе имеется агрегированный объект, содержащий значения экономических параметров в зависимости от версии расчетов. Атрибутами данного объекта являются:
· порядковый номер в переменной - статической свойство. По существу, экономическая переменная представляет собой массив, у которого, в общем случае, неизвестна ни размерность, ни диапазон изменения индексов. Данный признак введен для простоты работы с базой. Фактически, он отражает уникальную комбинацию значений индексов, от которых зависит экономический параметр;
· значение - динамическое свойство. Имеет вид либо точного значения, либо некоторого интервала.
1.4.1.5 Алгоритмические связиПорядковый номер в переменной равен номеру уникальной комбинации значений индексов, от которых зависит экономическая переменная. Номера в переменной вычисляются по взаимосвязи переменной с индексами.
Значение индекса = минимальное значение + i * шаг изменения, i - некоторое целое число, при условии, что значение индекса меньше либо равно максимальному значению индекса.
1.4.1.6 Информационные потребности пользователяПользователю очень важно знать все значения экономических параметров, чтобы на основании всех полученных данных успешно моделировать поведение экономики при различных воздействиях на нее.
1.4.1.7 Ограничение целостностиВ объекте «Версия расчета модели» нужно, чтобы номер версии был неотрицательным, поскольку при отрицательном значении он не имеет смысла. Нулевое значение номер принимает при создании новой экономической модели, т.е. до ее первого расчета.
В объекте «Индекс» минимальное значение должно быть меньше максимального значения. Кроме того, сумма минимального значения индекса с шагом изменения должна быть меньше либо равно максимального значения индекса. Шаг изменения - это неотрицательное значение.
В объекте «Значение переменной» порядковый номер переменной может изменяться в пределах от единицы до произведения количества значений всех индексов, входящих в данную переменную.
1.4.2 Даталогическая модель данныхПод даталогической моделью (ДЛМ) подразумевается отображение конечных связей между реальными объектами предметной области к их смысловому содержанию в среде хранения. ДЛМ строится в терминах информационных единиц, предусмотренных в конкретной системе управления базами данных.
Все объекты и связи между объектами в нашем случае можно выразить следующими соотношениями:
· экономическая модель(обозначение модели, описание модели, путь к базе данных модели, название файла ограничений) - таблица Model.db;
· экономический параметр(обозначение параметра в модели, описание параметра) - таблица Params.db;
· индекс(обозначение индекса, минимальное значение индекса, максимальное значение, шаг изменения) - таблица Indexes.db;
· версия расчета модели(номер версии, обозначение модели, комментарий по версии) - таблица Version.db;
· зависимость экономического параметра от индексов(обозначение параметра, обозначение индекса) - таблица Inter.db;
· зависимость значения переменной от версии расчета (обозначение параметра, обозначение индекса, значение индекса, номер версии, значение переменной). Данную связь можно представить двумя таблицами, которые описываются следующими отношениями:
... без применения компьютерной техники. Непрекращающееся развитие любого предприятия, учреждения или организации, а как следствие объёмов и сложности информации требует расширения компьютерных сетей и автоматизированных информационных систем. Но кроме очевидных выгод компьютерная техника несет в себе опасность здоровью и поэтому актуальной становится проблема охраны труда человека в процессе работы ...
... мы все сделали правильно, воспроизведем курс с начала, щелкнув кнопку Restart на панели управления. Создание кадров «Автор» и «Уч. пособ» идентично созданию кадра «Заголовок». Первый отображает фамилию и инициалы автора, а второй указывает, что это – электронный обучающий комплекс. Пятый и шестой кадр {Wait Icon и Erase Icon) весьма тесно связаны друг с другом. Эта пара обеспечивает управляемый ...
0 комментариев