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

  • Вид работы:
    Курсовая работа (т)
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    549,82 Кб
  • Опубликовано:
    2014-11-26
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

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

Введение

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

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

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

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

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

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

1.1    Описание предметной области

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

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

Перечень задач для реализации:

- спроектировать базу данных;

-       создать формы для работы с базой;

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

-       создать поисковые системы;

-       организовать сортировку данных;

-       сформировать отчеты.

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

- полнота;

-       достоверность;

-       актуальность;

-       эффективность;

-       оперативность;

-       удобный интерфейс.

Перечни документов, необходимых для открытия счета в банке.

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

1.      Заявление на открытие счета в соответствующей валюте (на бланке банка).

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

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

Перечень документов, необходимых для открытия счета в Банке физическому лицу - нерезиденту:

1.      Заявление на открытие счета в соответствующей валюте (на бланке банка).

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

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

.        Карточка с образцом подписи физического лица - нерезидента (удостоверенная нотариально или уполномоченным лицом банка).

Иностранные документы принимаются только с подлинными отметками о консульской легализации либо заверении апостилем (для стран - участниц Гаагской Конвенции 1961 г.), если освобождение от этих процедур не предусмотрено международными соглашениями РФ, вместе с удостоверенным нотариально либо в консульском загранучреждении переводом на русский язык.

1.2    Функциональная модель предметной области

Функциональная модель - это модель инфологического уровня представления, в которой акцентируется функциональный аспект моделирования предметной области.

Функциональная модель в виде иерархии функций способствует пониманию поведения субъекта моделирования.

В соответствии с методологией структурного анализа в первую очередь строится контекстная диаграмма - самое общее описание главной функции системы в целом и ее взаимодействия с внешней средой. Контекстная диаграмма представлена на рисунке 1.2.1.

Рисунок 1.2.1 - Контекстная диаграмма «Автоматизация учета вкладов

в банке»

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

Рисунок 1.2.2 - Диаграмма декомпозиции «Автоматизация учета вкладов в банке»

1.3    Схема данных

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

Рисунок 1.3.1 - Схема данных

.4 Описание входной информации

Входным документом для задачи «Автоматизация учета вкладов в банке» является заявление,паспорт от клиента. Описание входного документа показано в таблице 1.4.1.

Таблица 1.4.1 - Описание входных документов

Наименование документа (шифр)

Дата поступления документа

Откуда поступает документ

Заявление

При регистрационных действиях

Клиент

Паспорт

При регистрационных действиях

Клиент


1.5 Описание структуры базы данных

Описание структуры базы данных показано в таблице 1.5.1.

Таблица 1.5.1 - Описание структуры базы данных

Назначение (содержимое) таблицы

Физическое имя таблицы

Наименование полей

Шифр поля

Формат поля

Размер поля

1

2

3

4

5

6

Данные о клиенте

Klientu.db

Номер счета

N_cheta *

Строка

15



Ф.И.О

FIO

Строка

40



Дата рождения

DTR

Дата

8



Телефон

Telefon

Строка

11



Паспорт

Pasport

Строка

11



Номер договора

N_dogovora

Строка

2



Код вклада

Kod_vklada

Строка

4

Данные о сотруднике

Sotrudniki.db

Табельный номер

Tab_nomer *

Строка

2



Ф.И.О

FIO

Строка

30



Дата рождения

DTR

Дата

8



Должность

Dolshnost

Строка

10



Стаж

Stash

Строка

2



Телефон

Telefon

Строка

20

Данные о видах вклада

Vidu_vkladu.db

Код вклада

Kod_vklada *

Строка

4



Наименование вклада

Naim_vklada

Строка

30



% ставка

%_stavka

Строка

6



Статус счета

Status_cheta

Строка

16

Данные о вкладах

Vkladu.db

Номер

N *

Счетчик

6



Номер счета

N_cheta

Строка

15



Дата

Data

Дата

8



Приход

Prixod

Денежный

ххх ххх



Расход

Rasxod

Денежный

ххх ххх



Табельный номер сотрудника

Tab_N_sotr

Строка

2

Примечание

* - ключевое поле

1.6 Описание выходной информации

Выходными документами являются:

-   отчет «Виды вкладов»;

-       договор;

Описание выходных документов показано в таблице 1.6.1

Таблица 1.6.1 - Описание выходных документов

Наименование документа (шифр)

Периодичность выдачи документа

Кол-во экз.

Куда передаются

Отчет «Виды вкладов»

 Ежегодно

1

Банк

Договор

 При регистрационных действиях

1

Клиент


Выходные документы и отчеты получаются на основании входных данных.

Выходной документ «Договор» приведен в приложении Б.

.7 Контрольный пример

Контрольный пример является ручным вариантом просчета решения задачи и служит для проверки правильности решения задач на ЭВМ.

Формы «Добавление нового клиента» и «Список клиентов» показаны на рисунках 1.7.1 - 1.7.2

Рисунок 1.7.1 - Форма «Добавление нового клиента»

