Проектирование информационной системы

Автор работы: Пользователь скрыл имя, 09 Октября 2013 в 14:26, курсовая работа

Краткое описание

Целью данной работы является разработка программного обеспечения для более быстрого и удобного учета удержаний из заработной платы.
Для достижения поставленной цели в курсовой работе ставятся следующие задачи:
1) Рассмотреть теоретические основы учета удержаний из заработной платы;
2) Разработать необходимые базы данных на основании первичных документов;

Содержание

Введение…………………………………………………………………...…..….......3
1. Описание предметной области..…………………………………….………..4
2. Требования, предъявляемые к системе.……………………………….……16
3. Проектирование ИС...………………………………………………....……..18
3.1. Модели процесса проектирования……………………...…….18
3.2. Формирование требований…………….………………...…….21
3.3. Техническое задание.………………..……………………........22
3.4. Проект ИС……………...……………………………….…........26
4. Расчет экономической эффективности.…...………………….…………….38
Заключение………………………………………………………………………….41
Список использованной литературы…………………………………………........

Прикрепленные файлы: 1 файл

РЭИС.doc

— 847.00 Кб (Скачать документ)

         Выходные данные:

  1. Расчетно – платежная ведомость.

     Требования к выходным данным:

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

     Надежность системы:

     Надежность системы в целом зависит от надежности используемой операционной системы:

a) система не  должна содержать ошибок, искажающих  внешние спецификации, обнаруживаемые  тестированием;

б) система не должна переходить в неопределенное состояние при неправильных действиях пользователя за пультом;

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

г) ЭВМ  не должна зависать или выдавать несоответствующие сообщения при обращении к неподключенным внешним устройствам;

Условия эксплуатации:

а) система должна быть рассчитана на пользователя, не знакомого  с программированием ЭВМ и  управлением операционной системой;

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

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

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

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

е) изображения  доступных функциональных клавиш должно постоянно присутствовать на экране;

     з) время реакции системы:

- при операциях типа  редактирования время реакции не более 0.3 сек; 

- время перехода на другую функцию не более 0.3 сек;

- время печати документов определяется параметрами принтера,

         но принтер не должен работать в графическом режиме;

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

-  цветовая гамма должна быть сдержанной;

- цвета должны нести функциональную нагрузку и не менять ее на протяжении всего диалога;

-  изображения меню следует окантовывать рамкой;

- сигнальные сообщения системы, связанные с невозможностью или опасностью выполнения действия, окрашивать в красный цвет;

        - для заполнения общего экранного фона избегать цветов GREEN и     MAGENTA;                   

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

     Для нормальной работы клиентской части необходимо:

  • Компьютер с процессором Intel Pentium-100 или 100%-совместимым.
  • Оперативная память не менее 16 Мb.
  • Жесткий диск объемом не менее 1 Gb.
  • Наличие адаптера подключения к сети (сетевой карты, модема и т.п.).
  • Установленная ОС Windows 95/98/NT/2000/XP.

Модель системы  должна работать под управлением  ОС Windows 95/98/NT/2000/XP, поэтому требуется совместимость исполняемого модуля и библиотек динамического подключения стандартам, используемым этими ОС на платформе IBM PC.

Для хранения информации требуется использование баз  данных формата DBF (Visual FoxPro).

Для доступа  к базам данных Visual FoxPro требуется наличие установленного ядра работы с БД Visual FoxPro.

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

 

 

3.4. Проект ИС.

Рис. 3.4.1. Главное окно программы.

Рис. 3.4.2. База данных data1.dbc.

Таблица Сотрудники (sotr.dbf, информация о сотрудниках):

Рис. 3.4.3. Структура таблицы sotr.dbf.

     tabn – табельный номер сотрудника;

     fio – ФИО сотрудника;

     prof_dolzh – должность (профессия) сотрудника;

     raszenka – расценка;

     virabotka – выработка;

     vicheti – вычеты.

     Таблица Начисления (n.dbf, информация о начислениях):

     tabn – табельный номер сотрудника;

     po_bol – начислено по больничному листу;

     premia – премия;

     prochie – прочие начисления;

     mes – месяц; god – год.

Рис. 3.4.4. Структура таблицы n.dbf.

    Таблица Удержания (ud.dbf, информация об удержаниях):

     tabn – табельный номер сотрудника;

     po_isp_list – удержано по исполнительным листам;

     kol – количество бракованных деталей;

     summa – удержано по авансовому отчету;

     mes – месяц;

     god – год.

