Разработка программного модуля 'Лаборатория'
Содержание
Введение
Глава 1. Общая часть
1.1 Сущность поставленной задачи
1.2 Постановка задачи
1.2.1 Первичные документы
1.2.2 Требования, предъявляемые к системе
1.2.3 Требования предъявляемые к программному
обеспечению
1.3 Характеристика используемой ПЭВМ, ОС и языка
программирования
Глава 2. Разработка
программного обеспечения
2.1 Технологический
процесс машинной реализации задачи
2.2 Алгоритм задачи и его
описание
2.3 Описание переменных
процедур и функций
2.4 Программы и их
описание
2.4.1 Алгоритм и текст
программы меню
2.4.2 Алгоритм и тексты
(виды форм) программы ввода данных
2.4.3 Текст программы
формирования ведомости
2.4.4 Текст программы
формирования отчёта по количеству детей
2.4.5 Текст программы
формирования отчёта по ученой степени
2.4.6 Текст программы
формирования отчёта по занимаемой должности
2.5 Результаты работы
программы
2.6 Инструкция
пользователю
Заключение
Список общепринятых
сокращений
Список литературы
Приложения
Приложение 1 - Техническое
задание
Приложение 2 - Эскизный
проект
Введение
программа алгоритм процедура функция
Тема «Разработка программного модуля «Лаборатория»» актуальна в связи с
тем, что каждая организация, в том числе и лаборатория должны быть обеспечены
программным обеспечением предназначенным для учета кадров (работников)
лаборатории в отделе кадров, а также для работы с этими данными в других
подразделениях организации. Данный программный продукт позволит не только
учитывать кадры, но и формировать различного вида отчёты, необходимые для
работников отдела кадров и профкома.
В связи с актуальностью данной темы, целью работы будет являться
разработка программного модуля «Лаборатория»
Для выполнения поставленной цели необходимо решить следующие задачи:
· Рассмотреть теоретические аспекты предметной области.
· Предположить возможные требования.
· Проконтролировать различные аспекты использования модуля.
Текст расположен на ... страницах, состоит из введения, двух глав,
заключения, списка общепринятых сокращений, списка литературы и приложения.
Первая глава теоретическая, содержит в себе информацию о выбранной теме. Вторая
- практическая, содержит алгоритм решения задачи и его описание. Заключение
содержит обобщённые выводы по всей работе.
Глава 1. Общая часть
.1 Сущность поставленной задачи
Сущность поставленной задачи заключается в разработке программного модуля
"Лаборатория". Программа должна содержать ФИО работников лаборатории,
их пол, возраст, семейное положение, наличие детей, должность, ученую степень.
Из дополнительных требований следует выделить дружественный интерфейс и
направленность на выполнение конкретных функций, таких как составление отчетов
и хранение данных.
1.2 Постановка задачи
.2.1 Первичные документы
Первичными документами по данной теме будут являться: заявление работника
о приёме на работу, его паспорт, документы об образовании, трудовая книжка.
Готовые отчеты должны обязательно содержать следующие поля, исходящие из данных
документов: ФИО работника, возраст, пол и поля, которые необходимы в
зависимости от требований и целей формирования отчета.
1.2.2 Требования, предъявляемые к системе
Следует выделить наличие дружественного интерфейса, наличие требуемых
функций, а так же простота освоения и взаимодействия. Необходимо наличие
удобного поиска и стабильно низкое потребление ресурсов компьютера. Желательно
оградить пользователя от программных ошибок, связанных с неверным вводом данных
или неправильным использованием возможностей программного продукта, насколько
это будет возможно.
.2.3
Требования предъявляемые к программному обеспечению
Наличие операционных систем семейства windows, начиная с xp и заканчивая
windows 7. Разрядность системы особого значения не имеет, но желательно
использование 32-х или 64-х разрядной системы. Также необходимо наличие
установленной программы Microsoft Visual FoxPro версии 9.0 и выше.
1.3 Характеристика используемой
ПЭВМ, ОС и языка программирования
Компьютер:
Тип компьютера ACPI x64-based PC (Mobile)
Операционная система Microsoft Windows Vista Ultimate
Пакет обновления ОС -Explorer 8.0.7600.16385DirectX 10.0
Имя компьютера ACER_ASPIRE
Имя пользователя Игорь
Вход в домен Acer_Aspire
Дата / Время 2012-12-02 / 15:44
Системная плата:
Тип ЦП 2x , 2100 MHz
Системная плата Acer Aspire 5750G
Чипсет системной платы Неизвестно
Системная память 2923 Мб
Тип BIOS Insyde (05/24/11)
Дисплей:
Видеоадаптер Intel(R) HD Graphics Family (1365944 Кб)
Видеоадаптер Intel(R) HD Graphics Family (1365944 Кб)
Видеоадаптер NVIDIA GeForce GT 540M (1048384 Кб)
Видеоадаптер NVIDIA GeForce GT 540M (1048384 Кб)
Монитор Универсальный монитор PnP [NoDB] Мультимедиа:
Звуковой адаптер Контроллер High Definition Audio (Microsoft) [8086-1C20]
[NoDB]
Хранение данных:
Контроллер IDE Intel(R) Mobile Express Chipset SATA AHCI Controller
Контроллер хранения данных AMZIQGFW IDE Controller
Контроллер хранения данных Broadcom Memory Stick
Дисковый накопитель Hitachi HTS547550A9E384 (465 Гб, IDE)
Оптический накопитель PIONEER DVD-RW DVRTD10RS
Оптический накопитель ZEHGZAL 3S9MZCP SCSI CdRom Device
Статус SMART жёстких дисков OK
Разделы:
C: (NTFS) 100.5 Гб (70.8 Гб свободно): (NTFS) 350.1 Гб (177.5 Гб
свободно)
Общий объём 450.7 Гб (248.3 Гб свободно)
Ввод:
Клавиатура Стандартная клавиатура PS/2
Мышь ELAN PS/2 Port Smart-Pad
Мышь HID-совместимая мышь
Характеристика СУБД и языка программирования
Visual FoxPro (VFP) - визуальная среда разработки систем управления
реляционными базами данных, выпускаемая в настоящее время корпорацией
Майкрософт. Последней версией является 9.0. Использует язык программирования
FoxPro. Среда разработки версии 7.0 может работать в операционных системах
Windows 9x и ядра NT, версии 8.0 и 9.0 - только в Windows XP, 2000, 2003. Среда
исполнения (runtime) версий 8.0 и 9.0 работает под любой версией Windows,
начиная с 98.
Первоначально FoxPro (первоначальное название -
FoxBASE) разрабатывалась Fox Software, начиная с 1984 года. В 1992 году Fox
Technologies объединилась с Microsoft, новые версии продукта обрели ряд новых
функций и приставку «Visual». Последняя версия оригинального FoxPro - версия
2.6 - работала под Mac OS, DOS, Windows и Unix; уже в версии Visual FoxPro 3.0
список поддерживаемых платформ сократился до Mac OS и Windows, а в более
поздних версиях - уже только до Windows. Текущая версия Visual FoxPro основана
на COM, и Microsoft утверждает, что .NET-версии продукта не будет. Существует
проект Sedna, который должен обеспечить возможность взаимодействия Visual
FoxPro с .NET.
Благодаря встроенному механизму обработки курсора БД,
тесной связи между языком и данными и другим мощным функциям, пакет Visual
FoxPro 9.0 служит великолепным инструментом для создания решений любого
масштаба на основе баз данных. Сосредоточенный на работе с данными,
объектно-ориентированный язык, используемый в этом пакете, предлагает
разработчикам гибкий инструментарий для создания приложений на основе БД для
индивидуального использования, для работы в клиент-серверных средах, а также в
Интернете. Разработчики получают в свое распоряжение все необходимое для
управления информацией - от средств упорядочения таблиц, обработки запросов и
создания интегрированных систем управления реляционными базами данных (СУБД) до
полноценной разработки «с нуля» приложения для конечного пользователя.
Создаваемые с помощью пакета Visual FoxPro 9.0
web-службы XML, могут использоваться в качестве источников данных любыми
клиентскими платформами, поддерживаемыми средой разработки Visual Studio .NET
2003 и предназначенными для работы с web-службами XML, включая платформу
ASP.NET, а созданные с использованием среды разработки Visual Studio .NET 2003
web-службы XML или любые стандартные web-службы XML могут использоваться
приложениями пакета Visual FoxPro 9.0.
Глава 2. Разработка программного обеспечения
2.1
Технологический процесс машинной реализации задачи
Рисунок
1- Технологический процесс машинной реализации задачи
2.2
Алгоритм задачи и его описание
Работа с программой начинается с заполнения справочника «Должности» и
справочника «Ученая степень», так как при приёме на работу работника,
организацией заполняется таблица, в которой должны быть указаны данные о
должности и ученой степени этого работника. Если при заполнении таблицы
«Сотрудники» работник отдела кадров допускает ошибку в полях «Должность» и
«Ученая степень» программа выдаёт ошибку и сообщает о том что такой должности
или ученой степени в данной организации нет. После заполнения таблицы
«Сотрудники», где содержится основная информация по сотрудникам, работник
отдела кадров может заполнять справочник дополнительной информации по
сотрудникам.
После того, как надлежащим образом будут заполнены все таблицы, можно
приступить к формированию отчётов, т.е. вывести информацию только по тем
сотрудникам, которые нужны и подходят по определённым критериям.
Также после заполнения таблиц можно будет сформировать ведомость по всем
сотрудникам (отображается вся информация), редактировать, просматривать и
производить очистку таблиц.
Для функционирования программы была разработана база данных. Разработка
происходила в следующем порядке:
) Разработка SADT и DFD моделеймодель первого уровня
Рисунок
2 - SADT модель первого уровня
SADT
модель второго уровня
Рисунок
3 - SADT модель второго уровня
модель
первого уровня
1.
|
Архив сведений о сотруднике
|
Кадровик
|
DFD модель второго уровня
Рисунок
5 - DFD модель второго уровня
2) Разработка концептуальной модели
Рисунок 6 - Концептуальная модель
) Разработка логической модели
Рисунок
7 - Логическая модель
4)
Разработка физической модели
Таблица 1- Физическая модель
Сотрудники
|
Расшифровка поля
|
Тип
|
Кол-во знаков
|
kods
|
Код сотрудника
|
character
|
3
|
fam
|
Фамилия
|
character
|
15
|
im
|
Имя
|
character
|
15
|
otch
|
Отчество
|
character
|
15
|
pol
|
Пол
|
character
|
1
|
vozr
|
Возраст
|
integer
|
|
kodd
|
Код должности
|
character
|
3
|
kodus
|
Код ученой степени
|
|
3
|
Справочник должностей
|
|
|
|
kodd
|
Код должности
|
Character
|
3
|
dolzhn
|
Должность
|
character
|
100
|
Справочник ученой
степени
|
|
|
|
kodus
|
Код ученой степени
|
character
|
3
|
Uch_step
|
Ученая степень
|
Character
|
10
|
Справочник
дополнительной информации
|
|
|
|
kods
|
Код сотрудника
|
character
|
3
|
sp
|
Семейное положение
|
character
|
10
|
deti
|
Дети
|
integer
|
|
2.3
Описание переменных процедур и функций
Таблица 2 - Описание переменных:
Имя переменной
|
Название программы в
которой она используется
|
Назначение
|
1
|
2
|
3
|
ST
|
vvod_sotr.prg
|
массив основных переменных
|
s
|
vvod_sotr.prg
|
промежуточная переменная
для сохранения кода сотрудника
|
err
|
vvod_sotr.prg
|
переменная контроля конца
цикла
|
d
|
vvod_sotr.prg
|
промежуточная переменная
для сохранения кода должности
|
z
|
vvod_sotr.prg
|
переменная контроля выхода
из окна ввода данных
|
ST
|
vvod_dop_inf.prg
|
массив основных переменных
|
d
|
vvod_dop_inf.prg
|
промежуточная переменная
для сохранения кода сотрудника
|
1
|
2
|
3
|
z
|
vvod_sotr.prg
|
переменная контроля выхода
из окна ввода данных
|
ST
|
vvod_dolzhn.prg
|
массив основных переменных
|
dst
|
vvod_dolzhn.prg
|
промежуточная переменная
для сохранения кода должности
|
z
|
vvod_dolzhn.prg
|
переменная контроля выхода
из окна ввода данных
|
ST
|
vvod_uch_step.prg
|
массив основных переменных
|
kust
|
vvod_uch_step.prg
|
промежуточная переменная
для сохранения кода ученой степени
|
z
|
vvod_uch_step.prg
|
переменная контроля выхода
из окна ввода данных
|
dol
|
formir_ved.prg
|
промежуточная переменная
для сохранения названия должности
|
ustep
|
formir_ved.prg
|
промежуточная переменная
для сохранения названия ученой степени
|
sem
|
formir_ved.prg
|
промежуточная переменная
для сохранения названия семейного положения
|
kold
|
formir_ved.prg
|
промежуточная переменная
для сохранения количества детей
|
par
|
menu_prog.prg
|
переменная для ввода пароля
|
ero
|
menu_prog.prg
|
переменная контроля ввода
пароля
|
Таблица 3 - Описание процедур
Имя процедуры
|
Название программы в
которой она используется
|
Назначение
|
1
|
2
|
3
|
proc1
|
menu_prog.prg
|
открывает для просмотра
таблицу sotrud.dbf
|
proc2
|
menu_prog.prg
|
открывает для просмотра
таблицу dolzhn.dbf
|
proc3
|
menu_prog.prg
|
открывает для просмотра
таблицу uchstep.dbf
|
proc4
|
menu_prog.prg
|
открывает для просмотра
таблицу dop_inf.dbf
|
proc7
|
menu_prog.prg
|
открывает файл ведомости
|
proc8
|
menu_prog.prg
|
запускает программу
формирования ведомости
|
proc40
|
menu_prog.prg
|
запускает программу
формирования отчёта
|
proc41
|
menu_prog.prg
|
запускает программу
формирования отчёта
|
proc42
|
menu_prog.prg
|
запускает программу
формирования отчёта
|
proc9
|
menu_prog.prg
|
очищает экран
|
proc11
|
menu_prog.prg
|
очистка таблиц
|
proc15
|
menu_prog.prg
|
всё закрывает
|
proc16
|
menu_prog.prg
|
просмотр справки
|
proc30
|
menu_prog.prg
|
редактирование таблицы
sotrud.dbf
|
proc31
|
menu_prog.prg
|
редактирование таблицы
dolzhn.dbf
|
proc32
|
menu_prog.prg
|
редактирование таблицы
uchstep.dbf
|
proc33
|
menu_prog.prg
|
редактирование таблицы
dop_inf.dbf
|
Pvih
|
menu_prog.prg
|
выход в FoxPro
|
PvihL
|
menu_prog.prg
|
выход в Windows
|
4otch
|
menu_prog.prg
|
Отчёт по количеству
сотрудников на каждой должности
|
2.4
Программы и их описание
2.4.1
Алгоритм и текст программы меню
Алгоритм меню:
Рисунок
8 - Алгоритм меню
Текст
программы меню:
CLEAR ALLBELL offtalk OFFallSYSMENU toSYSMENU automaticPAD a OF _msysmenu
PROMPT "Ввод данных" COLOR SCHEME 3PAD d OF _msysmenu PROMPT
"Просмотр базы" COLOR SCHEME 3PAD j OF _msysmenu PROMPT
"Редактирование данных" COLOR SCHEME 3PAD p OF _msysmenu PROMPT
"Формирование отчётов" COLOR SCHEME 3PAD l OF_msysmenu PROMPT
"Обработка COLOR SCHEME3PAD h OF _msysmenu PROMPT "Сервис" COLOR
SCHEME 3PAD f OF _msysmenu PROMPT "Справка" COLOR SCHEME 3PAD k OF
_msysmenu PROMPT "ВЫХОД" COLOR SCHEME 3PAD a OF _msysmenu activate
popup vvodPAD d OF _msysmenu activate popup prosmPAD j OF _msysmenu ACTIVATE
POPUP redakt PAD p OF _msysmenu activate popup svodkiPAD l OF _msysmenu
ACTIVATE POPUP obrabPAD h OF _msysmenu activate popup servisPAD f OF _msysmenu
activate popup spravkaPAD k OF _msysmenu activate popup vihodPOPUP vvod MARGIN
RELATIVE shadow COLOR SCHEME 3BAR 1 OF vvod PROMPT "Сотрудники"BAR 2
OF vvod PROMPT "Справочник дополнительной информации по
сотрудникам"BAR 3 OF vvod PROMPT "Справочник должности"BAR 4 OF
vvod PROMPT "Справочник ученая степень"
ON SELECTION BAR 1 OF vvod do
'D:\ТРПП курсовой\Программа\vvod_sotr.prg'SELECTION BAR 2 OF vvod do 'D:\ТРПП
курсовой\Программа\vvod_dop_inf.prg'SELECTION BAR 3 OF vvod do 'D:\ТРПП
курсовой\Программа\vvod_dolzhn.prg'SELECTION BAR 4 OF vvod do 'D:\ТРПП
курсовой\Программа\vvod_uch_step.prg'
DEFINE POPUP prosm MARGIN RELATIVE shadow COLOR SCHEME3BAR 1 OF prosm
PROMPT "Сотрудники"BAR 2 OF prosm PROMPT "Справочник
Должности"BAR 3 OF prosm PROMPT "Справочник Ученая степень"BAR 4
OF prosm PROMPT "Справочник Дополнительная информация по
сотрудникам"SELECTION BAR 1 OF prosm do proc1SELECTION BAR 2 OF prosm do
proc2SELECTION BAR 3 OF prosm do proc3SELECTION BAR 4 OF prosm do proc4POPUP
redakt MARGIN RELATIVE shadow COLOR SCHEME3BAR 1 OF redakt PROMPT "Сотрудники"BAR
2 OF redakt PROMPT "Справочник Должности"BAR 3 OF redakt PROMPT
"Справочник Ученая степень"BAR 4 OF redakt PROMPT "Справочник
Дополнительная информация по сотрудникам"SELECTION BAR 1 OF redakt do
proc30SELECTION BAR 2 OF redakt do proc31SELECTION BAR 3 OF redakt do
proc32SELECTION BAR 4 OF redakt do proc33POPUP svodki MARGIN RELATIVE
shadowCOLOR SCHEME3BAR 1 OF svodki PROMPT "Вывести сотрудников по
количеству детей"BAR 2 OF svodki PROMPT "Вывести сотрудников по
ученой степени"BAR 3 OF svodki PROMPT "Вывести сотрудников по
должности"SELECTION BAR 1 OF svodki do proc40SELECTION BAR 2 OF svodki do
proc41SELECTION BAR 3 OF svodki do proc42POPUP obrab MARGIN RELATIVE shadow
COLOR SCHEME3BAR 1 OF obrab PROMPT "формирование ведомости"SELECTION
BAR 1 OF obrab do proc8POPUP servis MARGIN RELATIVE shadow COLOR SCHEME3BAR 1
OF servis PROMPT "очистка экрана"BAR 3 OF servis PROMPT "очистка
таблиц"BAR 4 OF servis PROMPT "закрыть всё"SELECTION BAR 1 OF
servis do proc9SELECTION BAR 3 OF servis do proc11SELECTION BAR 4 OF servis do
proc15POPUP spravka MARGIN RELATIVE shadow COLOR SCHEME 3BAR 1 OF spravka
PROMPT "Просмотр справки"SELECTION BAR 1 OF spravka do proc16POPUP
vihod MARGIN RELATIVE shadow COLOR SCHEME3BAR 1 OF vihod PROMPT "Выйти в
Windows"BAR 2 OF vihod PROMPT "Выйти в FOXPRO"SELECTION BAR 1 OF
vihod do PvihSELECTION BAR 2 OF vihod do PvihLproc1'D:\ТРПП
курсовой\Программа\sotrud.dbf'noeditDATABASESproc2'D:\ТРПП
курсовой\Программа\dolzhn.dbf'noeditDATABASESproc3'D:\ТРПП
курсовой\Программа\uchstep.dbf'noeditDATABASESproc4'D:\ТРПП
курсовой\Программа\dop_inf.dbf'noeditDATABASESproc7FILE 'D:\ТРПП
курсовой\Программа\vedomost.txt' noeditproc8'D:\ТРПП
курсовой\Программа\formir_ved.prg'proc40'D:\ТРПП
курсовой\Программа\otchet1.prg'proc41'D:\ТРПП курсовой\Программа\otchet2.prg'proc42'D:\ТРПП
курсовой\Программа\otchet3.prg'proc9proc11WINDOW pp FROM 1,1 TO
100,100;'Очистка таблиц';float font 'Times New Roman'WINDOW ppSPACE(5) TO par
@ 1,1 say 'Введите пароль' get par picture '99999'par='12345'SPACE(1) TO
s
@ 3,1 say 'Вы действительно хотите очистить таблицы??? Если да введите
"1", если нет то "0"' get s pict '9's='0'WINDOW
ppdatabases'D:\ТРПП курсовой\Программа\sotrud.dbf''D:\ТРПП
курсовой\Программа\dolzhn.dbf''D:\ТРПП курсовой\Программа\uchstep.dbf''D:\ТРПП
курсовой\Программа\dop_inf.dbf'WINDOW ppdatabases( "Пароль неверный"
,48,"Ошибка",0)WINDOW ppdatabasesproc15ALLproc16FILE 'D:\ТРПП
курсовой\Программа\spravka.txt' noeditproc30wind qw from 1,1 to 20,90;'Ввод
пароля';float font 'Times New Roman'WINDOW qwst(1)SPACE(5) TO st(1) =1WHILE ero
=1
@ 4,4 say 'Пароль ' get st(1) pICTURE '99999'=st(1)par='12345'WINDOW
qw'D:\ТРПП курсовой\Программа\sotrud.dbf'DATABASES=0( "Пароль
неверный" ,48,"Ошибка",0)4otchALTERNATE TO 'D:\ТРПП
курсовой\Программа\4otch.txt'ALTERNATE one'D:\ТРПП курсовой\Программа\sotrud.dbf'on
kods+kodd TO 'D:\ТРПП курсовой\Программа\1.idx'b'D:\ТРПП
курсовой\Программа\dolzhn.dbf'on kodd TO 'D:\ТРПП
курсовой\Программа\2.idx'RELATION TO kodd INTO e additiveSKIP TO e
?'-------------------------------------------------------------------------------
--------------------------------------------------------------------------------'
?' Должность | Количество людей работающих на этой должности |'
?'-------------------------------------------------------------------------------
--------------------------------------------------------------------------------'=0btopwhile.not.EOF()=b.dolzhnetopwhile.not.eof()e.kodd=b.kodd=n+1
?' ',PADC(dol,58),'|',n,' |'=0b
?'--------------------------------------------------------------------------------
--------------------------------------------------------------------------------'ALTERNATE
offproc31wind qw from 1,1 to 20,90;'Ввод пароля';float font 'Times New
Roman'WINDOW qwst(1)SPACE(5) TO st(1) =1WHILE ero =1
@ 4,4 say 'Пароль ' get st(1) pICTURE '99999'=st(1)par='12345'WINDOW
qw'D:\ТРПП курсовой\Программа\dolzhn.dbf'DATABASES=0( "Пароль
неверный" ,48,"Ошибка",0)proc32wind qw from 1,1 to 20,90;'Ввод
пароля';float font 'Times New Roman'WINDOW qwst(1)SPACE(5) TO st(1) =1WHILE ero
=1
@ 4,4 say 'Пароль ' get st(1) pICTURE '99999'=st(1)par='12345'WINDOW
qw'D:\ТРПП курсовой\Программа\uchstep.dbf'DATABASES=0( "Пароль
неверный" ,48,"Ошибка",0)proc33wind qw from 1,1 to 20,90;'Ввод
пароля';float font 'Times New Roman'WINDOW qwst(1)SPACE(5) TO st(1) =1WHILE ero
=1
@ 4,4 say 'Пароль ' get st(1) pICTURE '99999'=st(1)par='12345'WINDOW
qw'D:\ТРПП курсовой\Программа\dop_inf.dbf'DATABASES=0( "Пароль
неверный" ,48,"Ошибка",0)PvihMENUPvihLPOPUPmenuSYSMENU TO
default
Вид меню:
Рисунок 9 - Вид меню
2.4.2 Алгоритм и тексты (виды форм) программы ввода
данных
.4.2.1 Программа ввода должностей в
«Справочник должностей»
Алгоритм
Риснок
10 - Алгоритм работы программы ввода должностей
Текст:DATABASESALLBELL
OFFTALK OFFFILE 'D:\ТРПП курсовой\Программа\koddol.idx'b'D:\ТРПП
курсовой\Программа\dolzhn.DBF'on kodd TO 'D:\ТРПП курсовой\Программа\koddol.idx'wind
qw from 1,1 to 20,90;'Ввод должностей';float font 'Times New Roman'WINDOW
qwST(2)SPACE(3) TO ST(1)SPACE(50) TO ST(2)' ' TO zWHILE z<>'*'
@
1,1 SAY 'Код должности ' get ST(1) Picture'999' =ST(1)dstFOUND()( "Такой
код уже существует" ,48,"Ошибка",0)
@
1,1 SAY 'Код должности ' get ST(1) Picture'999'
@
2,1 say 'Должность ' get ST(2)
Вид
формы ввода:
Рисунок
11 - Форма ввода в справочник должностей
2.4.2.2 Программа ввода ученой
степени в «Справочник ученых степеней»
Алгоритм:
Рисунок
12 - Алгоритм работы программы ввода ученых степеней
Текст:DATABASESALLBELL
OFFTALK OFFFILE 'D:\ТРПП курсовой\Программа\kust.idx'b'D:\ТРПП
курсовой\Программа\uchstep.DBF'on kodus TO 'D:\ТРПП
курсовой\Программа\kust.idx'wind qw from 1,1 to 20,90;'Ввод учёной
степени';float font 'Times New Roman'WINDOW qwST(2)SPACE(3) TO ST(1)SPACE(50)
TO ST(2)' ' TO zWHILE z<>'*'
@
1,1 SAY 'Код ученой степени ' get ST(1) Picture'999' =ST(1)kustFOUND()(
"Такой код уже существует" ,48,"Ошибка",0)
@
1,1 SAY 'Код ученой степени ' get ST(1) Picture'999'
@
2,1 say 'Учёная степень ' get ST(2)
@
3,1 say 'конец ввода?*' get zBLANKFROM STz='*'DATABASESWINDOW qw
Вид
формы ввода:
Рисунок
13 - Форма ввода ученой степени в «Справочник ученых степеней»
2.4.2.3
Программа ввода сотрудников в таблицу сотрудники
Алгоритм
Рисунок
14 - Алгоритм работы программы ввода сотрудников
Текст:DATABASESALLBELL
OFFTALK OFFFILE 'D:\ТРПП курсовой\Программа\kods.idx'FILE 'D:\ТРПП
курсовой\Программа\kodd.idx'FILE 'D:\ТРПП
курсовой\Программа\kodus.idx'e'D:\ТРПП курсовой\Программа\sotrud.DBF'on kods TO
'D:\ТРПП курсовой\Программа\kods.idx'b'D:\ТРПП курсовой\Программа\dolzhn.DBF'on
kodd TO 'D:\ТРПП курсовой\Программа\kodd.idx'c'D:\ТРПП
курсовой\Программа\uchstep.DBF'on kodus TO 'D:\ТРПП
курсовой\Программа\kodus.idx'ewind qw from 1,1 to 20,90;'Ввод сотрудников';float
font 'Times New Roman'WINDOW qwST(8)SPACE(3) TO ST(1),ST(7),ST(8)SPACE(15) TO
ST(2),ST(3),ST(4)SPACE(1) TO ST(5)0 TO ST(6),v' ' TO zWHILE z<>'*'
@
1,1 SAY 'Код сотрудника ' get ST(1) Picture'999'=ST(1)sFOUND()( "Такой код
сотрудника уже имеется, для изменения информации о сотрудниках зайдите в меню
редактирование таблиц" ,48,"Ошибка",0)
@
1,1 SAY 'Код сотрудника ' get ST(1) Picture'999'
@
2,1 say 'Фамилия ' get ST(2)
@
3,1 say 'Имя ' get ST(3)
@
4,1 say 'Отчество ' get st(4)
@
5,1 say 'Пол ' get ST(5) function'm м,ж'
@
6,1 say 'Возраст ' get ST(6) Picture'99'=1WHILE err=1
@ 7,1 say 'Код должности '
get ST(7) Picture'999'=ST(7)bdFOUND()=0e
@ 8,1 say 'Код учёной степени
' get ST(8) function 'm 001,002,003,004,005,-'
@ 9,1 say 'конец ввода?*' get
zBLANKFROM STz='*'(7)=' ' ( "Код должности не найден в справочнике
должностей, введите верный код должности" ,48,"Ошибка",0)
@ 7,1 say 'Код должности '
get ST(7) Picture'999'DATABASESALLWINDOW qw
Вид формы:
Рисунок 15 - Форма ввода
сотрудников в таблицу сотрудники
2.4.2.4 Программа ввода
дополнительной информации о сотрудниках
Алгоритм:
Рисунок
16 - Алгоритм работы программы ввода дополнительной информации о сотрудниках
Текст:DATABASESALLBELL
OFFTALK OFFwind qw from 1,1 to 20,90;'Ввод дополнительной информации';float
font 'Times New Roman'WINDOW qwST(3)SPACE(3) TO ST(1)SPACE(10) TO ST(2)0 TO
st(3)' ' TO zFILE 'D:\ТРПП курсовой\Программа\kodsot.idx'FILE 'D:\ТРПП
курсовой\Программа\kodso.idx'e'D:\ТРПП курсовой\Программа\sotrud.DBF'on kods TO
'D:\ТРПП курсовой\Программа\kodsot.idx'c'D:\ТРПП
курсовой\Программа\dop_inf.DBF'on kods TO 'D:\ТРПП
курсовой\Программа\kodso.idx'WHILE z<>'*'
@ 1,1 SAY 'Код сотрудника '
get ST(1) Picture'999'=ST(1)e(d)FOUND()
@ 2,1 say 'Семейное положение
' get ST(2)
@ 3,1 SAY 'Количество детей '
get ST(3)
@ 4,1 say 'конец ввода?*' get
zBLANKFROM STz='*'( "Сотрудник не найден" ,48,"Ошибка",0)
@ 1,1 SAY 'Код сотрудника '
get ST(1) Picture'999'DATABASES
Вид формы:
Рисунок 17 - Форма ввода
дополнительной информации
2.4.3 Текст программы
формирования ведомости
BELL offTALK OFFDATE
BRITISHallfile 'D:\ТРПП курсовой\Программа\vedomost.txt'file 'D:\ТРПП
курсовой\Программа\1.idx'file 'D:\ТРПП курсовой\Программа\2.idx'file 'D:\ТРПП
курсовой\Программа\3.idx'file 'D:\ТРПП курсовой\Программа\4.idx'ALTERNATE TO
'D:\ТРПП курсовой\Программа\vedomost.txt'ALTERNATE one'D:\ТРПП
курсовой\Программа\sotrud.dbf'on kods TO 'D:\ТРПП
курсовой\Программа\1.idx'b'D:\ТРПП курсовой\Программа\dolzhn.dbf'on kodd TO
'D:\ТРПП курсовой\Программа\2.idx'c'D:\ТРПП курсовой\Программа\dop_inf.dbf'on
kods TO 'D:\ТРПП курсовой\Программа\3.idx'a'D:\ТРПП курсовой\Программа\uchstep.dbf'on
kodus TO 'D:\ТРПП курсовой\Программа\4.idx'
?' ВЕДОМОСТЬ ПО СОТРУДНИКАМ
ЛАБОРАТОРИИ'
?'-----------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------'
?'| Фамилия | Имя | Отчество
| Возраст | Пол | Должность | Ученая степень | Семейное положение| Кол-во
детей|'
?'|-------------------|-----------------|----------------------|----------|------|-------------
---------------------------------------|-----------------|-------------------|-------------|'
?'|-------------------|-----------------|----------------------|----------|------|-------------
---------------------------------------|-----------------|-------------------|-------------|'etopWHILE.not.eof()bSEEK(e.kodd)=b.dolzhn='
'aSEEK(e.kodus)=a.u_step='-'cSEEK(e.kods)=c.sp=c.deti='-'=' '
?'|',PADC(e.fam,17),'|',PADC(e.imja,15),'|',PADC(e.otch,20),'|',PADC(e.vozr,8),'|',PADC(e.pol,4),'|',PADC(dol,60),'|',PADC(ustep,15),'|',PADC(sem,17),'|',PADC(kold,11),'|'
?'|-------------------|-----------------|----------------------|----------|------|-------------
---------------------------------------|-----------------|-------------------|-------------|'eDATABASESALTERNATE
off“start notepad D:\ТРПП курсовой\Программа\vedomost.txt"ALL
2.4.4
Текст программы формирования отчёта по количеству детей
BELL offTALK OFFDATE BRITISHallfile 'D:\ТРПП
курсовой\Программа\otchet1.txt'file 'D:\ТРПП курсовой\Программа\5.idx'file
'D:\ТРПП курсовой\Программа\6.idx'file 'D:\ТРПП курсовой\Программа\7.idx'file
'D:\ТРПП курсовой\Программа\8.idx'e'D:\ТРПП курсовой\Программа\sotrud.dbf'on
kods TO 'D:\ТРПП курсовой\Программа\5.idx'b'D:\ТРПП
курсовой\Программа\dolzhn.dbf'on kodd TO 'D:\ТРПП курсовой\Программа\6.idx'c'D:\ТРПП
курсовой\Программа\dop_inf.dbf'on kods TO 'D:\ТРПП
курсовой\Программа\7.idx'a'D:\ТРПП курсовой\Программа\uchstep.dbf'on kodus TO
'D:\ТРПП курсовой\Программа\8.idx'ALTERNATE TO 'D:\ТРПП
курсовой\Программа\otchet1.txt'ALTERNATE onwind qw from 1,1 to
20,90;'Формирование отчета по количеству детей';float font 'Times New
Roman'WINDOW qwst(1)0 TO ST(1)
@ 1,1 SAY 'Введите количество детей' get ST(1) Picture'99'WINDOW qw=ST(1)
?' Отчёт по сотрудникам у которых количество детей =',kold
?'------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------'
?'| Фамилия | Имя | Отчество | Возраст | Пол | Должность | Ученая степень
| Семейное положение| Кол-во детей|'
?'|-------------------|-----------------|----------------------|----------|------|-------------
---------------------------------------|-----------------|-------------------|-------------|'
?'|-------------------|-----------------|----------------------|----------|------|-------------
---------------------------------------|-----------------|-------------------|-------------|'ctopWHILE.not.EOF()c.deti=kold=c.speSEEK(c.kods)=e.fam=e.imja=e.otch=e.pol=e.vozr=e.kodd=e.kods=e.kodusaSEEK(ku)=a.u_step='-'bSEEK(kd)=b.dolzhn='
'
?'|',PADC(f,17),'|',PADC(i,15),'|',PADC(o,20),'|',PADC(v,8),'|',PADC(p,4),'|',PADC(d,60),'|',PADC(ustep,15),'|',PADC(sem,17),'|',PADC(kold,11),'|'
?'|-------------------|-----------------|----------------------|----------|------|-------------
---------------------------------------|-----------------|-------------------|-------------|'cDATABASESPROCEDURESALLALTERNATEALTERNATE
off"start notepad D:\ТРПП
курсовой\Программа\otchet1.txt"DATABASESPROCEDURESALL
2.4.5
Текст программы формирования отчёта по ученой степени
BELL offTALK OFFDATE BRITISHallfile 'D:\ТРПП
курсовой\Программа\otchet1.txt'file 'D:\ТРПП курсовой\Программа\5.idx'file
'D:\ТРПП курсовой\Программа\6.idx'file 'D:\ТРПП курсовой\Программа\7.idx'file
'D:\ТРПП курсовой\Программа\8.idx'e'D:\ТРПП курсовой\Программа\sotrud.dbf'on
kods TO 'D:\ТРПП курсовой\Программа\5.idx'b'D:\ТРПП
курсовой\Программа\dolzhn.dbf'on kodd TO 'D:\ТРПП
курсовой\Программа\6.idx'c'D:\ТРПП курсовой\Программа\dop_inf.dbf'on kods TO
'D:\ТРПП курсовой\Программа\7.idx'a'D:\ТРПП курсовой\Программа\uchstep.dbf'on
kodus TO 'D:\ТРПП курсовой\Программа\8.idx'ALTERNATE TO 'D:\ТРПП
курсовой\Программа\otchet2.txt'ALTERNATE onwind qw from 1,1 to
20,90;'Формирование отчета по ученой степени';float font 'Times New
Roman'WINDOW qwst(1)SPACE(3) TO ST(1)
@ 1,1 SAY 'Введите код ученой степени' get ST(1) function 'm
001,002,003,004,005,-'WINDOW qw=ST(1)
?' Отчёт по сотрудникам у которых ученая степень:',koduch
?'------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------'
?'| Фамилия | Имя | Отчество | Возраст | Пол | Должность | Ученая степень
| Семейное положение| Кол-во детей|'
?'|-------------------|-----------------|----------------------|----------|------|-------------
---------------------------------------|-----------------|-------------------|-------------|'
?'|-------------------|-----------------|----------------------|----------|------|-------------
---------------------------------------|-----------------|-------------------|-------------|'etopWHILE.not.EOF()e.kodus=koduch=e.fam=e.imja=e.otch=e.pol=e.vozr=e.kodd=e.kods=e.kodusbSEEK(kd)=b.dolzhn='
'aSEEK(ku)=a.u_step='-'cSEEK(ks)=c.sp=c.deti
?'|',PADC(f,17),'|',PADC(i,15),'|',PADC(o,20),'|',PADC(v,8),'|',PADC(p,4),'|',PADC(d,60),'|',PADC(ustep,15),'|',PADC(sem,17),'|',PADC(kold,11),'|'
?'|-------------------|-----------------|----------------------|----------|------|-------------
---------------------------------------|-----------------|-------------------|-------------|'eALTERNATEALTERNATE
off"start notepad D:\ТРПП
курсовой\Программа\otchet2.txt"DATABASESPROCEDURESALL
2.4.6 Текст программы формирования отчёта по
занимаемой должности
SET BELL offTALK OFFDATE BRITISHallfile 'D:\ТРПП
курсовой\Программа\otchet3.txt'file 'D:\ТРПП курсовой\Программа\9.idx'file
'D:\ТРПП курсовой\Программа\10.idx'file 'D:\ТРПП курсовой\Программа\11.idx'file
'D:\ТРПП курсовой\Программа\12.idx'e'D:\ТРПП курсовой\Программа\sotrud.dbf'on
kods TO 'D:\ТРПП курсовой\Программа\9.idx'b'D:\ТРПП
курсовой\Программа\dolzhn.dbf'on kodd TO 'D:\ТРПП
курсовой\Программа\10.idx'c'D:\ТРПП курсовой\Программа\dop_inf.dbf'on kods TO
'D:\ТРПП курсовой\Программа\11.idx'a'D:\ТРПП курсовой\Программа\uchstep.dbf'on
kodus TO 'D:\ТРПП курсовой\Программа\12.idx'ALTERNATE TO 'D:\ТРПП
курсовой\Программа\otchet3.txt'ALTERNATE onwind qw from 1,1 to
20,90;'Формирование отчета по должности занимаемой сотрудниками';float font
'Times New Roman'WINDOW qwst(1)SPACE(3) TO ST(1)
@ 1,1 SAY 'Введите код должности по которой нужно вывести сотрудников'
get ST(1) Picture '999'WINDOW qw=ST(1)
?' Отчёт по сотрудникам, которые занимают должность:',koddol
?'------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------'
?'| Фамилия | Имя | Отчество | Возраст | Пол | Должность | Ученая степень
| Семейное положение| Кол-во детей|'
?'|-------------------|-----------------|----------------------|----------|------|-------------
---------------------------------------|-----------------|-------------------|-------------|'
?'|-------------------|-----------------|----------------------|----------|------|-------------
---------------------------------------|-----------------|-------------------|-------------|'etopWHILE.not.EOF()e.kodd=koddol=e.fam=e.imja=e.otch=e.pol=e.vozr=e.kodd=e.kods=e.kodusbSEEK(kd)=b.dolzhn='
'aSEEK(ku)=a.u_step='-'cSEEK(ks)=c.sp=c.deti
?'|',PADC(f,17),'|',PADC(i,15),'|',PADC(o,20),'|',PADC(v,8),'|',PADC(p,4),'|',PADC(d,60),'|',PADC(ustep,15),'|',PADC(sem,17),'|',PADC(kold,11),'|'
?'|-------------------|-----------------|----------------------|----------|------|-------------
---------------------------------------|-----------------|-------------------|-------------|'eALTERNATEALTERNATE
off"start notepad D:\ТРПП
курсовой\Программа\otchet3.txt"DATABASESPROCEDURESALL
2.5
Результаты работы программы
Рисунок 18 - Отчёт по количеству детей
Рисунок 19 - Отчёт по ученой степени
Рисунок 20 - Отчёт по занимаемой должности
Рисунок 21 - Отчёт по количеству сотрудников на каждой должности
Рисунок 22 - Ведомость по всем сотрудникам лаборатории
2.6
Инструкция пользователю
Начинается работа с программой с запуска Microsoft Visual FoxPro 9.0,
затем открывается проект “labor.pjx”, который со всеми своими компонентами
всегда должен иметь путь “D:\ТРПП курсовой\программа\labor.pjx”. После первого
запуска программы нужно для начала заполнить таблицы справочники (справочник
должностей и справочник ученых степеней), имеющиеся в БД, т.к. в дальнейшем
заполнение таблиц с информацией по сотрудникам без этих справочников будет
невозможно. Заполнить эти справочники можно с помощью пункта меню Ввод данных.
После заполнения этих справочников можно приступать к заполнению таблиц с
информацией по сотрудникам также с помощью пункта меню Ввод данных.
Рисунок 23 - Ввод данных
После заполнения таблиц с помощью пункта меню Просмотр базы можно
просмотреть правильность введенной информации без возможности редактирования.
Рисунок 24 - Просмотр базы
Если при просмотре обнаружены ошибки, то для их исправления нужно перейти
к пункту Редактирование данных и выбрав соответствующий подпункт, после
введения пароля приступить к редактированию нужной таблицы.
Рисунок 25 - Редактирование данных
Для формирования различных отчётов по определенным критериям нужно
перейти к пункту Формирование отчётов.
Рисунок 26 - Формирование отчётов
В пункте обработка можно сформировать ведомость которая будет отображать
полную информацию по всем сотрудникам.
Рисунок 27 - Обработка
В пункте сервис имеются подпункты : очистка экрана, очистка таблиц(выполняется
после введения пароля) и закрыть всё.
Рисунок 28 - Сервис
Также дополнительную информацию по работе с программой можно найти в
пункте меню Справка. Остальная информация при неправильной работе с программой
указывается в высветившихся ошибках.
Заключение
В курсовой работе были рассмотрены теоретические аспекты разработки
программного модуля «Лаборатория» а так же значимость темы работы и этапы
разработки. По окончанию работ был получен программный продукт, способный
хранить информацию о сотрудниках лаборатории, формировать различного рода
отчеты, также сохранять и распечатывать необходимую информацию. Также
разработана СУБД и удобное меню, которое позволяет быстро и удобно
ориентироваться в программе и выполнять необходимые операции. База была
заполнена информацией на 50 сотрудников и проверена на работоспособность.
Были описаны необходимые условия для работы программы, написано
техническое задание и составлены алгоритмы её работы.
Одним из главных достоинств данного программного модуля является простота
освоения, однако для него была написана инструкция, где подробно описываются и
иллюстрируются возможности этого продукта.
Итак, можно сделать вывод, что работа в данном направлении позволяет
автоматизировать систему работы с информацией о студентах, сократить время
обработки, формирования отчетов и застраховать человека от некоторых возможных
ошибок.
Список общепринятых сокращений
ПП - программный продукт.
ПО - программное обеспечение.- язык гипертекстовой разметки документов.
СУБД - система управления баз данных.
ОС - операционная система.
ПК - персональный компьютер.
Список литературы
1. Л.Г.Гагарина, Е.В. Кокорева, Б.Д. Виснадул Технология
разработки программного обеспечения, учебное пособие -М.; "ФОРУМ":
ИНФРА-М, 2008.- 400 с.
2. О.Л. Голицина, Т.Л. Портыка, И.И. Попов Языки
программирования, учебное пособие -М.; "ФОРУМ": ИНФРА-М, 2008.- 400
с.
Приложение 1 - Техническое задание
Работа выполняется в рамках проекта разработки программного модуля
«Лаборатория»
Основание для разработки
.1 Основанием для данной работы является учебный план «Теория разработки
программных продуктов»
.2 Наименование работы
«Разработка программного модуля Лаборатория»
.3 Исполнитель: Захаркин Игорь Анатольевич
.4 Соисполнители: Нет
. Назначение разработки
Создание программного модуля для записи, хранения и обработки информации
по сотрудникам лаборатории отделом кадров и профкомом.
. Технические требования
.1 Требования к функциональным характеристикам
.1.1 Состав выполняемых функций:
Разрабатываемое ПО должно обеспечивать:
· Ввод и хранение информации о сотрудниках лаборатории;
· Формирование различных отчетов (для профкома и отдела кадров)
.1.2 Организация входных и выходных данных
Данные поступают в архив личных дел сотрудников лаборатории. И вся
введённая информация хранится на ЭВМ определенный срок. Используя информацию из
архива и другие источники, формируются и печатаются отчеты и ведомость.
.2 Требования к надёжности
Для обеспечения надёжности необходимо использовать контроль вводимых
данных.
.3 Условия эксплуатации и требования к составу и параметрам технических
средств.
Для работы системы необходимо вмешательство заказчика для уточнения своих
требований.
Требования к составу и параметрам технических средств уточняются на этапе
эскизного проектирования системы.
.4 Требование к информационной и программной совместимости. Программа
должна работать на платформах Windows xp/vista/7/8
.5 Требования к транспортировке и хранению.
Программа должна работать на любой ЭВМ.
.6. Специальные требования
· Высокая функциональность
· Удобство и быстродействие
. Требования к программной документации
Основными документами, регламентирующими разработку будущих программ,
должны быть документы Единой Системы Программной Документации (ЕСПД): руководство
пользователя, руководство администратора, описание применения.
. Технико-экономические показатели
Эффективность системы определяется удобством использования системы для
формирования отчетов и ведомости, а также предоставления информации о
сотрудниках лаборатории.
. После передачи Исполнителем отдельного функционального модуля программы
Заказчику последний имеет право тестировать модуль в течении 7 дней. После
тестирования Заказчик должен принять работу по данному этапу или в письменном
виде изложить причину отказа принятия. В случае обоснованного отказа
Исполнитель обязуется доработать модуль.
8. Календарный план работ
№ этапа
|
Название этапа
|
Сроки этапа
|
Чем заканчивается этап
|
1
|
Изучение предметной области
|
01.09.2012 01.10.2012
|
Предложение по работе системы.
Акт сдачи-приемки
|
2
|
Разработка программного
модуля
|
01.10.2012 30.11.2012
|
Программный комплекс
|
3
|
Тестирование и отладка
|
01.12.2012 30.12.2012
|
Готовая программа
|
Руководитель работ Пегусов А.Ю.
Приложение
2 - Эскизный проект
Ведомость эскизного проекта
Документы по разработанному продукту:
Техническое задание на создание информационной системы СУБД
«Лаборатория».
Пояснительная записка к эскизному проекту.
Общие положения:
Данный документ является эскизным проектом на создание Системы Управления
Базой Данных для ВУЗа (СУБД «Лаборатория»).
Основные технические решения:
Решения по структуре системы СУБД «Лаборатория» будет представлять собой
персональную систему управления локальной базой данных, работающей на одном
компьютере.
Система будет управлять реляционной базой данных.
Так как модуль имеет узкую направленность, то используется только
информация необходимая для формирования отчётов, таким образом будет достигнута
непротиворечивость данных.
Общая структура базы данных:
Хранение информации о сотрудниках лаборатории осуществляется с
сохранением целостности данных при изменении или удалении записей таблицы.
Информация о сотруднике лаборатории отражается в 2-х таблицах с
указанием: ФИО, кода должности, кода ученой степени, пола, возраста, наличием
детей, семейного положения и т.д.
Указанные решения должны удовлетворять требованиям,
приведенным в техническом задании на разработку системы.
Состав функций комплексов задач, реализуемых системой:
Автоматизированная система должна выполнять следующие функции:
• Обеспечивать целостное хранение данных в базе;
•Выводить корректные данные в случае поиска;
• Формировать необходимые отчеты;
Решения по составу программных средств, языкам деятельности, алгоритмам
процедур и операций и методам их реализации.
Для реализации АС будет использоваться среда
программирования Microsoft Visual FoxPro 9.0 и язык программирования
FoxPro.
Источники разработки:
Данный документ разрабатывался на основании ГОСТ
.698-90 на написание ТЗ на автоматизированные системы управления от
01.01.1992 г.