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

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

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

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

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

Размещено на http://www.allbest.ru/

Аннотация

Амелякин А.С. Автоматизированная система проведения соревнований игрового типа с реализацией клиентского модуля. Дипломный проект по специальности «230201» («Информационные системы и технологии»), специализация («Прикладное математическое и программное обеспечение»).- Новокузнецк, 2012. - 79 с., табл. 11, ил. 8, источников 15, приложений4.

Исполнитель: Амелякин А.С.

Введение

1 Общая часть

1.1 Cведения о предприятии

1.2 Характеристики производственных и технологических процессов

1.3 Применение на предприятии информационных технологий и систем

2 Специальная часть

2.1 Использование сокетов

2.2 Использование динамических библиотек

2.3 Взаимодействие приложения и динамической библиотеки

2.4 Описание модуля клиента

3 Технико-экономическое обоснование проекта

3.1 Организация и планирование работ

3.2 Расчет затрат на проектирование

3.3 Расчет затрат на эксплуатацию

3.4 Расчет экономических показателей проекта

4 Безопасность и экологичность проекта

4.1 Безопасность проекта

4.2 Экологичность проекта

4.3 Заключение по разделу

5 Управление качеством

5.1 Управление качеством и ISO-9000

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

5.3 Обеспечение надежности

5.4 Модель разработки ПО

5.5 Анализ требований к разработке приложения

5.6 Заключение по разделу

Заключение

Список использованной литературы

Приложение А

1. Общая часть

1.1 Cведения о предприятии

Полное официальное наименование: федеральное государственное бюджетное образовательное учреждение высшего профессионального образования "Сибирский государственный индустриальный университет" (Siberian State Industrial University), сокращенное - СибГИУ (SibSIU).

Учредителем СибГИУ является Правительство Российской Федерации. Полномочия учредителя осуществляет Министерство образования Российской Федерации.сокет динамический библиотека

Сибирский государственный индустриальный университет является одним из ведущих учебно-научных центров Западной Сибири. В настоящее время в университете обучается около 12 955 слушателей и студентов по 14 направлениям, 60 специальностям, 250 специализациям. СибГИУ готовит специалистов в области металлургии, горного дела, механики, машиностроения, строительства, энергетики, экономики, автоматизации, транспорта, экологии, информационных технологий, стандартизации и сертификации, химической технологии, социальной работы. Ученые университета выполняют значительный объем фундаментальных и прикладных научных исследований для развития науки и образования.

Структура университета:

а) подразделение по учебной работе:

1) подготовительные курсы;

2) учебно-методическое управление (УМУ);

3) центр повышения квалификации и переподготовки специалистов;

4) РУКМЦПСТВ «Карьера»;

5) приемная комиссия;

6) архивный отдел;

7) отдел кадров студентов;

8) центр практической психологии и социологии;

9) центр СибГИУ «Недвижимость»;

10) центр стандартизации и сертификации качества;

11) отдел менеджмента качества образовательной деятельности;

б) управление международной деятельности:

1) отдел международных связей;

2) центр немецкого языка и культуры;

3) центр китайского языка и культуры;

в) подразделения служб информатизации:

1) управление информатизации (УИ);

г) подразделения по внеучебной работе:

1) студенческий отряд охраны правопорядка «Анлант»;

2) культурный центр;

3) отдел по внеучебной работе;

4) профком студентов;

д) подразделения по научной работе:

1) отдел аспирантуры и докторантуры;

2) управление научными исследованиями (УНИ);

3) лаборатория этических знаний;

4) отдел научно-технической информации;

5) музей истории;

6) типография;

7) редакционно-издательский отдел;

8) учебно-научно-производственный центр «Инновация»;

9) редакция журнала «Известия высших учебных заведений. Черная металлургия»;

10) газета «Наш университет»;

11) центр испытания материалов;

12) геологический музей;

13) научно-техническая библиотека;

е) административно-финансовые подразделения:

1) одел кадров сотрудников;

2) бухгалтерия;

3) планово-экономический отдел;

4) отдел делопроизводства;

5) приемная комиссия;

6) юридический отдел;

7) центр предпринимательской деятельности;

8) фельдшерский здравпункт;

9) отдел охраны труда;

10) служба гражданской обороны и чрезвычайных ситуаций;

11) отдел пожарной безопасности;

12) отдел государственных закупок;

13) профком сотрудников;

