Разработка базы данных Сервисный центр (по материалам Краснодарского филиала ОАО Кубанская энергосбытовая компания)
СОДЕРЖАНИЕ
2 Краткая характеристика предприятия и среды разработки............................................................................................................................ 9
2.1 Краткая характеристика предприятия..................................................... 9
2.2 Анализ объекта автоматизации. Структура IT-отдела........................... 14
3.1 Введение............................................................................................................................ 18
3.1.1 Наименование программы ............................................................................................................................ 18
3.1.2 Назначение и область применения............................................................................................................................ 18
3.2 Требования к программе............................................................................................................................ 18
3.2.1 Требования к функциональным характеристикам............................................................................................................................ 18
3.2.2 Требования к надежности............................................................................................................................ 19
3.2.2.1 Требования к обеспечению надежного функционирования программы................................................................................................................ 19
3.2.2.2 Время восстановления после отказа ............................................................................................................................ 19
3.2.2.3 Отказы из-за некорректных действий пользователей системы ............................................................................................................................ 20
3.3 Условия эксплуатации ............................................................................................................................ 20
3.3.1 Климатические условия эксплуатации ............................................................................................................................ 20
3.3.2 Требования к квалификации и численности персонала ............................................................................................................................ 20
3.3.3 Требования к составу и параметрам технических средств............................................................................................................................ 20
3.3.4 Требования к информационной и программной совместимости ............................................................................................................................ 21
3.3.4.1 Требования к информационным структурам и методам решения................................................................................................................ 21
3.3.4.2 Требования к исходным кодам и языкам программирования................................................................................................................ 23
3.3.4.3 Требования к программным средствам, используемым программой ................................................................................................................ 23
3.3.4.4 Требования к защите информации и программ ................................................................................................................ 23
3.3.5 Специальные требования............................................................................................................................ 24
3.4 Требования к программной документации............................................................................................................................ 24
3.4.1 Предварительный состав программной документации ............................................................................................................................ 24
3.5 Технико-экономические показатели ............................................................................................................................ 24
3.5.1 Экономические преимущества разработки ............................................................................................................................ 24
3.6 Стадии и этапы разработки ............................................................................................................................ 24
3.6.1 Стадии разработки ............................................................................................................................ 24
3.6.2 Этапы разработки ............................................................................................................................ 25
3.6.3 Содержание работ по этапам............................................................................................................................ 25
3.7 Порядок контроля и приемки ............................................................................................................................ 26
3.7.1 Виды испытаний ............................................................................................................................ 26
3.7.2 Общие требования к приемке работы............................................................................................................................ 26
4 Анализ модели и предметной области. 26
4.1 Описание предметной области. 26
4.2 Критическое описание существующего программного обеспечения. 28
4.4 Составные части объектного подхода. 30
4.5 Анализ выбранной среды разработки и языка программирования. 31
5 Структура и алгоритмизация базы данных. 38
5.1 Образцы бланков выходных документов. 39
5.2 Выбор инструментальной среды разработки. 40
5.4 Условия применения программного средства. 43
5.6 Информационные потоки в системе. 45
5.7 Программная реализация базы данных. 46
5.8 Защита программного продукта. 56
5.9 Архитектура удалённого опроса и занесения в БД.. 65
6.1 Основные этапы проекта разработки ПО.. 69
6.2 Расчет трудоемкости проекта. 71
6.3 Определение численности исполнителей. 72
6.4 Календарный график выполнения проекта. 73
6.5 Расчет затрат на разработку проекта. 73
6.6 Расчет стоимости материалов. 74
6.7 Расчет основной заработной платы.. 75
6.8 Расчет плановой себестоимости. 77
6.9 Исследование рынка для разрабатываемого ПО.. 77
6.10 Планирование цены и прогнозирование прибыли. 77
7 Безопасность жизнедеятельности. 80
7.1 Мероприятия по защите от вредных и опасных факторов. 92
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ И ЛИТЕРАТУРЫ.. 97
ПРИЛОЖЕНИЯ
ВВЕДЕНИЕ
О стремительном темпе развития информационных технологий я слышу почти каждый день. Эти темпы действительно впечатляют. Однако в компьютерном мире остается одна самая важная область, изменения в которой происходят крайне медленно. Программирование, кодирование, составление исходных текстов — ключевой элемент в создании любого приложения сегодня происходит так же, как и сорок лет назад. Разработчик применяет крайне ограниченный набор логических конструкций (условный оператор и операторы присваивания и цикла) и небольшое число стандартных типов данных. Причем такой подход ничуть не изменился, хотя сменилось уже не одно поколение языков программирования. Например, на смену Си и Паскалю пришёл C#, однако мои знакомые в различных компьютерных фирмах по-прежнему запускают в консольной сессии Java-компилятор командной строки и отлаживают сложные программы, вручную просматривая протоколы работы и игнорируя удобные и комфортные средства быстрой визуальной разработки и отладки типа JBuilder или NetBeans. Компьютерные издания, претендующие на звание профессиональных, нередко пропагандируют подобный полухакерский подход к созданию программ. Создается своеобразный имидж программиста-одиночки, способного за пару бессонных ночей написать нужную заказчику программу, которая героически уместится в ста килобайтах памяти. Программированию вообще присущ значительный консерватизм, так как в принципе можно создавать программы, ограничиваясь знаниями многолетней давности. Однако сегодня программирование, безусловно, превратилось из искусства в ремесло. Конечно, вряд ли можно стать профессиональным разработчиком, не изучив внутреннее устройство Windows или структуру компонентов VCL и принципы оптимизации программ. Однако такие знания сегодня отходят на второй или третий план.
Перед написанием дипломного проекта мне были поставлены ряд задач, которые мною описаны в данном проекте, в частности анализ структуры работы IT-отдела, построение концепции автоматизации и разработка базы данных по сервису и обслуживанию.
Для разработки ПО, было необходимо составить техническое задание, выбрать среду разработки и язык программирования согласно техническому заданию и требованию предприятия, произвести экономический анализ проект, а также учесть вопросы безопасности жизнедеятельности.
2 Краткая характеристика предприятия и среды разработки
2.1 Краткая характеристика предприятия
Общество с ограниченной ответственностью "Кубанская энергосбытовая компания" создано в результае реорганизации ОАО "Кубаньэнерго" и зарегистрировано в качестве юридического лица 1 июля 2006 года. Реорганизация ОАО "Кубаньэнерго" проводилась в соответствии с основными направлениями государственной политики по реформированию электроэнергетики и Проектом реформирования компании.
ООО "Кубанская энергосбытовая компания" является крупнейшим поставщиком электроэнергии предприятиям сельского хозяйства, промышленности, коммерческим организациям и бытовым потребителям на территории Краснодарского края и единственным на территории Республики Аыгея.
История ООО "Кубанская энергосбытовая компания" началась в октябре 1936 года с подписания Советом Народных Комиссаров СССР Постановления об открытии при районных энергетических управлениях подразделений по сбыту энергии. Уже в ноябре того же года при районном энергетическом управлении Азчерэнерго был создан Энергосбыт Азчерэнерго, в состав которого вошли Краснодарское и Новороссийское отделения.1 декабря 1944 года, приказом № 61 по РЭУ «Краснодарэнерго», «Энергосбыт» выделился из состава управления в самостоятельную единицу (с охватом потребителей Краснодарского и Новороссийского энергорайонов).В состав Энергосбыта вошли абонентская служба, энергоинспекция, лаборатория и прочие службы, которые были переданы предприятию Краснодарэлектросетью. В 1946 году приём посетителей начала мастерская по ремонту счётчиков. Первым директором предприятия по сбыту энергии стал Фёдор Степанович Розов.В основные функции предприятия входили реализация энергии, ремонт и госповерка счётчиков, государственный контроль и надзор за режимами и лимитами отпуска электроэнергии, соблюдением правил технической эксплуатации и за рациональным расходованием электрической и тепловой энергии на промышленных предприятиях.
В 1963 году под руководством Антонины Митрофановны Коломийцевой в состав Энергосбыта вошли абонентские службы коммунальных городских электросетей и РЭС «Сельэнерго». Ими стали осуществляться функции надзора за всеми тепло- и электроустановками в колхозах и совхозах. Зона деятельности Энергосбыта расширилась – для обслуживания потребителей, количество которых в 1964 году увеличилось в пять раз (с 60 тысяч до 292 тысяч), а в 1965 году – еще на 300 тысяч - по всему краю были созданы межрайонные отделения Энергосбыта: в 1964 году – Ейское, Армавирское, Сочинское и Майкопское; в 1965 году – Тихорецкое, Тимашевское, Славянское, Абинское, Усть- Лабинское, Лабинское; в 1973 году – Краснодарское.
В 1980 году, по указанию Минэнерго СССР, предприятие по сбыту энергии и контролю за её использованием «Энергосбыт» было переименовано в предприятие государственного энергетического надзора и сбыта энергии « Энергонадзор».
В 1997 году филиал ОАО «Кубаньэнерго» вновь стал называться Энергосбытом, а функции энергетического надзора перешли к государству.
Согласно постановлению Правительства РФ "О реформировании электроэнергетики Российской Федерации" в конце 2005 года на собрании акционеров ОАО "Кубаньэнерго" было принято решение о реорганизации Общества путем выделения из него генерирующей, сбытовой компаний и магистральных сетей.
В июле 2006 года завершился процесс реформирования Общества. В результате ТУ «Энергосбыт» - филиал ОАО «Кубаньэнерго» получило новый статус - ООО «Кубанская энергосбытовая компания» (с сохранением места регистрации в г. Краснодаре).
ООО «Кубаньэнергосбыт» не только сохранил все договорные обязательства перед потребителями как правопреемник Общества, но и получил все права и возможности Гарантирующего поставщика электрической энергии на Кубани.
Рисунок 2.1 – Организационная структура предприятия
ООО «Кубаньэнергосбыт» осуществляет продажу электрической энергии жителям 2-х субъектов Российской Федерации, и имеет на территории Краснодарского края более 1 036 000 граждан-потребителей, и более 104 000 граждан-потребителей на территории Республики Адыгея.
В 2007 году введен в действие собственный «Печатный центр», что позволило организовать распечатку счетов на оплату электроэнергии гражданам-потребителям для всех жителей Краснодарского края и Республики Адыгея. Доставка счетов осуществляется ФГУП «Почта России».
В течение 2008 года Печатный центр был дополнительно укомплектован оборудованием, в том числе обеспечивающем резаны бизнес-процессы по предоставлению услуг Печатного центра сторонним организациям.
Постоянно расширяется сеть пунктов приема платежей - помимо наличия собственных касс, прием платежей осуществляет ФГУП «Почта России», Сбербанк РФ, а так же более 10 коммерческих банков и специализированных организаций
В целях снижения расходов на проведение сбора денежных средств за электроэнергию от населения, для повышения эффективности работы и расширения территориальной доступности пунктов оплаты, постоянно проводятся переговоры с организациями, предоставляющими услуги по приему платежей, в том числе и компаниями осуществляющими прием платежей через терминалы. С апреля 2008 году осуществляется прием платежей через платежные терминалы FastPay работающий по системе SkySend.
Прорабатывается вопрос о создании инвестиционной программы по приобретению собственной платежной системы и созданию сети терминалов.
Одним из следующих этапов по внедрению инновационных технологий является организация процедуры оповещения граждан-потребителей через телефонную связь, как городскую, так и мобильную, а тек же посредством SMS сообщений. Уже закупается оборудование и в 1 кв. 2009 года будут произведены тестовые запуски.
Приоритетным направлением деятельности компании является обеспечение правав потребителей на надёжную и бесперебойную поставку электрической энергии на надёжную и бесперебойную поставку в необходимом объёме.
В рамках этого, ООО "Кубанская энергосбытовая компания" осуществляет следующие основные виды деятельности:
- Покупку электрической энергии на оптовом и розничном рынках электрической энергии;
- Реализацию (продажу) электрической энергии на оптовом и розничном рынках электрической энергии (мощности) потребителям (в том числе и гражданам);
- Выполнение функций Гарантирующего поставщика на территории Краснодарского края и Республики Адыгея.
Прочие виды деятельности:
- Контроль выполнения организационно-технических мероприятий по регулированию нагрузки электропотребления;;
- Оказание услуг по организации коммерческого учёта;
- Проведение энергосберегающих мероприятий;
- Изучение состояния и перспектив развития рынка сбыта электрической энергии и мощности;
- Осуществление инспекторского контроля выполнения потребителями договорных условий пользования электрической энергией и мощностью, контроль соблюдения договорных величин и заданных режимов электропотребления;
- Оказание консалтинговых услуг по заключению договоров энергоснабжения и присоединения к электрическим сетям;
- Проведение работы по заключению договоров с потребителями;
- Проведение консультационной работы с потребителями;
- Комплексный расчёт с ежемесячным снятием показаний электросчётчиков и доставкой счетовабонентам для оплаты за потреблённую ими электроэнергию;
- Участие в отключении, подключении и опломбировании электроустановок бытовых потребителей и юридических лиц по их заявкам.
ООО "Кубаньэнергосбыт" гарантирует высокое качество предоставляемых высококачественных комплексных услуг, их соответствие передовым стандартам наряду с оптимизацией организационной и функциональной структурой Общества и внедрением передовых технологий энергосбытовой дейтельности.
В числе основных принципов стратегии развития компании - сохранение статуса Гарантирующего поставщика в Краснодарском крае и Республики Адыгея, применение клиентоориентированного подхода во всех бизнес-процесах энергосбытовой деятельности, повышение мобильности как в отношениях с клиентами, так и во внутренних технологических процессах, расширение спектра оказываемых услуг.
2.2 Анализ объекта автоматизации. Структура IT-отдела.
Проблему повышения результативности работы техотдела следует решать задолго до возникновения пиковых ситуаций. Один из способов - введение системы учета заявок.
Наиболее острая необходимость в системе показателей, позволяющей оценить эффективность ИТ-подразделения, возникает в те моменты, когда по причине, например, расширения, возрастает нагрузка или когда планируется реорганизация ИТ-подразделения, а следовательно необходимо принимать важные кадровые решения и определять направления инвестиций в ИТ-инфраструктуру.
Вот почему вопрос о создании системы сервисной базы данных для ИТ-подразделения необходимо решать как можно раньше, задолго до возникновения пиковых ситуаций. Во-первых, многих проблем удастся избежать, а во-вторых, разработка эффективного инструмента контроля и анализа - очень серьезная задача, требующая больших затрат временного и интеллектуального ресурса, немыслимая в условиях аврала.
Рисунок 2.2 – временные затраты на работы
Опыт такой работы в настоящий момент очень актуален. Сразу хочу отметить, что проект находится в постоянном развитии, ведь он затрагивает очень много областей деятельности предприятия и может быть модифицирован или расширен под определенные задачи.
В разработке системы контроля и анализа сервиса для ИТ-подразделения я принимал участие во время прохождения преддипломной практики, после чего встала необходимость написания модулей сервисной базы данных. Надо отметить, что если уровень автоматизации невысок, то и требования к ИТ-подразделению, если таковое в принципе имеется, может сводиться к поддержанию работоспособности локальной сети.
Подсчет временных затрат на определенные задачи проводился следующим образом: с помощью системы учета обращений в ИТ-отдел, задача относилась к определенной области, фиксировалось время обращения, время начала и окончания работ по данному обращению, вычислялось затрачиваемое время (если для выполнения работ требовалось более одного сотрудника, то соответственно это время умножалось на количество людей, участвующих в процессе). Затем в конце рабочего дня персонал отдела подтверждал результаты или, если возникали вопросы, то они выносились на регулярное совещание.
Области решаемых задач были определены в результате их анализа и классификации. Так к тех. поддержке программного обеспечения (ПО) были отнесены работы по оказанию консультативных услуг по вопросам ПО, обучение персонала других отделов работе с ПО и т.д. Надо отметить, что для дальнейшей детализации и более глубокого анализа были введены классификаторы периодичности выполнения работ. Среди них можно отметить, разовые, ежедневные, еженедельные, ежемесячные, ежеквартальные и переменно-периодические.
Например, некоторым работам по обучению персонала работе с ПО присваивался классификатор "разовая работа", а другим - "ежемесячная" или другой, в зависимости от ПО, частоты его изменения и необходимости проводить обучение. Данные классификаторы стали затем применяться и в шаблонах служебных записок, поступающих в ИТ-отдел c целью быстрого определения приоритета решаемой задачи, а соответственно эффективного планирования рабочего процесса.
После определения решаемых задач на момент создания системы показателей настал черед осмыслить цели ИТ-подразделения. Они были разбиты на следующие группы: ближайшие ( от 1 дня до 3 месяцев), среднесрочные (от 3 месяцев до года), долгосрочные (от года) и стратегические.
При работе над техническим заданием, а также всем проектом в целом мною были учитанны пожелания отдела в целом, а также рекомендации руководства отделом по выбору среды разработки и концепции построения программного продукта.
Отделом были разработаны более эффективные схемы восстановления резервных копий. Повысилось качество контактов с партнерами по обслуживанию ПО и оборудования , а также между ИТ-отделом и другими отделами за счет налаживания четкой обратной связи и разделения сфер ответственности.
Рисунок 2.3 – Схема связи IT-отдела
Рисунок 2.4 – Типовая модель IT
В типовой модели для компаний все процессы разделены на пять групп, каждая из которых отражает определенный аспект жизненного цикла услуги или решения в сфере информационных технологий (Рисунко 2.4) – от анализа бизнес-задач, стоящих перед отделом автоматизации, до определения спецификаций услуги и разработки соглашений об уровне обслуживания, реализации, развертывания и поддержки услуг.
3 Техническое задание
3.1 Введение
3.1.1 Наименование программы
Наименование программы: «База данных «сервисный центр»
3.1.2 Назначение и область применения
Разработать программный комплекс, состоящий из модулей «Сбор данных» и «АРМ Техника» с реализацией WEB-интерфейса и свободно-переносимого формата данных.
3.2 Требования к программе
Необходим ввод и учёт сотрудников предприятия с ведением базы данных по всем подразделениям, а также разграничение доступа к информации о сотрудниках для соответствующих подразделений. Программное обеспечение должно быть легко модифицируемым и расширяемым иметь возможность ведения справочников по заполняемым данным и возможность их корректировки администратором.
3.2.1 Требования к функциональным характеристикам
Программное обеспечение по запросу пользователя должно формировать следующие документы в формате Microsoft Word, MS XML, Open XML, PDF: «Заявку на заправку и ремонт», «Отчёт по работе принтера», «Отчёт по работе ксерокса», «Отчёт по ПЭВМ» , «Общие сведения о ПЭВМ». Так же программа должна позволять выполнять сортировку и поиск техники и программного обеспечения по заданным критериям.
Основные требования к серверной части:
- Надёжность хранения данных
- Быстрый доступ к данным
- Избыточность данных
- Защищённость конфиденциальных данных
Основные требования к клиентской части:
- Независимость от платформы
- Интуитивно понятный интерфейс
- Малые требование к аппаратному обеспечению
- Соответствие бумажным формам
3.2.2 Требования к надежности
3.2.2.1 Требования к обеспечению надежного функционирования программы
Надежное (устойчивое) функционирование программы должно быть обеспечено выполнением студентом совокупности организационно-технических мероприятий, перечень которых приведен ниже: а) организацией бесперебойного питания технических средств; б) использованием лицензионного программного обеспечения; в) регулярным выполнением рекомендаций Министерства труда и социального развития РФ, изложенных в Постановлении от 23 июля 1998 г. Об утверждении межотраслевых типовых норм времени на работы по сервисному обслуживанию ПЭВМ и оргтехники и сопровождению программных средств»; г) регулярным выполнением требований ГОСТ 51188-98. Защита информации. Испытания программных средств на наличие компьютерных вирусов
3.2.2.2 Время восстановления после отказа
Время восстановления после отказа, вызванного сбоем электропитания технических средств (иными внешними факторами), не фатальным сбоем (не крахом) операционной системы, не должно превышать 30-ти минут при условии соблюдения условий эксплуатации технических и программных средств.
Время восстановления после отказа, вызванного неисправностью технических средств, фатальным сбоем (крахом) операционной системы, не должно превышать времени, требуемого на устранение неисправностей технических средств и переустановки программных средств.
3.3 Условия эксплуатации
3.3.1 Климатические условия эксплуатации
Климатические условия эксплуатации, при которых должны обеспечиваться заданные характеристики, должны удовлетворять требованиям, предъявляемым к техническим средствам в части условий их эксплуатации
3.3.2 Требования к квалификации и численности персонала
Минимальное количество персонала, требуемого для работы программы, должно составлять не менее 2 штатных единиц — системный администратор и конечный пользователь программы — оператор. Системный администратор должен иметь высшее профильное образование и сертификаты компании-производителя операционной системы. В перечень задач, выполняемых системным администратором, должны входить: а) задача поддержания работоспособности технических средств; б) задачи установки (инсталляции) и поддержания работоспособности системных программных средств — операционной системы; в) задача установки (инсталляции) программы.
3.3.3 Требования к составу и параметрам технических средств
В состав технических средств должен входить IВМ-совместимый персональный компьютер (ПЭВМ), выполняющий роль сервера, включающий в себя:
- Pentium IV 1000 MHz;
- ОЗУ 128Мб;
- Жестким диском 10Гб;
- Видео картой SVGA;
- Сетевой платой подключённой к сети (дублированной).
Для системы клиента необходима конфигурация со следующими характеристиками:
- Pentium IV 2000 MHz;
- ОЗУ 1024Мб;
- Жестким диском 40Гб;
- Видео картой SVGA;
- Сетевой платой подключённой к сети.
3.3.4 Требования к информационной и программной совместимости
3.3.4.1 Требования к информационным структурам и методам решения
Для просмотра и редактирования полей таблиц базы данных использовать: Microsoft SQL Server 2008 Developer Edition. Чтобы вносить изменения в сам текст использовать: Microsoft Visual Studio 2008 или Microsoft Visual C# Express.
Структура базы данных
Таблица 3.1 Отдел
|
Таблица 3.2 Корпуса
ID |
nchar(40) |
Индивидуальный номер |
City |
nchar(70) |
Город |
Street |
nchar(80) |
Улица |
Litter |
nchar(70) |
Литер |
Comments |
nchar(120) |
Коментарии |
Build |
Int |
Здание |
Number |
Int |
Номер |
Таблица 3.3 Принтеры
ID |
nchar(40) |
Индивидуальный номер |
P_firm |
nchar(60) |
Производитель |
P_model |
nchar(100) |
Модель |
P_Iface |
nchar(10) |
Интерфейс |
P_klass |
nchar(10) |
Класс |
P_type |
nchar(15) |
Тип |
P_toner |
nchar(10) |
Номер тонера |
P_Kart |
nchar(10) |
Номер картриджа |
P_Speed |
Int |
Скорость |
P_Color |
Bool |
Цветность |
P_Comment |
Nchar(120) |
Комментарий |
Таблица 3.4 Привязка принтера
ID |
nchar(40) |
Индивидуальный номер |
P_ID |
nchar(40) |
ID принтера |
D_ID |
nchar(40) |
ID отдела |
3.3.4.2 Требования к исходным кодам и языкам программирования
Дополнительные требования не предъявляются.
3.3.4.3 Требования к программным средствам, используемым программой
Системные программные средства, используемые программой, должны быть представлены лицензионной локализованной версией операционной системы Microsoft SQL Server 2008 Developer Edition
3.3.4.4 Требования к защите информации и программ
Привязать к файлу лицензионное соглашение и защиту от копирования, а так же защитить исходные коды приложения от просмотра.
3.3.5 Специальные требования
Специальных требований нет
3.4 Требования к программной документации
3.4.1 Предварительный состав программной документации
Состав программной документации должен включать в себя: - техническое задание; - программу; - руководство программиста;
- руководство пользователя
3.5 Технико-экономические показатели
3.5.1 Экономические преимущества разработки
Расчитать:
- трудоемкость выполнения проекта
- затраты на разработку проекта
- стоимости материалов
- основную заработную плату
- плановую себестоимость
3.6 Стадии и этапы разработки
3.6.1 Стадии разработки
Разработка должна быть проведена в три стадии: 1. разработка технического задания; 2. рабочее проектирование; 3. внедрение.
3.6.2 Этапы разработки
На стадии разработки технического задания должен быть выполнен этап разработки, согласования и утверждения настоящего технического задания. На стадии рабочего проектирования должны быть выполнены перечисленные ниже этапы работ:
1. разработка программы; 2. разработка программной документации; 3. испытания программы.
3.6.3 Содержание работ по этапам
На этапе разработки технического задания должны быть выполнены перечисленные ниже работы: 1. постановка задачи; 2. определение и уточнение требований к техническим средствам; 3. определение требований к программе; 4. определение стадий, этапов и сроков разработки программы; 5. согласование и утверждение технического задания. На этапе разработки программы должна быть выполнена работа по программированию (кодированию) и отладке программы. На этапе разработки программной документации должна быть выполнена разработка программных документов в соответствии с требованиями к составу документации. На этапе испытаний программы должны быть выполнены перечисленные ниже виды работ: 1) разработка, согласование и утверждение и методики испытаний; 2 ) корректировка программы и программной документации по результатам испытаний.
3.7 Порядок контроля и приемки
3.7.1 Виды испытаний
Наглядное демонстрирование возможностей программного продукта
3.7.2 Общие требования к приемке работы
Общих требований к приемке работы нет
4 Анализ модели и предметной области
4.1 Описание предметной области
Программирование – это синтез науки и искусства. Цель проектирования это создание системы, которая:
- “удовлетворяет заданным функциональным спецификациям”;
- согласована с ограничениями, накладываемыми оборудованием;
- удовлетворяет требованиям явным и неявным по эксплуатационным качествам и ресурсо-потреблению;
- удовлетворяет явным и неявным критериям дизайна ПО;
- удовлетворяет требованию к самому процессу разработки, направленность, продолжительность, стоимость, привлечение дополнительных инструментальных средств.
Компьютерная программа — это набор элементарных команд процессора, представленных в файле в виде последовательности байтов (машинный код). Каждая команда может быть закодирована одним или несколькими байтами. Программы в таком виде можно составлять вручную, но подобная работа человеку просто не под силу из-за неудобства управления процессором напрямую с помощью простых команд.
Поэтому программа писалась на одном из языков программирования, как обычный текст. Этот текст называется исходным текстом (или исходным кодом) программы.
Элементы программного проектирования могут классифицироваться по трём категориям:
1) условные обозначения – язык для написания каждой модели;
2) процесс – правила проектирования модели;
3) инструменты – средства, которые ускоряют процесс создания моделей и в которых воплощены законы функционирования моделей. Инструменты помогают выявить ошибки в процессе разработки.
Объектно-ориентированные модели отвечают на вопрос “Как наилучшим способом разделить систему на подсистемы? ” – это объектно-ориентированная декомпозиция. Процесс проектирования основан на следующих принципах: абстрагирование, инкапсуляция, модульность, иерархия, типизация, параллелизм и устойчивость.
Абстрагирование – упрощённое описание, где одни важные свойства указываются, а другие – опускаются, т.е. характеристики, которые отличают от других видов объектов, концептуальные границы описываются.
На этом этапе описание минимума связей объекта, его поведения, не привносит свойств и побочных эффектов вне сферы его применимости.
Абстракция помогает думать о том, что делать программы, занимается внутренним устройством, (внутренняя структура объекта и реализация его методов). На практике - это наличие двух частей: интерфейс и реализация.
Интерфейс отражает внешнее поведение объекта.
Реализация - представление абстракции, механизмы достижения поведения объекта, здесь все, что не имеет отношения к процессу взаимодействия объектов.
Инкапсуляция - это процесс отделения друг от друга элементов объекта, о пределах его устройство и поведение; чтобы изолировать контрактные обязательства абстракции от их реализации.
Модульность – это свойство системы, которая была разделена на внутренне связанные между собой модули. Принципы абстрагирования, инкапсуляции и модульности являются взаимодополняющими. Объект логически определяет границы абстракции, а инкапсуляция и модульность делает их физически незыблемыми.
4.2 Критическое описание существующего программного обеспечения
На данный момент времени многие предприятия, а также сторонние разработчики создали системы подобные моему проекту. Далее я приведу критический обзор некоторых из них. Мною были получены и рассмотрены следующие комплекты ПО:
1) «АРМ –техника и системного администратора» разработанная Смарт-софт групп. Данная система является громоздкой и требовательной к системным ресурсам, а также не содержит полного спектра необходимого функционала расширение которого невозможно в следствии отсутствия модульной структуры.
2) «Автоматизированная система управления IT инфраструктурой» разработана компанией Stels Technologies. Данная система отражает в большей степени потребности предприятия за исключением цены и кросплатформенности, система разработана и реализована исключительно для операционной системы Windows, что препятствует её использованию под управлением ОС Linux или Mac OS X.
3) «АРМ системного администратора» разработана Small Soft Tech. Group. Данная система также как и все предыдущие разработана исключительно под ОС Windows, и содержит только жёстко привязанную базу что мешает её адаптации под свои нужды.
Все рассмотренные системы являются современными и надёжно функционирующими, но все они не удовлетворяют всем поставленным требованиям в связи с чем мною было принято решение о создании собственного программного продукта, который будет расширяемым, кросплатформенным и модульным одновременно. Так же отличительной чертой моего проекта является его относительная низкая стоимость сопровождения и реконфигурации.
4.3 Объектная модель
Объектно-ориентированная технология основывается на объектные модели. Основные её принципы являются: абстрагирование, инкапсуляция, модульность, иерархичность, типизация, параллелизм и сохраняемость. Это не ново, но всё вместе – они впервые.
Объектно-ориентированный анализ и проектирование принципиально отличаются от структурного проектирования.
ОО программирование – это методология организации программ в виде совокупности объектов, каждый из которых является экземпляром определённого класса, а классы образуют иерархию наследования. Алгоритмы - ушли, базовыми элементами стали объекты:
· иерархия “быть частью”;
· любые объекты являются экземпляром какого-либо класса;
· классы организованы иерархически (“is a” это есть иерархия).
Программирование не основанное на иерархических отношениях, не относится к ООП, а называется программированием на основе абстрактных типов данных.
ОО проектирование – это методология программирования, соединяющая в себе процесс объектной декомпозиции и приёмы представления логической и физической, а также статистической и динамической моделей проектируемой системы.
Отличие от структурного проектирования: декомпозиция в виде классов и объектов и в СП – в виде алгоритмов.
Объектно-ориентированный анализ – это методология, при которой требования к системе воспринимаются с точки зрения классов и объектов, выявленных в предметной области.
OOA – формирует объекты, на которых основывается OOП, который является фундаментом реализации в OOP.
4.4 Составные части объектного подхода
Существуют пять основных стилей программирования:
· процедурно-ориентированный (для вычислительных задач);
· объектно-ориентированный (для широкого круга приложений);
· логико-ориентированный - цели, часто выраженные в терминах исчисления предикатов;
· ориентированный на правила (для баз знаний);
· ориентированный на ограничения.
Объектная модель предметной области включает в себя:
· абстрагирование;
· инкапсуляция;
· модульность;
· иерархия;
· типизация;
· параллелизм;
· сохраняемость.
4.5 Анализ выбранной среды разработки и языка программирования
Главной особенностью языка C# является его ориентированность на платформу Microsoft .NET - создатели C# ставили своей целью предоставление разработчикам естественных средств доступа ко всем возможностям платформы .NET. Видимо, это решение можно считать более или менее вынужденным, так как платформа .NET изначально предлагала значительно большую функциональность, чем любой из существовавших на тот момент языков программирования.
Кроме того, создатели С# хотели скрыть от разработчика как можно больше незначительных технических деталей, включая операции по упаковке/распаковке типов, инициализации переменных и сборке мусора. Благодаря этому программист, пишущий на C#, может лучше сконцентрироваться на содержательной части задачи. В процессе решения этой задачи проектировщики C# пытались учесть уроки реализации Visual Basic'а, который достаточно успешен в скрытии деталей реализации, но недостаточно эффективен для написания крупных промышленных систем: создатели C# декларируют, что новый язык обладает мощностью С++ и в то же время простотой Visual Basic'а.
Еще одно преимущество создания нового языка программирования по сравнению с расширением существующих заключается в том, что при создании нового языка нет необходимости заботиться о проблемах обратной совместимости, которые обычно заметно затрудняют исправление застарелых проблем и даже внесение новых свойств в стандарт языка
Таким образом, C# представляет собой новый язык программирования, ориентированный на разработку для платформы .NET и пригодный как для быстрого прототипирования приложений, так и для разработки крупномасштабных приложений.
Многие существующие языки программирования обладают весьма запутанным синтаксисом и конструкциями с неочевидной семантикой - достаточно вспомнить сверхперегруженную значениями открывающую фигурную скобку в С++, использование ключевых слов в качестве идентификаторов в PL/I или проблемы отличия описателей видов от операций в Алголе 68. Все эти языковые особенности затрудняют написание компиляторов и служат источником труднонаходимых ошибок при создании программ. На другом полюсе этой проблемы находится язык Паскаль, в котором в целях упрощения было решено пожертвовать даже очевидно удобными для программиста свойствами.
C# занимает некоторую промежуточную позицию: из стандарта языка убраны наиболее неприятные и неоднозначные особенности С++, но в то же время язык сохранил мощные выразительные возможности, присущие для таких языков, как С++, Java или VB.
Visual Studio 2008 – дальнейшее развитие получившей широкое распространение среды разработки приложений для .NET Framework предыдущего поколения (Microsoft Visual Studio 2005). Новая среда разработки позволяет создавать и использовать сервисы приложений, строить ASP.NET Web сайты с дополнительными возможностями, создавать внешне привлекательные настольные приложения с расширенной функциональностью, разрабатывать описание бизнес процессов, создавать сервисы и усовершенствовать приложения Microsoft Office.
Visual Studio 2008 содержит набор новых утилит, полезные усовершенствования, новые дизайнеры и визуальные редакторы. Основная задача всех изменений – уменьшение времени разработки приложений с использованием новейших технологий, включенных в .NET Framework 3.0, 3.5.
Рисунок 4.2 - Диаграмма классов
Основные изменения языков программирования C# и VB.NET
- LINK (Language Integrated Query) – язык запросов к различным структурам данных, среди которых можно выделить
- Запросы к объектам
- Запросы к базам данных
- Запросы к XML
- Запросы к пользовательским типам данных
- Создание LINK потребовало изменений в языках программирования, введения новых синтаксических конструкций, среди которых
- Инициализаторы объектов
- Анонимные типы данных
- Расширяющие методы
- Лямбда выражения
- Расширяющие методы как средство добавления новых методов к существующим классам без их перекомпиляции
- Основы функционального программирования - лямбда операторы и лямбда выражения, как новый, декларативный способ описания делегатов
Все языковые изменения не затрагивают стандарта промежуточного языка MSIL и исполняющей системы CLR, новые синтаксические конструкции компилируются в существующие операторы языка MSIL.
Построение Web приложений с помощью Visual Studio 2008
Рисунок 4.3 - Вспомогательные окна
- Интегрирование технологии AJAX с .NET Framework без дополнительно инсталлирования внешних библиотек
- Встроенные шаблоны для создания AJAX ASP.NET Web сайтов
- Новые элементы управления, берущие на себя основные технические сложности при использовании AJAX
- Возможность подключения ASP.NET AJAX Toolkit, как штатного средства при построении Web приложений
- Новые элементы управления, позволяющие применять технологию LINK
- Новые визуальные редакторы и режимы их функционирования
- Добавления возможностей Intellisence и отладки при работе с JavaScript
Новые технологии построения приложений
- Windows Presentation Foundation (WPF) – новая технология построения настольных Windows приложений с богатым графическим интерфейсом
- Использование двумерной и трехмерной графики, мультимедиа, включая анимацию и преобразование элементов управления, использование векторной графии и возможностей DirectX
- Новая номенклатура элементов управления для построения приложений
- Декларативный язык описания структуры объектов - XAML, как новый способ описания графического интерфейса и его характеристик
- Визуальный редактор совместно с редактором XAML для создания эффектных приложений
- Windows Workflow Foundation (WF) – новая технология описания реактивных процессов
- Построение описания бизнес процессов (workflow) , интегрирующих различные типы процессов в рамках единого описания
- Визуальные редакторы построения описания процессов
- Встроенный набор типовых элементов управления для описания процессов
- Windows Communication Foundation (WCF) – новая технология для построения и использования сервисов на основе концепции Service Oriented Architecture (SOA)
- Объединенное описание создания и использования
- Web сервисов
- .NET Remoting
- Web service Enhancements (WSE)
- Использование стандартов WS-*
- Использование произвольных транспортных протоколов
- Поддержка JavaScript Object Notation (JSON) сериализации, интеграция с ASP.NET AJAX Web приложениями
- Создание сервисов с использованием процессов WF
- Объединенное описание создания и использования
5 Структура и алгоритмизация базы данных
Передо мной стоит задача – создать удобную программу для предприятия с помощью которой различные подразделения могли получать информацию в удобной для них форме, а также составлять заявки на решение тех или иных проблем:
· Получать сведения о технике и программном обеспечении в краткой либо полной форме;
· Заносить информацию о новых поступлениях новой техники, а также нового программного обеспечения и др.
· Редактировать имеющуюся информацию, например изменение инвентарного номера, место расположения, установленного программного обеспечения и тд.
· Получать выходные документы установленного образца, например заявка на ремонт и заправку печатающей техники, акт на списание техники, акт на установку программного обеспечения, состояние ПЭВМ в сети.
В виду того, что база данных, в которой храниться вся информация может находиться как в локальной, так и глобальной сети, например, она, может находиться на сайте, то во время установки и настройки клиентской программы администратор системы выполняет первичную настройку системы при которой указывает сервер базы данных а также информацию аутентификации.
В целом, написанная программа отвечает всем заявленным требованием и удобна для работы в связи с интуитивно понятным интерфейсом.
5.1 Образцы бланков выходных документов
Выходными документами являются различные технические паспорта, отчёты об установленном программном обеспечении, отчёт о ремонтах и заправках печатающей техники, заявки на ремонт и заправку, а также акты на списание техники. Все они соответствуют государственным стандартам о ведении документа оборота на предприятии, а также уставу организации.
Рисунок 5.1 – Заявка на заправку
Рисунок 5.2 – Заявка на ремонт
5.2 Выбор инструментальной среды разработки
При определении инструментальных сред разработки программного обеспечения существенными представляются следующие критерии выбора:
- операционными оболочками для программного комплекса будут являться ОС Windows;
- работа комплекса должна быть максимально автоматизирована, предоставляя пользователю максимально удобный интерфейс контроля и настройки;
- инструментальная среда должна обладать развитыми средствами отладки;
- должны быть представлены мощные и гибкие средства времени разработки (такие как библиотеки стандартных компонентов, браузеры объектов, баз данных и т. д.).
Исходя из этих критериев, для создания программного комплекса решено было использовать следующие среды разработки:
- Microsoft VisualStudio 2008 фирмы Microsoft. Visual C# сделала разработку мощных приложений Windows быстрым процессом. Приложения Windows, для создания которых требовалось большое количество человеческих усилий, например на Pascal`е или чистом С, теперь могут быть написаны одним человеком, использующим Visual C#.
- Microsoft SQL Server 2008. Сервера баз данных, обеспечивает возможность одновременной работы нескольких пользователей с одним информационным пространством, при этом система не нуждается в постоянном контроле системным администратором , предоставляет очень удобный и эффективный интерфейс доступа к базам данных.
5.3 Постановка задачи
Свою выпускную работу я написал в среде программирования Microsoft VisualStudio. До написания своей выпускной работы я: изучил возможность Microsoft VisualStudio, собрал материал для написания дипломной работы, после этого разработал свой выпускной проект. В разработанной мною базе данных храниться вся информация о устройствах вывода на печать (принтерах, ксероксах, мультифункциональных устройствах), о программном обеспечении и парке персональных компьютеров.
Microsoft VisualStudio 2008 – это интегрированная среда для разработки приложений под Windows, включающая следующие компоненты:
· Высокопроизводительный компилятор с языка высокого уровня в машинный код;
· Объектно-ориентированные модули и компоненты;
· Визуальное построение приложений из прототипов;
· Средства построения баз данных.
Компилятор, встроенный в Microsoft VisualStudio, обеспечивает высокую производительность, необходимую для построения приложений в архитектуре клиент/сервер. Этот компилятор в настоящее время является самым быстрым в мире (неофициальные данные). Он предлагает лёгкость разработки и быстрое время проверки готового программного блока, характерного для языков четвёртого поколения (4GL) и в то же время обеспечивает качество кода, характерного для компилятора 3GL.
Визуальное конструирование форм избавляет программиста от многих аспектов разработки интерфейса программы, так как Microsoft VisualStudio автоматически готовит необходимые программные заготовки и соответствующий файл ресурсов. Библиотека визуальных компонентов предоставляет программисту огромное разнообразие созданных разработчиками Microsoft VisualStudio программных заготовок, которые немедленно или после несложной настройки готовы к работе в рамках программы.
Использование компонентов не только во много раз уменьшает сроки разработки программ, но и существенно снижает вероятность случайных программных ошибок, от которых, увы, не защищен ни один крупный программный проект.
Microsoft VisualStudio оснащена средствами прогона и отладки программы, которые доведены до совершенства.
5.4 Условия применения программного средства
Для надежной и быстрой работы системы клиента необходима конфигурация со следующими характеристиками:
· Pentium IV 1000 MHz;
· ОЗУ 128Мб;
· Жестким диском 10Гб;
· Видео картой SVGA;
· Сетевой платой подключённой к сети (желательно дублированной).
Для надежной и быстрой работы системы клиента необходима конфигурация со следующими характеристиками:
· Pentium IV 2000 MHz;
· ОЗУ 1024Мб;
· Жестким диском 40Гб;
· Видео картой SVGA;
· Сетевой платой подключённой к сети.
5.5 Алгоритм работы программы
На рисунке 5.3 представлен алгоритм работы программы.
Рисунок 5.3 - Алгоритм работы программы
5.6 Информационные потоки в системе
На рисунке 5.4 представлена схема информационных потоков в подсистемах.
Рисунок 5.4 - Схема информационных потоков
5.7 Общие сведения о программном обеспечении
Ядром программного комплекса является база данных находящаяся на сервере Microsoft SQL Server 2008 Enterprise Edition. Эта база данных состоит из 5 таблиц которые содержат различные данные, как общие сведения о структуре предприятия, так и данные касающиеся непосредственно технических и программных средств. Далее будут приведены структуры таблиц базы данных.
Таблица 5.1 - Отдел
|
Таблица 5.2 - Корпуса
ID |
nchar(40) |
Индивидуальный номер |
City |
nchar(70) |
Город |
Street |
nchar(80) |
Улица |
Litter |
nchar(70) |
Литер |
Comments |
nchar(120) |
Коментарии |
Build |
Int |
Здание |
Number |
Int |
Номер |
Таблица 5.3 - Принтеры
ID |
nchar(40) |
Индивидуальный номер |
P_firm |
nchar(60) |
Производитель |
P_model |
nchar(100) |
Модель |
P_Iface |
nchar(10) |
Интерфейс |
P_klass |
nchar(10) |
Класс |
P_type |
nchar(15) |
Тип |
P_toner |
nchar(10) |
Номер тонера |
P_Kart |
nchar(10) |
Номер картриджа |
P_Speed |
Int |
Скорость |
P_Color |
Bool |
Цветность |
P_Comment |
Nchar(120) |
Комментарий |
Таблица 5.4 – Привязка принтера
ID |
nchar(40) |
Индивидуальный номер |
P_ID |
nchar(40) |
ID принтера |
D_ID |
nchar(40) |
ID отдела |
Эти таблицы отражают полною структуру базы данных задействованную в проекте, а также поясняют значение всех полей этой базы. Эти сведения могут быть использованы программистами которые захотят дополнить или расширить функциональность системы.
Данный комплекс построен по модульной структуре большинство модулей имеет сходные типы поэтому далее будут описаны основные из них. Первый модуль который видит пользователь это система отображающая полную информацию об имеющихся печатающих устройствах, а также их полное техническое описание при необходимости.
Рисунок 5.5 – Главное окно АСУ
Неполный листинг:
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" MinHeight="21" />
<RowDefinition/>
<RowDefinition Height="Auto" MinHeight="22" />
</Grid.RowDefinitions>
<Menu Grid.Row="0" HorizontalAlignment="Stretch">
<MenuItem Header="Файл">
<MenuItem Header="Экспорт XML"/>
<MenuItem Header="Импорт XML"/>
<MenuItem Header="Печать"/>
<Separator/>
<MenuItem Header="Выход" Click="Close_Click"/>
</MenuItem>
<MenuItem Header="Справочники">
<MenuItem Header="Корпуса" Click="S_Korpus_Click"/>
<MenuItem Header="Подразеления" Click="S_Depart_Click"/>
<MenuItem Header="Печ. техника" Click="S_Tech_Click"/>
</MenuItem>
<MenuItem Header="Задачи">
<MenuItem Header="Учёт" Click="Uchet_Click"/>
<MenuItem Header="Заправка" Click="Zaprav_Click"/>
<MenuItem Header="Ремонт"/>
<MenuItem Header="Перемещения" Click="Move_Click"/>
</MenuItem>
<MenuItem Header="Отчёты">
<MenuItem Header="Заправка"/>
<MenuItem Header="Ремонт"/>
<MenuItem Header="Перемещения"/>
<MenuItem Header="Сводный отчёт"/>
</MenuItem>
<MenuItem Header="Справка">
<MenuItem Header="Спарвка..."/>
<MenuItem Header="О программе..."/>
</MenuItem>
</Menu>
String All_Record = "SELECT T_Department.name, T_Printer.inventar, T_Prn_Modern.p_id , T_Prn_Modern.m_type, T_Prn_Modern.m_date_z, " +
" T_Prn_Modern.m_copy, T_Prn_Modern.comments, T_Prn_Modern.m_price, T_Prn_Modern.m_firm, T_Prn_Modern.m_made,"+
" T_Prn_Modern.id, T_S_Printer.p_firm, T_S_Printer.p_model"+
" FROM T_Prn_Modern INNER JOIN"+
" T_Printer ON T_Prn_Modern.p_id = T_Printer.id INNER JOIN"+
" T_S_Printer ON T_Printer.p_id = T_S_Printer.id INNER JOIN"+
" T_Department ON T_Printer.d_id = T_Department.id WHERE T_Prn_Modern.m_made='False' AND T_Printer.active='True'";
private static DataTable m_orders;
private SqlDataAdapter adapter;
SqlConnection conn;
private void UpdateView()
{
SqlCommand comd = new SqlCommand();
comd.CommandText = All_Record;
comd.Connection = conn;
adapter.SelectCommand = comd;
DataSet dataset = new DataSet();
adapter.Fill(dataset, "T_Prn_Modern");
m_orders = dataset.Tables["T_Prn_Modern"];
DGC_Main.ItemsSource = m_orders.DefaultView;
}
...
Следующие модули представляют собой формы для заполнения справочных данных, а также ведения учёта. Этим модули позволяют взаимодействовать в удобной форме с базой данных, а также составлять отчёт необходимые для функционирования системы.
Рисунок 5.6 – Модуль работы с подразделениями
Рисунок 5.7 – Модуль перемещения техники
Неполный листинг формирования данных и интерфейса:
...
<Window x:Class="ASU_Tech.W_Depart"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:ASU_Tech"
Title="Справочник подразделений" Height="266" Width="644">
<Window.Resources>
<Style TargetType="{x:Type TextBlock}">
<Setter Property="FontWeight" Value="Bold"/>
<Setter Property="FontFamily" Value="Times New Roman"/>
</Style>
<local:KorpNameConvertor x:Key="KorpNameConvertor"></local:KorpNameConvertor>
<local:StKorpNameConvertor x:Key="StKorpNameConvertor"></local:StKorpNameConvertor>
</Window.Resources>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="Auto" MinWidth="3" />
<ColumnDefinition Width="2*"/>
</Grid.ColumnDefinitions>
<GridSplitter Grid.Column="1" ResizeBehavior="PreviousAndNext" ResizeDirection="Columns" Width="3" VerticalAlignment="Stretch" />
<ListBox Margin="3,3,3,3" rel="nofollow">
<Grid Grid.Column="2" DataContext="{Binding ElementName=LB_Depart, Path=SelectedItem}">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<TextBlock Text="Название" Margin="3" Grid.Column="0" Grid.Row="0" HorizontalAlignment="Center" VerticalAlignment="Center"/>
<TextBlock Text="Тип" Margin="3" Grid.Column="0" Grid.Row="1" HorizontalAlignment="Center" VerticalAlignment="Center"/>
<TextBlock Text="Корпус" Margin="3" Grid.Column="0" Grid.Row="2" HorizontalAlignment="Center" VerticalAlignment="Center"/>
<TextBlock Text="Аудитория" Margin="3" Grid.Column="0" Grid.Row="3" HorizontalAlignment="Center" VerticalAlignment="Center"/>
<TextBlock Text="Руководитель" Margin="3" Grid.Column="0" Grid.Row="4" HorizontalAlignment="Center" VerticalAlignment="Center"/>
<TextBlock Text="Внут. тел." Margin="3" Grid.Column="0" Grid.Row="5" HorizontalAlignment="Center" VerticalAlignment="Center"/>
<TextBlock Text="Внеш. тел." Margin="3" Grid.Column="0" Grid.Row="6" HorizontalAlignment="Center" VerticalAlignment="Center"/>
<TextBox rel="nofollow">
<ComboBoxrel="nofollow">
</ComboBox>
<ComboBoxrel="nofollow">
<ComboBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Path=Number, Converter={StaticResource KorpNameConvertor}}"></TextBlock>
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
<TextBoxrel="nofollow">
<TextBoxrel="nofollow">
<TextBoxrel="nofollow">
<TextBoxrel="nofollow">
</Grid>
</Window>
...
Следующий модуль позволяет регистрировать новые печатающие устройства. Этот модуль использовать функции автозаполнения, чтобы заполнив некоторые поля один раз пользователь мог использовать эти данные вводя только первые буквы .
Рисунок 5.8 - Модуль регистрации принтера
Неполный листинг модуля:
...
<Window.Resources>
<Style TargetType="{x:Type TextBlock}">
<Setter Property="FontWeight" Value="Bold"/>
<Setter Property="FontFamily" Value="Times New Roman"/>
</Style>
<local:PrnNameConverter x:Key="PrnNameConverter"></local:PrnNameConverter>
</Window.Resources>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" MinHeight="28" />
<RowDefinition Height="Auto" MinHeight="28" />
<RowDefinition Height="Auto" MinHeight="28" />
<RowDefinition Height="Auto" MinHeight="28" />
<RowDefinition Height="Auto" MinHeight="22" />
<RowDefinition Height="Auto" MinHeight="28" />
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" MinWidth="85" />
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<TextBlock Grid.Row="0" Grid.Column="0" Text="Отдел" Margin="3" HorizontalAlignment="Center"/>
<TextBlock Grid.Row="1" Grid.Column="0" Text="Принтер" Margin="3" HorizontalAlignment="Center"/>
<TextBlock Grid.Row="2" Grid.Column="0" Text="Инв. номер" Margin="3" HorizontalAlignment="Center"/>
<TextBlock Grid.Row="3" Grid.Column="0" Text="Поставщик" Margin="3" HorizontalAlignment="Center"/>
<TextBlock Grid.Row="4" Grid.Column="0" Text="Дата поставки" Margin="3" HorizontalAlignment="Center"/>
<TextBlock Grid.Row="5" Grid.Column="0" Text="Гарантия" Margin="3" HorizontalAlignment="Center"/>
<Button Margin="3" Grid.Row="6" Width="Auto" Height="Auto" HorizontalAlignment="Left" MinWidth="75" MaxHeight="30" Click="Cancle_Click">Отмена</Button>
<Button Margin="3" Grid.Row="6" Grid.Column="1" Width="Auto" Height="Auto" HorizontalAlignment="Right" MinWidth="75" MaxHeight="30" Click="Accept_Click">Принять</Button>
<ComboBox Margin="3" Grid.Row="0" Grid.Column="1" rel="nofollow">
<ComboBox Margin="3" Grid.Row="1" Grid.Column="1" rel="nofollow">
<ComboBox.ItemTemplate>
<DataTemplate>
<TextBlock DataContext="{Binding}">
</TextBlock>
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
<ComboBox Margin="3" Grid.Row="3" Grid.Column="1" rel="nofollow">
<TextBox Margin="3" Grid.Row="2" Grid.Column="1" rel="nofollow">
<xcdg:DatePicker Grid.Column="1" Grid.Row="4" Margin="3" rel="nofollow">
<xcdg:MaskedTextBox Mask="00" Grid.Column="1" Grid.Row="5" Margin="3,3,3,3" rel="nofollow">
</Grid>
</Window>
...
Этот модуль даёт представление о структуре и функциях применяемых в разрабатываемой системе. Следующий модуль это проект, позволяющий удалённо получать различные данные, а также экспортировать полученные данные в удобный для пользователя вид путём применения XML и XLST, что в свою очередь позволит передавать полученные данные другим программ для анализа и последующей обработки.
Основными частями этого модуля являются так называемые сенсоры сбора данных:
· Общие сведения
· Детальные сведения
· Программное обеспечение
· Логические диски
Для функционирования этих модулей был разработан ряд классов о которых более детально можно прочесть в руководстве программиста.
Рисунок 5.9- Модуль по удалённому сбору данных и мониторингу
Рисунок 5.10 - Вывод данных об установленном ПО.
Неполный листинг модуля:
...
private void GetProductInfo(ManagementScope scope)
{
ObjectQuery query = new ObjectQuery("SELECT Version,InstallDate,name FROM Win32_Product");
ManagementObjectSearcher searcher = new ManagementObjectSearcher(scope, query);
ManagementObjectCollection queryCollection = searcher.Get();
LV_Data.Items.Clear();
LV_Data.Columns.Clear();
LV_Data.Columns.Add("Название");
LV_Data.Columns[0].Width = 280;
LV_Data.Columns.Add("Дата установки");
LV_Data.Columns[1].Width = 90;
LV_Data.Columns.Add("Версия");
LV_Data.Columns[2].Width = 85;
foreach (ManagementObject m in queryCollection)
{
ListViewItem litem = new ListViewItem(m["name"].ToString());
litem.SubItems.Add(String.Format("{0}.{1}.{2}", m["InstallDate"].ToString().Substring(0, 4), m["InstallDate"].ToString().Substring(4, 2), m["InstallDate"].ToString().Substring(6, 2)));
litem.SubItems.Add(m["Version"].ToString());
LV_Data.Items.Add(litem);
litem = (ListViewItem)litem.Clone();
litem.SubItems.Clear();
}
}
private void GetMainInfo(ManagementScope scope)
{
ObjectQuery query = new ObjectQuery("SELECT * FROM Win32_OperatingSystem");
ManagementObjectSearcher searcher = new ManagementObjectSearcher(scope, query);
ManagementObjectCollection queryCollection = searcher.Get();
LV_Data.Items.Clear();
LV_Data.Columns.Clear();
LV_Data.Columns.Add("Имя ПК");
LV_Data.Columns[0].Width = 50;
LV_Data.Columns.Add("Каталог Windows");
LV_Data.Columns[1].Width = 100;
LV_Data.Columns.Add("Название");
LV_Data.Columns[2].Width = 155;
LV_Data.Columns.Add("Версия");
LV_Data.Columns[3].Width = 85;
LV_Data.Columns.Add("Производитель");
LV_Data.Columns[4].Width = 135;
foreach (ManagementObject m in queryCollection)
{
ListViewItem litem = new ListViewItem(m["csname"].ToString());
litem.SubItems.Add(m["WindowsDirectory"].ToString());
litem.SubItems.Add(m["Caption"].ToString());
litem.SubItems.Add(m["Version"].ToString());
litem.SubItems.Add(m["Manufacturer"].ToString());
LV_Data.Items.Add(litem);
}
}
...
Все эти модули дают полное представление о разработанном проекте, а также позволяет проследить общую связанную между собой структуру. При разработке этих модулей были применены современные технологии и компоненты далее я приведу краткое описание основных технологий которые помогли создать это программное обеспечение.
5.8 Защита программного продукта
Любой разработчик, занимающийся разработкой коммерческих приложений, рано или поздно сталкивается с проблемой организации защиты приложения от копирования и взлома. Как правило, разработка качественной системы защиты своими силами - процесс достаточно сложный и трудоемкий. Поэтому большинство разработчиков стараются выбрать более простое и быстрое решение - воспользоваться готовыми модулями системы защиты.
Рисунок 5.11 - Схема .NET кода
В подавляющем большинстве случаев защита строится на основе использования файлов лицензии или серийных номеров. Пользователю предоставляется пробная версия программы, содержащая ряд ограничений. Например, в программном обеспечении, разработанном мною в пробной версии ограничена функциональность печати, время работы и количество запусков. После того как пользователь попробует программу в действии, решит, что она ему подходит, и оплатит ее, пользователь высылается файл лицензии высылают. При наличии такого файла программа начинает работать как полнофункциональная. Свободное распространение файлов лицензии ограничивается. В моём проекте файл генерируется с привязкой к "железу" компьютера пользователя так, чтобы ими нельзя было воспользоваться на других компьютерах. Одновременно система защиты применяет кодирование и шифрование данных, чтобы усложнить хакеру взлом программы и отключение привязки к файлу лицензии. Разнообразных вариаций такой защиты может быть великое множество, но общий принцип примерно один и тот же.
Реализация такой схемы лицензирования является нетривиальной задачей и сама по себе имеет много нюансов. Однако защита моего программного продукта, написанного под Microsoft .Net, этим не ограничивается. Помимо привязки к файлу лицензии и защиты от копирования необходимо еще защитить исходные коды приложения от просмотра. Как известно, в отличие от традиционных Windows-приложений, которые при компиляции преобразуются в низкоуровневый машинный код, NET-приложения компилируются в машинно-независимый язык Common Intermediate Language. Если приложение никак не защитить, то с помощью специальных инструментов типа .NET Reflector можно за несколько минут выполнить декомпиляцию и восстановить исходный код приложения в пригодном для изучения виде.
Задачу защиты исходного кода программы от изучения посторонними личностями решают специальные программы - обфускаторы. Обфускаторы усложняют исходные коды программы, запутывают его, делают более трудными для понимания, но при этом сохраняют функциональность работоспособной. Хорошие обфускаторы применяют, кроме этого, разнообразные методы, затрудняющие или делающие невозможным декомпиляцию кода.
Программный продукт .Net Reactor, выпускаемый компанией Eziriz e.K., содержит все необходимые мне средства защиты Net-приложений. Реализованная в нем технология NecroBit защищает приложение от декомпиляции путем смешивания управляемого и машинного (native) кода. .Net Reactor содержит средства обфускации классов, типов и переменных, дополненные шифрованием строк, использованием непечатных символов при обфускации имен и даже возможностью обфускации графа потока управления. Продукт реализует развитую схему лицензирования приложений. И, что особенно немаловажно, .Net Reactor стоит гораздо дешевле большинства альтернативных средств защиты, о чем разработчики прямо заявляют на страницах своего сайта.
Для реализации защиты в своей программе я сгенерировал частичные классы с помощью вышеописанной программы, что позволило мне наложить защиту на моё приложение не нарушаю его целостности. Интерфейс данной программы удобный и интуитивно понятный. Классы генерируются с помощью мастера за несколько шагов.
На первом шаге необходимо указать режим защиты, выбрать основную защищаемую сборку и опционально дополнительные сборки, указать, требуется ли использовать защиту от декомпиляции NecroBit и обфускацию.
Рисунок 5.12 - Главное окно .Net Reactor |
.Net Reactor поддерживает два режима защиты: защита библиотеки и защита приложения. Если выбран режим защиты приложения, то дополнительные сборки объединяются вместе с основной в один файл. В режиме защиты библиотеки дополнительные сборки могут либо защищаться каждая отдельно, либо объединяться с основной сборкой. Кроме того, при защите в режиме библиотеки сборка защищается таким образом, чтобы ее можно было в дальнейшем использовать из других приложений.
На втором шаге осуществляется более тонкая настройка параметров защиты, включающая, в частности, следующие возможности:
· включить компрессию кода сборки;
· включить поддержку Compact Framework;
· настроить параметры обфускации - указать уровень обфускации графа потока управления, разрешить использование непечатных символов в обфусцированных именах, запретить обфусцирование открытых типов сборки и т. д.;
· включить режим шифрования строк;
· указать параметры подписи сборки строгим именем.
Кроме того, на втором шаге задается поведение приложения в отсутствии файла лицензии. Другими словами, задаются параметры демонстрационного (пробного, "триального") режима работы приложения.
Рисунок 5.13 - Настройки параметров защиты в .Net Reactor |
.Net Reactor позволяет установить множество различных ограничений на демонстрационный режим работы приложения:
· количество дней, в течение которых работает демонстрационная версия;
· фиксированное количество минут, после истечения которых приложение автоматически закрывается;
· фиксированная дата окончания действия демонстрационной версии;
· максимальное количество запусков демонстрационной версии;
· максимальное количество одновременно запущенных экземпляров приложения.
Для реализации защиты была задана произвольная комбинация ограничений и указано, в каком именно случае демонстрационная версия должна прекратить функционировать - лишь после срабатывания всех указанных ограничений. Также включен режим показа при запуске приложения nagscreen и указано, с какого дня использования демонстрационной версии они будут показываться. Была задана команда, которая должна выполняться после закрытия демонстрационного приложения после прекращения его функционирования - это открытие веб-странички, на которой объясняется, как приобрести полнофункциональную версию.
Третий шаг - настройка менеджера лицензий. Здесь указывалось ограничения при работе приложения, которые будут применяться, когда имеется файл лицензий. То есть если файл лицензии отсутствует, то используется набор ограничений, указанный на втором шаге. Если присутствует - то набор, указанный на третьем шаге. Переключение между одним и другим набором ограничений .Net Reactor выполняет автоматически. Таким образом, для того чтобы демонстрационная версия превратилась в полнофункциональную, пользователю достаточно поместить в директорию приложения файл лицензии.
Рисунок 5.14 - Настройки менеджера лицензий .Net Reactor |
В наборе ограничений на третьем шаге присутствует дополнительное ограничение Hardware lock. С его помощью были созданы файлы лицензии, привязанные к конкретному компьютеру. Привязка осуществляется на основе произвольной комбинации идентификаторов "железа" компьютера - системной платы, CPU, жесткого диска, сетевой карты.
В настройках менеджера лицензий присутствует еще один любопытный пункт - флаг Individual Licensing Behaviour. Если пользователь получил от меня два файла лицензии с ограничением на 10 запусков. Если этот флаг включен, то у пользователя будет возможность запустить приложение 20 раз. Если выключен - то только десять.
Последний шаг - это собственно генерация классов защиты. Весь процесс полностью автоматизирован и занимает несколько секунд. В той директории, в которой размещена основная защищаемая сборка, .Net Reactor создает поддиректорию и помещает в нее все необходимые для сборки файлы и конфигурационные скрипты, после чего они включаются в проект и могут использоваться для полноценной компиляции всего приложения, либо отдельных его модулей.
Рисунок 5.15 -Процесс генерации классов |
.Net Reactor позволяют реализовать схему активации по телефону. По команде Phone Activation System .Net Reactor создает два файла - client.exe и server.exe. Утилита client.exe выдает код привязки к "железу". Утилита server.exe генерирует ответный код. При вводе ответного кода утилита client.exe создает файл лицензии.
Рисунок 5.16 -Реализация системы активации по телефону |
.Net Reactor предоставляет весьма полезную возможность включать в файл лицензии произвольную пользовательскую информацию в виде списка пар "ключ - значение". Приложение может получить доступ к этой информации через функции SDK.
С помощью функций SDK также можно определить текущий статус лицензии в процессе работы приложения, извлечь уникальный идентификатор, с помощью которого осуществляется привязка к "железу", сделать файл лицензии недействительным при переносе приложения с одного компьютера на другой и даже организовать собственную систему активации. Ряд подобных функций продублирован в .Net Reactor в виде отдельных инструментов, доступных через меню приложения.
Рисунок 5.16 - Инструменты |
.Net Reactor может интегрируется с Microsoft Visual Studio и работет в режиме командной строки.
Рисунок 5.17 - Окно плагина .Net Reactor в Visual Studio 2008 |
5.9 Архитектура удалённого опроса и занесения в БД
При разработке программного продукта возникла необходимость удалённого опроса ПЭВМ об установленном аппаратном и программном обеспечение. После проведения анализа и выбора оптимального решения, в своём проекте я использовал технологию WMI.
Архитектура технологии WMI состоит из указанных ниже аспектов:
· Инфраструктура управления - сюда включен диспетчер объектов CIM, который предоставляет приложениям стандартизированный доступ к данным управления, а также центральное хранилище для данных управления, которое называется репозиторием диспетчера объектов CIM.
· Поставщики WMI - являются посредниками между диспетчером объектов CIM и управляемыми объектами. С помощью интерфейсов API WMI поставщики обеспечивают диспетчер объектов CIM данными, полученными от управляемых объектов, обрабатывают запросы от лица приложений управления и создают уведомления о событиях.
Инфраструктура управления состоит из диспетчера объектов CIM и репозитория диспетчера объектов CIM. Приложения зависят от диспетчера объектов при обработке интерфейса между приложениями управления и поставщиками данных. Инструментарий WMI облегчает эту связь, предоставляя общий интерфейс программирования для служб управления Windows с помощью COM. Этот интерфейс API COM обеспечивает службы уведомления о событиях и обработки запросов и может быть использован в нескольких средах программирования, таких как C и C++. Репозиторий диспетчера объектов CIM содержит схемы CIM и расширения, а также сведения о данных и источнике данных. Диспетчер объектов CIM использует данные схемы в этом репозитории при обработке запросов из приложений управления для управляемых объектов.
Управляемые объекты - это физические или логические компоненты предприятия, которые моделируются с помощью CIM. Например, управляемым объектом может быть оборудование, такое как кабель, или программное обеспечение, такое как приложение для работы с базами данных. Приложения управления могут получать доступ к объектам управления посредством диспетчера объектов CIM.
Приложения управления - это приложения или службы Windows, которые используются для обработки сведений, получаемых от управляемых объектов. Приложения управления могут получать доступ к сведениям управляемых объектов путем создания запроса диспетчера объектов CIM одним из методов интерфейса API WMI.
Поставщики WMI - это стандартные серверы COM и DCOM, которые работают как посредники между управляемыми объектами и диспетчером объектов CIM. Если диспетчер объектов CIM получает запрос от приложения управления, относящийся к данным, которые недоступны в репозитории диспетчера объектов CIM, или к уведомлениям о событиях, которые не поддерживаются диспетчером объектов CIM, диспетчер переадресует этот запрос поставщику WMI. Поставщики предоставляют данные и уведомления о событиях управляемым объектам, которые находятся в их домене.
Чтобы внедрить поставщика, необходимо использовать один из следующих поддерживаемых типов сервера:
• Службы Microsoft Windows 2008, локальные или удаленные.
• Стандартные исполняемые файлы (EXE), локальные или удаленные.
• Внутрипроцессные библиотеки динамической компоновки (DLL).
Обратите внимание, что локальные или удаленные службы Windows 2008 и стандартные исполняемые файлы являются рекомендованными типами серверов.
Инструментарий WMI поставляется со встроенными поставщиками (или стандартными поставщиками), которые предоставляют данные из таких источников, как системный реестр.
Также технология WMI предоставляет поддержку поставщиков сторонних производителей. Эти поставщики могут использоваться для обработки запросов, относящихся к управляемым объектам в определенной среде. Как правило, поставщики используют язык MOF для определения и создания классов. Поставщики используют интерфейс API инструментария WMI для доступа к репозиторию WMI и для ответа на запросы диспетчера объектов CIM, которые были сделаны приложениями.
В связи с тем что среда .NET не имеет встроенной базовой поддержки WMI, а использование коммерческих реализаций данной технологии не целесообразно было принято решение о написание собственной библиотеки обёртки для классов WMI необходимых в моём проекте. Реализация одного из классов приведена в Приложении 2, более полный листинг можно найти в прилагаемом исходном коде.
формулу 6 получим стоимость ПО равную 251 386 руб.
Процент прибыли от одной реализации ПО определяется из соотношения 6.7:
(6.7)
С учетом данных о стоимости комплекта программы, стоимости установки и частичной стоимости разработки, процент прибыли от одной установки может составить (для данной разработки) 10.5%.
Сумма прибыли от продажи каждой установки ПО рассчитывается, используя следующее соотношение (6.8):
(6.8)
где ННДС - процентная ставка налога на добавочную стоимость.
Если принять ставку налога на добавленную стоимость в 20% и учитывая стоимость программы, процент прибыли от установки и ставку налога на добавочную стоимость, сумма прибыли от каждой установки может составить 12 000 руб.
7 Безопасность жизнедеятельности
Рисунок 7.1 - Краткая техника безопасности
Работа компьютера связана с присутствием на рабочем месте человека – оператора, поэтому вопросы охраны труда будут рассматриваться с точки зрения обеспечения безопасных условий труда и условий труда, сохраняющих здоровье оператора, пользователя.
Правильная организация рабочего места очень важна, т.к. она позволяет значительно эффективнее использовать рабочее время, при этом уменьшая нагрузку на организм человека.
Рекомендуемое положение во время работы за компьютером
Рисунок 7.2 - Правильное положение при работе за компьютером
Основные правила:
· стул-кресло должен иметь возможность индивидуальной регулировки;
· расстояние до экрана - 60-70 см;
· пользователь должен смотреть на экран сверху вниз под углом 10° от горизонтальной линии;
· подставка под ноги.
При оборудовании рабочего места необходимо установить монитор на специальном столике так, чтобы задняя панель была обращена к стене (так как около нее зарегистрирован максимальный уровень напряженности электрического поля), экран не должен располагаться напротив окна или других прямых источников света, дающих блики на экране.
Стол, на котором устанавливается монитор, должен быть достаточной длины, чтобы расстояние до экрана составляло 60-70 (не ближе 50) см, и в то же время можно было работать с клавиатурой в непосредственной близости от пользователя (30-40 см). Конструкция рабочей мебели (столы, кресла, стулья) должна обеспечивать возможность индивидуальной регулировки соответственно росту работающего и создавать удобную позу. Часто используемые предметы труда должны находится в оптимальной рабочей зоне, на одном расстоянии от глаз работающего человека. На поверхности рабочего стола необходимо разместить подставку для документов, расстояние которой от глаз должно быть аналогичным расстоянию от глаз до клавиатуры. Рабочее кресло должно иметь подлокотники. На рабочем месте необходимо предусмотреть подставку для ног.
Для того чтобы устранить блики на экране, монитор должен быть установлен перпендикулярно столу, а пользователь должен смотреть на экран несколько сверху вниз (10° от горизонтальной линии).
Условия освещенности в комнате играют большую роль в сохранении зрительного комфорта. С одной стороны, ничто не должно мешать восприятию информации с экрана, с другой - пользователь должен хорошо видеть клавиатуру, бумажные тексты, которыми приходится пользоваться, а также общую обстановку и людей, с которыми приходится общаться при работе.
Удобное рабочее место с "Г-образным" столом.
Рисунок 7.3 - Удобное рабочее место
Общая освещенность в комнате не должна быть слишком большой, но и не слишком малой, она должна быть в пределах 300-500 люкс. Если помещение светлое, то окна должны иметь шторы или жалюзи. Рабочие места пользователей дисплеев желательно не располагать непосредственно у окон. Во всех случаях экран монитора следует ориентировать так, чтобы он не давал бликов, а именно - под углом к окну, близким к прямому. Искусственное освещение не должно быть слишком ярким. Но помимо общих ламп, освещающих комнату, необходима местная яркая (не менее 60 Вт) лампа с хорошим плотным абажуром, освещающая только текст, с которым работает пользователь. Она должна иметь возможность ориентации в разных направлениях и быть оснащена устройством для регулирования яркости. Лампы накаливания предпочтительнее люминесцентных, т.к. последние дают пульсирующий свет, в определенных условиях усиливающий мерцание экрана дисплея.
Линия взора параллельна окну
Рекомендуется
Рисунок 7.4 - Правильное расположение
Яркий свет в поле зрения
Не рекомендуется
Рисунок 7.5 - Неправильное расположение
Отражение света лампы от поверхности стола и клавиатуры
Не рекомендуется
Рисунок 7.6 - Неудобное отражение света лампы от поверхности стола
Блик от лампы на экране монитора
Не рекомендуется
Рисунок 7.7 - Блик от лампы на экране монитора
Правильное расположение монитора относительно стены и источника света
Рекомендуется
Рисунок 7.8 - Правильное расположение монитора относительно стены и источника света
Принцип должен быть ясен: как можно меньше света должно падать на экран дисплея.
Перед началом работы с монитором необходимо установить с помощью рукояток наиболее комфортные контрастность и яркость на экране. Они подбираются индивидуально, так как слишком низкая контрастность и высокая яркость могут приводить к быстрому утомлению.
При подборе светового режима на рабочем месте пользователя дисплея необходимо учитывать то, что у лиц после 40 лет возникают возрастные изменения в зрительной системе (сужение зрачка, пожелтение хрусталика, снижение зрительной активности и контрастной чувствительности сетчатки). Все это требует усиления яркости экрана и дополнительной освещенности рабочего места (бумажного текста). Пресбиопические очки для пользователей дисплеев должны быть несколько слабее, чем очки для чтения. Ведь в них надо четко видеть и экран (60-70 см от глаз), и текст (30-35 см от глаз). Если аккомодация совсем отсутствует, что бывает обычно после 60 лет, то иногда целесообразно корригировать один глаз для работы с экраном, а второй - для работы на расстоянии. У молодых лиц при зрительно-напряженной работе наибольшую нагрузку несет аккомодационная система глаза, которая во время работы находится в постоянном напряжении. Это может приводить к астенопическим явлениям, возникновению нарушений в аккомодационной системе глаза и, в конечном счете, к появлению и росту близорукости. Чтобы избежать этого, работа с экраном монитора должна проводиться с расстояния не менее 60-70 см, при этом напряжение аккомодации минимально.
У взрослых с близорукостью, которые постоянно носят очки, другие очки для работы с компьютером необходимы только в том случае, если в своих очках пользователь с трудом читает газетный шрифт с расстояния 60-70 см (до экрана) и 30-33 см (до печатного текста) от глаз. В случае если с одними и теми же линзами чтение с обоих расстояний невозможно, назначают бифокальные очки.
Перед началом работы следует убедиться в исправности электропроводки, выключателей, штепсельных розеток, при помощи которых оборудование включается в сеть, его работоспособности.
Для снижения или предотвращения влияния опасных и вредных факторов необходимо соблюдать санитарные правила и нормы. Гигиенические требования к видеодисплейным терминалам, персональным электронно-вычислительным машинам и организации. Во избежание повреждения изоляции проводов и возникновения коротких замыканий не разрешается: вешать что-либо на провода, закрашивать и белить шнуры и провода, закладывать провода и шнуры за газовые и водопроводные трубы, за батареи отопительной системы, выдергивать штепсельную вилку из розетки за шнур, усилие должно быть приложено к корпусу вилки.
Для исключения поражения электрическим током запрещается: часто включать и выключать компьютер без необходимости, прикасаться к экрану и к тыльной стороне блоков компьютера, работать на средствах вычислительной техники и периферийном оборудовании мокрыми руками, работать на средствах вычислительной техники и периферийном оборудовании, имеющих нарушения целостности корпуса, нарушения изоляции проводов, неисправную индикацию включения питания, с признаками электрического напряжения на корпусе, класть на средства вычислительной техники и периферийном оборудовании посторонние предметы.
Запрещается под напряжением очищать от пыли и загрязнения электрооборудование.
Запрещается проверять работоспособность электрооборудования в неприспособленных для эксплуатации помещениях с токопроводящими полами, а так же в сырых помещениях.
Недопустимо под напряжением проводить ремонт средств вычислительной техники и периферийного оборудования. Ремонт электроаппаратуры производится только специалистами-техниками с соблюдением необходимых технических требований.
Во избежание поражения электрическим током, при пользовании электроприборами нельзя касаться одновременно каких-либо трубопроводов, батарей отопления, металлических конструкций, соединенных с землей.
При обнаружении неисправности немедленно обесточить электрооборудование, оповестить администрацию. Продолжение работы возможно только после устранения неисправности.
При обнаружении оборвавшегося провода необходимо немедленно сообщить об этом администрации, принять меры по исключению контакта с ним людей. Прикосновение к проводу опасно для жизни.
Во всех случаях поражения человека электрическим током немедленно вызывают врача. До прибытия врача нужно, не теряя времени, приступить к оказанию первой помощи пострадавшему.
Необходимо немедленно начать производить искусственное дыхание, наиболее эффективным из которых является метод “рот в рот” или “рот в нос”, а также наружный массаж сердца.
Искусственное дыхание пораженному электрическим током производится вплоть до прибытия врача.
При возникновении пожароопасной ситуации или пожара персонал должен немедленно принять необходимые меры для его ликвидации, одновременно оповестить о пожаре администрацию. Если пожар приобрёл опасные для жизни размеры или вышел из-под контроля, необходима срочная эвакуация. Перед тушением пожара надо обязательно обесточить оборудование.
После окончания работы необходимо обесточить все средства вычислительной техники и периферийное оборудование. В случае непрерывного производственного процесса необходимо оставить включенными только необходимое оборудование.
При работе на компьютере в помещении следует выделить следующие вредные и опасные факторы:
· Метеорологические условия среды;
· Аномальное освещение;
· Высокий уровень шума;
· Повышенный уровень ионизирующего излучения;
· Опасность поражения электрическим током;
· Повышенные психофизиологические нагрузки;
· Пожароопасность.
Требования по влажности, предъявляемые к радиоэлектронной технике и нормы микроклимата, необходимые для нормальной жизнедеятельности человека различны. Это объясняется тем, что при эксплуатации ПЭВМ влажность воздуха в помещении согласно ГОСТам 12.1.005-86 должна быть одной (не более 40-60%), а влажность для оператора другой (не менее 70%). Поэтому, оптимальная влажность в лаборатории для оператора и ПЭВМ принята 50%. Пониженная влажность вызывает у человека ощущение сухости слизистых оболочек верхних дыхательных путей, ухудшает самочувствие и снижает работоспособность.
Высокая температура способствует быстрому утомлению оператора, может привести к перегреву организму, что вызывает тепловой удар. Низкая температура может вызвать местное или общее охлаждение организма, стать причиной простудного заболевания. Поэтому в качестве оптимального микроклимата для персонала, согласно ГОСТ 12.1.005-88, установлен микроклимат, отвечающий характеристикам: температура – 22-240 °С, относительная влажность – 40-60%, подвижность воздуха не более 0.1 м/с. Освещенность измеряется в люменах лк., и для искусственного освещения приняты норма освещенности на рабочей поверхности составляет 250-350 лк.
Шум, создаваемый одной ПЭВМ невелик, он находится в диапазоне 30-68 дб. Согласно ГОСТу 12.1.003-83 он должен не превышать уровня 40 дб. Также необходимо отметить, что в помещении используются принтеры, что также увеличивает уровень шума. Шум нарушает нервную систему; шумовые явления обладают свойством кумуляции: накапливаясь в организме, он все больше и больше угнетает нервную систему. Шум – причина преждевременного утомления, ослабления внимания, памяти.
Ионизирующими называются излучения, взаимодействие которых со средой приводит к образованию электрических зарядов разных знаков. К ионизирующим излучениям относятся: гамма-излучение, рентгеновское, корпускулярное, инфракрасное, микроволновое и другие виды излучений. Рентгеновское излучение на расстоянии 10 см. от монитора составляет не более 100 мкР/ч, а уровень ионизации обоих зарядов в диапазоне 1500-5000 на 1 см3 воздуха. Источником излучения в помещении, где пользуются компьютером, являются мониторы. При повышенном электромагнитном излучении у человека появляется головная боль, повышенная утомляемость, что снижает сосредоточенность работающего к работе, его внимание.
Излучение и поля радиочастотного диапазона регламентируются ГОСТ 12.1.006 – 84 («Электромагнитные поля радиочастот. Допустимые уровни на рабочих местах и требования к проведению контроля»).
Электрооборудование в учебном учреждении является одним из первых источников опасных факторов, поскольку основная масса оборудования в нем электрическое. Оборудование, находящееся в помещении питается от сети переменного тока напряжением 220 В и частотой 50 Гц. Поэтому персонал подвержен повышенному риску поражения электрическим током. Поражение током может произойти от неизолированной электропроводки, от корпуса системного блока, если на него произошел пробой электричества, при неосторожным обращении с оборудованием, его разборкой и т.п. Действие электрического тока на живую ткань носит своеобразный характер. Проходя через организм человека ток производит термическое (ожоги отдельных участков тела, нагрев внутренних органов до высокой температуры), электрическое (разложение органической жидкости, в том числе и крови), механическое (расслоение и другие подобные повреждения различных тканей организма) и биологическое (нарушение внутренних биоэлектрических процессов, протекающих в нормально действующем организме) действия.
Психофизиологические опасные и вредные факторы по характеру действия подразделяются на: физические (статические и динамические) и нервно-психические (умственное перенапряжение, перенапряжение анализаторов, монотонность труда и эмоциональные перегрузки). Персонал лаборатории наиболее подвержен воздействию статических вредных факторов (неизменное положение тела), перенапряжению анализаторов (долгое времяпровождение перед экраном). Чтобы не перенапрягать зрительные анализаторы оператор должен проводить у монитора не более 4 ч. в сутки, производить набор не более 30.000 символов.
Пожароопасность главным образом представлена оголенными токоведущими частями электропроводки, коротким замыканием проводки, перегрузки электросети, статическим электричеством. Что касается причин возникновения пожара не связанных с электричеством, то сюда можно отнести: неправильное устройство и эксплуатация отопительных систем (использование обогревателей), неисправность вентиляционных систем, неосторожное обращение с огнем персонала и др.
7.1 Мероприятия по защите от вредных и опасных факторов
Для нормализации воздуха в помещении следует использовать вентиляцию, как естественную, так и искусственную. К видам естественной вентиляции можно отнести неорганизованную естественную вентиляцию. Но использование такого вида вентиляции имеет ряд недостатков: воздух, поступающий в помещение, не подогревается и не увлажняется, поэтому в отделениях, где пользуются компьютером целесообразно применять механическую общую приточную вентиляцию, которая устраняет недостатки естественной. Для обеспечения соответствующей температуры в зимнее время следует использовать централизованное отопление, а в летнее – различные виды вентиляции.
Нормальное освещение обеспечивается путем рационального комбинирования и применения естественного и искусственного освещения. Правильного размещения монитора на рабочем месте относительно оконных проемов.
Для защиты от шума, создаваемого на рабочем месте оборудованием, целесообразно использовать следующие методы:
· Снижение шума в источнике его возникновения;
· Снижение шума на пути его распространения.
Так, для уменьшения шума создаваемого оборудованием, его необходимо располагать на специальных амортизирующих прокладках, помещение, в котором данное оборудование облицовывать звукопоглощающей плиткой.
Для защиты от ионизирующего излучения следует использовать: во-первых, источники с минимальным выходом ионизирующего излучения (электронно-лучевая трубка), во-вторых, ограничивать время работы с источником ионизирующего излучения и, в-третьих – экранирование источников.
Защита персонала от поражения электрическим током обеспечивается правильным размещением оборудования, правильным выполнением электропроводки, ее надежной изоляцией и выполнением требований по технике безопасности при работе.
Уменьшение влияния психофизиологических нагрузок на организм человека достигается путем правильного оформления рабочего места (согласно ГОСТ 122.032-78 и ГОСТ 21829-76), рационального распределения рабочего времени (через каждые 2 часа проведенные за ПЭВМ необходимо обеспечивать 10-15 минут отдыха), правильным цветовым оформлением (коэффициенты отражения должны быть: 60-70% для потолка, 40-50% для стен, 30% для пола, 30-40% для других отражающих поверхностей), обеспечением соответствующей настройки параметров терминального оборудования (контрастность изображения знака не менее 0,8; яркость освещения экрана не менее 10 kq/m2; разрешение экрана 640х480 и более; частота регенерации изображения не менее 72 МГц)
Пожарная безопасность в соответствии с ГОСТ 12.1.004-91 обеспечивается системами предотвращения пожара (использование заземления для защиты от статического напряжения, контроль состояния изоляции, молниезащита зданий, наличие плавких предохранителей в электрооборудовании), системами пожарной защиты (системы оповещения о пожаре, наличия первичных средств тушения пожара, аварийное отключение аппаратуры), организационно-техническими мероприятиями.
ЗАКЛЮЧЕНИЕ
В данной дипломной работе разрабатывался программный комплекс для предприятия, содержащий сведения об технике и программном обеспечении.
Были изучены наиболее популярные, имеющиеся на рынке программного обеспечения, разработки различных фирм, выявлены достоинства и недостатки этих систем и сделан вывод о актуальности разрабатываемой системы.
Изучена модель предметной области разрабатываемой системы, определены входные и выходные данные.
Выбрана и обоснована инструментальная среда разработки.
В соответствии с техническим заданием, описаны действия пользователей для установки программ, их использовании и настройки.
В соответствии с техническим заданием, оценена экономическая эффективность разрабатываемого программного комплекса.
В раздел «Безопасность жизнедеятельности» включен анализ основных опасностей и вредных факторов производства и разработаны мероприятия по организации рабочего места оператора ЭВМ.
Проведен обзор существующих подходов и программных реализаций средств автоматизации сбора, обработки и хранения учетной информации по различным параметрам ПЭВМ, а также по автоматизации работы техника. Выбрана форма реализации системы – оперативный информационный комплекс (ОИК), определены его функции и структура, а также особенности реализации информационного обеспечения.
Была разработана подсистема обмена информацией между двумя клиентскими приложениями распределенной базы данных.
Разработана база данных. Она обеспечивает:
· хранение информации о технике и программном обеспечении;
· удобный интерфейс пользователя.
Была создана удобная программа для предприятия, с помощью которой отдел информационных технологий:
· Получать сведений о имеющейся техники и заявках на её ремонт и обслуживание;
· Производить удалённый мониторинг программного и аппаратного обеспечения на ПЭВМ пользователей предприятия.
Была рассчитана экономическая выгода от внедрения данного программного продукта. Сам продукт, в качестве эксперимента, был внедрен на предприятии.
В целом, написанная программа отвечает всем заявленным требованием и удобна для работы. Все сотрудники, которые тестировали данную программу, оценили простоту и удобство при работе с ней.
Таким образом, все изложенные требования полностью удовлетворены. Программный комплекс успешно функционирует.
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ И ЛИТЕРАТУРЫ
1. Троелсен А. Программирвоание на языке С# 2008 [Текст] / А. Троелсен - : APRESS, 2008. - 1400 с.
2. Малкин, С. Microsoft .NET Remoting[Текст] / C. Малкин, Д. Нафтел : Microsoft Press Русская редакция Microsoft, 2005. – 384 с.
3. Финогенов, К.Г. WIN32 Основы программирования[Текст] / К.Г. Финогенов М.: Диалог - МИФИ, 2006. – 416 с.
4. Фаронов В.В. Система программирования С++ Builder. – СПб.: БХВ-Петербург, 2003. – 912 с.: ил.
5. Специалисты NIIT. Использование C#. Специальное издание Специалисты NIIT.– М.: Издательский дом «Вильямс», 2004 г. – 528 с.
6. Гарнаев, А.Ю. Самоучитель Visual Studio .NET 2003. А.Ю. Гарнаев - СПб.: БХВ - Петербург, 2003.- 688 с.
7. Троелсен, Э. «C# и платформа .NET. Библиотека программиста». Э. Троелсен. – СПб.: Питер, 2005. – 796 с.
8. Феррара, Ф. Программирование web-сервисов для .NET. Библиотека программиста. Ф. Феррара, Мак-Дональд М. – Киев: BHV; СПб.: Питер, 2005. – 430 с.
9. «Windows Server 2003. Для профессионалов». Вишневский Алексей Викторович. – СПб.: Питер, 2004. – 767 с.
10. Дейтел, Х. М. Как программировать для Internet и WWW. Х. М. Дейтел, П. Дж. Дейтел, Т. Р. Нието. Пер. с англ. – М.: ЗАО «Издательство БИНОМ», 2006 г. – 1184 с.
11. Гамильтон, Б. ADO.NET Сборник рецептов. Для профессионалов. Б. Гамильтон - СПб.: Питер, 2005 – 576 с.
12. Язык программирования SQL [Электронный ресурс] : Синтаксис языка SQL Режим доступа : http://www.sql.ru.
13. Сборник технической документации [Электронный ресурс] : Реализация блочного шифрования в .NET : http://www.msdn.microsoft.com.
14. Электронный журнал RSDN [Электронный ресурс] : Классы доступа к базам данных и безопастность Режим доступа : http://www.rsdn.ru.
15. Прог раммирование для всех [Электронный ресурс] : Реализация баз даных на Microsoft SQL Server 2005 Режим доступа : http://www.realcoding.net.