Рисунок 1.7.2 - Форма «Список клиентов»

.8 Общие требования к программному продукту

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

Создаваемый программный продукт позволяет:

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

-       составлять отчетную ведомость.

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

-       MS Windows XP/Vista/7;

-       процессор 1 ГГц;

-       128 МБ ОЗУ;

-       20 МБ свободного пространства на диске;

-       принтер;

-       клавиатура;

-       мышь.

Также на компьютере необходимо наличие таких программных продуктов как:

-       Microsoft Word;

-       Microsoft Excel.

автоматизированный учет вклад

2. Экспериментальный раздел

.1 Обоснование выбора языка программирования

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

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

Интегрированная среда разработки Delphi с ее инструментами визуального редактирования, библиотекой компонент, механизмом баз данных и многим другим, идеально подходит для написания приложений Windows, используя свой диалект языка Object Pascal - Delphi Pascal, который является объектно-ориентированным.

В состав Delphi входят компоненты, позволяющие создавать программы работы с файлами данных, созданными различными системами: от dBASE до Infomix и Oracle. Delphi также позволяет программисту, используя утилиту Borland Database Desktop, создавать файлы баз данных в различных форматах.

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

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

Обоснованием выбора служат следующие факторы:

- быстрота разработки. От быстрой разработки зависит, прежде всего, цена программного продукта. Для увеличения скорости написания Windows-приложений необходимо использовать средства визуального программирования. Delphi как нельзя более подходит для выполнения данной задачи, так как назначение Delphi - быстрая разработка приложений (RAD - Rapid Application Development). Разработка приложений интерфейса пользователя с помощью Delphi - в основном процесс проектирования, с весьма небольшим количеством фактического программирования, что существенно сокращает время на создание удобного интерфейса, отвечающего стандартам разработки Windows-приложений. Delphi может компилировать 32-битные программы, обеспечивая высокую скорость выполнения;

-       характер задачи. Рассматриваемая в дипломном проекте задача относится к разряду с использованием баз данных. В состав Delphi входит высокоэффективный компилятор с языка Object Pascal, основанном на концепции объектно-ориентированного программирования. Данный компилятор генерирует оптимизированный код, позволяющий увеличить скорость выполнения программ, что немаловажно для данного программного продукта. Delphi создает действительно откомпилированные программы, готовые для исполнения;

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

Таким образом, среда программирования Delphi является оптимальным выбором для решения поставленной задачи, так как:

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

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

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

.2 Описание программы

Программа «Автоматизация учета вкладов в банке» имеет модульную структуру и состоит из 14 модулей. Код программы приведен в приложении А. Список модулей, и их связь представлены в модульной схеме (рисунок 2.2.1).

Рисунок 2.2.1 - Модульная схема

Описание процедур:

mainDataModuleUnit (Открытие модуля данных):

-       procedure TmainDataModule.N8Click(Sender: TObject);- переход на форму «О программе»;

-       Procedure TmainDataModule.N9Click(Sender:TObject);- создание резервной копии;

-       procedure TmainDataModule.N14Click(Sender: TObject);- выполнение восстановления данных;

-       procedure TmainDataModule.N5Click(Sender: TObject);- вызов справочной системы;

-       procedure TmainDataModule.N6Click(Sender: TObject);- вызов помощи;

-       procedure TmainDataModule.N13Click(Sender: TObject);- переход на форму «Диаграмма по видам вкладов»;

-       procedure TmainDataModule.N3Click(Sender: TObject);- переход на форму «Диаграмма по месяцам»(Главное меню):

-       procedure TmainForm.SpeedButton2Click(Sender: TObject);- переход на форму «Счета»;

-       procedure TmainForm.SpeedButton3Click(Sender: TObject); - переход на форму «Виды вкладов»;

-       procedure TmainForm.SpeedButton1Click(Sender: TObject);- переход на форму «Сотрудники».(Счета):

-       procedure TForm1.Button6Click(Sender: TObject);- переход на главную форму;

-       procedure TForm1.Button4Click(Sender: TObject);- переход на форму «Список клиентов»;

-       procedure TForm1.Button2Click(Sender: TObject);- поиск по номеру счета;

-       procedure TForm1.Button1Click(Sender: TObject);- очистка таблицы;

-       procedure TForm1.Button5Click(Sender: TObject);- добавление суммы;

-       procedure TForm1.Button7Click(Sender: TObject);- удаление счета;

-       procedure TForm1.Button8Click(Sender: TObject);- экспорт в Excel.2 (Виды вкладов):

-       procedure TForm2.Button5Click(Sender: TObject);- переход на главную форму;

-       procedure TForm2.Button1Click(Sender: TObject);- поиск по коду вклада и % ставке;

-       procedure TForm2.Button3Click(Sender: TObject);- открытие отчета «Виды вкладов».3 (Сотрудники):

-       procedure TForm3.Button4Click(Sender: TObject);- переход на главную форму;

-       procedure TForm3.DBGrid1TitleClick(Column: TColumn);- сортировка;