Рис. 3.4.5. Структура таблицы ud.dbf.

Ввод информации о сотрудниках осуществляется с помощью программы:

Рис. 3.4.6. Программа «Ввод сотрудников».

Код программы:

CLEAR

close ALL

set talk off

set bell off

set console off

set date german

set safety off

USE sotr.dbf

declare p(6)

store '         ' TO p(1)

store '                                            ' TO p(2)

STORE '                              ' TO p(3)

store '          ' TO p(4)

STORE '            ' TO p(5)

STORE '      ' TO p(6)

STORE ' ' TO k

DO while k!='*'

APPEND BLANK

@ 5,1 say 'табельный номер' get p(1)

@ 6,1 say 'Ф.И.О.' get p(2)

@ 7,1 say 'профессия/должность' get p(3)

@ 8,1 say 'расценка' get p(4)

@ 9,1 say 'выработка' get p(5)

@ 10,1 say 'вычеты' get p(6)

@ 11,1 say 'конец ввода *' get k

READ

gather from p

enddo

CLEAR

browse

Ввод информации о начислениях осуществляется с помощью программы:

Рис. 3.4.7. Программа «Ввод начислений».

Код программы:

CLEAR

close ALL

set talk off

set bell off

set console off

set date german

set safety off

USE n.dbf

declare p(4)

store '         ' TO p(1)

store '      ' TO p(2)

STORE '      ' TO p(3)

STORE '      ' TO p(4)

STORE ' ' TO k

DO while k!='*'

APPEND BLANK

@ 5,1 say 'табельный номер' get p(1)

@ 6,1 say 'премия' get p(2)

@ 7,1 say 'больничный лист' get p(3)

@ 8,1 say 'прочие' get p(4)

@ 9,1 say 'конец ввода *' get k

READ

gather from p

enddo

CLEAR

Browse

 

Ввод информации об удержаниях осуществляется с помощью программы:

 

Рис. 3.4.8. Программа «Ввод удержаний».

Код программы:

CLEAR

close ALL

set talk off

set bell off

set console off

set date german

set safety off

USE ud.dbf

declare p(4)

store '         ' TO p(1)

store '          ' TO p(2)

STORE '             ' TO p(3)

STORE '       ' TO p(4)

STORE ' ' TO k

DO while k!='*'

APPEND BLANK

@ 5,1 say 'табельный номер' get p(1)

@ 6,1 say 'по исполнительным листам' get p(2)

@ 7,1 say 'по авансовому отчету' get p(3)

@ 8,1 say 'за брак' get p(4)

@ 9,1 say 'конец ввода *' get k

READ

gather from p

enddo

CLEAR

Browse

 

Программа по формированию акта о браке:

 

CLEAR

CLOSE ALL

SET TALK OFF

SET BELL off

SET CONSOLE OFF

SET DATE GERMAN

SET SAFETY OFF

DELETE FILE akt.txt

SET ALTERNATE TO akt.txt

SET ALTERNATE on

SELECT a

USE sotr.dbf

SELECT b

USE vidi_ud.dbf

r='|'

? '                                                     АКТ О БРАКЕ ', DATE()                                                

? 'Г=========Т==============================Т==============================T=================T===============Т==========Т=============T====================|'

? '|табельный|     фамилия имя отчество     |           профессия          |       Цех       |   вид оплаты  | тарифная |  количество |      причина       |'

? '|  номер  |                              |                              |                 |               |  ставка  | бракованных |                    |'

? '|         |                              |                              |                 |               |(расценка)|   деталей   |                    |'

? '|=========|==============================|==============================|=================|===============|==========|=============|====================|'

LOCATE FOR kol>0              

? r+PADC(a.tabn,9)+r+PADC(a.fio,30)+r+PADC(a.prof_dolzh_spec,30)+r+PADC(a.ceh,17)+r+PADC(a.vid_o,15)+r+STR(a.tarif_st_rascenka,10)+r+STR(b.kol,13)+r+PADC(b.prichina_br,20)+r

SKIP

? '|=======================================================================================================================================================|'

? '                                                                                                                                                         '

? ' Начальник  цеха ___________   _________________________                                                                                                  '

? '                 (подпись)      (расшифровка  подписи)                                                                                             ' 

CLOSE ALTERNATE akt.txt

MODIFY COMMAND akt.txt

CLOSE DATABASE

Clear

 

 

Программа по формированию ведомости:

CLEAR

CLOSE ALL

SET TALK OFF

SET BELL off

