Модели пенсионной схемы

Описание математической модели открытого пенсионного фонда. Смертность и размер когорт. Проектирование программного обеспечения для численного моделирования открытого пенсионного фонда с помощью Rational Rose. Себестоимость программного продукта.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 10.11.2012
Размер файла 1,1 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Разность равна

Можно покрыть этот дефицит в течение нескольких лет; однако самый простой путь состоит во включении его во взнос уже года (т.е. немедленном покрытии). Для последующих лет также вычислим «дефициты» - разности между накопленной актуарной ответственностью, соответствующей unit-credit методу, и фактическими фондами, и включим их во взносы того же года:

…,

, (3.13)

.

Кроме указанных, необходимо отметить два «крайних» метода финансирования: начальное финансирование (initial funding), при котором вся необходимая сумма для обеспечения пенсии работника вносится в момент его вступления в схему (т.е. в возрасте ) и терминальное финансирование (terminal funding), когда эта сумма вносится в момент выхода на пенсию (в возрасте ).

Если и - соответственно нормальная цена и накопленная ответственность одного участника при том или ином индивидуальном методе, то суммарная нормальная цена и накопленная ответственность получаются, как сказано выше, суммированием по всем участникам:

Полезно сравнить различные методы финансирования на численном примере. Примем за начальный момент времени () начало 2001 года. Ниже приведены результаты расчетов, выполненных для стационарной популяции членов некоторого пенсионного фонда численностью 10 000.

Численность поколений рассчитана по таблице продолжительности жизни населения России за 1995 г. (мужчины и женщины), построенной по данным Госкомстата. Указанные данные содержали информацию о численности возрастных групп в возрасте до 80 лет, поэтому была сделана экстраполяция с помощью закона Гомпертца до возраста 100 лет. Как сказано выше, все расчеты велись в рублях 2001 года; ставка безынфляционной доходности инвестиций годовых. Значение коэффициента ежегодного роста заработной платы за счет повышения производительности труда выберем 1,025 (рост всех зарплат на 2,5% в год). Таким образом, годовая заработная плата индивидуума возраста , вступившего в схему в момент 0,

,

где - функция, показывающая распределение заработной платы по возрастам на начальный момент. Распределение заработной платы по возрастам в России и в других странах анализировалось Баскаковым и Баскаковой [6]; в данной работе взята более или менее типичная кривая, показанная на рисунке 1. Средняя месячная зарплата по популяции на начальный момент 2894,64 руб., что примерно соответствует данным по Москве на начало 2001 г.

Расчеты производились для поколения (когорты) участников, вступающих в момент 0 (начало 2001 года). Возраст вступления в схему , пенсионный возраст лет. Правило вычисления пенсии: правило конечной зарплаты с нормой (коэффициентом) замещения , т.е.

. (3.14)

Например, месячная пенсия выходящих на пенсию в конце 2001 года равна 1070,30 руб. Период капитализации - один год, т.е. месячные зарплаты и пенсии получаются простым делением годовых на 12. На рисунке 2 показаны графики доли покупки пенсии в виде непрерывных кривых. Видно, в частности, что EAN методы являются методами с «замедлением». На рисунке 3 показаны накопленные фактические резервы для когорты участников по годам. Можно сравнить темпы накопления для различных методов [3].

Рисунок 3.1 - Среднемесячная заработная плата (руб. 2001 г.) в зависимости от стажа , лет: начальная возрастная структура (функция ), с ежегодным ростом на 2,5%

Из рисунка 3.3 видно, что EAN методы обеспечивают наиболее быстрый рост пенсионных накоплений. Однако, с другой стороны, эти методы определенно меньше отвечают интересам работодателей (спонсоров), а именно работодатели часто определяют дизайн пенсионных планов. Не следует забывать, например, о том, что многие работодатели стремятся так или иначе использовать приобретение пенсионных прав для стимуляции работников. Действительно, руководитель компании вряд ли посчитает справедливым и нужным вносить одинаковые отчисления за молодого работника, проработавшего 2 года, и работника, проработавшего уже 20 лет. По многим причинам прогрессивный рост отчислений кажется более предпочтительным для работодателя. Эти соображения отчасти объясняют популярность unit-сredit метода, занимающего (рис. 3.3) «среднее» положение по темпам роста фондов и при этом дающего прогрессивное увеличение отчислений. Этот метод, что немаловажно, прост для расчетов, а кроме того отвечает представлениям о справедливости: каждый проработанный год позволяет «заработать» или «купить» одну и ту же долю будущей пенсии (рис. 3.2).

