Сетевое приложение почтового отделения

Автор: Пользователь скрыл имя, 22 Мая 2013 в 23:59, курсовая работа

Описание работы

Производительность и пропускная способность корпоративной сети определяется многими факторами:
– выбором серверов и рабочих станций, их удалением друг от друга;
– качеством и подбором каналов связи, сетевого оборудования;
– выбором сетевого протокола передачи данных, серверных операционных систем и операционных систем рабочих станций, аппаратной части серверов и ее конфигураций;

Содержание

ВВЕДЕНИЕ 3
1 ИЗУЧЕНИЕ ПРЕДМЕТНОЙ ОБЛАСТИ 5
1.1 Описание поставленной задачи 5
1.2 Актуальность исследуемой задачи 6
1.3 Современное состояние исследуемой задачи 6
1.4 Обзор метод и решений подобных задач 11
1.5 Постановка задачи. Системные требования 13
2 ПРОЕКТИРОВАНИЕ СТРУКТУРЫ И АРХИТЕКТУРЫ
ПРОГРАММНОГО ПРОДУКТА 15
2.1 Разработка компьютерной сети 15
2.2 Спецификация и расчет себестоимости спроектированной сети 18
2.3 Проектирование сети с помощью программы NetCracker 19
2.4 Выбор средств разработки клиент-серверного приложения 22
3 РЕАЛИЗАЦИЯ ПРОГРАММНОГО ПРОДУКТА 24
3.1 Описание логической структуры программного продукта 24
3.2 Реализация программного продукта, основные алгоритмы 26
ЗАКЛЮЧЕНИЕ 34
СПИСОК ИСПОЛЬЗУЕМОЙ ЛИТЕРАТУРЫ 35

Работа содержит 1 файл

Пояснительная записка_.docx

— 2.94 Мб (Скачать)

 

        private void button3_Click(object sender, EventArgs e)

{

            //Формируем отчет-квитанцию для  оплаты

            html = "";

long num = DateTime.Now.Ticks;

            html += "<title>Квитанцияобоплатепосылки №" + num.ToString().Substring(10) + "</title>";

            html += "<body>";

            html += "\r\n<table border=1><th colspan=2>Квитанцияобоплатепосылки №" + num.ToString().Substring(10);

            html += "\r\n<tr>";

            html += "\r\n<th colspan=2><u>КОМУ</u><tr>";

            html += "\r\n<th>ФИО:<td>" + receiver_fio.Text;

            html += "\r\n<tr>";

            html += "\r\n<th>Адрес:<td>" + receiver_addr.Text;

            html += "\r\n<tr>";

            html += "\r\n<th colspan=2><u>ОТКОГО</u><tr>";

            html += "\r\n<th>ФИО:<td>" + sender_fio.Text;

            html += "\r\n<tr>";

            html += "\r\n<th>Адрес<td>" + sender_addr.Text;

            html += "\r\n<tr>";

            html += "\r\n<th>Вес:<td>" + ves.Text;

            html += "\r\n<tr>";

            html += "\r\n<th>Ширина:<td>" + Shirina.Text;

            html += "\r\n<tr>";

            html += "\r\n<th>Длина:<td>" + Dlina.Text;

            html += "\r\n<tr>";

            html += "\r\n<th>Высота:<td>" + Dlina.Text;

            html += "\r\n<tr>";

            if (post_rec_radio.Checked)

direction = "<b>отправка  посылки</b>";

if (post_send_radio.Checked)

                direction = "<b>приёмпосылки</b>";

            html += "\r\n<th>Направлениесделки:<td>" + direction;

            html += "\r\n<tr>";

            html += "\r\n<th>Направлениепосылки:<td>" + Napravlenie.Text;

html += "\r\n<tr>";

            //Рассчет суммы по тарфиам

load_tarif();

            double summa = ((ves.SelectedIndex + 1) + (Dlina.SelectedIndex + 1) + (Shirina.SelectedIndex + 1) + (Napravlenie.SelectedIndex + 1)) * tarif;

            html += "<th colspan=2>Суммакоплате: " + Math.Round(summa, 2);

            html += "\r\n</table></body>";

            //Проверяемналичидедиректориисохранения

            if (!Directory.Exists(Application.StartupPath + "\\Posts\\"))

                Directory.CreateDirectory(Application.StartupPath + "\\Posts\\");

            //Проверяемналичиефайласохранения

            if (File.Exists(Application.StartupPath + "\\Posts\\Kvitok_Otpravki_Posilki_" + num.ToString().Substring(10) + ".html"))

                //Еслитакойесть - удаляем

                File.Delete(Application.StartupPath + "\\Posts\\Kvitok_Otpravki_Posilki_" + num.ToString().Substring(10) + ".html");

            //Записываеминформациювфайл

            File.AppendAllText(Application.StartupPath + "\\Posts\\Kvitok_Otpravki_Posilki_" + num.ToString().Substring(10) + ".html", html, Encoding.Default);

            webBrowser1.Navigate(Application.StartupPath + "\\Posts\\Kvitok_Otpravki_Posilki_" + num.ToString().Substring(10) + ".html");

            Formatted_SND = "POST|" + num.ToString().Substring(10);

}

 

