Разработка приложения для модификации системы регистрации и учета заявок
Программное получение номера звонящего абонента и отображение его на экране компьютера оператора. Передача полученного номера в систему "Итилиум" и его последующая обработка для поиска пользователя в справочнике. Выявление ошибок в разработанном проекте.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 09.07.2012 |
Размер файла | 1,2 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
1. Общая часть
1.1 О предприятии
Полное официальное наименование: федеральное государственное бюджетное образовательное учреждение высшего профессионального образования «Сибирский государственный индустриальный университет» (Siberian State Industrial University), сокращенное - СибГИУ (SibSIU).
Учредителем СибГИУ является Правительство Российской Федерации. Полномочия учредителя осуществляет Министерство образования Российской Федерации (далее Минобразование России).
Сибирский государственный индустриальный университет является одним из ведущих учебно-научных центров Западной Сибири. В настоящее время в университете обучается около 13 тыс. слушателей и студентов по 14 направлениям, 60 специальностям, 250 специализациям. СибГИУ готовит специалистов в области металлургии, горного дела, механики, машиностроения, строительства, энергетики, экономики, автоматизации, транспорта, экологии, информационных технологий, стандартизации и сертификации, химической технологии, социальной работы. Ученые университета выполняют значительный объем фундаментальных и прикладных научных исследований для развития науки и образования.
Университет ведет многоуровневую подготовку бакалавров, дипломированных специалистов и магистров на условиях планового и сверхпланового обучения в очной, очно-заочной (вечерней), заочной формах обучения и по программам, реализуемые в сокращенные сроки.
В структуре СибГИУ имеются факультет довузовской подготовки, заочный факультет, 6 институтов и 1 факультет дневного обучения, 52 кафедры, филиалы в других городах, а так же ряд отделов и служб. Организационная структура представлена на рисунке 1, а ниже, более подробно, вся структура:
Рисунок 1 - Организационная структура СибГИУ
Учебный совет. Формирование учёного совета для государственных и муниципальных высших учебных заведениях является обязательным. В прочих вузах наличие или отсутствие учёного совета, его состав и компетенция определяются уставом образовательного учреждения.
В состав учёного совета входят ректор, который является его председателем, проректоры, президент (если такая должность предусмотрена уставом), а также по решению совета - деканы факультетов. Другие члены совета избираются тайным голосованием на общем собрании (конференции), которое также определяет и общее количество членов совета. Нормы представительства в учёном совете от структурных подразделений и обучающихся (студентов и аспирантов) определяются учёным советом. Обычно в качестве таких представителей общие собрания соответствующих подразделений и обучающихся выдвигают заведующих кафедрами, ведущих учёных, руководителей служб обеспечения, членов студенческого актива.
В случае увольнения (отчисления) члена учёного совета он автоматически выбывает из его состава. Срок полномочий учёного совета не может превышать 5 лет. Досрочные выборы совета проводятся по требованию не менее половины его членов, а также в случаях, предусмотренных уставом высшего учебного заведения.
Службы проректора по учебной работе. Данные службы занимаются следующим:
- руководят организацией учебно-методической, воспитательной деятельности факультетов и кафедр вуза;
- обеспечивают проектирование и выполнение учебных программ, стабильное функционирование всех направлений учебного процесса;
- организовывают текущее и перспективное планирование деятельности преподавателей и работу методической службы;
- осуществляют контроль над учебным процессом, внося предложения по его совершенствованию;
- организовывают и координируют деятельность преподавателей, заведующих кабинетами, библиотекой;
- контролируют и регулируют учебную нагрузку преподавателей;
- осуществляют контроль над качеством знаний и успеваемостью студентов;
- осуществляют связь с зарубежными заведениями высшей школы по вопросам учебного сотрудничества;
- совместно с соответствующими организациями определяют базовые предприятия для проведения учебных занятий, прохождения производственной практики;
- планируют и разрабатывают мероприятия по использованию в преподавании и внедрению в учебный процесс передовых образовательных технологий;
- организовывают учебно-методические семинары, конференции, руководят работой учебно-методического совета вуза;
- отвечают за работу подготовительных курсов;
- обеспечивают рациональную расстановку и использование кадров преподавательского состава;
- участвствуют в работе совета вуза по вопросам учебно-производственного процесса и методического обеспечения;
- отвечают за правильное использование почасового фонда, контролируют расход материальных ценностей для учебных целей;
- организовывают работу учебного заведения по профессиональной ориентации.
Службы проректора по научной работе и инновационному развитию. Данные службы имеют следующие обязанности:
а) проректор по научной работе и инновациям несет ответственность перед ректором за научно-исследовательскую, научно-методическую, издательскую, информационную и инновационную деятельность вуза, а также подготовку научно-педагогических кадров высшей квалификации;
б) организуют научно-исследовательскую и научно-методическую работы факультетов, кафедр, научно-исследовательских институтов и учебно-научно-исследовательских лабораторий и других научно-методических подразделений, входящих в состав вуза. В том числе, осуществляют:
1) составление перспективных и годовых планов научно-исследовательской работы вуза, а так же своевременное представление их в Министерства образования и науки РФ, Федерального агентства по образованию, Федеральной службы по надзору в сфере образования и науки;
2) организацию и помощь в оформлении заявок научных коллективов и отдельных ученых на конкурсные научные исследования;
3) организацию научных и научно-методических конференций, совещаний, семинаров и других мероприятий;
4) ежегодный анализ и подведение итогов научно-исследовательской деятельности вуза;
5) составление аналитических справок, статистических отчетов и других документов по заданиям вышестоящих организаций;
6) информирование научно-педагогических работников вуза о различных научных конкурсах, конференциях, симпозиумах и пр. через имеющиеся в вузе средства информации.
в) организуют и контролируют подготовку научно-педагогических кадров высшей квалификации. В том числе, осуществляют:
1) анализ качественного состава научно-педагогических кадров кафедр вуза и перспективное планирование его улучшения;
2) организацию и контроль повышения квалификации и подготовки научно-педагогических кадров высшей квалификации через аспирантуру, докторантуру, перевод доцентов в старшие научные сотрудники, соискательство;
3) контроль подготовки аспирантов и докторантов в вузе;
4) организацию и контроль работы диссертационных советов в вузе;
5) организацию работы Экспертной комиссии по избранию преподавателей на должности доцента и профессора в виде исключения.
г) организует и контролирует работу издательской деятельности вуза;
д) организует и контролирует информационное обеспечение деятельности вуза;
е) организует и контролирует инновационную деятельность вуза.
Службы проректора по внеучебной и социальной работе. Данные службы регулируют организацию внеучебной работы в университете, проводимую Проректором по внеучебной и социальной работе со студентами и Управлением организационно-воспитательной работы со студентами совместно с общественными студенческими организациями и структурными подразделениями вуза, факультетов, филиалов и кафедр. Основными направлениями внеучебной работы со студентами являются:
- создание оптимальной социально-педагогической воспитывающей среды, направленной на творческое саморазвитие и самореализацию личности;
- организация гражданско-патриотического воспитания студентов;
- пропаганда ценностей физической культуры и здорового образа жизни;
- организация научно-исследовательской работы студентов во внеучебное время;
- организация обеспечения вторичной занятости студентов;
- анализ проблем студенчества и организация психологической поддержки, консультационной помощи;
- организация работ по профилактике правонарушений, наркомании и ВИЧ-инфекции среди студентов;
- информационное обеспечение студентов;
- содействие работе общественным организациям, клубам и общественным студенческим объединениям и коллективам университета;
- создание системы морального и материального стимулирования преподавателей и студентов, активно участвующих в организации внеучебной работы;
- организация культурно-массовых, спортивных, научных мероприятий;
- оказание юридической помощи;
- научное обоснование существующих методик, поиск и внедрение новых технологий воспитательного воздействия на студента, создание условий для их реализации;
- развитие материально-технической базы объектов, занятых в организации внеучебных мероприятий;
- поддержка и развитие студенческой прессы и телевидения.
Службы проректора по административно-хозяйственной работе. Данные службы, в частности сам проректор, несут ответственность за обеспечение хозяйственной деятельности, капитальный и текущий ремонт объектов университета, санитарно-гигиеническое состояние учебных корпусов и административных зданий. На данные службы по административно-хозяйственной деятельности возлагаются следующие обязанности:
- обеспечивать безопасную эксплуатацию зданий и сооружений в Университете;
- обеспечить соблюдение нормальных (соответствующих нормам) и безопасных условий проживания в общежитиях;
- обеспечивать соответствующие нормам условия в учебных лабораториях, аудиториях и других помещениях Университета;
- обеспечивать надлежащее содержание территории Университета;
- согласовывать проекты планов ремонтных работ и осуществлять контроль за сроками и качеством их исполнения;
- осуществлять контроль за работой комендантской службы, службой охраны, эксплуатационно-технического персонала в Университете;
- обеспечивать контроль за приобретением и движением материальных ценностей;
- организовывать материально-техническое обеспечение хозяйственных служб Университета;
- разрабатывать и контролировать реализацию планов мероприятий по подготовке зданий и помещений Университета к новому учебному году и к отопительному сезону;
- обеспечивать и контролировать соблюдение норм и правил пожарной безопасности в Университете;
- организовывать мероприятия по противопожарной профилактике;
- обеспечивать и контролировать соблюдение норм охраны труда и техники безопасности в Университете;
- курировать вопросы социального развития и обслуживания проживающих в общежитиях;
- организовывать повышение квалификации сотрудников подчиненных или курируемых подразделений.
Управление информатизации. Данное подразделение состоит из четырех отделов:
а) отдел информатизации образования;
б) отдел корпоративных технологий;
в) отдел системных технологий;
г) отдел телевизионных и мультимедийных технологий.
Отдел информатизации образования был создан как подразделение управления информатизации СибГИУ 5 января 2004 года. Структурно отдел информатизации образования состоит из двух секторов: сектора информационных технологий в обучении и сектора дистанционного образования.
Главной целью создания отдела является выполнение и координация работ в области информатизации образования университета в рамках единой информационной и технической политики.
Основными задачами отдела являются:
- подготовка, профессиональная переподготовка и повышение квалификации профессорско-преподавательского состава и сотрудников университета в области информационных технологий;
- создание и эксплуатация общевузовских компьютерных классов открытого доступа для студентов и преподавателей;
- создание системы дистанционного образования, разработка и внедрение его методического и программно-технического обеспечения на базе Интернет и мультимедиа технологий;
- обеспечение выпуска электронных изданий и наполнения электронных фондов библиотеки.
Отдел корпоративных технологий (ОКТ) образован в январе 2004 г. в связи с созданием Управления информатизации и реструктуризацией Центра компьютерных технологий. В настоящее время оперативное руководство отделом, который включает в себя сектор прикладных информационных ресурсов и сектор автоматизированных информационных систем, осуществляется молодым и талантливым специалистом Шендриковым А.Е.
Штат отдела состоит из ведущих специалистов в ВУЗе в области разработки программного обеспечения, администрирования компьютерных систем. В отдел приходят на практику студенты старших курсов университета. Сотрудниками отдела решаются такие задачи как: разработка и приобретение, установка, настройка и сопровождение в факультетах, и службах университета программного обеспечения. Ведущие специалисты занимаются вопросами программирования в корпоративных информационных системах, обладают навыками сетевого развертывания программного обеспечения клиентских рабочих мест, разбираются в задачах обмена информацией между отдельными видами подсистем.
Сотрудники отдела корпоративных технологий обеспечивают техническую поддержку и консультации пользователей по телефону. Для диагностики работы программного и аппаратного обеспечения применяются средства удаленного администрирования и конфигурирования.
Под руководством начальника отдела Шендрикова А.Е. работники отдела принимают активное участие в проведении общеуниверситетских мероприятий, связанных с информатизацией университета. Совместно с отделом сетевых и системных технологий осуществляется развитие сетевой инфраструктуры как технической основы корпоративной информационной системы университетского комплекса.
Отдел системных и сетевых технологий был создан как подразделение управления информатизации СибГИУ 5 января 2004 года. Структурно отдел системных и сетевых технологий состоит из лаборатории ремонта и модернизации средств информатизации и сектора корпоративной сети и Интернет-технологий. В настоящее время в отделе работает 11 сотрудников высокого уровня квалификации.
Главной целью создания отдела является выполнения и координации работ в области построения единой информационной сетевой инфраструктуры университета.
Отделом осуществляется выполнение следующих функций:
- обеспечение функционирования сетевых каналов передачи информации;
- поддержка различных серверов уровня университета;
- администрирование политики безопасности, разработка программного обеспечения и технических решений по обслуживанию работы информационной корпоративной системы;
- создание локальных информационно-вычислительных сетей подразделений, управление доступом подразделений и отдельных пользователей к информационным ресурсам;
- обеспечение связи с внешними компьютерными сетями города, ВУЗов и сетью Интернет;
- выполнение технического и сервисного обслуживания средств информатизации.
Отдел телевизионных и мультимедийных технологий принимает активное участие в проведении общеуниверситетских мероприятий. Подготовка демонстрационных материалов, презентаций, видеоотчетов, которые включают в себя видеосъемку проводимых мероприятий, редактирование, монтаж и архивацию материалов.
В период с 2003 по 2009 год отделом изготовлено более 50 фильмов, среди которых видеофильм посвященные истории университета, а также фильм научно-познавательного и рекламного характера.
В 2005 году был создан общий архив данных видео и фотоматериалов подразделений СибГИУ. Для его создания было отснято более 600 информационных сюжетов и создан фотоархив университета. В 2009 году была модернизирована техническая база и расширены емкости и повышена надежность хранения информации.
В 2006 годы были положены основы для разработки новой (более рациональной и систематизированной) структуры официального сайта университета. Работы по её внедрению начались в начале 2007 года. Запуск полностью переработанного ресурса состоялся во II квартале. На сегодняшний день кроме основного ресурса университета осуществляется полная поддержка 35 веб-сайтов подразделений СибГИУ. Проработана концепция модуля для автоматизации показа объявлений СибГИУ. Программный автоматизированный модуль трансляции позволит: в несколько раз сократить время подготовке к трансляции информационного объявления, организовать централизованную консоль размещения объявлений.
Описание состава служб проректора по общим вопросам:
- военно-мобилизационный отдел;
- отдел ГОЧС и ПБ;
- отдел обеспечения порядка;
- отдел охраны труда.
Планово-экономический отдел. Основными задачами планово-экономического отдела являются:
- проведение работ по экономическому планированию центра;
- проведение работ по учету и анализу результатов производственно-хозяйственной деятельности;
- подготовка установленной статистической отчетности;
- методическое обеспечение соответствующих вопросов;
- участие в рассмотрении разрабатываемых планов, рабочих программ
- подготовка исходных данных для составления проектов перспективных, годовых и оперативных планов;
- составление тарификационных списков, штатных расписаний, смет доходов и расходов;
- выполнение расчетов по материальным, трудовым и финансовым затратам, необходимым для проведения работ (услуг), исследований и разработок;
- разработка мероприятий по обеспечению режима экономии, выявлению резервов, повышению эффективности работ;
- определение экономической эффективности проводимых работ, исследований, разработок;
- принятие необходимых мер по использованию современных технических средств, при выполнении расчетов и вычислительных работ;
- выполнение необходимой работы, связанной с нерегламентными расчетами и контролем над их исполнением;
- внесение изменений в справочную и нормативную информацию;
- осуществление сбора и накопления научно-технической информации и других необходимых материалов для плановой работы или выполнения отдельных заданий;
- изучение специальной литературы, касающейся выполняемой работы;
- составление различных экономических обоснований, справок, периодической статистической отчетности;
- принятие участия в рассмотрении разрабатываемых планов, рабочих программ, вопросов организации выполнения работ;
- методическое обеспечение соответствующих вопросов.
Отдел арендных отношений. Основными задачами отдела арендных отношений являются:
- обеспечение исполнения требований Федерального закона от 21.07.2005 №94-ФЗ и других законодательных документов по вопросам размещения заказов на поставку товаров, выполнение работ и оказание услуг для государственных нужд;
- планирование и определение способа размещения заказа на поставку товаров, выполнение работ, оказание услуг в соответствии с выделенными лимитами на текущий год для нужд университета;
- организация деятельности по размещению заказа на закупку продукции, оказание услуг, выполнение работ для нужд университета в соответствии с законодательством Российской Федерации о размещении заказов и Регламентом закупок;
- учет и контроль над использованием недвижимого и движимого имущества, переданного в аренду;
- организация работы по проведению конкурсов и аукционов на право заключения договоров аренды иных договоров, предусматривающих переход прав пользования в отношении имущества университета;
- контроль над своевременностью поступлений платежей по арендной плате и коммунальным услугам за пользование имуществом университета.
Бухгалтерия. Бухгалтерский учет в вузе ведется по двум основным направлениям: финансовый и налоговый учет (согласно требованиям главы 25 Налогового Кодекса РФ). Управленческий учет осуществляется бухгалтерией вуза, и его основные функции состоят в следующем:
- организация централизованного учета, контроля и анализа движения всех бюджетных и внебюджетных финансовых, денежных и материальных потоков вуза;
- координация и регулирование (через учет, анализ и планирование) всей экономической (финансовой и коммерческой) деятельности вуза и всех его подразделений (в том числе находящихся на самофинансировании) в виде разработки рекомендаций и предложений, согласованных с проректором по экономическим вопросам и принятых (утвержденных) ректором, по обеспечению юридической (совместно с юристом) правомерности и экономической эффективности (целесообразности) тех или иных решений;
- организация и выполнение работ, связанных с подготовкой специалистов на условиях полного или частичного возмещения затрат на их обучение посредством заключения договоров с заинтересованными физическими и юридическими лицами.
Отдел кадров осуществляет:
- документирование оформления приема, увольнения, перевода работников, предоставления им отпусков в соответствии с трудовым законодательством;
- прием, хранение, заполнение, выдача трудовых книжек в соответствии с инструкцией о порядке ведения трудовых книжек. Своевременное внесение в трудовые книжки записей о переводах, перемещениях, поощрениях и др.;
- ведение учета личного состава работников, оформление личных дел, внесение в них новых данных, подготовка и выдача по требованию работника справок и копий документов;
- организацию работы по проведению аттестации работников в соответствии ТК РФ, осуществление контроля за работой аттестационной комиссии, подведением итогов их работы и исполнением рекомендаций;
- проведение работы по укреплению трудовой дисциплины. На основе анализа ее состояния руководству университета представляются документы на работников, совершивших нарушения трудовой дисциплины. Подготовка приказов о применении мер дисциплинарного воздействия к нарушителям в соответствии с ТК РФ;
- ведение учета личного состава студентов по факультетам и группам (оформление приема личных дел из приемной комиссии, переводы, отчисления, академические отпуска);
- ведение учета работников пенсионного и предпенсионного возраста, оформление пенсий работникам университета;
- подготовка документов по истечении установленных сроков текущего хранения к сдаче в архив на государственное хранение (подшивка личных дел, кадровых приказов, оформление описей).
Отдел делопроизводства. Основной задачей отдела является обеспечение четкой организации работы с документами и контроль за их исполнением в университете в соответствии с нормативно-правовыми актами, инструкцией по делопроизводству, распорядительными документами руководства университета. Функциями данного отдела являются:
- обеспечение организации делопроизводства в Университете в соответствии с утвержденной инструкцией по делопроизводству;
- обеспечение порядка и контроля обработки входящей и исходящей корреспонденции, порядок прохождения внутренних документов;
- составление инструкции по ведению делопроизводства Университета, сводной номенклатуры дел;
- университета при методической помощи отдела организации архивного дела;
- оформление заказов на изготовление печатей и штампов Университета, печатно-бланочной продукции в типографии;
- осуществление учета и контроля использования бланков, печатей и штампов университета;
- оформление командировочных документов работников Университета и регистрация работников, командированных в Университет;
- осуществление методического руководства по вопросам организации ведения делопроизводства, ответственных за ведение делопроизводства в структурных подразделениях;
- осуществление контроля за состоянием делопроизводства в подразделениях Университета;
- осуществление учета и анализа документооборота в Университете, изучение и обобщение передового отечественного и зарубежного опыта в области документационного обеспечения в целях совершенствования организации работы с документами.
Юридический отдел. Среди основных функций юридического отдела можно выделить такие, как:
- подготовка заключений, справок по правовым вопросам;
- разработка проектов локальных нормативных правовых актов или участие совместно с другими подразделениями в подготовке указанных актов;
- разработка методических рекомендаций по решению различных вопросов правового характера;
- разработка проектов гражданско-правовых договоров, государственных контрактов по всем направлениями деятельности университета;
- правовая экспертиза договоров, государственных контрактов, соглашений о сотрудничестве, заключаемых университетом;
- участие в переговорах по заключению договоров, соглашений о сотрудничестве, составление протоколов разногласий на указанные документы;
- оказание правовой помощи структурным подразделениям в претензионной работе, подготовка и передача материалов в судебные органы, представительство в суде;
- правовое сопровождение кадровой и образовательной деятельности;
- консультирование работников и обучающихся по правовым вопросам, связанным с деятельностью университета;
- контроль за изменением законодательства, подготовка информационных сообщений для заинтересованных подразделений и должностных лиц университета;
- выполнение заявок подразделений и должностных лиц университета на нотариальное удостоверение документов;
- оформление доверенностей и иных документов, связанных с делегированием полномочий от имени университета;
- обеспечение учета и хранения локальных нормативных актов университета и др.
Основные технологические процессы, протекающие на данном предприятии - это:
- учебный процесс;
- научно-исследовательская работа.
К вспомогательным технологическим процессам относятся:
- бухгалтерия;
- финансовое планирование;
- ведение внутреннего хозяйства (слежение за состоянием зданий, санитарно-технического оборудования, сетей тепло-, электро- и водоснабжения и прочих коммуникаций).
2. Специальная часть
2.1 Разработка приложения
Реализация данной задачи была разбита на два этапа:
- программное получение номера звонящего абонента и отображение его на экране компьютера оператора;
- передача полученного номера в систему «Итилиум» и его последующая обработка для поиска пользователя в справочнике.
Для возможности программно определять номер необходимо было установить, каким образом возможно получение информации о звонке с телефонного аппарата. Поиск информации в сети Интернет и чтение официальной документации к телефонному аппарату не принесли результатов. В результате дальнейшего поиска, на специализированном форуме связистов RadioLink была найдена рекомендация для определения номера установить приложение PhoneTrayFree. Приложение было установлено на компьютер, однако определение номера при помощи приложения было невозможно. В результате анализа работы приложения, было выявлено, что для получения номера используются так называемые AT-команды, предназначенные для диагностики и управления модемами. На рисунке 1.1 отображены попытки приложения обнаружить в телефонном аппарате команды для определения номера.
В частности, программой использовались следующие команды:
- AT+VCID=1
- AT#CID=1
- AT % CCID=1
- AT#CC1
- AT*ID1
Рисунок 1.1 - Результат тестирования команд
После поиска информации о существующих AT-командах, были найдены и протестированы на телефоне Nokia 6300, подключенному к домашнему компьютеру, следующие команды:
- AT - начало (префикс) командной строки. Эти две буквы являются префиксом для остальных команд, и в тоже время имеют самостоятельное значение. Это так называемая пустая команда. После получения этой команды модем автоматически подстраивает скорость передачи и формат знака к параметрам терминала.
- AT+CLCC - определение номера звонящего
- ATDT<номер> - набор номера
- ATA - приём входящего вызова.
Все АТ-команды передавались с компьютера в телефон посредством приложения HyperTerminal, входящем в стандартную поставку операционной системы WindowsXP. Телефонный аппарат успешно обработал все отправленные команды. На рисунке 1.2 отображены результаты обмена данными с телефоном Nokia 6300.
Рисунок 1.2 - Результаты обмена данными с телефоном Nokia 6300
При поступлении звонка на телефон он посылал в терминал команду RING.
При отправке команды AT+CLCC в момент поступления вызова телефон отправлял в ответ строку следующего содержания:
+CLCC: 1,1,4,0,0, «<номер_звонящего>», 145
При отправке команды ATDT<номер> телефон начинал набирать номер.
Данные команды были протестированы на рабочем месте на телефонном аппаратеSiemensoptiPoint, однако, телефон успешно отвечал только на команды AT, ATA и ATDT. В ответ на команду AT+CLCC телефон отправлял ERROR, что означало, что данная команда не поддерживается телефонным аппаратом.
Продолжив поиск информации в Интернете, было найдено приложение opti.exe, визуально повторявшее интерфейс телефонного аппарата SiemensoptiPoint и отображавшее информацию, выводимую в данный момент на дисплей телефонного аппарата.
Для того, чтобы выявить, каким образом взаимодействует данное приложение с телефонным аппаратом было установлено приложение PortMon, предназначенное для отслеживания и отображения активности последовательных и параллельных портов в системе.
В результате наблюдений было установлено, что приложение opti.exe посылает в порт, к которому подключен телефон, команду AT % SETPIPE$S, в ответ на которую телефон посылает в виртуальный COM-порт информацию, отображаемую в реальном времени на дисплее телефонного аппарата.
Результаты тестирования данной команды на телефоне SiemensoptiPoint посредством программы HyperTerminal показали, что телефон действительно выводил информацию, но посылал при этом нечитаемые символы.
После тщательного анализа полученной информации, была начата разработка приложения для определения номера телефона. Для написания приложения была изучена информация об использовании COM-порта в среде разработки Delphi. Используя функции WinAPI для работы с COM - портом удавалось успешно отсылать команды в порт, но для получения ответа от телефонного аппарата необходимо было постоянно считывать информацию из порта, чтобы отследить момент получения в него данных.
Использование бесконечного цикла в отдельно запущенном потоке использовало много системных ресурсов, также преобразование полученной строки из типа PChar в тип String требовало написания дополнительных процедур обработки. Для простоты реализации было принято решение использовать готовый компонент для работы с COM-портами XСomm.
Использование компонента XСomm значительно облегчило процесс разработки приложения. Был реализован функционал отправки и приема данных из COM-порта. В принятой от телефонного аппарата строке помимо служебных символов содержались также и номера звонящих. Обрабатывая принятую строку, из нее выделялись только цифры, однако оказалось, что помимо информации о номерах звонящих телефон посылает также другую числовую информацию, такую как текущая дата, время и прочую, не относящуюся к номерам информацию, что усложнило выделение номера из полученной строки. Получение информации о звонящем следовало получать иным методом.
Для удобства чтения полученных данных в программе был реализован так называемый терминал, в который выводились коды символов, принятые от телефонного аппарата. На рисунке 1.3 показан интерфейс приложения, красным прямоугольником выделен терминал.
Рисунок 1.3 - Часть главного окна приложения
Проанализировав строки, передаваемые телефоном в COM-порт, удалось выявить последовательность символов (команд), которые телефонный аппарат использует при определенных событиях: при звонке на рабочий телефон оператора, при звонке на другие телефоны группы, при включении переадресации и т.д.
Последовательности символов:
- #17#5#6#16#3#209#16#2#189C#0#0#0<номер> - звонок оператору (при включенной переадресации);
- #17#5#6#16#3#209#16#2#189C#0#0#0GOROD - номер не определился (за пределами корпоративной АТС);
- #0#16#3Х#16#2#189C#0#0#0<номер> - на другие телефоны группы (при выключенной переадресации);
- #16#2#189C#0#0#0<номер> - вызов на рабочий телефон оператора (при включенной переадресации);
- #0#16#3Х#16#2#189C#0#0#0<номер> - вызов на рабочий телефон оператора (при выключенной переадресации).
На основе полученной информации об управляющих символах, был разработан и реализован алгоритм, который обрабатывал лишь те события, которые связаны со звонком на телефон. Излишняя информация о дате, времени и т.д. более не отображалась.
При разработке алгоритма передачи телефонного номера в систему «Итилиум» необходимо было учитывать следующий фактор - система расположена не на компьютере оператора, а на удаленном сервере и операторы работают в ней посредством терминального соединения. Исходя из данных условий, при совместном совещании с администратором системы «Итилиум» было принято решение передавать номер посредством создания файла без расширения на сетевом диске предприятия. В качестве имени файла служит номер передаваемого телефона. Также в системе «Итилиум» был реализован алгоритм, который инспектировал указанную директорию на наличие новых файлов и при появлении номер обрабатывался системой, а помещенный в директорию файл автоматически удалялся.
Для каждого сотрудника отдела оперативной технической поддержки была создана директория на сетевом ресурсе с именем учетной записи в качестве названия. Перед началом записи номер форматировался и приводился к единому формату.
Формат номеров:
- xx-xx - для внутренних номеров компании;
- x-xx-xx - для городских номеров;
- xxx-xxx-xx-xx - для номеров сотовых телефонов.
Для этого используется следующий алгоритм:
function FormatNumber (Number: string): string;
begin
if Pos ('83847', Number) = 1 then Delete (Number, 1, 6)
else if Pos ('89', Number) = 1 then Delete (Number, 1, 1);
if Length(Number) > 2 then Insert ('-', Number, Length(Number) - 1);
if Length(Number) > 5 then Insert ('-', Number, Length(Number) - 4);
if Length(Number) > 9 then Insert ('-', Number, Length(Number) - 8);
if Pos ('7-', Number) = 1 then Delete (Number, 1, 2);
Result:= Number;
end;
Чтобы избежать несоответствия форматов номеров в системе «Итилиум» и разрабатываемом приложении на стороне системы «Итилиум» был реализован обработчик, который приводил к единому формату телефонные номера сотрудников при их добавлении в справочник.
Для того, чтобы файл с указанием номера записался в директорию того оператора, который в текущий момент использует приложение, следующим алгоритмом из реестра операционной системы получалось имя учетной записи оператора:
function GetStr (RRoot: HKEY; RKey, RPrm, DefValue: string): string; begin
Result:= DefValue;
with TRegistry. Create do try
RootKey:= RRoot;
try
if OpenKeyReadOnly(RKey) then if ValueExists(RPrm) then Result:= Trim (ReadString(RPrm));
CloseKey;
except
end;
finally
Free;
end;
end;
Далее файл записывался в указанную директорию.
Для удобства оператора была реализована функция автоматического восстановления окна терминального соединения из свернутого состояния.
Далее был разработан интерфейс, который обеспечивает отображение номера и фамилии звонящего. На рисунке 1.4 показан пример окна, появляющегося при входящем звонке на телефон техподдержки.
Рисунок 1.4 - Окно приложения при входящем вызове
В случаях, если вызов пришел на рабочий телефон оператора, информация об номере и Ф.И.О. оператора отсутствует. В такой ситуации при двойном щелчке по информационному окну в телефонный аппарат посылается управляющая команда о снятии трубки и оператор принимает вызов. В другом случае, если вызов идет на другие телефоны группы, то выводится номер и фамилия звонящего, ниже отображается информация о том, на кого из операторов пришёл вызов. В этом случае при двойном щелчке на информационном окне в телефонный аппарат посылается управляющая команда о перехвате вызова. Данный функционал был реализован по просьбе сотрудников отдела.
При одинарном щелчке на панели с номером звонящего окно закрывается, а номер передается для дальнейшей обработки в систему «Итилиум».
В системе Итилиум был реализован обработчик для приема номера телефона, по которому производился поиск соответствующего пользователя и его выделение в списке. На рисунке 1.5 показан выделенный пользователь в списке пользователей системы «Итилиум».
Рисунок 1.5 - Часть окна списка пользователей «Итилиум»
При тестировании и отладке приложения возникала ситуация, что телефонный номер может принадлежать группе пользователей. Алгоритм обработки номера на стороне системы «Итилиум» был доработан и при звонке с номера, зарегистрированного на несколько сотрудников предприятия в системе «Итилиум» появляется модальное окно со списком сотрудников, которым принадлежит номер. Оператору требуется лишь уточнить фамилию вызывающего сотрудника и выбрать из списка нужного пользователя. Ситуация отображена на рисунке 1.6.
Рисунок 1.6 - Вызов с номера, принадлежащему группе пользователей
Таким образом, был достигнут требуемый результат - автоматический выбор звонящего пользователя в системе «Итилиум».
абонент программный номер оператор
2.2 Выявление ошибок в разработанном проекте
В ходе дальнейшего тестирования приложения на рабочих местах операторов был выявлен ряд ошибок, возникающих в процессе работы.
В частности, появлялись следующие ошибки:
- невозможность корректно совершить выход из системы при запущенном приложении;
- при повторном входе в систему приложение не восстанавливало соединение с COM-портом, следовательно отображение информации о вызовах было недоступно;
- при входящем звонке отображались сразу оба окна - окно с информацией о звонящем и главное окно программы, находящееся ранее в свернутом виде;
- окно с информацией о звонящем оставалось на экране при завершенном вызове;
- на информационном окне не выводился номер оператора, которому поступил вызов;
Необходимо было устранить выявленные ранее ошибки и доработать приложение до работоспособного состояния.
2.3 Процесс исправления ошибок
2.3.1 Невозможность совершить выход из системы при запущенном приложении
Так как при завершении приложения появлялась возможность выйти из системы, была осуществлена проверка процедур, вызываемых при его завершении. Было выявлено, что при выходе из программы закрывается соединение с COM-портом, которое и препятствовало нормальному выходу из системы. Однако также было обнаружено, что функция закрытия порта выполняется при разрушении формы и при закрытии формы, а также было протестировано при запросе на закрытие формы приложения.
Отладка была также осложнена тем, что при выходе из системы среда разработки Delphiзакрывалась раньше, чем тестируемое приложение, что не позволяло проследить выполнение процедур и функций, выполняемых при завершении сеанса.
Изучая информацию в сети Интернет по данному вопросу была найдена функция SetProcessShutdownParameters. Данная функция предназначена для установки параметров завершения для текущего процесса. Данная функция устанавливает очередь завершения среди других запущенных процессов. По умолчанию приложения имеют приоритет завершения равный 0x280, что является средним, данному приложению был присвоен самый высокий приоритет ($3FF), чтобы оно завершалось первым среди остальных запущенных процессов, в том числе ранее, чем среда разработки. При использовании данной функции появилась возможность отслеживания хода выполнения процедур и функций, вызываемых при завершении работы системы.
Многократный процесс отладки показал, что закрытие порта все же выполняется, однако приложение все равно не завершается при завершении работы системы. Причины такого поведения приложения установить не удалось.
При повторном поиске информации в сети Интернет была получена информация, что при завершении работы система Windowsрассылает всем открытым окнам сообщение WM_QUERYENDSESSION. Рассылая данное сообщение, система опрашивает приложения на готовность завершения. Это необходимо для того чтобы приложение могло корректно завершиться, сохранив перед выходом данные и при «положительном» ответе приложения ему посылается сигнал завершения WM_ENDSESSION. В разрабатываемом приложении была написана так называемая «ловушка» которая перехватывала это системное сообщение.
procedure WMQueryEndSession (varMsg: TMessage); message WM_QUERYENDSESSION;
procedure TFormMain.WMQueryEndSession (varMsg: TMessage);
begin
if XComm. Opened then XComm. CloseDevice;
msg. Result:=1;
Close;
end;
При перехвате данной команды выполнялось закрытие открытого порта и возвращался положительный ответ на запрос завершения. После этого приложение стало корректно завершаться, позволяя системе завершить работу, при этом сохраняя все настройки в файл.
2.3.2 Невозможность установить соединение с COM-портом при повторном входе в систему
Данная ошибка проявлялась при входе в систему после бездействия, блокировки или спящего режима. Соединение приложения с телефонным аппаратом было недоступно, из этого следовала невозможность получения информации с телефонного аппарата.
Отладка осложнялась из за невозможности запуска среды Delphiв условиях тестирования - при старте системы загружался только скомпилированный файл помещенный в автозагрузку.
Для решения данной проблемы были пересмотрены все процедуры и функции, выполняющиеся при запуске приложения. Повторилась ранее описанная проблема - в отладчике приложение было работоспособным, однако скомпилированное приложение по-прежнему не восстанавливало соединение. Было решено запускатьPortMonпри запуске системы для отслеживания активности приложения при обращении к COM-порту. Проанализировав информацию о соединениях было установлено, что приложение пытается записать в порт информацию прежде чем открыть его, что вызывало ошибку и посылка команды в порт не производилась, следовательно получение информации с телефонного аппарата было невозможно. Была несколько раз переписана процедура начального запуска, нахождения и инициализации COM-порта, однако к успешному результату это не привело. Проблема была решена подбором значений компонента XComm, в частности параметраTimeouts. На рисунке 1.1 отображены параметры компонента XComm.
Рисунок 1.1 - Параметры компонента XComm
Установив все значения параметра в 0 проблема была устранена, приложение успешно устанавливало соединение с COM-портом при старте системы.
2.3.3 Отображение лишних окон при входящем звонке
Опытным путем было установлено, что проблема появлялась при определенной последовательности действий с окнами программы. Если было открыто главное окно программы, и в это время приходил вызов и показывалось окно с информацией о звонящем, то при сворачивании или закрытии главного окна (закрытие обрабатывается как сворачивание) сворачивается также и окно с информацией о звонящем и при следующем вызове на экран выводятся оба окна программы, что нежелательно (главное окно при этом помещается поверх всех окон). При этом невозможно закрыть окно с информацией о звонящем. Проблема заключалась в том, что не обрабатывалось событие закрытия окна с информацией о звонящем. Был добавлен обработчик сообщения WM_SYSCOMMAND, которое содержит параметр SC_CLOSEпосылаемое системой в случае когда пользователь желает закрыть окно.
procedure TFormCall.WMSysCommand (varMsg: TMessage);
begin
if Msg.WParam = SC_CLOSE then
ShowWindow (FormCall. Handle, SW_HIDE)
else
inherited;
end;
2.3.4 Отображение ненужного окна с информацией о звонящем при завершенном вызове
Проблемы была в недоработке программы, приложение было недостаточно протестировано ранее и не обрабатывало ситуацию, когда на телефонном аппарате была включена переадресация. В результате анализа отладочной информации, в посылаемых телефонным аппаратом строках была замечена последовательность символов, которые он посылает при окончании вызова. В момент завершения вызова аппаратом отсылалась в порт строка следующего содержания
#0#16#2#189#64#22#0#16#3'И'#16#2#189'C'#0#0#0'ПEPEAДPECAЦИЯ'#32'HA'#32#32#32#32#32#32#32#32#16#3#1#16#2#189'C'#1#0#0'2600'#32'TEH.PODDERJKA'#32#32#32#32#32'>'#16#3
В программе был реализован обработчик, который при нахождении подстроки
'ПЕРЕАДРЕСАЦИЯ HA ' выполнял закрытие информационного окна, если оно было видимым на экране.
…
const
CallFWD: string = 'ПEPEAДPECAЦИЯ HA ';
…
if (Pos (CurDate, RcvStr) > 1) or (Pos (CallFWD, RcvStr) > 0) then begin
if FormCall. Showing then
FormCall. Close;
RcvStr:='';
end;
2.3.5 Невозможность отображения номера оператора, которому поступил вызов
Проблема заключалась в том, что в переменную Passedне записывался номер, который должен был быть получен из строки поступившей с телефонного аппарата
При отладке приложения в среде Delphiвсе значения переменным присваивались корректно, однако при запуске приложения номер по прежнему не отображался.
Решение было найдено при изменении задержки перед получением данных из порта. В процедуре Sleep() была установлена задержка в 10 мс, при изменении на 100 мс, значения переменных стали корректными. Проблема была в том, что при слишком малой задержке, данные из буфера получались не целой строкой, а несколькими «разорванными» частями, что усложняло обработку полученных из порта данных.
2.3.6 Появление информационного окна при наборе номера с телефонного аппарата
Каждое нажатие на блок цифровой клавиатуры телефонного аппарата вызывало появление окна с отображением набранной клавиши. Причиной этого были передаваемые телефоном при нажатии на клавиши символы по своей структуре схожие с управляющими символами оповещающими о входящем вызове. При этом каждый раз в передаваемых в порт данных содержалась строка 'CHOBA HAБPATЬ HOMEP?' или 'OБPATHЫЙ BЫЗOB?'. В коде программы было написано условие при котором выполнялось обнуление пришедшей строки с данными, если в ней содержались вышеуказанные строки.
const
CallAgain: string = 'CHOBA HAБPATЬ HOMEP?';
Help: string = 'CПPABKA?';
ReCall: string = 'OБPATHЫЙ BЫЗOB?';
if (Pos (CallAgain, RcvStr)>1) or (Pos (ReCall, RcvStr)>1) or (Pos (Help, RcvStr)>1) then RcvStr:='';
2.4 Предложения по модернизации системы
При анализе условий работы приложения была выявлена, следующая уязвимость которая может в дальнейшем привести к ошибкам в работе приложения.
Список сотрудников системы «Итилиум» загружается из базы сторонней конфигурации «Зарплата и кадры» на платформе «1С: Предприятие». Для поддержания актуальной информации о сотрудниках, такой как кадровые перемещения, изменение контактной информации или какой-либо другой информации, система «Итилиум» автоматически синхронизирует список сотрудников и информацию о них с базой конфигурации «1С: Зарплата и кадры».
Учитывая особенности работы приложения была предположена ситуация, что в период между синхронизацией были приняты изменения о сотруднике в базе «1С: Зарплата и кадры» (увольнение, прием на работу, изменение контактной информации), но в системе «Итилиум» данные изменения еще не применились, поскольку, синхронизация не была выполнена. В данном случае возможны ошибки при работе приложения, в частности:
- ошибка при звонке с номера не зарегистрированного на нового сотрудника приложению не удастся найти сотрудника, которому принадлежит номер телефона;
- ошибка при изменении контактных данных сотрудника, в частности номера рабочего телефона - приложение ошибочно определит сотрудника, которому принадлежит данный номер;
Для избежания данных ошибок была выдвинуто предложение предоставить возможность операторам технической поддержки непосредственно вносить изменения в базу сотрудников предприятия в системе «Итилиум» с последующей синхронизацией. Таким образом, при поддержании актуальной информации о сотрудниках риск ошибочной работы приложения снижается, что позволило бы безошибочно находить сотрудников в списке пользователей системы «Итилиум».
Однако данное предложение было отклонено руководством отдела. Причиной отказа является недостаточная квалификация операторов технической поддержки, а также высокий риск ошибок при работе с системой «Итилиум».
Размещено на Allbest.ru
Подобные документы
Рассмотрение общей организации гостиницы, которая предоставляет номера постояльцам с целью получения прибыли. Исследование системы учета подачи заявок. Разработка функциональной модели предметной области (AS-IS), поведенческую модель (IDEF0, IDEF3).
курсовая работа [975,3 K], добавлен 18.06.2015Назначение и структура таблиц, используемых в проекте. Задачи и требования приложения на уровне организации WEB-интерфейса. Функциональная структура программы. Алгоритм отображения разделов и подразделов. Процесс регистрации нового пользователя.
курсовая работа [1,0 M], добавлен 04.10.2010Разработка информационной системы для учета продаж саженцев в питомнике. Анализ используемых инструментальных средств программирования. Описание входной информации, обработка ошибок. Инструкция для пользователя. Расчет экономической эффективности.
дипломная работа [2,4 M], добавлен 06.11.2011Структура учреждения, выявление его основных задач и функций. Анализ входной информации и процессов. Разработка структуры базы данных и клиентского приложения для учета оборудования. Описание атрибутов таблиц. Расчет надежности информационной системы.
дипломная работа [2,3 M], добавлен 12.10.2015Технология приема и учета обращений граждан в организации. Особенности разработки автоматизированной информационной системы регистрации заявок на услуги муниципальной организации. Использование разработанной АИС в различных предприятиях сферы ЖКХ.
дипломная работа [3,3 M], добавлен 30.09.2013Систематизация учета необходимых данных о выполненных маршрутах с помощью программного приложения. Осуществление быстрого поиска информации о водителях выполнивших плановый рейс. Оценка экономической эффективности от внедрения программного приложения.
курсовая работа [2,3 M], добавлен 30.06.2014Написание программы входа пользователя в систему через пароль. Необходимость содержания входа в систему через ввод, проверки пароля, а также регистрации пользователя с занесением его имени и пароля в базу данных. Блокировка системы при неверном пароле.
лабораторная работа [2,7 M], добавлен 19.10.2009Разработка базы данных учета и хранения заявок пользователя. Создание программного средства на основе клиент/серверной технологии. Описание возможностей платформы Tandem Framework. Апробация программы автоматизации процессов подачи и обработки заявок.
дипломная работа [3,6 M], добавлен 08.03.2013Анализ входной информации и процессов, уровня автоматизации на предприятии. Выявление объекта и задачи автоматизации. Разработка концепции построения информационной модели информационной системы. Разработка структуры базы данных и клиентского приложения.
дипломная работа [2,0 M], добавлен 22.11.2015Разработка автоматизированной системы учета приема товара, поиска поставщиков и подсчета выручки для магазина косметики. Структура таблиц и связей между ними, индексы и ограничения. Справочная система, руководство пользователя, тестирование приложения.
курсовая работа [1,0 M], добавлен 04.11.2012