Эскизный и технический проект




В табелях учёта рабочего времени учёт ведётся по каждому сотруднику в отдельности. Основываясь на изучении объекта автоматизации, мы можем описать сущность «сотрудник» следующим образом:

 

N п/п Атрибут Семантика Тип Пример
  Год Год, на который рассчитывается табель INT  
  Месяц Месяц, на который рассчитывается табель INT  
  Сотрудник ФИО сотрудника, должность, табельный номер TEXT Иванов Иван Иванович, директор, 000000031
  Отметки о явках и неявках на работу по числам месяца Отметки о явке, неявке и отработанных часах за каждый день TEXT Я / 8
  Отработано Отработано дней, часов за первую, вторую половину месяца, месяц INT  
  Данные для начисления заработной платы по видам и направлениям затрат Код вида оплаты, корреспондирующий счёт, дни (часы) TEXT 1 / 1133840204082 / 1
  Причины неявок Код, дни (часы) TEXT 1 / 2

Таблица 1. Сущность «Табель учёта рабочего времени»

 

N п/п Атрибут Семантика Тип Пример
  фамилия, инициалы ФИО сотрудника TEXT Иванов Иван Иванович
  должность должность сотрудника (специальность, профессия) TEXT Директор
  табельный номер табельный номер сотрудника TEXT  

Таблица 2. Сущность «Сотрудник»

 

N п/п Атрибут Семантика Тип Пример
  Год Год даты явки на работу INT  
  Месяц Месяц даты явки на работу INT  
  Число Число месяца даты явки на работу INT  
  Отметка о явке Явился или не явился на работу TEXT Я
  Количество отработанных часов Количество отработанных часов, если явился INT  

Таблица 3. Сущность «Явки на работу»

 

N п/п Атрибут Семантика Тип Пример
  Год Год даты явки на работу INT  
  Месяц Месяц даты явки на работу INT  
  Код неявки Код неявки TEXT  
  Дней (часов) Количество дней (часов), в прошедших за время неявки INT  

Таблица 4. Сущность «Неявки на работу»

 

N п/п Атрибут Семантика Тип Пример
  Год Год данных для начисления INT  
  Месяц Месяц данных для начисления INT  
  Код вида оплаты Код вида оплаты для начисления заработной платы TEXT  
  Корреспондирующий счёт Корреспондирующий счёт для начисления заработной платы TEXT  
  Дни (часы) Количество дней (часов), подлежащих оплате INT  

Таблица 5. Сущность «Данные для начисления заработной платы по видам и направлениям затрат»

 

Также мы можем построить следующую ER-диаграмму «Сущность-связь»:


Рис. 1. Диаграмма «Сущность-связь»

 

На основании модели данных мы сможем построить UML-модель структуры данных.

 


Рис. 2. Структура данных

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

 

N п/п Поле Ключ Тип Семантика Пример
  id да INT Регистрационный номер  
  name   TINYTEXT фамилия, инициалы Иванов Иван Иванович
  occupation   TINYTEXT должность Директор
  tablenum   TINYTEXT табельный номер  

Таблица 6. Структура таблицы workers (сотрудники)

 

N п/п Поле Ключ Тип Семантика Пример
  id да INT Регистрационный номер  
  year   INT Год (из таблицы years)  
  month   INT Месяц  
  day   INT Число  
  worker   INT Сотрудник (из таблицы workers)  
  if_attended   VARCHAR(1) Отметка о явке  
  hours   INT Количество отработанных часов  

Таблица 7. Структура таблицы attendances (явки на работу)

 

N п/п Поле Ключ Тип Семантика Пример
  id да INT Регистрационный номер  
  worker   INT Сотрудник (из таблицы workers)  
  year   INT Год (из таблицы years)  
  month   INT Месяц  
  code   TINYTEXT Код неявки  
  qty   TINYTEXT Дней (часов)  

Таблица 8. Структура таблицы absences (неявки на работу)

 

N п/п Поле Ключ Тип Семантика Пример
  id да INT Регистрационный номер  
  worker   INT Работник (из таблицы workers)  
  month   INT Месяц  
  year   INT Год (из таблицы years)  
  code   TINYTEXT Код вида оплаты  
  account   TINYTEXT Корреспондирующий счёт  
  days   INT Дни (часы)  

