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

 

Аннотация


Пояснительная записка с., 22 рис., 16 табл. 13 источника, 3 прил.,, 10 слайдов и демонстрационная программа.

Разработано программное для автоматизации формирования учебных программ на кафедре ИВТ факультета информационных и компьютерных систем ОмГТУ, которое позволяет сократить время их создания.

Приложение реализовано на языке программирования С#.

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


Annotation

diploma of engineer explanatory note contains 66 pages, 22 figures, 16 tables, 13 source, 3 additional addendums, 4 drawings, 10 slides and a demo-version of developed software.note describes the creation of software for the "Computer Science" department of the Faculty of Information Technology and Computer Systems at the Omsk State Technical University, which is used to reduce the cost of time and convenience, the formation of educational programs.application is written on C# programming language.calculation is provided for software development costs. Analysis of hazardous factors is made for workplace of software engineer.


Список сокращений


MVC - Model-View-Controller (шаблон проектирования)- Structured Query Language (язык структурированных запросов)

ИВТ - информатика и вычислительная техника

БД - база данных

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

ЭВМ - электронная вычислительная машина

СанПиН - санитарные правила и нормы

СУБД - система управления базами данных


Введение


Целью дипломного проекта является разработка программного обеспечения для автоматизации формирования учебных программ на кафедре ИВТ факультета ИТиКС ОмГТУ. Учебное заведение является одним из крупнейших и престижнейших в городе Омске.

Разрабатываемое программное обеспечение относится к классу систем электронного документооборота (СЭДО).

Главное назначение СЭДО - это организация хранения электронных документов, а также работы с ними (в частности, их поиска как по атрибутам, так и по содержимому). В СЭД должны автоматически отслеживаться изменения в документах, сроки исполнения документов, движение документов, а также контролироваться все их версии и подверсии. Комплексная СЭД должна охватывать весь цикл делопроизводства предприятия или организации - от постановки задачи на создание документа до его списания в архив, обеспечивать централизованное хранение документов в любых форматах, в том числе, сложных композиционных документов. СЭД должны объединять разрозненные потоки документов территориально удаленных предприятий в единую систему.

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

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

Внедрение разрабатываемого программного обеспечения призвано:

автоматизировать систему формирования новых учебных программ;

уменьшить время на создание и заполнение учебных программ.

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

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

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

разработать простой удобный интерфейс;

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

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

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

во второй главе представлен выбор и обоснование средств и технологий разработки системы;

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

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

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

в шестой главе рассмотрены вопросы охраны труда.


1. Анализ предприятия


1.1 Структура предприятия


Омский государственный технический университет организован как Омский машиностроительный институт в 1942 году и является на данный момент одним из крупнейших и популярнейших вузов в городе Омске. В составе университета 6 факультетов, 5 институтов и 3 филиала. В университете обучаются более 17000 студентов дневной, вечерней и заочной формы обучения. В штате университета около 1600 сотрудников, более 850 из которых преподаватели, большая часть которых кандидаты и доктора наук. В состав вуза входит несколько зданий:

-9 учебных корпусов;

-здание военной кафедры;

-общежития.

В настоящее время ведутся работы по открытию 3 новых корпусов.

В состав вуза входят следующие факультеты:

факультет информационных технологий и компьютерных систем (ФИТиКС) (бывший факультет автоматизации);

факультет транспорта, нефти и газа (ФТНГ);

радиотехнический факультет (РТФ);

факультет Элитного образования и магистратуры;

факультет экономики и управления (ФЭУ);

факультет гуманитарного образования (ФГО);

факультет довузовской подготовки (ФДП).

Также Университет состоит из семи институтов:

oЭнергетический институт;

oНефтехимический институт;

oМашиностроительный институт;

oИнститут безопасности жизнедеятельности;

oИнститут Военно-технического образования;

oИнститут заочного обучения;

oИнститут дополнительного профессионального образования.

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

Управление кафедрой ИВТ осуществляет заведующий кафедры. Также в состав кафедры входят сотрудники, обладающие следующими должностями:

-заместитель заведующего кафедры;

-профессор кафедры;

-старший преподаватель;

-ассистент;

-инженер.

Начальник отдела управления персоналом - отвечает за оперативную работу предприятия и управление персоналом.

Начальник отдела продаж - следит за работой филиалов отделов продаж.

В соответствии с рисунком 1.1 общая схема структуры предприятия имеет вид:


Рисунок 1.1 - Схема структуры с кафедры ИВТ

автоматизация документооборот программирование интерфейс

Процесс формирования учебной программы осуществляется следующим образом: пользователь запускает на ПК графический редактор MS Word ищ офисного пакета приложений Microsoft Office. В нем пользователь вручную заполняет все пункты учебной программы. Далее пользователь имеет возможность сохранить созданный документ либо распечатать его.

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


Рисунок 1.2 - Процесс формирования новой учебной программы


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

настоящая система формирования документа учебной программы не автоматизирована;

недопустимо много времени уходит на формирование готовой учебной программы.

Исходя из выше перечисленных недостатков, можно сделать вывод о том, что существующая система на кафедре «Информатика и вычислительная техника» ОмГТУ нуждается в переработке и может быть улучшена. В следующем разделе будут рассмотрены наиболее удачные программные решения в области систем электронного документооборота.


1.2 Выводы по разделу


В настоящем разделе была рассмотрена структура работников ОмГТУ, в частности кафедры ИВТ, для которой разрабатывается ПО, выявлены недочеты существующего процесса формирования учебных программ.


2. Анализ существующих систем автоматизации документооборота


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

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

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


2.1 WorkFlow


Эта концепция была предложена компанией Staffware около 20 лет назад. Данная концепция рассматривает весь комплекс задач автоматизации бизнеса как совокупность бизнес-процессов. Инструменты, предоставляемые WorkFlow-системой, обеспечивают формирование описаний процессов, данных, а также содержат средства описания электронных форм для обработки этих данных. Технология WorkFlow подразумевает чёткое исполнение процесса согласно его описанию. Сервисы системы поддерживают реализацию бизнес-процессов, формирование и подготовку очередей заданий к обработке, автоматически обеспечивают нужную активность стадий процесса, контроль своевременности исполнения этапов процесса и различные способы реакции на возникающие проблемы.

Современная индустриальная WorkFlow-система должна быть достаточно гибкой и включать в себя инструменты моделирования процессов, актуальных для компании; отслеживания состояния процессов и получения информации о несоответствии их течения; накопления статистики об отклонениях. Таким образом, WorkFlow-система позволяет непрерывно улучшать и реструктурировать бизнес-процессы компании; она содержит реальные инструменты для постоянной оценки, модификации и улучшения качества бизнес-процессов, средства маршрутизации документов и других объектов, интеграции с другими продуктами корпоративных информационных систем. Наличие подобных инструментов позволяет на практике реализовать концепцию непрерывного реинжиниринга бизнеса. Обеспечивая практически мгновенную передачу работ между участниками бизнес-процесса и имея режим напоминания пользователям о необходимых действиях, система WorkFlow может существенным образом влиять на скорость реализации бизнес-процессов. Пример схемы алгоритма работы СЭДО на базе WorkFlow проиллюстрирован на рисунке 2.1.


.2 Document Management System (DMS)

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

Рисунок 2.1 - Пример схемы алгоритма работы СЭДО на базе WorkFlow


Со временем они стали прирастать дополнительными функциями, среди которых:

ведение картотеки документов и инструменты быстрой разработки электронных форм;

поддержка справочников с информацией для заполнения карточек;

описание процесса обработки документов (фиксированных маршрутов);

навигация и организация представления учётной информации о документах;

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

описание жизненного цикла обработки документа;

управление маршрутизацией и средствами мониторинга процессов.

