Студопедия — СОСТАВ И СТРУКТУРА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

СОСТАВ И СТРУКТУРА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ






ПО для данной АС разработано в среде VS 2010 Ultimate на языке программирования C#.

Программа представляет собой приложение, представляющее данные из БД и позволяющее их редактирование/добавление/удаление.

Код приложения из пяти модулей: mainForm.cs, formEmployee.cs, Report.cs, CalendarColumn.cs, classEmployee.cs.

MainForm.cs – модуль главной формы, содержит в себе основной функционал приложения, вызовы всех остальных форм и классов. Более подробное его описание находится в таблице 3.

Таблица 3. Состав модуля mainForm.cs

Название процедуры Входные параметры (тип название) Выходные параметры (тип) Объем Результат работы
Form1_Load object sender, EventArgs e -   Формирование подключения к БД, запуск таймера, вызов процедур GetEmployeesInfo и GetОтделы
GetEmployeesInfo   - -   Получение всей необходимой информации о работниках из БД и создание на основе ее массива объектов класса classEmployee - Employees
GetОтделы - -   Получение списка отделов из БД, вызов процедуры flushTab23
GetРаботники_Отдела (Int32) Int32 кодОтдела -   Получение на основе код отдела списка работников этого отдела из БД
GetРаботники_Отдела (string) string Отдел -   Получение на основе названия отдела его кода и вызов процедуры GetРаботники_Отдела(Int32)
GetЕжедневный_учет (Int32, Int) Int32 табНомер, int rowindex -   Получение на основе табельного номера работника его табеля работы из БД, составление ФИО на основе индекса строки в таблице списка работников отдела, вызов процедур monthWorkAcc и GetОплата_труда_работника
GetЕжедневный_учет (Int32) Int32 табНомер -   Определение на основе табельного номера индекса строки, вызов GetЕжедневный_учет (Int32, Int)
GetЕжедневный_учет (String) String ФИО -   Определение табельного номера и индкса строки на основе строки ФИО, вызов GetЕжедневный_учет (Int32, Int)
GetОплата_труда_работника Int32 табНомер -   Заполнение таблицы вкладки “Оплата труда” сведениями об оплате труда работника, вызов процедуры ShowEmployeeInfo
ShowEmployeeInfo classEmpolyee selectedEmp -   Отображение информации о работнике selectedEmp во вкладке “Лич. сведения”
flushTab23 - -   Очистка вкладок «Оплата труда» и «Лич. сведения» при переходе на более высокий уровень, чем уровень работника (уровень отделов или уровень работников отдела)
monthWorkAcc int tabNum -   Составление таблицы учета работы работника по месяцам с выводом общего кол-ва отработанных часов и норм нагрузки в часах и днях
loadDataGrid string sqlQueryString, int i -   Заполнение таблицы с индексом i данными запроса, полученного из строки sqlQueryString
button1_Click object sender, EventArgs e -   Возврат к списку отделов путем вызова процедуры GetОтделы()
dataGridView1_RowHeaderMouseClick object sender, DataGridViewCellMouseEventArgs e -   Переход на верхний уровень (уровень работников отдела или уровень работника) по нажатию на заголовок строки в таблице
button2_Click object sender, EventArgs e -   Получение списка работников отдела путем последовательного вызова процедур GetОтделы() и GetРаботники_Отдела(string);
dataGridView1_KeyDown object sender, KeyEventArgs e -   Тоже, что и dataGridView1_RowHeaderMouseClick, только переход по нажатию клавишы Enter
button3_Click object sender, EventArgs e -   Обновление данных табеля и оплаты труда текущего работника
Form1_Resize object sender, EventArgs e -   Изменение расположения и размеров элементов на форме под текущий размер формы
dataGridView1_SelectionChanged object sender, EventArgs e -   Изменение отображаемых данных учета ежедневного труда текущего работника в зависимости от выбранного месяца
tabPage1_Paint, tabPage2_Paint, tabPage3_Paint. object sender, PaintEventArgs e -   Прорисовка графических элементов на вкладках «Учет труда», «Оплата труда», «Лич. сведения»
dataGridView3_RowsAdded object sender, DataGridViewRowsAddedEventArgs e -   Получение кода строки и табельного номера работника, которому вносится новый день работы в табель
tabPage1_Resize, tabPage1_Resize, tabPage1_Resize. object sender, EventArgs e -   Подгонка размеров всех вкладок под размеры изменяемой
dataGridView3_DefaultValuesNeeded object sender, DataGridViewRowEventArgs e -   Ввод значений по умолчанию при добавлении нового дня работы работника
dataGridView1_UserDeletingRow object sender, DataGridViewRowCancelEventArgs e -   Отмена удаления при подтверждении, сбор необходимой информации для удаления отдела
button4_Click object sender, EventArgs e -   Кнопка, меняющая свой функционал в зависимости от уровня работы приложения. Добавляет/изменяет отделы, информацию о работнике отдела
dataGridView1_UserAddedRow object sender, DataGridViewRowEventArgs e -   Получение кода отдела при добавлении нового сотрудника
dataGridView1_RowLeave object sender, DataGridViewCellEventArgs e -   Сбор информации об измененной строке отдела для последующего корректного изменения этой строки в БД
dataGridView3_RowHeaderMouseClick object sender, DataGridViewCellMouseEventArgs e -   При нажатии на заголовок строки - выбор всего ряда
dataGridView3_CellClick object sender, DataGridViewCellEventArgs e -   При нажатии на ячейку - выбор ячейки
dataGridView3_UserDeletingRow object sender, DataGridViewRowCancelEventArgs e -   Процедура удаления дня работы, отмена удаления в случае не подтвреждения
dataGridView2_RowLeave object sender, DataGridViewCellEventArgs e -   Внесение изменений в информацию о премиях работника в БД
dataGridView2_RowEnter object sender, DataGridViewCellEventArgs e -   Сохранения текущего значения премии для последующего сравнения
timer1_Tick object sender, EventArgs e -   Ожидание команды на обновление таблицы оплаты
button6_Click object sender, EventArgs e -   Вызов формы Report.cs
mainForm_FormClosing object sender, FormClosingEventArgs e -   Процедура закрытия главной формы
button7_Click object sender, EventArgs e -   Выход из приложения
dataGridView3_DataError object sender, DataGridViewDataErrorEventArgs e -   Обработка ошибок на ввод не числа в поле отработанных часов
dataGridView3_CellLeave object sender, DataGridViewCellEventArgs e -   Обработки ввода числа, больше 24 (меньше 0).
button8_Click, button9_Click, button10_Click. object sender, EventArgs e -   Переключение между вкладками
закрытьToolStripMenuItem_Click object sender, EventArgs e -   Закрытие приложения по команде меню
обАвтореToolStripMenuItem2_Click object sender, EventArgs e -   Открытие информации об авторе
оПрограммеToolStripMenuItem_Click object sender, EventArgs e -   Открытие информации о программе

 