ж) административно-хозяйственная часть:

1) отдел главного энергетика;

2) отдел материально-технического снабжения;

3) отдел главного механика;

4) хозяйственный отдел;

5) отдел кадастра;

6) ремонтно-строительный участок;

7) отдел обеспечения порядка;

8) эксплуатационно-технический отдел;

9) подразделения инженерного обеспечения;

10) подразделения обеспечения безопасности;

11) цех по производству, ремонту оборудования и мебели;

12) студенческий городок;

13) медицинский центр;

14) военно-мобилизационный отдел;

15) санаторий-профилакторий;

16) шахматный клуб;

17) спортивный комплекс;

18) спортивно-оздоровительная база отдыха «Тарбаган»;

19) столовая;

20) гараж;

з) институты и факультеты:

1) институт металлургии и материаловедения;

2) институт экономики и менеджмента;

3) архитектурно - строительный институт;

4) институт горного дела и геосистем;

5) институт машиностроения и транспорта;

6) институт информационных технологий и автоматизированных систем;

7) естественнонаучный факультет;

8) факультет физической культуры, здоровья и спорта;

9) заочный факультет;

10)

11) факультет довузовской подготовки;

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

Существующая структура комиссий и советов СибГИУ показана на рисунке 1.1.

Рисунок 1.1 - Существующая структура комиссий и советов СибГИУ

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

Существующая организационная структура управления СибГИУ представлена на рисунке А.1.

Рассмотрим более подробно структуру управления информатизации. Для внедрения и поддержки информационных технологий в СибГИУ функционирует структурное подразделение «Управление информатизации».

С января 2004 года на основании принятых ученым советом университета концепций «Развитие СибГИУ на период до 2010 года» и «Развитие системы компьютеризации университетского комплекса СибГИУ» в СибГИУ функционирует новое структурное подразделение «Управление информатизации», созданное на базе «Центра компьютерных технологий» и «Регионального информационно - учебного центра Internet».

Необходимость такого объединения назрела давно. Неэффективность прежней системы заключалась в том, что подразделения, отвечающие за информатизацию ВУЗа, не имели общего руководителя («Центр компьютерных технологий» находился в ведении проректора по научной работе, «Региональный информационно-учебный центр Internet» - проректора по учебной работе).

Основные задачи управления информатизации состоят в следующем:

а) проведение единой политики информатизации;

б) формирование информационной культуры подготавливаемых кадров;

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

Управление информатизации имеет в своем составе четыре отдела:

– отдел корпоративных технологий;

– отдел системных и сетевых технологий;

– отдел телевизионных и мультимедийных технологий;

– отдел информатизации образования.

Структура управления информатизации представлена на рисунке 1.2.

Размещено на http://www.allbest.ru/

Рисунок 1.2 - Структура управления информатизации

Функции Управления информатизации как структурного подразделения СибГИУ подразумевают:

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

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

– взаимодействие с поставщиками средств вычислительной техники и программного обеспечения при формировании заказов на поставку этих средств в СибГИУ;

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

– реализацию политики информационной безопасности и защиту информационных ресурсов университета;

– организационное, нормативное и методическое обеспечение информатизации университета;

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

Основные функции отдела системных и сетевых технологий:

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

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

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

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

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

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

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

– обеспечение защиты сетевых информационных ресурсов и информационной безопасности;

– реализация единой политики учета и контроля использования доступа к ресурсам Internet;

– документирование ЛВС университета, в том числе ведение наглядного представления в виде топологической схемы;

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

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

– разработка программного обеспечения.

Специалисты ОССТ составляют проектные решения по созданию локально-вычислительных сетей, осуществляют подключение рабочих мест пользователей к ИВС СибГИУ и настройку специализированных рабочих мест, обеспечивают сопровождение серверов под управлением Windows и FreeBSD.

Основные функции отдела корпоративных технологий:

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

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

– составление технического задания на проектирование автоматизированных систем (АС);

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

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

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

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

Основные функции отдела телевизионных и мультимедийных технологий:

– предоставление отделам и кафедрам СибГИУ различных телевизионных услуг для эффективного решения образовательных задач;

– видеосъёмка, редактирование, монтаж и архивация материала, подготовка видеоотчета о проводимых мероприятиях с последующей трансляцией в локальной компьютерной сети СибГИУ;

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

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

– формирование архива учебных и информационных фильмов университета;

