Автор работы: Пользователь скрыл имя, 09 Января 2013 в 21:48, курсовая работа
1.1 Сущность задачи
Задачей данного проекта является автоматизация расчета кратчайшего расстояния между городами Минской области. Программное приложение должно выводить сведения об оптимальном пути маршрута.
В Минской области осуществляется автобусное сообщение между следующими городами:
Содержание
1 Объектно-ориентированный анализ и проектирование системы 3
Сущность задачи 3
Проектирование модели 5
2 Вычислительная система 8
2.1 Требования к аппаратным и операционным ресурсам 8
2.2 Инструменты разработки 8
3 Проектирование задачи 11
3.1 Требования к приложению 11
3.2 Концептуальный прототип 11
3.3 Организация данных 12
3.4 Функции и элементы управления 12
3.5 Проектирование справочной системы приложения 17
4 Описание программного средства 19
4.1 Общие сведения 19
4.2 Функциональное назначение 19
4.3 Входные данные 19
4.4 Выходные данные 19
5 Методика испытаний 20
5.1 Технические требования 20
5.2 Порядок проведения испытаний 20
5.2.1 Функциональное тестирование 20
5.2.2 Полное тестирование 26
6 Применение 39
6.1 Назначение программы 39
6.2 Условия применения 39
6.3 Справочная система 39
Заключение 45
Литература 46
Приложение А 47
//24
{9999,9999,9999,9999,9999,38,
//25
{9999,9999,9999,9999,9999,35,
//26
{9999,44,9999,9999,9999,9999,
//27
{38,9999,45,99999,9999,9999,
//28
{44,9999,9999,9999,9999,9999,
//29
{45,9999,9999,9999,37,9999,
//30
{26,9999,9999,9999,9999,16,
int[,] S = new int[30, 30];
string[] Cites = new string[30] { "Минск", "Беризино", "Борисов", "Вилейка", "Воложин", "Дзержинск", "Жодино", "Клецк", "Копыль",
"Крупки", "Логойск", "Любань", "Марьина горка", "Молодечно", "Мядель", "Нарочь", "Несвиж", "Плещеницы", "Пуховичи",
"Слуцк", "Смолевичи", "Солигорск",
"Ст. Дороги", "Столбцы", "Узда",
"Червень","Cмиловичи","
public string MinP(int x, int y, int z)
{
if (x == y)
{
MessageBox.Show("Пункт назначения соответствует пункту прибытия.\nУбедитесь в правильности выбора.");
return "Измените один из пунктов и попробуйте снова!";
}
for (int i = 0; i < 30; i++)
{
for (int j = 0; j < 30; j++)
{
if (i != j) S[i, j] = j+1;
else S[i, j] = 0;
}
}
int sum = 0;
for (int r = 0; r < 30; r++)
{
for (int i = 0; i < 30; i++)
{
for (int j = 0; j < 30; j++)
{
sum = D[r, j] + D[i, r];
if (D[i, j] > sum)
{
D[i, j] = sum;
S[i, j] = r + 1;
}
}
}
}
string end1;
string buf;
int end;
string str = "->";
int begin = x;
if (z != 0)
{
end = z;
}
else
{
end = y;
}
end1 = Convert.ToString(end);
int asd = end;
string begin1 = Convert.ToString(begin);
string s = Cites[begin];
opop:
if (asd != (S[begin, end] - 1))
{
if (S[begin, end] != 0)
{
int qwe = begin;
begin = S[qwe, end] - 1;
buf = Convert.ToString(Cites[begin])
s = s + str + buf;
}
goto opop;
}
else
{
if (z != 0)
{
s += str;
begin = z;
end = y;
asd = end;
s += Cites[begin];
opop1:
if (asd != (S[begin, end] - 1))
{
if (S[begin, end] != 0)
{
int qwe = begin;
begin = S[qwe, end] - 1;
buf = Convert.ToString(Cites[begin])
s = s + str + buf;
}
goto opop1;
}
else
return s + str + Cites[y];
}
else
{
return s + str + Cites[y];
}
}
}
public string MinS(int x, int y, int z)
{
for (int i = 0; i < 30; i++)
{
for (int j = 0; j < 30; j++)
{
if (i != j) S[i, j] = j + 1;
else S[i, j] = 0;
}
}
int sum = 0;
for (int r = 0; r < 30; r++)
{
for (int i = 0; i < 30; i++)
{
for (int j = 0; j < 30; j++)
{
sum = D[r, j] + D[i, r];
if (D[i, j] > sum)
{
D[i, j] = sum;
S[i, j] = r + 1;
}
}
}
}
string km;
if (z == 0)
km = "Кратчайшее расстояние = "+Convert.ToString(D[x, y]) + " км";
else
km = "Кратчайшее расстояние = " + Convert.ToString((D[x, z]+D[z, y])) + " км";
return km;
}
}
3.5 Проектирование справочной системы приложения
Справочная система будет содержать описания всех функций программы (от самых мелочных до основных). Информация будет понятной и доступной для понимания всем пользователям, даже самым неумелым пользователям ПК. Система будет содержать следующие пункты:
Средством разработки справочной системы будет являться программа «Help & Manual 5.2.0»
4 Описание программного средства
4.1 Общие сведения
Приложение получило название «Оптимизация маршрутов».
Для функционирования программного средства необходима операционная система Windows XP/Windows Seven.
Перечень модулей(библиотек):
Объем занимаемой памяти приложением составляет около 100 Мб плюс память для сохраненных маршрутов.
Присутствует инсталлятор программного средства.
4.2 Функциональное назначение
Данное программное средство решает задачу оптимизации маршрутов. Это же является и назначением программы.
Сетевой поддержки у программы так же нет. Так как функциональные требования она выполняет без подключения к сети.
4.3 Входные данные
Входными данными программы являются названия городов. Список городов представлен в виде CheckedListBox. Организован поиск городов.
4.4 Выходные данные
Выходными данными являются кратчайшие маршруты, которые пользователь может, по желанию, сохранить в текстовый файл. В этом файле будет храниться последовательность городов, через которые необходимо следовать, чтобы добиться кратчайшего маршрута следования, а так же наименьшее расстояние между двумя городами. Доступ к этим файлам могут осуществлять любые пользователи, не зависимо вы его создали или нет.
5 Методика испытаний
5.1 Технические требования
Минимальные системные требования для проведения тестирования данного приложения представлены в таблице 3.
Таблица 3 - Минимальные системные требования
Элементы конфигурации |
Описание характеристик |
Процессор |
Тактовая частота 1GHz |
Оперативная память |
Объём 256 mb |
Видео адаптер |
Объём памяти 16 mb |
Дисковое пространство |
Объём 100 mb |
Клавиатура |
Совместимая с персональным компьютером |
Мышь |
Совместимая с персональным компьютером |
Монитор |
Диагональ 15" |
Операционная система |
Windows XP Service Pack 2 |
5.2 Порядок проведения испытаний
5.2.1 Функциональное назначение
При запуске программы открывается форма «Оптимизация маршрутов». Форма представлена на рисунке 2.
Рисунок 2 – Форма «Оптимизация маршрутов»
Нажав на кнопку «Выбрать город отправления», список городов отправления становится активным и доступным для использования (выбора города). Результат нажатия представлен на рисунке 3.
Рисунок 3 – Результат нажатия кнопки «Выбрать город отправления»
Выбрав город отправления, становится доступным для использования список городов прибытия и список городов отправления опять становится неактивным. Результат нажатия представлен на рисунке 4.
Рисунок 4 – Результат выбора города прибытия
Выбрав город прибытия, фокусировка переходит на кнопку «Найти кратчайший путь» и список городов прибытия опять становится неактивным. Результат выбора города прибытия представлен на рисунке 5.
Рисунок 5 – Результат выбора города прибытия
Нажав кнопку «Найти кратчайший путь», в соответствующие поля выводится кратчайший маршрут и кратчайшее расстояние. Результат нажатия на кнопку «Найти кратчайший путь» представлен на рисунке 6.
Рисунок 6 – Результат нажатия на кнопку «Найти кратчайший путь»
Нажав на пункт меню «Сохранить путь…», открывается диалоговое окно «Сохранить как», в котором пользователь сможет, выбрав имя или оставив стандартное (город отправления_город прибытия), сохранить путь и расстояние в текстовый файл. Результат нажатия представлен на рисунках 7-9.
Рисунок 7 – выбор пункта меню «Сохранить как…»
Рисунок 8 – Диалоговое окно сохранения пути
Рисунок 9 – Сохраненный текстовый файл
Выбрав строку ввода города для поиска, автоматически стирается надпись «Введите город». Результат нажатия представлен на рисунке 10.
Рисунок 10 – Результат нажатия на поле ввода города для поиска
Введя данные для поиска, выбрав один из списка городов для поиска (отправления, проезда или прибытия) и нажав кнопку поиска, программа найдет и выберет (заменит) город (отправления, проезда или прибытия). Так же, если найден город отправления, то становится доступным для выбора список городов прибытия. Результат всех этих действий представлен на рисунках 11-12.
Рисунок 11 – Введение информации для поиска
Рисунок 12 – Выбран город поиска, стал активным список городов
Нажав повторно клавишу «Найти кратчайший путь», уже найденный кратчайший путь, между ранее выбранными городами будет изменен на путь между текущими городами. Данный маршрут и расстояние можно так же сохранить в текстовый файл. Результат представлен на рисунке 13.
Рисунок 13 – Результат нахождения другого кратчайшего пути
5.2.2 Полное тестирование
Полное тестирование предполагает полный просмотр программного средства с момента запуска до завершения работы с проверкой реакции программного приложения на некорректный ввод данных или сами некорректные данные.
При запуске программы открывается форма «Оптимизация маршрутов». Форма представлена на рисунке 14.
Рисунок 14 – Форма «Оптимизация маршрутов»
Нажав на кнопку «Выбрать город отправления», список городов отправления становится активным и доступным для использования (выбора города). Результат нажатия представлен на рисунке 15.
Рисунок 15 – Результат нажатия кнопки «Выбрать город отправления»
Информация о работе Нахождение кратчайшего пути между городами Минской области