Расчет заработной платы. 2

Введение 

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

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

  • ведения бухгалтерского учета
  • расчета заработной платы
  • контроля заказов и договоров
  • подготовки деловых бумаг
 

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

    • Системное ПО
    • Прикладное ПО

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

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

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

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

    • Справочник штрафов, премий и кредитов.
    • Список сотрудников организации
    • Табель учета рабочего времени

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

 

 

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

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

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

 О каждом сотруднике нужно знать:

  • ФИО
  • Оклад
  • Отдел
  • Кол-во рабочих дней (код)

Основная з/пл = оклад* рабочие дни

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

При расчете  заработной платы составляется расчетный лист состоящий из граф:

-1 таб№

-2 ФИО

-3 оклад

-4 код

-5 з/пл

- 6 начислено

-7 удержано

-8 на  руки

Составленный  расчетный лист  передается сотруднику предприятия с начисленной заработной платой.

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

Бухгалтерия ежемесячно изменяет данные в базе данных:

  • Кол-во рабочих дней
  • Разовые начисления
  • Удаление\добавление сотрудника
  • Редактирование данных о сотруднике
 

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

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

 

 

Схемы сделанные  в программе BPWIN

 

 

 

 

 

 

Рис(1) ER-диаграмма. 

сотрудники ведомость               начисл/удерж

Таб №
ФИО
Оклад
Отдел
 
id
Таб №
ФИО
Оклад
Код
З/пл
Начисление
Удержание
На  руки
 
id
  Таб №
Значение
признаки
 
Таб №
Koд
 
 
 
 
 
 
 
 
 
 
 

Рис (2)Схема отношений 
 

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

           
     

     

       Сотруд Раб. дни нач/удер

 
 
 
 

 
 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Рис (1) Схема данных

 

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

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

Таблица 1.4.1

Наименование  документа (шифр) Дата поступления  документа Откуда поступает  документ
Сотрудники По мере необходимости Бухгалтер
Рабочие дни Ежемесячно Бухгалтер
Начисление  и удержание По мере необходимости Бухгалтер
 

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

     Таблица 1.4.2  - Реквизит базы данных “sotrud.db”

Наименование  документа Наименование  реквизитов Форма представления Длина в байтах
Сотрудники Таб № Символьная 4
ФИО Символьная 20
Оклад Числовая 5
Отдел Символьная 20
 
 
 
 
 

     Таблица 1.4.3 - Реквизит базы данных “kod.db”

Наименование  документа Наименование  реквизитов Форма представления Длина в байтах
Рабочие дни
Таб № Символьная 4
Рабочие дни Символьная 20
 

     Таблица 1.4.4  - Реквизит базы данных “nachisl.db”

Наименование  документа Наименование  реквизитов Форма представления Длина в байтах
Разовые начисление и удержание id Числовая 5
Таб № Символьная 4
Признаки Символьный 20
Значение Числовая 5
 

 

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

На основании  входных данных создается базы данных, состоящая 

Из 3 таблиц : Nachisl, sotrud, kod 

     Таблица 1.5.1 – описания структуры базы данных 

Назначение (содержи-мое таблицы) Физическое  имя таблицы Наименование  полей Шифр поля Формат поля  Размер поля
Справочник

«Начисление/Удержание»

Nachisl Id

Таб №

Значение

Признаки

ID

Tabnom

Znachenie

Priznaki

Число

Строка

Строка 

Число

5

4

20

10

Информация  о сотрудниках sotrud Таб №

ФИО

Оклад

Отдел

Tabnom

FIO

Oklad

Otdel

Строка

Строка

Число

Строка

4

20

10

20

Справочник

«Рабочие дни»

Kod Таб №

Рабоч. Дни

Tabnom

Kod

Строка

Число

4

10

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

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

 

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

Наименование Периодичность Кол-во экземпляров Куда передается Сортировка Группировка Итоги
Ведомость расчета заработной платы по отделам ежемесячно 1 В бухгалтерию По  отделам По № отделам Создание расчетного листа
 

     Таблица 1.6.2 - описание реквизитов документов

Наименование  документа Наименование  реквизитов Форма представления Длина в байтах
Расчетный лист Id Числовая 5
ФИО Символьная 20
Оклад Числовая 5
Код Числовая 5
З/пл Числовая 5
Начисление Числовая 5
Удержание Числовая 5
На  руки Числовая 5
 

     
    Таблица 1.6.3 – форма выходных документов

Id ФИО Оклад Код З/пл Начисление Удержание На руки
               
 

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

      Контрольный пример составляется для наглядности результата работы. Он представляет собой ручной  вариант решения задачи с заранее известным результатом.

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

Таб номер ФИО Оклад Отдел
015 –  С Семенов 10000 Проектный
020-М Малкин 4000 Проектный
010-Н Набиев 6000 Проектный
024-Т Теплов 10000 Проектный
102-к Козырва 7000 Библиотека
108-е Ефимова 5000 Библиотека
120-В Волкова 5000 библиотека
 