– обеспечение проведения мероприятий в «Конференц-зале» ауд. №3 БПА;

– отработка технологии ТВ вещания в компьютерных сетях.

Основные функции отдела информатизации образования:

– организация дистанционного образования, сопровождение и обеспечение работы систем дистанционного обучения ВУЗа на базе Internet и мультимедиа технологий;

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

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

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

1.2 Характеристики производственных и технологических процессов

Основные технологические процессы, протекающие на данном предприятии:

– учебный процесс;

– научно-исследовательская работа.

К вспомогательным технологическим процессам относятся:

– финансовое планирование;

– учет трафика;

– ведение внутреннего хозяйства.

Рассмотрим главный технологический процесс - учебный процесс.

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

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

– заявление о приеме;

– документ государственного образца об образовании;

– 6 фотографий 3x4 см;

– свидетельства о результатах ЕГЭ;

– документы, дающие право на льготы, установленные законодательство Российской Федерации (для лиц, претендующих при поступлении на указанные льготы);

– копию трудовой книжки (для поступающих на заочную и очно-заочную форму обучения).

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

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

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

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

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

– аспирантура и докторантура;

– второе высшее образование;

– получение дополнительного профессионального образование;

– профессиональная ориентации и содействие трудоустройству.

Диаграмму процесса обучения можно увидеть на рисунке 1.3.

Рисунок 1.3 - UML-диаграмма процесса обучения

Подавляющее большинство информационных потоков внутри университета можно отнести к следующим трем видам:

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

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

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

1.3 Применение на предприятии информационных технологий и систем

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

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

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

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

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

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

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

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

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

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

В связи с началом использования с 1 января 2010 г. общероссийского классификатора видов экономической деятельности, продукции и услуг (ОКДП) в качестве основного справочника одноименных товаров в соответствии с положениями Федерального закона от 21 июля 2005 года № 94-ФЗ "О размещении заказов на поставки товаров, выполнение работ, оказание услуг для государственных и муниципальных нужд" модифицирована система учета государственных закупок. Разработан алгоритм перевода линейного классификатора ОКДП в иерархический вид, используемый в системе учета государственных закупок. Произведена загрузка классификатора и назначено разграничение по периоду действия. До 2010 года все документы используют предыдущую версию справочника одноименных товаров, а с 2010 года классификация номенклатуры закупок осуществляется только по ОКДП.

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

Система управления закупками.

С целью обеспечения эффективного расходования бюджетных, внебюджетных и целевых средств Университета при организации закупок продукции в соответствии с федеральным законом «О размещении заказов на поставки товаров, выполнение работ, оказание услуг для государственных и муниципальных нужд» от 21 июля 2005 г. №94-ФЗ с декабря 2006 года ведутся работы по разработке и внедрению системы управления закупками.

Были определены необходимые функциональные возможности системы управления закупками:

– ведение текущего номенклатурного справочника закупаемой продукции, справочника подразделений и поставщиков продукции;

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

– ввод заявок от служб и подразделений на приобретение товаров и услуг;

– формирование и ввод договоров с поставщиками на фиксированные суммы и перечень товаров по классификаторам продукции;

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

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

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

Система электронного документооборота.

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

Система управления учебным процессом.

Целью создания системы является информационное обеспечение учебного процесса университета. Система основывается на базе существующей локальной вычислительной сети университета. Данные хранятся на сервере баз данных (применяется СУБД Interbase), клиентские приложения (автоматизированные рабочие места пользователей) реализованы в виде исполняемых модулей для операционной системы Windows.

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

Системы для применения в учебной деятельности:

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

– разработка системы управления учебным процессом и опытная эксплуатация подсистемы «Контингент»;

– разработка и внедрение информационной системы «Электронный архив студенческих документов».

Системы прикладного назначения:

– внедрение системы электронного документооборота;

– опытная эксплуатация системы управления персоналом на базе системы “1С. Предприятие 8.0”;

– разработка и внедрение автоматизированной системы учета трафика пользователей сети Интернет;

– разработка и внедрение Электронного каталога « Архив подразделений ГОУ ВПО «СибГИУ»;

– модернизация автоматизированной информационной системы «Учет технических и программных средств университета».

Системы для обеспечения финансово-экономической деятельности:

– разработка программного обеспечения для обмена финансовой информацией по банковским картам Банка Москвы;

