Автоматизация учета депонированной заработной платы

Автор работы: Пользователь скрыл имя, 23 Июля 2013 в 16:43, курсовая работа

Описание работы

Цель курсовой работы – разработать систему автоматизированного учета депонированной заработной платы.
Задачи курсовой работы:
1.Проанализировать существующие технологии разработок информационных систем.
2.Составить алгоритм информационной системы для учета депонированной заработной платы.
3. Написать листинг кода с пояснениями.

Содержание работы

Введение 3
1. Описание используемых технологий 5
1.1 ОС Linux 5
1.2 MySQL 10
1.3 PHP 17
1.4 Apache 20
2. Алгоритм построение системы 25
3. Листинг кода с пояснениями 28
Заключение 33

Файлы: 1 файл

курсовая бухгалтерские ис.docx

— 369.44 Кб (Скачать файл)

1.4 Apache

Apache HTTP-сервер (назван именем группы племён североамериканских индейцев апачей; кроме того, является сокращением от англ. a patchy server; среди русских пользователей общепринято искажённое апа́ч) – свободный веб-сервер.

Apache является кроссплатформенным ПО, поддерживает операционные системы Linux, BSD, Mac OS, Microsoft Windows, Novell NetWare, BeOS.

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

Ядро Apache включает в себя основные функциональные возможности, такие  как обработка конфигурационных файлов, протокол HTTP и система загрузки модулей. Ядро (в отличие от модулей) полностью разрабатывается Apache Software Foundation, без участия сторонних программистов.

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

Ядро Apache полностью написано на языке  программирования C.

Система конфигурации

Система конфигурации Apache основана на текстовых конфигурационных файлах. Имеет три условных уровня конфигурации:

  • Конфигурация сервера (httpd.conf).
  • Конфигурация виртуального хоста (httpd.conf c версии 2.2, extra/httpd–vhosts.conf).
  • Конфигурация уровня директории (.htaccess).

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

Часть модулей использует в своей  работе конфигурационные файлы операционной системы (например /etc/passwd и /etc/hosts).

Помимо этого, параметры могут  быть заданы через ключи командной строки.

Мультипроцессорные модели (MPM)

Для веб-сервера Apache существует множество моделей симметричной мультипроцессорности.

Система модулей

Apache HTTP Server поддерживает модульность. Существует более 500 модулей[5], выполняющих различные функции. Часть из них разрабатывается командой Apache Software Foundation, но основное количество – отдельными open source-разработчиками.

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

В модулях реализуются такие  вещи, как:

  • Поддержка языков программирования.
  • Добавление функций.
  • Исправление ошибок или модификация основных функций.
  • Усиление безопасности.

Часть веб-приложений, например панели управления ISPmanager и VDSmanager реализованы в виде модуля Apache.

Механизм виртуальных хостов

Apache имеет встроенный механизм  виртуальных хостов. Он позволяет полноценно обслуживать на одном IP-адресе множество сайтов (доменных имён), отображая для каждого из них собственное содержимое.

Для каждого виртуального хоста  можно указать собственные настройки  ядра и модулей, ограничить доступ ко всему сайту или отдельным  файлам. Некоторые MPM, например Apache-ITK позволяют запускать процесс httpd для каждого виртуального хоста с отдельными идентификаторами uid и guid.

Также, существуют модули, позволяющие  учитывать и ограничивать ресурсы сервера (CPU, RAM, трафик) для каждого виртуального хоста.

Функциональные возможности

Интеграция с другим ПО и языками программирования

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

К ним относятся:

  • PHP (mod_php).
  • Python (mod python, mod wsgi).
  • Ruby (apache–ruby).
  • Perl (mod perl).
  • ASP (apache–asp).
  • Tcl (rivet).

Кроме того, Apache поддерживает механизмы CGI и FastCGI, что позволяет исполнять программы на практически всех языках программирования, в том числе C, C++, Lua, sh, Java.

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

  • Ограничение доступа к определённым директориям или файлам.
  • Механизм авторизации пользователей для доступа к директории на основе HTTP–аутентификации (mod_auth_basic) и digest–аутентификации (mod_auth_digest).
  • Ограничение доступа к определённым директориям или всему серверу, основанное на IP–адресах пользователей.
  • Запрет доступа к определённым типам файлов для всех или части пользователей, например запрет доступа к конфигурационным файлам и файлам баз данных.
  • Существуют модули, реализующие авторизацию через СУБД или PAM.

