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

Тип работы:
Дипломная
Предмет:
Программирование


Узнать стоимость

Детальная информация о работе

Выдержка из работы

Реферат

Пояснительная записка курсовой работы содержит 49 страниц мп текста формата А4, 17 иллюстраций, 2 приложение, 5 таблиц.

БУХГАЛТЕР, ЧЕК, ПРИХОДНЫЙ ОРДЕР, РАСХОДНЫЙ ОРДЕР, ВЕДОМОСТЬ ВЫПЛАТ, БАЗА ДАННЫХ, ЗАПРОС, БИЗНЕСС-ПРОЦЕСС.

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

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

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

Содержание

Нормативные ссылки

Термины и определения

Сокращения

Введение

1. Анализ требований к программному продукту

1.1 Требования к функциональным характеристикам

1.2 Требования к составу и параметрам технических средств

1.3 Требования к информационной и программной совместимости

1.4 Требования к программной документации

1.5 Стадии и этапы разработки

1.6 Порядок контроля и приемки

2. Проектирование архитектуры программного продукта

2.1 Описание среды разработки ПО

2.1.1 Общие сведения о MS Office Access

2.1.2 Общие сведения о С++

2.2 Определение функций и формализация спецификаций требований на основные функции и обслуживающие программные и информационные компоненты

2.2.1 Диаграмма вариантов использования

2.2.2 Диаграмма последовательности

3. Детальное проектирование

3.1 Структура БД

3.2 Диаграмма классов

3.3 Диаграмма компонентов

3.4 Технология разработки программного модуля

4. Руководство программиста

Заключение

Список используемых источников

Приложение А. Листинг программы

программный продукт информационный

Нормативные ссылки

ГОСТ 19. 101 — 77 ЕСПД. Виды программ и программных документов.

ГОСТ 19. 201 — 78 ЕСПД. Техническое задание. Требования к содержанию и оформлению.

ГОСТ 19. 202 — 78 ЕСПД. Спецификация. Требования к содержанию и оформлению.

ГОСТ 19. 301 — 79 ЕСПД. Программа и методика испытаний. Требования к содержанию и оформлению.

ГОСТ 19. 401 — 78 ЕСПД. Текст программы. Требования к содержанию и оформлению.

ГОСТ 19. 402 — 78 ЕСПД. Описание программы. Требования к содержанию и оформлению.

ГОСТ 19. 501 — 78 ЕСПД. Формуляр. Требования к содержанию и оформлению.

ГОСТ 19. 502 — 78 ЕСПД. Описание применения. Требования к содержанию и оформлению.

ГОСТ 19. 503 — 79 ЕСПД. Руководство системного прграммиста. Требования к содержанию и оформлению.

ГОСТ 19. 504 — 79 ЕСПД. Руководство прграммиста. Требования к содержанию и оформлению.

ГОСТ 19. 505 — 79 ЕСПД. Руководство оператора. Требования к содержанию и оформлению.

ГОСТ 19. 507 — 79 ЕСПД. Ведомость эксплуатационных документов.

ГОСТ 19. 508 — 79 ЕСПД. Руководство по техническому обслуживанию. Требования к содержанию и оформлению.

ГОСТ 2. 301 — 68 ЕСКД. Форматы.

ГОСТ 7.1 — 84 СИБИД. Библиографическое описание документа. Общие требования и правила составления.

ГОСТ 7.9 — 95 СИБИД. Реферат и аннотация. Общие ребования.

ГОСТ 7. 32 — 2001 СИБИД. Отчет о научно-исследовательской работе. Стуктура и правила оформления.

Р 50 — 70 — 88 Рекомендация. ЕСКД. Правила выполнения диаграмм.

ГОСТ Р ИСО/МЭК 92 991−93 ЕСПД. Руководство по управлению документированием программного обеспечения.

ИСО 12 207−95. Информационная технология. Жизненный цикл ПО.

ГОСТ Р ИСО/МЭК 1926−93. Информационная технология. Оценка программной продукции. Характеристики качества и руководства по их применению.

ГОСТ 19. 701−90 (ИСО 5807−85). Единая система программной документации. Схемы алгоритмов, программ, данных и систем.

Термины и определения

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

СУБД — специализированная программа (чаще комплекс программ), предназначенная для организации и ведения базы данных.

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

Реляционная БД — база данных, основанная на реляционной модели.

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

Объектно-ориентированный подход — парадигма программирования, в которой основными концепциями является понятия объектов и классов.

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

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

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

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

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

Сокращения

БД — база данных.

СУБД — система управления базами данных.

ПО — программное обеспечение.

ГОСТ — государственный стандарт.

ООП — объектно-ориентированный подход.

ЗП — заработная плата.

HDD — жесткий диск (Hard Disk Driver).

RAM — оперативная память (Random Access Memory).

ЕСПД — единая система программной документации.

ЕСКД — единая система конструкторной документации.

СИБИД — система стандортов по информации, библиотечному и издательскому делу.

Введение

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

· «КонсультантПлюс» (компания «КонсультантПлюс»);

· «1С: Бухгалтерия» (фирма «1С»);

· ДИЦ («Турбо Бухгалтер»);

· «Референт» (фирма «Референт-Сервис»);

«1С: Бухгалтерия» позволяет автоматизировать ведение всех разделов бухгалтерского учета. Программа позволяет выполнять ввод, хранение и печать любых первичных документов. «1С: Бухгалтерия» позволяет автоматизировать подготовку любых первичных документов:

· платежные поручения;

· счета на оплату и счета-фактуры;

· приходные и расходные кассовые ордера;

· акты, накладные, требования, доверенности;

Программа «ТУРБО БУХГАЛТЕР» — универсальная программа автоматизации бухгалтерского учета и делопроизводства предприятий. Она обеспечивает:

· ведение синтетического и аналитического, в том числе многовалютного учета;

· автоматизированное составление, хранение и печать первичных бухгалтерских документов и форм отчетности;

· настройку рабочего плана счетов, типовых операций, аналитического учета, форм первичных документов, форм отчетности и др. ;

· ведение учета на нескольких рабочих местах и ведение нескольких бухгалтерий на одном компьютере.

1. Анализ требований к программному продукту

1.1 Требования к функциональным характеристикам

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

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

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

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

1.2 Требования к составу и параметрам технических средств

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

· процессор Pentium — III 1,2 GHz;

· 256 MB RAM;

· 250 MB HDD;

· операционная система Windows 98/Me/2000/XP.

1.3 Требования к информационной и программной совместимости

Программа «Финансист» разработана в среде Borland C++ Builder 6.0 с использованием баз данных Microsoft Office Access 97−2003 благодаря широким возможностям среды, таким как надежная разработка приложений для электронного бизнеса, наличие драйверов баз данных ADO, обеспечивающих высокопроизводительную работу приложений с такими СУБД, Microsoft SQL Server, Access.

Microsoft Office Access 97−2003 имеет широкий спектр функций, включая связанные запросы, сортировку по разным полям, связь с внешними таблицами и базами данных.

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

1.4 Требования к программной документации

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

— техническое задание (ГОСТ 19. 201), определяющее требования, предъявляемые к ПО, необходимые стадии и сроки разработки, виды испытаний;

— спецификация (ГОСТ 19. 202), содержащая состав ПО и документацию на него;

— методика и программа испытаний (ГОСТ 19. 301), содержащую требования, подлежащие проверке при испытании ПО, а также порядок и методы их контроля;

— тексты программ (ГОСТ 19. 401) — записи программ с необходимыми комментариями;

— описание программы (ГОСТ 19. 402), в котором содержатся сведения о логической структуре и функционировании ПО;

— пояснительная записка (ГОСТ 19. 201), включающая общее описание алгоритмов и функционирования ПО.

1.5 Стадии и этапы разработки

К стадиям разработки программного продукта относятся следующие:

— техническое задание;

— эскизный проект;

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

— рабочий проект;

— внедрение и сопровождение.

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

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

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

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

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

1.6 Порядок контроля и приемки

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

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

2. Проектирование архитектуры программного продукта

2.1 Описание среды разработки ПО

Borland C++Builder 6 — это мощная и надежная среда быстрой разработки высокоэффективных web-служб и приложений для электронного бизнеса. Поддержка платформы BizSnap позволяет создавать web-службы и средства коммуникации согласно новейшим стандартам SOAP/XML для интеграции приложений B2B (business-to-business).

Драйверы баз данных dbGo for ADO, dbExpress и BDE, входящие в состав C++Builder, обеспечивают высокопроизводительную работу приложений с такими СУБД, как DB2, Informix, Oracle, Sybase, Microsoft SQL Server, MySQL, Access, Paradox и InterBase. Широкий выбор управляемых данными элементов интерфейса дает возможность быстро создавать прототипы приложений.