– установка аппаратно-программных средств криптографической защиты, с целью обмена финансовыми документами с отделением федерального казначейства РФ по Кемеровской области и подключение вуза к защищенной системе электронного документооборота с ОФК РФ по Кемеровской области;

– модификация базы данных и пользовательского интерфейса кассовых операций по дополнительным услугам университета для работы в сети, обновление ПТС и фиксализация восьми кассовых аппаратов для работы в кассах СибГИУ;

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

– разработка программного обеспечения для контроля над исполнением смет университета.

2. Специальная часть

2.1 Использование сокетов

Программа была выполнена средствами Delphi 7. Обмен данными с сервером реализован при помощи сокетов.

Какие бы замечательные идеи в области телекоммуникаций, распределенных баз знаний или поисковых систем не пришли бы в голову, реализовать их на практике можно, лишь написав соответствующую программу. Основные операционные среды (Unix или Windows) базируются в настоящее время на идеологии сокетов (socket). Эта технология была разработана в университете города Беркли (США) для системы Unix, поэтому соединители (сокеты) иногда называют сокетами Беркли (berkeley sockets). Сокеты реализуют механизм взаимодействия не только партнеров по телекоммуникациям, но и процессов в ЭВМ вообще. Технология сокетов лежит в основе современного сетевого программирования.

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

Для общей синхронизации работы сервиспровайдеров и приложений в winsock введено понятие объектов событий. Объекты событий служат, в частности, для организации работы совмещенных по времени процессов информационного обмена. Здесь уместно замечание об использовании стандартных номеров портов. В многозадачных, многопользовательских системах стандартные номера портов используются при инициализации процесса. Так как допускается несколько идентичных соединений (например, несколько одновременных сессий FTP) между клиентом и сервером, стандартными номерами портов здесь не обойтись. Ведь PsIPs сервера могут соответствовать несколько PcIPc клиента.

В системах, ориентированных на соединение, пара комбинаций IP-адресов и номеров портов однозначно определяет канал связи между двумя процессами в ЭВМ. Такая комбинация называется сокетом (socket). Номера портов могут и совпадать, так как относятся к разным машинам, но IP-адреса должны быть обязательно разными. Впервые идея сокета была использована в системе BSD4.3 Unix для организации сетевого ввода/вывода. В Unix внешнее устройство и файл с точки зрения системного программиста эквивалентны. Сетевые процедуры несколько сложнее и не укладываются в такую простую схему. Из этой схемы выпадают, прежде всего, операции, при которых сервер пассивно ожидает обращения, особенно операции обмена, не ориентированные на соединение. Сокет является пограничным понятием между протоколами телекоммуникаций и операционной системой ЭВМ. Сокеты играют важную роль при написании прикладных программ (API).

Сокет отправителя = IP-адрес отправителя + номер порта отправителя

Сокет адресата = IP-адрес адресата + номер порта адресата

При обменах, ориентированных на соединение, формируется ансамбль (IPSPS + IPDPD), где IPSPS -- адрес и порт отправителя, а IPDPD - адрес и порт места назначения.

Межкомпьютерные коммуникации не сводятся к знакомству с соседским депозитарием, к выполнению операций Telnet/ssh, FTP/scp и т.д. Одной из важнейших задач является удаленный контроль над процессами в больших распределенных системах, когда обмен информацией активизируется не человеком, а ЭВМ. Примерами таких задач могут служить управление современными высокотехнологичными производствами, сбор метео- или другой геофизической информации в реальном масштабе времени, эксперименты в области физики высоких энергий, где для контроля установки и сбора экспериментальных данных используются десятки (а иногда и сотни) вычислительных машин, которые обмениваются диагностической информацией и данными. Именно для решения таких задач и применяются идеи сокетов, "труб" и т.д. Понятие сокета в прикладных программах -- это не просто комбинация IP-адресов и номеров портов, это указатель на структуру данных, где хранятся параметры виртуального канала.

Сокеты - это интерфейс прикладного программирования для сетевых приложений TCP/IP. Интерфейс сокетов был создан в восьмидесятых годах для операционной системы UNIX. Позднее интерфейс сокетов был перенесен в Microsoft Windows. Сокеты до сих пор используются в приложениях для сетей TCP/IP. В переводе с английского "sockets" - гнезда, т.е. сетевые приложения используют сокеты, как виртуальные разъемы для обмена данными между собой. Сокеты бывают трех видов: клиентские, слушающие и серверные.

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

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

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

