рефераты рефераты
Домой
Домой
рефераты
Поиск
рефераты
Войти
рефераты
Контакты
рефераты Добавить в избранное
рефераты Сделать стартовой
рефераты рефераты рефераты рефераты
рефераты
БОЛЬШАЯ ЛЕНИНГРАДСКАЯ БИБЛИОТЕКА
рефераты
 
МЕНЮ
рефераты Обеспечение всемирной трансляции спортивных шахматных соревнований с применением разработанного в ходе проекта законченного программного продукта рефераты

БОЛЬШАЯ ЛЕНИНГРАДСКАЯ БИБЛИОТЕКА - РЕФЕРАТЫ - Обеспечение всемирной трансляции спортивных шахматных соревнований с применением разработанного в ходе проекта законченного программного продукта

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

86

Содержание

  • Введение
  • 1. Общая часть
  • 1.1 Характеристика структурного подразделения "Шахматный клуб"
  • 1.2 Обзор шахматных систем-прототипов
  • 1.3 Анализ достоинств и недостатков
  • 1.4 Техническое задание на создание информационной системы "Шахматный клуб"
  • 2. Специальная часть
  • 2.1 Выбор основных методологий разработки программного обеспечения
  • 2.1.1 Каскадная методология
  • 2.1.2 Экстремальная методология
  • 2.2 Выбор инструментальных средств
  • 2.3 Содержательная постановка задачи создания СШПО
  • 2.4 Разработка алгоритма решения задачи
  • 2.5 Описание разработанного программного комплекса
  • 2.5.1 Транслятор шахматных партий
  • 2.5.2 Регистратор шахматных партий
  • 2.6 Тестовые испытания и анализ результатов
  • 3. Технико-экономическое обоснование проекта
  • 3.1 Целесообразность и область применения разработки
  • 3.2 Расчет затрат на разработку специализированного шахматного программного обеспечения
  • 3.3 Расчет эксплуатационных затрат
  • 3.4 Оценка экономической эффективности проекта
  • 4. Безопасность и экологичность проекта
  • 4.1 Безопасность труда
  • 4.1.1 Анализ условий труда на рабочем месте инженера структурного подразделения "Шахматный клуб" ГОУ ВПО "СибГИУ"
  • 4.1.2 Меры по безопасности труда
  • 4.2 Чрезвычайные ситуации
  • 4.2.1 Электробезопасность
  • 4.2.2 Пожарная безопасность
  • 4.2.3 Организационно-штатная структура по ГО и ЧС
  • 4.2.4 Чрезвычайные ситуации, которые могут возникнуть на территории ГОУ ВПО "СибГИУ"
  • 4.2.5 Способы оповещения при ЧС
  • 4.2.6 Действия по видам сообщения при передаче сигнала "Внимание всем!"
  • 4.2.7 Организация защиты сотрудников и студентов ГОУ ВПО "СибГИУ"
  • при возникновении ЧС мирного и военного времени
  • 4.3 Экологическая безопасность
  • Заключение
  • Список использованных источников
  • Приложение А. Календарный план работ по созданию системы
  • Приложение Б. Комплектность документации на систему
  • Приложение В. Листинг программы-транслятора шахматных партий
  • Приложение Г. Листинг программы-регистратора шахматных партий
  • Приложение Д. Снимки экрана
  • Приложение Е. Протокол DGT
  • Приложение Ж. Общая структура транслятор шахматных партий
  • Приложение З. Общая структура регистратора шахматных партий
  • Приложение И. Анализ результатов тестовых испытаний
  • Приложение К. Листинг модуля вещания шахматных партий
  • Введение
  • В настоящее время во всем мире резко возросло число спортивных шахматных соревнований высокого и среднего уровня. Это способствует резкому росту общественного интереса к данному виду спорта и накладывает требование широкого освещения подобных событий в средствах массовой информации и сети Интернет. Для этих целей в настоящее время активно используются информационные системы, оснащенные электронными шахматными досками и оборудованием для отображения информации. Однако все подобные системы имеют ряд существенных недостатков. Все они вытекают в основном из отсутствия рынка информационных шахматных систем. Во-первых, большую сложность представляет закупка оборудования для информационных шахматных систем, так как его поставкой в мире занимается только 3 организации, и велик перечень требований, которые необходимо указать при заказе. Во-вторых, отсутствует свободно распространяемое программное обеспечения для подобных систем.
  • В данном дипломном проекте приводится пример создания информационной шахматной системы и делается попытка создания для нее программного обеспечения.
  • Целью дипломного проекта в первую очередь является обеспечение всемирной трансляции спортивных шахматных соревнований с применением разработанного в ходе проекта законченного программного продукта. В дальнейшем планируется коммерческое использование данной разработки.
  • 1. Общая часть
  • 1.1 Характеристика СП «ШК»
  • Структурное подразделение «Шахматный клуб» входит в состав государственного образовательного учреждения высшего профессионального образования «Сибирский государственный индустриальный университет» (ГОУ ВПО «СибГИУ»). Помещение шахматного клуба является полигоном кафедры «Физического воспитания, здоровья и спорта» (ФВЗиС) для проведения занятий по дисциплине «Шахматы» для студентов, по состоянию здоровья не пригодных к занятиям физической культурой в основной учебной группе. В настоящее время в помещении структурного подразделения «Шахматный клуб» (СП «ШК») занимается около 300 студентов и сотрудников университета. Изменение количества студентов, занимающихся в помещении СП «ШК» по дисциплине «Шахматы» за последние 5 лет отражает рисунок 1.
  • Рисунок 1 - Изменение числа студентов, обучающихся по дисциплине «Шахматы»
  • Таким образом, число студентов, занимающихся по дисциплине «Шахматы» за последние 5 лет стабильно не претерпевает резких изменений.
  • Помимо этого, помещение СП «ШК» является базой для проведения соревнований по шахматам различного уровня: от внутригородских до международных.
  • Учебный процесс по дисциплине «Шахматы» осуществляется в соответствии с учебным планом занятий кафедры ФВЗиС. Правила шахматной игры и правила проведения шахматных соревнований регулируются кодексом международной шахматной федерации ФИДЕ.
  • Процесс проведения соревнований по шахматам в помещении СП «ШК» осуществляется в соответствии с календарным планом проведения соревнований на текущий год, а также в сотрудничестве с городским муниципальным учреждением дополнительного образования детей «Специализированной детско-юношеской спортивной школой Олимпийского резерва по шахматам имени Б. А. Кустова» (МУДОД «СДЮСШОР по шахматам»).
  • Корпус СП «ШК» включает в себя следующие помещения: основной турнирный зал, судейская, раздевалка, преподавательская, малый турнирный зал, кабинет директора, подсобное помещение, туалетные комнаты. СП «ШК» оснащено следующим инвентарём: шахматные столы - 53 штуки; комплекты шахмат - 40 штук; шахматные часы - 40 штук. Обслуживающий персонал шахматного клуба: директор, ведущий инженер, две технички. Занятия в помещении СП «ШК» проводят 3 преподавателя кафедры физической культуры, здоровья и спорта. Во время проведения спортивных соревнований в случае нехватки инвентаря и оборудования все необходимое предоставляется в безвозмездное пользование на период соревнований городским МУДОД «СДЮСШОР по шахматам». Нехватка персонала на период спортивных состязаний компенсируется путем командировки работников городского МУДОД «СДЮСШОР по шахматам» на обслуживание и судейство соревновательного процесса, а также путем привлечения студентов-разрядников на волонтерских началах. Организационная структура СП «ШК», включающая работников смежных подразделений и учреждений, представлена на рисунке 2.
  • Рисунок 2 - Организационная структура СП «ШК»
  • За последнее время резко возросло число соревнований, проводимых в помещении СП «ШК». В сотрудничестве с городским МУДОД «СДЮСШОР по шахматам» в помещении СП «ШК» только за 2007 год были проведены следующие городские соревнования по шахматам:
  • · первая лига г.Новокузнецка по шахматам среди мужчин;
  • · первая лига г.Новокузнецка по шахматам среди женщин;
  • · лично-командный студенческий чемпионат ГОУ ВПО «СибГИУ» по шахматам среди факультетов;
  • · лично-командный преподавательский чемпионат ГОУ ВПО «СибГИУ» по шахматам среди факультетов;
  • · чемпионат г. Новокузнецка по шахматам среди ветеранов;
  • · традиционная летняя городская Спартакиада;
  • · турнир по быстрым шахматам среди студентов;
  • · первенство города по блицу среди студентов;
  • внутригородские шахматные соревнования, приуроченные к различным праздникам:
  • · традиционный новогодний блицтурнир;
  • · блиц турнир ко Дню Победы среди студентов;
  • · блиц турнир ко Дню Победы среди ветеранов;
  • · рождественский шахматный турнир;
  • · турнир, посвященный 8 марта;
  • · турнир, посвященный 23 февраля;
  • соревнования от областного до международного уровня:
  • · чемпионат СФО по шахматам среди мальчиков до 8 лет;
  • · чемпионат СФО по шахматам среди девочек до 8 лет;
  • · чемпионат СФО по шахматам среди мальчиков до 10 лет;
  • · чемпионат СФО среди мальчиков до 10 лет по быстрым шахматам;
  • · чемпионат СФО по шахматам среди девочек до 10 лет;
  • · чемпионат СФО среди девочек до 10 лет по быстрым шахматам;
  • · чемпионат СФО по шахматам среди мальчиков до 12 лет;
  • · чемпионат СФО среди мальчиков до 12 лет по быстрым шахматам;
  • · чемпионат СФО по шахматам среди девочек до 12 лет;
  • · чемпионат СФО среди девочек до 12 лет по быстрым шахматам;
  • · чемпионат СФО по шахматам среди мужчин;
  • · чемпионат СФО по шахматам среди женщин;
  • · областная спартакиада ВУЗов Кузбасса (студенты);
  • · областная спартакиада ВУЗов Кузбасса (преподаватели);
  • · областной командный турнир ветеранов в честь Дня Победы;
  • · традиционный международный турнир памяти Толстогузова, мужчины;
  • · традиционный международный турнир памяти Толстогузова, женщины;
  • · традиционный международный турнир памяти Толстогузова, преподаватели ВУЗов;
  • · первенство области по шахматам среди мальчиков до 8 лет;
  • · первенство области по шахматам среди девочек до 8 лет;
  • · первенство области по шахматам среди мальчиков до 10 лет;
  • · первенство области среди мальчиков до 10 лет по быстрым шахматам;
  • · первенство области по шахматам среди девочек до 10 лет;
  • · первенство области среди девочек до 10 лет по быстрым шахматам;
  • · первенство области по шахматам среди мальчиков до 12 лет;
  • · первенство области среди мальчиков до 12 лет по быстрым шахматам;
  • · первенство области по шахматам среди девочек до 12 лет;
  • · первенство области среди девочек до 12 лет по быстрым шахматам;
  • За последнее время работниками СП «ШК» в сотрудничестве с городским МУДОД «СДЮСШОР по шахматам» были проведены следующие крупнейшие международные шахматные форумы:
  • · лично-командный чемпионат России по шахматам среди студентов ВУЗов;
  • · лично-командный чемпионат Мира по шахматам среди студентов ВУЗов (во время написания дипломной работы данный шахматный форум находился на стадии подготовки).
  • На чемпионате России по шахматам среди студентов ВУЗов команде ГОУ ВПО «СибГИУ» (в составе которой был и автор данной дипломной работы; тренер команды - мастер международного класса по шахматам, преподаватель кафедры физического воспитания, здоровья и спорта Зайцев В. В.) удалось стать бронзовыми призерами. А, немного забегая вперед, на лично-командном чемпионате Мира по шахматам среди студентов ВУЗов сборная студенческая команда России, в составе которой выступали от ГОУ ВПО «СибГИУ» два представителя, выступила очень успешно, с крупным отрывом обогнав ближайших конкурентов, сборную команду Китая, и победив на этом грандиозном спортивном состязании.
  • В ближайшее время в г. Новокузнецке планируется провести еще ряд крупнейших шахматных состязаний, вот только несколько из них:
  • · чемпионат СФО по шахматам среди юниоров по классическим и быстрым шахматам (все возрастные категории - до 8, до 10, до 12, до 14, до 16, до 18 лет; и среди юношей и среди девушек. Таким образом - 22 турнира, включая турниры по быстрым шахматам. Причем одновременно будет проводиться сначала 12 турниров по классическим шахматам, а затем 10 турниров по быстрым шахматам);
  • · высшая лига чемпионата России среди мужчин и женщин (один из сильнейших шахматных форумов России и мира, раньше традиционно проводящийся в г.Сочи).
  • Помимо всего вышесказанного, в ходе работы структурного подразделения «Шахматный клуб» в сотрудничестве с городским МУДОД «СДЮСШОР по шахматам» сложилась хорошая традиция - отправлять в качестве поощрения лучших студентов спортсменов на международные соревнования за границу. Для реализации данной идеи привлекаются спонсорские средства, средства ГОУ ВПО «СибГИУ», средства городского МУДОД «СДЮСШОР по шахматам». География шахматных турниров, в которых участвовали спортсмены ГОУ ВПО «СибГИУ» действительно впечатляет:
  • · Малайзия. 2003 год. Лично-командный чемпионат Мира по шахматам среди студентов ВУЗов;
  • · Чехия. 2005 год. Европейский международный турнир;
  • · Хорватия 2006 год. Европейский международный турнир;
  • · Албания 2007 год. Европейский международный турнир;
  • · Греция 2008 год. Европейский международный турнир (планируется).
  • Кроме этого, команда ГОУ ВПО «СибГИУ» в полном составе регулярно выезжает на крупные спортивные состязания на территории России. Вот только некоторые традиционно посещаемые командой ГОУ ВПО «СибГИУ» по шахматам спортивные форумы:
  • · областная спартакиада ВУЗов Кузбасса (проводится попеременно в г.Новокузнецке и в г.Кемерово);
  • · чемпионат России по шахматам среди студентов ВУЗов (проводится каждый раз в разных городах. Несколько последних турниров проводилось в: г.Новокузнецке, г.Нижнем Тагиле, г.Уфа);
  • · традиционный международный шахматный фестиваль «Маэстро», г. Берцк;
  • · чемпионат СФО по шахматам среди мужчин и женщин (проводится каждый раз в разных городах. Несколько последних турниров проводилось в: г. Новокузнецке, г. Ангарске, г. Улан-Удэ, г.Томске).
  • В СП «ШК» занятия по дисциплине «Шахматы» ведутся весьма квалифицированными преподавателями. Двое преподавателей имеют высокие международные звания. Это мастер международного класса по шахматам Сорокина Т. Н. и мастер международного класса по шахматам Зайцев В. В. Преподаватели СП «ШК» активно участвуют в спортивной жизни города, области, страны и мира, показывая наглядный пример студентам ВУЗа. География соревнований, в которых участвовали и участвуют преподаватели ГОУ ВПО «СибГИУ» достаточно широка и насчитывает более десятка стран.
  • На основании анализа итогов работы СП «ШК» ГОУ ВПО «СибГИУ» был сделан вывод о необходимости создания специализированной информационной шахматной системы, обеспечивающей нормальный процесс проведения спортивных соревнований, освещения их для широкого круга наблюдателей, подготовки студентов-спортсменов к высшим спортивным достижениям.
  • 1.2 Обзор шахматных систем прототипов
  • В настоящее время рынок шахматных информационных систем практически отсутствует. Поэтому отсутствует и массовое серийное производство подобных систем. Электронное шахматное оборудование во всем мире можно приобрести только у 3 организаций:
  • · Фирма «Шахком», генеральный директор Борис Ешан, Санкт-Петербург.
  • · Информационный шахматный центр российской шахматной федерации, Москва.
  • · Международная шахматная федерация ФИДЕ.
  • Электронное шахматное оборудование в свободной продаже практически отсутствует. Его необходимо заказывать индивидуально, указывая необходимую комплектацию и свои пожелания. Сроки поставки оборудования могут варьироваться от нескольких дней до нескольких месяцев, в зависимости от дальности поставки. Бесплатное сервисное обслуживания для этого оборудования не предусмотрено. Все эти обстоятельства сильно осложняют создание подобных систем в географически удаленных от центральной части России регионах.
  • До настоящего времени подавляющее большинство создаваемых информационных шахматных систем представляло собой миниатюрный вариант, состоящий из небольшого числа электронных шахматных досок (ЭШД), от 2 до 10 штук, соединенных или несоединенных между собой и подключаемых к компьютеру через стандартный сom-порт; одного или двух проекторов, с помощью которых собственно отображались шахматные партии. Если это крупнейшие международные шахматные форумы, обслуживаемые международной шахматной федерацией ФИДЕ или информационным шахматным центром России, то подобные соревнования освещаются и транслируются в сети Интернет на таких шахматных сайтах, как:
  • · www.chesspro.ru;
  • · www.fide.com;
  • · www.russiachess.org;
  • · www.chesscenter.com;
  • · www.64.ru;
  • · www.russiachess.org.
  • Однако не в интересах специалистов международной шахматной федерации ФИДЕ и информационного шахматного центра России предоставлять в пользование или продавать специализированное программное обеспечение (СПО) для трансляции соревнований в сети Интернет, так как подобное СПО является объектом их интеллектуальной собственности и используется ими для обслуживания турниров в случае приглашения сотрудников этой организации.
  • В качестве систем прототипов информационной системы «Шахматный клуб» (ИС «ШК») приведем две системы.
  • а) Программно-технический комплекс, обеспечивающий трансляцию шахматных соревнований для присутствующей аудитории, Нижний Тагил, 2005 год, чемпионат России по шахматам среди студентов
  • Данный программно-технический комплекс (ПТК) представляет собой набор из следующих технических и программных средств:
  • · 4 ЭШД DGT;
  • · 4 комплекта фигур для ЭШД;
  • · 4 единицы электронных шахматных часов;
  • · персональный компьютер (ПК);
  • · 1 проектор;
  • · соединительные провода и переходники;
  • · программный пакет ChessAssistant9.1;
  • · драйвер для электронной шахматной доски dgtnix.
  • Электронные шахматные доски и электронные шахматные часы при помощи поставляемых в комплекте с ними переходников с com интерфейса на стандартный сетевой кабель, подключаются к магистральному проводу, который при помощи также поставляемого в комплекте переходника подключается к компьютеру через стандартный com-порт. В качестве магистрального провода используется кабель RJ45. Поступающая с электронных шахматных досок информация пакетами поступает на компьютер в программный продукт ChessAssistant9.1, причем процесс опроса стандартного com-порта инициируется драйвером dgtnix для электронных шахматных досок, а передача данных осуществляется с использованием протокола DGT. Поступающая информация сохраняется в отдельной базе данных программного продукта ChessAssistant9.1. Она включает в себя такие данные о шахматной партии, как:
  • · фамилия, имя, отчество игроков;
  • · результат партии;
  • · классификация дебюта шахматной партии;
  • · дата шахматной партии;
  • · город, страна где игралась шахматная партия;
  • · номер тура;
  • · название, ранг, статус соревнований;
  • · комментарии;
  • · международные звания и рейтинги игроков;
  • · непосредственно сам текст шахматной партии и т.д.
  • Далее информация, поступившая в базу данных программного продукта ChessAssistant9.1, выводится на проектор и отображается в зрительном зале для присутствующей аудитории.
  • б) Программно-технический комплекс, обеспечивающий трансляцию шахматных соревнований для присутствующей аудитории и в сети Интернет, Москва, 2007 год, международный шахматный турнир «Аэрофлот-опен 2007»
  • Данный ПТК создавался и обслуживался специалистами информационного шахматного центра российской шахматной федерации. Поэтому полная информация о данном ПТК отсутствует. В качестве программного обеспечения для данной системы использовалось СПО, являющееся объектом интеллектуальной собственности.
  • Данный ПТК представляет собой набор из следующих технических и программных средств:
  • · 16 ЭШД DGT;
  • · 16 комплектов фигур для ЭШД;
  • · 16 единиц электронных шахматных часов;
  • · 2 ноутбука;
  • · 2 проектора;
  • · соединительные провода и переходники;
  • · СПО, обеспечивающее трансляцию соревнований для присутствующей аудитории и в сети Интернет;
  • · драйвер для электронной шахматной доски dgtnix.
  • Данный ПТК отличается от предыдущего бьльшим количеством комплектов ЭШД и единиц оборудования, а также возможностью трансляции спортивных соревнований в сети Интернет.
  • В представленной системе используется 2 магистральных провода, к каждому из которых подключается по 8 ЭШД. Магистральные провода, в качестве которых также используются кабели RJ45, подключаются к 2 ноутбукам, имеющим выход в сеть Интернет. Трансляция в сети интернет осуществляется с использованием СПО, являющегося объектом интеллектуальной собственности. Весь процесс соревнований также транслируется для присутствующей аудитории с использованием 2 проекторов. Схема подключения ЭШД подобна уже рассмотренной схеме подключения, технология передачи данных аналогична.
  • В общем виде работа рассмотренного ПТК представлена на рисунке 4.
  • Рисунок 4 - Иллюстрация работы ПТК, обеспечивающего трансляцию соревнований для присутствующей аудитории и в сети интернет
  • 1.3 Анализ достоинств и недостатков
  • Рассмотренные шахматные системы прототипы обладают рядом достоинств и недостатков. Некоторые из них свойственны только этому классу систем, а некоторые характерны для любых подобных систем.
  • Достоинствами подобных систем являются:
  • · шахматные ИС способствуют повышению интереса общественности к данному интеллектуальному виду спорта, привлечению молодежи к спортивной жизни страны и мира;
  • · шахматные ИС способствуют привлечению спонсорских средств, что делает подобные системы экономически привлекательными;
  • · ИС подобного класса способствуют привлечению большого числа людей для участия в крупных спортивных состязаниях, что является большим плюсом для экономики города и региона, в котором проводятся подобные форумы;
  • · подобные ИС способствуют повышению общей культуры проведения спортивных состязаний, эргономики и судейской деятельности;
  • · информационные шахматные системы (ИШС) способны организовывать моментальный перенос играющихся партий в электронную форму и осуществлять транслирование спортивных состязаний в режиме он-лайн (on-line) по всему миру через сеть Интернет;
  • · ИШС являются незаменимым помощником в случае возникновения спорных ситуаций и конфликтов, так как позиции играющихся партий сохраняются даже в случае полного нарушения расстановки фигур на шахматной доске;
  • · ИШС позволяют преодолеть ограниченность вмещаемости помещения, в котором проводятся спортивные состязания;
  • · данные ИС позволяют издавать подробные отчеты об итогах спортивных состязаний практически на следующий день после окончания турнира;
  • · подобные системы делают процесс, происходящий на шахматной доске, предельно понятным даже для людей, не знакомых хорошо с принципами игры; это достигается подключением анализируемых игровых и комментирующих программных модулей, что предусмотрено возможностями подобных систем.
  • К недостаткам рассмотренных шахматных систем прототипов, а также большинства подобных систем, относятся:
  • · сложность создания подобных систем, обусловленная следующими факторами:
  • o отсутствие оборудования для подобных систем в свободной продаже;
  • o большой перечень требований, которые необходимо указать при заказе необходимого оборудования;
  • o сложности по доставке оборудования в регионы, удаленные от центральной части страны;
  • o отсутствие бесплатного сервисного обслуживания;
  • o сложность замены бракованного оборудования вследствие большой удаленности фирмы производителя и фирмы поставщика;
  • · очень ограниченное число эксплуатируемых ЭШД, что делает использование подобных систем узконаправленным на трансляцию только нескольких первых партий соревнования; подобное обстоятельство делает невозможным проведение полномасштабных транслируемых соревнований и затрудняет создание всевозможных печатных отчетов об итогах турниров;
  • · так как рынок подобных систем является монополизированным, то фирмы монополисты сами устанавливают стоимость лицензии на использование оборудования;
  • · отсутствует в свободной продаже СПО для подобных систем, поэтому приходится надеяться на работоспособность СПО, поставляемого в комплекте с ЭШД.
  • 1.4 Техническое задание на создание ИС «ШК»
  • 1.4.1 Общие сведения
  • а) Наименование системы - информационная система «Шахматный клуб» ГОУ ВПО «Сибирский государственный индустриальный университет».
  • б) Разработчик:
  • Студент
  • Группа АИС-03, ГОУ ВПО «СибГИУ»
  • Ширяев А.С.
  • Адрес: 654041, г. Новокузнецк, ул. Циолковского 32-22,
  • Телефон: (8-3843) 71-27-63
  • E-mail: jamert3@yandex.ru
  • Заказчики:
  • ГОУ ВПО «Сибирский государственный индустриальный университет»
  • МУДОД «СДЮСШОР по шахматам им. Б. А. Кустова»
  • Адреса заказчиков:
  • г. Новокузнецк, ул. Кирова 42,
  • г. Новокузнецк, ул. Орджоникидзе 23.
  • Телефоны заказчиков: (8-3843) 46-33-35, (8-3843) 45-36-98.
  • в) Система создается в связи с необходимостью оснащения СП ГОУ ВПО «СибГИУ» оборудованием для проведения учебного процесса и процесса проведения соревнований.
  • г) Плановые сроки начала работ по созданию системы: 01.08.07.
  • Плановые сроки окончания работ по созданию системы: 13.03.08.
  • д) Результаты работ по созданию системы представлены в приложении 1.
  • 1.4.2 Назначение и цели создания системы
  • 1.4.2.1 Назначение системы
  • ИС «ШК» предназначена для выполнения функций, обеспечивающих более эффективное проведение учебного процесса, а также соревнований, в помещении СП «ШК» ГОУ ВПО «СибГИУ», а именно:
  • - трансляция шахматных партий в режиме реального времени для присутствующей аудитории и в сети Интернет;
  • - снижение трудозатрат на освещение турниров в средствах массовой информации;
  • - предоставление исчерпывающей информации по каждому участнику соревнований по первому запросу;
  • - организация моментального переноса записи шахматных партий в электронную форму;
  • - отображение шахматных партий, турнирного положения, различного рода статистической информации на специализированных экранах и электронных стендах для широкой аудитории;
  • - хранение данных о каждом участнике соревнований, турнирной и прочей информации;
  • - оперативная обработка всей поступающей информации и выдача всех необходимых для соревнований данных;
  • - организация выдачи в оперативном режиме информации по спорным вопросам, возникающим в ходе игрового процесса;
  • - организация компьютеризированного процесса обучения игре в шахматы.
  • 1.4.2.2 Цели создания системы
  • Цель складывается из следующих составляющих:
  • - информатизация процесса шахматной игры;
  • - автоматизация:
  • ь процесса сборки,
  • ь отображения,
  • ь хранения,
  • ь обработки специализированной шахматной информации;
  • - облегчение работы судейской коллегии в процессе соревнований;
  • - автоматизация процесса обучения.
  • 1.4.3 Характеристика объекта информатизации
  • Объектом информатизации является процесс шахматной игры. Правила шахматной игры и правила проведения шахматных соревнований регулируются кодексом международной шахматной федерации ФИДЕ.
  • Объектом информатизации также является учебный процесс на кафедре ФКЗиС ГОУ ВПО «СибГИУ» по дисциплине «Шахматы». Данный учебный процесс осуществляется в соответствии с учебным планом занятий.
  • Процесс проведения соревнований по шахматам осуществляется в соответствии с календарным планом проведения соревнований на текущий год.
  • Учебный процесс по дисциплине «Шахматы» проводится в помещении СП «ШК» ГОУ ВПО «СибГИУ». Помещение СП «ШК» ГОУ ВПО «СибГИУ» включает в себя следующие помещения: турнирный зал, судейский кабинет, раздевалка, помещение для инвентаря, комната анализа, кабинет директора. Шахматный клуб ГОУ ВПО «СибГИУ» оснащен следующим инвентарём: шахматные столы - 53 штук; комплекты шахмат - 40 штук; шахматные часы - 40 штук.
  • 1.4.4 Требования к системе
  • 1.4.4.1 Требования к системе в целом
  • а) Требования к структуре и функционированию системы
  • ИС «ШК» представлена пятью подсистемами:
  • - интегрирующая подсистема;
  • - подсистема сбора информации;
  • - подсистема обработки и хранения информации;
  • - подсистема отображения информации;
  • - обучающая подсистема.
  • Интегрирующая подсистема в общем виде представляет собой сетевую структуру, охватывающую все остальные подсистемы. Поэтому она является наиболее важной из всех остальных подсистем. Конфигурация оборудования подсистемы следующая:
  • § 1 сервер для хранения информации и обработки запросов;
  • § соединительные провода;
  • § 1 коммутатор D-Link DGS-1008D;
  • § 6 рабочих компьютеров для работы с информацией, поступающей на сервер в оперативном режиме,
  • § периферийные устройства:
  • ь многофункциональное устройство,
  • ь микрофон,
  • ь веб-камера и др.
  • Подсистема сбора информации в общем виде представляет собой все устройства, на которые поступает первичная и вторичная информация. Эта подсистема включает в себя следующие части:
  • § ЭШД в количестве 30 штук,
  • § интернет и локальнаю сеть ГОУ ВПО «СибГИУ»,
  • § фотоаппаратура и прочее оборудование.
  • ЭШД представляют собой комплекты шахматных фигур с досками и шахматными часами, соединённые при помощи соединительных проводов и переходников с компьютером. Передача данных, поступающих с шахматных досок, осуществляется при помощи протокола DGT. Процесс, происходящий во время игры за шахматной доской, полностью переносится в электронную форму при помощи СПО. Количество подключаемых ЭШД определяется потребностями соревновательного процесса, но общее их число 30 штук. Интернет и локальная сеть ГОУ ВПО «СибГИУ» - необходимые источники информации. Отсюда будет поступать информации самого различного рода: отзывы, комментарии, предложения, любительское фото и видео.
  • Подсистема обработки и хранения информации включает в себя:
  • § обработку и хранение шахматной информации;
  • § обработку и хранение прочей информации.
  • Подсистема обработки и хранения шахматной информации представляет собой набор СПО для проведения турниров, хранения и классифицирования шахматной информации, СПО для обслуживания электронных досок. В качестве СПО для проведения турниров используется набор из следующих программных продуктов:
  • ь судейская программа SwissMaster 5.5 в количестве 2 лицензионных версий;
  • ь многофункциональный пакет ChessAssistant9.1 в количестве 6 лицензионных версий
  • ь многофункциональный пакет ChessBase9 в количестве 3 лицензионных версий.
  • Для обслуживания ЭШД используется программное обеспечение, поставляемое с ними в комплекте.
  • Подсистема обработки и хранения прочей информации представляет собой пакет стандартных программ для работы с графикой.
  • Подсистема отображения информации включает в себя:
  • ь трансляцию соревнований в сети Интернет;
  • ь трансляцию соревнований для присутствующей аудитории.
  • Так как используется СПО для ЭШД, поставляемое с ними в комплекте, то не возникает необходимости в дополнительном СПО для трансляции соревнований в сети Интернет по той причине, что означенное СПО уже содержит все для этого необходимое.
  • В качестве технических средств, обеспечивающих трансляцию соревнований для присутствующей аудитории, используется существующее оборудование, а именно - плазменные мониторы, установленные по университету, электронные стенды и проекторы: 1 электронный стенд и проектор в турнирном зале и 1 электронный стенд и проектор на территории ГОУ ВПО «СибГИУ».
  • Подсистема отображения информации, помимо выполнения своей главной функции - трансляции соревнований для присутствующей аудитории и в сети Интернет - может быть использована в рекламных целях.
  • Обучающая подсистема представляет собой набор программных средств для обучения шахматной игре, тренировки, игры в шахматы через сеть Интернет и по локальной сети ГОУ ВПО «СибГИУ». В качестве программного обеспечения используется:
  • ь программный пакет ChessAssistant9.1 (имеющееся в наличии);
  • ь программный пакет ChessBase9 (имеющееся в наличии);
  • ь обучающая программа Studies2.0 (6 лицензионных версий);
  • ь обучающая программа «Шахматные комбинации» (6 лицензионных версий);
  • ь обучающая программа «Шахматная Стратегия» (6 лицензионных версий);
  • ь обучающая программа «Шахматная школа» (6 лицензионных версий);
  • ь программа для игры в шахматы по сети Интернет «ChessPlanet».
  • Более наглядно общая структура ИС «ШК» представлена в графической части дипломного проекта, на листе 3.
  • Структура ИС «Шахматный клуб» может быть дополнена новыми подсистемами, модулями и оборудованием, если на то возникнет необходимость. Численность единиц техники и программного обеспечения может меняться в зависимости от объемов финансирования.
  • б) Требования к численности и квалификации персонала системы и режиму его работы
  • К эксплуатации допускается персонал, изучивший инструкцию по эксплуатации.
  • Квалификация персонала должна обеспечивать эффективное функционирование системы во всех заданных режимах. Численность персонала должна быть достаточной для обеспечения выполнения всех функций системы.
  • Персонал должен быть подготовлен к выполнению своих обязанностей в соответствии с инструкциями организационного обеспечения.
  • Каждое лицо, входящее в состав персонала, должно уметь применять соответствующие информационные модели и работать с используемыми им техническими средствами и документацией, определяющей порядок его деятельности.
  • в) Показатели назначения
  • Время реализации системы на инициативы пользователя по запросам на выдачу информации, ввод информации, обновление не должно превышать 3 секунд.
  • Время запаздывания системы при переводе шахматной партии в электронную форму и отображении ее для широкого круга наблюдателей в процессе соревнований не должно превышать 0,5 секунд, если заранее не предусмотрена регламентированная задержка.
  • Структура комплекса технических средств, функциональные возможности и программное обеспечение должны быть реализованы с учетом возможности дальнейшего развития.
  • г) Требования к надежности
  • Технические средства системы должны работать в условиях реального времени в процессе проведения соревнований в течении всего рабочего дня с периодическим техническим обслуживанием.
  • Технические средства системы должны работать в оперативном режиме в ходе учебного процесса, что подразумевает обращение к средствам системы по мере возникновения необходимости.
  • Среднее время восстановления функций системы в процессе проведения соревнований не должно превышать 10 минут.
  • Среднее время восстановления функций системы в ходе учебного процесса не должно превышать 1 суток.
  • Время наработки на отказ технических и программных средств не должно превышать 5 лет.
  • Требования по надежности функционирования должны уточняться на последующих этапах проектирования.
  • д) Требования безопасности
  • Требования по безопасности при монтаже, наладке и эксплуатации оборудования должны соответствовать следующим документам:
  • - ГОСТ 12.1.004-85 «ССБТ. Пожарная безопасность. Общие правила».
  • - СанПин 2.2.2.542-96 «Гигиенические требования к видеодисплейным терминалам вычислительных машин».
  • - Нормы освещенности должны быть обеспечены в соответствии с СНиП 11-4-79.
  • е) Требования к эргономике и технической эстетике
  • Размещение технических средств, а также формы представления оперативной информации должны соответствовать ГОСТу 22.269-76.
  • Общие эргономические требования к микроклимату рабочих помещений персонала должны соответствовать ГОСТу 12.1.005-76.
  • Оборудование системы должно быть скомпоновано из серийно выпускаемых технических средств.
  • Способ и форма представления информации оперативному персоналу должна соответствовать требованиям эргономики ГОСТ 22.269-76.
  • ж) Требования по эксплуатации, техническому обслуживанию, ремонту и хранению
  • При разработке ИС «ШК» необходимо предусмотреть проведение технического обслуживания используемого оборудования на месте его эксплуатации. Техническое обслуживание проводится с целью предупреждения отказов в работе системы.
  • Периодичность проведения технического обслуживания зависит от вида и назначения устройств и устанавливается согласно техническому описанию и инструкции по эксплуатации для каждого элемента. Для быстрой замены вышедших из строя устройств и блоков необходимо предусмотреть запасные блоки, резервные каналы данных.
  • з) Требования по сохранности информации при авариях
  • Для обеспечения сохранности информации при резких изменениях и исчезновениях напряжения в питающей сети, отказах сервера, попаданиях в систему вируса, отказах компьютеров и других технических средств необходимо предусмотреть:
  • - автоматическое архивирование;
  • - использование средств защиты информации;
  • - анализ отказов и восстановление данных.
  • и) Требования к защите от влияния внешних воздействий
  • Защита технических средств ИС «ШК» от воздействия внешних электрических и магнитных полей, а также помех по цепям питания должна быть достаточной для надежного функционирования системы. В ИС «ШК» должна быть предусмотрена антивирусная защита и защита от несанкционированного доступа, достаточная для надежного, бесперебойного функционирования системы.
  • к) Требования к патентной чистоте
  • Разрабатываемая система не предназначена для экспорта, поэтому проверка используемых технических решений на патентную чистоту не требуется.
  • 1.4.4.2 Требования к функциям системы
  • ИС «ШК» в соответствии с ГОСТ 24.104-85 должна выполнять:
  • - сбор, обработку и анализ информации (сигналов, сообщений, документов и т.п.) о состоянии объекта управления;
  • - выработку управляющих воздействий (программ, планов и т.п.);
  • - передачу управляющих воздействий на исполнение и их контроль;
  • - реализацию и контроль выполнения управляющих воздействий;
  • - обмен информацией (документами, сообщениями и т.п.) с взаимосвязанными автоматизированными системами.
  • Состав автоматизированных функций и функций по представлению информации ИС «ШК» должен обеспечивать возможность управления соответствующим объектом и представлением информации.
  • Состав автоматизированных функций, функций по представлению информации ИС «ШК» и степень информативности отображаемых данных должны быть технико-экономически и социально обоснованы с учетом необходимости освобождения персонала от выполнения повторяющихся действий и создания условий для использования его творческих способностей в процессе работы.
  • 1.4.4.3 Требования к видам обеспечения
  • а) Требования к информационному обеспечению
  • Информационное обеспечение ИС «ШК» должно быть достаточным для выполнения всех автоматизированных и информативных функций данной системы.
  • Информационное обеспечение ИС «ШК» должно быть совместимо с информационным обеспечением систем, взаимодействующих с ней, по содержанию, системе кодирования, методам адресования, форматам данных и форме представления информации, получаемой и выдаваемой ИС «ШК».
  • б) Требования к программному обеспечению
  • Программное обеспечение ИС «ШК» должно быть достаточным для выполнения всех функций этой системы, реализуемых с применением средств вычислительной техники, а также иметь средства организации всех требуемых процессов обработки и представления данных, позволяющие своевременно выполнять все автоматизированные и информативные функции во всех регламентированных режимах функционирования ИС «ШК».
  • в) Требования к техническому обеспечению
  • Комплекс технических средств ИС «ШК» должен быть достаточным для выполнения всех автоматизированных функций и функций по представлению информации.
  • В комплексе технических средств ИС «ШК» должны использоваться технические средства серийного производства. При необходимости допускается применение технических средств единичного производства.
  • Технические средства ИС «ШК» должны быть размещены с соблюдением требований, содержащихся в технической, в том числе эксплуатационной, документации на них, и так, чтобы было удобно использовать их при функционировании ИС «ШК» и выполнять техническое обслуживание.
  • Технические средства ИС «ШК», используемые при ее взаимодействии с другими системами, должны быть совместимы по интерфейсам с соответствующими техническими средствами этих систем и используемых систем связи.
  • В ИС «ШК» должны быть использованы технические средства со сроком службы не менее пяти лет.
  • В ИС «ШК» должны быть использованы средства вычислительной техники, удовлетворяющие общим техническим требованиям по ГОСТу 22552-84.
  • г) Требования к лингвистическому обеспечению
  • Лингвистическое обеспечение системы должно быть достаточным для общения различных категорий пользователей в удобной для них форме со средствами ИС «ШК» и для осуществления процедур преобразования и машинного представления обрабатываемой информации.
  • В лингвистическом обеспечении ИС должны быть:
  • - предусмотрены языковые средства для описания любой используемой информации;
  • - унифицированы используемые языковые средства;
  • - стандартизированы описания однотипных элементов информации и записи синтаксических конструкций;
  • - обеспечены удобство, однозначность и устойчивость общения пользователей со средствами автоматизации и представления информации;
  • - предусмотрены средства исправления ошибок, возникающих при общении пользователей с техническими средствами ИС.
  • Лингвистическое обеспечение ИС «ШК» должно быть отражено в документации организационного обеспечения системы в виде правил общения пользователей с техническими средствами ИС «ШК» во всех режимах функционирования системы.
  • д) Требования к организационному обеспечению
  • Организационное обеспечение ИС «ШК» должно быть достаточным для эффективного выполнения персоналом возложенных на него обязанностей при осуществлении автоматизированных и связанных с ними неавтоматизированных функций системы, а также функций по представлению информации.
  • Организационная структура ИС «ШК» должна позволять выполнять все функции с учетом их распределения по уровням управления.
  • Инструкции организационного обеспечения ИС «ШК» должны определять действия, необходимые для выполнения каждой автоматизированной функции или функции по представлению информации, во всех режимах функционирования ИС «ШК», с учетом заданных требований по безошибочности и быстродействию реализации персоналом своих функциональных обязанностей, а также содержать конкретные указания о действиях в случае возникновения аварийных ситуаций или нарушения нормальных условий функционирования ИС «ШК».
  • 1.4.5 Состав и содержание работ по созданию системы
  • Состав и содержание работ по созданию системы представлены в приложении 1.
  • 1.4.6 Порядок контроля и приемки системы
  • 1.4.6.1 Предварительные испытания системы
  • Предварительные испытания системы проводят для определения ее работоспособности и решения вопроса о возможности приемки ИС «ШК» в опытную эксплуатацию.
  • Предварительные испытания системы организует заказчик и проводит разработчик и заказчик совместно. Содержание программы испытаний должно соответствовать ГОСТу 24.208-80.
  • В «Протоколе испытаний», составленном по результатам предварительных испытаний системы, приводят заключение о возможности приемки системы в опытную эксплуатацию, а также перечень необходимых доработок.
  • 1.4.6.2 Опытная эксплуатация
  • Результаты приемки ИС «ШК» в опытную эксплуатацию оформляют «Актом приемки в опытную эксплуатацию», составленным на основании «Протокола испытаний» комиссией, проводившей предварительные испытания системы.
  • Продолжительность опытной эксплуатации системы определяют по срокам, необходимым для проверки правильности функционирования системы при выполнении каждой автоматизированной функции, функции по представлению информации и готовности персонала к участию в выполнении всех автоматизированных функций и функций по представлению информации ИС «ШК».
  • Во время опытной эксплуатации системы ведется рабочий журнал, в который заносятся сведения: о продолжительности функционирования системы, о результатах наблюдения за правильностью функционирования системы, об отказах, сбоях, аварийных ситуациях, проводимых корректировках технической документации.
  • По результатам опытной эксплуатации системы составляют акт о завершении работ по проверке системы в режиме опытной эксплуатации.
  • 1.4.6.3 Приемочные испытания системы
  • Приемочные испытания системы проводят для определения ее соответствия техническому заданию, требованиям стандарта и определения возможности ввода ИС «ШК» в действие.
  • Приемочной комиссии заказчик и разработчик предъявляют следующую документацию:
  • - техническое задание на систему;
  • - проект программы приемочных испытаний;
  • - протокол предварительных испытаний;
  • - акт приемки системы в опытную эксплуатацию;
  • - рабочие журналы опытной эксплуатации системы;
  • - акт о завершении работ по проверке системы в режиме опытной эксплуатации;
  • - техническая документация на систему.
  • По результатам приемочных испытаний приемочная комиссия составляет протокол испытаний и акт о вводе системы в действие.
  • 1.4.7 Требования к составу и содержанию работ по подготовке объекта информатизации к вводу системы в действие
  • Одновременно с разработкой системы должно быть обеспечено проведение следующих мероприятий:
  • - определить конкретных лиц, ответственных от СП «ШК» ГОУ ВПО «СибГИУ» за подготовку системы к эксплуатации;
  • - обозначить места установки технических средств и обеспечить их сохранность;
  • - организовать подготовку персонала для работы с системой.
  • 1.4.8 Требования к документированию
  • Эксплуатационная документация на разрабатываемую систему должна быть достаточной для ввода комплекса в действие эффективной работы при его эксплуатации.
  • Документация должна содержать сведения, необходимые для быстрого и качественного освоения и правильной эксплуатации средств автоматизации и представления информации системы, содержать указания по действиям персонала в аварийных ситуациях или при нарушениях нормальных условий функционирования комплекса, не содержать сведений, допускающих неоднозначное толкование.
  • Комплект документации по системе приведен в приложении 2.
  • 1.4.9 Заключение
  • В ходе разработки ИС «ШК» было установлено, что в комплекте с ЭШД было поставлено неработоспособное программное обеспечение. Но так как необходимо было в срочном порядке закончить работы по созданию системы, а на выяснение причин и дополнительную поставку ушло бы значительное время вследствие того, что оборудование поставлялось из Нидерландов, было принято решение в срочном порядке пригласить специалистов из информационного шахматного центра российской шахматной федерации, владеющих собственным программным обеспечением для ЭШД, на время проведения соревнований, что повлекло за собой большие расходы.
  • После разработки ИС «ШК», ее приемки и проведения опытной эксплуатации руководством ГОУ ВПО «СибГИУ» в тесном сотрудничестве с администрацией г. Новокузнецка и администрацией Кемеровской области было принято решение перенести ИС «ШК» в помещение культурного центра «Западносибирского металлургического комбината» («ЗСМК») на время проведения Всемирной шахматной универсиады, которая проходила в г. Новокузнецке с 3 марта по 11 марта 2008 года. Перенесение ИС «ШК» в помещение культурного центра «ЗСМК» не составило больших трудностей, так как все блоки системы легко отсоединяемы и транспортируемы.
  • Вследствие того обстоятельства, что работоспособное программное обеспечения для ЭШД так и не было поставлено, а специалисты из информационного шахматного центра отказались от коммерческой продажи СПО, являющегося их интеллектуальной собственностью, было принято решение о самостоятельной разработке подобного СПО. Данное направление является приоритетным для написания дипломной работы студентом Ширяевым А.С.
  • 2. Специальная часть

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

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

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

