Автоматизация воспитательной работы УО "Гомельский государственный аграрно-экономический колледж"

Основные направления воспитательной работы учреждения образования. Состав и организация программного обеспечения автоматизации воспитательной работы учреждения образования. Разработка графического интерфейса. Описание компонентов и иерархии классов.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 06.01.2017
Размер файла 4,8 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Таблица 5.1 -- Сравнение исходного и уточнённого объёма строк исходного кода

Код функции

Наименование (содержание) функции

Объем функций

(строк исходного кода)

исходный

уточненный

1

2

3

4

101

Организация ввода информации

150

15

102

Контроль, предварительная обработка и ввод информации

420

42

107

Организация ввода/вывода информации в интерактивном режиме

320

32

207

Организация поиска и поиск в базе данных

5040

504

305

Формирование файла

2360

236

Итого:

8290

829

Согласно формуле (5.1) уточненный объем ПО (Vу) составляет:

строк.

Разработанный в ходе выполнения дипломного проекта программный продукт по своим характеристикам относится к третьей категории сложности, поскольку не обладает характеристикой переносимости ПО.

Исходя из уточненного объема программы и ее категории сложности нормативная трудоемкость (Тн) выполняемых работ составляет 40 чел.-дн.

Дополнительные затраты труда, связанные с повышением сложности разработанного ПО, учитываются посредством коэффициента повышения сложности ПО (Кс), который рассчитывается по формуле (5.2).

, (5.2)

где Ki -- коэффициент, соответствующий степени повышения сложности;
n -- количество учитываемых характеристик, шт.

Так как разработанное ПО обеспечивает хранение, ведение и поиск данных в сложных структурах, то коэффициент, соответствующий степени повышения сложности (Ki) составляет 0,07. Таким образом, по формуле (5.2) Кс получает значение:

.

Новизна разработанного ПО определяется путем экспертной оценки данных, полученных при сравнении его характеристик с имеющимися аналогами. Согласно результатам экспертной оценки новизна ПО соответствует категории Б, а коэффициент (Кн), учитывающий новизну ПО, равен 1,0.

Современные технологии разработки компьютерных программ предусматривают широкое использование коробочных продуктов (пакетов, модулей, объектов). Степень использования в разработанном ПО стандартных модулей определяется их удельным весом в общем объеме программного продукта. В созданной системе автоматизации воспитательной работы куратора используется до 70 % стандартных модулей. Таким образом, коэффициент, учитывающий степень использования стандартных модулей ПО (Кт)составляет 0,55.

Еще одним фактором, влияющим на трудоемкость разработки ПО, является коэффициент, учитывающий средства разработки ПО (Кур). Программа разработана с применением процедурного языка высокого уровня «С#» для работы в ОС «MS Windows», а также для работы не в сетях, что определяет значение коэффициента Кур равное 0,8.

В соответствии с ГОСТ 19.102-77 «ЕСПД. Стадии разработки» выделяют следующие основные стадии разработки ПО: техническое задание (ТЗ), эскизный проект (ЭП), технический проект (ТП), рабочий проект (РП), внедрение (ВН). Значение коэффициентов удельных весов трудоемкости стадий разработки ПО в общей трудоемкости создания программного продукта, определяется с учетом установленной категории новизны ПО. При этом сумма значений коэффициентов удельных весов всех стадий в общей трудоемкости равна единице. При распределении трудоемкости по стадиям учитывается, что программный продукт разрабатывался без применения CASE-технологии. Таким образом, можно представить следующее распределение коэффициентов по стадиям разработки ПО: КТЗ + КЭП + КТП = 0,6, КРП =0,3, КВН = 0,1.

Нормативная трудоемкость выполняемых работ по стадиям разработки корректируется с учетом коэффициентов: повышения сложности ПО (Кс), учитывающего новизну ПО (Кн), учитывающего степень использования стандартных модулей (Кт), средства разработки ПО (Кур).

Трудоемкость работ на стадиях «Техническое задание», «Эскизный проект» и «Технический проект» определяется по формуле:

, (5.3)

чел.-дн.

Трудоемкость работ на стадии рабочего проекта определяется по формуле:

, (5.4)

чел.-дн.

Трудоемкость работ на стадии внедрения не учитывается в общей трудоемкости разработки ПО, так как внедрение ПО в производственный или учебный процесс не предполагается. Тогда, общая трудоемкость разработки ПО (ТО) определяется суммированием нормативной (скорректированной) трудоемкости ПО по стадиям разработки:

, (5.5)

где Туi -- нормативная (скорректированная) трудоемкость разработки ПО на i-й стадии, чел.-дн.;

n -- количество стадий разработки, шт.

Результаты расчетов по определению нормативной и скорректированной трудоемкости ПО по стадиям разработки представлены в таблице 5.2.

Таблица 5.2 -- Результаты расчетов общей трудоемкости ПО

Показатели

Стадии разработки

Итого

ТЗ

ЭП

ТП

РП

ВН

Коэффициенты удельных весов трудоемкости стадий разработки ПО (КТЗ, КЭП, КТП, КРП, КВН)

0,6

0,3

0,1

1,0

Распределение нормативной уточненной трудоемкости ПО по стадиям, чел.-дн.

40

-

-

40

Коэффициент повышения сложности ПО (Кс)

1,07

1,07

1,07

-

Коэффициент, учитывающий новизну ПО (Кн)

1,0

1,0

1,0

-

Коэффициент, учитывающий степень использования стандартных модулей (Кт)

-

0,55

-

-

Коэффициент, учитывающий средства разработки ПО (Кур)

0,8

0,8

0,8

-

Распределение скорректированной (с учетом Кс, Кн,Кт, Кур) трудоемкости ПО по стадиям, чел.-дн.

20

6

-

26

Примечание ЇТрудоемкость работ на стадии внедрения не учитывается в общей трудоемкости разработки ПО, так как внедрение ПО в производственный или учебный процесс не предполагается.

5.2 Расчет затрат на разработку программного обеспечения

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

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

- затраты труда на создание программного продукта;

- затраты на машинное время;

- затраты на материалы;

- затраты на энергию, на использование каналов связи;

Исходные данные по статьям затрат представлены в таблице 5.3.

Таблица 5.3 -- Исходные данные

Показатель

Условное обозначение

Единицы измерения

Значение

Балансовая стоимость компьютера

БК

рубль

4982782

Мощность, потребляемая

компьютером

МК

кВт

0,62

Полезный фонд времени работы компьютера за год

FK

дней

255

Стоимость 1кВт/час

С

рубль

3161,4

Площадь на 1 рабочее место

Spv

м2

32

Стоимость 1м2 производственной площади

Спл

рубль

2405602

Норма амортизации для оборудования

Нао

процент

20

Норма амортизации для зданий

Напл

процент

1

Отчисления на текущий ремонт оборудования (в % от балансовой стоимости)

PO

процент

3,10

Балансовая стоимость стационарного компьютера составляет 3473535 рублей. Его мощность состоит из мощности, потребляемой системным блоком (0,4 кВт), и мощности, потребляемой монитором (0,22 кВт). Общая мощность, потребляемая компьютером, составляет 0,62 кВт.

