Помощь в написании студенческих работ
Антистрессовый сервис

Проектная часть. 
Разработка программного продукта для оценки параметров схем пенсионного обеспечения

РефератПомощь в написанииУзнать стоимостьмоей работы

Объектно-ориентированное программирование (ООП) — парадигма программирования, при которой программа рассматривается как набор дискретных объектов, содержащих, в свою очередь, наборы структур данных и процедур, взаимодействующих с другими объектами. В ходе прогнозирования в секции «Результаты вычислений» отрисовывается график «Вероятность разорения НПФ», под графиком показывается состояние… Читать ещё >

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

Алгоритмизация методов решения

Имитационная модель вычисления вероятности разорения.

Проектная часть. Разработка программного продукта для оценки параметров схем пенсионного обеспечения.
Проектная часть. Разработка программного продукта для оценки параметров схем пенсионного обеспечения.

Алгоритм вычисления величины капитала и оценки вероятности разорения представлен на Рисунке 2.1.

Алгоритм вычисления вероятности разорения.

Рисунок 2.1. Алгоритм вычисления вероятности разорения.

Моделирование экономических факторов.

Нормы инвестиционной доходности.

Алгоритм нахождения ,t ? [0, tw ].

Рисунок 2.3. Алгоритм нахождения, t? [0, tw ].

Нормы инфляции.

Нормы инфляции.

Алгоритм нахождения t ? [0, tw ].

Рисунок 2.2. Алгоритм нахождения t? [0, tw ].

Моделирование демографических факторов.

Моделирование демографических факторов.

Алгоритм нахождения и для одного испытания, t ? [0, tw ].
Проектная часть. Разработка программного продукта для оценки параметров схем пенсионного обеспечения.
Проектная часть. Разработка программного продукта для оценки параметров схем пенсионного обеспечения.

Рисунок 2.4. Алгоритм нахождения и для одного испытания, t? [0, tw ].

Оценка параметра пенсионной схемы.

Оценка параметра пенсионной схемы.

Алгоритм оценки пенсионной выплаты по заданному уровню риска НПФ.

Рисунок 2.5. Алгоритм оценки пенсионной выплаты по заданному уровню риска НПФ.

Программная реализация

Выбор подхода к разработке программного обеспечения.

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

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

Преимущества процедурного подхода:

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

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

Преимущества ООП подхода:

  • · Структурированность полученного кода.
  • · Возможность использовать разработанные раннее классы с помощью механизмов наследования.
  • · Легкая расширяемость приложений

В дипломной работе был выбран процедурный подход.

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

При реализации данного программного продукта приходилось решать два типа задач:

  • · Интерфейсные (при реализации графической оболочки);
  • · Вычислительные (при реализации алгоритмов).

В качестве языка программирования, использованного для реализации предложенных методов, был использован язык C#. Его основные особенности:

  • · Отсутствие необходимости работы с указателями (как правило)
  • · Автоматическое управление памятью
  • · Наличие встроенных синтаксических конструкций для работы с перечислениями, структурами и свойствами классов
  • · Возможность перегружать операторы, унаследованные от С++ (при этом ликвидирована значительная часть возникавших сложностей)
  • · Предусмотрена полная поддержка использования программных интерфейсов

Еще один немаловажный факт, обусловивший выбор данного языка: C# - основной язык платформы .NET.

Кроме того, в среде разработки Visual Studio .NET реализована удобная среда визуальной разработки приложений на языке C#.

Описание структуры данных.

В качестве входных данных используется информация по стоимостям паев ПИФов акций и облигаций: первая колонка — акции, вторая колонка — облигации (Рисунок 2.7). Формат файла экспорта EXСEL.

Структура входных данных по стоимостям паев.

Рисунок 2.7. Структура входных данных по стоимостям паев.

Также входными данными являются значений ИПЦ и таблица смертности (Рисунок 2.8, 2.9). Формат файлов экспорта EXСEL.

Структура входных данных по значениям ИПЦ.