Модель жизненного цикла разработки программного обеспечения (ПО) является единственным видом процесса, в котором представлен порядок его осуществления. Модель жизненного цикла разработки ПО (Software Life Cycle Model, SLCM) схематически объясняет, каким образом будут выполняться действия по разработке программного продукта, посредством описания «последовательности» этих действий. Такая последовательность может быть или не быть линейной, поскольку фазы могут следовать друг за другом, повторяться или происходить одновременно. На рисунке 5 представлена простая обобщенная схема процесса.

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

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

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

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

· Улучшение и обеспечение качества:

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

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

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

· Возможность проверки затрат на выполнение полного жизненного цикла:

- упрощает процесс создания стандартов разработки для определенного проекта и его оценка;

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

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

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

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

- уменьшаются затраты на подготовку персонала.

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

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

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

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

«Каркасом» процесса разработки ПО служит модель зрелости функциональных возможностей (Capability Maturity Model, CMM). Она основана на практических действиях, отображает лучшие результаты и определяет потребности индивидов, работающих над усовершенствованием процесса разработки ПО и выполняющих оценочный анализ этого процесса. Модель СММ представляет собой схему, по которой этапы разработки соответствуют пяти уровням развития функциональных возможностей, на основе которых осуществляется непрерывное усовершенствование процесса разработки.

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

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

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

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

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

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

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

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

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