Таблица 9. Структура таблицы workoffs (данные для начисления з/п)

 

 

N п/п Поле Ключ Тип Семантика Пример
  id да INT Регистрационный номер  
  year   INT Отчётный год  

Таблица 10. Структура таблицы years (годы)

Ограничения на длину полей в нашей нотации таковы: VARCHAR(1) — 1 байт, INT — 4 байта, TINYTEXT — 28 байт.

Из этой модели мы сможем построить UML-диаграмму структуры базы данных.


Рис. 3. Структура базы данных

Из этой диаграммы с помощью средства автоматизированной генерации кода tedia2sql мы сможем получить SQL-код для создания базы данных.

 

-- workers

-- Сотрудники

 

create table workers (

id int auto_increment primary key, -- табельный номер

name tinytext, -- фамилия, инициалы

occupation tinytext, -- должность

tablenum tinytext -- табельный номер

);

 

-- years

-- Годы

create table years (

id int auto_increment primary key, -- счётчик

year tinytext -- период

);

 

-- attendances

-- Явки на работу

create table attendances (

id int auto_increment primary key, -- счётчик

year int, -- год

month int, -- месяц

day int, -- число

worker int, -- работник

if_attended varchar(1), -- явка

hours int -- кол-во отраб. часов

);

 

-- workoffs

-- Данные для начисления з/п

 

create table workoffs (

id int auto_increment primary key, -- счётчик

worker int, -- работник

month int, -- месяц

year int, -- год

code tinytext, -- код вида оплаты

account tinytext, -- корр. счёт

days int -- дни (часы)

);

 

-- absences

-- Неявки

 

create table absences (

id int auto_increment primary key, -- счётчик

worker int, -- работник

year int, -- год

month int, -- месяц

code tinytext, -- код

qty tinytext -- дней, часов

);

Реализация

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

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

.

|-- libs

| `-- xmlrpc

|-- modules

| |-- auth

| | `-- templates

| |-- base

| | `-- templates

| |-- counter

| | `-- templates

| |-- db

| | `-- templates

| |-- modules

| | `-- templates

| |-- performance

| |-- redirect

| | `-- templates

| |-- templater

| |-- themes

| | `-- templates

| |-- timeboards

| | `-- templates

| |-- updater

| | `-- templates

| `-- users

| `-- templates

|-- themes

| `-- default

| |-- css

| |-- flash

| |-- images

| |-- js

| |-- pages

| | `-- includes

| `-- templates

| |-- timeboards

| | |-- css

| | |-- flash

| | |-- images

| | |-- js

| | |-- pages

| | | `-- includes

| | `-- templates

| | |-- auth

| | |-- base

| | `-- users

|-- updates

| `-- themes

`-- uploads

В каталоге libs находятся внешние библиотеки фреймворка. Каталог updates предназначен для получения автоматических обновлений, uploads — для закачки файлов на сайт. В каталоге themes хранятся сменные темы оформления. В каталоге modules находятся модули фреймворка, в качестве одного из которых — timeboards — и реализована наша АИС.

Работа с АИС начинается с формы авторизации:

(Приложение 1)

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

(Приложение 2)

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

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

(Приложение 3)

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

Форма редактирования работников выглядит следующим образом: (Приложение 4)

В этой форме можно задать список работников предприятия. Новые работники добавляются путём заполнения формы под списком, каждому работнику можно задать ФИО и должность. Существующих работников можно редактировать, внося изменения прямо в список, и удалять, стирая ФИО из соответствующего поля.

Для каждого работника можно задавать явки на работу на любое число месяца. Форма редактирования явок выглядит следующим образом: (Приложение 5)

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

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

(Приложение 6)

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

Также для каждого работника можно задавать неявки на работу. Форма редактирования неявок выглядит следующим образом:

(Приложение 7)

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

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

(Приложение 8)

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

Заключение

 

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

 

 

Приложения

 

 

Приложение 1

 

 

Приложение 2

 

 

Приложение 3

 

Приложение 4

 

Приложение 5

Приложение 6

 

Приложение 7

 

 

Приложение 8

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-04-26 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: