Автоматизация ежедневной банковской отчетности

Автор работы: Пользователь скрыл имя, 09 Сентября 2011 в 09:09, курсовая работа

Описание работы

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

Жесткие сроки сдачи отчетности в центральный банк делают задачу автоматизации ежедневной отчетности одной из основных в области автоматизации банковской деятельности, а наличие информационной подсистемы составления отчетов одним из условий успешной деятельности Банка.

Файлы: 1 файл

Пояснительная (2).doc

— 1.14 Мб (Скачать файл)

     2.2 Концептуальное описание задачи

 

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

     Также необходимо решить задачи ввода и  хранения банковских операций и плана  счетов.

     2.3 Разработка проектных решений  по созданию информационной базы

 

     В ходе проектирования была разработана  локальная реляционная база данных «Банковские операции». Разработанная  база данных предназначена для ввода, накопления и долговременного хранения информации о проведенных операциях  и о синтетических счетах второго порядка.  

    2.3.1 Концептуальное проектирование

     При концептуальном проектировании были выбраны основные сущности:

     1) «операция»;

     2) «счет».

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

     1) сущность «операция»

дата и время проведения операции

дебетируемый  счет

кредитируемый счет

сумма операции

описание  сути операции

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

     2) сущность «счет»

номер счета

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

признак счета (активный или пассивный).

      2.3.2 Инфологическое проектирование

     Между сущностями «операция» и «счет» установлена  связь 1:2, так как одной операции соответствуют два счета –  дебетируемый и кредитируемый.

     Схема модели «сущность-связь» приведена на рис. 2.3.2.1.

     Рисунок 2.3.2.1 Схема модели «сущность-связь». 

     2.3.2 Разработка способов защиты информации

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

 

     

     2.4 Разработка проектных решений  по программному обеспечению

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

     Главное окно программы является MDI-контейнером, в котором открываются формы для просмотра журнала операций, проводки новых операций и просмотра и редактирования плана счетов. Все формы выполнены с использованием стандартных .Net-компонентов DataSet, TableAdapter, BindingSourse, DataGridView и BindingNavigator.

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

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

     Затем происходит передача сформированных данных в приложение MS Exel по технологии OleDB. Полученный отчет можно сохранить и вывести на печать средствами MS Exel.

     При формировании отчета «Оборотно-сальдовая ведомость» все происходит аналогично, за исключением того, что отдельно вычисляются входящие, исходящие остатки и обороты.

 

     2.4.2  Описание контрольного примера

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

     Рассмотрим операции за первый день.

Рисунок 2.4.2.1 – Банковские операции за первый день 

     Составим  баланс нашего банка по итогам работы за день с помощью разработанной программы. В нем

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

Рисунок 2.4.2.2 – Банковский баланс за первый день 

     Рассмотрим  операции за второй день.

Рисунок 2.4.2.3 – Банковские операции за второй день 

     Аналогично  составим баланс по итогам работы за второй день.

Рисунок 2.4.2.4 – Банковский баланс за второй день

     Сформируем  оборотно-сальдовые ведомости за первый и второй день.

Рисунок 2.4.2.5 – Оборотно-сальдовая ведомость  за первый день 

Рисунок 2.4.2.6 – Оборотно-сальдовая ведомость за второй день 
 

 

     

     Заключение

     В итоге курсового проектирования был получен программный продукт  для автоматизации ежедневной банковской отчетности. Также была разработана  локальная реляционная база данных «Банковские операции».

     Были рассмотрены аспекты функционирования подсистемы составления ежедневной отчетности, логической, программной и физической ее реализации.

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

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

 

     

     Библиографический список

 
     
  1. Автоматизированные информационные технологии в банковской деятельности: Учебное пособие для вузов / Под ред. Г.А.Титоренко / ВЗФЭИ. - М.: Финстатинформ, 1999.
  2. Банки и банковские операции: Учебник / Под ред. Е.Ф.Жукова. - М.: Банки и биржи, ЮНИТИ, 1999.
  3. Бухгалтерский учет в коммерческом банке в проводках: Учеб. пособие / Л.П.Кроливецкая, Г.Н.Белоглазова. - М.: Финансы и статистика, 2000.
  4. Кураков Л.П., Тимирясов В.Г., Кураков B.JI. Современные банковские системы: Учеб. пособие. - 3-е изд., перераб. и доп. - М.: Гелиос АРВ, 2000.
  5. Батракова Л.Г. Экономический анализ деятельности коммерческого банка: Учебник для вузов. - М.: Издательская корпорация "Логос", 1999.
  6. Бухгалтерский учет и отчетность в банке по новому Плану счетов: Учебно- практический курс / Резчикова А.С., Родионова В.Г., Артемова Л.В., Назарова А.Г. - М.: Дело и Сервис, 1998.
  7. Бухгалтерский учет в коммерческих банках / Козлова Е.П., Галанина Е.Н. - М.: Финансы и статистика, 1999.

 

     

     Приложение  А Листинг кода приложения на языке С#