2.1.1 Каскадная методология

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

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

Рисунок 6 - Модель процесса "делать, пока, не будет сделано”

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

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

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

Рисунок 7 - Классическая каскадная модель с обратной связью

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

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

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

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

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

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

а) Краткое описание фаз каскадной модели

Приведенная ниже характеристика представляет собой краткое описание каждой фазы каскадной модели (включая фазы интеграции):

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

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

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

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

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

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

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

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

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

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

б) Преимущества каскадной модели

Нетрудно заметить, что каскадная модель имеет множество преимуществ, если ее использовать в проекте, для которого она достаточно приемлема. Ниже перечислены эти преимущества:

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

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

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

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

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

· она отличается стабильностью требований;

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

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

· она способствует осуществлению строгого контроля менеджмента проекта;

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

· она облегчает работу руководителю проекта по составлению плана и Комплектации команды разработчиков;

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

· она определяет процедуры по контролю за качеством. Каждые полученные данные подвергаются обзору. Такая процедура используется командой разработчиков для определения качества системы;

· стадии модели довольно хорошо определены и понятны;

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

в) Недостатки каскадной модели

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

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

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

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

· она может создать ошибочное впечатление о работе над проектом. Выражение типа "35 процентов выполнено" -- не несет никакого смысла и не является показателем для руководительа проекта;

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

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

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

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

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

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

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

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

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