-       procedure TForm3.Button1Click(Sender: TObject);- сортировка по фамилии;

-       procedure TForm3.Button2Click(Sender: TObject);- сортировка по дате рождения.

-       procedure TForm3.Button3Click(Sender: TObject);- добавление нового сотрудника;

-       procedure TForm3.Button5Click(Sender: TObject);- изменение данных сотрудника;

-       procedure TForm3.Button6Click(Sender: TObject);- удаление сотрудника.5 (Вклады):

-       procedure TForm5.BitBtn1Click(Sender: TObject);- сохранение данных.6 (Список клиентов):

-       procedure TForm6.Button1Click(Sender: TObject); - добавление клиента;

-       procedure TForm6.Button2Click(Sender: TObject);- изменение клиента;

-       procedure TForm6.Button3Click(Sender: TObject);- удаление клиента;

-       procedure TForm6.Button5Click(Sender: TObject);- переход на главную форму;

-       procedure TForm6.Button4Click(Sender: TObject);- печать договора.

2.3 Протокол тестирования программного продукта

Тестирование программного продукта на некорректных данных:

- при входе в программу и вводе неправильного пароля выводится сообщение: «Неверный пароль;

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

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

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

.4 Руководство пользователя

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

Запуск программы осуществляется приложением Project.exe. После запуска приложения открывается окно авторизации пользователя (рисунок 2.4.1).

Рисунок 2.4.1 - Окно авторизации

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

Рисунок 2.4.2 - Окно ошибки

После успешной авторизации появится форма «Банк» (рисунок 2.4.3).

Рисунок 2.4.3 - Форма «Банк»

Примеры открытых таблиц показаны на рисунках 2.4.4 - 2.4.6.

Рисунок 2.4.4 - Таблица «Сотрудники»

Рисунок 2.4.5 - Таблица «Счета»

Рисунок 2.4.6 - Таблица «Виды вкладов»

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

Рисунок 2.4.7 - Добавление записи в таблицу «Вклады»

Чтобы удалить запись выделите ее и нажмите на кнопку , после чего появится окно подтверждения удаления. Пример представлен на рисунке 2.4.8

Рисунок 2.4.8 - Удаление записи

Просмотр сформированного отчета осуществляется кнопкой  (рисунок 2.4.9) в таблице «Виды вкладов». Пример представлен на рисунке 2.4.10.

Рисунок 2.4.9 - Пункт меню «Отчеты»

Рисунок 2.4.10 - Отчет «По видам вкладов»

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

Сортировка данных возможна в одной таблице.На форме для сортировки отметьте поле, по которому вы хотите сортировать записи. Пример показан на рисунке 2.4.11.

Рисунок 2.4.11 - Сортировка в таблице «Сотрудники»

Просмотр диаграмм осуществляется в главном меню,в форме «Банк». Примеры представлены на рисунках 2.4.12 - 2.4.13.

Рисунок 2.4.12 - Диаграмма по видам вкладов

Рисунок 2.4.13 - Диаграмма по месяцам

Экспорт данных в Excel возможен в одной таблице. Осуществляется нажатием кнопки  на форме «Счета». Пример показан на рисунке 2.4.14.

Рисунок 2.4.14 - Экспорт в Excel таблицы «Счета»

Вызов справки осуществляется выбором пункта  в форме главного меню. Пример вызова справки показан на рисунке 2.4.15.

Рисунок 2.4.15 - Справка

Просмотр образца договора осуществляется нажатием кнопки  . Пример представлен на рисунке 2.4.16.

Рисунок 2.4.16 - Образец договора

Резервное копирование базы данных осуществляется выбором вкладки «Резервное копирование» в пункте меню «Сервис» (рисунок 2.4.17). После чего откроется окно сообщения «Резервное копирование» (рисунок 2.4.18). Затем нажа кнопку «ОК» происходит резервное копирование.

Восстановление базы данных осуществляется выбором вкладки «Восстановление базы данных» в пункте меню «Сервис» (рисунок 2.4.17). После чего откроется окно «Восстановление данных» (рисунок 2.4.19). Затем нажа кнопку «ОК» происходит восстановление данных.

Рисунок 2.4.17 - Пункт меню «Сервис»

Рисунок 2.4.18 - Резервное копирование

Рисунок 2.4.19 - Восстановление данных

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

3 Экономический раздел

3.1 Расчёт затрат на создание программного продукта

Расчет себестоимости машинного часа эксплуатации вычислительной и оргтехники (ВиОТ):

,(3.1)

где См.ч. - себестоимость машинного часа;п - годовой полезный фонд времени работы единицы оборудования;

Кг=0,95 - коэффициент готовности;

Зi -годовые затраты, связанные с эксплуатацией и обслуживанием ВиОТ.

,(3.2)

где FН =1944 - номинальный годовой фонд рабочего времени в часах в 2014 году;

aр=(0,05…0,2) - коэффициент, учитывающий время, затраченное на ремонт, настройку, обслуживание ВиОТ.

Fп=1944*(1-0,05)=1846 (ч.).

Для расчета годовых затрат, необходимо определить балансовую стоимость условного комплекта СБАЛ:

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

Кол-во шт. (кi)

Цена руб. (Цi)

1

Системный блок

1

24650

2

Монитор ЖК

1

5600

3

Клавиатура

1

280

4

Мышь

1

180

5

Принтер

1

3690


Итого:

34400


 (3.3)

где РД - дополнительные расходы на доставку, установку, первоначальную наладку и пр.

 (3.4)

РД = 0,1*(24650*1+5600*1+280*1+180*1+3690*1) = 3440 (руб.).

СБАЛ = 24650*1+5600*1+280*1+180*1+3690*1+3440 = 37840 (руб.).

Затраты на материалы:

 (3.5)

Зм=0,02*37840=756,8

Основная и дополнительная заработная плата персонала, обслуживающего ВиОТ. Предусмотрен 1 человек.

 (3.6)

гдеОi =6000 - оклад i-го работника, обслуживающего ВиОТ,

Кд = 0,1 - коэффициент дополнительной заработной платы,

КР = 0,15 - районный коэффициент,

NобсПК= 20

 » 4554 (руб.).

Начисления на заработную плату НЗ/П составляет 30,2%.

Таблица 3.3 - Состав ЕСН.

Статья

%

1

Пенсионный фонд

22

2

Фонд социального страхования

2,9

3

Федеральный фонд обязательного медицинского страхования

5,1

4

Страховой налог от несчастного случая на производстве для служащих

0,2


Итого:

30,2


 (3.7)

НЗ/П = 0,302*4554 »1375 (руб.).

Амортизационные отчисления ВиОТ.

, (3.8)

где  = 0,2 - норма амортизационных начислений.

АООБОР = 37840 * 0,2 = 7568 (руб.).

Износ программных продуктов.

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

Таблица 3.3 - Используемые программные средства

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

Цена (руб.)

MS Windows XP

4127

Borland Delphi 7

68102

Итого

75895


Амортизационные отчисления программных продуктов - АОпп

, (3.9)

где  = 0,65 - норма амортизационных начислений.

 = 75895 руб. - суммарная стоимость программных продуктов.

АОПП = 75895 * 0,65 = 49331,7 (руб.).

Расходы на содержание и эксплуатацию оборудования.

Расходы на содержание и эксплуатацию оборудования состоят из:

-       затрат на ремонт и специальное обслуживание

;(3.10)

-       затрат на электрическую энергию

,(3.11)

где  - суммарная мощность;

КГ - коэффициент готовности;

ЦкВт/ч - стоимость кВт/ч.

ЗРЕМ=0,03*37840=1135,2 (руб.)

ЗЭ=0,95*1,42

Расходы на содержание и эксплуатацию оборудования

(3.12)

ЗРЭ= 1135,2+1,349=1136,549(руб.)

Прочие расходы.

Так как используется один тип техники и количество обслуживающего персонала не превышает трех человек, следовательно:

(3.13)

ЗПР=0,4*37840=15136 (руб.)

Суммарные годовые затраты.

(3.14)

 

Себестоимость машинного часа, из формулы (1), составляет:

 (руб.).

.2 Расчет цены предложения и минимального количества копий тиражирования

Расчёт цены предложения

ТО = 2 месяца - общее время работы над программным продуктом.

ТМ = 1,5 месяца - машинное время работы над программным продуктом.

Фонд оплаты труда за время работы над программным продуктом.

, (3.15)

где Кд = 0,15 - коэффициент дополнительной заработной платы.

КР = 0,15 - районный коэффициент.

О = 5000 руб. - оклад, работающего над продуктом.

ФОТ =5000*2*(1+0,15)*(1+0,15) = 13225 (руб.).

Начисления на ФОТ:

, (3.16)

НЗ/П = 13225 * 0,302 = 3993,95 (руб.).

Затраты, связанные с эксплуатацией и обслуживанием ВиОТ:

, (3.17)

где ЧРМ = 162 - число рабочих часов в месяце;

КИ = 0,9 - коэффициент использования оборудования.= 1 - количество условных комплектов.

ЗОВТ = 1,5*162*0,9*1*12 = 2624,4 (руб.).

Затраты на хозяйственные операции и нужды (ЗХН):

Таблица 3.4 - Затраты на хозяйственные нужды.

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

Цена за единицу, (руб.)

Количество

Всего

Бумага

95

1

95

Ручка

5

1

5

Картридж принтера

300

1

300

Диск

30

1

30

Итого:

430


ЗХН = 430 руб.

Накладные расходы:

, (3.18)

РН = 0,45*13225 = 5951,25 (руб.).

Полные затраты на разработку программного продукта:

, (3.19)

ЗПОЛ = 19440 + 3314,3 + 2624,4 + 0 + 406 + 5060= 60506 (руб.).

Расчет установочной прибыли:

, (3.20)

где RУ = 20 % - установочная рентабельность.