C++Builder включает обширный набор средств, которые повышают производительность труда программистов и сокращают продолжительность цикла разработки. Многофункциональная интегрированная среда разработки C++Builder включает компилятор, удовлетворяющий стандарта ANSI/ISO, встроенный дизайнер форм, богатый набор средств для работы с компонентами, инструмент Object Inspector, менеджер проектов и отладчик.

2.1.1 Общие сведения о MS Office Access

Microsoft Access -- реляционная СУБД корпорации Microsoft. Имеет широкий спектр функций, включая связанные запросы, сортировку по разным полям, связь с внешними таблицами и базами данных. Благодаря встроенному языку VBA, в самом Access можно писать приложения, работающие с базами данных.

Основные компоненты MS Access:

· просмотр таблиц;

· построитель экранных форм;

· построитель SQL-запросов (язык SQL в MS Access не соответствует стандарту ANSI);

· построитель отчётов, выводимых на печать.

Все они могут вызывать скрипты на языке VBA. Таким образом, MS Access позволяет разрабатывать приложения и БД практически «с нуля» или написать оболочку для внешней БД. Является файл-серверной СУБД и потому применима лишь к маленьким приложениям. Отсутствует ряд механизмов необходимых в многопользовательских БД, такого, например, как транзакции. Опыт показывает, что даже для проектов на 5−20 пользователей предпочтительно использовать клиент-серверные решения.

Управление приложениями семейства Microsoft Office осуществляется интерактивно -- с помощью интерфейса пользователя или программно -- с помощью объектных моделей. Каждый из компонентов Microsoft Office предоставляет свои объектные модели в виде одноименной библиотеки объектов (файл с расширением olb), которая может быть использована в других приложениях.

Microsoft Access, как компонент Microsoft Office, имеет такую библиотеку- Microsoft Access 10.0 Object Library. Доступ и управление данными в Microsoft Access могут осуществляться с помощью объектных моделей, реализованных в нескольких библиотеках:

· библиотека объектов Microsoft Access (Microsoft Access 10.0 Object Library);

· библиотека объектов доступа к данным (Microsoft DAO 3.6 Object Library);

· библиотека объектов ActiveX (Microsoft ActiveX Data Objects 2. 6);

· расширения ADO для поддержки DDL и защиты информации (Microsoft ADO Extensions 2.6 for DDL and Security);

· библиотека объектов Microsoft Jet и репликации (Microsoft Jet and Replication Objects 2. 6).

Кроме этого, в приложениях Access обычно используются:

библиотека объектов Visual Basic (Microsoft Visual Basic for Applications);

библиотека объектов Microsoft Office (Microsoft Office 10.0 Object Library). Две эти библиотеки являются общими для всех приложений Microsoft Office.

Кроме перечисленных библиотек объектов, при написании программ в приложениях Access могут использоваться библиотеки, предоставляемые другими приложениями Microsoft Office, например Microsoft Excel 10.0 Object Library или Microsoft Word 10.0 Object Library. В этом случае приложение Access выступает в качестве клиентского приложения Automation, обеспечивая совместную работу нескольких компонентов Microsoft Office.

2.1.2 Общие сведения о С++

Си++ (англ. C++) -- компилируемый строго типизированный язык программирования общего назначения. Поддерживает разные парадигмы программирования: процедурную, обобщённую, функциональную; наибольшее внимание уделено поддержке объектно-ориентированного программирования.

Название «Си++» происходит от Си, в котором унарный оператор ++ обозначает инкремент переменной.

В 1990-х годах язык стал одним из наиболее широко применяемых языков программирования общего назначения.

Стандарт Си++ на 1998 год состоит из двух основных частей: ядра языка и стандартной библиотеки.

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

Си++ добавляет к Си объектно-ориентированные возможности. Он вводит классы, которые обеспечивают три самых важных свойства ООП: инкапсуляцию, наследование и полиморфизм.

Основным способом организации информации в Си++ являются классы. В отличие от типа структура (struct) языка Си, которая может состоять только из полей и вложенных типов, класс (class) Си++ может состоять из полей, вложенных типов и функций-членов (member functions). Члены класса бывают публичными (открытыми, public), защищёнными (protected) и собственными (закрытыми, приватными, private). В Си++ тип структура аналогичен типу класс, отличие в том, что по умолчанию члены и базовые классы у структуры публичные, а у класса -- собственные.