· модель основана на документации, а значит, количество документов может быть избыточным;

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

· отсутствует возможность учесть переделку и итерации за рамками проекта.

г) Область применения каскадной модели

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

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

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

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

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

2.1.2 Экстремальная методология

Отцом-идеологом экстремального программирования (XP) считают Кента Бека (Kent Beck). XP является достаточно молодой методологией, оценки которой весьма противоречивы -- от восторженных до резко негативных. Основными принципами являются:

- Простота решений (simplicity).

- Интенсивная разработка малыми группами (не больше 10 человек), активное общение в группе и между группами (communication).

- Обратная связь с клиентом (feedback), который фактически вовлечен в процесс разработки.

- Достаточная степень смелости (courage) и желание идти на риск.

Первый фактор ускорения разработки -- итеративность: разработка ведется короткими итерациями при наличии активной взаимосвязи с заказчиком. XP -- это итеративный процесс разработки, который сам по себе не является революционным. Итерации как таковые предлагается делать короткими, рекомендуемая длительность -- 2-3 недели и не более 1 месяца. За одну итерацию группа программистов обязана реализовать несколько свойств системы, каждое из которых описывается в пользовательской истории (user story). Пользовательские истории в данном случае являются начальной информацией, на основании которой создается модуль. Пользовательские истории отличаются от прецедентов (use case): пользовательская история коротка -- 1-2 абзаца, тогда как прецеденты обычно пишут достаточно подробными, с основным и альтернативными потоками -- таким образом, получается примерно страница плюс схема (наиболее распространенная формализация в настоящее время предложена в UML); истории пользователей пишутся самими пользователями (которые в XP являются частью команды) в отличие от прецедентов, которые обычно пишет системный аналитик. Отсутствие формализации описания входных данных проекта в XP стремятся компенсировать посредством активного включения в процесс разработки заказчика как полноправного члена команды и за счет наличия постоянного контакта с заказчиком (активное общение и непрерывная поддержка обратной связи). В данном случае extreme -- это степень привлечения заказчика к программистской кухне, что обусловлено стремлением сжать сроки разработки за счет коммуникации и обратной связи.

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

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

