Обслуживающие модули 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 - Тестовые наборы данных для модуля открытия файлов с данными