С открытыми (публичными) членами класса можно делать снаружи класса всё, что угодно. К закрытым (приватным) членам нельзя обращаться извне класса, чтобы не нарушить целостность данных класса. Попытка такого обращения вызовет ошибку компиляции. К таким членам могут обращаться только функции-члены класса (а также так называемые функции-друзья и функции-члены классов-друзей; о понятии друзей в C++). Помимо открытых и закрытых членов класса, могут быть ещё и защищённые -- это члены, доступные содержащему их классу, его друзьям, а также производным от него классам. Такая защита членов называется инкапсуляцией.

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

2.2 Определение функций и формализация спецификаций требований на основные функциональные и обслуживающие программные и информационные компоненты

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

Основным критерием для многих является базовый функционал системы. Это один из самых обширных для анализа критериев. В настоящее время предлагаемый функционал наиболее используемых систем схож. Большинство программ имеют транзакционный тип ввода данных (информация в виде первичных документов вводится в систему, при проведении которых автоматически формируются предопределенные проводки) и позволяют вести классический бухгалтерский учет в соответствии с ПБУ (положением по бухгалтерскому учету) [9].

Ниже приведен перечень стандартных функций для большинства систем:

· Оформление первичных документов

· Учет банковских и кассовых операций

· Учет заработной платы, кадровый и персонифицированный учет

· Построение стандартных бухгалтерских отчетов

· Автоматическое формирование регламентированной отчетности.

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

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

2.2.1 Диаграмма вариантов использования

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

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

Оформляется соответствующий отчет о проделано операции и выводится на печать. В таблицу учета финансово-расчетных операций поступают сведения о выполненных процессах.

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

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

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

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

· регистрация/авторизация;

· выбор процесса;

· запрос на просмотр счета;

· поиск таблицы счетов;

· загрузка таблицы счетов;

· корректировка данных, указание целей расхода;

· просмотр формы для печати;

· отправка чека на печать.

Диаграмма вариантов использования изображена на рисунке 1:

Рисунок1. Диаграмма вариантов использования

2.2.2 Диаграмма последовательности

В предметную область данного бизнес-процесса входит следующее: для получения денег в банке бухгалтер выписывает чек и подписывает его у руководителя предприятия. С этим чеком идет в банк и получает указанную в чеке сумму. В чеке расписывается, на какие цели берутся наличные деньги (на зарплату, на материалы и т. д.). В зависимости от цели бак начисляет комиссионные. Например, на зарплату комиссионные не начисляются. Придя в (свою) кассу бухгалтер оформляет документ «приходный ордер» на сумму поступивших средств. Работники могут вносить и получать деньги в кассе. Происходит это по приходным и расходным ордерам. Так как не все операции можно автоматизировать, то для данной программы диаграмма последовательностей выглядит следующим образом (рисунок 2):

Рисунок 2. Диаграмма последовательности

3. Детальное проектирование

3.1 Структура БД

Структурная схема БД представлена на рисунке 3:

Рисунок 3. Схема БД

3.2 Диаграмма классов

Диаграмма классов представлена на рисунке 4:

Рисунок 4. Диаграмма классов

Рассмотрим структуру банковского чека (рисунок 5):

Рисунок 5

3.3 Диаграмма компонентов

Рисунок 6

3.4 Технология разработки программного модуля

При запуске программы пользователь попадает на главную форму, представленную на рисунке 6:

Рисунок 6. Окно главной формы

Поля Edit1 и Edit3 служат для ввода логина и пароля пользователя и при нажатии кнопки Ок переводят к Form3, где зарегистрированному пользователя будет представлен ряд операций. Причем, если пользователь бухгалтер, то доступными будут все операции, а если работник, то только приходно-расходные ордеры. Переход к форме осуществляется с помощью команды Form3-> Show (), необходимо также указать в директивах #include «Unit5. h». Кнопка < <Выход>> позволяет закрыть приложение командой Close ().

В случае, если имя пользователя или пароль не совпадают с зарегистрированными, то программа выдает предупреждающее сообщение (рисунок 7):

Рисунок 7

Если в системы вошел бухгалтер, окно Form3 выглядит следующим образом (рисунок 8):

Рисунок 8

В данной форме пользователю предстоит выбрать требуемую операцию, нажав на соответствующий объект Button1−4. При нажатии на кнопку < <Выход>> закрывается данное окно и пользователь переходит к главной форме. Кнопка < <Количество операций> > дает информацию о совершенных операциях (рисунок 9):

Рисунок 9

При нажатии на кнопку < <Выписать чек> > пользователь переходит к Form2 c помощью команды Form2-> Show (). Окно формы представлено на рисунке 10:

Рисунок 10

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