а) Практики экстремальной методологии

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

- Планирование процесса (planning game). Вся команда собирается вместе, принимается коллективное решение о том, какие свойства системы будут реализованы в ближайшей итерации. Набор свойств определяется пользовательскими историями. XP-трудоемкость каждого свойства определяется самими программистами.

- Тесное взаимодействие с заказчиком (feed-back, on-site customer). Заказчик должен быть членом XP-команды (on-site customer). Он пишет пользовательские истории, выбирает истории, которые будут реализованы в конкретной итерации, и отвечает на вопросы, касающиеся бизнеса. Заказчик должен быть экспертом в автоматизируемой предметной области. Необходимо постоянное наличие обратной связи с заказчиком (feed-back).

- Метафора системы (system metaphor). Хорошая метафора системы означает простоту именования классов и переменных. В реальной жизни поиск метафоры -- крайне сложное занятие; найти хорошую метафору непросто. В любом случае команда должна иметь единые правила именования.

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

- Стандарты кодирования (coding conventions). Стандарты кодирования нужны для обеспечения других практик: коллективного владения кодом, парного программирования и рефакторинга. Без единого стандарта выполнять эти практики как минимум сложнее, а в реальности вообще невозможно: группа будет работать в режиме постоянной нехватки времени. Детальные стандарты не требуются, необходимо стандартизировать только важные вещи. Определение наиболее важных объектов стандартизации в XP субъективно.

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