ЗАКЛЮЧЕНИЕ

В данной курсовой работе организована локальная вычислительная сеть для почтового отделения и создано сетевое приложение расчета стоимости почтовых услуг. Согласно плану здания была разработана сеть, с выделенным сервером, состоящая из 17 рабочих станций. Проанализировав прайс-листы представленных на рынке компаний по продаже сетевого оборудования, была составлена спецификация сетевого оборудования на сумму в 135328,79 руб. ПМР.

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

Было написано клиент-серверное  приложение, в котором реализованы  следующие функции:

– аутентификация пользователей;

– удаление данных на серверном приложении;

– добавление данных клиента в клиентском приложении;

– расчет стоимости услуг на серверном приложении;

– разграничение прав пользователей;

– формирование отчетов с помощью языка разметки HTML.

 

СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ

1) Герберт Шилдт «Полный справочник по C#», перевод с англ., издательский дом «Вильямс», Москва, 2004г. – 752с.:ил.

2)   Джесс Либерти «Создание .NET  приложений. Программирование на C#», Издание 2-ое. Издательство «Символ-Плюс». Москва, 2005 г. – 684с.

3)   Камалян А.К., Кулев С.А., Назаренко К.Н. и др. «Компьютерные сети и средства защиты информации: Учебное пособие», издательство «ВГАУ», Воронеж, 2003 г. – 119с.

4)   Карли Ватсон и др. «C#», перевод с англ., издательство «Лори», Москва, 2005г. – 862с.

5)   Лабор В.В. «Си шарп: Создание приложений для Windows», издательство «Харвест», Минск, 2003г. – 384с.

6) Малышев Р.А. «Локальные вычислительные сети: Учебное пособие», издательство «РГАТА», Рыбинск, 2005 г. – 83 с.

7)   Олифер В.Г., Олифер Н.А. «Компьютерные сети. Принципы, технологии, протоколы», издательство «Питер», Санкт-Петербург, 2002. – 672 с.: ил.

8) Еженедельник для предпринимателей и специалистов в области информационных технологий «Computer Week Moscow».

9)   http://www.cyberforum.ru – форум программистов и сисадминов.

 

ПРИЛОЖЕНИЕ  А

Руководство пользователя

Для корректной работы программы «Почтовое отделение» необходимо изначально запустить серверное приложение. Под строкой заголовка находится строка меню, в которой содержится перечень меню программы: «Работа», «Пользователи». Ниже находится панель вкладок: «Письма», «Посылки», «Переводы», «Журнал работы». В нижней части окна расположены кнопки «Удалить» и «Печать», а так же строка состояния. Изображение окна серверного приложения представлено на рисунке А1.

Рисунок А1 – Окно серверного приложения

Пункт меню «Работа» содержит следующие  команды: «Запустить сервер», «Остановить», «Обновить список файлов», которые выполняют действия, указанные в их названиях. Работа программы осуществляется с выбора команды «Запустить сервер» из пункта меню «Работа», как показано на рисунке А2.

Рисунок А2 – Запуск сервера