Формат адреса сокета определяется конкретным протоколом. В частности, для протоколов TCP и UDP адрес состоит из IP-адреса сетевого интерфейса и номера порта.

Каждый сокет имеет два буфера: для входящих и для исходящих данных. При отправке данных они сначала кладутся в буфер исходящих, и лишь затем отправляются в фоновом режиме. Программа в это время продолжает свою работу. При получении данных сокет кладёт их в буфер для входящих, откуда они затем могут извлекаться программой. Считывание с сокета блокируется до тех пор, пока в приемном буфере ничего нет (если сокет объявлен неблокирующим, операция чтения возвращает сообщение об ошибке). Сразу же после получения, данные пересылаются в прикладную программу (даже если число полученных байтов меньше необходимого). Запись в сокет блокируется только в том случае, если буфер передачи переполнен (если сокет объявлен неблокирующим, операция записи возвращает сообщение об ошибке). Байты, хранящиеся в буфере, не пересылаются в сеть до тех пор пока буфер не переполнится. Можно осуществить запись экспресс данных ("out of band"), в этом случае не используются механизмы буферизации, и данные принимаются программой-получателем перед обычным потоком. Для каждого подключенного клиента сервер открывает отдельный сокет, по которому происходит обмен данными с клиентом. Схема работы с сокетами:

а) определение свойств Host и Port - чтобы успешно установить соединение, нужно присвоить свойствам Host и Port компонента TClientSocket требуемые значения. Host - это хост-имя (например: nitro.borland.com) либо IP-адрес (например: 192.168.0.88) компьютера, с которым надо соединиться. Port - номер порта (от 1 до 65535) для установления соединения. Обычно номера портов берутся, начиная с 1001 - т.к. номера меньше 1000 могут быть заняты системными службами (например, POP - 110). Чтобы к серверу могли подключаться клиенты, нужно, чтобы порт, используемый сервером, точно совпадал с портом, используемым клиентом;

б) открытие сокета - после того, как назначили свойствам Host и Port соответствующие значения, можно приступить непосредственно к открытию сокета. Для этого можно вызвать метод Open компонента TClientSocket, либо присвоить свойству Active значение True;

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

г) посылка/прием данных - это, собственно и есть то, для чего открывалось сокетное соединение. Протокол обмена данными также зависит от сервера;

д) закрытие сокета - после всех выполненных операций необходимо закрыть сокет с помощью метода Close компонента TClientSocket (либо присвоить свойству Active значение False).

Обмен данными - это очевидно основная задача установленного соединения сокетов. Эта задача может выполняться двумя способами, в зависимости от того, какой тип сокетов мы используем: блокирующие или не блокирующие. Если сокет неблокирующий (у клиентского сокета свойство ClientType имеет значение ctNonBlocking, а у серверного сокета свойству ServerType присвоено значение stNonBlocking), то операции чтения или записи происходят асинхронно и не блокируют выполнение программного кода. Если сокеты используют режим блокировки (у клиентского сокета свойство ClientType имеет значение ctBlocking, а у серверного сокета свойству ServerType присвоено значение stThreadBlocking), операции чтения и записи начинаются только после инициализации. В таком режиме работы при создании нового соединения серверный сокет выделяет для него свой поток, чтобы процесс блокировки не мешал работе остальных соединений. В зависимости от выполняемой задачи бывает, что приходится выделять для процессов чтения и записи на клиентской стороне соединения отдельный поток. В случае неблокирующих сокетов, когда сокет получает запрос на чтение или запись, вызываются события OnRead и OnWrite у клиентского сокета и события OnClientRead и OnClientWrite у серверного сокета. В обработчиках этих событий следует разместить соответствующий код, выполняющий эти задачи. Для чтения данных нужно применять методы ReceiveBuf и ReceiveText. Для первого метода сначала нужно узнать размер присылаемого другим сокетом буфера. Сделать это можно при помощи метода ReceiveLength. Чтобы записать данные в соединение сокетов можно использовать один из трех методов: SendBuf, SendStream или SendText. Если применить метод SendStreamThenDrop, то после отправки данных сервер разорвет соединение. Существует два типа сокетов - потоковые и дейтаграммные. С помощью потоковых сокетов вы можете создавать каналы передачи данных между двумя приложениями в виде потоков. Потоки могут быть входными или выходными, обычными или форматированными, с использованием или без использования буферизации. Потоковые сокеты работают с установкой соединения, обеспечивая надежную идентификацию обоих сторон, и гарантируют целостность и успешность доставки данных.

