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

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

Пользовательский уровень Функции: · Предоставление интерфейсов взаимодействия · Передача вводимой информации на сервер · Вывод принимаемой информации с сервера Реализация: браузер
Уровень приложения Функции: · Управление данными · Управление клиентами · Обработка и проверка запросов клиентов · Обеспечение бизнес-логики системы Реализация : Windows ASP.NET Web Application
Уровень доступа к данным Функции: · Хранение данных · Обеспечение доступа к данным и их согласованности (с использованием триггеров, хранимых процедур и функций) Реализация: MS SQL Server 2008 R2

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

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

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

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

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

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

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

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

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

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

В качестве входных данных возьмем клиентов, 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 секунд