Пункт меню «Пользователи» включает в себя команду «Список учёток». Выбрав этот пункт, открывается диалоговое окно редактирования учетных записей: можно просмотреть список учётных записей пользователей и изменить пароли, если это требуется. Для этого необходимо выбрать учётную запись и нажать на кнопку «Редактировать». Станет активным поле «Пароль», куда необходимо ввести новый пароль для пользователя. После ввода нового пароля требуется подтвердить новый пароль нажатием кнопки «Сохранить». Окно редактирования учётных записей представлено на рисунке А3.

Рисунок А3 – Окно редактирования учётных записей

Панель вкладок отображает список файлов, в зависимости от их типа. Вкладки «Письма», «Посылки» и  «Переводы» отображают чеки об оплате почтовых услуг, представленных в виде списков файлов, упорядоченных по этим вкладкам в зависимости от типа почтовых услуг: отправка/получение письма, отправка/получение посылки и отправка/получение денежного перевода соответственно. Можно выбрать любой файл и посмотреть чек, осуществив одинарное нажатие левой кнопки мыши по выбранному файлу. Справа будет отображен чек. Ниже чека расположены кнопки «Удалить» и «Печать». Можно удалить или распечатать чек, нажав на соответствующую кнопку. Вкладка меню «Журнал работы» отображает действия при работе программы с указанием времени, считывая их из лог-файла, хранящегося на сервере, в который они записываются. На сервере хранятся лог-файлы, создание каждого из которого обусловливается запуском сервера и в качестве имени ему присваивается текущая дата. Так же каждый лог дублируется в строке состояния.

Теперь можно приступать к запуску  клиентского приложения. При запуске клиентского приложения под строкой заголовка находится строка меню, в которой содержится перечень меню программы: «Клиент», «Работа». Под строкой меню расположена панель вкладок. По умолчанию вкладки на панели невидимые. Они начинают отображаться после успешной аутентификации пользователя, причем для различных пользователей свои вкладки. В нижней части окна расположена строка состояния. Изображение окна клиентского приложения представлено на рисунке А4.

Рисунок А4 – Окно клиентского приложения

Пункт меню «Клиент» включает в себя следующие команды: «Соединиться» и «Выход». Выбрав пункт «Соединиться», осуществляется соединение клиентского приложения с серверным приложением. Строка состояния выдает соответствующее оповещение об этом. Выбрав пункт меню «Выход», происходит завершение работы клиентского приложения, что приводит к его закрытию. Пример успешного установления связи клиентского приложения с сервером изображен на рисунке А5.

Рисунок А5 – Соединение клиента с сервером

Пункт меню «Работа» включает в себя следующие команды: «Авторизоваться» и «Сменить пользователя». Выбрав пункт «Авторизоваться», пользователю необходимо пройти процедуру аутентификации. В полях «login» необходимо ввести соответствующую учетную запись. В поле «pass» необходимо ввести соответствующие данные. Затем подтвердить ввод нажатием кнопки «Авторизоваться». Выбрав пункт меню «Сменить пользователя», окно приложения вновь принимает вид процедуры аутентификации, куда можно ввести другой логин и пароль, соответствующий ему. Наглядно процедура аутентификации продемонстрирована на рисунке А6.

Рисунок А6 – Окно авторизации серверного приложения

Рассмотрим все возможности  учётной записи «admin». При успешной аутентификации пользователя под учётной записью «admin», становится видимой вкладка «Администратор» на панели вкладок. Ниже предоставляется список файлов, хранящихся на сервере, которые можно просмотреть, выбрав интересующий файл одинарным нажатием левой кнопки мыши, и подтвердив свой выбор нажатием кнопки «Запросить информацию». Файл будет отображен в правом поле просмотра. В этом же поле просмотра можно редактировать выбранный файл, затем подтвердить изменения нажатием кнопки «Сохранить изменения». Выбрав файл users.txt, в котором хранится список учётных записей и соответствующих паролей, можно непосредственно с клиентского приложения добавить новые учетные записи и присвоить им пароли, изменить пароли имеющихся учетных записей, или удалить совсем ненужные учетные записи. Выбрав файл config.txt, можно изменить порт, процентную ставку, тарифы: по городу, стране, зарубеж. Выбрав файл otpravka.txt, можно редактировать список отправленных писем, посылок и переводов, то есть при необходимости удалять ненужные записи. Выбрав файл poluchenie.txt, можно редактировать список полученных писем, посылок и переводов. Выданные письма, посылки или переводы автоматически помечаются в начале названия файла знаком «*», то есть при необходимости удалить такие записи, не возникнет проблем с их поиском. После внесённых изменений необходимо перезапустить сервер, чтобы изменения вступили в силу. Для этого необходимо нажать кнопку «Перезапустить сервер удаленно». Окно клиентского приложения при аутентификации учетной записи «admin» показано на рисунке А7.