Полезный фонд времени работы компьютера за год зависит от полезного фонда рабочего времени предприятия. Количество рабочих дней без учета праздников и выходных при шестидневной рабочей неделе в 2016 году составляет 255.

Стоимость 1 кВт/час для юридических лиц составляет 3161,4 рублей.

Площадь на одно рабочее место зависит от общей рабочей площади предприятия и среднесписочной численности сотрудников, работающих на данной площади. Рабочая площадь административного здания составляет 448 м2, а среднесписочная численность -- 14 человек. Расчет площади на одно рабочее место производится путем деления общей площади на среднесписочную численность сотрудников организации. Таким образом, площадь на одно рабочее место составляет 32 м2.

Стоимость 1 м2 производственной площади зависит от стоимости здания предприятия (или стоимости его аренды) и общей площади предприятия. Стоимость здания предприятия составляет 6127548335 рублей. Расчет стоимости 1 м2 производственной площади производится путем деления стоимости здания предприятия на общую площадь предприятия. Тогда, 1 м2 производственной площади составит 2405602 рублей.

Стоимость потребляемой энергии выражается в рублях. Её можно определить в соответствии с данными из таблицы 5.3 по следующей формуле:

, (5.6)

где Квр-- коэффициент, учитывающий использование по времени (Квр=0,80);

Кс -- коэффициент, учитывающий потери в сети (Кс = 1, 05).

Таким образом, стоимость потребляемой энергии составляет:

руб.

Сумма амортизационных отчислений рассчитывается по формуле (5.7) линейным способом, принятым на предприятии.

САОГ = БКЧНао/100+(SрмЧСплЧНаоп/100). (5.7)

Таким образом, годовая сумма амортизационных отчислений составляет:

САОГ =288130Ч20/100+(32Ч2405602Ч1/100) = 827419 руб.

Сумма амортизационных отчислений за период разработки ПО составляет:

САО =827419/ 255 Ч 26 = 84364 руб.

Для того, что бы предотвратить непредвиденные расходы на ремонт оборудования, необходимо иметь резервный денежный фонд, который формируется в организации путем отчислений на текущий ремонт оборудования, содержание и эксплуатацию. Выражаются такие затраты в рублях. Расчеты годовых отчислений производятся на основе балансовой стоимости оборудования по формуле (5.8):

Зрг = БК Ч РО / 100. (5.8)

Зрг = 4982782 Ч 3,10 / 100 = 154466 руб.

Тогда отчисления за период разработки составляют:

Зр = 154466 / 255 Ч 26 = 15749 руб.

Таким образом, затраты на машинное время при создании программного обеспечения составляют:

ЗМВ =288130 + 84364 + 15749 = 388243 руб.

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

Исходные данные для определения материальных затрат приведены в таблице 5.4.

Таблица 5.4 -- Исходные данные

Материалы

Единицы измерения

Потребность

Цена без НДС, руб.

Бумага

пачка

1

42120

Диск

штук

1

8256

Итого:

50376

Затраты на материалы составляют 50376 рублей.

Основная заработная плата рассчитывается по формуле (1). Для определения ее величины необходимо установить значение каждого множителя, входящего в формулу, первым из которых является часовая тарифная ставка работника n-го квалификационного разряда. Ее величина зависит от квалификационного разряда разработчика, задействованного в создании программного обеспечения.

Согласно образовательному стандарту среднего специального образования специальности 2-40 01 01 «Программное обеспечение информационных технологий» обучение по специальности обеспечивает получение квалификации «техник-программист». Так, в качестве разработчика, задействованного в создании программного обеспечения в рамках дипломного проектирования, следует рассматривать техника-программиста без квалификационной категории, поскольку в соответствии с выпуском 1 Единого квалификационного справочника должностей служащих (ЕКСД) «Должности служащих для всех видов деятельности», утвержденным постановлением Министерства труда Республики Беларусь 30.12.1999 г. № 159, квалификационными требованиями к специалистам в должности техника-программиста первой и второй квалификационных категорий предусматривается обязательное наличие стажа работы в указанной должности не менее 2 лет.

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

Так, если организация-база практики является бюджетной, то в соответствии с постановлением Министерства труда Республики Беларусь от 21.01.2000 г. № 6 «О мерах по совершенствованию условий оплаты труда работников бюджетных организаций и иных организаций, получающих субсидии, работники которых приравнены по оплате труда к работникам бюджетных организаций» во всех бюджетных организациях и иных организациях, получающих субсидии, работники которых приравнены по оплате труда к работникам бюджетных организаций, вне зависимости от основгого вида экономической деятельсноти организации для техника-программиста, не имеющего квалификационной категории, устанавливается 7-ой разряд ЕТС.

Расходы на оплату труда разработчиков с отчислениями (ЗТР) определяются по следующей формуле (5.9):

(5.9)

где ЗПОСН -- основная заработная плата разработчиков, руб.;

ЗПДОП -- дополнительная заработная плата разработчиков, руб.;

ОЗП -- сумма отчислений от заработной платы, предусмотренных законодательством, руб.

Расходы на оплату труда рассчитываются с использованием повременной системы оплаты труда, которая в общем случае предполагает расчет основной заработной платы на основе тарифной ставки по Единой тарифной сетке (ЕТС) согласно тарифному разряду разработчика по формуле (5.10):

(5.10)

где ТС1 -- тарифная ставка работника первого квалификационного разряда, составляющая 298000 рублей;

Kn -- тарифный коэффициент, соответствующий n-му квалификационному разряду ЕТС.

Величина тарифного коэффициента зависит от квалификационного разряда разработчика, задействованного в создании программного обеспечения. Согласно образовательному стандарту среднего специального образования специальности 2-40 01 01 «Программное обеспечение информационных технологий» обучение по специальности обеспечивает получение квалификации «техник-программист». Так, в качестве разработчика, задействованного в создании программного обеспечения в рамках дипломного проектирования, следует рассматривать техника-программиста без квалификационной категории, поскольку в соответствии с выпуском 1 Единого квалификационного справочника должностей служащих (ЕКСД) «Должности служащих для всех видов деятельности», утвержденным постановлением Министерства труда Республики Беларусь 30.12.1999 г. № 159, квалификационными требованиями к специалистам в должности техника-программиста первой и второй квалификационных категорий предусматривается обязательное наличие стажа работы в указанной должности не менее 2 лет.

В соответствии с постановлением Министерства труда Республики Беларусь от 21.01.2000 г. №6 «О мерах по совершенствованию условий оплаты труда работников бюджетных организаций и иных организаций, получающих субсидии, работники которых приравнены по оплате труда к работникам бюджетных организаций» во всех бюджетных организациях и иных организациях, получающих субсидии, работники которых приравнены по оплате труда к работникам бюджетных организаций, вне зависимости от основного вида экономической деятельности организации для техника-программиста, не имеющего квалификационной категории, устанавливается VII разряд ЕТС, согласно которого установлен тарифный коэффициент равный 2,03. Исходя из этих данных рассчитывается тарифная ставка VII разряда:

рублей.

Предусмотрены повышения тарифной ставки согласно коллективному договору и положению об оплате труда тарифной ставки в связи с заключением контракта на 50% от тарифной ставки и за вклад эффективность работы в размере 30% от тарифной ставки. Следовательно, оклад за месяц составит:

рублей.