Рисунок 3.2 - Функция «покупки пенсии» : А - unit-сredit метод (9); В - EAN метод с постоянными взносами (7); С - EAN метод с постоянным процентом от заработной платы (8); D - экспоненциальный с ускорением (12); Е - линейный (11); F - метод (10)

Accrued benefit метод (13) хорош тогда, например, когда есть трудности в прогнозировании заработной платы и будущих пенсий, однако темпы накоплений для него (рис. 3.3) невысоки, т.е. он имеет тенденцию «переносить» взносы на более позднюю часть карьеры. С другой стороны, в условиях неопределенности экономической ситуации есть вероятность обесценивания пенсионных накоплений, поэтому может оказаться разумным накапливать их медленнее. В условиях нестабильной экономической ситуации просто невозможно охватить все соображения, которые могут играть свою роль при выборе метода финансирования пенсионной схемы.

Рисунок 3.3 - Фонд пенсионных накоплений поколения работников (тыс. руб. 2001 г.) в зависимости от стажа (лет): А - unit-сredit метод (9); В - EAN метод с постоянными взносами (7); С - EAN метод с постоянным процентом от заработной платы (8); D - экспоненциальный с ускорением (12); Е - линейный (11); F - accrued benefit без проектирования (13)

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

4. ОПИСАНИЕ ПРОГРАММНОГО ПРОДУКТА и результатов моделирования пенсионного фонда

4.1 Проектирование программного обеспечения для численного моделирования открытого пенсионного фонда с помощью Rational Rose

Rational Rose - предназначено для автоматизации этапов анализа и проектирования ПО, а также для генерации кодов на различных языках и выпуска проектной документации. Rational Rose использует синтез-методологию объектно-ориентированного анализа и проектирования. Универсальная нотация для моделирования объектов (UML - Unified Modeling Language) претендует на роль стандарта в области объектно-ориентированного анализа и проектирования. Rational Rose - мощное CASE-средство для проектирования программных систем любой сложности. Любая задача программируется при помощи определенных диаграмм.

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

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

б) альтернативный: сбой в работе программы - выводится сообщение о сбое. Сбой при анализе данных - выводится сообщение о некорректности данных.

Рисунок 4.1 - Диаграмма способов использования

Диаграммы деятельности. Диаграммы вариантов использования отражают набор функций системы, а не последовательность их выполнения. Чтобы представить более полно процесс взаимодействия пользователей с системой применяются диаграммы деятельностей (activity diagrams), которые отражают взаимосвязь и порядок выполнения функций системы (рис. 4.2 - 4.4).

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

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

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

Рисунок 4.2 - Диаграмма «Загрузка и расчет данных»

Рисунок 4.3 - Диаграмма «Анализ полученных результатов»

Рисунок 4.4 - Диаграмма «Формирование отчетов»

Диаграммы классов. Общая диаграмма классов приведена на рисунке 4.5, а описание всех классов - на рисунке 4.6.

Рисунок 4.5 - Общая диаграмма классов

Рисунок 4.6 - Диаграмма классов

4.2 Разработка модели программных средств

Для разработки программных модулей можно воспользоваться несколькими средами разработки: A - C#, B - Delphi, C - MatLab.

Проанализируем их с помощью метода вариантных сетей. Сравнительный анализ представлен в таблице 4.1.

Таблица 4.1

Критерии сравнения

Коэффициент весомости bi

Абсолютное значение показателей

Относительное значение показателей

Название

Единица измерения

A

B

C

A

B

C

kij

bi*kij

kij

bi*kij

kij

bi*kij

1

Требования к ресурсам

Мб

0.15

170

280

450

1

0.09

0.6

0.084

0.6

0.096

2

Дружественность к пользователю

Балл

0.09

5

3

4

0.85

0.102

0.73

0.078

1

0.09

3

Цена

Балл

0.12

3

4

5

0.6

0.09

0.8

0.12

0.55

0.06

4

Затраты на адаптацию к данным пользователя

Балл

0.14

4

4

4

1

0.16

0.6

0.074

0.6

0.084

5

БД

Балл

0.17

5

3

4

1

0.14

0.8

0.128

0.6

0.09

6

Соответствия современным технологиям

Балл

0.14

5

4

4

1

0.15

0.6

0.09

1

0.15

7

Изученность пользователем

Балл

0.19

5

3

4

1

0.16

0.8

0.129

1

0.14

Итого

Балл

1

0.892

0.703

0.71

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

Расчетные формулы:

(4.1)

(4.2)

(4.3)

(4.4)