Файл: Form1.cs

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

using System.Data.OleDb;

using Excel = Microsoft.Office.Interop.Excel; 

namespace BankOtchetnost

{

    public partial class Form1 : Form

    {

        public Form1()

        {

            InitializeComponent();

        } 

        private void выходToolStripMenuItem_Click(object sender, EventArgs e)

        {

            Application.Exit();

        } 

        private void новаяПроводкаToolStripMenuItem_Click(object sender, EventArgs e)

        {

            Новая win = new Новая();

            win.MdiParent = this;

            win.Show();

        } 

        private void журналОперацийToolStripMenuItem_Click(object sender, EventArgs e)

        {

            Операции win = new Операции();

            win.MdiParent = this;

            win.Show();

        } 

        private void планСчетовToolStripMenuItem_Click(object sender, EventArgs e)

        {

            Счета win = new Счета();

            win.MdiParent = this;

            win.Show();

        } 

        private void балансToolStripMenuItem_Click(object sender, EventArgs e)

        {

            Excel.Application xlApp;

            Excel.Workbook xlWorkBook;

            Excel.Worksheet xlWorkSheet;

            object misValue = System.Reflection.Missing.Value; 

            xlApp = new Excel.Application();

            xlWorkBook = xlApp.Workbooks.Add(misValue); 

            xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1);

            xlWorkSheet.Cells.Range[xlWorkSheet.Cells[1, 1], xlWorkSheet.Cells[1, 3]].Merge();

            xlWorkSheet.Cells[1, 1] = "АКТИВЫ"; 

            xlWorkSheet.Cells.Range[xlWorkSheet.Cells[1, 5], xlWorkSheet.Cells[1, 7]].Merge();

            xlWorkSheet.Cells[1, 5] = "ПАССИВЫ"; 

            Dictionary<Int32, Double> activ=new Dictionary<Int32, Double>();

            Dictionary<Int32, Double> pasiv=new Dictionary<Int32, Double>(); 

            счетаTableAdapter.Fill(bankOtchetnostDataSet1.Счета);

            операцииTableAdapter.Fill(bankOtchetnostDataSet1.Операции); 

            foreach (DataRow srow in bankOtchetnostDataSet1.Счета.Rows)

            {

                Int32 n=Convert.ToInt32(srow[0]); // Номер счета

                Boolean p=Convert.ToBoolean(srow[2]); // Признак счета

               

                if(p)

                {

                    activ[n]=0.0;

                }

                else

                {

                    pasiv[n]=0.0;

                }

                foreach (DataRow row in bankOtchetnostDataSet1.Операции.Rows)

                {

                    DateTime dt = DateTime.Parse(Convert.ToString(row[1]));

                    if(dt.Date>dateTime.Value.Date)

                        continue; 

                    Int32 d=Convert.ToInt32(row[3]); // Дебетируемы счет

                    Int32 k=Convert.ToInt32(row[4]); // Кредитируемый счет

                    Double s = Convert.ToDouble(row[5]); // Сумма

                    if(n==d)

                    {

                        if(p)

                        {

                            activ[n]+=s;

                        }

                        else

                        {

                           pasiv[n]-=s;

                        }

                    }

                    if(n==k)

                    {

Информация о работе Автоматизация ежедневной банковской отчетности