formEmployee.cs – модуль, вносящий изменения в информацию о работнике и позволяющий добавлять новых работников отдела. Более подробное его описание находится в таблице 4.

Таблица 4. Состав модуля formEmployee.cs

Название процедуры Входные параметры (тип название) Выходные параметры (тип) Объем Результат работы
formEmployee (OleDbConnection, int) OleDbConnection db, int departCode -   Вызов формы для добавления нового работника отдела с кодом departCode
formEmployee (int, OleDbConnection,bool) int tabNumber, OleDbConnection db, bool update -   Вызов формы для изменения информации о работнике с табельным номером tabNumber
formEmployee_Load object sender, EventArgs e -   Загрузка цветовой схемы, настройка положения таблиц на форме
button1_Click object sender, EventArgs e -   Подтверждение обновления/добавления личных данных сотрудника, загрузка во вторую таблицу «Сведения для расчета заработной платы» соответствующих сведений.
button2_Click object sender, EventArgs e -   Подтверждение обновления/добавления сведений о расчете заработной платы
formEmployee_Resize object sender, EventArgs e -   Настройка отображения элементов на форме при изменении ее размера
formEmployee_Paint object sender, PaintEventArgs e -   Настройка отображения элементов на форме при изменении ее размера
formEmployee_FormClosing object sender, FormClosingEventArgs e -   Подтверждение закрытия формы и откат изменений второй таблицы в случае обновления/удаление введенных данных о работнике таблицы «Личные данные» в случае добавления
dataGridView2_EditingControlShowing object sender, DataGridViewEditingControlShowingEventArgs e -   Создание виртуального объекта comboBox на основе текущего comboBox в ячейке с копированием всех его свойств и данных
comboBox_SelectedIndexChanged object sender, EventArgs e -   Изменение данных в comboBox`ах той же стоки, что и та, где произошли изменения
inputcheck object objColName, object objValue object   Проверка ввода на основе регулярных выражений, отмена ввода в случае непрохождения проверки
dataGridView1_RowLeave, dataGridView2_CellLeave. object sender, DataGridViewCellEventArgs e -   При смене выделенной строки – вызов процедуры inputcheck и применение ее результата
dataGridView2_RowLeave object sender, DataGridViewCellEventArgs e -   Запрет изменения ячеек "табНомер", "Базовая единица, руб", "Районный коэффициент", "Северная надбавка", проверка вводимых значений в остальные ячейки

 

Report.cs – модуль, реализующий на основе выбранной даты и информации о текущем работнике создание расчетного листа в формате «.doc». Более подробное его описание находится в таблице 5.

Таблица 5. Состав модуля Report.cs

Название процедуры Входные параметры (тип название) Выходные параметры (тип) Объем Результат работы
Report classEmpolyee currentEmp, DataGridViewRowCollection rows -   Копирование информации о рабочем currentEmp и строк таблицы из вкладки “Оплата труда” модуля mainForm.cs
button1_Click object sender, EventArgs e -   Вызов процедуры создания расчетного листа после выбора даты
monthCalendar1_DateSelected object sender, DateRangeEventArgs e -   Запоминание выбранного месяца
CreateReport - -   Процедура формирования расчетного листа работника в формате.doc

 

CalendarColumn.cs – модуль, реализующий применение в качестве управляющего элемента ячейки использование DateTimePicker. Данный управляющий элемент позволяет выбирать нужную дату из календаря, появляющегося в качестве ниспадающего меню при нажатии на ячейку.

classEmployee.cs – модуль, описывающий класс с одноименным названием. Более подробное его описание находится в таблице 6.

Таблица 6. Состав модуля classEmployee.cs

Тип данных поля Название поля Базовое значение поля Описание поля
String FName ‘\0’ Фамилия
String LName ‘\0’ Имя
String MName ‘\0’ Отчество
Int16 Category   Код Категории
Int16 Yuppie   Доплата молодому специалисту ППС, руб
Double Rate 1.0 Размер ставки
int tabNumber   Табельный номер
Int16 baseUnit   Базовая единица
Double tarif   Размер коэффициента за разряд
Double edu   Размер коэфициента за образование
Double job   Размер коэффициента за должность
Double workSpec   Размер коэффициента за специфику работы
Double academicTitle   Размер коэффициента за ученое звание
Double managScale   Размер коэффициента за масштаб управления
Double managLvl   Размер коэффициента за уровень управления
Double regionCoeff 0.7 Районный коэффициент
Double north 0.5 Северная надбавка
Double exp   Размер коэффициента за стаж
Double harmfull   Доплата за вредность
Double orden   Размер коэффициента за награды и почетные звания
Int16 academicDegree   Размер коэффициента за ученую степень
Double baseOklad   Величина базового оклада, руб
Double jobOklad   Величина должностного оклада, руб
Double warrantyPayment   Гарантированная з/п, руб
Boolean fiveORsix false Истина – 6 дней, ложь – 5 дней.
Int16 jobCode   Код должности
Int16 academicTitleCode   Код ученого звания
Int16 academicDegreeCode   Код ученой степени
Int16 departCode   Код отдела
Int16 tax   Величина налоговой ставки, %

 

В коде модуля так же присутствует конструктор classEmpolyee(), который инициализирует поля класса базовыми значениями.


 







Дата добавления: 2015-06-15; просмотров: 394. Нарушение авторских прав; Мы поможем в написании вашей работы!



Кардиналистский и ординалистский подходы Кардиналистский (количественный подход) к анализу полезности основан на представлении о возможности измерения различных благ в условных единицах полезности...

Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...

Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...

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

Способы тактических действий при проведении специальных операций Специальные операции проводятся с применением следующих основных тактических способов действий: охрана...

Искусство подбора персонала. Как оценить человека за час Искусство подбора персонала. Как оценить человека за час...

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

Анализ микросреды предприятия Анализ микросреды направлен на анализ состояния тех со­ставляющих внешней среды, с которыми предприятие нахо­дится в непосредственном взаимодействии...

Типы конфликтных личностей (Дж. Скотт) Дж. Г. Скотт опирается на типологию Р. М. Брансом, но дополняет её. Они убеждены в своей абсолютной правоте и хотят, чтобы...

Гносеологический оптимизм, скептицизм, агностицизм.разновидности агностицизма Позицию Агностицизм защищает и критический реализм. Один из главных представителей этого направления...

Studopedia.info - Студопедия - 2014-2024 год . (0.011 сек.) русская версия | украинская версия