Заметим, что потоковые сокеты позволяют передавать данные только между двумя приложениями, так как они предполагают создание канала между этими приложениями. Однако иногда нужно обеспечить взаимодействие нескольких клиентских приложений с одним серверным или нескольких клиентских приложений с несколькими серверными приложениями. В этом случае вы можете либо создавать в серверном приложении отдельные задачи и отдельные каналы для каждого клиентского приложения, либо воспользоваться дейтаграммными сокетами. Последние позволяют передавать данные сразу всем узлам сети, хотя такая возможность редко используется и часто блокируется администраторами сети. На рисунке 2.1 изображена схема взаимодействия клиента и сервера посредством потокового сокета. Для передачи данных через дейтаграммные сокеты вам не нужно создавать канал - данные посылаются непосредственно тому приложению, для которого они предназначены с использованием адреса этого приложения в виде сокета и номера порта. При этом одно клиентское приложение может обмениваться данными с несколькими серверными приложениями или наоборот, одно серверное приложение - с несколькими клиентскими.

Рисунок 2.1 - Схема взаимодействия клиента и сервера посредством потокового сокета

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

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

Рисунок 2.2 - Схема взаимодействия клиента и сервера посредством дейтаграммного сокета

Потоковые сокеты, напротив, гарантируют доставку пакетов данных, причем в правильной последовательности.

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

2.2 Использование динамических библиотек

Для реализации интерфейса была выбрана DLL библиотека.

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

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

Области применения DLL:

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

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

библиотеки поддержки (в качестве примера можно привести библиотеки таких известных пакетов, как: DirectX, ICQAPI, OpenGL и т.д.);

части программы (в DLL можно хранить окна программы);

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

разделяемый ресурс (DLL может быть использована сразу несколькими программами или процессами (т.н. sharing - разделяемый ресурс)). Методы импортирования функций из библиотеки:

1. Статическая загрузка DLL.

Это наиболее простой и легкий метод для использования функций, импортируемых из DLL. Однако этот способ имеет очень весомый недостаток - если библиотека, которую использует программа, не будет найдена, то программа просто не запустится, выдавая ошибку и сообщая о том, что ресурс DLL не найден. А поиск библиотеки будет вестись: в текущем каталоге, в каталоге программы, в каталоге WINDOWS\SYSTEM, и т.д. Общая форма статической загрузки:

implementation...function FunctionName(Par1: Par1Type; Par2: Par2Type; ...): ReturnType; stdcall; external 'DLLNAME.DLL' name 'FunctionName' index FuncIndex;// или (если не функция, а процедура): procedure ProcedureName(Par1: Par1Type; Par2: Par2Type; ...); stdcall; external 'DLLNAME.DLL' name 'ProcedureName' index ProcIndex;

Здесь:

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

Par1, Par2, ... - имена параметров функции или процедуры;

Par1Type, Par2Type, ... - типы параметров функции или процедуры (например, Integer);

ReturnType - тип возвращаемого значения (только для функции);

stdcall - директива, которая должна точно совпадать с используемой в самой DLL;

external 'DLLNAME.DLL' - директива, указывающая имя внешней DLL, из которой будет импортирована данная функция или процедура;

name 'FunctionName' ('ProcedureName') - директива, указывающая точное имя функции в самой DLL. Это необязательная директива, которая позволяет использовать в программе функцию, имеющую название, отличное от истинного (которое она имеет в библиотеке);

index FunctionIndex (ProcedureIndex) - директива, указывающая порядковый номер функции или процедуры в DLL. Это также необязательная директива.

2. Динамическая загрузка DLL.

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

Краткое описание используемых этим методом функций WinAPI:

LoadLibrary (LibFileName: PChar) - загрузка указанной библиотеки LibFileName в память. При успешном завершении функция возвращает дескриптор DLL в памяти.

GetProcAddress (Module: THandle; ProcName: PChar) - считывает адрес экспоpтиpованной библиотечной функции. При успешном завершении функция возвращает дескриптор функции в загруженной DLL.

FreeLibrary (LibModule: THandle) - делает недействительным LibModule и освобождает связанную с ним память. Следует заметить, что после вызова этой процедуры функции данной библиотеки больше недоступны.