Исходя из формул (4.3) и (4.4), наш выбор: A - C#. Разработка программного продукта с использованием среды разработки C# предполагает использование объектно-ориентированного подхода, позволяющего достичь простоты структуры и управляемости очень крупных программных систем.

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

Главное окно программы представлено на рисунке 4.7.

Рисунок 4.7 - Главное окно программы

При нажатии кнопки «Загрузить (рассчитать)», загружается файл исходных данных (рис. 4.8). В случае некорректно введенного файла появляется сообщение об ошибке (рис. 4.9). При моделировании пенсионной схемы можно изменить значения коэффициентов в графах «Индексация» и «Ставка инвестиционной доходности» (рис. 4.10). На рисунке 4.11 представлен результат расчета функции накопления для участника пенсионной схемы по каждому из методов финансирования, с помощью которого можно проанализировать, какой из методов позволяет получить лучший результат.

Рисунок 4.8 - Загрузка и расчет исходных данных

Рисунок 4.9 - Сообщение об ошибке

Рост средств пенсионного фонда представлен на рисунке 4.12. С помощью данного графика можно проанализировать, какой из методов финансирования позволяет интенсивнее накопить средства пенсионного фонда. На рисунке 4.13 представлен график пенсионных выплат. Анализируя данный график, получаем представление о размере пенсионных выплат при различных методах финансирования пенсионной схемы.

Рисунок 4.10 - Введение параметров

Рисунок 4.11 - График функции накопления

Рисунок 4.12 - График накопленного фонда

Рисунок 4.13 - График пенсионных выплат

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

Рассмотрена и описана система проектирования «Rational Rose», являющаяся мощным современным средством организации процесса проектирования программного обеспечения.

5. БЕЗОПАСНОСТЬ ЖИЗНЕДЕЯТЕЛЬНОСТИ

5.1 Анализ и выявление вредных и опасных факторов

1. Определение опасных и вредных факторов при эксплуатации программного продукта, связанной с использованием ПК.

2. Разработка мероприятий по уменьшению влияния опасных и вредных факторов на пользователя ПК.

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

Для обслуживания данной системы необходимо:

1 - рабочее место;

2 - помещение для разработчика.

5.1.1 Анализ помещения для разработчика. Комната разработчиков представляет собой помещение площадью 30м2 (65). В ней находятся: стол, стул, ПЭВМ.

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

5.2 Внедрение мероприятий по снижению уровней влияния вредных и опасных факторов

Рассмотрим основные требования к помещениям, где установлены компьютеры.

Освещённость. В помещении, где эксплуатируется ЭВМ, освещение, как правило, смешанное. Если естественного освещения недостаточно, дополнительно используется искусственное. Для освещения помещений с мониторами и ЭВМ следует применять газоразрядные лампы и лампы накаливания с зеркальными решетками, укомплектованные высокочастотными пускорегулирующими аппаратами.

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

- достаточная освещенность на рабочих местах, которая должна соответствовать характеру зрительной работы;

- равномерность освещения;

- отсутствие резких теней на рабочих поверхностях;

- в поле зрения должны отсутствовать прямой и отраженный блеск;

- величина освещенности должна быть постоянной во времени;

- оптимальная направленность светового потока;

- выбор необходимого спектрального состава света;

- все элементы осветительных установок должны быть простыми и удобными.

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

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

Таблица 5.1 - Параметры микроклимата

Период года

Параметры микроклимата

Величина

Холодный и переходной

Температура воздуха в помещении

Относительная влажность

Скорость движения воздуха

22-240С

40-60%

до 0.1 м/с

Теплый

Температура воздуха в помещении

Относительная влажность

Скорость движения воздуха

23-250С

40-60%

0.1-0.2м/с

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

Нормирование параметров микроклимата осуществляется по ГОСТ 12.1.005-76, который устанавливает оптимальные и допустимые метеорологические условия для рабочей зоны помещения.

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

Задачи вентиляции: обеспечение чистоты воздуха и заданных метеорологических условий в производственных помещениях.

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

Уровень шума в помещении не должен превышать 65 дБА. Для снижения уровня шума стены и потолок помещения, где установлены компьютеры, должны быть облицованы звукопоглощающими материалами.

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

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

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

Максимальный уровень рентгеновского излучения на рабочем месте обычно не превышает 10 мкбэр/ч, а интенсивность ультрафиолетового и инфракрасного излучений от экрана монитора лежит в пределах 10-100 млВт/м2.

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

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

6. ЭКОНОМИЧЕСКАЯ ЧАСТЬ

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

Предлагаемое изделие - это программа для практического использования в процессе формирования открытого коммерческого пенсионного фонда. Основным преимуществом данного программного продукта является то, что моделирование пенсионного фонда является оптимальным по затратам времени расчетов на ЭВМ.

