Модель макроэкономических показателей
Модель макроэкономических показателей
Пояснительная записка к курсовому проекту по курсу “Разработка и применение пакетов прикладных программ в экономике”
Выполнил ст-т гр.95З3 Селевёрстова Е. Н.
Пензенский государственный университет, Кафедра "Информационно-вычислительные системы"
1999
Введение
В настоящее время широко используется понятие макроэкономических показателей, которые необходимы для измерения совокупного производства в экономике. Для того чтобы охарактеризовать деятельность компании в текущем году, необходимо измерить доходы и расходы фирмы. Таким образом, анализируя отчеты за определенный период времени, руководитель может обнаружить увеличение или уменьшение прибылей фирмы и признаки, свидетельствующие о прямых причинах этих явлений. Вся эта информация очень важна для принятия правильных управленческих решений на уровне компании.
Система национальных счетов делает тоже самое для экономики в целом: она позволяет держать руку на экономическом пульсе страны. Различные показатели, которые входят в систему национальных счетов, позволяют нам измерять объем производства в конкретный момент времени и раскрывать факторы, непосредственно определяющие функционирование экономики. Далее, сравнивая уровни национального дохода за определенный отрезок времени, мы можем построить кривую, характеризующую функционирование экономики в долгосрочной перспективе: ее подъем или спад отразится на показателе национального дохода.
В данном пакете необходимо определить величину равновесного национального дохода. В случае, когда считаются постоянными производственные мощности, равновесный национальный доход определяется с помощью графика. Такое определение называется определением национального дохода на основе прямой с углом наклона 45°. Точка равновесия и соответствующий ей равновесный национальный доход отражают такой уровень текущей хозяйственной активности, который в определенной степени удовлетворяет домашние хозяйства и предприятия, однако не совпадает с желательным уровнем, т.е. при котором достигается полная занятость. Если учесть эффект увеличения производственных мощностей благодаря инвестициям, то мы можем определить равновесный национальный доход с учетом инвестиций. Чтобы проиллюстрировать тенденции развития экономики необходимо построить модель делового цикла. В данном пакете строятся две модели: простая и сучетом гос. потребления.
Целью настоящего курсового проекта является создание пакета прикладных программ, позволяющего оценить ситуацию на фирме с помощью макроэкономических показателей: равновесного национального дохода при условно постоянных производственных мощностях, с учетом инвестиций, а также видом динамики делового цикла.
1 Техническое задание
1.1 Введение
Программа называется KURS. Пакет прикладных программ предназначен для определения равновесного национального дохода в различных периодах и построения модели делового цикла.
1.2 Основание для разработки
Основанием для разработки является задание на выполнение курсовой работы, выданное на кафедре ИВС ПГУ Прокофьевым О. В 10.10.98. Утверждено заведующим кафедрой ИВС Шаховым Э. К. Тема приведена в задании (см. лист 2).
1.3 Назначение разработки
Пакет прикладных программ предназначен для определения равновесного национального дохода в различных периодах и построения модели делового цикла.
1.4 Требования к программе
1.4.1 Требования к функциональным характеристикам
Пакет из трех самостоятельных программ: определение равновесного национального дохода при условно постоянных производственных мощностях, с учетом инвестициий по неоклассической модели и модели делового цикла.
Входными данными для определения национального дохода при условно постоянных производственных мощностях являются:
-данные о склонности к потреблению, параметр должен лежать в диапазоне от 0 до1
- данные о национальном доходе
- данные о совокупном спросе, базисном потреблении и независимом объеме инвестиций, они должны быть положительными числами.
- требующиеся выжодные данные (график, равновесный национальный доход).
Входными данными для определения национального дохода с учетом инвестиций являются:
- данные об отношении “капитал/труд” и темпе его изменения
- норма накопления и прирост предложения труда, они должны быть положительными числами и меньше 1
- шаг дифференцирования
- критерий сходимости – от 0,1 и меньше
- требующиеся выходные данные (график, равновесное значение).
Входными данными для построения модели делового цикла являются:
- склонность к потреблению
- базовое потребление
- фактор акселерации или коэффициент инвестиций
- требующиеся выходные данные (графики моделей делового цикла).
Пакет прикладных программ должен обеспечивать следующие выходные данные:
- равновесный национальный доход при условно постоянных производственных мощностях
он должен быть представлен в виде точки пересечения прямой спроса и национального дохода на графике
- значение мультиплекатора инвестиций, который показывает, насколько возрастет национальный доход при заданном росте инвестиций
- равновесный национальный доход с учетом инвестиций, он должен быть представлен в виде точки пересечения кривой, характеризующей неоклассическую модель роста, с осью Х
- графическую иллюстрацию моделей делового цикла.
Пакет прикладных программ должен реализовать следующие функции:
- организация диалога с пользователем для ввода необходимой информации (параметры для расчетов)
- расчет национального дохода и построение моделей делового цикла
- представление пользователю графической иллюстрации выше перечисленных расчетов
- сохранение исходных данных в рабочих книгах электронной таблицы Excel
- считывание исходных данных из других рабочих книг электронной таблицы Excel.
Синтаксическая проверка данных должна производиться при вводе.
Пакет должен быть разработан как событийно-управляемый проект.
1.4.2 Требования к надежности
Программа должна работать без прерываний по программным ошибкам. В случае ошибки должны выдаваться соответствующие сообщения.
При вводе пользователем входной информации должен осуществляться ее контроль на допустимость вводимых значений. Ввод данных в пакет должен осуществляться только после исправления пользователем ошибок ввода.
В случае системного сбоя оборудования не должны происходить потеря данных, хранящихся в закрытых файлах таблиц, и нарушения в структуре и последующей работе пакета.
При заполнении таблиц должна осуществляться защита данных. Ввод данных в рабочие листы таблиц возможен только через соответствующие формы ввода с контролем на допустимость значений.
Конечный пользователь не должен иметь свободный доступ к исходным файлам пакета. Для модификации программной части пакета пользователю нужно будет знать пароль доступа к программным модулям пакета.
1.4.3 Требования к составу и параметрам технических средств
Программа должна работать на стандартном комплексе технических средств из состава персональных компьютеров семейства IBM PC 486/ IBM Pentium. Минимальный объем свободной памяти на диске - 700 Kb. Видеоадаптер VGA и выше.
1.4.4 Требования к информационной и программной совместимости
Программа должна быть разработана в среде программирования VBA Excel 97. Операционная система - Windows 95/98.
1.5 Стадии и этапы разработки
Стадии и этапы разработки программы приведены в таблице 1.1.
Таблица 1.1 - Стадии и этапы разработки
Стадии разработки |
Этапы разработки |
Содержание работ |
1 Техническое задание |
Постановка задачи Разработка и утверждение технического задания |
Определение структуры входных и выходных данных Уточнение задания Определение требований к программе Согласование и утверждение технического задания |
2. Технический проект |
Логическое и программно-техническое проектирование |
Разработка спецификаций проекта Разработка структуры и определение способа применения пакета Разработка входного языка пакета и планирование вычислительного процесса Проектирование модулей и разработка их спецификаций |
3. Рабочий проект |
Разработка программы Испытания программы |
Кодирование модулей Обоснование методов сборки, тестирования модулей и проектирование тестовых наборов данных Сборка, тестирование и отладка программы Разработка согласование и утверждение методики испытаний Корректировка программы по результатам испытаний |
1.6 Требования к программной документации
В процессе выполнения курсовой работы должны быть разработаны следующие документы:
- техническое задание
- проектирование и разработка пакета прикладных программ
- описание пакета прикладных программ
- текст программы
- программа и методика испытаний
- описание применения.
1.7 Порядок контроля и приемки
Для контроля за правильностью работы пакета прикладных программ должны быть разработаны тестовые примеры и произведено тестирование всех режимов работы программы. Приемка программы проводится при представлении работоспособности пакета при различных входных данных, при выполнении им указанных в задании на курсовое проектирование функций и при наличии полной документации к программе. Документация должна быть разработана в соответствии со стандартом ЕСПД.
2 Проектирование и разработка пакета прикладных программ
2.1 Разработка структуры пакета
Пакет прикладных программ для определения макроэкономических показателей должен выполнять три задачи, связанные с определением национального дохода в различных периодах времени и построением моделей делового цикла процесс уравновешивания цен на рынке в виде паутинообразной модели.
При анализе функций, которые должен выполнять пакет (см. ТЗ, пункт 1.3.1), можно выделить следующие задачи и группы задач:
а) вызов модулей, организующих нужный режим работы (функции работы с данными, расчеты, справка), в зависимости от выбора пользователя
б) работа с данными (работа с информационной базой, организация различных видов интерфейса)
в) управление ходом вычислительного процесса (организация последовательности вызова обрабатывающих и обслуживающих модулей в зависимости от действий пользователя и промежуточных результатов)
г) расчеты, необходимые для выполнения поставленных задач.
Исходя из особенностей проектирования пакетов, в намеченных задачах и группах задач просматриваются функции соответственно управляющего модуля (а), обслуживающих модулей (б), управляющего модуля второго уровня (в) и обрабатывающих модулей (г).
В рассмотренных группах задач можно выделить конкретные задачи.
Группа задач работы с данными включает в себя следующие задачи:
- организация ввода пользователем входных данных для пакета
- сохранение данных о для каждой задачи в отдельном файле
- считывание исходных данных из существующего файла
- функции для проверки корректности исходных данных.
Группа задач расчетов включает следующие задачи:
- расчет совокупного спроса
- расчет базисного потребления
- расчет темпа изменения отношения “капитал/труд”
- расчет динамики национального дохода
- расчет равновесного национального дохода при постоянных производственных мощностях
- расчет равновесного национального дохода с учетом инвестиций.
Разработанная структура пакета
соответствует общей структуре пакетов
прикладных программ, представленной
на рисунке 2.1.
Рисунок
2.1 - Структура пакета прикладных программ
2.2 Определение способа применения пакета
В пакете прикладных программ для определения макроэкономических показателей ввод данных пользователем осуществляется сразу при выборе необходимого критерия. Условием для выполнения расчетов является наличие всех данных. Если эти данные не введены, то построение графиков невозможно. В связи с этим для пользователя удобнее, если пакет реализуется как пакет, работающий в режиме диалогового сопровождения.
2.3 Построение модели предметной области
При решении задачи определения макроэкономических показателей в пакете используется определенная совокупность данных и связей между ними, или модель предметной области (МПО). В этой совокупности можно выделить структуру данных (Х), связи по определению, неизменные при функционировании пакета (R) и функциональные связи, реализующиеся в процессе работы пакета (F). Соответственно модель предметной области можно описать как МПО = { X, R, F }.
Структуру данных МПО можно представить в виде таблицы 2.1.
Таблица 2.1 - Таблица данных модели предметной области
Название данного |
Имя данного |
Тип данного |
Склонность к потреблению |
C |
Вещественное положительное число |
Национальный доход |
ND |
Вещественное положительное число |
Совокупный спрос |
D |
Вещественное положительное число |
Базисное потребление |
A |
Вещественное положительное число |
Независимый объем инвестиций |
I |
Вещественное положительное число |
Равновесный национальный доход |
YE |
Вещественное число |
Отношение “капитал/труд” |
Х |
Вещественное положительное число |
Темп измененияотношения “капитал/труд” |
DX |
Вещественное число |
Норма накопления |
S |
Вещественное положительное число |
Прирост предложения труда |
N |
Вещественное положительное число |
Шаг дифференцирования |
H |
Вещественное число |
Критерий сходимости |
ep |
Вещественное положительное число |
Фактор акселерации |
V |
Вещественное число |
Связи по определению, задающие подчиненность данных, можно представить в виде таблицы 2.2.
Таблица 2.2 - Связи по определению
Старшие данные |
Подчиненные данные |
C |
cp, Y, A, |
D |
cp, Y, A, I |
YE |
cp, I, A |
DX |
S, N, X |
Y |
A, B, V |
Функциональные связи, обосновывающие минимально необходимое число обрабатывающих модулей и реализуемые в процессе работы пакета по прямому или косвенному указанию пользователя, представлены в таблице 2.3.
Таблица 2.3 – Функциональные связи
Задача, выполняемая модулем |
Обрабаты-вающий модуль |
Входные параметры |
Выходные параметры |
1. Расчет равновесного национального дохода |
Уравнения |
A, I, cp |
Y, YE, D, C |
2. Расчет темпов изменения отношения “капитал/труд” |
Расчеты |
X, H, S, FN, ep, N |
DX, DXe |
3. Расчет динамики национального дохода простой модели |
Данные_график |
Ap, Bp, V |
Y(t) |
4. Расчет динамики национального дохода с учетом госпотребления |
С_гос_потреблением |
Ap, V, Bp, R |
Y(t), G |
Как видно из таблицы четыре задачи решаются с помощью четырех обрабатывающих модулей.
Исходя из анализа функций обрабатывающих модулей, был построен граф переходов состояний МПО (рисунок 2.2).
Рисунок 2.2 – Граф переходов состояний МПО
Стрелки на рисунке показывают подключение обрабатывающих или обслуживающих модулей. Подключение модулей является эффективным, то есть после подключения очередного модуля МПО переводится в новое состояние (становятся известны новые данные, или происходит пересчет известных данных). Список обрабатывающих модулей и задач, которые они решают, приведен в таблице 2.3. Кроме обрабатывающих модулей состояние МПО могут изменять и обслуживающие модули. Такими модулями на графе являются:
OpenBook1, OpenBook2, OpenBook3 – данные вводятся из других рабочих книг
Ввод_исх_данных, Вход_данные, Исходные_данные – данные вводятся пользователем вручную
Диагр1, Диагр2, Дигр3, Диагр4 –осуществляют построение соответствующих графиков.
Граф переходов представляет собой структуру с разветвлением. Выбор ветви зависит от выбранного пользователем пункта меню.
2.4 Планирование вычислительного процесса
Как видно из графа состояний модели предметной области (рисунок 2.2), ход вычислительного процесса может идти тремя путями. По какой ветви графа будет идти процесс вычислений определяется в зависимости от выбора пользователя. То есть при запуске пакета неизвестно какие модули должны вызываться. Но возможных путей только три, поэтому определим какие модули должны вызываться в каждом из возможных случаев. Для определения последовательности вызываемых модулей воспользуемся алгоритмом “прямой волны” [2, cтр. 105]. Данный метод можно применить, так как несмотря на то, что граф переходов состояний МПО имеет разветвление, выбор ветви определяется пользователем и нет необходимости автоматически выбирать путь на графе. Матрицы входных и выходных данных модулей (Т и R), в которых строки соответствуют обработывающим модулям, а столбцы - данным по таблице 2.1, представлены в таблицах 2.4 и 2.5. Условно известные данные обозначены как “1”, неизвестные - как “ ” (пусто), или “0”.
Таблица 2.4 - Матрица T входных данных обрабатывающих модулей
Данные Модули |
A |
I |
cp |
X |
H |
S |
FN |
ep |
N |
Ap |
Bp |
V |
R |
Y |
YE |
D |
C |
DX |
DXe |
Y(t) |
G |
Уравнения |
1 |
1 |
1 |
||||||||||||||||||
Расчеты |
1 |
1 |
1 |
1 |
1 |
1 |
|||||||||||||||
Данные_график |
1 |
1 |
1 |
||||||||||||||||||
С-гос_пот-реблением |
1 |
1 |
1 |
1 |
Таблица 2.5 - Матрица R выходных данных обрабатывающих модулей
Данные Модули |
A |
I |
cp |
X |
H |
S |
FN |
ep |
N |
Ap |
Bp |
V |
R |
Y |
YE |
D |
C |
DX |
Dxe |
Y(t) |
G |
Уравнения |
1 |
1 |
1 |
1 |
|||||||||||||||||
Расчеты |
1 |
1 |
|||||||||||||||||||
Данные_график |
1 |
||||||||||||||||||||
С-гос_пот-реблением |
1 |
1 |
В первом случае процесс вычислений идет по левой ветви графа переходов состояний МПО. Так как в задачу пакета не входит выбор ветви, а выбор осуществляется пользователем, то подключение модулей Уравнения, Расчеты и Данные_график является взаимоисключающей альтернативой зависит от пользователя. Допустим, что пользователь задал определить нац. доход при постоянных мощностях, то для этого должен вызываться модуль Уравнения. В этом случае должны быть рассчитаны следующие данные: Y, D, YE, C то есть конечное состояние предметной области можно представить вектором Z=(0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0). Предположим, что данные A, I, cp уже заданы пользователем, хотя реально эти данные запрашиваются у пользователя в ходе вычислительного процесса. Тогда начальное состояние предметной области может быть описано вектором S0=(1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0).
S0=(1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)
Уравнения®S1=(1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0)
Получен управляющий вектор для построения графика национального дохода.
Во втором случае процесс вычислений будет идти по средней ветви графа переходов состояний МПО. Этот путь выбирается в том случае, если пользователь желает определить величину национального дохода с учетом инвестиций. В этом случае должны быть рассчитаны следующие данные DX и DXe, то есть конечное состояние предметной области можно представить вектором Z=(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0). Предположим, что данные X, H, S, ep, N уже заданы пользователем, хотя реально эти данные запрашиваются у пользователя в ходе вычислительного процесса. Тогда начальное состояние предметной области может быть описано вектором S0=(0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0).
S0==(0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0).
Расчеты®S1=(0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,1,1,0,0)
Получен управляющий вектор для построения графика национального дохода с учетом инвестиций.
В третьем случае процесс вычислений будет идти по правой ветви графа переходов состояний МПО. Этот путь выбирается в том случае, если пользователь желает построить модель делового цикла. В этом случае должны быть рассчитаны следующие данные Y(t) и G, то есть конечное состояние предметной области можно представить вектором Z=(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1). Предположим, что данные Ap, Bp, V, R уже заданы пользователем, хотя реально эти данные запрашиваются у пользователя в ходе вычислительного процесса. Тогда начальное состояние предметной области может быть описано вектором S0=(0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0).
S0==(0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0).
Расчеты®S1=(0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,1,1)
Получен управляющий вектор для построения графика делового цикла.
2.5 Обоснование выбора способа внешнего управления пакетом
В качестве внешнего управления пакетом был выбран усовершенствованный проблемно-ориентированный способ, когда пользователь задает нужные ему выходные данные (графики, иллюстрирующие макроэкономические показатели), и в процессе диалога выявляются необходимые для расчета данные. В случае недостижимости цели расчета, пользователю сообщается о причинах и вычислительный процесс прерывается. То есть предполагается ввод известной пользователю информации по частям, а последовательность расчетов формируется автоматически, что обеспечивает усовершенствованный проблемно-ориентированный способ внешнего управления.
2.6 Определение функций обслуживающих и управляющих модулей
Поскольку приемы визуального событийно-управляемого программирования, используемые в VBA, предполагают широкое использование объектов (форм, меню, элементов управления), функциями обслуживающих модулей пакета является работа с этими объектами (например, формами для ввода пользователем данных и команд на входном языке пакета, различными интерфейсами), контроль допустимости введенных пользователем значений данных, а также общее оформление пакета и предоставление пользователю справочной информации о пакете в целом, так и о текущем состоянии МПО и обеспечение вывода разнообразных сообщений об ошибках выполнения.
Функциями основного управляющего модуля являются:
а) формирование начального состояния МПО
б) вызов обслуживающих и управляющих модулей второго уровня в зависимости от действий пользователя.
Функциями второстепенного управляющего модуля является:
а) формирование последовательности вызовов обрабатывающих и обслуживающих модулей в зависимости от действий пользователя
б) вызов обрабатывающих и обслуживающих модулей
в) преобразование состояния МПО в зависимости от результатов выполнения обрабатывающих и обслуживающих модулей.
2.7 Разработка входного языка пакета
Разрабатываемый пакет ориентирован на работу в режиме диалогового управления. При работе в таком режиме управление пакетом более удобно, если используется входной язык типа “меню”. В главном меню пакета можно выделить четыре группы команд.
Первая группа включает в себя команды для расчета национального дохода: “При условно постоянных производственных мощностях”, “С учетом инвестиций”.
Вторая группа команд включает в себя общие команды для построения моделей делового цикла: “Ввод данных”, “Диаграмма”, “Сохранить”.
Третья группа включает в себя команды для просмотра входных и выходных данных: “Данные”, “Диаграмма”, “Справка”.
Четвертая группа состоит из команды выхода: “Выход”.
При запуске пакета начальная инициализация меню представлены на рисунках Б.1-Б.5 в приложении Б. В первой группе недоступными являются команды “Диаграмма” и “Сохранить”. Эти пункты меню становятся активными (выбираемыми) после ввода данных вручную или из рабочей книги.
Во второй группе при начальной инициализации пакета недоступными являются команды “Диаграмма” и “Сохранить” . Среди команд третьей группы изначально доступна только команда для просмотра исходных данных “Данные”, так как других данных еще нет. Просмотр графика, возможен только после успешного завершения расчетов.
Кроме основного меню, управление пакетом осуществляется при помощи диалогов. Диалоги представлены на рисунках Б.6-Б.16 в приложении Б.
2.8 Разработка интерфейсов пакета
В пакете прикладных программ обеспечиваются следующие функции обслуживания:
- справочный интерфейс
- информационный интерфейс
- интерфейс управления
- интерфейс ввода-вывода
- внешний интерфейс.
Справочный интерфейс в пакете представлен в виде общей справки по работе пакета и при вводе данных. Общая справка вызывается из главного меню командой “Справка”. Для вывода справки на экран в пакете используется встроенный в MicroSoft Office объект Assistant.
Информационный интерфейс представлен в пакете в виде сообщений о некорректности данных. Сообщения о некорректности входных данных представляют собой сообщения при вводе данных, если вместо числа вводятся строковые символы или если число выходит за пределы диапазона возможных значений.
Сообщения, образующие информационный интерфейс пакета представлены на рисунках Б.17-Б.24 в приложении Б.
Интерфейс управления представлен в пакете в виде меню и диалоговых окон. Возможности вызова конкретных пунктов меню связаны с текущим состоянием МПО, то есть в конкретный момент времени одни пункты меню могут быть доступны, а другие - недоступны. Меню, подменю и диалоговые окна, образующие интерфейс управления пакета, представлены на рисунках Б.1-Б.6 в приложении Б.
Интерфейс ввода вывода реализует в пакете функции:
- предоставление пользователю возможности ввода данных (диалоговые окна)
- отображение введенных данных на листах рабочей книги
- вывод результатов расчетов
- общее оформление листов рабочей книги для обеспечения воспринимаемости информации.
Внешний интерфейс реализован в усеченном виде, то есть пакет может использовать только файлы с соответствующими данными, созданные в приложении Excel, причем имеется рекомендация разработчика создавать файлы таблиц через пакет, чтобы было согласование последовательности данных во внешнем XLS-файле.
2.9 Разработка спецификаций и внутреннее проектирование модулей пакета и информационной базы
Внешняя спецификация модулей пакета основана на подробном и полном определении назначения, функций и входных/выходных параметров модулей. С точки зрения подчинения (вызывающие и вызываемые модули) модули пакета могут быть представлены как элементы древовидной структуры, изображенной на рисунке 2.3. Следует принять во внимание, что на рисунке не отображен порядок вызова модулей и условия выполнимости модулей.
Рисунок 2.3. – Иерархия модулей пакета
Модуль Ввод_исх_данных является обслуживающим модулем, реализующим функции интерфейса ввода-вывода. В его задачи входит предоставление пользователю возможности ввода предложенных параметров. Данный модуль вызывается из главного меню при выборе пользователем пункта “Национальный доход” “При условно постоянных производственных мощностях” “Ввод данных” “Вручную”. Модуль Очистить предназначен для очистки диапазона ячеек, где должна размещаться таблица с данными. Модули Склонность_потреблению, Базисное потребление, Независимый объем инвестиций являются обслуживающими модулями, реализующими функции по вводу входных данных.
Обслуживающие модули SaveToBook1,2,3 реализуют функции внешнего интерфейса. Они предназначены для сохранения введенных пользователем данных для каждого расчета в отдельной рабочей книге. Имя рабочей книги должно запрашиваться у пользователя. Модуль вызывается из меню при выборе пользователем пункта “В рабочую книгу”.
Обслуживающие модули OpenBook1,2,3 реализуют функции внешнего интерфейса и предназначены для считывания данных из других рабочих книг. Имя рабочей книги необходимо запрашивать у пользователя. При открытии книги необходимо проверить, содержит ли книга данные в нужном формате, если содержит, то должно производиться считывание данных в рабочую книгу kursl.xls, иначе пользователю должно сообщаться о том, что данные не найдены. После выполнения этих операций рабочая книга должна быть закрыта. При считывании данных должна производится синтаксическая проверка, если обнаружена ошибка в данных, считывание должно быть прекращено с выдачей соответствующего сообщения. Для реализации этих функций модуль вызывает модуль Massages.
Обслуживающий модуль myhelp реализует функции справочного интерфейса. Модуль вызывается из меню при выборе пользователем пункта “Справка”. Модуль должен обеспечивать вывод справки по всей системе макроэкономических показателей. При реализации модуля используется встроенный объект MicroSoft Office Assistant.
Обслуживающий модуль “Выход” предназначен для закрытия текущего листа и выхода из рабочей книги kurs.xls.
Обслуживающий модуль Вход_данные реализует функции интерфейса ввода-вывода. При вводе данных должен осуществляться синтаксический контроль. Данный модуль вызывается из главного меню при выборе пользователем пункта “Национальный доход” “С учетом инвестиций” “Ввод данных” “Вручную”. Модуль Очистить предназначен для очистки диапазона ячеек, где должна размещаться таблица с данными. Модули Отношение_капил_труд, Норма_накопления, Прирост_предло-жения труда, Шаг дифференцирования и Критерий_сходимости являются обслуживающими модулями, реализующими функции по вводу входных данных.
Модуль Исх_данные является обслуживающим модулем, реализующим функции интерфейса ввода-вывода. В его задачи входит предоставление пользователю возможности ввода предложенных параметров. Данный модуль вызывается из главного меню при выборе пользователем пункта “Динамика делового цикла” “Ввод данных” “Вручную”. Модуль Очистить предназначен для очистки диапазона ячеек, где должна размещаться таблица с данными. Модули Склонность_к_потреблению, Базовое потребление, СпросY0, СпросY1, Фактор_акселерации являются обслуживающими модулями, реализующими функции по вводу входных данных.
Обрабатывающий модуль Уравнения предназначен для расчета национального дохода Y и равновесного национального дохода YE [1,109] по следующим формулам:
Y = cpY0 + A + I (1)
1
YE = (----------) * (I + A) (2),
1-cp
где сp – склонность к потреблению, А – базисное потребление, I – независимый объем инвестиций. Входными данными модуля являются выше приведенные параметры, которые вводятся пользователем. Модуль вызывается из “Ввод_исх_данных”.
Обрабатывающий модуль Расчеты предназначен для расчета темпа изменения отношения «капитал/труд» DX и его равновесного значения Dxe по следующей формуле:
DX = S * FN – N * X (3),
где S – норма потребления, N – прирост предложения труда, FN – производственная функция, X – очередное значение соотношения «капитал/труд». Входными данными модуля являются выше приведенные параметры. Модуль вызывается из “Вход_данные”.
Обрабатывающий модуль Данные_график предназначен для построения простой модели делового цикла. Входными параметрами модуля являются: A – склонность к потреблению, B – базовое потребление, V – фактор акселерации или коэффициент инвестиций, Y0 – значение спроса на конечную продукцию в момент времени (t-2), Y1 – значение спроса в момент времени (t-1), которые вводятся пользователем. Динамика национального дохода рассчитывается по формуле:
Y(t) = (A + V) * Y1 – V * Y0 + B (5).
Модуль вызывается из “Исх_данные”.
Обрабатывающий модуль С_гос_потреблением предназначен для построения модели делового цикла с учетом гос. потребления. Входными параметрами модуля являются входные параметры предыдущего обрабатывающего модуля, а также G(t) – переменная государственного потребления, которая расситывается по формуле:
G(t) = (1 + R) * G(t – 1) (6),
где R – константа, равная темпу роста государственного потребления. Динамика национального дохода с учетом госпотребления рассчитывается по формуле:
Y(t) = (A + V) * Y1 – V * Y0 + B + G(t) (7).
Модуль вызывается из “Исх_данные”.
Обслуживающий модуль Messages обеспечивает информационный интерфейс пакета. Входным параметром модуля является номер сообщения. Модуль должен вывести сообщение соответствующее входному параметру. Сообщения в соответствии с входными параметрами представлены на рисунках Б.11-Б.29 в приложении Б. Модуль вызывается из OpenBook1,2,3.
При внутреннем проектировании модулей были применены принципы нисходящего структурного и модульного проектирования: в каждом модуле выделялись подзадачи, а если задача представлялась обособленной, то выделялась в отдельный модуль. Проектирование осуществлялось в порядке постепенной детализации задач и проработки конкретных операций вплоть до простых логических конструкций.
2.10 Кодирование модулей и информационной базы
Для кодирования модулей пакета был выбран язык программирования Visual Basic for Applications для Excel 97, обеспечивающий широкий спектр возможностей визуального объектно-ориентированного программирования и большие возможности по использованию данных табличного типа.
При кодировании текста модулей пакета использовались принципы структурного программирования: проектирование “сверху вниз”, составление модуля на каждую подзадачу и структурное кодирование с использованием логических структур.
В качестве структуры данных (информационной базы), хранящей информацию рынке товара, был выбран XLS-файл, размещение данных определено в ячейках первого рабочего листа табличного файла.
3 Описание пакета прикладных программ
3.1 Общие сведения
Название программы: kurs в файле kurs.XLS.
Язык программирования: Excel 97 VBA.
Дополнительное программное обеспечение: табличный процессор Excel 97 и помощник системы MicroSoft Office 97.
Размер программы: 343 кБ.
Текст разработанного пакета прикладных программ приведен в приложении А.
3.2 Входные и выходные данные пакета
С точки зрения пользователя планируемое поведение пакета сводится к определению набора функций пакета и детальному определению входных и выходных данных.
Входные данные пакета, их форматы и пределы изменения указаны в пункте 1.3.1. ТЗ. Все данные вводятся пользователем в диалоговом режиме (формы ввода данных - см. приложение Б). При вводе данных осуществляется их контроль на допустимость значений.
Ввод данных возможен из рабочей книги системы Excel. В этой книге данные должны располагаться на первом рабочем листе. В ячейках C4 – C9, должны находиться значений соответствующих параметров.
Ввод данных из файла или вручную является подготовительным этапом перед расчетами и переводит систему в новое состояние. Затем производятся все необходимые вычисления. При желании пользователь может проиллюстрировать расчеты диаграммой.
Ряд входных и вычисленных данных порождает выходные данные и новые состояния системы.
3.3 Характеристики надежности пакета и эффективности работы с
пакетом
В случае аварийного завершения работы с пакетом (например, при отключении электропитания) файлы-таблицы, имеющиеся на диске, сохраняются. При вводе данных вручную рекомендуется периодически сохранять данные в рабочей книге. При аварийном завершении работы пакета не сохраненные данные о спросе и товаре будут утеряны. Сбой в системе в процессе моделирования не приводит к потере данных.
Для эффективной работы пакета достаточно аппаратной платформы на базе Pentium процессора с 16 Mb оперативной памяти и операционной системой Windows 95. Эффективная работа пакета на менее производительной аппаратной платформе не гарантируется. Примерное время загрузки пакета на таком комплексе аппаратных средств составляет около 10 секунд. Время процесса вычислений зависит от задаваемой пользователем точности и начальных значений. При максимально возможной точности (10-5) время расчета составляет 1,5 - 2 сек.
4 Программа и методика испытаний
4.1 Выбор метода тестирования и проектирование тестовых наборов
данных
При выборе способа тестирования пакета по стратегии “белого ящика” невозможно перебрать все комбинации исходных данных и проконтролировать результаты функционирования при каждой из них (например, при построении тестовых наборов по принципу покрытия узлов ветвления пришлось бы перебирать тысячи различных вариантов), поэтому для комплексного тестирования программы были применены методы тестирования по стратегии “черного ящика”, а именно методы эквивалентных разбиений и граничных значений.
Тестовые наборы данных были спроектированы для всех модулей, которые осуществляют обмен информацией с пользователем и которые осуществляют расчеты, то есть через которые происходит занесение данных в МПО. Таблица с классами эквивалентности для системы макроэкономических показателей вцелом представлены в таблице 4.1. Тестовые наборы для каждого модуля, включающие также тестовые наборы, созданные по методу анализа граничных условий, отображены последовательно в таблицах 4.2 - 4. 5.
Таблица 4.1 – Классы эквивалентности
Входные условия |
Правильные классы эквивалентности |
Неправильные классы эквивалентности |
Название файла с данными |
В файле имеются данные в нужном формате |
В файле отсутствуют данные в нужном формате |
Склонность_потреблению |
0<c<1 |
c<=0, c>=1 |
Базисное потребление |
>0 |
<=0 |
Независимый объем инвестиций |
>0 |
<=0 |
Отношение «капитал/труд» |
>0 |
<0 |
Норма накопления |
0<S<1 |
S<=0, S>=1 |
Прирост предложения труда |
0<N<1 |
N<=0, N>=1 |
Критерий сходимости |
0<ep<1 |
ep<=0, ep>=1 |
Фактор акселерации |
>0 |
<0 |
Таблица 4.2 - Тестовые наборы данных для модуля открытия файлов с данными
Название файла с данными |
Примечания |
Ожидаемый результат |
Фактический результат |
ЛИСТ1.XLS |
Файл содержит данные о параметрах нац. дохода |
Открытие файла, считывание данных и закрытие файла |
Файл открыт, данные считаны, файл закрыт |
NATION.XLS |
Файл не содержит данных в нужном формате |
Открытие файла, проверка, закрытие файла, вывод сообщения, о том, что данные не найдены |
Файл открыт, выполнена проверка, файл закрыт, выведено сообщение о том, что данные в нужном формате не найдены |
Таблица 4.3 - Тестовые наборы для модулей ввода данных о национальном доходе
Значения склонность к потреблению |
Базисное потребление |
Примечания |
Ожидаемый результат |
Фактический результат |
2 |
10 |
Недопустимое значение склонности к потреблению |
Сообщение о том, что значение склонности к пот-реблению должно лежать в диапазоне от 0 до 1 |
Выведено сообщение о том, что значение долж-но быть больше 0 но меньше 1 |
нн |
3 |
Недопустимое значение склонности к потреблению |
Сообщение о том, что значение долж-но выражаться чис-ловым значением |
Выведено сообщение о том, что параметр дол-жен быть числовым значением |
0,1 |
нн |
Недопустимое значение базисного потребления |
Сообщение о том, что значение дол-жно быть числом |
Выведено сообщение о том, что параметр дол-жен быть числом |
0,1 |
10 |
Правильные значения |
Запись значений в ячейки рабочего листа и запрос следующих значений |
Данные записаны в ячейки листа и запрашивается следующее значение |
Таблица 4.4 Тестовые наборы данных для модуля определения нацю дохода с учетом инвестиций
Значение нормы накопления |
Значение критерия сходимости |
Примечания |
Ожидаемый результат |
Фактический результат |
-0,1 |
0,01 |
Неправильное значение нормы накопления |
Сообщение о том, что норма должна быть больше 0 |
Выведено сообщение о том, что норма должна быть больше 0 |
0,1 |
0,01 |
Правильные значения |
Продолжение расчетов |
Расчеты продолжены |
0,3 |
0 |
Неверное значение критерия сходимости |
Сообщение о том, что критерий сходимости должен быть больше 0 |
Выведено сообщение о том, что критерий сходимости должен быть больше 0 |
Таблица 4.5 - Тестовые наборы данных для модуля построения модели делового цикла
Значение фактора акселерации |
Значение базового потребления |
Примечания |
Ожидаемый результат |
Фактический результат |
-1 |
10 |
Недопустимое значение фактора акселерации |
Сообщение о том, что значение фактора аксе-лерации должно лежать в диапа-зоне от 0 до 1 |
Выведено сообщение о том, что значение дол-жно быть больше 0 но меньше 1 |
нн |
3 |
Недопустимое значение фактора акселерации |
Сообщение о том, что значение долж-но выражаться числовым значением |
Выведено сообщение о том, что параметр дол-жен быть числовым значением |
0,1 |
нн |
Недопустимое значение базисного потребления |
Сообщение о том, что значение дол-жно быть числом |
Выведено сообщение о том, что параметр дол-жен быть числом |
0,1 |
10 |
Правильные значения |
Запись значений в ячейки рабочего листа и запрос следующих значений |
Данные записаны в ячейки листа и запрашивается следующее значение |
Для проверки правильности расчетов макроэкономических показателей используются данные из [1, стр. 109, 115, 119]. Исходные данные и результаты работы пакета приведены в приложении В.
Тестирование модулей пакета по стратегии “черного ящика” показало, что программу можно считать отлаженной, то есть функционирующей с требующимися характеристиками в заданной области изменения входных данных.
4.2 Сборка пакета при тестировании
Сборка пакета прикладных программ при тестировании осуществлялась пошаговым методом сверху-вниз. Такой метод сборки предполагает последовательное подключение к набору уже оттестированных модулей очередного тестируемого модуля. Для наглядного представления порядка сборки в процессе тестирования ППП можно обратиться к рисунку 2.3. Изображенный пакет представляет иерархическую древовидную структуру, сборка в процессе тестирования осуществлялась в последовательности:
а) спроектировано основное меню, разработаны и подключены модули “Выход”, “Ввод_исх_данных”, “Вход_данные”, “Исх_данные”. В качестве других вызываемых модулей разработаны заглушки
б) спроектирован и разработан модуль “Диагр1”, “Диагр2”, “Диагр3”, “Диагр4”
в) спроектирован, разработан и подключен модуль “Просмотр”
г) спроектированы и разработаны модули SaveToBook1,2,3 и OpenBook1,2,3. Модули были подключены к основному меню, а к ним подключены вызываемые. Проведено тестирование
е) разработаны и подключены обрабатывающие и интерфейсные модули Склонность_потреблению, Базовое потребление, Незав_объем_инв. Модули протестированы в составе пакета
ж) спроектированы и подключены модули Норма_накопления, Прирост_предложения, Склонность_к_потреблению, Отнош_кап/труд, Норма_накоп-ления. Модули протестированы в составе пакета
з) спроектированы, разработаны и подключены обслуживающие модули Фактор_акселерации, Спрос_Y1, Спрос_Y0
и) разработан справочный модуль myhelp.
В ходе сборки пакета на каждом этапе проводилось тщательное тестирование модулей. В результате пошаговой сборки пакета ошибки в интерфейсах между модулями обнаруживались и устранялись на ранних стадиях проектирования и кодирования пакета. Тестирование пакета в целом после завершения сборки показало, что пакет можно считать работоспособным и готовым к применению.
5 Описание применения
5.1 Назначение пакета
Пакет предназначен для расчета макроэкономических показателей. Он позволяет рассчитать равновесный национальный доход и построить модель делового цикла. Все расчеты иллюстрируются графиками.
5.2 Условия применения
Программа работает на стандартном комплексе технических средств из состава персональных компьютеров семейства IBM Pentium. Минимальный объем памяти на диске - 800 Kb. Видеоадаптер VGA и выше.
Программа может быть запущена через табличный процессор Microsoft Excel 97. Операционная система - Windows 95/98.
5.3 Инструкция по применению
Для запуска пакета kursl следует:
а) запустить табличный процессор Excel.
б) открыть через меню “Файл” главный файл пакета kurs.xls. Вам будет предъявлен экран с главным меню пакета.
Общие принципы работы с программой включают в себя умение:
а) вводить данные через диалог
б) запоминать данные в других рабочих книгах и открывать рабочие книги с данными для считывания из них информации
в) просматривать результаты расчетов.
Подробное описание возможностей пользователя при работе с пакетом приведено в пункте 1.3.1. ТЗ.
Поскольку пакет реализует проблемно-ориентированный способ управления (см. пункт 2.5) и используется в режиме диалогового сопровождения, управляющая информация вводится постепенно в процессе работы пакета.
Меню системы представлено на рисунках Б.1-Б.3 в приложении Б. Первая группа команд предназначена для ввода данных вручную или из файла - рабочей книги.
Пользователю при работе пакета не нужно знать порядок выполняемых действий, так как пакет сам в диалоговом режиме запрашивает пользователя о данных, которые ему необходимы в конкретный момент расчета.
Ввод данных в пакет осуществляется через простые и доступные формы ввода (см. приложение Б, рисунки Б.6-Б.10), снабженные комментариями о вводимых величинах и их размерностях.
Все предупреждающие и информирующие сообщения системы моделирования представлены на рисунках Б.11-Б.40 в приложении Б.
Для выхода из пакета следует в главном меню выбрать пункт “Выход”, после чего пакет завершит работу.
Заключение
В результате создания курсового проекта были изучены принципы построения программ-приложений в среде табличного процессора Excel 97, был спроектирован проблемно-ориентированный пакет прикладных программ, реализующий модель макроэкономических показателей. К пояснительной записке приложен текст модулей разработанного пакета прикладных программ.
Созданный пакет был протестирован с использованием методов тестирования по стратегии “черного ящика” (методы эквивалентных разбиений и граничных условий). Результаты тестирования показали правильную и устойчивую работу пакета при допустимых (правильных) и неправильных входных данных.
Список литературы
1. Кубонива М. и др. Математическая экономика на персональном компьютере. Пер. с яп.-М.:Финансы и статистика, 1991.
2. Экономика, разработка и использование программного обеспечения ЭВМ: Учебник. В.А. Благодатских, М.А. Енгибарян, Е.В. Ковалевская и др. – М.: Финансы и статистика, 1995.
3. К. Макконнелл, С. Брю. Экономикс. В 2-х т.: Т. 1: Пер. с англ. – Таллин:”Римол”, 1993.
4. Прокофьев О.В. Создание приложений для обработки табличных данных в экономических задачах. – Пенза: Изд-во ПГУ, 1998.
Для подготовки данной применялись материалы сети Интернет из общего доступа