Окладом является фиксированный размер заработной платы за полностью отработанный календарный месяц. Учитывая, что полученная трудоемкость разработки ПО меньше количества рабочих дней месяца, в котором велась разработка (май 2016 г.), следует произвести расчет заработной платы исходя из фактически отработанного времени по формуле (5.11):

(5.11)

где Кфод-- количество фактически отработанных дней.

Исходя из общей трудоемкости разработки ПО, равный 26 чел.-дн., основная заработная плата разработчика по формуле (5.12) составит:

рублей.

Дополнительная заработная плата разработчиков (ЗПДОП) включает выплаты, предусмотренные законодательством о труде (оплата отпусков, льготных часов, времени выполнения государственных обязанностей и других выплат, не связанных с основной деятельностью исполнителей), и определяется по нормативу в процентах к основной заработной плате. Для данного расчета дополнительная заработная плата устанавливается в размере 18% от основной:

рублей.

Отчисления от заработной платы, предусмотренные законодательством, включают:

- обязательные страховые взносы в бюджет государственного внебюджетного фонда социальной защиты населения Республики Беларусь - 34%;

- обязательное страхование от несчастных случаев на производстве и профессиональных заболеваний - 1%.

Отчисления от заработной платы рассчитываются по формуле (5.12):

(5.12)

рублей.

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

рублей.

5.3 Обоснование целесообразности разработки

Себестоимость продукции -- это затраты предприятия на ее производство и реализацию, выраженные в денежной форме. Себестоимость ПО представляет собой стоимостную оценку затрат на его создание и реализацию. Смета затрат на разработанный программный продукт составляется на основе общей трудоемкости разработки ПО.

Статья затрат «Накладные расходы» для данного расчёта принимается в размере 15% от величины основной заработной платы разработчика.

Расчет себестоимости программного обеспечения по статьям приведен в таблице 5.5.

Таблица 5.5 - Калькуляция себестоимости созданного программного обеспечения

Наименование статей затрат

Сумма, руб.

Стоимость материалов

50376

Стоимость машинного времени

388243

Расходы на оплату труда

1803990

Накладные расходы

136572

Полная себестоимость разработанного ПО

2379181

Таким образом, полная себестоимость разработанного программного продукта по произведенным расчетам составляет 2379181 рублей.

6. Вредное воздействие ВДТ на органы зрения оператора ЭВМ

6.1 Признаки воздействия ВДТ на органы зрения и допустимые уровни

Общеизвестно, что 90% всей информации мы получаем через органы зрения, следовательно, глаза надо беречь «как зеницу ока». Работа оператора (пользователя) ВДТ и ПЭВМ требует огромного перенапряжения зрения.

Нагрузка на зрение оператора ЭВМ имеет свои особенности:

1. многократный перевод глаз с бумаги, лежащей на столе (горизонтальная плоскость) на экран монитора (вертикальная плоскость);

2. недостаточная четкость изображения на экране;

3. постоянные мелькания, блики и отражения светового потока;

4. при считывании с экрана глаза смотрят непосредственно на источник света.

Зрительное утомление проявляется в жалобах на затуманенное зрение, на трудности при переводе взгляда с ближних на дальние предметы, двоение предметов, чувство жжения или «песка» в глазах, покраснение глаз вследствие перенапряжения сосудов. Работа на компьютере ведет к снижению зрения, чаще всего к близорукости[14].

Для обеспечения безопасности при работе на ПЭВМ Санитарными нормами и правилами (СанПиН 9-131 РБ 2000) в Республике Беларусь установлен ряд гигиенических требований к помещениям, компьютерной технике и организации. Согласно этим правилам руководители предприятий, организаций и учреждений вне зависимости от форм собственности и подчиненности обязаны привести рабочие места пользователей ВДТ, ЭВМ и ПЭВМ в соответствие с их требованиями. К помещениям для эксплуатации ПЭВМ предъявляются следующие требования:

- они должны иметь естественное и искусственное освещение;

- естественное освещение должно осуществляться через светопроемы, ориентированные преимущественно на север и северо-восток и обеспечивать коэффициент естественной освещенности (КЕО) не ниже 1,5%;

- оконные проемы в помещениях с ВДТ, ЭВМ и ПЭВМ должны быть оборудованы регулируемыми светозащитными устройствами типа: жалюзи, занавеси, внешние козырьки и др;

- искусственное освещение в помещениях эксплуатации ВДТ, ЭВМ и ПЭВМ должно осуществляться системой общего равномерного освещения.

В производственных и административно-общественных помещениях, в случаях преимущественной работы с документами, допускается применение системы комбинированного освещения (к общему освещению дополнительно устанавливаются светильники местного освещения, предназначенные для освещения зоны расположения документов). Освещенность на поверхности стола в зоне размещения рабочего документа должна быть 300-500 лк. Местное освещение не должно создавать бликов на поверхности экрана и увеличивать освещенность экрана более 300 лк. В качестве источников света при искусственном освещении должны применяться преимущественно люминесцентные лампы. При устройстве отраженного освещения в производственных и административно-общественных помещениях допускается применение металлогалогенных ламп мощностью до 250 Вт. Допускается применение ламп накаливания в светильниках местного освещения. Общее освещение следует выполнять в виде сплошных или прерывистых линий светильников, расположенных сбоку от рабочих мест, параллельно линии зрения пользователя при рядном расположении ВДТ, ЭВМ и ПЭВМ. При периметральном расположении компьютеров линии светильников должны располагаться локализовано над рабочим столом ближе к его переднему краю, обращенному к оператору. Для освещения помещений с ВДТ, ЭВМ и ПЭВМ следует применять светильники типа ЛПОЗб с зеркализованными решетками, укомплектованные высокочастотными пускорегулирующими аппаратами (ВЧ ПРА). Допускается применять светильники серии ЛПОЗб без ВЧ ПРА только в модификации "Кососвет", а также светильники прямого света - П, преимущественно прямого света - Н, преимущественно отраженного света- В. Применение светильников без рассеивателей и экранизирующих решеток не допускается. Светильники местного освещения должны иметь не просвечивающий отражатель с защитным углом не менее 40°. Расположение рабочих мест с ВДТ, ЭВМ и ПЭВМ для взрослых пользователей в подвальных помещениях не допускается. Площадь на одно рабочее место с ВДТ, ЭВМ и ПЭВМ для взрослых пользователей должна составлять не менее 6,0 м2, а объем - не менее 20,0 м3; При строительстве новых и реконструкции действующих зданий и помещений для ВДТ, ЭВМ и ПЭВМ их следует проектировать высотой (от пола до потолка) не менее 3,0 м. Уровни положительных и отрицательных аэроионов в воздухе помещений с ВДТ, ЭВМ и ПЭВМ должны соответствовать нормам, приведенным в таблице 6.1.

Таблица 6.1 - Уровни ионизации воздуха помещений при работе на ПЭВМ

Уровни

Число ионов в 1 см3 воздуха

п+ (положительных)

п- (отрицательных)

Минимально необходимые

400

600

Оптимальные

1500-3000

3000-5000

Максимально допустимые

5000

50000