ПРУ = 60506* 0,2 = 12101,26 (руб.).

Расчет величины налога на добавленную стоимость (НДС):

, (3.21)

НДС = (60506+12101) * 0,18 = 13069 (руб.).

Цена предложения разработанного программного продукта:

, (3.22)

ЦПР = 60506 + 12101 + 13069= 85676,93 (руб.).

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

,(3.23)

где ЦСПР - цена на рынке одной копии программного продукта;

ЗТИРАЖ -затраты на тиражирование одной копии программного продукта.

,(3.24)

где СCD- цена диска - носителя;

Ттираж - время копирования.

Заключение

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

Результатом работы стало создание программного обеспечения. Программа Project.exe написана на языке Object Pascal в среде программирования Delphi 7.0. с использованием СУБД Paradox 7, предназначена для работы в операционной системе MS Windows XP и отлажена на данных контрольного примера.

В процессе разработки дипломного проекта были приобретены навыки в области построения баз данных, а также их программной защиты. Кроме того, был разработан дружественный интерфейс.

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

Приложение А

PasswordDlgUnit;Windows, SysUtils, Classes, Graphics, Forms, Controls, StdCtrls, , jpeg, ExtCtrls;= class(TForm): TButton;: TImage;: TEdit;: TButton;OKBtnClick(Sender: TObject);Button1Click(Sender: TObject);

{ Private declarations }

{ Public declarations };: TPasswordDlg;mainUnit;

{$R *.dfm}TPasswordDlg.OKBtnClick(Sender: TObject);edit1.Text='123' then.Show;.Hide;.MessageBox('Неверный пароль','Неверный пароль');;TPasswordDlg.Button1Click(Sender: TObject);.Terminate;;.mainUnit;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, ComCtrls, Buttons, jpeg, ExtCtrls;= class(TForm): TImage;: TSpeedButton;: TSpeedButton;: TSpeedButton;SpeedButton2Click(Sender: TObject);SpeedButton3Click(Sender: TObject);SpeedButton1Click(Sender: TObject);SpeedButton4Click(Sender: TObject);FormCreate(Sender: TObject);

{ Private declarations }

{ Public declarations };: TmainForm;Sotrudniki, Unit2, Unit3, Unit4, Unit9, Unit10;

{$R *.dfm}TmainForm.SpeedButton2Click(Sender: TObject);.Hide;.Show;;TmainForm.SpeedButton3Click(Sender: TObject);.Hide;.Show;;TmainForm.SpeedButton1Click(Sender: TObject);.Hide;.Show;;TmainForm.SpeedButton4Click(Sender: TObject);.Hide;.Show;;TmainForm.FormCreate(Sender: TObject);:= ExtractFilePath(Application.ExeName) + 'help\sber.chm';;.Unit1;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, Grids, DBGrids, StdCtrls, ExtCtrls, DBCtrls, ShellAPI, ComObj;= class(TForm): TDBGrid;: TButton;: TButton;: TButton;: TLabel;: TLabel;: TComboBox;: TButton;: TButton;: TLabel;: TButton;: TButton;: TLabel;: TLabel;: TButton;Button6Click(Sender: TObject);Button3Click(Sender: TObject);Button4Click(Sender: TObject);Button2Click(Sender: TObject);FormShow(Sender: TObject);Button1Click(Sender: TObject);Button5Click(Sender: TObject);Button7Click(Sender: TObject);Button8Click(Sender: TObject);

{ Private declarations }

{ Public declarations };: TForm1;mainDataModuleUnit, mainUnit, Unit5, Unit4, Unit11, Unit6;