В некоторых MPM-модулях присутствует возможность запуска каждого процесса Apache используя различные uid и gid с соответствующими этим пользователям и группам пользователей.

Также, существует механизм suexec, используемый для запуска скриптов и CGI–приложений с правами и идентификационными данными пользователя.

Для реализации шифрования данных, передающихся между клиентом и сервером используется механизм SSL, реализованный через библиотеку OpenSSL. Для удостоверения подлинности веб–сервера используются сертификаты X.509.

Существуют внешние средства обеспечения  безопасности, например mod_security.

Интернационализация

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

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

Обработка событий

Администратор может установить собственные  страницы и обработчики для всех HTTP ошибок и событий, таких как 404 (Not Found) или 403 (Forbidden). В том числе существует возможность запуска скриптов и отображения сообщений на разных языках.

Server Side Includes

Основная статья: Server Side Includes

В версиях 1.3 и старше был реализован механизм Server Side Includes, позволяющий динамически  формировать HTML–документы на стороне сервера.

Управлением SSI занимается модуль mod_include, включённый в базовую поставку Apache.

 

 

 

2. Алгоритм построение  системы

 

Порядок установки LAMP сервера (Apache+PHP+MySQL) на Linux:

  • Устанавливаем сервер MySQL:

sudo apt–get install mysql–server mysql–client libmysqlclient15–dev

В ходе установки Вас попросят ввести пароль суперпользователя сервера Mysql (root). Эта учетная запись относится  только к серверу MySQL, поэтому пароль не должен совпадать с паролем root ОС.

  • Перезагружаем MySQL сервер:

sudo /etc/init.d/mysql restart

  • Устанавливаем Apache и дополнительные библиотеки к нему:

sudo apt–get install apache2 apache2–doc apache2–mpm–prefork apache2–utils libexpat1 ssl–cert

  • Устанавливаем PHP 5:

sudo apt–get install libapache2–mod–php5 libapache2–mod–ruby php5 php5–common php5–curl php5–dev php5–gd php5–idn php–pear php5–imagick php5–imap php5–mcrypt php5–memcache php5–mhash php5–ming php5–mysql php5–pspell php5–recode php5–snmp php5–sqlite php5–tidy php5–xmlrpc php5–xsl

  • Перезагружаем Apache:

sudo /etc/init.d/apache2 force–reload

  • Устанавливаем графическую оболочку для MySQL сервера, которая сделает удобней работу с базами данных и системной консолью MySQL:

sudo apt–get install mysql–admin mysql–query–browser

В результате мы получаем готовый LAMP сервер.

После установки программного обеспечения  LAMP необходимо провести конфигурацию ПП MySQL т.е. создать БД с именем «ZP» и создать таблицу для ведения необходимой информации «deponent» с конфигурацией поле необходимых для технического задания схема (рис. 3) действия производятся с помощью SQL запросов приведённых выше. Конфигурирование выполняется единовременно при первом запуске ПО.

 

 

Рис. 3 Конфигурирование БД

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

Рис. 4 Рабочее меню системы

 

Index.html – содержит стартовую страницу на которой отображены выполняемые действия.

Stile.css – фаил содержащий произвольные настройки оформления страниц.

Selectall.php – выводит содержание таблицы полностью.

Insert_data.php – вводит данные с активной формы необходимые для выполнения следующего действия.

Insert.php – вводит заполненные данные в таблицу.

select_data.php – вводит данные с активной формы необходимые для проведения запроса.

select.php – выводит данные соответствующие критериям введённого условия т.е. сортированные данные по дате.

 

3. Листинг кода с пояснениями

 

 Листинг файлов загружаемых  на сервер для работы с БД.

1) index.html:

<head>

<link rel="stylesheet" type="text/css" href="stil.css" />

</head>

<body>

<div id="header">

<a href="index.php">  <h1> Обновить</h1></a>

</div>

<div id="header_menu">

<ul class="navlist">

</ul>

</div>

<div id="container">

<div id="left">

<h4> Список операци </h4>

<div id="navcontainer">

<ul id="navlist">

<li id="active"><a href="selectall.php" id="current">Просмотр таблицы</a></li>

<li><a href="insert_data.php">Ввод данных</a></li>

<li><a href="select_date.php">Депонировано за период</a></li>

</ul>

</div>

</div>

<div id="content">

</div>

</div>

</body>