Наличие подобных средств управления процессами контроля, движения и обработки документов делает систему применимой для решения гораздо более широкого круга задач, нежели только ведение архива документов. Именно функциональность DMS-систем позволяет добавить в СЭД столь необходимые функции обработки слабоструктурированных данных. На рисунке 2.2 представлена схема алгоритма системы на базе программной технологии Document Management System.


Рисунок 2.2 - Пример схемы алгоритма работы СЭДО на базе DMS


. GroupWare

Данная концепция зародилась в начале 90-х годов прошлого столетия. Основной её идеей было создание удобной среды доступа к разнородной информации и организация групповой работы с ней. Необходимо отметить, что термин GroupWare так и не получил формального толкования. В качестве примера можно назвать такие разные системы, как Link Works и Lotus Notes. В своё время к GroupWare относили и средства организации досок объявлений, и системы календарного планирования, и средства взаимодействия в реальном времени, организации телеконференций и группового пространства для доступа к файлам документов и многое другое. Однако с появлением таких продуктов, как Lotus Domino, Microsoft Exchange и Novell GroupWise, границы данной технологии определились довольно отчётливо.компоненты умеют решать такие задачи и возможности, как:

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

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

встроенные средства разработки электронных форм, обеспечивающих доступ к информации в базах данных системы;

средства организации представлений (View), позволяющие создавать различные визуальные представления данных, хранящихся в БД, в зависимости от конкретных потребностей пользователей;

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

широкие возможности управления гиперссылками и их использования в приложениях.

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

На рисунке 2.3 проиллюстрирован пример схемы алгоритма работы СЭДО, построенной с помощью программной технологии GroupWare.


Рисунок 2.3 - Пример схемы алгоритма работы СЭДО на GroupWare


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


.3 Техническое задание на проектирование


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

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

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

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

разработать простой удобный интерфейс;

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

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


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


.1 Операционная система


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

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

-Ядро - это основная, определяющая часть операционной системы, которая управляет аппаратными средствами и выполнением программ.

-Файловая структура - это система хранения файлов на запоминающих устройствах.

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

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

Основные функции операционных систем:

Загрузка приложений в оперативную память и их выполнение;

-стандартизованный доступ к периферийным устройствам (устройства ввода-вывода);

-управление оперативной памятью (распределение между процессами, виртуальная память);

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

-пользовательский интерфейс;

-сетевые операции, поддержка стека протоколов.

Дополнительные функции:

-параллельное или псевдопараллельное выполнение задач (многозадачность);

-взаимодействие между процессами: обмен данными, взаимная синхронизация;

-защита самой системы, а также пользовательских данных и программ от действий пользователей (злонамеренных или по незнанию) или приложений;

-разграничение прав доступа и многопользовательский режим работы (аутентификация, авторизация).XP (внутренняя версия - Windows NT 5.1) - операционная система (ОС) семейства Windows NT корпорации Microsoft. Она была выпущена 25 октября 2001 года и является развитием Windows 2000 Professional.

По данным веб-аналитики от W3Schools (англ.) с сентября 2003 по июль 2011 года Windows XP была самой используемой операционной системой для доступа к сети Интернет в мире. По состоянию на апрель 2012 года, Windows XP находится на втором месте с долей 27,3%. Максимум этого значения составлял 76,1 % и был достигнут в январе 2007 года.

Новшества по сравнению с Windows 2000

Некоторыми из наиболее заметных улучшений в Windows XP по сравнению с Windows 2000 являются:

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

-поддержка метода сглаживания текста ClearType, улучшающего отображение текста на ЖК-дисплеях (по умолчанию отключена);

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

-функция «удалённый помощник», позволяющая опытным пользователям и техническому персоналу подключаться к компьютеру с системой Windows XP по сети для разрешения проблем. При этом помогающий пользователь может видеть содержимое экрана, вести беседу и (с позволения удалённого пользователя) брать управление в свои руки;

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

-улучшенная совместимость со старыми программами и играми. Специальный мастер совместимости позволяет эмулировать для отдельной программы поведение одной из предыдущих версий ОС (начиная с Windows 95). Впрочем, функция совместимости присутствует в Windows 2000 с пакетом обновления 2;

-возможность удалённого доступа к рабочей станции благодаря включению в систему миниатюрного сервера терминалов (только в издании Professional);

-более развитые функции управления системой из командной строки;

-windows XP включает технологии, разработанные фирмой Roxio, которые позволяют производить прямую запись CD из проводника, не устанавливая;

-windows XP может работать с архивами ZIP и CAB без установки дополнительного ПО. Работа с архивами данного типа возможна в проводнике как с обычными папками, которые можно создавать и удалять, заходить в архив, добавлять/удалять файлы подобно работе с обычными папками. Также возможна установка пароля на архив. При необходимости можно назначить для работы с этими архивами любое стороннее программное обеспечение;

-улучшения в подсистеме EFS, заключающиеся в необязательности агента восстановления, более безопасного сохранения ключей. Шифруемые файлы теперь не просто удаляются, а перезаписываются нулями, что гораздо надёжнее. Начиная с SP1, становится возможным использовать (он и используется по умолчанию) алгоритм AES, наряду с DESX и 3-DES;

-настраиваемые панели инструментов, с помощью которых можно оптимизировать доступ к файлам, папкам и ресурсам Интернета. Достаточно разместить их на краю Рабочего стола (наподобие боковой панели) или на Панели задач (в форме ссылки).

Так как на всех рабочих местах кафедры ИВТ установлен Windows XP, это послужило основанием для выбора этой операционной системы, а также все достоинства, которые описаны в текущем подразделе.


.2 Microsoft SQL Server 2008 R2

SQL Server - это комплексная высокопроизводительная платформа баз данных, обеспечивающая управление данными в масштабе предприятия и оснащенная встроенными средствами бизнес-аналитики (Business Intelligence, BI). SQL Server позволяет организациям строить интегрированные решения для учета и анализа данных масштаба предприятия, предоставляя сервисы, обеспечивающие надежность, безопасность доступа и масштабируемость. Благодаря исчерпывающему набору функций, взаимодействию с существующими системами и автоматизации типовых задач, SQL Server представляет собой полное решение в области хранения, управления и анализа данных для широчайшего диапазона масштабов.

Каждая очередная версия SQL Server обогащается новыми возможностями, реализованными в соответствии с общим планом развития продукта и пожеланиями пользователей. С выпуском версии SQL Server 2008 и, в особенности, SQL Server 2008 R2 продукт Microsoft SQL Server стал не просто сервером баз данных, а целостной платформой построения систем управления корпоративной информацией. SQL Server 2008 R2 является более мощной системой, с поддержкой до 256 логических процессоров и неограниченной поддержкой памяти (в пределах ограничений операционной системы).

В SQL Server 2008 R2 включен ряд новых возможностей, в том числе:

аналитика «по требованию» на основе PowerPivot для Excel и SharePoint;

улучшения в отчетности, в частности, поддержка картографических отчетов;

службы управления нормативно-справочной информацией Master Data Services;

система комплексной обработки событий StreamInsight.

Основным фактором использования в качестве инструмента разработки Microsoft SQL Server 2008 R2 в данном дипломном проекте стал быстрый и удобный доступ к базе данных с помощью такого средства разработки, как Microsoft Visual Studio 2013.

На рисунке 3.1 проиллюстрирован пример схемы приложения, построенного с помощью SQL Server 2008 R2 и Visual Studio 2010.

Рисунок 3.1 - Пример приложения уровня данных в SQL Server 2008 R2 и Visual Studio 2010


.3 Язык программирования C#