В помещениях, где работают инженерно-технические работники, осуществляющие лабораторный, аналитический или измерительный контроль (категория II), уровень шума не должен превышать 60 дБА. В помещениях операторов ЭВМ (без дисплеев) (категория III) уровень шума не должен превышать 65 дБА. Допустимые уровни напряженности (плотности потока мощности) элек- тромагнитных полей, излучаемых клавиатурой, системным блоком, манипулято- ром "мышь", беспроводными системами передачи информации на расстоянии и иными вновь разработанными устройствами в зависимости от основной рабочей частоты изделия, не должны превышать значений, приведенных в таблице 6.2.

Таблица 6.2 - Допустимые уровни электромагнитных полей

Диапазоны частот

0,3 -300 кГц

0,3 -3,0 МГц

3.0 -30,0 МГц

30,0-300,0 МГц

0,3-300ГГц

Допустимые уровни

25 В/м

15 В/м

10 В/м

З В/м

10 мкВт/смг

Допустимые уровни напряженности электрического поля тока промышленной частоты 50 Гц, создаваемые монитором, системным блоком, клавиатурой, изделием в целом не должны превышать 0,5 кВ/м. Допустимые уровни напряженности электрического поля тока промышленной частоты 50 Гц, создаваемые монитором, клавиатурой, системным блоком, манипулятором "мышь", изделием в целом не должны превышать 15,0 кВ/м. Уровень мощности экспозиционной дозы рентгеновского излучения не должен превышать 7,74х10'12 А/кг (ампер на килограмм), что соответствует эквивалентной дозе, равной 0,1 мбэр/час (100 мкР/час; 0,03 мкР/с). Интенсивность инфракрасного (ИК) и видимого излучения от экрана видеомонитора не должна превышать 0,1 Вт/м2 в видимом (400 - 760 нм) диапазоне, 0,05 Вт/м2 в ближнем ИК диапазоне (760 - 1050 нм), 4 Вт/м2 в дальнем (свыше 1050 нм) ИК диапазоне[15].

6.2 Методы снижения воздействия

Организация рабочего места пользователя ВДТ и ПЭВМ

Рабочие места операторов, если они сидят друг за другом, должны располагаться так, чтобы от тыла одного дисплея до экрана другого было расстояние не меньше 2 метров, а расстояние между боковыми поверхностями дисплеев -- не меньше 1,2 метра. ВДТ и ПЭВМ должны располагаться ниже глаз оператор, но угол наблюдения экрана относительно горизонтальной оси взгляда не должен превышать 60є. Расстояние экрана от глаз оператора должно быть в пределах 600-700 мм. Клавиатура должна располагаться на расстоянии 100-300 мм от переднего края стола.

Рабочий стол может быть регулируемым и нерегулируемым по высоте. У регулируемого стола высота должна изменяться от 680 до 800 мм. Нерегулируемый стол должен быть высотой 720 мм. Рабочая поверхность стола должна иметь следующие размеры: глубина не менее 600 мм (лучше 800 мм), ширина не менее 1200 мм.

Рабочий стул должен быть подъемно-поворотным и регулироваться по высоте от 400 до 500 мм. У стула обязательно должна быть спинка шириной 380 мм и высотой 320 мм[16].

Режим работы операторов ВДТ и ПЭВМ.

Определяя режим работы и отдыха оператора надо учитывать все опасные и вредные факторы.

Деятельность человека в течении рабочего дня проходит через несколько фаз:

- предрабочее состояние (настраивание) ;

- врабатываемость (от состояния покоя до высокопроизводительной деятельности);

- устойчивая работоспособность (период максимальной эффективности), продолжительность этой фазы составляет 2/3 от всего рабочего времени.

Еще один важный показатель зависимости работоспособности от времени суток. Работоспособность изменяется по нескольким интервалам:

- первый интервал: от 6 до 15 часов, с пиком работоспособности в 10-12 часов;

- второй интервал: с 15 до 22 часов, с пиком в 18 часов;

- третий интервал: с 22 до 6 часов, с пиком в 3 часа (этот ночной пик меньше средних показателей двух других интервалов).

Эти показатели надо учитывать при организации перерывов в работе. При 8-ми часовом рабочем дне надо делать дополнительные перерывы по 15 минут за 2 часа до обеденного перерыва и через 2 часа после него. При ночной работе суммарная длительность перерывов должна увеличиваться на 60 минут. Причем в эти перерывы нужно отдыхать активно -- выполнять физические упражнения и гимнастику для глаз. Работоспособность зависит и от дней недели. На первый день приходится врабатываемость; второй - четвертый дни -- период высокой работоспособности; на пятый день развивается утомление.

К помещениям для работы с ВДТ и ПЭВМ санитарные нормы и правила предъявляют целый ряд жестких требований. Площадь одного рабочего места должна быть не менее 6 мІ, а объем -- не меньше 20 мі. Помещения не должны соседствовать с помещениями, где уровень шума и вибраций превышает допустимые значения. Температура воздуха в этих помещениях должна быть в холодный период года 21-23 градуса, а в теплый -- не более 22-24 градусов. Относительная влажность воздуха должна быть 40-60%. Увлажнители воздуха, используемые для повышения влажности должны ежедневно заправляться кипяченой водой. Проветривания должны проводиться перед началом рабочего дня и во время обеденного перерыва. Каждый день должна проводиться влажная уборка полов.

ЗАКЛЮЧЕНИЕ

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

Для автоматизации воспитательной работы УО «Гомельский государственный аграрно-экономический колледж» проведен анализ предметной области, выполнено функциональное моделирование автоматизированной системы, составлена и реализована информационная модель.

Результатом дипломного проектирования является созданный и протестированный программный продукт «Автоматизация воспитательной работы УО «Гомельский государственный аграрно-экономический колледж».

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

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

ПЕРЕЧЕНЬ УСЛОВНЫХ ОБОЗНАЧЕНИЙ И СОКРАЩЕНИЙ

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

PK (Primary Key) - первичный ключ.

УО - учреждение образования.

БД -- База Данных.

ПО--Программное Обеспечение.

ПК--Персональный Компьютер.

SQL (Structured Query Language) -- язык структурированных запросов. Универсальный компьютерный язык, применяемый для создания, модификации и управления данными в реляционных базах данных.

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

1. Кодекс Республики Беларусь об образовании 2011 год (с изменениями и дополнениями закона Республики Беларусь от 13 декабря 2011 и закона Республики Беларусь от 26 мая 2012 г.). Минск: Амалфея, 2011. - 243 с.

2. wikipedia.org [Электронный ресурс] / Языки программирования для создания программного обеспечения - Режим доступа: https://ru.wikipedia.org/wiki/ C_Sharp - Дата доступа: 25.05.2016.

3. wikipedia.org [Электронный ресурс] / Языки программирования - Режим доступа: https://ru.wikipedia.org/wiki/Список_языков_ программирования_по_категориям- Дата доступа: 25.05.2016.

4. msdn.microsoft.com [Электронный ресурс] / Visual Studio - Режим доступа: https://msdn.microsoft.com/ru-ru/library/52f3sw5c(v=vs.100).aspx - Дата доступа: 28.05.2016.

5. cyberleninka.ru [Электронный ресурс] / Технологии разработки - Режим доступа: http://cyberleninka.ru/article/n/vybor-tehnologii-razrabotki-programmnogo-obespecheniya-informatsionnyh-sistem - Дата доступа: 26.05.2016.

