Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
РПЗ САФИН.docx
Скачиваний:
78
Добавлен:
23.03.2016
Размер:
2.28 Mб
Скачать
    1. Развертывание системы

Все модули системы написаны на объектно-ориентированном языке Microsoft C#, среда разработки Microsoft Visual Studio .NET 2010. Для доступа к серверу БД использовалась технология ADO .NET.

Рисунок 26. Диаграмма развертывания системы

    1. Функциональная декомпозиция системы по уровням

Пользовательский уровень

Функции:

  • Предоставление интерфейсов взаимодействия

  • Передача вводимой информации на сервер

  • Вывод принимаемой информации с сервера

Реализация: браузер

Уровень приложения

Функции:

  • Управление данными

  • Управление клиентами

  • Обработка и проверка запросов клиентов

  • Обеспечение бизнес-логики системы

Реализация: Windows ASP.NET Web Application

Уровень доступа к данным

Функции:

  • Хранение данных

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

Реализация: MS SQL Server 2008 R2

Рисунок 27. Функциональная декомпозиция системы

  1. Исследовательский раздел

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

    1. Исследование зависимости времени работы алгоритма от числа учащихся

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

  • получение высокой прибыли

  • уменьшение числа клиентов, не вошедших в распределение

  • уменьшение времени работы алгоритма.

Программа должна решать поставленную задачу распределения в пределах 10 минут. Это время выбрано с учетом быстро меняющейся рыночной ситуации, т.к. в среднем образовательное учреждение набирает 10000 клиентов за 2 недели, что соответствует потоку клиентов, равному 4 человека/10 минут. При большей длительности работы алгоритма пользователь не сможет вовремя получать достоверный результат по текущей рыночной ситуации, что может привести к неправильному принятию управленческих решений.

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

В качестве входных данных возьмем клиентов, 20% из которых запишутся на 2 курс, а 10% которых запишутся на 2 и 3 курс одновременно. Таким образом, мы внесем достаточное количество зависимых клиентов в нашу базу данных, а тестируемая выборка по сложности её обработки будет соответствовать реальной выборке.

Таблица 23. Зависимость времени работы алгоритма от числа клиентов

Число клиентов в базе данных

Время работы алгоритма

110000

36 мин. 12 секунд

100000

18 мин. 10 секунд

90000

12 ми 32 секунд

80000

6 мин. 33 секунд

70000

7 мин. 2 секунд

60000

9 мин. 3 секунд

50000

4 мин. 48 секунд

40000

3 мин. 18 секунд

30000

4 мин. 36 секунд

20000

45 секунд

15000

48 секунд

10000

71 секунд

5000

10 секунд

4000

6 секунд

3000

10 секунд

2000

8 секунд

1000

1 секунд

500

0 секунд

Рисунок 28. Зависимость времени работы алгоритма от числа клиентов

Из данного графика видно, что разработанный алгоритм распределения имеет экспоненциальную сложность. Но при числе клиентов, меньших 90000, он показывает достаточно хороший результат, время его работы составляет меньше 10 минут. Результат показывает, что данный алгоритм может быть применен в тех образовательных учреждениях, в которых число клиентов, проживающих в одном городе, меньше 80000-90000 человек. Для сравнения в крупной компании Юниум-ФТК число клиентов в Москве варьируется в пределах 10000-20000 человек.

Для числа клиентов, меньших 5000, время работы алгоритма меньше 10 секунд. Это связано с тем, что для набора даже одной группы в некоторых ОЦ не хватает клиентов. Рекурсивный алгоритм отрабатывает гораздо быстрее вследствие уменьшения числа возможных ситуаций.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]