ПП разработан в среде C#. Для функционирования ПП необходима ПЭВМ, удовлетворяющая следующим условиям: процессор 300 МНr; 128 Mb ОП; HDD - 20 Mb; дисковод. Данная конфигурация предложена из соображений приемлемого времени выполнения. ПП, состоит из файлов с начальными данными и программных модулей. Программа проста в использовании, удобна, имеет дружественный пользовательский интерфейс.

6.2 Оценка рынка сбыта

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

Сегментирование должно проходить по следующим правилам:

1) выявление основных принципов и факторов сегментирования для рассматриваемого изделия;

2) сегментирование рынка: определение состава групп потребителей, деление рынка на сегменты, описание профиля каждого сегмента, расчеты полной потребности и общей годовой емкости сегментов и всего рынка;

3) оформление результатов в виде таблиц;

4) анализ информации о сегментах, выбор сегментов для дальнейшего анализа;

5) позиционирование товара в выбранных сегментах, определение целевой емкости.

Рассмотрим рынок сбыта, разделив его на отдельные сегменты, и выделив группу потребителей, нуждающихся в нашей продукции [9].

Определение полной потребности в товаре данного вида:

, (6.1)

где - количество сегментов рынка;

- годовая емкость -го сегмента (коп/год).

Для комплектующих изделий годовая емкость -го сегмента определяется по формуле:

, (6.2)

где - количество предприятий;

- средняя годовая программа одного предприятия;

- количество копий ПП.

Потребителями являются государственный пенсионный фонд и негосударственные пенсионные фонды стран Украины и России. На территории Украины таких фондов 3, а в России - 7. В таблице 6.1 представлены результаты сегментирования рынка сбыта.

Таблица 6.1 - Результаты сегментирования рынка сбыта

Страны

Количество предприятий,

Средняя годовая программа,

Комплектность поставки,

Годовая ёмкость,

Украина

3

1

1

3

Россия

7

1

1

7

Итого

10

Таким образом, целевая емкость производства товара данного вида составляет 10 коп/год. Возможно увеличение производства изделия до 30 коп/год за счет заключения договоров с другими странами. Целевая емкость принимается равной годовой емкости.

6.3 Расчет себестоимости и цены программного продукта

Для ведения всего проекта в целом и руководства ходом работ необходима должность руководителя. Для создания оптимальных алгоритмов программного пакета необходима должность разработчика алгоритмов. Для проектирования подсистемы и ее последующей наладки и введения в эксплуатацию необходимо участие программиста. Продолжительность рабочего месяца в среднем считается 22 дня. Состав исполнителей приведен в таблице 6.2. Рассчитаем продолжительность разработки по видам работ. Результаты расчетов содержатся в таблице 6.3.

Таблица 6.2 - Состав исполнителей работы

Должности

Должностные оклады, грн.

Месячные

Дневные

Руководитель

2200

100

Разработчик алгоритмов

1760

80

Программист

1980

90

Таблица 6.3 - Расчет трудоемкости работ

Вид работ

Трудоёмкость, %

Трудоёмкость, чел*день

Исполнители

Длительность в днях

Техническое задание (ТЗ)

Постановка задачи

10

7

0.5

1

0.5

Выбор методов решения задачи (предварительно)

13

4

1,2

2

Обоснование необходимости разработки программы

14

0.5

1

0.5

Маркетинговые исследования рынка

11

3

1

3

Разработка бизнес-плана

16

2

1

2

Разработка перечня и графика хода работ

11

1

1

1

Разработка сметной калькуляции

6

0.5

1

0.5

Определение требований к программе и техническим средствам

4

4

1,3

2

Разработка ТЗ

11

3

1

3

Согласование и утверждение ТЗ

7

4.5

1,2,3

1.5

Эскизный проект (ЭП)

Уточнение методов решения задачи

25

11

2

1,2

1

Определение технических средств

14

4.5

1,2,3

1.5

Разработка структуры входных и выходных данных

20

4

2,3

2

Разработка алгоритма решения задачи

25

3

2

3

Уточнение требований к программе

12

9

1,2,3

3

Разработка пояснительной записки ЭП

19

3.5

1

3.5

Согласование и утверждение

9

3

1,2,3

1

Технический проект

Разработка структуры программы

30

14

4

2,3

2

Разработка программы

21

5

3

5

Отладка программы

11

3

3

3

Разработка программной документации (ПД)

16

12

2,3

6

Разработка технологического процесса решения задачи

15

10

2