6. Роберт Э. Уолтерс. SQL Server 2008: ускоренный курс для профессионалов / Роберт Э. Уолтерс, Майкл Коулс. - М.: «Вильямс», 2008. -768 с.

7. wikipedia.org [Электронный ресурс] /Материал из Википедии - Режим доступа: https://ru.wikipedia.org/wiki/ Разработка_программного_ обеспечения - Дата доступа: 25.05.2016.

8. info-system.ru [Электронный ресурс] / IDEF0: функциональное моделирование деловых процессов - Режим доступа: http://www.info-system.ru/designing/methodology/sadt/sadt_for_bp.html - Дата доступа: 28.05.2016.

9. wikipedia.org [Электронный ресурс] / Материал из Википедии - Режим доступа: https://ru.wikipedia.org/wiki/База_данных- Дата доступа: 25.05.2016.

10. wikipedia.org [Электронный ресурс] / Материал из Википедии - Режим доступа: https://ru.wikipedia.org/wiki/Графический_интерфейс_ пользователя - Дата доступа: 28.05.2016.

11. msdn.microsoft.com [Электронный ресурс] / Практическое руководство - Режим доступа: https://msdn.microsoft.com/ru-ru/library/19fc31ss(v=vs.110).aspx - Дата доступа: 26.05.2016.

12. wikipedia.org [Электронный ресурс] / Материал из Википедии - Режим доступа: https://ru.wikipedia.org/wiki/Программное_обеспечение - Дата доступа: 25.05.2016.

13. www.sql.ru [Электронный ресурс] / Функционал C# - Режим доступа: http://www.sql.ru/forum/398976/prostoy-vopros-kak-c-po-nazhatiu-na-button-vyyti-s-prilozheniya- Дата доступа: 26.05.2016.

14. Раздорожный, А.А. Охрана труда и производственная безопасность: учеб-метод. пособие / А.А. Раздорожный - Москва: изд-во «Экзамен», 2005. - 512 с.

15. Система стандартов безопасности труда. Межгосударственный стандарт системы управления охраной труда. Общие требования. ГОСТ 12.0.230-2007. - Введ. 01.07.2009. - Минск: Межгос. совет по стандартизации, метрологии и сертификации: Белорус. гос. ин-т стандартизации и сертификации, 2009. - 14 с.

16. «Порядок обучения по охране труда и проверки знаний требований охраны труда работников организаций» (утв. постановлением Минтруда РФ и Минобразования РФ от 13.01.2003 №1/29

ПРИЛОЖЕНИЕ А

(Обязательное)

Листинг автоматизации воспитательной работы УО «Гомельский государственный аграрно-экономический колледж»

AboutBox1.cs

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Drawing;

using System.Linq;

using System.Reflection;

using System.Threading.Tasks;

using System.Windows.Forms;

namespace АвтоматизацияРаботыУОГГАЭК

{

partial class AboutBox1 : Form

{

public AboutBox1()

{

InitializeComponent();

this.Text = String.Format("О программе {0}", AssemblyTitle);

this.labelProductName.Text = AssemblyProduct;

this.labelVersion.Text = String.Format("Версия {0}", AssemblyVersion);

this.labelCopyright.Text = AssemblyCopyright;

this.labelCompanyName.Text = AssemblyCompany;

this.textBoxDescription.Text = AssemblyDescription;

}

#region Методы доступа к атрибутам сборки

public string AssemblyTitle

{

get

{

object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyTitleAttribute), false);

if (attributes.Length > 0)

{

AssemblyTitleAttribute titleAttribute = (AssemblyTitleAttribute)attributes[0];

if (titleAttribute.Title != "")

{

return titleAttribute.Title;

}

}

return System.IO.Path.GetFileNameWithoutExtension(Assembly.GetExecutingAssembly().CodeBase);

}

}

public string AssemblyVersion

{

get

{

return Assembly.GetExecutingAssembly().GetName().Version.ToString();

}

}

public string AssemblyDescription

{

get

{

object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyDescriptionAttribute), false);

if (attributes.Length == 0)

{

return "";

}

return ((AssemblyDescriptionAttribute)attributes[0]).Description;

}

}

public string AssemblyProduct

{

get

{

object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyProductAttribute), false);

if (attributes.Length == 0)

{

return "";

}

return ((AssemblyProductAttribute)attributes[0]).Product;

}

}

public string AssemblyCopyright

{

get

{

object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyCopyrightAttribute), false);

if (attributes.Length == 0)

{

return "";

}

return ((AssemblyCopyrightAttribute)attributes[0]).Copyright;

}

}

public string AssemblyCompany

{

get

{

object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyCompanyAttribute), false);

if (attributes.Length == 0)

{

return "";

}

return ((AssemblyCompanyAttribute)attributes[0]).Company;

}

}

#endregion

private void okButton_Click(object sender, EventArgs e)

{

this.Close();

}

}

}

Form1.cs

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;

namespace АвтоматизацияРаботыУОГГАЭК

{

public partial class Form1 : Form

{

public Form1()

{

InitializeComponent();

}

private void button1_Click(object sender, EventArgs e)

{

Главное_окно f;

try

{

if (Properties.Settings.Default.admin_pass == "")

Properties.Settings.Default.admin_pass = Properties.Settings.Default.admin_pass_p;

if (comboBox1.Text == "admin" && textBox1.Text == Properties.Settings.Default.admin_pass)

{

f = new Главное_окно(this, -1);

}

else { f = new Главное_окно(this, (int)comboBox1.SelectedValue); }

this.Hide();

f.Show();

}

catch {MessageBox.Show("Ошибка ввода! Проверьте введенные данные");}

}

private void Form1_Load(object sender, EventArgs e)

{

// TODO: данная строка кода позволяет загрузить данные в таблицу "бДDataSet.Кураторы". При необходимости она может быть перемещена или удалена.

this.кураторыTableAdapter.Fill(this.бДDataSet.Кураторы);

textBox1.Text = "";

}

}

}

Ведомость_за_месяц_србалл.cs

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;

using Excel = Microsoft.Office.Interop.Excel;

using Word = Microsoft.Office.Interop.Word;

namespace АвтоматизацияРаботыУОГГАЭК