- Парное программирование (pair programming) -- одна из самых известных XP-практик. Все программисты должны работать в парах: один пишет код, другой смотрит. Таким образом, необходимо размещать группу программистов в одном месте, что легче всего сделать на территории заказчика (все необходимые члены команды географически находятся в одном месте); XP наиболее успешно работает в нераспределенных коллективах программистов и пользователей.

- 40-часовая рабочая неделя. Программист не должен работать более 8 часов в день. Необходимость сверхурочной работы (overtime) -- это четкий индикатор проблемы на данном конкретном направлении разработки; к тому же заказчик не платит за сверхурочную работу в XP. Поиск причин сверхурочной работы и их скорейшее устранение -- одно из основных правил.

- Коллективное владение кодом (collective code ownership). Каждый программист в коллективе XP должен иметь доступ к коду любой части системы и вносить изменения в любой код. Обязательное правило: если программист внес изменения и система после этого работает некорректно, то именно этот программист должен исправить ошибки. В противном случае работа системы уподобится тотальному хаосу.

- Частая смена версий (small releases). Минимальная итерация -- один день, максимальная -- месяц; чем чаще осуществляются релизы, тем больше недостатков системы будет выявлено. Первые релизы помогают выявить недостатки на самых ранних стадиях, далее функциональность системы расширяется (на основании тех же пользовательских историй). Поскольку пользователь включается в процесс разработки начиная с первого релиза, то он оценивает систему и выдает пользовательскую историю плюс feedback. На основании этого определяется следующая итерация: каким будет новый релиз. В XP все направлено на обеспечение непрерывной обратной связи с пользователями.

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