5

Испытание программы (предварительно)

9

1

3

1

Корректировка программы и ПД

8

8

2,3

4

Уточнённый расчет затрат и ожидаемого экономического эффекта

6

1

1

1

Внедрение

Подготовка объекта к внедрению задачи

35

21

9

1,2,3

3

Наладка и испытание задачи

14

2

3

2

Опытная эксплуатация задачи

17

8

2,3

4

Дополнительная отладка, корректировка

19

6

2,3

3

Испытание и сдача задачи в эксплуатацию

18

3

1,2,3

1

Расчёт фактического экономического эффекта

11

1

1

1

Итого

100

81

Примечания:

Исполнитель 1 - руководитель

Исполнитель 2 - разработчик алгоритмов

Исполнитель 3 - программист

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

(6.3)

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

Таблица 6.4 - Материалы и комплектующие

Материалы

Кол-во

Цена, грн

Сумма, грн.

Назначение

Диски DVD-R

10 шт.

3.50

35

Хранение резервных копий, перенос программы

Бумага

500 л.

30.00

30

Документация, распечатки

Картридж для HP DeskJet 690C

1 шт.

70

70

Различная печать

Сканирование материала

70 л.

0.50

35

Использование готового материала в работе

Итого

170

Определим затраченное машинное время: будем считать, что руководитель пользуется компьютером в среднем 3 часа за рабочий день, разработчик алгоритмов 4 часа в день, а программист, следуя нормам охраны труда, в среднем 5 часов. Получим

(6.4)

Стоимость часа машинного времени будем считать равной .

(6.5)

Накладные расходы примем в размере 20% от суммы основной заработной платы. Расчет себестоимости и договорной цены приводим в таблице 6.5.

Таблица 6.5 - Расчет себестоимости и цены ПП

п/п

Статьи

Затраты,

грн.

1

Основная заработная плата

10790

2

Дополнительная заработная плата (15 % от ОЗП)

1618.5

3

Начисления на заработную плату

Пенсионный фонд (33.2 % от ОЗП)

3582.28

Фонд страхования по временной нетрудоспоcобности (1.5 % от ОЗП)

161.85

Фонд безработицы (1.3 % от ОЗП)

140.27

Фонд соц. страхования от несчастных случаев (0.2 % от ОЗП)

21.58

4

Амортизация (20 % от ОЗП)

2158

5

Накладные расходы (60 % от ОЗП)

6474

6

Материалы и комплектующие

170

7

Стоимость машинного времени

1488

Итого себестоимость ПП

26904.48

Цена ПП

32285.376

6.4 Расчет обобщенных показателей качества

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

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

Перечень основных показателей качества:

количество функций;

2) интерфейс;

3) быстродействие;

4) объём памяти.

Расчет обобщенных показателей качества проводим по формуле:

, (6.6)

где - коэффициент веса.

Абсолютные значения показателей качества рассчитываются по формуле:

, (6.7)

где - значение показателя собственного ПП,

- значение показателя гипотетического ПП.

Расчет обобщенных показателей качества приведен в таблице 6.6.

Таблица 6.6 - Расчет обобщенных показателей качества

Показатели качества

Коэф. веса (bi)

Абсолютные значения показателей

Относительные значения показателей

Наименование

Един.

измер.

Собственный ПП

Гипотетический ПП

Собственный ПП

1

Количество функций

0.35

5

5

1

0.35

2

Интерфейс

0.2

4

5

0.8

0.16

3

Быстродействие

мс

0.3

4

5

0.8

0.24

4

Объём

памяти

МБ

0.15

5

5

1

0.15

K=0.9

Уровень качества нашего продукта составляет 0.9 по отношению к гипотетическому, т.е. наш продукт обладает 90% от возможностей гипотетического программного продукта.

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

ВЫВОДЫ

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

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

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

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

1. Международные стандарты финансовой отчетности. - M.: Аскери, 2005. - С. 9-21.

2. Новый англо-русский банковский и экономический словарь Б.Г. Федорова. - М.: Лимбус-пресс, 2000. - С. 75.

3. Шоломицкий А.Г. Финансирование накопительных пенсий: актуарные методы и динамические модели // Обозрение прикладной и промышленной математики. - 2002. - Т. 9. - С. 544-577.

4. Чэдберн, Р. и Хэберман, С. Основы актуарной математики. - Пер. с англ. - Кемерово, 1996. - С. 204-235.

5. Гербер Х. Математика страхования жизни. - М.: Мир, 1995. - С. 53-78.