{

public partial class Ведомость_за_месяц_србалл : Form

{

private Form _f;

private int _gr;

private DateTime _data;

private int[] коды_дисциплин;

private int[,] коды_отметок;

private Word.Application wordapp;

private Word.Document worddocument;

private Word.Paragraphs wordparagraphs;

private Word.Paragraph wordparagraph;

private int _sem;

private int _otd;

public Ведомость_за_месяц_србалл(Form f, int gr)

{

InitializeComponent();

_f = f;

_gr = gr;

}

private void Ведомость_за_месяц_србалл_Load(object sender, EventArgs e)

{

// TODO: данная строка кода позволяет загрузить данные в таблицу "бДDataSet.Учащиеся". При необходимости она может быть перемещена или удалена.

this.учащиесяTableAdapter.Fill(this.бДDataSet.Учащиеся);

// TODO: данная строка кода позволяет загрузить данные в таблицу "бДDataSet.Отделения". При необходимости она может быть перемещена или удалена.

this.отделенияTableAdapter.Fill(this.бДDataSet.Отделения);

// TODO: данная строка кода позволяет загрузить данные в таблицу "бДDataSet.Отметки_по_дисциплинам". При необходимости она может быть перемещена или удалена.

this.отметки_по_дисциплинамTableAdapter.Fill(this.бДDataSet.Отметки_по_дисциплинам);

// TODO: данная строка кода позволяет загрузить данные в таблицу "бДDataSet.Кураторы". При необходимости она может быть перемещена или удалена.

this.кураторыTableAdapter.Fill(this.бДDataSet.Кураторы);

// TODO: данная строка кода позволяет загрузить данные в таблицу "бДDataSet.Дисциплины". При необходимости она может быть перемещена или удалена.

this.дисциплиныTableAdapter.Fill(this.бДDataSet.Дисциплины);

// TODO: данная строка кода позволяет загрузить данные в таблицу "бДDataSet.Группы". При необходимости она может быть перемещена или удалена.

this.группыTableAdapter.Fill(this.бДDataSet.Группы);

_otd = бДDataSet.Группы.FindByКод_группы(_gr).Код_отделения;

comboBox1.SelectedIndex = DateTime.Today.Month;

int k=DateTime.Today.Year;

for (int i = 0; i < 15; i++)

{ comboBox2.Items.Add(k); k--; }

comboBox2.SelectedIndex = 0;

}

private void Формирование_отчета()

{

DateTime data = _data;

_data = DateTime.Parse(DateTime.DaysInMonth((int)comboBox2.SelectedItem, (comboBox1.SelectedIndex+1)) + "/" + (comboBox1.SelectedIndex+1) + "/" + comboBox2.SelectedItem);

учащиесяBindingSource.Filter = "Код_группы=" + _gr;

int kas;

if (_data.Date.Year > бДDataSet.Группы.FindByКод_группы(_gr).Дата_набора.Year)

{

kas = _data.Date.Year - бДDataSet.Группы.FindByКод_группы(_gr).Дата_набора.Year;

if (_data.Date.Month >= бДDataSet.Группы.FindByКод_группы(_gr).Дата_набора.Month)

{

_sem = kas * 2 + 1;

}

else

{

_sem = kas * 2;

}

if (_sem <= бДDataSet.Отделения.FindByКод_отделения(_otd).Срок_обуч)

{ }

else

{

MessageBox.Show("Невозможно сформировать ведомость после завершения обучения группы");

_data = data;

goto metka;

}

}

else if (_data.Date.Year == бДDataSet.Группы.FindByКод_группы(_gr).Дата_набора.Year)

{

if (_data.Date.Month >= бДDataSet.Группы.FindByКод_группы(_gr).Дата_набора.Month) _sem = 1;

else

{

MessageBox.Show("Невозможно сформировать ведомость до даты формирования группы");

_data = data;

goto metka;

}

}

else

{

MessageBox.Show("Невозможно сформировать ведомость до даты формирования группы");

_data = data;

goto metka;

}

дисциплиныBindingSource.Filter = "Код_отделения=" + _otd+ " and Семестр="+_sem;

коды_дисциплин = new int[дисциплиныBindingSource.Count];

учащиесяBindingSource.MoveFirst();

дисциплиныBindingSource.MoveFirst();

if (dataGridView1.ColumnCount>1 || dataGridView1.RowCount>0)

{

int x = dataGridView1.ColumnCount;

for (int i=1;i<x;i++)

{

dataGridView1.Columns.Remove("col"+(i - 1));

}

x = dataGridView1.RowCount;

for (int i=x-1;i>=0;i--)

{

dataGridView1.Rows.RemoveAt(i);

}

}

for (int i = 0; i < дисциплиныBindingSource.Count; i++)

{

DataRow zn = ((DataRowView)дисциплиныBindingSource.Current).Row;

dataGridView1.Columns.Add("col" + i, zn[1].ToString());

коды_дисциплин[i] = (int)zn[0];

дисциплиныBindingSource.MoveNext();

}

коды_отметок = new int[дисциплиныBindingSource.Count + 1, учащиесяBindingSource.Count];

for (int i = 0; i < учащиесяBindingSource.Count; i++)

{

dataGridView1.Rows.Add();

DataRow zn = ((DataRowView)учащиесяBindingSource.Current).Row;

dataGridView1[0, i].Value = zn[1].ToString() + " " + zn[2].ToString()[0] + ". " + zn[3].ToString()[0] + ".";

коды_отметок[0, i] = (int)zn[0];

for (int j = 1; j < dataGridView1.ColumnCount; j++)

{

отметкиподисциплинамBindingSource.Filter = "Код_дисциплины=" + коды_дисциплин[j - 1] + " and Код_учащегося=" + zn[0].ToString() + " and Дата=#" + _data.Month + "/" + _data.Day + "/" + _data.Year + "#";

if (отметкиподисциплинамBindingSource.Count == 0)

{

отметки_по_дисциплинамTableAdapter.Insert(Convert.ToInt16(zn[0].ToString()), null, _data, коды_дисциплин[j - 1]);

отметки_по_дисциплинамTableAdapter.Fill(бДDataSet.Отметки_по_дисциплинам);

}

DataRow zn1 = ((DataRowView)отметкиподисциплинамBindingSource.Current).Row;

коды_отметок[j, i] = (int)zn1[0];

dataGridView1[j, i].Value = zn1[2];

}

учащиесяBindingSource.MoveNext();

}

metka:

отметкиподисциплинамBindingSource.Filter = "";

}

private void button1_Click(object sender, EventArgs e)

{

this.Close();

_f.Show();

}

private void button2_Click(object sender, EventArgs e)

{

for (int i=0;i<dataGridView1.RowCount;i++)

for (int j=1;j<dataGridView1.ColumnCount;j++)

{

if (dataGridView1[j, i].Value is DBNull) { бДDataSet.Отметки_по_дисциплинам.FindByКод_отметки(коды_отметок[j, i]).SetОтметкаNull(); }

else

бДDataSet.Отметки_по_дисциплинам.FindByКод_отметки(коды_отметок[j, i]).Отметка = Convert.ToInt16(dataGridView1[j, i].Value);

}

отметки_по_дисциплинамTableAdapter.Update(бДDataSet.Отметки_по_дисциплинам);

отметки_по_дисциплинамTableAdapter.Fill(бДDataSet.Отметки_по_дисциплинам);

}

private void button4_Click(object sender, EventArgs e)

{

Формирование_отчета();

}

private float ср_балл(int i)

{

int kol=0;

float sum=0;

for (int j=1;j<dataGridView1.ColumnCount;j++)

{

if (dataGridView1[j,i].Value.ToString()!="" && dataGridView1[j,i].Value.ToString()!="0")

{

kol++;

sum=sum+Convert.ToInt16(dataGridView1[j,i].Value.ToString());

}

}

if (kol != 0)

return sum / kol;

else return 0;

}

private float Абс_усп(float[] mas)

{

int otl=0;

int hor=0;

int ud=0;

int kol = 0;

for (int i=0;i<mas.Length;i++)

{

if (mas[i] >= 5 && mas[i] < 7) ud++;

else if (mas[i] >= 7 && mas[i] < 9) hor++;

else if (mas[i] >= 9 && mas[i] <= 10) otl++;

if (mas[i] != 0) { kol++; }

}

if (kol != 0)

return (float)(otl + hor + ud) * 100 / kol;

else return 0;

}

private float кач_учп(float[] mas)

{

int otl = 0;

int hor = 0;

int kol = 0;

for (int i = 0; i < mas.Length; i++)

{

if (mas[i] >= 7 && mas[i] < 9) hor++;

else if (mas[i] >= 9 && mas[i] <= 10) otl++;

if (mas[i] != 0) { kol++; }

}

if (kol != 0)

return (float)(otl + hor) * 100 / kol;

else return 0;

}

private void button3_Click(object sender, EventArgs e)

{

float[] mass=new float[dataGridView1.RowCount];

wordapp = new Word.Application();

wordapp.Visible = true;

Object template = Application.StartupPath + @"\2.doc";

Object newTemplate = false;

Object documentType = Word.WdNewDocumentType.wdNewBlankDocument;

Object visible = true;

worddocument = wordapp.Documents.Add(ref template, ref newTemplate, ref documentType, ref visible);

worddocument.Bookmarks["mes"].Range.Text = comboBox1.SelectedItem.ToString();

worddocument.Bookmarks["gr"].Range.Text = бДDataSet.Группы.FindByКод_группы(_gr).Наименование;

int _god = _data.Date.Year;

if (_data.Date.Month < 9) _god--;

worddocument.Bookmarks["god"].Range.Text = _god + " - " + (_god + 1);

wordparagraphs = worddocument.Paragraphs;

wordparagraph = wordparagraphs.Last;

Word.Range wordrange = wordparagraph.Range;

Object defaultTableBehavior = Word.WdDefaultTableBehavior.wdWord9TableBehavior;

Object autoFitBehavior = Word.WdAutoFitBehavior.wdAutoFitContent;

Word.Table wordtable = worddocument.Tables.Add(wordrange,1,1,defaultTableBehavior,autoFitBehavior);

wordtable.Rows[1].Cells[wordtable.Columns.Count].Range.Text = dataGridView1.Columns[0].HeaderText;

for (int i = 1; i < dataGridView1.ColumnCount; i++)

{

wordtable.Columns.Add();

wordtable.Rows[1].Cells[wordtable.Columns.Count].Range.Text = dataGridView1.Columns[i].HeaderText;

}

wordtable.Columns.Add();

wordtable.Rows[1].Cells[wordtable.Columns.Count].Range.Text = "Средний\nбалл";

for (int j = 0; j < dataGridView1.RowCount; j++)

{

wordtable.Rows.Add();

for (int i = 0; i < dataGridView1.ColumnCount;i++ )

{

wordtable.Cell(j+2, i+1).Range.Text = dataGridView1[i, j].Value.ToString();

}

mass[j]=ср_балл(j);

wordtable.Cell(j + 2, dataGridView1.ColumnCount+1).Range.Text = Math.Round(mass[j]).ToString();

}

wordtable.AutoFitBehavior(Word.WdAutoFitBehavior.wdAutoFitContent);

wordparagraphs.Add();

wordparagraphs.Add();

wordparagraph = wordparagraphs.Last;

wordparagraph.Range.Text = "Абсолютная успеваемость по группе " + Math.Round(Абс_усп(mass),1) + "%";

wordparagraphs.Add();

wordparagraph = wordparagraphs.Last;

wordparagraph.Range.Text = "Качественная успеваемость по группе " + Math.Round(кач_учп(mass),1) + "%";

}

}

}