Framework - программная платформа, выпущенная компанией Microsoft в 2002 году. Основой платформы является общеязыковая среда исполнения Common Language Runtime (CLR), которая подходит для разных языков программирования. Функциональные возможности CLR доступны в любых языках программирования, использующих эту среду.# - объектно-ориентированный язык программирования. Разработан в компании Microsoft как язык разработки приложений для платформы Microsoft.NET Framework и впоследствии был стандартизирован как ECMA-334 и ISO/IEC 23270. Особенностью C# является то, что он разрабатывался как язык программирования прикладного уровня для CLR и, как таковой, зависит, прежде всего, от возможностей самой CLR. Исполняющая среда CLR предоставляет C#, как и всем другим. NET-ориентированным языкам, многие возможности.

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

3.4 Visual Studio

Visual Studio - линейка продуктов компании Майкрософт, включающих интегрированную среду разработки программного обеспечения и ряд других инструментальных средств. Данные продукты позволяют разрабатывать как консольные приложения, так и приложения с графическим интерфейсом, в том числе с поддержкой технологии Windows Forms, а также веб-сайты, веб-приложения, веб-службы как в родном, так и в управляемом кодах для всех платформ, поддерживаемых Microsoft Windows, Windows Mobile, Windows CE,.NET Framework, Xbox, Windows Phone.NET Compact Framework и Microsoft Silverlight.Studio включает в себя редактор исходного кода с поддержкой технологии IntelliSense и возможностью простейшего рефакторинга кода. Встроенный отладчик может работать как отладчик уровня исходного кода, так и как отладчик машинного уровня. Остальные встраиваемые инструменты включают в себя редактор форм для упрощения создания графического интерфейса приложения, веб-редактор, дизайнер классов и дизайнер схемы базы данных. Visual Studio позволяет создавать и подключать сторонние дополнения (плагины) для расширения функциональности практически на каждом уровне, включая добавление поддержки систем контроля версий исходного кода (как например, Subversion и Visual SourceSafe), добавление новых наборов инструментов (например, для редактирования и визуального проектирования кода на предметно-ориентированных языках программирования или инструментов для прочих аспектов процесса разработки программного обеспечения (например, клиент Team Explorer для работы с Team Foundation Server).

Главными причинами выбора продукта Visual Studio в данном проекте являются:

-интегрированный язык С#;

-простая реализация общих задач;

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

-расширение Resharper, которое предусматривает синтаксический анализ кода, дополнительные средства автозаполнения и подсветки синтаксиса;

-Entity Framework - объектно-ориентированная технология доступа к данным, интегриреумая в линейку продуктов Visual Studio начиная с Visual Studio 2008 Service Pack 1.

На рисунке 3.2 приведено окно при запуске Visual Studio 2013.


Рисунок 3.2 - Главное окно в Visual Studio 2013


.5 Выбор шаблона проектирования

View-Controller (MVC, «Модель-представление-контроллер») - схема использования нескольких шаблонов проектирования, с помощью которых модель данных приложения, пользовательский интерфейс и взаимодействие с пользователем разделены на три отдельных компонента так, что модификация одного из них оказывает минимальное воздействие на остальные.

В соответствии с рисунком 3.3 шаблон MVC концепции имеет вид:


Рисунок 3.3 - Общая схема концепции MVC


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

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

активная модель - модель оповещает представление о том, что в ней произошли изменения, а представления, которые заинтересованы в оповещении, подписываются на эти сообщения. Это позволяет сохранить независимость модели как от контроллера, так и от представления.

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

модель (Model). Модель предоставляет знания: данные и методы работы с этими данными, реагирует на запросы, изменяя своё состояние. Не содержит информации, как эти знания можно визуализировать;

представление, вид (View). Отвечает за отображение информации (визуализацию). Часто в качестве представления выступает форма (окно) с графическими элементами;

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

Важно отметить, что как представление, так и контроллер зависят от модели. Однако модель не зависит ни от представления, ни от контроллера. Тем самым достигается назначение такого разделения: оно позволяет строить модель независимо от визуального представления, а также создавать несколько различных представлений для одной модели.

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

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

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

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

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

клиентское приложение с оконным интерфейсом;

шаблон проектирования - MVC;

СУБД - Microsoft SQL Server 2008 R2;

платформа для разработки -.NET (язык С#).


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


4.1 Проектирование программного обеспечения


Для разработки ПО использовался шаблон проектирования MVC. Данная концепция позволяет разделить данные, представление и обработку действий пользователя на три отдельных компонента - Модель - Представление - Контроллер.

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

Таким образом, сформированы компоненты, соответствующие шаблону проектирования MVC, общая схема которых в соответствии с рисунком 4.1 имеет вид:


Рисунок 4.1 - Схема работы системы

4.2 Сохранение рабочей программы в базу данных


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


Рисунок 4.2 - Схема алгоритма сохранения рабочей программы в БД.


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

Схема алгоритма загрузки файла в приложение отображена на рисунке 4.3:


Рисунок 4.3 - Схема алгоритма загрузки файла в приложение


4.3 Разработка базы данных программного обеспечения


В результате анализа предметной области был выделен список свойств и атрибутов. База содержит 5 таблиц, отражающих принцип работы системы: шаблоны и черновики учебных программ, считываемый текст из текстового файла. В соответствии с рисунком 4.4 разработанная структурная схема БД имеет вид:


Рисунок 4.4 - Структурная схема БД


В базе содержатся следующие таблицы: файлы рабочих программ (WorkingProgrammsFiles), дисциплины (Subjects), считываемый текст (FormatTexts), файлы шаблонов (TemplateFiles), пользователи (Users).

Рассмотрим более детально структуру каждой таблицы.

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


Таблица 4.1 - Структура таблицы файлов рабочих программ

Название поляТип данныхОписаниеWorkingProgramFileIDINTИдентификаторFileNamenvarchar(50)Имя файлаStreamvarbinary(MAX)Файл в виде массивов байтовSubjectIDintИдентификатор дисциплины

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


Таблица 4.2 - Структура таблицы дисциплин

Название поляТип данныхОписаниеSubjectIDINTИдентификатор дисциплиныNamenvarchar(50)Название дисциплины

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


Таблица 4.3 - Структура таблицы считываемого текста

Название поляТип данныхОписаниеFormatTextIDINTИдентификаторSubjectIDINTСсылка на дисциплинуNamenvarchar(50)Название переменнойValuenvarchar(MAX)Значение из РП

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


Таблица 4.4 - Структура таблицы шаблонов

Название поляТип данныхОписаниеTemplateFileIDINTИдентификаторTemplateFileNamenvarchar(50)Имя шаблонаStreamvarbinary(MAX)Файл в виде массива байтSubjectIDINTСсылка на дисциплину

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


Таблица 4.5 - Пользователи

Название поляТип данныхОписаниеUserIDINTИдентификаторUserNamenvarchar(MAX)Имя учетной записиPasswordnvarchar(MAX)Пароль учетной записиAdminAccesbitПрава администратора

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

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

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

разработан алгоритм работы системы;

разработана схема работы системы.


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


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


5.1 Авторизация пользователя


При запуске ПО пользователю будет предложено пройти авторизацию. В соответствии с рисунком 5.1 окно авторизации имеет вид:


Рисунок 5.1 -Окно авторизации пользователей


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


Рисунок 5.2 -Окно авторизации пользователей

Для удобства введения пароля предусмотрена флаговая кнопка «Показать пароль», при нажатии на которую можно увидеть вводимый пароль. В соответствии с рисунком 5.3 вышеописанная ситуация имеет вид:


Рисунок 5.3 -Отображение вводимого пароля


Если же пользователь ввел корректный пароль, то откроется главное окно программы.


5.2 Разработка интерфейса и иллюстрация работы системы


Работа приложения начинается с главного окна. В соответствии с рисунком 5.4 главное окно имеет вид:


Рисунок 5.4 -Окно при запуске приложения


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

Во вкладке «Парсинг» пользователь имеет возможность ввести свой текст или указать путь к существующему файлу для дальнейшего считывания. При нажатии на флажок «Парсинг из файла» появляется возможность указать путь к искомому файлу. Для этого необходимо нажать на кнопку «Document».

В соответствии с рисунком 5.5 выбор файла имеет вид:


Рисунок 5.5 - Выбор файла для считывания


Выбрав файл или введя произвольный текст можно производить считывание текста, нажав на кнопку «Read». В соответствии с рисунком 5.6 процесс считывания программой файла имеет вид:


Рисунок 5.6 - Процесс считывания программой файла


После того, как будет произведен парсинг всего текста, можно добавить считанный текст в шаблон. Для этого необходимо перейти во вкладку «Администрирование» и нажать на кнопку «Загрузить шаблон» и задать имя файлу шаблона. После всех этих действий будет выдано сообщение, что шаблон успешно загружен.

Добавление шаблона в базу данных проиллюстрировано на рисунке 5.7 и имеет вид:


Рисунок 5.7 - Добавление шаблона в базу данных


Также ненужный или неиспользуемый шаблон можно удалить из базы данных. Для этого нужно предварительно выбрать ненужный шаблон и нажать на кнопку «Удалить шаблон». После этого будет выведено соответствующее сообщение (рисунок 5.8). При этом если в базе отсутствует шаблон по выбранной дисциплине, то при попытке удалить шаблон будет выдано сообщение о том, что шаблон для данной дисциплины отсутствует (рисунок 5.9).


Рисунок 5.8 - Удаление шаблона из базы данных

Рисунок 5.9 - Сообщение об отсутствии шаблона для данной дисциплины


Существующий шаблон также можно сохранить на ПК в виде текстового документа с расширением DOCX. Для этого необходимо выбрать один из списка шаблонов и нажать на кнопку «Скачать шаблон». Будет предложено выбрать путь и название сохраняемого файла. Выполнив эти действия, будет выдано сообщение об успешном сохранении шаблона.

Сохранение шаблона из базы данных продемонстрировано на рисунке 5.10:


Рисунок 5.10 - Сохранение шаблона из базы данных


Также во вкладке «Администрирование» пользователь с правами администратора может добавлять учетные записи для других пользователей, а также удалять уже существующие. Для добавления администратору нужно ввести имя новой учетной записи в поле «Имя пользователя», затем ввести дважды одинаковый пароль для этой учетной записи. Далее необходимо нажать на кнопку «Добавить пользователя». Если введенные пароли не будут совпадать, то появится соответствующее сообщение (рисунок 5.11):


Рисунок 5.11 - Сообщение о несовпадающих паролях


При добавлении новой учетной записи, ей можно присвоить права администратора. Для этого необходимо нажать на флаговую кнопку «Права администратора». Если все поля для добавления учетной записи были корректно заполнены, то после нажатия кнопки «Добавить пользователя» появится сообщение об успешном создании данной учетной записи. Добавление новой учетной записи проиллюстрировано на рисунке 5.12:


Рисунок 5.12 - Добавление новой учетной записи


Для удаления существующей учетной записи необходимо в разделе «Удаление пользователей» выбрать из списка нужную учетную запись и нажать на кнопку «Удалить пользователя». В результате на экран будет выведено сообщение об успешном удалении учетной записи. В соответствии с рисунком 5.13 удаление учетной записи имеет вид:


Рисунок 5.13 - Удаление учетной записи


Во вкладке «Генерация» можно сгенерировать новую учебную программу из списка учебных дисциплин. Для этого пользователь должен выбрать из списка нужную ему дисциплину и нажать на кнопку «Сгенерировать программу», затем указать путь к предварительно сохраненному шаблону. После выполнения всех действий будет выдано сообщение об успешной генерации и сохранении файла. В соответствии с рисунком 5.14 генерация новой учебной программы по заданной дисциплине имеет вид:


Рисунок 5.14 - Генерация новой учебной программы


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

Таким образом, разработано программное обеспечение для автоматизации формирования учебных программ для кафедры ИВТ факультета ИТиКС ОМГТУ. В процессе разработки поставленные на проектирование задачи решены. Цель дипломного проекта была достигнута - разработанное ПО позволяет автоматизировать процесс создания новой учебной программы и сократить тем самым затраченное на этот процесс время.

6. Организационно-экономическая часть


В данном разделе приводится расчет затрат на разработку автоматизированного места сотрудника ОмГТУ. Калькуляция на разработку программного продукта включает следующие статьи:

-основная заработная плата разработчика;

-дополнительная заработная плата разработчика;

-расходы на приобретение дополнительных средств ВТ и ПО;

-отчисления на социальные нужды;

-расходы по отладке программы;

-контрагентские расходы;

-накладные расходы.

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

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


Таблица 6.1 - Перечень стадий, этапов и видов работ

Стадии и этапы разработкиВид работТехническое задание1. Постановка задачи; 2. Сбор материалов и анализ существующих разработок; 3. Определение требований к системеЭскизный проект4. Анализ программных средств схожей тематики; 5. Разработка схемы БД; 6. Общее описание алгоритма решения задачи;Технический проект7. Разработка пояснительной записки. 8. Выбор инструментальных средств; 9. Определение свойств и требований к аппаратному обеспечению; 10. Составление плана мероприятий по внедрению программного продукта.Рабочий проект11. Программирование; 12. Тестирование программы; 13. Разработка программной документации.Внедрение14. Подготовка и передача программы и программной документации заказчику; 15. Опытная эксплуатация; 16. Анализ данных, полученных в результате эксплуатации; 17. Корректировка технической документации по результатам испытаний.

6.1 Расчет трудоемкости и продолжительности работ


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

Трудоемкость каждого вида работ определяется по формуле


, (6.1)


Где Tmin - минимально возможная трудоемкость выполнения отдельного вида работ [6.1];

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

Продолжительность каждого вида работ в календарных днях (ti) определяется в днях по формуле:


, (6.2)

где Ti - трудоемкость работ, человек-дней;

Чi - численность исполнителей, человек;

Kвых - коэффициент, учитывающий выходные и праздничные дни:



Где Ккал. - число календарных дней;

Краб. - рабочие дни;

Согласно производственному и налоговому календарю на 2014 год, количество рабочих дней составляет 247 дней, количество предпраздничных дней - 6, таким образом: Kвых=1,5.

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


Таблица 6.2 - Расчет трудоемкости и продолжительности работ по созданию ПО

№ работыСтадии разработкиТрудоемкость, чел.дниКоличество работников, чел.Продолжительность работ, календарные дниTminTmaxTiЧitiТехническое задание1Постановка задачи;11111,52Сбор материалов и анализ существующих разработок;122133Определение требований к системе23314,5Эскизный проект4Анализ программных средств схожей тематики;45517,55Разработка схемы БД;1020141216Общее описание алгоритма решения задачи;24314,5Технический проект7Разработка пояснительной записки.354168Выбор инструментальных средств;11111,59Определение свойств и требований к аппаратному обеспечению;11111,510Составление плана мероприятий по внедрению программного продукта.12213Рабочий проект11Программирование;122417125,512Тестирование программы;45517,513Разработка программной документации.6129113,5Внедрение14Подготовка и передача программы и программной документации заказчику;23314,515Опытная эксплуатация;7109113,516Анализ данных, полученных в результате эксплуатации;24314,517Корректировка технической документации по результатам испытаний.46517,5Общая трудоемкость разработки--87--

Таким образом, общая продолжительность проведения работ составит 87 рабочих дней, при последовательном выполнении всех вышеозначенных в таблице 6.2 этапов работы.


6.2 Построение графика разработки программного продукта


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

Ленточный график разработки программы управления базой данных учебных материалов, построенный по данным таблицы 5.2, приведен на рисунке 6.1, с учетом того факта, что разработку программного продукта ведет 1 человек, график рассчитан на 147 календарных дней.


.3 Основная заработная плата разработчика


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


, (6.3)


где Зi - месячный оклад специалиста i-квалификации;

ti - общая трудоемкость работ, выполняемых специалистом i-квалификации.

Исходя из того, что среднее количество рабочих часов в месяце равно (21(рабочий день) ? 8(часов)) =168, получаем:

= (12000/168)? 696= 49700 (руб.).

Заработная плата с учетом районного коэффициента 15 % равна:зп = 49700?1,15 = 57212 (руб.).

Дополнительная заработная плата разработчика.

Дополнительная заработная плата рассчитывается как процент от основной. Дополнительная заработная плата составляет 14 % от основной. Следовательно:дзп = 49700 ?0,14 = 8009 (руб.).

Расчет отчислений на социальные нужды.

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


,


руб.

Расходы на приобретение дополнительных средств ВТ и ПО.

Данная статья учитывает те средства ВТ и ПО, которые необходимо дополнительно приобрести только для данной конкретной разработки и которые в дальнейшем не будут использоваться. В данном дипломном проекте таких затрат нет.

Расчет расходов по отладке программ.

Расходы по отладке определяются по формуле (6.4), исходя из планируемых затрат машинного времени, необходимого для разработки и оформления программного продукта, (, ч) и стоимости одного машино-часа работы вычислительных средств, на которых ведется разработка (, руб./ч):


, (6.4)


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

См-ч- стоимость одного машино-часа работы вычислительных средств.

Расчет стоимости одного часа работы вычислительного комплекса производится для каждого предприятия отдельно применительно к конкретному контуру ВТ и режиму использования оборудования. Стоимость одного машино-часа определяется по формуле (6.5):

, (6.5)

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

- годовой плановый фонд времени работы вычислительного комплекса, ч.;

- коэффициент загрузки (не более 0,9 - 0,95).

Годовой плановый фонд времени работы вычислительного комплекса определяется по формуле (6.6):


,, (6.6)


где - номинальный фонд времени работы вычислительного комплекса, ч.;

- годовые затраты времени на профилактические работы (принимаются 15% от ).

= 12?21?8=2016 (ч.);

= 2016 ? 0,15 = 302,4 (ч.);

= 2016 - 302,4 = 1713,6 (ч.).

Годовые расходы, обеспечивающие функционирование вычислительного комплекса определяются по формуле (6.7):


, (6.7)


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

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

- затраты на текущий и профилактический ремонт технических и программных средств принимаются 2,5 - 5 % от стоимости комплекса, (руб.);

- затраты на расходные материалы, составляют 1 % от стоимости ЭВМ, (руб.);

- стоимость силовой электроэнергии, потребляемой комплексом, (руб.);

- прочие затраты, (руб.). Учитываются в случае аренды машинного времени.

Обслуживающий персонал существует в штатном расписании учреждения.

= (8000/168)?302,4?1,15= 16560 (руб.);

Сдоп.з/п = 16560 · 0,14 = 2318,4 (руб.);

Сотч = (16560 + 2318,4) ? 0,302 = 5701,3 (руб.).

Сумма годовых амортизационных отчислений комплекса технических средств и стандартного пакета программного обеспечения по данным бухгалтерии ОмГТУ составляет 25 % от стоимости оборудования, руб. и рассчитывается по формуле (6.8):


CAM = 0,25 · Cоб, (6.8)


где CAM - сумма на амортизационные отчисления комплекса технических средств;

Cоб - стоимость оборудования.

Рассчитаем стоимость компьютера на одно рабочее место программиста:

системный блок - 12590 (руб.);

монитор ЖК 19 - 4450 (руб.);

периферийные устройства - 820 (руб.).

Итого стоимость ЭВМ без программного обеспечения составляет 17860 (руб.).

Отсюда величина амортизационных отчислений в год:

Сам = 17860 · 0,25 = 4465 (руб.).

Затраты на текущий и профилактический ремонт технических средств составляют 3 % от стоимости комплекса, (руб.):


Срем = 0,03 · Соб


где Соб - стоимость оборудования.

Затраты на ремонт и содержание оборудования в год:

Срем = 0,03 · 17860 = 535,8 (руб.).

Стоимость силовой электроэнергии, потребляемой комплексом в год, рассчитывается по формуле 6.9:


CЭЛ = W · S · Фном,, (6.9)


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

W - мощность, (кВт);- стоимость 1 кВт´ч, (руб.).

Согласно техническому паспорту W равна 0,3 кВт. Стоимость 1 кВт´ч для бюджетных организаций равна 2,65 руб.

CЭЛ = 0,3 · 2,65 · 8 ? 12 ? 21= 1602 (руб.).

Затраты на расходные материалы, составляют 1 % от стоимости ЭВМ в год:

См = 0,01 · 17860 = 178,6 (руб.).

Итого, все годовые расходы составляют:

= 16560 + 2318,4 + 4988,6 + 4465 + 535,8 + 1602 + 178,6 = 30648,4 (руб.).

Тогда стоимость одного машино-часа равна:

= 30648,4 / (1713,6 ? 0,8) = 22,4 (руб./ч.).

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

= 22,4 ? 696 = 15590,4 (руб.).


6.4 Контрагентные и накладные расходы


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

Накладные расходы Снакл. вычисляются в долях к основной заработной плате разработчиков и составляют 100 % к основной заработной плате.


Снакл. = · 1,00 = 57212 · 1 = 57212 (руб.).


6.5 Общая смета затрат


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


Таблица 6.3 - Результаты расчета затрат на разработку

Статьи затратВеличина затрат, (руб.)Основная заработная плата57212Дополнительная заработная плата8009Отчисления во внебюджетные соц. фонды17087Расчет расходов по использованию ЭВМ и ПО 30648,4Накладные расходы57212Итого170168,4Диаграмма, отображающая вклад каждой статьи затрат в себестоимость разработки программного продукта приведена в соответствии с рисунком 6.1.

Затраты на разработку программного продукта составляют 170168,4 рубль. Диаграмма структуры затрат показана в соответствии с рисунком 6.1 Видно, что основную долю из них составляют основная заработная плата разработчиков и накладные расходы.


Рисунок 6.1 - Диаграмма структуры затрат на разработку программного продукта


В настоящем разделе была рассчитана трудоемкость разработки программного комплекса, определен состав исполнителей и произведен расчет стоимости разработки системы. Затраты на разработку данного проекта составили 170168,4 рублей. В соответствии с рисунком 6.1, на котором представлена диаграмма соотношения затрат на разработку ПО, видно, что основную часть затрат составили заработная плата разработчиков (33%) и накладные расходы предприятия (33%).


7. Безопасность жизнедеятельности


.1 Охрана труда


.1.1 Анализ опасных и вредных производственных факторов на рабочем месте инженера-программиста

Рассмотрим процесс написания приложения для автоматизации учебных программ одним разработчиком в помещении: длиной 7 метра, шириной 4 метра и высотой 3,5 метра.

В последние годы большое внимание уделяется улучшению условий труда пользователей электронно-вычислительных машин (ПЭВМ), несмотря на то, что качество и безопасность самых ПЭВМ и ВДТ постоянно улучшаются. В развитых странах, в том числе в США, Германии, Швеции, вопрос об опасности работы за дисплеями поднялся до уровня национальной проблемы, а в Германии работа за дисплеями входит в список 40 наиболее вредных и опасных профессий.

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

Главным фактором, влияющим на производительность труда людей, работающих с ПЭВМ и ВДТ, являются комфортные и безопасные условия труда.

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

особенностями организации рабочего места;

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

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

При выполнении работ на персональном компьютере (ПК) согласно ГОСТу 12.0.003-74 ССБТ. Опасные и вредные производственные факторы. Классификация могут иметь место следующие факторы:

повышенная температура поверхностей ПК;

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

выделение в воздух рабочей зоны ряда химических веществ;

повышенная или пониженная влажность воздуха;

повышенный или пониженный уровень отрицательных и положительных аэроионов;

повышенное значение напряжения в электрической цепи, замыкание;

повышенный уровень статического электричества;

повышенный уровень электромагнитных излучений;

повышенная напряженность электрического поля;

отсутствие или недостаток естественного света;

недостаточная искусственная освещенность рабочей зоны;

повышенная яркость света;

повышенная контрастность;

прямая и отраженная блёскость;

зрительное напряжение;

монотонность трудового процесса;

нервно-эмоциональные перегрузки.

Допустимые уровни воздействия приведенных факторов не должны превышать пределов, определяемых соответствующими нормативными документами.

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

Цель:

Необходимо произвести анализ опасных и вредных производственных факторов при работе с ПК.

Рассмотрим помещение, в котором находится рабочее место пользователя ПК. Оно имеет следующие характеристики:

длина помещения 7 м;

ширина помещения 4 м;

высота 3.5 м;

число окон 2;

окраска интерьера: белый потолок, белые стены, пол бетонный, покрытый линолеумом серого цвета.


7.2 Организация рабочего места


Согласно СанПиН 2.2.2/2.4.1340-03, в таблицах 7.1 и 7.2 представлены нормы, необходимые для пользователей ПК.


Таблица 7.1 - Высота одноместного стола для занятий с ПК[6]

Рост работника в обуви, смВысота над полом, ммповерхность столапространство для ног, не менее161 - 175700640выше 175760700

Примечание. Ширина и глубина пространства для ног определяются конструкцией стола.

На рабочем месте п ПК параметры рабочего стола соответствуют нормам, стул регулируется по высоте в соответствии ростом работника, согласно СанПиН 2.2.2/2.4.1340-03


Таблица 7.2 - Суммарное время регламентированных перерывов в зависимости от продолжительности работы, вида и категории трудовой деятельности с ПК

Категория работы с ПКУровень нагрузки за рабочую смену при видах работ с ПКСуммарное время регламентированных перерывов, мин.группа А, количество знаковгруппа Б, количество знаковгруппа В,чпри 8-часовой сменепри 12-часовой сменеIдо 20 000до 15 000до 25080

7.3 Микроклимат


Рабочее место пользователя ПК относится к категории работ 1. Нормы производственного микроклимата, установленные для данной категории работ, ГОСТ 12.1.005-88 приведены в таблице 7.3.


Таблица 7.3 - Параметры микроклимата для помещений, где установлены персональные компьютеры

Значения параметровПериод годаТемпература, о СОтносительная влажность, %Скорость движения воздуха, м/сОптимальныеХолодный и переходный21 - 2340 - 60не более 0,1Теплый22 - 2440 - 60не более 0,2

Нормы подачи свежего воздуха в помещения, где расположены компьютеры, согласно ГОСТ 12.1.005-88 приведены в таблице 7.4.


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

Характеристика помещенияОбъемный расход подаваемого в помещение свежего воздуха, м3 /на одного человека в часОбъем до 20 м3 на человека 20…40 м3 на человека Более 40 м3 на человекаНе менее 30 Не менее 20 Естественная вентиляцияНа рабочем месте пользователя ПК температура воздуха в течение всего года держится в допустимых пределах. Относительная влажность воздуха в теплый период находится в пределах 45-50%, в холодный - 55-60%. Объем помещения составляет 32 м3/человека. Действует естественная вентиляция, обеспечивающая более 30 м3 воздуха на человека в час.


.4 Производственный шум


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

Допустимые уровни звукового давления в октавных полосах со среднегеометрическими частотами для программистов ЭВМ в соответствии с ГОСТ 12.1.003-83 приведены в таблице 7.5.


Таблица 7.5 - Уровень шума

Рабочие местаУровни звукового давления, дБ, в октавных полосах со среднегеометрическими частотами, ГцУровень звука и эквивалентный уровень звука, дБ31,5312550001000200040008000Оператор ЭВМ8611494542403850

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

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



где Li - уровень звукового давления i-го источника шума;

n - количество источников шума.

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


Таблица 7.6. Уровни звукового давления различных источников. [5]

Источник шумаУровень шума, дБЖесткий диск30Вентиляторы48Монитор14Клавиатура10Маршрутизатор40Коммуникатор36

=10·lg(103+104,8 +101,4+101+104+103,6)=48,9 дБ

Из этого следует, что на рабочем месте пользователя значение не превышает допустимый уровень шума для рабочего места пользователя, который равен 50 дБ (ГОСТ 12.1.003-83).


.5 Освещение


В таблице 7.7 приведены нормы освещенности в соответствии с СНиП 23.05-95.

Таблица 7.7 - Нормы освещенности

Характеристика зрительной работыМинимальный размер объекта различения, ммСовмещенное боковое освещение, КЕО, %Естественное боковое освещение, КЕО, %Искусственное освещение, лкКомбин ированноеОбщееВыс. точност0.3 -0.5 1.221000300

Необходимо рассчитать необходимый световой поток, согласно СНиП 23.05-95.

В помещении, где находится рабочее место пользователя, используется смешанное освещение. В качестве естественного - боковое освещение через окна. Нормами для данных работ установлена необходимая освещенность рабочего места Ен=300лк (средняя точность работы по различению деталей размером от 1 до 10 мм).

Общий световой поток определяется по формуле


,


где Ен - нормированная освещенность (Ен = 300лк);n - площадь помещения;

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

Z- коэффициент, учитывающий неравномерность освещения помещения (Z = 1,1);

?- коэффициент использования светового потока; определяется в зависимости от коэффициентов отражения от стен, потолка, рабочих поверхностей, типов светильников и геометрии помещения.(?=0,26)

Площадь помещения

S = А * В = 7 * 4 = 28 м2


Определяем общий световой поток:

Для организации общего искусственного освещения выбраны лампы типа ЛБ65[1].

Световой поток одной лампы ЛБ65 составляет не менее Fл = 4600 лм.

Число N ламп, необходимых для организации общего освещения определяется по формуле:



В качестве светильников выбираем ЛСП 22-2х65-002, габариты которого равны 1625х148х220. Отсюда следует, что для обеспечения светового потока Fобщ=53307 лм надо использовать 6 светильников по 2 лампы ЛБ65 в каждом.

Электрическая мощность одной лампы ЛБ65 Wл=65 Вт.

Мощность всей осветительной системы:общ = Wл * N = 65 * 12 = 780 Вт.


7.6 Электромагнитные излучения


Для определения требований к монитору рассмотрим таблицу 7.8.

Дополнительные требования к монитору (в соответствии с СанПиН 2.2.2/2.4.1340-03): окраска корпуса в спокойном, мягком тоне с диффузным рассеянием света.

На рабочем месте пользователя ПК соблюдаются требования СанПиН 2.2.2/2.4.1340-03

Таблица 7.8 - Требования к монитору [6]

Наименование параметровСанПиН 2.2.2./2.4.1340-03Напряженность ЭПМ в 0.5 м вокруг дисплея по электрической составляющей, не более (В/м): в диапазоне частот 5Гц…2кГц в диапазоне частот 2…400кГц25Плотность магнитного потока в 0.5 м вокруг дисплея, не более, (нТл): в диапазоне частот 5Гц…2кГц в диапазоне частот 2 …400кГц25025Поверхностный электростатический потенциал, не более, (В):500

7.7 Безопасность в чрезвычайных ситуациях


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

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

Предел огнестойкости строительных конструкций определяется временем (ч) от начала пожара до возникновения одного из признаков: а) образования в конструкции сквозных трещин; б) повышения температуры на необогреваемой поверхности конструкции в среднем более чем на 140 °С или в какой-либо точке этой поверхности более чем на 180 °С по сравнению с температурой конструкции до испытания, или более 220 °С независимо от температуры конструкции до испытания; г) потери конструкцией несущей способности.

