Автор работы: Пользователь скрыл имя, 17 Декабря 2011 в 13:04, курсовая работа
В данном курсовом проекте разработана программа-аналог системы p2p. Данная программа создана в среде Delphi версии 7.0. Программа представляет собой комплекс средств для обмена файлами между пользователями в сети, включающий в себя хаб, клиентское приложение, поиск нужных файлов, предоставление доступа к информации, чат между пользователями. Наряду с этим, в программе реализованы права доступа на действия с файлами пользователей.
Введение 5
1. Анализ технического задания 7
2. Реализация 13
3. Тестирование 13
Заключение 18
Список литературы 19
Министерство
образования и науки Российской Федерации
Муромский институт (филиал)
Государственного
образовательного учреждения высшего
профессионального образования
«Владимирский государственный университет
имени Александра Григорьевича и Николая
Григорьевича Столетовых»
(МИ (филиал) ВлГУ)
Факульт
Кафедра
Информационных
систем
КУРСОВОЙ
ПРОЕКТ
по ИСРОД .
(наименование дисциплины)
Тема: Разработка аналога системы p2p
Руководитель
(оценка) (фамилия, инициалы)
(подпись) (дата)
Члены комиссии Студент ПИ-107
(подпись) (Ф.И.О.) (фамилия, инициалы)
(подпись)
Муром 2011
В
данном курсовом проекте разработана
программа-аналог системы p2p. Данная программа
создана в среде Delphi версии 7.0. Программа
представляет собой комплекс средств
для обмена файлами между пользователями
в сети, включающий в себя хаб, клиентское
приложение, поиск нужных файлов, предоставление
доступа к информации, чат между пользователями.
Наряду с этим, в программе реализованы
права доступа на действия с файлами пользователей.
Содержание
Введение 5
1. Анализ технического задания 7
2. Реализация 13
3. Тестирование 13
Заключение 18
Список
литературы 19
Приложение
А Листинг программы. 20
Введение
Сегодня уже невозможно себе представить персональный компьютер не имеющий выхода в сеть. Обмен информацией по сети стал настолько незаменимым средством коммуникации, что мы просто не представляем как ранее могли обходиться без него. У обмена информацией по сети множество преимуществ, таких как простота реализации, легкая доступность, а также при наличии высокой скорости в сети - быстрая передача файлов между пользователями.
Дальнейшее
развитие этих технологий привело к созданию
одноранговых,
Одна из главных областей применения технологии одноранговых сетей — это обмен файлами. Пользователи файлообменной сети выкладывают какие-либо файлы в так называемую «расшаренную» (англ. share — делиться) директорию, содержимое которой доступно для скачивания другим пользователям. Какой-нибудь другой пользователь сети посылает запрос на поиск какого-либо файла. Программа ищет у клиентов сети файлы, соответствующие запросу, и показывает результат. После этого пользователь может скачать файлы у найденных источников. В современных файлообменных сетях информация загружается сразу с нескольких источников. Ее целостность проверяется по контрольным суммам[2].
В
данном курсовом проекте будет осуществлена
реализация аналога системы p2p. Программа
будет состоять из хаба и клиента. Клиентское
приложение будет осуществлять поиск
и скачивание требуемых файлов. Кроме
того, в программе будет возможность обмена
сообщениями между пользователями посредством
чата, а также пользователи смогут предоставлять
доступ к своим файлам. Хаб-приложение
будет средством администрирования между
пользователями. Также в нем будет возможно
регистрировать новых пользователей.
1. Анализ технического задания
Тему курсового проекта – разработка аналога системы p2p. Исходя из задания, необходимо разработать программу, которая будет осуществлять поиск и обмен файлами между пользователями программы, иметь средства коммуникации между клиентами, а также иметь средства администрирования работы. Задачу, поставленную в данной работе можно разделить на две основные подзадачи, каждая из которых требует собственно алгоритма реализации:
Разрабатываемое
приложение должно быть как можно
проще в работе, иметь доступный
и легкий интерфейс, чтобы у пользователя
не возникало проблем с работой в программе.
Также оно должно удовлетворять требованиям
к системе пользователя.
Работа приложения начинается с запуска администратором хаба. Без его запуска пользователи сети не смогут увидеть друг друга. Администратор настраивает хаб – выбирает порт для него и узнает ip адрес компьютера на котором запущен хаб. Также администратор может регистрировать новых пользователей хаба, создавая им учетные записи с логинами и паролями зарегистрированных пользователей. Для запуска или отключения хаба администратором необходимо нажать соответствующие кнопки в интерфейсе программы.
После запуска администратором хаба, пользователи смогут войти на него через клиентское приложение. Запустив его пользователь должен наддать на кнопку соединения с хабом и ввести ip адрес и порт хаба. Если пользователь не зарегистрирован на хабе и не ввел свой пароль и логин при входе на хаб, то он считается гостем на хабе. Чтобы войти как зарегистрированный пользователь необходимо ввести при входе свои учетные данные, а именно пароль и логин выданные администратором хаба для зарегистрированных лиц. Войдя на хаб пользователь программы может сразу же начать поиск требуемого ему файла нажав на соответствующую кнопку поиска в приложении. На основе сделанного запроса пользователя будет осуществлен поиск по расшаренным файлам других пользователей, находящихся в данный момент также на этом хабе. Если файл будет найден, то результат запроса отобразится в окне поиска. Для скачивания файла необходимо лишь выбрать сам требуемый файл и нажать кнопку “Скачать файл”. В опциях программы пользователь может настроить каталог для скачивания новых файлов, а также указать собственные расшаренные файлы, то есть файлы открытые для доступа другим клиентам программы. Также сам пользователь может ограничить доступ к своим собственным файлам и действиям с ними определенным клиентам. При скачивании файла с другого компьютера возможно упаковать или распаковать скачиваемые файлы, например для уменьшения размера скачиваемых файлов, а следовательно и для уменьшения времени скачивания файла. Для обмена сообщениями между пользователями в программе требуется реализовать чат между клиентами.
Кроме того, в программе должна подробна и наглядно отражаться информация о скачивании или отдаче файлов пользователя. На основе последующего тестирования будет выявлена работоспособность программы, а также всех ее составных элементов.
В результате, по итогам проведенного анализа можно выявить основные этапы разработки данной программы:
1. Создание хаб-приложения;
- добавление зарегистрированных пользователей;
- запуск и остановка хаба;
- удаление пользователей с хаба.
2. Создание клиентского приложения:
- подключение к хабу;
- скачивание новых файлов;
- поиск требуемых файлов в сети;
- упаковка и распаковка информации;
- ограничение прав доступа к своим файлам;
- просмотр информации о файле и о процессе скачки;
- общение по чату.
Средой разработки требуемых алгоритмов является Delphi 7.0.
Список разрабатываемых классов программы и процедур, а также краткая информация по ним описана в таблице 1.
Таблица 1 – Классы и процедуры программы
Программа | Класс | процедура | Описание |
Хаб-приложение | Info | TfInfo.ShowInfo | Вызов информационного окна |
Main | FormCreate | Создание формы | |
FormDestroy | Удаление формы | ||
btnExitClick | Выход из программы | ||
1 | 2 | 3 | 4 |
4 | |||
btnMyIPClick | Определение ip-адреса | ||
lvPeersChange | Изменение пользователей на хабе | ||
FormShow | Отображение формы | ||
btnRemoveClick | Процедура удаления | ||
btnSettingsClick | Процедура опций хаба | ||
btnUsersClick | Процедура регистрации пользователей | ||
btnStartClick | Запуск хаба | ||
btnStopClick | Остановка хаба | ||
Settings | FormCreate | Создание формы | |
FormShow | Отображение формы | ||
SaveData | Сохранение изменений | ||
Users | FormCreate | Создание формы | |
FormDestroy | Удаление формы | ||
btnEditClick | Редактирование пользователей | ||
btnAddClick | Добавление пользователей | ||
btnRemoveClick | Удаление пользователей | ||
Клиент-приложение | Chat | LoadForm | Загрузка формы |
SaveForm | Сохранение формы | ||
btnChatClick | Отправка сообщения в чате | ||
FormCreate | Создание формы | ||
FormDestroy | Удаление формы | ||
Connect | btnOkClick | Соединение с хабом | |
Files | FormCreate | Создание формы | |
FormDestroy | Удаление формы | ||
btnInClick | Переход в каталог в шаре | ||
1 | 2 | 3 | 4 |
1 | 2 | 3 | 4 |
btnUpClick | На каталог вверх в шаре | ||
btnListClick | Список файлов пользователя | ||
btnUnzipClick | Распаковка файлов | ||
btnZipClick | Архивация файлов | ||
btnUploadClick | Отдача файлов | ||
btnDownloadClick | Скачивание файлов | ||
btnRenameClick | Переименование файлов | ||
btnDeleteClick | Удаление файлов | ||
btnNewClick | Расшаривание файлов | ||
btnAbortUploadClick | Прерывание отдачи | ||
btnAbortDownloadClick | Прерывание закачки | ||
Info | TfInfo.ShowInfo | Вызов информационного окна | |
Main | FormCreate | Создание формы | |
FormDestroy | Удаление формы | ||
btnExitClick | Выход из программы | ||
btnConnectClick | Соединение с хабом | ||
btnCancelClick | Закрытие хаб | ||
btnClearLogClick | Очистка чата | ||
btnUsersClick | Переход к шаре пользователя | ||
btnChatClick | Чат пользователей | ||
btnFilesClick | Шара пользователя | ||
btnSearchClick | Поиск файла | ||
btnSettingsClick | Настройки программы | ||
btnRemoveClick | Удаление файлов | ||
User | Assign | Добавление пользователя | |
1 | 2 | 3 | 4 |
1 | 2 | 3 | 4 |
Search | btnStartClick | Начало поиска | |
btnStopClick | Остановка поиска | ||
FormClose | Закрытие формы | ||
Settings | FormCreate | Создание формы | |
FormShow | Отображение формы | ||
SaveData | Сохранение изменений |