Рисунок 2.8. Структура входных данных по значениям ИПЦ.

Структура входных данных по таблице смертности.

Рисунок 2.9. Структура входных данных по таблице смертности.

Выходными данными является таблица со следующими значениями:

  • · Результирующее значение взнос/пенсия;
  • · вероятность разорения для подхода «100минус возраст»;
  • · вероятность разорения для подхода Малкиеля;
  • · возраст вступления в схему;
  • · возраст выхода на пенсию;
  • · длина периода выплат взносов;
  • · пенсионная схема DB/DC;
  • · входные данные пенсия/взнос;
  • · период статистических данных.
Структура выходных данных.

Рисунок 2.10. Структура выходных данных.

Описание структуры программного продукта.

Структура программы формируется из набора форм со встроенными в них элементами программы и дополнительными подключаемыми модулями.

Форма MainForm представляет собой главное окно программы, в котором выполняются все поставленные задачи. На главной форме также возможно выполнить вызов диалоговых форм процедуры Form_Intreval_DC и Form_Intreval_DВ для определения интервала значений пенсий и взноса соответсвенно, FormModelParameter для определения парметров модели.

Программный продукт написан в среде Microsoft Visual Studio 2010 на языке программирования C# с использованием стандартных компонент.

Основные функции и процедуры программы:

  • · Load_cost_pai () — загрузка данных по стоимостям паев;
  • · Load_monthly_yield () — загрузка данных по месячным доходностям ПИФов;
  • · Get_month_yield (Dictionary list_cpi, Dictionary list_cost_pai) — получние месячных доходостей по стоимостям паев, тип возвращаемого значения Dictionary ;
  • · Load_monthly_cpi () — загрузка данных по месячным ИПЦ;
  • · Load_mortality_table () — загрузка данных по Таблице Смертности
  • · Get_year_yield (Dictionary list_month_yield) — получение годовой доходности, тип возвращаемого значения double;
  • · Get_norms_inflation (Dictionary list_cpi) — получение нормы инфляции, тип возвращаемого значения double;
  • · Get_Mortality () — получение количества живых и умерших;
  • · Get_Risk (double c, double b, int period, int strategy, int k, int scheme) — получение значения капитала и вероятности разорения;
  • · Get_model_parameter () — ввод параметров модели;
  • · Get_parameter_contract () — ввод параметров договора;
  • · Get_interval (int scheme) — получение интервала значений взносов/пенсий;
  • · Prepare_Input_data (int scheme) — запускает таймеры;
  • · Imitation_100MA_Tick () — запуск таймера для подсчетов капитала для подхода «100 минус возраст»;
  • · Imitation_Malk_Tick () — запуск таймера для подсчетов капитала для подхода Малкиеля;
  • · Get_result_parameter () — получение результата (значение взноса / пенсии);
  • · Save_result () — сохранение результата;
  • · Close () — выход из программы.

При нажатии кнопки «Загрузка» во вкладке «Загрузка статистических данных» вызываются соответствующие функции:

  • · Load_cost_pai () — загрузка стоимости паев ПИФов при выборе загрузки «Стоимость паев», затем вызывается функция Get_month_yield (), на вход подается список стоимостей паев, на выходе — список ежемесячных доходностей;
  • · Load_monthly_yield () — загрузка ежемесячных доходностей ПИФов при выборе загрузки «Ежемесячные доходности»;
  • · Load_monthly_cpi () — загрузка ежемесячных значений ИПЦ;
  • · Load_mortality_table() — загрузка таблицы смертности.

При нажатии кнопки «Прогноз» вызываются функции Get_parameter_contract() — получение входных данных по договору; Get_interval (int scheme) — в зависимости от схемы (входного параметра) задает интервал; Get_model_parameter () — получение параметров модели.

Затем вызываются функции Imitation_100MA_Tick() и Imitation_Malk_Tick (), запускающие таймеры для расчетов, в которых вызывается функция Get_Risk() входными параметрами являются взнос, выплаты, период прогнозирования, стратегия и схемы, на выходе получаем значения капитала и вероятности разорения. Функции Get_norms_inflation (), Get_year_yield () и Get_Mortality () вызываются внутри Get_Risk(), входными параметрами являются ежемесячные значения ИПЦ и доходностей соответственно.

При нажатии кнопки «ок» во вкладке «Договор страхования» вызывается функция Get_result_parameter () для получения и выводы результата.

При нажатии кнопки «Сохранить» во вкладке «Договор страхования» вызывается функция сохранения Save_result ().

При нажатии кнопки «Выход» во вкладке «Договор страхования» вызывается функция Close () и происходит завершение программы.

Описание интерфейса пользователя.

1. Запуск программы.

После запуска программы перед пользователем появится главное пользовательское окно с двумя вкладками «Статистические данные».

Вкладка «Статистические данные».

Рисунок 2.12. Вкладка «Статистические данные».

Вкладка «Договор страхования».

Рис. 2.13 Вкладка «Договор страхования»

  • 2. Входные данные «Статистические данные».
  • 2.1. Загрузка ежемесячных доходностей.

В вкладке «Статистические данные», при нажатии кнопки «Загрузить» в соответствующих секциях можно загрузить статистические данные.

Загруженные статистические данные.

Рис. 2.14 Загруженные статистические данные.

Если все статистические данные загружены, следует перейти во вкладку «Договор страхования» (Рис. 2.12).

3. Прогнозирование.

В вкладке «Договор страхования» (Рис. 2.13) в секции «Параметры договора» нужно ввести соответствующие данные, далее нажать кнопку «Прогноз».

В ходе прогнозирования в секции «Результаты вычислений» отрисовывается график «Вероятность разорения НПФ», под графиком показывается состояние выполнения расчетов, заполняется таблица результатов, показывается ход времени (Рис. 2.15).

Вычисление результатов.

Рис. 2.15 Вычисление результатов.

При нажатии кнопки «Пауза» программа приостанавливает выполнение расчетов.

При нажатии кнопки «Продолжить» программа продолжает выполнение расчетов.

При нажатии кнопки «Стоп» программа останавливает расчеты и пользователь может изменить первоначальные настройки и начать новое прогнозирование.

Если программа закончила выполнение расчетов, то под графиком появится сообщение «Результаты готовы».

5. Результат.

Если в секции «Результат» есть надпись «Промежуточный результат», то после ввода вероятности разорения и нажатии кнопки «ок» появится предварительный результат, по полученным расчетам (Рис. 2.16).

Промежуточный результат.

Рисунок. 2.16 Промежуточный результат.

Если в секции «Результат» есть надпись «Результаты готовы», то после ввода вероятности разорения и нажатии кнопки «ок» появится окончательный результат, по полученным расчетам (Рис. 2.17).

Готовые результаты.

Рисунок. 2.17 Готовые результаты.

6. Сохранение результатов.

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

7. Параметры модели

Для того чтобы изменить параметры модели, нужно нажать кнопку «Параметры модели». После чего появится новое окно (Рис. 2.18), в котором можно изменить параметры модели. После чего нужно нажать кнопку «ОК» или «Отмена».

.

.

Рисунок.2.18 Окно «Параметры модели».

7. Помощь.

Нужно нажать кнопку «Помощь». После чего появится новое окно (Рис. 2.19). После чего нужно нажать кнопку «ОК».

Окно «Помощь».

Рисунок.2.19 Окно «Помощь».

8. О программе.

Для того чтобы посмотреть сведения о программе, нужно нажать кнопку «О программе». После чего появится новое окно (Рис. 2.20). После чего нужно нажать кнопку «ОК».

Окно «О программе».

Рисунок.2.20 Окно «О программе».

9. Выход из программы.

Для того чтобы завершить работу программы нужно нажать кнопку «Выход».

Показать весь текст
Заполнить форму текущей работой