- Тестирование (testing). В отличие от большинства остальных методологий тестирование в XP -- одно из важнейших составляющих. Экстремальный подход заключается в том, что тесты пишутся до написания кода. Каждый модуль обязан иметь unit test -- тест данного модуля; таким образом, в XP осуществляется regression testing (возвратное тестирование, «неухудшение качества» при добавлении функциональности). Большинство ошибок исправляются на стадии кодирования. Тесты пишут сами программисты; любой программист имеет право написать тест для любого модуля. Еще один важный принцип: тест определяет код, а не наоборот (такой подход носит название test-driven development), то есть кусок кода кладется в хранилище тогда и только тогда, когда все тесты прошли успешно, в противном случае данное изменение кода отвергается.

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

б) Существующие риски применения методологии

Следует выделить риски XP, способные завалить проект, если не учитывать и не предотвращать их.

- Этап планирования (planning game). Программисты реализуют только те функции, которые необходимы для возможностей, выбранных на данной итерации заказчиком. В результате такого решения за кадром остается развитие системы, вследствие чего при разработке возникает необходимость строить «заглушки» и переписывать код.

- Постоянное участие заказчика (on-site customer). Представитель заказчика в период работы над системой находится в команде разработчиков, причем требования к квалификации этого человека или команды весьма высоки. Если заказчик не согласился предоставить персонал уровня экспертов, то проект попадает в группу наиболее высокого риска.

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

- Простая архитектура (simple design). В каждый момент времени разрабатываемая система выполняет все тесты и поддерживает все взаимосвязи, определяемые программистом, не имеет дубликатов кода и содержит минимально возможное количество классов и методов. Это правило кратко можно выразить так: «Каждую мысль формулируй один и только один раз». Данный принцип вступает в противоречие с быстротой написания кода. Без наличия высокой самодисциплины и жестких стандартов кода система немедленно попадает в группу риска.

- Частая смена версий (small releases). Систему запускают в эксплуатацию уже через несколько месяцев после начала реализации, не дожидаясь окончательного разрешения всех поставленных проблем. Периодичность выпуска новых версий может варьироваться от ежедневной до ежемесячной. Протестировать за такой срок более-менее сложный компонент невозможно; заказчик фактически выступает в роли бета-тестера. Системы, к которым предъявляется требование непрерывной надежной работы (так называемое требование 24Ѕ7), входят в группу риска.

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

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

- Программирование в паре (pair programming). Весь код проекта пишут группы по два человека, использующих одно рабочее место. Человеческий фактор в данном случае играет определяющую роль: пара или работает или нет, третьего не дано.

- 40-часовая неделя (40-hour weeks). Объем сверхурочных работ не может превышать по длительности одну рабочую неделю. Даже отдельные случаи сверхурочных работ, повторяющиеся слишком часто, служат признаком серьезных проблем, которые требуют безотлагательного решения. Как показывает практика применения экстремального программирования (несмотря на целый ряд положительных примеров, приводимых сторонниками данного метода), сверхурочная работа при таком подходе -- это правило, а не исключение, и борьба с проблемами в данном случае -- явление постоянное. Усиливается она в период замены текущей сырой версии продукта очередной -- менее сырой. Если заказчик не получает постоянных доказательств улучшения системы, значит, у вас возникли серьезные проблемы.

- Коллективное владение (collective ownership). Каждый программист имеет возможность при необходимости в любое время усовершенствовать любую часть кода в системе. Без стандарта контроля исходного кода процесс разработки приобретает абсолютно неконтролируемый характер.

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

- Тесты (tests). Программисты постоянно пишут тесты для модулей (unit tests). Собранные вместе, эти тесты должны работать корректно. Для этапов итерации заказчики пишут функциональные тесты (functional tests), от которых также требуется правильная работа. Однако на практике это не всегда достижимо. Чтобы принять верное решение, необходимо понять, во что обойдется сдача системы с заранее известным дефектом, и сравнить это с ценой задержки на его устранение. Тесты, написанные самими программистами (особенно в условиях сверхурочных работ), не являются полнофункциональными и уж тем более не учитывают особенностей многопользовательской работы. На более продвинутые тесты у разработчиков обычно не хватает времени. Решается данная проблема путем привлечения на определенный срок контакторов, что связано с большой ролью человеческого фактора: поскольку техническая документация изначально отсутствует, то информация передается посредством общения программистов. Хотя, конечно, можно построить систему разработки таким образом, что от начала до конца всем будут заниматься одни и те же люди. К сказанному необходимо добавить, что тестирование системы вовсе не исчерпывается тестами компонентов (units); не менее важны тесты взаимодействия между ними, это же относится и к тестам надежности работы. И тем не менее метод экстремального программирования не предусматривает создания тестов данного класса. Это объясняется тем, что сами подобные тесты могут представлять достаточно сложный код (особенно это касается тестов -- имитаторов реальной работы системы). В данной технологии также никак не учитывается еще один важный класс тестов -- тесты поведения системы при росте объемов обрабатываемой информации. При высокой частоте изменения версий выполнить такой тест технологически невозможно, поскольку его проведение требует стабильного и неизменного кода проекта, например в течение недели. В таком случае придется или приостанавливать разработку компонентов, или создавать на время проведения теста параллельную версию проекта, которая будет сохраняться неизменной, тогда как другая при этом будет изменяться. Затем нужно будет выполнить процесс слияния кода. Но в этом случае тест придется создавать заново, так как методы экстремального программирования просто не предусматривают разработку средств, позволяющих прогнозировать поведение системы при тех или иных изменениях. Решать данные проблемы в XP предлагается посредством все того же человеческого фактора и самодисциплины.

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

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

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

2.2 Выбор инструментальных средств

В качестве единой среды разработки, как для транслятора партий так и для регистратора была выбрана среда NetBeans IDE. NetBeans IDE -- свободная интегрированная среда разработки приложений (IDE) на языке программирования Java, Ruby, C++ и ряде других. Среда разработки NetBeans по умолчанию поддерживает разработку для платформ J2SE и J2EE. Для разработки программ в среде NetBeans и для успешной инсталляции и работы самой среды NetBeans должен быть предварительно установлен Sun JDK или J2EE SDK подходящей версии. Для поддержки разработки в среде NetBeans для мобильных платформ (J2ME) необходимо установить отдельно распространяемый (и также бесплатный) NetBeans Mobility Pack (доступен только для Linux и Windows). Проект NetBeans IDE поддерживается и спонсируется фирмой Sun Microsystems, однако разработка NetBeans ведется независимо сообществом разработчиков-энтузиастов (NetBeans Community) и компанией NetBeans Org. По качеству и возможностям последние версии NetBeans IDE не уступают лучшим коммерческим (платным) интегрированным средам разработки для языка Java, таким, как IntelliJ IDEA, поддерживая рефакторинг, профилирование, выделение синтаксических конструкций цветом, автодополнение набираемых конструкций на лету, множество предопределённых шаблонов кода и др. В версии NetBeans IDE 6.0 декларируется поддержка UML, SOA, языка программирования Ruby (включая поддержку Ruby on Rails), а также средства для создания приложений на J2ME для мобильных телефонов (Linux, Windows). NetBeans IDE поддерживает плагины, позволяя разработчикам расширять возможности среды. На идеях, технологиях и в значительной части на исходном коде NetBeans IDE базируются предлагаемые фирмой Sun коммерческие интегрированные среды разработки для Java -- Sun Java Studio Creator, Sun Java Studio Enterprise и Sun Studio (для ведения разработки на C, C++ или Фортран). Сравнительно недавно Sun стала предлагать эти среды разработки бесплатно для зарегистрировавшихся в Sun Developer Network (SDN) разработчиков, сама же регистрация на сайте бесплатна и не требует никаких предварительных условий, кроме согласия с лицензией CDDL. NetBeans IDE доступна в виде готовых дистрибутивов (прекомпилированных бинарников) для платформ Microsoft Windows, GNU/Linux, FreeBSD, Mac OS X и Solaris (как для SPARC, так и для x86 -- Intel и AMD). Для всех остальных платформ доступна возможность собрать NetBeans самостоятельно из исходных текстов.

Корпорация Sun Microsystems добавила поддержку Ruby к своей интегрированной среде разработки NetBeans и расширила платформу JRuby. Первая версия NetBeans Ruby Pack содержит подключаемый модуль для свободно распространяемой среды разработки NetBeans, поддерживающей Ruby и JRuby. Последний представляет собой Java-реализацию Ruby, которая работает с виртуальной машиной Java. Платформа NetBeans в первую очередь ориентирована на Java, но может быть расширена и до Ruby. Как правило, разработчики, которые пишут программы на этом языке, не используют интегрированные среды разработки. Однако, как подчеркнул Тор Норби, старший инженер Sun, «предложенное корпорацией решение представляет собой значительно более производительную среду, чем все, что существовало для Ruby ранее».

