Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Пример пояснительной записки курсовой работы.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
303.17 Кб
Скачать

Глава 2. Построение web-приложения “Active Bets”

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

2.1 Построение модели предметной области

Модель предметной области представляет собой основу проектирования любого программного обеспечения. Наиболее очевидными сущностями для приложения “Sport Manager” будут являться следующие:

1) Спорт (Sport)

  • Название

  • Заголовок

  • Код

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

2) Лиги (Leagues)

  • Спорт, к которому принадлежит лига

  • Заголовок

  • Код

  • Страна

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

  • Команды, которые входят в лигу

3) Команды (Teams)

  • Спорт, к которому принадлежит команда

  • Заголовок

  • Страна

  • Лиги, в которые входит команда

4) Билеты (BetTickets)

  • Время ставки

  • Идентификатор пользователя

  • Статус билета

  • Идентификатор источника ставки

  • Выплата

2.2 Определение схемы базы данных

Проанализировав модели предметной области можно построить схему баз данных и таблиц.

Определение таблицы Sport

Таблица Sport

Определение таблицы League

Таблица League

Описание таблицы Team

Таблица Team

Описание таблицы TeamLeague, которая служит для связки лиг и команд связями многие ко многим по их Id

Таблица TeamLeague

Описание таблицы GlobalVars

Таблица GlobalVars

Описание таблицы Country

Таблица Country

Описание таблицы BetTicket

Таблица BetTicket

2.3 Определение отношений между сущностями

Далее определялись отношения между выделенными сущностями.

Среди связей преобладает отношение типа “один-ко-многим”. Но существует и отношение “многие-ко-многим”. Для примера рассмотрим сущности “Лига” - League и “Команда” - Team. Исходя из логики программного обеспечения и специфики организации непосредственного рабочего процесса можно придти к выводу, что одна команда может входить в несколько лиг, а одна лига включать в себя несколько команд. Следовательно, возникает связь типа “многие-ко-многим”, которая контролируется дополнительной таблицей “TeamLeague”, связывающей эти две сущности по их Id.

Таблицы Лига и Команда связаны с таблицей Спорт отношением “один-ко-многим”. Следовательно, одна лига или одна команда может принадлежать только одному спорту.

2.4 Создание концептуальной модели

Диаграмма концептуальной модели

Глава 3. Программная реализация примера web-приложения “Active Bets”

3.1 Реализация работы с протоколом WebSocket

Для осуществления работы с протоколом WebSocket будет применяться библиотека XSockets.NET.

Она предоставляет широкий спектр возможностей для успешной реализации работы. WebSocket-сервер реализуется на платформе .Net Framework.

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

3.2 Доступ к данным

Основные данные, которые использует web-приложение “Active Bets” хранятся на удаленных серверах. Доступ к данным организован не только по средствам протокола WebSocket, но и через веб-службы WCF.

Windows Communication Foundation представляет собой программный фреймворк, используемый для обмена данными между приложениями, входящий в состав .NET Framework. WCF предоставляет единую инфраструктуру разработки, заметно повышающую как производительность, так и способствует увеличению безопасности и надёжности транзакционных Web-служб нового поколения.[3]

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

Принцип 1: явная установка границы

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

Принцип 2: автономные службы

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

Принцип 3: Взаимодействие происходит через контракт, а не через реализацию

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

Принцип 4: вся совместимость служб основана на политике

Существует возможность определять политики, которые проясняют семантику службы. Благодаря этой политике можно отделить как семантику деталей работы, способов вызова, так и низкоуровневые синтаксические службы.[3]

В данном приложении настройка подключения осуществляется в файле Web.config.

<connectionStrings>

<add name="MainConnection" connectionString="Data Source=WIN-I53N0ORQ3D4;Initial Catalog=BettbetMain;Persist Security Info=True;User ID=sa;Password=*****;Network=dbmssocn;"/>

<add name="WorkConnection" connectionString="Data Source=WIN-I53N0ORQ3D4;Initial Catalog=BettbetWork;Persist Security Info=True;User ID=sa;Password=*****;Network=dbmssocn;"/>

</connectionStrings>

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