6. Баскаков, В.Н. и Баскакова, М.Е. Пенсии для мужчин и женщин. - Москва, Московский философский фонд, 1998. - С. 168-195.

7. Михайлов А.В., Харченко О.В. Моделирование и актуарный расчет корпоративных пенсионных программ. - М.: Просвещение, 2000. - С. 395-417.

8. Охрана труда в отрасли. Безопасность труда при работе на ПЭВМ: Учеб. пособие/ В. В Вамболь., Н. И. Меркулова, Л. И Кротенко Харьков, 2002. - 23 с.

9. Гавва В.Н., Голованова М.А. Экономическая оценка инженерных решений, Харьков, 1990. - С.69-85.

ПРИЛОЖЕНИЕ

Листинг программы

Program.cs

using System;

using System.Collections.Generic;

using System.Windows.Forms;

namespace pensia

{

static class Program

{

/// <summary>

/// The main entry point for the application.

/// </summary>

[STAThread]

static void Main()

{

Application.EnableVisualStyles();

Application.SetCompatibleTextRenderingDefault(false);

Application.Run(new Form1()); }}}

Pensia_Calc.cs

using System;

using System.Collections.Generic;

using System.Text;

using System.IO;

namespace pensia

{

class Pensia_Common

{

internal double F0, FirstPay, vCoeff, index;

internal int a, R;

internal List<double> Px, PayT, mt;

internal double s(int t)

{

double ss = 1;

for (int i = 0; i < t; i++)

ss *= Px[i];

return ss;

}

public List<double> Funds, Pensias;

public List<double> GetPX()

{

return Px;

}

public void LoadData(string FileName)

{

StreamReader DataStream = new StreamReader(FileName);

Px = new List<double>();

PayT = new List<double>();

mt = new List<double>();

Pensias = new List<double>();

Funds = new List<double>();

for (int i = 0; i < 100 - a; i++)

Px.Add(Convert.ToDouble(DataStream.ReadLine()));

DataStream.Close();

}

public void Init(double F0, double FirstPay, double vCoeff, int a, int R, double index)

{

this.F0 = F0;

this.FirstPay = FirstPay;

this.vCoeff = vCoeff;

this.a = a;

this.R = R;

this.index = index;

}

public List<double> GetPayFunction()

{

return mt;

}

private double P(int t, int x)

{

double p = 1;

for (int i = x - a; i < x + t - a; i++)

p *= Px[i];

return p;

}

private double ListSumm(List<double> lst)

{

double summ = 0;

for (int i = 0; i < lst.Count; i++)

summ += lst[i];

return summ;

}

internal void CalcPensia()

{

double b = 0;

for (int i = R; i < 100; i++)

b += Math.Pow(1 + index, i - R) * P(i - a, a);

double Pens0 = CalcFullFunds() / (vCoeff * b);

for (int i = 0; i < 100 - R; i++)

Pensias.Add(Pens0 * Math.Pow(1 + index, i - R));

}

internal double CalcFullFunds()

{

double Funds = F0;

for (int i = 0; i < R - a; i++)

Funds += PayT[i]; //P(i,a) * PayT[i] * vCoeff;

return Funds;

}

internal void CalcFunds()//t- натуральное исчисление( от а до 100)

{

CalcPensia();

// double Funds = 0;

Funds.Add(0);

for (int i = 1; i < R - a; i++)

Funds.Add(Funds[i - 1] + PayT[i - 1]); //P(i, a) * PayT[i] * vCoeff;

for (int i = R - a; i < 100 - a; i++)

Funds.Add(Funds[i - 1] - Pensias[i - R + a]); } }

class Pensia_Uni_Credit : Pensia_Common

{

public void Calc()

{

double ss = R - a;

double Sigma = 1 / ss;

for (int i = 0; i < R - a; i++) //uni-credit

{

mt.Add(Sigma);

PayT.Add(FirstPay);

}

CalcFunds(); } }

class Pensia_Linear : Pensia_Common

{

public void Calc()

{

double Sigma = 1 / ((R - a) * (1 + 0.15 * (R - a))); //линейный

mt.Add(Sigma);

PayT.Add(FirstPay);

double Fnds = PayT[0] / mt[0];

for (int i = 1; i < R - a; i++)

{

mt.Add(Sigma * (1 + 0.3 * i));

PayT.Add(Fnds * mt[i]);

}

CalcFunds();

}

}

class Pensia_Exp_Inc : Pensia_Common

{

public void Calc()

{

double coeff = (Math.Exp(0.05) + 1) / (Math.Exp(0.1) - 1);

double Sigma = 1 / (coeff * (Math.Exp(0.05 * (R - a + 1)) - 1)); //экспоненциальный c ускорением

mt.Add(Sigma);

PayT.Add(FirstPay);

double Fnds = PayT[0] / mt[0];

for (int i = 1; i < R - a; i++)

{

mt.Add(Sigma * Math.Exp(0.05 * i));

PayT.Add(Fnds * mt[i]);

}

CalcFunds();

}

}

class Pensia_Exp_Des : Pensia_Common

{

public void Calc()

{

double coeff = (Math.Exp(-0.05) + 1) / (Math.Exp(-0.1) - 1);

double Sigma = 1 / (coeff * (Math.Exp(-0.05 * (R - a + 1)) - 1)); //экспоненциальный c замедлением

mt.Add(Sigma);

PayT.Add(FirstPay);

double Fnds = PayT[0] / mt[0];

for (int i = 1; i < R - a; i++)

{

mt.Add(Sigma * Math.Exp(-0.05 * i));

PayT.Add(Fnds * mt[i]);

}

CalcFunds(); } }

class Pensia_EAN : Pensia_Common

{

public void Calc()

{

double coeff = 0; //EAN

for (int i = 0; i < Px.Count; i++)

coeff += s(i);

double Sigma = 1 / (coeff * vCoeff);

mt.Add(Sigma * vCoeff);

PayT.Add(FirstPay);

double Fnds = PayT[0] / mt[0];

for (int i = 1; i < R - a; i++)

{

mt.Add(Sigma * vCoeff * s(i));

PayT.Add(Fnds * mt[i]);

}

CalcFunds(); } }

class Pensia_Calc

{

public Pensia_Uni_Credit PUC = new Pensia_Uni_Credit();

public Pensia_Linear PL = new Pensia_Linear();

public Pensia_Exp_Inc PEI = new Pensia_Exp_Inc();

public Pensia_Exp_Des PED = new Pensia_Exp_Des();

public Pensia_EAN PE = new Pensia_EAN();

public void LoadData(string FileName)

{

PUC.LoadData(FileName);

PL.LoadData(FileName);

PEI.LoadData(FileName);

PED.LoadData(FileName);

PE.LoadData(FileName);

}

public void Init(double F0, double FirstPay, double vCoeff, int a, int R, double index)

{

PUC.Init(F0, FirstPay, vCoeff, a, R, index);

PL.Init(F0, FirstPay, vCoeff, a, R, index);

PEI.Init(F0, FirstPay, vCoeff, a, R, index);

PED.Init(F0, FirstPay, vCoeff, a, R, index);

PE.Init(F0, FirstPay, vCoeff, a, R, index);

}

public void CalcAll()

{

PUC.Calc();

PL.Calc();

PEI.Calc();

PED.Calc();

PE.Calc(); }

}

}

