Расчет заработной платы. 2
Введение
ЭВМ в наши дни становится важнейшим фактором для развития наук. За последние года персональные компьютеры модернизировались как по объему вычислительной техники так и по производству выполняемой её продукции.
Расширилось применение ПК в разнообразный сферах деятельности, на данный момент почти каждая сфера затронута в базе данных. Так как это намного упрощает и упорядочивает обработку данных:
- ведения бухгалтерского учета
- расчета заработной платы
- контроля заказов и договоров
- подготовки деловых бумаг
Программное обеспечение является необходимой составной частью любой ЭВМ. В состав программного обеспечения персональных компьютеров входят как универсальные средства, так и прикладные программы, ориентированные на отдельные проблемные области. В настоящее время для различных типов ПК разработано несколько десятков тысяч программ, которые могут быть разделены на следующие основные классы:
- Системное ПО
- Прикладное ПО
Системное ПО включает программы, необходимые для согласования работы всего вычислительного комплекса при решении задач, а также при разработке новых программ.
Прикладное ПО разрабатывается и используется для решения конкретных задач пользователей ЭВМ и включает прикладные программы и пакеты программ (текстовые, табличные, графические редакторы). Эта категория программных средств обращена к пользователям персональных компьютеров, которые не обязаны уметь программировать или даже знать устройство машин.
В данной работе представлено прикладное программное обеспечение, которое позволяет автоматизировать расчет заработной платы.
Данный
программный продукт
- Справочник штрафов, премий и кредитов.
- Список сотрудников организации
- Табель учета рабочего времени
Данная
программа не является универсальной
1 Постановка задачи
1.1 Описание предметной области
На предприятии бухгалтерия рассчитывает заработную плату на каждого сотрудника фирмы по отделам.
О каждом сотруднике нужно знать:
- ФИО
- Оклад
- Отдел
- Кол-во рабочих дней (код)
Основная з/пл = оклад* рабочие дни
К основной зарплате суммируются начисления. Начисления могут быть разовыми и постоянными. Разовые начисления содержаться в специальном справочнике; в этом же справочнике содержатся и разовые удержания (штрафы, кредиты, премия). Так же есть постоянные удержания и начисления (подоходный налог, пенсионный налог, профсоюзный налог, уральские)
При расчете заработной платы составляется расчетный лист состоящий из граф:
-1 таб№
-2 ФИО
-3 оклад
-4 код
-5 з/пл
- 6 начислено
-7 удержано
-8 на руки
Составленный расчетный лист передается сотруднику предприятия с начисленной заработной платой.
Для облегчения расчета ведомости и исключения ошибок следует автоматизировать данную задачу, для этого нужно составить базу данных состоящих из таблиц содержащих информацию о сотрудниках фирмы, начислениях/удержаниях, количество рабочих дней.
Бухгалтерия ежемесячно изменяет данные в базе данных:
- Кол-во рабочих дней
- Разовые начисления
- Удаление\добавление сотрудника
- Редактирование данных о сотруднике
Программа
должна предусмотреть ведение базы данных
и выдачу расчётной ведомости и расчетного
листка.
1.2 Функциональная модель
Схемы сделанные в программе BPWIN
Рис(1) ER-диаграмма.
сотрудники ведомость
| ФИО |
| Оклад |
| Отдел |
| ФИО |
| Оклад |
| Код |
| З/пл |
| Начисление |
| Удержание |
| На руки |
| 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 Общие требования к продукту
Программное
обеспечение разрабатывается
- Объем ОЗУ не ниже 512 MB;
- Графический адаптер SVGA;
- Манипулятор типа “мышь”;
ЭВМ должна работать под управлением операционной системы с графическим интерфейсом (не ниже Windows XP).
Инсталляционный пакет прилагается.
Сопровождение продукта прилагается.
Требования к функциональным характеристикам:
1)программный
продукт должен работать в
многооконном графическом
2) программа должна обеспечивать работу основных операций: сортировка, фильтрацию, поиск и т.д.
Требования к надежности:
1)программа
должна обрабатывать ошибочные
действия пользователя и
2) программа должна обеспечивать контроль входной и выходной информации.
Требования к информационной и программной совместимости:
1)Для
работы с программной
2)
требования информационной
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 сервере, происходят в контексте транзакций. Транзакция - это групповая операция, т.е. набор действий с базой данных; самым существенным для этих действий является правило либо все, либо ничего. Если во время выполнения данного набора действий, на каком-то этапе невозможно произвести очередное действие, то нужно выполнить возврат базы данных к начальному состоянию (произвести откат транзакции). Таким образом (при правильном планировании транзакций), обеспечивается целостность базы данных.
Явная
транзакция - это транзакция, начатая
и завершенная с помощью
Неявная транзакция стартует при модификации данных, если в данный момент нет явной транзакции. Неявная транзакция возникает, например, при выполнении метода Post для объектов Table и Query. То есть, если вы отредактировали запись, в DBGrid и переходите на другую запись, то это влечет за собой выполнение Post, что, в свою очередь, приводит к началу неявной транзакции, обновлению данных внутри транзакции и ее завершению. Важно отметить, что неявная транзакция, начатая с помощью методов Post, Delete, Insert, Append и т.д. заканчивается автоматически.