2.3 Содержательная постановка задачи создания СШПО

Предметная область

Специализированное шахматное программное обеспечение (СШПО) предназначено для переноса играющихся шахматных партий в электронную форму, трансляции игр для присутствующей на соревнованиях аудитории и в сети Интернет. Пользователями СШПО будет являться персонал структурного подразделения «Шахматный клуб» ГОУ ВПО «СибГИУ» и персонал МУДОД «СДЮСШОР по шахматам».

Дано:

Действующая ИС «Шахматный клуб».

Прототипы информационной системы.

Множество моделей жизненного цикла (МЖЦ) разработки программного обеспечения.

Инструментальные средства разработки ПО.

Общие требования к СШПО:

– работоспособность во всех современных операционных системах (ОС),

– непрерывность работы в ходе всего соревновательного процесса,

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

– накопление и сохранение информации по соревновательному процессу,

– экономия времени и средств на перенос партий в электронную форму,

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

– учет возможности исправления неправильного течения игрового процесса.

Ограничения:

При выборе МЖЦ ограничиться каскадной и экстремальной МЖЦ разработки программного обеспечения.

1. При выборе инструментальных средств разработки СШПО ограничиться следующими программными продуктами: NetBeans IDE 6.0, MySQLAdministrator.

2. В ходе функционирования СШПО во время соревновательного процесса должны выполняться следующие условия:

– СШПО должно функционировать без простоев в течении всего игрового дня.

– Отображаемый ход должен полностью соответствовать ходу, сделанному на электронной шахматной доске.

– Временная задержка трансляции, если она заранее не предусмотрена, не должна превышать 0,5 секунды.

– Временная задержка переноса игрового процесса в электронную форму не должна превышать 0,5 секунды.

Требуется

Реализовать СШПО с учетом всех требований и ограничений

2.4 Разработка алгоритма решения задачи

Регистратор шахматных партий (РШП) реализуется на языке Java (j2se). РШП реализует протокол обмена данных DGT шахматных электронных досок, который в свою очередь базируется на прокотоле обмена через последовательный порт RS-232. В качестве компонента для работы с последовательным портом в Java была выбрана библиотека rxtx версии 1.72. Протокол DGT приведен в приложении 6 в виде заголовочного C файла (header). Задача РШП осуществлять трансляцию партий, при этом изменения позиции партий сохраняются в базу данных, откуда эти данные получает Транслятор шахматных партий (ТШП). Формат записи, в котором записываются шахматные ходы в базу данных, следующий:

[фигура{K(король),Q(ферзь),N(конь),B(слон),R(ладья),' '(пешка)}][вертикаль исходного поля][горизонталь исходного поля]-[вертикаль поля назначения][горизонталь поля назначения].

Например:

Kg8-g7

Ng1-f3

e2-e4

Данные, получаемые РШП от электронной доски, интерпретируются согласно описанию в протоколе DGT. Например, дамп доски получается в виде 64 ASCII символов (информативная часть сообщения) - `rnbqkbnrpppppppp PPPPPPPPRNBQKBNR' преобразуется в вид:

Рисунок 8 - Результат преобразования информативной части сообщения от ЭШД

ТШП реализован на технологии Ruby on Rails. Rails -- это полноценный, многоуровневый фреймворк для построения веб-приложений, использующих базы данных, который основан на архитектуре Модель-Представление-Контроллер (Model-View-Controller, MVC). Динамичный AJAX-интерфейс, обработка запросов и выдача данных в контроллерах, предметная область, отраженная в базе данных, -- для всего этого Rails предоставляет однородную среду разработки на Ruby. Все, что необходимо для начала -- база данных и веб-сервер. Rails отлично работает со многими веб-серверами и СУБД. В качестве веб-сервера можно использовать Apache или lighttpd как с FastCGI, так и с SCGI. В качестве СУБД можно использовать MySQL, PostgreSQL, SQLite, Oracle, SQL Server, DB2 или Firebird. Использовать Rails можно на практически любой операционной системе.

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

Модуль вещания партий реализован при помощи скриптов JavaScript, при этом обновление позиции запрашивается с сервера через AJAX запросы, без обновления всей страницы.

Листинг модуля вещания партий представлен в приложении 10.

2.5 Описание разработанного программного комплекса

2.5.1 Транслятор шахматных партий

В общем виде транслятор шахматных партий (ТШП) представляет собой следующие структуры:

- модели данных (models);

- представления (views);

- контроллеры (controllers);

- помощники (helpers).

Модели данных содержат объектные представления, задачи в виде классов бизнес-логики. Здесь описываются классы, к которым будут отнесены реальные данные. Бизнес-логика управляется одноименным контроллером, например, класс Cities (города) управляется одноименным контроллером cities_controller.rb. Модель может иметь одно или несколько представлений, которые отвечают за то, в каком виде будут отображаться данные. Помимо контроллеров всех классов существует главный контроллер main_controller.rb (в качестве главного может быть назначен любой контроллер). Он выполняет все функции по обслуживанию шахматного интернет-портала:

- отображение главной веб-страницы;

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

- показ партий в режиме реального времени (online) и архива турнирных партий (offline);

- авторизация пользователей;

- вход в личный кабинет пользователя;

- напоминание при потере пароля или логина;

- показ трансляции;

- выгрузка шахматных партий в формате pgn (portable game notation);

- выход пользователя;

- интерфейс регистрации и т.д.

Снимки экрана (Screenshots) главной страницы rDGT-сервера, страницы авторизации пользователя, страницы просмотра текущих online трансляций и страницы просмотра шахматных партий представлены в приложении 5.

Скрипт трансляции шахматной партии реализован на языке Javascript. Обновление позиции осуществляется через асинхронные javascript-запросы к rDGT-серверу при использовании технологии Ajax без обновления всей страницы.

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

Веб-интерфейс реализован на платформе Ruby on Rails, в соответствии с идеологией изложенной в разделе 2.4 . Портал можно разделить на несколько узловых разделов:

- Раздел трансляций партий (online режим).

- Раздел просмотра партий, сохраненных на сервере (offline режим).

- Раздел редактирования данных портала, подразумевает авторизацию пользователя, которому доступны:

· добавление, удаление, изменение турниров;

· добавление, удаление, изменение игроков;

· добавление, удаление, изменение трансляций;

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

Общая структура транслятора шахматных партий, все атрибуты и методы его структурных элементов представлены в приложении 7

2.5.2 Регистратор шахматных партий

Алгоритм работы:

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

· Название последовательного порта (serial port), к которому подключены доски, с которых будет происходить трансляция шахматных партий («COM1», «COM2» и т.п. для операционной системы Windows и «/dev/ttyS0», «/dev/ttyS1» для операционной системы Linux).

· Время начала трансляции.

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

· Ассоциирует данную трансляцию с заранее заданным турниром.

Веб-сервер после составления заявки на трансляцию партий, запускает приложение jgdtnix, параметризуя его введенными параметрами. Jgdtnix до назначенного времени переходит в «спящий» режим, а за несколько минут до начала трансляции jgdtnix начинает опрашивать порт на наличие доступных досок и регистрирует их. Во время трансляции jgdtnix с определенной периодичностью опрашивает порт, получает обновления позиции и данные с шахматных часов, и заносит ходы в базу данных.

Общая структура регистратора шахматных партий, все атрибуты и методы его структурных элементов представлены в приложении 8.

2.6 Тестовые испытания и анализ результатов

Тестовые испытания проводились в помещении СП «ШК» в сроки с 5 июня по 11 июня 2008 года на Чемпионате области по шахматам среди юношей до 12 лет. Количество используемых в испытаниях ЭШД и электронных шахматных часов - 5 штук,. Трансляция соревновательного процесса осуществлялась в течение всего указанного срока с 11:00 до 15:00, что соответствует длительности игрового дня. Схема подключения ЭШД и электронных шахматных часов аналогична рисунку 3 пункта «Обзор шахматных систем-прототипов» с той лишь разницей, что трансляция шахматных партий осуществлялась не только для присутствующей аудитории, но и в сети Интернет.

Анализ результатов тестовых испытаний представлен в приложении 9.

В качестве сравнительного показателя используется общее число шахматных ходов, сделанных на всех досках в течение всего соревновательного процесса. Так как число игровых дней - 7, число учитываемых досок - 5, а среднее число ходов в шахматной партии 30, то общее число шахматных ходов равно равно 1050.

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

3.1
Целесообразность и область применения разработки

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

3.1.1 Эффект от внедрения информационных систем

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

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

РЕКЛАМА

рефераты НОВОСТИ рефераты
Изменения
Прошла модернизация движка, изменение дизайна и переезд на новый более качественный сервер


рефераты СЧЕТЧИК рефераты

БОЛЬШАЯ ЛЕНИНГРАДСКАЯ БИБЛИОТЕКА
рефераты © 2010 рефераты