Автор работы: Пользователь скрыл имя, 29 Ноября 2011 в 06:33, курсовая работа
Трудно представить себе более благодатную почву для внедрения новых компьютерных технологий, чем банковская деятельность. В принципе почти все задачи, которые возникают в ходе работы банка достаточно легко поддаются автоматизации. Быстрая и бесперебойная обработка значительных потоков информации является одной из главных задач любой крупной финансовой организации.
Введение 4
1 Теоретическая часть 5
1.1 Банковская отчетность и ее значение 5
1.2 Состав, содержание и периодичность отчетности 11
1.4 Виды отчетности 15
2. Описание проектных решений 17
2.1 Обоснование разработки 17
2.2 Концептуальное описание задачи 17
2.3 Разработка проектных решений по созданию информационной базы 17
2.4 Разработка проектных решений по программному обеспечению 19
2.4.1 Разработка алгоритма работы программы 19
2.4.2 Описание контрольного примера 20
Заключение 25
Библиографический список 26
Разрабатываемая программа должна получать данные о проведенных за операционный день операциях, а также данные о счетах, по которым проводились операции. На основании этих данных должны быть составлены ежедневный банковский баланс и оборотно-сальдовая ведомость.
Также необходимо решить задачи ввода и хранения банковских операций и плана счетов.
В
ходе проектирования была разработана
локальная реляционная база данных
«Банковские операции». Разработанная
база данных предназначена для ввода,
накопления и долговременного хранения
информации о проведенных операциях
и о синтетических счетах второго
порядка.
2.3.1 Концептуальное проектирование
При концептуальном проектировании были выбраны основные сущности:
1) «операция»;
2) «счет».
В результате изучения предметной области и проектирования базы данных, был составлен следующий список атрибутов:
1) сущность «операция»
дата и время проведения операции
дебетируемый счет
кредитируемый счет
сумма операции
описание сути операции
описание первичных документов.
2) сущность «счет»
номер счета
наименование
признак счета (активный или пассивный).
2.3.2 Инфологическое проектирование
Между сущностями «операция» и «счет» установлена связь 1:2, так как одной операции соответствуют два счета – дебетируемый и кредитируемый.
Схема модели «сущность-связь» приведена на рис. 2.3.2.1.
Рисунок
2.3.2.1 Схема модели «сущность-связь».
2.3.2 Разработка способов защиты информации
Установленные
отношения между таблицами
Главное окно программы является MDI-контейнером, в котором открываются формы для просмотра журнала операций, проводки новых операций и просмотра и редактирования плана счетов. Все формы выполнены с использованием стандартных .Net-компонентов DataSet, TableAdapter, BindingSourse, DataGridView и BindingNavigator.
Для формирования отчетов пользователь задает в главном окне отчетную дату, а затем из пункта меню «Отчеты» выбирает нужный отчет.
Если выбран отчет «Банковский баланс», то приложение соединяется с базой данных «Банковские операции» по технологии ADO.NET и извлекает данные о счетах и операциях, проведенных до отчетной даты включительно. Далее для каждого счета выбираются дебетирующие и кредитирующие его операции, и вычисляется количество средств на счете, путем прибавления сумм дебетирующих операций и вычитания сумм кредитирующих операций для активных счетов и прибавления сумм кредитирующих операций и вычитания сумм дебетирующих операций для пассивных счетов. На основе полученных данных составляется отчет.
Затем происходит передача сформированных данных в приложение MS Exel по технологии OleDB. Полученный отчет можно сохранить и вывести на печать средствами MS Exel.
При формировании отчета «Оборотно-сальдовая ведомость» все происходит аналогично, за исключением того, что отдельно вычисляются входящие, исходящие остатки и обороты.
Рассмотрим бухгалтерский учет основных операций осуществляемых банками. Для наглядности отражения операций по счетам и в балансе банка мы предположим, что мы только начинаем работать в банке «с нуля».
Рассмотрим операции за первый день.
Рисунок
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, данный продукт не привязан к разработанной БД и может быть интегрирован в другие системы.
Развивать полученную модель можно в сторону достижения большей функциональности и эргономичности, добавления новых возможностей, расширяющих стандартные средства.
Файл: 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.
namespace BankOtchetnost
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void выходToolStripMenuItem_Click(
{
Application.Exit();
}
private void новаяПроводкаToolStripMenuItem
{
Новая win = new Новая();
win.MdiParent = this;
win.Show();
}
private void журналОперацийToolStripMenuIte
{
Операции win = new Операции();
win.MdiParent = this;
win.Show();
}
private void планСчетовToolStripMenuItem_
{
Счета win = new Счета();
win.MdiParent = this;
win.Show();
}
private void балансToolStripMenuItem_Click(
{
Excel.Application xlApp;
Excel.Workbook xlWorkBook;
Excel.Worksheet xlWorkSheet;
object misValue = System.Reflection.Missing.
xlApp = new Excel.Application();
xlWorkBook = xlApp.Workbooks.Add(misValue);
xlWorkSheet = (Excel.Worksheet)xlWorkBook.
xlWorkSheet.Cells.Range[
xlWorkSheet.Cells[1, 1] = "АКТИВЫ";
xlWorkSheet.Cells.Range[
xlWorkSheet.Cells[1, 5] = "ПАССИВЫ";
Dictionary<Int32, Double> activ=new Dictionary<Int32, Double>();
Dictionary<Int32, Double> pasiv=new Dictionary<Int32, Double>();
счетаTableAdapter.Fill(
операцииTableAdapter.Fill(
foreach (DataRow srow in bankOtchetnostDataSet1.Счета.
{
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.
{
DateTime dt = DateTime.Parse(Convert.
if(dt.Date>dateTime.Value.
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)
{