Рисунок А7 – Вкладка «Администратор»

Рассмотрим все возможности  учётных записей «ao1», «ao2», «ao3», «ao4». Данные учётные записи обладают возможностью расчёта и оформления чеков по оплате услуг приема и отправления писем, посылок и переводов. При успешной аутентификации пользователя под одной из данных учётных записей, становится видимой вкладка «Абонентский отдел» на панели вкладок. Она содержит внутри себя еще одну панель вкладок: «Посылки», «Письма», «Переводы». В зависимости от того, какой вид услуги необходимо осуществить, пользователь выбирает на какую именно вкладку перейти. Выбрав интересующий вид услуги, пользователь заполняет все поля формы. По завершении ввода данных в поля можно сформировать итоговую квитанцию, нажав кнопку «Сформировать квитанцию». В результате получим наглядную квитанцию, полученную путем отправки данных на сервер для вычисления суммы. Если по каким-либо причинам пользователю понадобилось изменить значения вводимых данных в форме, то можно нажать кнопку «Очистить форму», тем самым удалив все записи из полей формы. В случае, когда пользователь уверен в правильности введённых данных и готов подтвердить операцию, можно оформить данную квитанцию, сохранив ее на сервере и подтвердив тем самым оплату услуги, нажав кнопку «Оформить». Окно клиентского приложения при аутентификации учетных записей «ao1», «ao2», «ao3», «ao4» показано на рисунке А8.

Рисунок А8 – Вкладка «Абонентский отдел»

Рассмотрим все возможности  учётной записи «vp1». Данная учётная запись обладает возможностью отметки о выдаче в чеках по оплате услуг приема и отправления писем, посылок и переводов. При успешной аутентификации пользователя под учётной записью «vp1», становится видимой вкладка «Выдача» на панели вкладок. Она содержит внутри себя еще одну панель вкладок: «Посылки», «Письма», «Переводы». В зависимости от того, что необходимо выдать, пользователь выбирает на какую именно вкладку перейти. Выбрав интересующий вид услуги, пользователь просматривает открывшийся список файлов, каждый из которых является чеком об оплате того или иного вида услуги. Выбрав необходимый файл из списка, делается отметка о выдаче, путём нажатия кнопки «Выдать посылку», «Выдать письмо» или «Выдать перевод» в зависимости от того, на какой вкладке осуществлялся поиск чека соответственно. После нажатия на кнопку происходит печать чека на принтере. Окно клиентского приложения при аутентификации учетной записи «vp1» показано на рисунке А9.

Рисунок А9 – Вкладка «Выдача»

Рассмотрим все возможности  учётной записи «buh1». Данная учётная запись обладает возможностью просмотреть и распечатать на принтер чеки по оплате услуг отправления писем, посылок и переводов. При успешной аутентификации пользователя под учётной записью «buh1», становится видимой вкладка «Бухгалтер» на панели вкладок. Она содержит внутри себя еще одну панель вкладок: «Посылки», «Письма», «Переводы». В зависимости от того, какой вид услуги необходимо просмотреть и распечатать, пользователь выбирает на какую именно вкладку перейти. Выбрав интересующий вид услуги, пользователь просматривает открывшийся список файлов, каждый из которых является чеком об оплате того или иного вида услуги. Выбрав необходимый файл из списка, осуществляется его просмотр путем одинарного нажатия левой кнопки мыши по файлу. Содержимое файла в виде чека отображается на форме просмотра, расположенной справа. При необходимости можно распечатать чек, нажав кнопку «Распечатать квитанцию». Окно клиентского приложения при аутентификации учетной записи «buh1» показано на рисунке А10.

Информация о работе Сетевое приложение почтового отделения