</html>

 

  1. Insert_data.php:

<!–– описание полей для ввода информации ––>

<form name="form1" action=insert.php method=post>

 <!–– описание куда отправить и каким методом––>

Табельный номер :<br>

<input type=text name=tab_n><br>

Фамилия :<br>

<input type=text name= familiy ><br>

Имя :<br>

<input type=text name=name><br>

Отчество:<br>

<input type=text name=otchestvo><br>

Дата начисления:<br>

<input type=text name=nachislenie><br>

Сумма начисления:<br>

<input type=text name=nachisl><br>

Выплачено :<br>

<input type=text name=viplacheno><br>

Должность :<br>

<input type=text name= doljnost><br>

<!––кнопка отправить––>

<input type=submit>

 

  1. insert.php:

<!–– обработка вводных данных––>

<?php

$tab_n = $_POST['tab_n'];

$familiy = $_POST['familiy'];

$ name = $_POST['name'];

$otchestvo = $_POST['otchestvo'];

$nachislenie = $_POST[' nachislenie '];

$ nachisl = $_POST[' nachisl '];

<!–– подключение к БД  и выполнение SQL запроса с проверкой на выполнение––>

$link = mysql_connect('localhost', 'root', 'admin');

if (!$link) echo "не удалось подключиться к серверу";

mysql_select_db('ZP')

$sql = “INSERT INTO ' deponent ' (:tab_n, :familiy, :name, :otchestvo, :nachislenie, :nachisl, :viplacheno) VALUES VALUES ($tab_n, $familiy, $name, $otchestvo, $nachislenie, $nachisl)”;

if (mysql_query($sql)) echo "запрос завершен";

else echo "запрос не удался";

?>

 

  1. selectall.php:

<?php

$link = mysql_connect('localhost', 'root', 'admin');

@mysql_query("set names 'cp1251' ", $Link);

if (!$link) echo "не удалось подключиться к серверу";

else{

mysql_select_db('ZP');

 

$sql="select * from deponent ";

 

$result = mysql_query($sql);

echo "<table>\n";

while ($line = mysql_fetch_array($result, mysql_assoc)) {

echo "<tr>\n";

foreach($line as $col_value) {

echo $col_value;}

echo "</tr>\n";

}

 

echo "</table>\n";

mysql_free_result($result);

}

?>

5) select_date.php

<!–– описание полей для ввода информации ––>

<form name="form2" action=select.php method=post>

 <!–– описание куда отправить и каким методом––>

Начало периода :<br>

<input type=text name=new><br>

Конец периода :<br>

<input type=text name= old ><br>

<!––кнопка отправить––>

<input type=submit>

 

6)select.php

<!–– обработка вводных данных––>

<?php

$ new = $_POST['new'];

$oid = $_POST['old'];

<!–– подключение к БД  и выполнение SQL запроса с проверкой на выполнение––>

$link = mysql_connect('localhost', 'root', 'admin');

if (!$link) echo "не удалось подключиться к серверу";

mysql_select_db('ZP')

$sql = “SELECT tab_n, familiy, name, otchestvo, nachislenie, nachisl, viplacheno,nachisl–viplacheno as deponirovano FROM deponent WHERE (nachislenie >: (new)) AND (nachislenie<:(old)) VALUES ($new, $old)”;

if (mysql_query($sql)) echo "запрос завершен";

else echo "запрос не удался";

?>

 

Заключение

 

АРМ "Учет депонентов" (АРМ УД) предназначено для автоматизации  расчетов, ведущихся бухгалтером  по депонированной заработной плате. Его  целесообразно использовать вместе с АРМ УТЗП, что позволяет иметь  общую базу лицевых счетов, а также  быстро и без ошибок депонировать заработную плату. Депонентские карточки нумеруются автоматически, имеется  возможность получения нестандартных  сводок и списков.

 Если работники не получили  начисленную заработную плату  в установленные сроки, то в  платежных ведомостях против  их фамилий кассир проставляет  штамп "депонировано". На общую  сумму депонированной заработной  платы согласно платежным ведомостям  делается запись: дебет счета  70 "Расчеты с персоналом по  оплате труда", кредит счета  76/2 "Расчеты с разными дебиторами  и кредиторами", субсчет "Депоненты  по заработной плате". При выдаче  депонированной заработной платы  составляется запись: Дебет счета  76/2, Кредит счета 50.

Информация о работе Автоматизация учета депонированной заработной платы