Рисунок 11

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

Связь с БД осуществляется путем указания полного адреса БД в объекте ADOConnection1, а также указания типа БД (MS Office Access) и имени пользователя и пароля. Навигация по таблице осуществляется с помощью объекта DataSource1, в котором указывается имя соединения DataSet1. Связь с таблицей осуществляется с помощью объекта ADOTable, в опциях которого указывается имя соединения, название таблицы, в поле Active необходимо установить состояние true.

Для осуществления операции печати чека, необходимо нажать на кнопку «Отправить на печать», открывается следующая форма, представленная на рисунке 12:

Рисунок 12. Форма для печати

На представленной форме размещены поля QRLabel, заполненные ранее введенными данными, и QRDBText содержащие выделенные поля ранее заполненной таблицы. Связь с необходимой таблицей осуществляется при помощи указания соответствующего имени соединения в поле DataSet.

При нажатии Button1 пользователь переходит в окно предварительного просмотра (рисунок 13), где может быть выбрана операция печати, масштабирования, сохранения, либо отмены операции:

Рисунок 13. Окно предварительного просмотра

В случае, если пользователь выбрал операцию «Выплата З П работникам», он переходит к Form4, представленной на рисунке 14:

Рисунок 14

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

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

При составлении приходного ордера в соответствующем окне (рисунок 15) открывается таблица приходных ордеров и вносятся некоторые коррективы, после чего измененные данные сохраняются в БД:

Рисунок 15. Приходный ордер

Кнопка «Назад» переводит пользователя в главное окно программы, «Выход» закрывает окна.

При составлении расходного ордера в соответствующем окне (рисунок 16) открывается соответствующая таблица, в которую вносятся коррективы и сохраняются в БД:

Рисунок 16. Расходный ордер

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

Рисунок 17

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

4. Руководство программиста

В данном курсовом проекте представлена программа «Финансист», разработанная в среде Borland C++ Builder на языке С++ с использованием встроенных запросов к БД MS Office Access. Данная программа запускается с помощью файла Project1. exe.

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

Таблица № 1. Реестр файлов

Имя файла

Объем файла (КБ)

Функции файла

Примечания

Project1. bpr

6

Файл проекта

Просмотр всех форм проекта

Project1. cpp

2

Содержит код программы на С++

Project1. exe

1439

Запускающий файл

Загрузка программы

Project1. obj

11

Объектный код модуля

Project1. res

1

Файл с результатами выполнения программы

Project1. tds

704

Служебная информация на языке delphi

Unit1. cpp

2

Содержит код программы на С++

Unit1. ddp

1

Служебная информация на языке delphi

Unit1. dfm

631

Содержит закодированные сведения о визуальных компонентах модуля 1

Окно входа в систему

Unit1. h

2

Заголовочный файл модуля 1

Unit2. cpp

1

Содержит код программы на С++

Unit2. ddp

1

Служебная информация на языке delphi

Unit2. dfm

3

Содержит закодированные сведения о визуальных компонентах модуля 2

Окно «Оформление чека»

Unit2. h

1

Заголовочный файл модуля 2

Unit3. cpp

1

Содержит код программы на С++

Unit3. ddp

1

Служебная информация на языке delphi

Unit3. dfm

1

Содержит закодированные сведения о визуальных компонентах модуля 3

Окно «выбор операций»

Unit3. h

1

Заголовочный файл модуля 3

Unit4. cpp

1

Содержит код программы на С++

Unit4. obj

17

Объектный код модуля

Unit4. dfm

3

Содержит закодированные сведения о визуальных компонентах модуля 4

«Зарплата к выплате организаций»

Unit4. h

1

Заголовочный файл модуля 4

Unit5. cpp

11

Содержит код программы на С++

Unit5. obj

32

Объектный код модуля

Unit5. dfm

73

Содержит закодированные сведения о визуальных компонентах модуля 5

Окно «Цели расхода»

Unit5. h

2

Заголовочный файл модуля 5

Unit6. cpp

14

Содержит код программы на С++

Unit6. ddp

1

Служебная информация на языке delphi

Unit6. dfm

5

Содержит закодированные сведения о визуальных компонентах модуля 6

Форма для печати

Unit6. h

2

Заголовочный файл модуля 6

Unit8. cpp

2

Содержит код программы на С++

Unit8. ddp

1

Служебная информация на языке delphi

Unit8. dfm

93

Содержит закодированные сведения о визуальных компонентах модуля 8

«Приходный ордер»

Unit8. h

2

Заголовочный файл модуля 8

Unit9. cpp

2

Содержит код программы на С++

Unit9. ddp

1

Служебная информация на языке delphi

Unit9. dfm

94

Содержит закодированные сведения о визуальных компонентах модуля 9

«Расходный ордер»

Unit9. h

2

Заголовочный файл модуля 9

Unit10. cpp

2

Содержит код программы на С++

Unit10. ddp

1

Служебная информация на языке delphi

Unit10. dfm

94

Содержит закодированные сведения о визуальных компонентах модуля 10

Форма «Количество произведенных операций»

Unit10. h

2

Заголовочный файл модуля 10

borlndmm. dll

22

Библиотечный файл

Cc3260mt. dll

1 462

Библиотечный файл

Заключение

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

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

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

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

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

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

Список используемых источников

1. Шлеер С., Меллор С. Объектно-ориентированный анализ: моделирование мира в состояниях.- К. :Диалектика, 1993.- 240 с.

2. Боэм Б. У. Инженерное проектирование программного обеспечения.- М. :Радио и связь, 1985.- 512 с.

3. Буч Г. Объектно-ориентированное проектирование.- М. :Конкорд, 1992. 519 с.

4. Страуструп Б. Язык программирования С++. В 2-х кн. Часть первая. К. :ДиаСофт, 1993.- 264 с. Часть вторая.- К. :ДиаСофт, 1993.- 296 с.

5. Лисков Б., Гатэг Дж. Использование абстракций испецификаций при разработке программ.- М. :Мир, 1989.- 424 с.

6. Росс Д. Т. Структурный анализ (SA): язык для передачи понимания. В кн. Требования и спецификации в разработке программ.- М. :Мир, 1984.с. 240−284.

7. Шикин Е. В., Боресков А. В., Зайцев А. А. Начала компьютерной графики.М. :ДИАЛОГ-МИФИ, 1993.- 138 с.

8. Хокс Б. Автоматизированное проектирование и производство.- М. :Мир, 1991.- 296 с.

Приложение А. Листинг программы

Texn. cpp

//---------------------------------------------------------------------------

#include < vcl. h>

#include < math. h>

#pragma hdrstop

#include «Unit2. h»

#include «Unit3. h»

#include «Unit4. h»

#include «Texn. h»

//---------------------------------------------------------------------------

#pragma package (smart_init)

#pragma resource «*. dfm»

TForm1 *Form1;

//---------------------------------------------------------------------------

__fastcall TForm1: :TForm1(TComponent* Owner)

: TForm (Owner)

{

buxg=1;

rab=2;

nomer1=123 456;

nomer2=123 456;

}

//---------------------------------------------------------------------------

void __fastcall TForm1: :Button2Click (TObject *Sender)

{

Close ();

}

//---------------------------------------------------------------------------

void __fastcall TForm1: :Button1Click (TObject *Sender)

{

parol=StrToInt (Edit3-> Text);

name=StrToInt (Edit1-> Text);

if (name==buxg)

{

if (parol==nomer1)

{

Form3-> Button1->Height=73;

Form3-> Button1->Width=265;

Form3-> Button4->Height=73;

Form3-> Button4->Width=265;

Form3-> Show ();

}

else

{

ShowMessage («Проверьте пароль»);

}

}

else

{

if (name==rab)

{

if (parol==nomer2)

{

Form3-> Button1->Height=0;

Form3-> Button1->Width=0;

Form3-> Button4->Height=0;

Form3-> Button4->Width=0;

Form3-> Show ();

}

else

{

ShowMessage («Проверьте пароль»);

}

}

else

{

ShowMessage («Проверьте логин и пароль»);

}

}

}

//---------------------------------------------------------------------------

Unit 2. cpp

//---------------------------------------------------------------------------

#include < vcl. h>

#pragma hdrstop

#include «Texn. h»

#include «Unit5. h»

#include «Unit2. h»

//---------------------------------------------------------------------------

#pragma package (smart_init)

#pragma resource «*. dfm»

TForm2 *Form2;

//---------------------------------------------------------------------------

__fastcall TForm2: :TForm2(TComponent* Owner)

: TForm (Owner)

{

}

//---------------------------------------------------------------------------

void __fastcall TForm2: :Button3Click (TObject *Sender)

{

Close ();

}

//---------------------------------------------------------------------------

void __fastcall TForm2: :Button2Click (TObject *Sender)

{

Form1-> Show ();

Close ();

}

//---------------------------------------------------------------------------

void __fastcall TForm2: :Button1Click (TObject *Sender)

{

Form5-> Show ();

Close ();

}

//---------------------------------------------------------------------------

void __fastcall TForm2: :FormCreate (TObject *Sender)

{

chek++;

}

//---------------------------------------------------------------------------

Unit 3. cpp

//---------------------------------------------------------------------------

#include < vcl. h>

#pragma hdrstop

#include «Unit2. h»

#include «Unit3. h»

#include «Unit4. h»

#include «Unit8. h»

#include «Unit9. h»

#include «Unit10. h»

//---------------------------------------------------------------------------

#pragma package (smart_init)

#pragma resource «*. dfm»

TForm3 *Form3;

//---------------------------------------------------------------------------

__fastcall TForm3: :TForm3(TComponent* Owner)

: TForm (Owner)

{

}

//---------------------------------------------------------------------------

void __fastcall TForm3: :Button5Click (TObject *Sender)

{

Close ();

}

//---------------------------------------------------------------------------

void __fastcall TForm3: :Button1Click (TObject *Sender)

{

Form2-> Show ();

}

//---------------------------------------------------------------------------

void __fastcall TForm3: :Button4Click (TObject *Sender)

{

Form4-> Show ();

}

//---------------------------------------------------------------------------

void __fastcall TForm3: :Button2Click (TObject *Sender)

{

Form8-> Show ();

}

//---------------------------------------------------------------------------

void __fastcall TForm3: :Button3Click (TObject *Sender)

{

Form9-> Show ();

}

//---------------------------------------------------------------------------

void __fastcall TForm3: :Button6Click (TObject *Sender)

{

Form10-> Show ();

}

//---------------------------------------------------------------------------

Unit 4. cpp

//---------------------------------------------------------------------------

#include < ostream. h>

#include < stdio. h>

#include < vcl. h>

#pragma hdrstop

#include «Unit6. h»

#include «Unit4. h»

//---------------------------------------------------------------------------

#pragma package (smart_init)

#pragma resource «*. dfm»

TForm4 *Form4;

//---------------------------------------------------------------------------

__fastcall TForm4: :TForm4(TComponent* Owner)

: TForm (Owner)

{

}

//---------------------------------------------------------------------------

void __fastcall TForm4: :Button2Click (TObject *Sender)

{

Close ();

}

//---------------------------------------------------------------------------

void __fastcall TForm4: :Button1Click (TObject *Sender)

{

Form6-> Show ();

Close ();

}

//---------------------------------------------------------------------------

void __fastcall TForm4: :FormCreate (TObject *Sender)

{

zp++;

}

//---------------------------------------------------------------------------

Unit 5. cpp

//---------------------------------------------------------------------------

#include < vcl. h>

#pragma hdrstop

#include «Unit7. h»

#include «Unit5. h»

//---------------------------------------------------------------------------

#pragma package (smart_init)

#pragma resource «*. dfm»

TForm5 *Form5;

//---------------------------------------------------------------------------

__fastcall TForm5: :TForm5(TComponent* Owner)

: TForm (Owner)

{

}

//---------------------------------------------------------------------------

void __fastcall TForm5: :Button1Click (TObject *Sender)

{

Close ();

}

//---------------------------------------------------------------------------

void __fastcall TForm5: :Button2Click (TObject *Sender)

{

Form7-> Show ();

Close ();

}

//---------------------------------------------------------------------------

Unit 6. cpp

#include < vcl. h>

#pragma hdrstop

#include «Unit4. h»

#include «Unit6. h»

//---------------------------------------------------------------------------

#pragma package (smart_init)

#pragma resource «*. dfm»

TForm6 *Form6;

//---------------------------------------------------------------------------

__fastcall TForm6: :TForm6(TComponent* Owner)

: TForm (Owner)

{

}

//---------------------------------------------------------------------------

void __fastcall TForm6: :Button1Click (TObject *Sender)

{

QuickRep1-> Preview ();

}

//---------------------------------------------------------------------------

void __fastcall TForm6: :FormCreate (TObject *Sender)

{

QRLabel8-> Caption=Form4->Edit1->Text;

QRLabel9-> Caption=Form4->Edit3->Text;

QRLabel10-> Caption=Form4->Edit4->Text;

QRLabel7-> Caption=Form4->Edit2->Text;

QRLabel11-> Caption=Form4->Edit5->Text;

}

//---------------------------------------------------------------------------

Unit 7. cpp

//---------------------------------------------------------------------------

#include < vcl. h>