Ведомость_по_пропускам.cs

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;

using Word = Microsoft.Office.Interop.Word;

namespace АвтоматизацияРаботыУОГГАЭК

{

public partial class Ведомость_по_пропускам : Form

{

private Form _f;

private int _gr;

private DateTime _data;

private int[] коды_ОТ;

private Word.Application wordapp;

private Word.Document worddocument;

private Word.Paragraphs wordparagraphs;

private Word.Paragraph wordparagraph;

private int _sem;

private int _god;

private int _otd;

public Ведомость_по_пропускам(Form f, int gr)

{

InitializeComponent();

_f = f;

_gr = gr;

}

private void Ведомость_по_пропускам_Load(object sender, EventArgs e)

{

// TODO: данная строка кода позволяет загрузить данные в таблицу "бДDataSet.Отделения". При необходимости она может быть перемещена или удалена.

this.отделенияTableAdapter.Fill(this.бДDataSet.Отделения);

// TODO: данная строка кода позволяет загрузить данные в таблицу "бДDataSet.Пропуска". При необходимости она может быть перемещена или удалена.

this.пропускаTableAdapter.Fill(this.бДDataSet.Пропуска);

// TODO: данная строка кода позволяет загрузить данные в таблицу "бДDataSet.Группы". При необходимости она может быть перемещена или удалена.

this.группыTableAdapter.Fill(this.бДDataSet.Группы);

// TODO: данная строка кода позволяет загрузить данные в таблицу "бДDataSet.Учащиеся". При необходимости она может быть перемещена или удалена.

this.учащиесяTableAdapter.Fill(this.бДDataSet.Учащиеся);

_otd = бДDataSet.Группы.FindByКод_группы(_gr).Код_отделения;

int k = DateTime.Today.Year;

for (int i = 0; i < 15; i++)

{ comboBox2.Items.Add(k); k--; }

comboBox2.SelectedIndex = 0;

comboBox1.SelectedIndex = DateTime.Today.Month;

}

private void Формирование_отчета(object sender, EventArgs e)

{

DateTime data = _data;

_data = DateTime.Parse(DateTime.DaysInMonth((int)comboBox2.SelectedItem, (comboBox1.SelectedIndex+1)) + "/" + (comboBox1.SelectedIndex+1) + "/" + comboBox2.SelectedItem);

учащиесяBindingSource.Filter = "Код_группы=" + _gr;

if (_data.Date.Year == бДDataSet.Группы.FindByКод_группы(_gr).Дата_набора.Year)

{

if (_data.Date.Month < бДDataSet.Группы.FindByКод_группы(_gr).Дата_набора.Month)

{

MessageBox.Show("Невозможно сформировать ведомость до даты формирования группы");

_data = data;

goto metka1;

}

else

{

_god = _data.Date.Year;

_sem=1;

}

}

else if (_data.Date.Year < бДDataSet.Группы.FindByКод_группы(_gr).Дата_набора.Year)

{

MessageBox.Show("Невозможно сформировать ведомость до даты формирования группы");

_data = data;

goto metka1;

}

else

{

if (_data.Date.Month < 9)

{

_sem = (_data.Date.Year - бДDataSet.Группы.FindByКод_группы(_gr).Дата_набора.Year) * 2;

_god = _data.Date.Year - 1;

}

else

{

_sem = (_data.Date.Year - бДDataSet.Группы.FindByКод_группы(_gr).Дата_набора.Year) * 2 + 1;

_god = _data.Date.Year;

}

}

if (_sem>бДDataSet.Отделения.FindByКод_отделения(_otd).Срок_обуч)

{

MessageBox.Show("Невозможно сформировать ведомость после завершения обучения группы");

_data = data;

goto metka1;

}

коды_ОТ = new int[учащиесяBindingSource.Count];

учащиесяBindingSource.MoveFirst();

for (int i = dataGridView1.RowCount - 1; i >= 0; i--)

{

dataGridView1.Rows.RemoveAt(i);

}

for (int i = 0; i < учащиесяBindingSource.Count; i++)

{

DataRow zn = ((DataRowView)учащиесяBindingSource.Current).Row;

пропускаBindingSource.Filter = "Код_учащегося=" + zn[0].ToString() + " and Дата=#" + _data.Month + "/" + _data.Day + "/" + _data.Year + "#";

if (пропускаBindingSource.Count == 0)

{

пропускаTableAdapter.Insert(Convert.ToInt16(zn[0].ToString()), _data, null, null, null);

пропускаTableAdapter.Fill(бДDataSet.Пропуска);

}

DataRow zn1 = ((DataRowView)пропускаBindingSource.Current).Row;

коды_ОТ[i] = Convert.ToInt16(zn1[0]);

dataGridView1.Rows.Add();

dataGridView1[0, i].Value = zn[1].ToString() + " " + zn[2].ToString()[0] + ". " + zn[3].ToString()[0] + ".";

dataGridView1[1, i].Value = zn1[3];

dataGridView1[2, i].Value = zn1[4];

dataGridView1[3, i].Value = zn1[5];

учащиесяBindingSource.MoveNext();

}

учащиесяBindingSource.MoveFirst();

metka1:

comboBox1.SelectedIndex = _data.Month - 1;

comboBox2.SelectedItem = _data.Year;

пропускаBindingSource.Filter = "";

}

private void Сохранение_отчета(object sender, EventArgs e)

{

for (int i=0;i<dataGridView1.RowCount;i++)

{

if (dataGridView1[1, i].Value is DBNull || dataGridView1[1, i].Value.ToString()=="") { бДDataSet.Пропуска.FindByКод_пропуска(коды_ОТ[i]).SetПроп_увNull(); }

else бДDataSet.Пропуска.FindByКод_пропуска(коды_ОТ[i]).Проп_ув = Convert.ToInt16(dataGridView1[1, i].Value);

if (dataGridView1[2, i].Value is DBNull || dataGridView1[2, i].Value.ToString()=="") { бДDataSet.Пропуска.FindByКод_пропуска(коды_ОТ[i]).SetПроп_неувNull(); }

else бДDataSet.Пропуска.FindByКод_пропуска(коды_ОТ[i]).Проп_неув = Convert.ToInt16(dataGridView1[2, i].Value);

if (dataGridView1[3, i].Value is DBNull || dataGridView1[3,i].Value.ToString()=="") { бДDataSet.Пропуска.FindByКод_пропуска(коды_ОТ[i]).SetВсегоNull(); }

else бДDataSet.Пропуска.FindByКод_пропуска(коды_ОТ[i]).Всего = Convert.ToInt16(dataGridView1[3, i].Value);

}

пропускаTableAdapter.Update(бДDataSet.Пропуска);

пропускаTableAdapter.Fill(бДDataSet.Пропуска);

}

private void button3_Click(object sender, EventArgs e)

{

this.Close();

_f.Show();

}

private void button2_Click(object sender, EventArgs e)

{

int[] sum = new int[3];

sum[0] = 0;

sum[1] = 0;

sum[2] = 0;

wordapp = new Word.Application();

wordapp.Visible = true;

Object template = Application.StartupPath + @"\3.doc";

Object newTemplate = false;

Object documentType = Word.WdNewDocumentType.wdNewBlankDocument;

Object visible = true;

worddocument = wordapp.Documents.Add(ref template, ref newTemplate, ref documentType, ref visible);

worddocument.Bookmarks["mes"].Range.Text = comboBox1.SelectedItem.ToString();

worddocument.Bookmarks["gr"].Range.Text = бДDataSet.Группы.FindByКод_группы(_gr).Наименование;

worddocument.Bookmarks["god"].Range.Text = _god + " - " + (_god + 1);

wordparagraphs = worddocument.Paragraphs;

wordparagraph = wordparagraphs.Last;

Word.Range wordrange = wordparagraph.Range;

Object defaultTableBehavior = Word.WdDefaultTableBehavior.wdWord9TableBehavior;

Object autoFitBehavior = Word.WdAutoFitBehavior.wdAutoFitWindow;

Word.Table wordtable = worddocument.Tables.Add(wordrange, 1, 1, defaultTableBehavior, autoFitBehavior);

wordtable.Rows[1].Cells[wordtable.Columns.Count].Range.Text = dataGridView1.Columns[0].HeaderText;


Подобные документы

  • Ознакомление с общей организацией компьютерного класса учреждения "Гуманитарно-экономический колледж". Рассмотрение используемых операционных систем (Windows XP Professional SP 2). Описание специализированного прикладного программного обеспечения.

    отчет по практике [26,2 K], добавлен 10.06.2015

  • Рассмотрение приемов разработки программных средств для автоматизированных систем обработки информации и управления. Разработка программного продукта, предназначенного для автоматизации работы заместителя директора по учебно-воспитательной работе.

    дипломная работа [1,7 M], добавлен 27.02.2015

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

    курсовая работа [3,1 M], добавлен 19.01.2017

  • Постановка задачи автоматизации учебного процесса колледжа и описание предметной области. Работа с базами данных в Delphi: способы, компоненты доступа к данным и работы с ними. Язык запросов SQL. База данных в Microsoft Access и результаты исследований.

    дипломная работа [55,6 K], добавлен 16.07.2008

  • Анализ существующих систем автоматизации документооборота. Выбор шаблона проектирования. Microsoft SQL Server как комплексная высокопроизводительная платформа баз данных. Язык программирования C#. Разработка интерфейса и иллюстрация работы системы.

    дипломная работа [2,5 M], добавлен 19.07.2014

  • Характеристика работы Алтайского филиала телекоммуникаций "Сибирьтелеком". Разработка программы для автоматизации работы телефонного справочника. Основные функции программного продукта: хранение, обработка, ввод и редактирование информации об абонентах.

    дипломная работа [6,0 M], добавлен 07.06.2012

  • Разработка программы для операционной системы Windows с использованием VisualC++ (6.0, .NET). Рассмотрение основ программного моделирования работы прибора (электрического чайника). Правила создания классов устройства и его графического интерфейса.

    курсовая работа [424,3 K], добавлен 03.06.2014

  • Разработка программной системы автоматизации работы приемной комиссии. Выбор CASE-средства проектирования базы данных. Разграничение доступа к записям таблиц. Триггеры и функции БД. Выбор интерфейса программирования. Разработка классов и структур данных.

    дипломная работа [1,9 M], добавлен 07.03.2012

  • Классификация служебных программных средств. Файловая структура операционных систем. Основы графического интерфейса пользователя Windows XX. Анализ алгоритмов решения задач. Описание процесса разработки программного обеспечения и результатов работы.

    курсовая работа [2,4 M], добавлен 14.11.2016

  • Цель и основные составные части автоматизации. Характеристика ее объекта. Описание концептуальной модели предметной области. Обоснование выбора программного обеспечения. Разработка программы в среде Borland Delphi 7. Общий алгоритм работы приложения.

    курсовая работа [368,6 K], добавлен 21.05.2015

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.