Form1.cs

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Text;

using System.Windows.Forms;

using System.IO;

using ZedGraph;

using pensia;

namespace pensia

{

public partial class Form1 : Form

{

int R;

int a;

Pensia_Calc Pensias;

public Form1()

{

InitializeComponent();

}

private void btn_Close_Click(object sender, EventArgs e)

{

Close();

}

double[] GetColumn(DataGridView Grid, int Col)

{

double[] c = new double[Grid.RowCount];

for (int i = 0; i < Grid.RowCount; i++)

c[i] = Convert.ToDouble(Grid[Col, i].Value);

return c;

}

private void button1_Click(object sender, EventArgs e)

{

R=Convert.ToInt16(text_R.Text);

a=Convert.ToInt16(text_a.Text);

double F0 = Convert.ToDouble(text_F0.Text);

double FirstPay = Convert.ToDouble(text_FirstPay.Text);

double index = Convert.ToDouble(text_index.Text);

Pensias = new Pensia_Calc();

Pensias.Init(F0,FirstPay, 1 / (Convert.ToDouble(text_rCoeff.Text) + 1),a,R,index);

if (openFileDialog1.ShowDialog() != DialogResult.OK)

return;

Pensias.LoadData(openFileDialog1.FileName);

List<double> px = Pensias.PE.GetPX();

GridView_Px.Rows.Add(Pensias.PE.GetPX().Count);

for (int i = 0; i < px.Count; i++)

{

GridView_Px[0, i].Value = i+a;

GridView_Px[1, i].Value = px[i];

}

Pensias.CalcAll();

DrawMX();

DrawFunds();

DrawPensias();

}

void DrawFunds()

{

GraphPane MyGr2 = zg2.GraphPane;

PointPairList Chart21 = new PointPairList();

PointPairList Chart22 = new PointPairList();

PointPairList Chart23 = new PointPairList();

PointPairList Chart24 = new PointPairList();

PointPairList Chart25 = new PointPairList();

MyGr2.CurveList.Clear();

for (int i = 0; i < R-a ; i++)

Chart21.Add(i + a, Pensias.PE.Funds[i]);

for (int i = 0; i < R - a; i++)

Chart22.Add(i + a, Pensias.PED.Funds[i]);

for (int i = 0; i < R - a; i++)

Chart23.Add(i + a, Pensias.PEI.Funds[i]);

for (int i = 0; i < R - a; i++)

Chart24.Add(i + a, Pensias.PL.Funds[i]);

for (int i = 0; i < R - a; i++)

Chart25.Add(i + a, Pensias.PUC.Funds[i]);

MyGr2.XAxis.Title.Text = "Год участия";

MyGr2.YAxis.Title.Text = "Накопленный фонд";

MyGr2.Title.Text = "График накопленного фонда";

MyGr2.AddCurve("E", Chart21, Color.Red, SymbolType.None);

MyGr2.AddCurve("ED", Chart22, Color.Blue, SymbolType.None);

MyGr2.AddCurve("EI", Chart23, Color.Black, SymbolType.None);

MyGr2.AddCurve("L", Chart24, Color.Green, SymbolType.None);

MyGr2.AddCurve("UC", Chart25, Color.Gold, SymbolType.None);

zg2.AxisChange();

zg2.Invalidate();

}

void DrawMX()

{

GraphPane MyGr = zg1.GraphPane;

PointPairList Chart1 = new PointPairList();

PointPairList Chart2 = new PointPairList();

PointPairList Chart3 = new PointPairList();

PointPairList Chart4 = new PointPairList();

PointPairList Chart5 = new PointPairList();

MyGr.CurveList.Clear();

for (int i = 0; i < R - a; i++)

Chart1.Add(i + a, Pensias.PE.mt[i]);

for (int i = 0; i < R - a; i++)

Chart2.Add(i + a, Pensias.PED.mt[i]);

for (int i = 0; i < R - a; i++)

Chart3.Add(i + a, Pensias.PEI.mt[i]);

for (int i = 0; i < R - a; i++)

Chart4.Add(i + a, Pensias.PL.mt[i]);

for (int i = 0; i < R - a; i++)

Chart5.Add(i + a, Pensias.PUC.mt[i]);

MyGr.XAxis.Title.Text = "Год участия";

MyGr.YAxis.Title.Text = "Функция накопления";

MyGr.Title.Text = "График функции накопления";

MyGr.AddCurve("E", Chart1, Color.Red, SymbolType.None);

MyGr.AddCurve("ED", Chart2, Color.Blue, SymbolType.None);

MyGr.AddCurve("EI", Chart3, Color.Black, SymbolType.None);

MyGr.AddCurve("L", Chart4, Color.Green, SymbolType.None);

MyGr.AddCurve("UC", Chart5, Color.Gold, SymbolType.None);

zg1.AxisChange();

zg1.Invalidate();

}

void DrawPensias()

{

GraphPane MyGr = zg3.GraphPane;

PointPairList Chart1 = new PointPairList();

PointPairList Chart2 = new PointPairList();

PointPairList Chart3 = new PointPairList();

PointPairList Chart4 = new PointPairList();

PointPairList Chart5 = new PointPairList();

MyGr.CurveList.Clear();

for (int i = 0; i < 100 - R; i++)

{

Chart1.Add(i + R, Pensias.PE.Pensias[i]);

Chart2.Add(i + R, Pensias.PED.Pensias[i]);

Chart3.Add(i + R, Pensias.PEI.Pensias[i]);

Chart4.Add(i + R, Pensias.PL.Pensias[i]);

Chart5.Add(i + R, Pensias.PUC.Pensias[i]);

}

MyGr.XAxis.Title.Text = "Год участия (пенсионер)";

MyGr.YAxis.Title.Text = "Пенсия";

MyGr.Title.Text = "График пенсионных выплат";

MyGr.AddCurve("E", Chart1, Color.Red, SymbolType.None);

MyGr.AddCurve("ED", Chart2, Color.Blue, SymbolType.None);

MyGr.AddCurve("EI", Chart3, Color.Black, SymbolType.None);

MyGr.AddCurve("L", Chart4, Color.Green, SymbolType.None);

MyGr.AddCurve("UC", Chart5, Color.Gold, SymbolType.None);

zg3.AxisChange();

zg3.Invalidate();

}

private void button2_Click(object sender, EventArgs e)

{

Close();

} } }

Размещено на Allbest.ru


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.