{$R *.dfm}TForm1.Button6Click(Sender: TObject);.Hide;.Show;;TForm1.Button3Click(Sender: TObject);.Query1.SQL.Clear;.Query1.SQL.Add('SELECT (SELECT SUM(Prixod) FROM Vkladu WHERE N_cheta = '''+form1.ComboBox1.Text + ''')-(SELECT SUM(Rasxod) FROM Vkladu WHERE N_cheta = '''+form1.ComboBox1.Text + ''') FROM Vkladu');.Query1.Open;.Caption:=mainDataModule.Query1.Fields[0].AsString + ' руб.';.Query1.SQL.Clear;.Query1.SQL.Add('SELECT * FROM Vkladu');.Query1.SQL.Add('WHERE N_cheta = '''+form1.ComboBox1.Text + '''');.Query1.Open;.DBGrid1.DataSource:= mainDataModule.DataSource5;.Edit1.Text:=mainDataModule.Query1.Fields[1].AsString;.Visible:=true;.Visible:=true;.Visible:=true;.Visible:=true;.Visible:=true;;TForm1.Button4Click(Sender: TObject);.Show;;TForm1.Button2Click(Sender: TObject);.Query2.Active:=False;.Query2.SQL.Clear;.Query2.SQL.Add('SELECT * FROM Klientu');.Query2.SQL.Add('WHERE N_cheta = '''+ComboBox1.Text + '''');.Query2.Open;.DBGrid1.DataSource:= mainDataModule.DataSource6;;TForm1.FormShow(Sender: TObject);.Items.Clear;not mainDataModule.Query2.Eof do.Items.Add(mainDataModule.Query2.Fields.FieldByName('N_cheta').AsString);.Query2.Next;;;TForm1.Button1Click(Sender: TObject);.Visible:=false;.Visible:=false;.Visible:=false;.Visible:=false;.Visible:=false;;TForm1.Button5Click(Sender: TObject);.Show;;TForm1.Button7Click(Sender: TObject);messageDlg('Удалить запись?',, [mbYes,mbNo], 0)=mrYes then mainDataModule.Table5.Delete;;TForm1.Button8Click(Sender: TObject);i,j,index:byte;, sheet:Variant;:=createOleObject('Excel.Application');.Visible:=True;.WorkBooks.Add(-4167);.WorkBooks[1].WorkSheets[1].Name:='счета';:=ExcelApp.WorkBooks[1].WorkSheets['счета'];:=2;.dbgrid1.DataSource.DataSet.First;i:=1 to form1.dbgrid1.DataSource.DataSet.RecordCount do beginj:=1 to form1.dbgrid1.FieldCount do.cells[index, j]:=form1.dbgrid1.Fields[j-1].AsString;(index);.dbgrid1.DataSource.DataSet.Next;;;.Unit2;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, Grids, DBGrids, StdCtrls, ExtCtrls, DBCtrls, DB, DBTables,, RpDefine, RpCon, RpConDS;= class(TForm): TDBGrid;: TButton;: TRadioGroup;: TCheckBox;: TCheckBox;: TEdit;: TEdit;: TButton;: TButton;: TButton;Button5Click(Sender: TObject);Button1Click(Sender: TObject);Button3Click(Sender: TObject);

{ Private declarations }

{ Public declarations };: TForm2;mainUnit, mainDataModuleUnit, Unit6, Unit9;

{$R *.dfm}TForm2.Button5Click(Sender: TObject);.Hide;.Show;;TForm2.Button1Click(Sender: TObject);KeyFields: string;: variant;: TLocateOptions;not (CheckBox1.Checked or CheckBox2.Checked) then('Не заданы условия поиска!',mtInformation, [mbOK],0);;;CheckBox1.Checked and CheckBox2.Checked then:='Kod_vklada;%_stavka';:=VarArrayOf([Edit1.Text, Edit2.Text]);CheckBox1.Checked then:='Kod_vklada';:=Edit1.Text;;CheckBox2.Checked then:='%_stavka';:=Edit2.Text;;;:=[loCaseInsensitive, loPartialKey];not mainDataModule.Table4.Locate(KeyFields,KeyValues,Options) then;('Запись не найдена!',mtInformation, [mbOK],0);;;;TForm2.Button3Click(Sender: TObject);.QuickRep1.Preview;;.Unit3;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, StdCtrls, Grids, DBGrids, ExtCtrls, DBCtrls, ExcelXP, ComObj,, Series, TeeProcs, Chart, DbChart;= class(TForm): TDBGrid;: TButton;: TButton;: TButton;: TLabel;: TButton;: TButton;: TButton;Button4Click(Sender: TObject);DBGrid1TitleClick(Column: TColumn);Button1Click(Sender: TObject);Button2Click(Sender: TObject);Button3Click(Sender: TObject);Button5Click(Sender: TObject);Button6Click(Sender: TObject);

{ Private declarations }

{ Public declarations };: TForm3;mainDataModuleUnit, Unit7, mainUnit, Unit12;

{$R *.dfm}TForm3.Button4Click(Sender: TObject);.Hide;.Show;;TForm3.DBGrid1TitleClick(Column: TColumn);.table2.IndexFieldNames:=Column.FieldName;;TForm3.Button1Click(Sender: TObject);.Table2.IndexFieldNames:='FIO';;TForm3.Button2Click(Sender: TObject);.Table2.IndexFieldNames:='Stash';;TForm3.Button3Click(Sender: TObject);.ShowModal;;TForm3.Button5Click(Sender: TObject);.ShowModal;;TForm3.Button6Click(Sender: TObject);messageDlg('Удалить запись?',, [mbYes,mbNo], 0)=mrYes then mainDataModule.Table2.Delete;;.Unit4;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, ExtCtrls, TeeProcs, TeEngine, Chart, DbChart, Series;= class(TForm): TDBChart;: TPieSeries;: TBarSeries;FormCreate(Sender: TObject);

{ Private declarations }

{ Public declarations };: TForm4;mainDataModuleUnit;

{$R *.dfm}TForm4.FormCreate(Sender: TObject);.Query4.Active:=true;;.Unit5;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, StdCtrls, Mask, DBCtrls, Buttons, ComCtrls;= class(TForm): TLabel;: TLabel;: TLabel;: TLabel;: TBitBtn;: TBitBtn;: TEdit;: TEdit;: TEdit;: TDateTimePicker;BitBtn1Click(Sender: TObject);BitBtn2Click(Sender: TObject);FormCreate(Sender: TObject);

{ Private declarations }

{ Public declarations };: TForm5;mainDataModuleUnit, mainUnit, Unit4, Sotrudniki;

{$R *.dfm}TForm5.BitBtn1Click(Sender: TObject);DateTimePicker1.Date < Date then('Вы пытаетесь добавить задним числом!')

else(Edit1.Text = '01360179') or (Edit1.Text = '02369899') or (Edit1.Text = '59207788') then('Недопустимый номер счета!')

elsemainDataModule.Table5 do;('N_cheta').AsString:=Edit1.Text;('Data').AsString:=DateToStr(DateTimePicker1.Date);('Prixod').AsString:=Edit2.Text;('Rasxod').AsString:=Edit3.Text;('Tab_N_sotr').AsString:='3';;;;.Query1.Active:=false;.Query1.Active:=true;.DBGrid1.Refresh;.Close;;;;TForm5.BitBtn2Click(Sender: TObject);.Close;;TForm5.FormCreate(Sender: TObject);.Date:=Date;;.Unit6;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, StdCtrls, Grids, DBGrids, DB, DBTables, shellapi, ComObj;= class(TForm): TTable;: TDataSource;: TDBGrid;: TButton;: TButton;: TButton;: TButton;: TButton;Button1Click(Sender: TObject);Button2Click(Sender: TObject);Button3Click(Sender: TObject);Button4Click(Sender: TObject);Button5Click(Sender: TObject);

{ Private declarations }

{ Public declarations };: TForm6;Unit11, mainUnit;

{$R *.dfm}TForm6.Button1Click(Sender: TObject);.Insert;.ShowModal;;TForm6.Button2Click(Sender: TObject);.ShowModal;;TForm6.Button3Click(Sender: TObject);messageDlg('Удалить запись?',, [mbYes,mbNo], 0)=mrYes then Table1.Delete;;TForm6.Button4Click(Sender: TObject);.Hide;.show;;TForm6.Button5Click(Sender: TObject);: string;, Document, ADocument: OleVariant;: Integer;: string;: OleVariant;CompareBm(ABmName: string; const AName: string): Boolean;: Integer;:= Pos('__', ABmName);i > 0 then(ABmName, i, Length(ABmName) - i + 1);:= SameText(ABmName, AName);;:= ExtractFilePath(Application.ExeName) + 'dogovor.dot';

// Если нет то запускаем:= CreateOleObject('Word.Application');E: Exception do('Не удалось запустить Word!'#13#10 + E.Message);

Exit;;;.Cursor := crHourGlass;

// Создание нового документа на основе шаблона

Document := WordApp.Documents.Add(Template := TempleateFileName, NewTemplate := False);:=Document;

// Заменяем закладки на данные

for i := ADocument.Bookmarks.Count downto 1 do:= ADocument.Bookmarks.Item(i).Name;:= ADocument.Bookmarks.Item(i).Range;CompareBm(BookmarkName, 'klientnum') then.Text := Table1.FieldByName('N_dogovora').AsStringCompareBm(BookmarkName, 'klientname1') then.Text := Table1.FieldByName('FIO').AsString;CompareBm(BookmarkName, 'klientname') then.Text := Table1.FieldByName('FIO').AsStringCompareBm(BookmarkName, 'passn') then.Text := Table1.FieldByName('Pasport').AsString;CompareBm(BookmarkName, 'bdate') then.Text := Table1.FieldByName('DTR').AsString;CompareBm(BookmarkName, 'number') then.Text := Table1.FieldByName('telefon').AsString;;

end;

// По умолчание окно Word скрыто, делаем его видимым с готовым отчетом

WordApp.Visible := True;

finally

// Необходимо для удаления экземпляра Word.

WordApp := Unassigned;.Cursor := crDefault;;;.Unit7;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, Series, TeEngine, ExtCtrls, TeeProcs, Chart, DbChart, BubbleCh;= class(TForm): TDBChart;: TPieSeries;: TBarSeries;: TBubbleSeries;FormCreate(Sender: TObject);

{ Private declarations }

{ Public declarations };: TForm7;mainDataModuleUnit;

{$R *.dfm}TForm7.FormCreate(Sender: TObject);.Query3.Active:=true;;.Unit9;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, QRCtrls, QuickRpt, ExtCtrls;= class(TForm): TQuickRep;: TQRBand;: TQRBand;: TQRBand;: TQRBand;: TQRBand;: TQRSysData;: TQRLabel;: TQRLabel;: TQRLabel;: TQRLabel;: TQRSysData;: TQRDBText;: TQRDBText;: TQRDBText;

{ Private declarations }

{ Public declarations };: TForm8;mainDataModuleUnit;

{$R *.dfm}.Unit11;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, StdCtrls, Mask, DBCtrls, Buttons;= class(TForm): TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TDBEdit;: TDBEdit;: TDBEdit;: TDBEdit;: TDBEdit;: TDBEdit;: TDBEdit;: TBitBtn;: TBitBtn;

{ Private declarations }

{ Public declarations };: TForm11;

{$R *.dfm}.Unit12;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, StdCtrls, Buttons, Mask, DBCtrls;= class(TForm): TLabel;: TLabel;: TLabel;: TBitBtn;: TBitBtn;: TLabel;: TLabel;: TLabel;: TEdit;: TEdit;: TEdit;: TEdit;: TEdit;: TEdit;BitBtn1Click(Sender: TObject);

//procedure DBEdit1Change(Sender: TObject);

{ Private declarations }

{ Public declarations };: TForm12;Unit3, mainDataModuleUnit;

{$R *.dfm}TForm12.BitBtn1Click(Sender: TObject);.Table2.Insert;.Table2.FieldByName('Tab_nomer').AsString:=Edit1.Text;.Table2.FieldByName('FIO').AsString:=Edit2.Text;.Table2.FieldByName('DTR').AsString:=Edit3.Text;.Table2.FieldByName('Dolshnost').AsString:=Edit4.Text;.Table2.FieldByName('Stash').AsString:=Edit5.Text;.Table2.FieldByName('Telefon').AsString:=Edit6.Text;.Table2.Post;;.AboutBoxUnit;Windows, SysUtils, Classes, Graphics, Forms, Controls, StdCtrls,, ExtCtrls, jpeg;= class(TForm): TPanel;: TImage;: TLabel;: TLabel;: TLabel;: TLabel;: TButton;OKButtonClick(Sender: TObject);

{ Private declarations }

{ Public declarations };: TAboutBox;

{$R *.dfm}TAboutBox.OKButtonClick(Sender: TObject);.Close;;. mainDataModuleUnit;

продолжение приложения А

interface

uses, ShellAPI, Classes, Menus, DB, DBTables, Messages, Windows, Forms, ComObj, Dialogs;= class(TDataModule): TMainMenu;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TDataSource;: TMenuItem;: TDataSource;: TTable;: TTable;: TDataSource;: TTable;: TDataSource;: TTable;: TMenuItem;N_cheta: TStringField;Data: TDateField;Prixod: TCurrencyField;Rasxod: TCurrencyField;: TQuery;: TDataSource;: TQuery;: TDataSource;N_cheta: TStringField;FIO: TStringField;DTR: TDateField;Telefon: TStringField;Pasport: TStringField;N_dogovora: TStringField;Kod_vklada: TStringField;Tab_nomer: TStringField;FIO: TStringField;DTR: TDateField;Dolshnost: TStringField;Stash: TStringField;Telefon: TStringField;: TMenuItem;: TDataSource;: TQuery;: TMenuItem;: TDataSource;: TTable;: TMenuItem;: TDataSource;: TQuery;: TQuery;Kod_vklada: TStringField;Naim_vklada: TStringField;_stavka: TStringField;Status_cheta: TStringField;N: TAutoIncField;N_cheta: TStringField;Data: TDateField;Prixod: TCurrencyField;Rasxod: TCurrencyField;Tab_N_sotr: TStringField;N8Click(Sender: TObject);N11Click(Sender: TObject);N12Click(Sender: TObject);N9Click(Sender: TObject);N5Click(Sender: TObject);N6Click(Sender: TObject);N13Click(Sender: TObject);N14Click(Sender: TObject);N3Click(Sender: TObject);

{ Private declarations }

{ Public declarations };: TmainDataModule;AboutBoxUnit, mainUnit, Unit3, Unit9, Unit10, Unit7, Unit4;

{$R *.dfm}TmainDataModule.N8Click(Sender: TObject);.Show;;TmainDataModule.N11Click(Sender: TObject);.Terminate;;TmainDataModule.N12Click(Sender: TObject);.QuickRep1.Preview;;TmainDataModule.N9Click(Sender: TObject);S:string;:integer;MessageDlg('Произвести резервное копирование?',mtCustom, mbOKCancel, 0) = 1 then:=ExtractFilePath(Application.ExeName);(pansichar('xcopy /Y '+S+'DB '+S+'backup\'),SW_HIDE);('Копирование закончено');;;TmainDataModule.N5Click(Sender: TObject);(Application.Handle, 'open', 'help\spravka.chm',nil, nil, SW_SHOW);;TmainDataModule.N6Click(Sender: TObject);(Application.Handle, 'open', 'help\sber.chm',nil, nil, SW_SHOW);;TmainDataModule.N13Click(Sender: TObject);.Show;;TmainDataModule.N14Click(Sender: TObject);S:string;:integer;MessageDlg('Произвести восстановление данных?',mtCustom, mbOKCancel, 0) = 1 then:=ExtractFilePath(Application.ExeName);(pansichar('xcopy /Y '+S+'backup '+S+'DB\'),SW_HIDE);('Данные восстановлены');;;TmainDataModule.N3Click(Sender: TObject);.Show;;.

Похожие работы на - Разработка автоматизированной системы учета вкладов в банке

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!