SET CONSOLE OFF

SET DATE GERMAN

SET SAFETY OFF

DELETE FILE rasch_vedomost.txt

SET ALTERNATE TO rasch_vedomost.txt

SET ALTERNATE on   

STORE 0 TO n,vsego,ndfl,al,n1,n2,n3,br,vsego_ud,itog

SELECT a

USE sotr.dbf

INDEX on tabn TO sotr.idx

SELECT c

USE vidi_n.dbf

INDEX on tabn to vidi_n.idx

SELECT d

USE vidi_ud.dbf

INDEX on tabn TO vidi_ud.idx

r='|'

? '                                                                                               РАСЧЕТНАЯ ВЕДОМОСТЬ                                                                                                   '

? 'Г=========Т==============================Т==============================T===============Т==========Т============Т=========Т======T======T======T=====T======Т======T==========Т=======Т=============Т=====T=========|'

? '|табельный|     фамилия имя отчество     |           Должность          |   вид оплаты  | тарифная | отработано |              Начисление            |      |                   Удержанo                  |к выплате|'

? '|  номер  |                              |    (специальность,профессия) |               |  ставка  |   часов    |начислено|премия|б/лист|прочие|всего|вычеты| НДФЛ |по исполни|за брак|по авансовому|всего|         |'

? '|         |                              |                              |               |(расценка)|(выработка) |         |      |      |      |     |      |      |  тельным |       |    отчету   | уд. |         |'

? '|         |                              |                              |               |          |            |         |      |      |      |     |      |      |  листам  |       |             |     |         |'

? '|=========|==============================|==============================|===============|==========|============|=========|======|======|======|=====|======|======|==========|=======|=============|=====|=========|'

GO TOP

DO while.not.eof()

tabn1=tabn

DO WHILE tabn1=tabn

SELECT a

IF SEEK(tabn1)

fio1=fio

ENDIF

SELECT c

IF SEEK(tabn1)

premia1=premia

ENDIF

SELECT d

n=a.tarif_st_rascenka*a.otr_ch_virabotka

vsego=n+c.premia+c.b_list+c.prochie

n1=vsego-a.vicheti

ndfl=n1*0.13

n2=vsego-ndfl

al=n2*d.isp

n3=n2-al

br=d.kol*a.tarif_st_rascenka

vsego_ud=ndfl+al+br+d.summa

viplata=vsego-vsego_ud

? r+PADC(a.tabn,9)+r+PADC(a.fio,30)+r+PADC(a.prof_dolzh_spec,30)+r+PADC(a.vid_o,15)+r+STR(a.tarif_st_rascenka,10)+r+PADC(a.otr_ch_virabotka,12)+r+STR(n,9)+r+STR(c.premia,6)+r+STR(c.b_list,6)+r+STR(c.prochie,6)+r+STR(vsego,5)+r+STR(a.vicheti,6)+r+STR(ndfl,6)+r+STR(al,10)+r+STR(br,7)+r+PADC(d.summa,13)+r+STR(vsego_ud,5)+r+STR(viplata,9)+r

itog=itog+viplata

viplata=0

SKIP

ENDDO

ENDDO               

? '|=========|==============================|==============================|===============|==========|============|=========|======|======|======|=====|======|======|==========|=======|=============|=====|=========|' 

? '|Итого                                   |                              |               |          |            |         |      |      |      |     |      |      |          |       |            ',itog,'|'

? '|===================================================================================================================================================================================================================|'

? ''

? '                                                                                                                  Ведомость ______________________ ______________________ ___________________'

? '                                                                                                                  составил        должность             личная подпись    расшифровка подписи'

CLOSE ALTERNATE rasch_vedomost.txt

MODIFY COMMAND rasch_vedomost.txt

CLOSE INDEXES

CLOSE DATABASE

clear

Запросы:

*осуществить  выборку работников, которые сделали  бракованные детали

select sotr.tabn,sotr.fio, ud.kol from sotr;

inner join ud on (sotr.tabn=ud.tabn);

where (ud.kol>0)

Рис. 3.4.9. Запрос.

*осуществить  выборку работников, которые в  марте получили премию

select sotr.tabn,sotr.fio,n.premia,n.mes from sotr;

inner join n on (sotr.tabn=n.tabn);

where (n.premia>0) and (n.mes=3)

Рис. 3.4.10. Запрос2.

Программа меню:

clear

close all

set talk off

set bell off

set date GERMAN

set safety off

SET SYSMENU TO

Информация о работе Проектирование информационной системы