Справочник «Начисление и удержание» 

Таб№ Признаки Значения
020-м Премия 1000
020-м Кредит 1000
024-Т Премия 2000
108-е Штраф 500
 

Справочник «Рабочие дни» 

015-с 15
020-м 25
010-н 20
024-т 25
102-к 25
108-е 20
120-в 15
 
 

Расчетная ведомость  отдела «проектный» 

Таб № ФИО Оклад Код З/пл Начисление Удержание На руки
015-с Семенов 10000 15 6000 900 1104 5796
020-м Малкин 4000 25 4000 1750 1920 3830
010-Н Набиев 6000 20 4800 720 883,2 4636,8
024-т Теплов 10000 25 10000 3800 2208 11592
Итого 24800 7170 6115,2 25854,8

Расчетный лист

Таб № 020 – м ФИО Малкин

Оклад = 4000 код = 25

Начислено удержано 

з\пл:4000 кредит 1000

премия 1000 подоходной 747.50

уральские 750 пенсионный 115 

      профсоюзный 57.50

итого 1750 итого 1920

на руки : 3830 
 
 
 
 
 

 

1.8 Общие требования к продукту

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

  • Объем ОЗУ не ниже 512 MB;
  • Графический адаптер SVGA;

        

  • Манипулятор типа “мышь”;

    ЭВМ должна работать под управлением  операционной системы с графическим  интерфейсом (не ниже Windows XP).

    Инсталляционный пакет прилагается.

    Сопровождение продукта прилагается.

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

    1)программный  продукт должен работать в  многооконном графическом режиме  и поддерживать работу, как с  клавиатуры, так и манипулятора  типа “мышь” 

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

    Требования  к надежности:

    1)программа  должна обрабатывать ошибочные  действия пользователя и сообщать  ему об этом

    2) программа должна обеспечивать  контроль входной и выходной  информации.

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

    

    1)Для  работы с программной необходима  установка приложения Microsoft Office;

    2) требования информационной совместимости  должно быть обеспечено работой  с таблицами баз данных типа  Microsoft Access и совместимых типов в качестве входной и выходной информации.

 

    

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

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

    Мощность  и гибкость Delphi при работе с базами данных основана на низкоуровневом ядре - процессоре баз данных Borland Database Engine (BDE). Его интерфейс с прикладными программами называется Integrated Database Application Programming Interface (IDAPI). BDE позволяет осуществлять доступ к данным как с использованием традиционного record-ориентированного (навигационного) подхода, так и с использованием set-ориентированного подхода, используемого в SQL-серверах баз данных. Кроме BDE, Delphi позволяет осуществлять доступ к базам данных, используя технологию (и, соответственно, драйверы) Open DataBase Connectivity (ODBC) фирмы Microsoft. Но, как показывает практика, производительность систем с использованием BDE гораздо выше, чем оных при использовании ODBC. ODBC драйвера работают через специальный “ODBC socket”, который позволяет встраивать их в BDE.

    Все инструментальные средства баз данных Borland - Paradox, dBase, Database Desktop - используют BDE. Все особенности, имеющиеся в Paradox или dBase, “наследуются” BDE, и поэтому этими же особенностями обладает и Delphi.

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

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

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

    

    Свойство SQL - вероятно, самая важная часть TQuery. Доступ к этому свойству происходит либо через «Инспектор Объектов» во время конструирования проекта (design time), или программно во время выполнения программы (run time).

    Все операции, выполняемые с данными  на SQL сервере, происходят в контексте  транзакций. Транзакция - это групповая операция, т.е. набор действий с базой данных; самым существенным для этих действий является правило либо все, либо ничего. Если во время выполнения данного набора действий, на каком-то этапе невозможно произвести очередное действие, то нужно выполнить возврат базы данных к начальному состоянию (произвести откат транзакции). Таким образом (при правильном планировании транзакций), обеспечивается целостность базы данных.

    Явная транзакция - это транзакция, начатая  и завершенная с помощью методов объекта DataBase: StartTransaction, Commit, RollBack. После начала явной транзакции, все изменения, вносимые в данные, относятся к этой транзакции.

    

    Неявная транзакция стартует при модификации  данных, если в данный момент нет  явной транзакции. Неявная транзакция возникает, например, при выполнении метода Post для объектов Table и Query. То есть, если вы отредактировали запись, в DBGrid и переходите на другую запись, то это влечет за собой выполнение Post, что, в свою очередь, приводит к началу неявной транзакции, обновлению данных внутри транзакции и ее завершению. Важно отметить, что неявная транзакция, начатая с помощью методов Post, Delete, Insert, Append и т.д. заканчивается автоматически.

Расчет заработной платы. 2