#pragma hdrstop

#include «Unit2. h»

#include «Unit5. h»

#include «Unit7. h»

//---------------------------------------------------------------------------

#pragma package (smart_init)

#pragma link «Excel_2K_SRVR»

#pragma resource «*. dfm»

TForm7 *Form7;

//---------------------------------------------------------------------------

__fastcall TForm7: :TForm7(TComponent* Owner)

: TForm (Owner)

{

}

//---------------------------------------------------------------------------

void __fastcall TForm7: :FormCreate (TObject *Sender)

{

QRLabel8-> Caption=Form2->Edit1->Text;

QRLabel17-> Caption=Form2->Edit2->Text;

QRLabel16-> Caption=Form2->Edit6->Text+Form2->Edit7->Text+Form2->Edit8->Text;

QRLabel18-> Caption=Form2->Edit3->Text;

QRLabel19-> Caption=Form2->Edit4->Text;

QRLabel14-> Caption=Form2->Edit9->Text;

QRLabel15-> Caption=Form2->Edit8->Text;

QRLabel22-> Caption=Form5->Edit1->Text;

QRLabel24-> Caption=Form5->Edit2->Text;

QRLabel26-> Caption=Form5->Edit3->Text;

QRLabel28-> Caption=Form5->Edit4->Text+Form5->Edit5->Text+Form5->Edit6->Text;

QRLabel30-> Caption=Form5->Edit7->Text;

QRLabel32-> Caption=Form5->Edit8->Text;

}

//---------------------------------------------------------------------------

void __fastcall TForm7: :Button1Click (TObject *Sender)

{

QuickRep1-> Preview ();

}

//---------------------------------------------------------------------------

Unit 8. cpp

//---------------------------------------------------------------------------

#include < vcl. h>

#pragma hdrstop

#include «Unit3. h»

#include «Unit8. h»

//---------------------------------------------------------------------------

#pragma package (smart_init)

#pragma resource «*. dfm»

TForm8 *Form8;

//---------------------------------------------------------------------------

__fastcall TForm8: :TForm8(TComponent* Owner)

: TForm (Owner)

{

}

//---------------------------------------------------------------------------

void __fastcall TForm8: :Button1Click (TObject *Sender)

{

Close ();

}

//---------------------------------------------------------------------------

void __fastcall TForm8: :Button2Click (TObject *Sender)

{

Form3-> Show ();

Close ();

}

//---------------------------------------------------------------------------

void __fastcall TForm8: :FormCreate (TObject *Sender)

{

prix++;

}

//------------------------------------------------

Unit 9. cpp

//---------------------------------------------------------------------------

#include < vcl. h>

#pragma hdrstop

#include «Unit3. h»

#include «Unit9. h»

//---------------------------------------------------------------------------

#pragma package (smart_init)

#pragma resource «*. dfm»

TForm9 *Form9;

//---------------------------------------------------------------------------

__fastcall TForm9: :TForm9(TComponent* Owner)

: TForm (Owner)

{

}

//---------------------------------------------------------------------------

void __fastcall TForm9: :Button2Click (TObject *Sender)

{

Form3-> Show ();

Close ();

}

//---------------------------------------------------------------------------

void __fastcall TForm9: :Button1Click (TObject *Sender)

{

Close ();

}

//---------------------------------------------------------------------------

void __fastcall TForm9: :FormCreate (TObject *Sender)

{

rasx++;

Label1-> Caption=IntToStr (rasx);

}

//---------------------------------------------------------------------------

Unit 10. cpp

//---------------------------------------------------------------------------

#include < vcl. h>

#pragma hdrstop

#include «Unit10. h»

#include «Unit9. h»

#include «Unit8. h»

#include «Unit2. h»

#include «Unit4. h»

//---------------------------------------------------------------------------

#pragma package (smart_init)

#pragma resource «*. dfm»

TForm10 *Form10;

//---------------------------------------------------------------------------

__fastcall TForm10: :TForm10(TComponent* Owner)

: TForm (Owner)

{

}

//---------------------------------------------------------------------------

void __fastcall TForm10: :Button1Click (TObject *Sender)

{

Close ();

}

//---------------------------------------------------------------------------

void __fastcall TForm10: :FormCreate (TObject *Sender)

{

Label8-> Caption=IntToStr (Form2->chek);

Label10-> Caption=IntToStr (Form8->prix);

Label9-> Caption=IntToStr (Form9->rasx);

Label11-> Caption=IntToStr (Form4->zp);

}

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