Предел огнестойкости отдельных строительных конструкций зависит от их размеров (толщины или сечения) и физических свойств материалов. Например, каменные стены здания толщиной 120 мм имеют предел огнестойкости 2,5 ч, а при толщине 250 мм предел огнестойкости повышается до 5,5 ч.

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


Таблица 7.9 - Категории помещений СНиП II-А.5-70

Степень огнестойкостиОсновные строительные конструкциинесущие стены, стены лестничных клеток, колоннынаружные стены из навесных панелей и наружные фахверковые стеныплиты, настилы и другие несущие конструкции междуэтажных и чердачных перекрытийплиты, настилы и другие несущие конструкции покрытийвнутренние несущие стены (перегородки)противопожарные стеныIНесгораемые (2,5)Несгораемые (0,5)Несгораемые (1,0)Несгораемые (0,5)Несгораемые (0,5)Несгораемые (2,5)IIНесгораемые (2,0)Несгораемые (0,25); трудносгораемые (0,5)Несгораемые (0,75)Несгораемые (0,25)Трудносгораемые (0,25)Несгораемые (2,5)IIIНесгораемые (2,0)Несгораемые (0,25); трудносгораемые (0,15)Трудносгораемые (0,75)СгораемыеТрудносгораемые (0,25)Несгораемые (2,5)IVТрудносгораемые (0,5)Трудносгораемые (0,25)Трудносгораемые (0,25)»Трудносгораемые (0,25)Несгораемые (2,5)VСгораемыеСгораемыеСгораемые»СгораемыеНесгораемые (2,5)