2.3 Взаимодействие приложения и динамической библиотеки

Для взаимодействия разработан абстрактный класс TDllobject.

TDllobject = class

private

public

function CreateFM: Boolean; virtual; abstract;

function ShowFM(fm: THandle): Pointer; virtual; abstract;

function ReleaseFM: Boolean; virtual; abstract;

function Read(Zadanie: string): Boolean; virtual; abstract;

function Write: string; virtual; abstract;

end;

TDllobjectClass = class of TDllobject;

2.4 Описание модуля клиента

2.4.1 Описание элементов управления

Рабочее пространство модуля состоит из двух частей:

- область для интерфейса соревнования;

- область информации и управления.

2.4.2 Регистрация в системе

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

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

2.4.3 Авторизация в системе

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

При нажатии на кнопку “Ввод” введенные данные отправляются на проверку. Если данные не прошли проверку, то пользователь должен пройти процедуру авторизации заново. При успешной авторизации пользователю становится доступен список планируемых соревнований.

2.4.4 Проведение соревнований

В списке игр отображены все доступные на данный момент времени соревнования.

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

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

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

2.4.5 Восстановление соревнования

Восстановление соревнования требует присутствия администратора.

Доступные для восстановления соревнования находятся в пункте меню “Список игр” раздела меню “Действия” с пометкой о их статусе. После выбора соревнования пользователь переходит в режим ожидания подтверждения о его восстановлении.

Во время ожидания пользователь может отказаться от восстановления соревнования, нажав на кнопку “Отказ”.

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

3. Технико-экономическое обоснование проекта

3.1 Организация и планирование работ

Целью работы является разработка автоматизированной системы проведения соревнований игрового типа с реализацией клиентского модуля. Данный проект разработан с использованием среды программирования Delphi.

В данной части дипломного проекта рассматриваются:

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

б) затраты на внедрение и эксплуатацию создаваемой системы;

в) расчет эффективности созданной системы.

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

Таблица 3.1 - План предстоящих работ

Наименование этапа

Срок исполнения, дней

Исполнитель

Коэф. загрузки

Постановка задачи

2

Руководитель проекта

0,9

Инженер-разработчик

0,1

Сбор и изучение материалов по предметной области

6

Руководитель проекта

0,1

Инженер-разработчик

0,9

Составление плана работы

5

Руководитель проекта

0,8

Инженер-разработчик

0,2

Характеристика объекта исследования

7

Инженер-разработчик

1

Выбор и описание методов решения

9

Руководитель проекта

0,3

Инженер-разработчик

0,7

Реализация прототипа клиентской части системы

45

Руководитель проекта

0,1

Инженер-разработчик

0,9

Технико-экономическое обоснование проекта

5

Инженер-разработчик

0,8

Консультант по экономической части

0,2

Безопасность и экологичность проекта

5

Инженер-разработчик

0,8

Консультант по экологической части

0,2

Решение задач управления качеством

5

Инженер-разработчик

0,8

Консультант по управлению качеством

0,2

Оформление пояснительной записки и графической части

7

Руководитель проекта

0,2

Инженер-разработчик

0,8

Подготовка доклада по проекту

3

Руководитель проекта

0,2

Инженер-разработчик

0,8

Таким образом, занятость в проекте составила 99 рабочих дней.

3.2 Расчет затрат на проектирование

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

Расчет затрат на проектирование производится по формуле (3.1):

(3.1)

где - затраты на проектирование, (руб.);

- затраты на оборудование, (руб.);

- амортизация, (руб.);

- затраты на оплату труда разработчиков проекта, (руб.);

- отчисления на социальные нужды, (руб.);

- накладные расходы, (руб.);

- затраты на расходные материалы, (руб.);

- затраты на электроэнергию, (руб.);

- прочие затраты, (руб.).

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

3.2.1 Расчет затрат на оборудование и материалы

Затраты на оборудование и материалы складываются из затрат на приобретение оборудования и материалов для проектирования. В затраты также включаются транспортные и монтажные расходы на это оборудование (формула 3.2):

(3.2)

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

- затраты на транспортировку оборудования, руб.;

- затраты на монтаж оборудования, руб.;

Затраты на транспортировку составляют 3 % от стоимости оборудования (формула 3.3):

(3.3)

Стоимость монтажа составляет 5 % от стоимости оборудования (формула 3.4):

(3.4)

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


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

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