В соответствии с нормами СНиП II-А.5-70 помещение пользователей ПК относится к категории I. Установлен порошковый огнетушитель, который заряжен специальным порошковым составам и использующийся при возгораниях твердых, жидких и газообразных веществ, а также электроустановок с напряжением не превышающим 1000 В.

В настоящем разделе были рассмотрены состояние и уровень безопасности помещения, где работают три пользователя ПК.

На данный момент помещение, в котором располагается рабочее место пользователей ПК находится в следующем состоянии:

общий световой поток Fобщ = 53307 лм. Световой поток находится в пределах нормы;

уровень шума на рабочем месте равен 48,9 дБ. Показатель лежит в допустимых пределах;

уровень электромагнитного излучения в норме;

параметры рабочего стола соответствуют норме;

пожарная безопасность на рабочем месте обеспечена.

Состояние рабочего места пользователя ПК соответствует всем требованиям безопасности жизнедеятельности. Это было достигнуто благодаря вышеописанным мероприятиям.


Заключение


В результате дипломного проектирования было разработано программное обеспечение для автоматизации формирования учебных программ на кафедре ИВТ факультета ИТиКС ОмГТУ.

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

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

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

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

реализован простой удобный интерфейс;

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

Для разработки программного комплекса использовалась платформа.NET (язык C#), поддерживающий шаблон проектирования MVC. В качестве СУБД использовался продукт Microsoft SQL Server 2008 R2. Написание кода велось на программном продукте Microsoft Visual Studio 2013.

Произведен экономический расчет затрат на разработку программного комплекса. Затраты на разработку проекта составили 170168,4 рублей.

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

Разработанный в рамках дипломного проекта программный комплекс представляет практический интерес для кафедры «Информатика и вычислительная техника» факультета информационных технологий и компьютерных систем ОмГТУ. Начало тестовой эксплуатации на предприятии назначено на 1 июля 2014 года.


Библиографический список


1.Википедия. Model-View-Controller [Электронный ресурс]. - Режим доступа: #"justify">Приложение А


Листинг парсера по дисциплине физика

using System;System.Collections.Generic;System.Linq;Novacode;WorkingPrograms

{class PhysicParser

{List<string> buffer;PhysicParser(DocX loadedDoc)

{= new List<string>();(var p in loadedDoc.Paragraphs)

{.Add(p.Text);

}

}string GetSubjectName()

{buffer[buffer.IndexOf(buffer.FirstOrDefault(b => b.Contains("по дисциплине"))) + 1].Split(new[] { "»" }, StringSplitOptions.RemoveEmptyEntries)[0].Substring(2);

}string GetSubjectNameCipher()

{buffer[buffer.IndexOf(buffer.FirstOrDefault(b => b.Contains("по дисциплине"))) + 1].Split(new[] { "»" }, StringSplitOptions.RemoveEmptyEntries)[1].Trim();

}string GetDegree()

{buffer[buffer.IndexOf(buffer.FirstOrDefault(b => b.Contains("для направления подготовки")))].Split([] { "для направления подготовки" }, StringSplitOptions.RemoveEmptyEntries)[0].Trim();

}string GetSpecialtyCipher()

{buffer[buffer.IndexOf(buffer.FirstOrDefault(b => b.Contains("для направления подготовки"))) + 1].Split(new[] { "«" }, StringSplitOptions.RemoveEmptyEntries)[0].Trim();

}string GetSpecialityName()

{buffer[buffer.IndexOf(buffer.FirstOrDefault(b => b.Contains("для направления подготовки"))) + 1].Split(new[] { "«", "»" }, StringSplitOptions.RemoveEmptyEntries)[1].Trim();

}string GetTrainingProfile()

{buffer[buffer.IndexOf(buffer.FirstOrDefault(b => b.Contains("профили подготовки")))].Split(new[] { "профили подготовки" }, StringSplitOptions.RemoveEmptyEntries)[0].Trim();

}string GetDegree2(string split)

{string splitter = "Разработана в соответствии с ФГОС ВПО, ООП по направлению подготовки";

return[.IndexOf(.FirstOrDefault(=> b.Contains(splitter)))].Split(new []{splitter, split}, StringSplitOptions.RemoveEmptyEntries)[1];

}


Приложение Б


Листинг главного окна приложения

using System;System.Collections.Generic;System.IO;System.IO.Pipes;System.Linq;System.Windows.Forms;Novacode;WorkingPrograms.Model;WorkingPrograms

{partial class Form1 : Form

{WorkingProgrammsEntities db;int subjectID;string fileName;Form1()

{();= new WorkingProgrammsEntities();.DataSource = db.Subjects.ToList();.DisplayMember = "Name";.Filter = "*.docx|*.docx";.Filter = "*.docx|*.docx";.Filter = "*.docx|*.docx";.FileName = string.Empty;.FileName = string.Empty;.Maximum = 100;.DataSource = db.WorkingProgrammsFiles.ToList();.DataSource = db.Subjects.ToList();.DisplayMember = "FileName";.DisplayMember = "Name";.DataSource = db.Subjects.ToList();.DisplayMember = "Name";.Visible = checkBox1.Checked;.Visible = !checkBox1.Checked;

}void button1_Click(object sender, EventArgs e)

{(openFileDialog1.ShowDialog() == DialogResult.OK)

{= openFileDialog1.FileName;

}void comboBox1_SelectedIndexChanged(object sender, EventArgs e)

{= ((Subject)comboBox1.SelectedItem).SubjectID;

}void button2_Click(object sender, EventArgs e)

{textGetter;.FormatTexts.RemoveRange(db.FormatTexts);.SaveChanges();.Clear();.Value = 0;(checkBox1.Checked)

{file = new WorkingProgrammsFile();.Stream = File.ReadAllBytes(fileName);.FileName = "asdf";.SubjectID = subjectID;.WorkingProgrammsFiles.Add(file);.SaveChanges();= new PhysicParser(DocX.Load(fileName));

}

{file = db.WorkingProgrammsFiles.FirstOrDefault(f => f.WorkingProgramFileID == ((WorkingProgrammsFile)comboBox2.SelectedItem).WorkingProgramFileID);stream = new MemoryStream(file.Stream);= new PhysicParser(DocX.Load(stream));

}subjectName = textGetter.GetSubjectName();formatText = new FormatText

{= subjectID,= "SubjectName",= subjectName

};.FormatTexts.Add(formatText);.Text += string.Format("SubjectName = {0}{1}", subjectName, Environment.NewLine);.Value++;subjectNameCipher = textGetter.GetSubjectNameCipher();= new FormatText

{= subjectID,= "SubjectNameCipher",= subjectNameCipher

};.FormatTexts.Add(formatText);.Text += string.Format("SubjectNameCipher = {0}{1}", subjectNameCipher, Environment.NewLine);.Value++;degree = textGetter.GetDegree();= new FormatText { SubjectID = subjectID, Name = "Degree", Value = degree };.FormatTexts.Add(formatText);.Text += string.Format("Degree = {0}{1}", degree, Environment.NewLine);.Value++;specialtyCipher = textGetter.GetSpecialtyCipher();= new FormatText { SubjectID = subjectID, Name = "SpecialtyCipher", Value = specialtyCipher };.FormatTexts.Add(formatText);.Text += string.Format("SpecialtyCipher = {0}{1}", specialtyCipher, Environment.NewLine);.Value++;specialtyName = textGetter.GetSpecialityName();= new FormatText { SubjectID = subjectID, Name = "SpecialtyName", Value = specialtyName };.FormatTexts.Add(formatText);.Text += string.Format("SpecialtyName = {0}{1}", specialtyName, Environment.NewLine);.Value++;trainingProfile = textGetter.GetTrainingProfile();= new FormatText { SubjectID = subjectID, Name = "TrainingProfile", Value = trainingProfile };.FormatTexts.Add(formatText);.Text += string.Format("TrainingProfile = {0}{1}", trainingProfile, Environment.NewLine);.Value++;degree2 = textGetter.GetDegree2(specialtyCipher);= new FormatText { SubjectID = subjectID, Name = "Degree2", Value = degree2 };.FormatTexts.Add(formatText);.Text += string.Format("Degree2 = {0}{1}", degree2, Environment.NewLine);.Value++;.SaveChanges();

}void checkBox1_CheckedChanged(object sender, EventArgs e)

{.Visible = checkBox1.Checked;.Visible = !checkBox1.Checked;

}void generateButton_Click(object sender, EventArgs e)

{selectedSubject = ((Subject)subjectsComboBox.SelectedItem);templateFile = db.TemplateFiles.FirstOrDefault(tf => tf.SubjectID == selectedSubject.SubjectID);

if (templateFile == null)

{.Show("Для данного предмета отсутствует шаблон!");

return;

}.ShowDialog();(!string.IsNullOrEmpty(saveFileDialog1.FileName))

{stream = new MemoryStream(templateFile.Stream);fileToSave = DocX.Load(stream);<FormatText> formatTexts = db.FormatTexts.Where(ft => ft.SubjectID == selectedSubject.SubjectID).ToList();.ReplaceText("SubjectNameCipher", formatTexts.FirstOrDefault(ft => ft.Name == "SubjectNameCipher").Value);.ReplaceText("SubjectName", formatTexts.FirstOrDefault(ft => ft.Name == "SubjectName").Value);.ReplaceText("Degree2", formatTexts.FirstOrDefault(ft => ft.Name == "Degree2").Value);.ReplaceText("Degree", formatTexts.FirstOrDefault(ft => ft.Name == "Degree").Value);.ReplaceText("SpecialtyCipher", formatTexts.FirstOrDefault(ft => ft.Name == "SpecialtyCipher").Value);.ReplaceText("SpecialtyName", formatTexts.FirstOrDefault(ft => ft.Name == "SpecialtyName").Value);.ReplaceText("TrainingProfile", formatTexts.FirstOrDefault(ft => ft.Name == "TrainingProfile").Value);.SaveAs(saveFileDialog1.FileName);

//File.WriteAllBytes(saveFileDialog1.FileName, templateFile.Stream);

MessageBox.Show("Программа успешно сохранена!");

}void uploadTemplateButton_Click(object sender, EventArgs e)

{subjectID = ((Subject)subjectsForAdminComboBox.SelectedItem).SubjectID;templateFile = db.TemplateFiles.FirstOrDefault(tf => tf.SubjectID == subjectID);(templateFile == null)

{(openFileDialog2.ShowDialog() == DialogResult.OK)

{[] fileBytes = File.ReadAllBytes(openFileDialog2.FileName);newTemplateFile = new TemplateFile();.Stream = fileBytes;.TemplateFileName = openFileDialog2.SafeFileName;.SubjectID = subjectID;.TemplateFiles.Add(newTemplateFile);.SaveChanges();.Show("Шаблон загружен!");

}

{

MessageBox.Show("Для данного предмета уже имеется шаблон!");

}void deleteTemplateButton_Click(object sender, EventArgs e)

{subjectID = ((Subject)subjectsForAdminComboBox.SelectedItem).SubjectID;templateFile = db.TemplateFiles.FirstOrDefault(tf => tf.SubjectID == subjectID);(templateFile != null)

{.TemplateFiles.Remove(templateFile);.SaveChanges();.Show("Шаблон удалён!");

}

{.Show("Для данного предмета отсутствует шаблон!");

}void getTemplateButton_Click(object sender, EventArgs e)

{subjectID = ((Subject)subjectsForAdminComboBox.SelectedItem).SubjectID;templateFile = db.TemplateFiles.FirstOrDefault(tf => tf.SubjectID == subjectID);(templateFile != null)

{(saveFileDialog1.ShowDialog() == DialogResult.OK)

{.WriteAllBytes(saveFileDialog1.FileName, templateFile.Stream);.Show("Шаблон сохранён!");

}

{

MessageBox.Show("Для данного предмета отсутствует шаблон!");

}


Приложение В


Листинг классов, являющихся реализацией соответствующих таблиц из БД

FomatText.csWorkingPrograms.Model

{System;System.Collections.Generic;partial class FormatText

{int FormatTextID { get; set; }int SubjectID { get; set; }string Name { get; set; }string Value { get; set; }virtual Subject Subject { get; set; }

}

}.csWorkingPrograms.Model

{System;System.Collections.Generic;partial class Subject

{Subject()

{.FormatTexts = new HashSet<FormatText>();.TemplateFiles = new HashSet<TemplateFile>();.WorkingProgrammsFiles = new HashSet<WorkingProgrammsFile>();

}int SubjectID { get; set; }string Name { get; set; }virtual ICollection<FormatText> FormatTexts { get; set; }virtual ICollection<TemplateFile> TemplateFiles { get; set; }virtual ICollection<WorkingProgrammsFile> WorkingProgrammsFiles { get; set; }

}.csWorkingPrograms.Model

{System;System.Collections.Generic;partial class TemplateFile

{int TemplateFileID { get; set; }string TemplateFileName { get; set; }byte[] Stream { get; set; }int SubjectID { get; set; }virtual Subject Subject { get; set; }

}


Аннотация Пояснительная записка с., 22 рис., 16 табл. 13 источника, 3 прил.,, 10 слайдов и демонстрационная программа. Разработано программное для авт

Больше работ по теме:

КОНТАКТНЫЙ EMAIL: [email protected]

Скачать реферат © 2017 | Пользовательское соглашение

Скачать      Реферат

ПРОФЕССИОНАЛЬНАЯ ПОМОЩЬ СТУДЕНТАМ