Почтовое приложения с архитектурой клиент-сервер

Автор работы: Пользователь скрыл имя, 03 Сентября 2015 в 20:43, курсовая работа

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

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

Файлы: 1 файл

Курсач.doc

— 164.50 Кб (Скачать файл)

Оглавление

 

 

 

 

Введение

 

Актуальность

В настоящее время компьютеры прочно обосновались практически во всех сферах деятельности человека. Этот факт вынуждает человека с все большей интенсивностью использовать в своей повседневной жизни компьютер. В настоящее время информатика и информационные технологии достигли достаточно высокого уровня развития. Без них уже немыслима современная человеческая культура и профессиональная деятельность человека. C развитием компьютерных технологий все больше информации распространяется по компьютерным сетям с использованием различных компьютерных систем. Основным способом передачи информации по сети Internet, является электронная почта. Онлайн сервисы электронной почты зачастую очень сложны и громоздки, а программные клиенты дороги.

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

Задачи:

    1. Определить предметную область, входную и выходную информацию программного продукта, а также составить задачу написания программного продукта.
    2. Выбрать инструменты разработки, определить системные требования, а также обосновать свой выбор.
    3. Спроектировать задачу, описать логическую структуру, спроектировать графический интерфейс программного продукта.
    4. Описать программу, используемые компоненты, процедуры и функции.
    5. Протестировать программный продукт.
    6. Описать применение, способ установки и руководство пользователя программного продукта.
    7. Сделать выводы по решении всех задач.

Объект: программный продукт с архитектурой клиент-сервер, работающий в локальной сети или в сети Internet.

Предмет: программный продукт, осуществляющий работу с почтовыми ящиками электронной почты (E-mail клиент).

Методы исследования: В курсовой работе применялись общетеоретические и эмпирические (практические) методы.

 

 

  1. Постановка задачи

    1. Описание предметной области

 

В процессе курсового проектирования необходимо разработать сетевую почтовую программу, далее «E-mail клиент», которая позволит получать и отправлять письма с указанного e-mail-а.   

Проведя небольшое исследование рынка подобного программного обеспечения, было найдено несколько подобных продуктов, таких как Bat, Outlook Express.  Все они имели ряд недостатков, таких как:

- высокая цена;

- недостаточный функционал;

-сложность работы;

 

    1.  Входная и выходная информация

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

Входными данными программы являются:

- адрес почтового сервера;

- e-mail пользователя;

- пароль почтового ящика;

- текст письма, получаемый  от почтового сервера.

Выходная информация - информация, образующаяся в результате обработки входной информации на выходе системы. Является результатом принятого управленческого решения. Может быть представлена в виде документов, письменных и устных сообщений и т.д.

Выходной информацией программы является текст письма, выведенный на экран, а также текст отосланного на почтовый сервер письма.

 

    1.  Формулировка задачи

Должен быть разработан программный продукт, обеспечивающий комфортную работу с почтой пользователя. В программном продукте должны быть реализованы возможности приема и передачи писем на указанные почтовые адреса. Программный продукт должен работать с серверами различных типов. Так же программный продукт должен иметь простой пользовательский интерфейс.

 

 

 

 

 

  1. Выбор и основание инструментов разработки

    1. Выбор средств разработки

Исследовав требования к разрабатываемой программе, можно остановиться на выборе среды программирования - Embarcadero Delphi XE. Embarcadero Delphi XE - дает возможность быстро создавать полнофункциональные высокопроизводительные приложения для Windows.

Язык Delphi используется миллионами разработчиков. Он сочетает современные возможности объектно-ориентированного языка, быструю компиляцию, подключение к разнородным базам данных и мощную визуальную платформу разработки, поддерживаемую тысячами компонентов и надстроек сторонних разработчиков. Полностью визуальная двусторонняя интегрированная среда разработки Embarcadero Delphi XE позволяет упростить и ускорить создание визуальных пользовательских приложений и приложений, активно работающих с базами данных, включая приложения для настольных систем Windows, интерактивные приложения с сенсорным вводом, приложения для электронных терминалов, а также приложения для баз данных, многозвенные, облачные и веб-приложения. Разработка приложений реализуется максимально быстрым способом, требует участия меньшего числа разработчиков и осуществляется для разных платформ Windows и баз данных.

Программирование в Delphi XE значительно эффективнее, чем в других средах и платформах Delphi, таких как Borland Delphi. Библиотека визуальных компонентов (VCL) Delphi XE инкапсулирует сложные, трудоемкие интерфейсы Windows API в удобные, расширяемые компоненты многократного применения. Она полностью интегрирована в среду разработки и двусторонние визуальные конструкторы. Это облегчает управление свойствами и методами компонентов через программный код и в визуальном режиме. В результате при разработке приложений с помощью библиотеки VCL приходится писать, отлаживать и тестировать до 5 раз меньше программных строк без ухудшения производительности и функциональных возможностей. Приложения, созданные с использованием компонентов, отличаются более высоким качеством, они удобнее в обслуживании и легче поддаются изменению.

 

    1.  Программно-аппаратные ресурсы

Основные требования к персональному компьютеру:

- микропроцессор Intel или AMD с тактовой частотой 200МГц и выше;

- объем оперативной памяти 32Мб  и выше;

- объем дискового пространства  не менее 30Мб;

- клавиатура и манипулятор мышь;

- операционная система Microsoft Windows 98/NT/2000/XP.

Разрабатываемая рабочая программа будет использоваться в операционной системе Windows. Операционная система обеспечивает пользователю и прикладным программам удобный способ  обращения с устройствами компьютера.

Основные достоинства вышеперечисленной операционной среды:

  • полностью переработанный интерфейс пользователя. Благодаря новому интерфейсу в Windows гораздо проще запускать программы, открывать и сохранять документы, работать с дисками и сетевыми серверами;
  • plug and рlay. B Windows реализована поддержка стандарта PlugAndPlay, который представляет собой попытку максимально упростить установку и настройку периферийных устройств;
  • совместимость (Compatibility). Поддержка файловых систем NTFS5, NTFS4, FAT16 и FAT32.

 

  1. Проектирование задачи

 

    1.  Описание логической структуры.

 

Для реализации работы e-mail клиенты были использованы протоколы POP3 и SMPT.

POP3 – протокол который используется почтовым клиентом для получения сообщений электронной почты с сервера. POP3 - перед работой через протокол POP3 сервер прослушивает порт 110.  Когда клиент хочет использовать этот протокол, он должен создать TCP соединение с сервером. Когда соединение установлено, сервер отправляет приглашение. Затем клиент и POP3 сервер обмениваются информацией пока соединение не будет закрыто или прервано. Команды POP3 состоят из ключевых слов, за некоторыми следует один или более аргументов. Все команды заканчиваются парой CRLF (в Visual Basic константа vbCrLf). Ключевые слова и аргументы состоят из печатаемых ASCII символов. Ключевое слово и аргументы разделены одиночным пробелом. Ключевое слово состоит от 3-х до 4-х символов, а аргумент может быть длиной до 40-ка символов.

Ответы в POP3 состоят из индикатора состояния и ключевого слова, за которым может следовать дополнительная информация. Ответ заканчивается парой CRLF. Существует только два индикатора состояния: "+OK" - положительный и "-ERR" - отрицательный.

Ответы на некоторые команды могут состоять из нескольких строк. В этих случаях каждая строка разделена парой CRLF, а конец ответа заканчивается ASCII символом 46 (".") и парой CRLF.

POP3 сессия состоит из нескольких режимов. Как только соединение с сервером было установлено и сервер отправил приглашение, то сессия переходит в режим AUTHORIZATION (Авторизация). В этом режиме клиент должен идентифицировать себя на сервере. После успешной идентификации сессия переходит в режим TRANSACTION (Передача). В этом режиме клиент запрашивает сервер выполнить определённые команды. Когда клиент отправляет команду QUIT, сессия переходит в режим UPDATE. В этом режиме POP3 сервер освобождает все занятые ресурсы и завершает работу. После этого TCP соединение закрывается.

У POP3 сервера может быть INACTIVITY AUTOLOGOUT таймер. Этот таймер должен быт, по крайней мере, с интервалом 10 минут. Это значит, что если клиент и сервер не взаимодействуют друг с другом, сервер автоматически прерывает соединение и при этом не переходит в режим UPDATE.

 

SMPT - SMTP используется для отправки почты от пользователей к серверам и между серверами для дальнейшей пересылки к получателю. Для приёма почты, почтовый клиент должен использовать протоколы POP3 или IMAP. Работа с SMTP происходит непосредственно на сервере получателя. Поддерживает функции: установление соединения, аутентификация, передача данных.

Чтобы доставить сообщение до адресата, необходимо переслать его почтовому серверу домена, в котором находится адресат. Для этого обычно используется запись типа MX (англ. Mail eXchange — обмен почтой) системы DNS. Если MX запись отсутствует, то для тех же целей может быть использована запись типа A. Некоторые современные реализации SMTP-серверов (например, Exim[1]) для определения сервера, обслуживающего почту в домене адресата, также могут задействовать SRV-запись (RFC 2782).

Широкое распространение SMTP получил в начале 1980-х годов. До него использовался протокол UUCP, который требовал от отправителя знания полного маршрута до получателя и явного указания этого маршрута в адресе получателя, либо наличия прямого коммутируемого или постоянного соединения между компьютерами отправителя и получателя.

Sendmail был одним из первых (если не первым) агентом отправки сообщений, который начал работать с SMTP. В настоящее время протокол SMTP является стандартным для электронной почты и его используют все клиенты и серверы.

Протокол был разработан для передачи только текста в кодировке ASCII, кроме того, первые спецификации требовали обнуления старшего бита каждого передаваемого байта. Это не даёт возможности отсылать текст на национальных языках (например, кириллице), а также отправлять двоичные файлы (такие как изображения, видеофайлы, программы или архивы). Для снятия этого ограничения был разработан стандарт MIME, который описывает способ преобразования двоичных файлов в текстовые. В настоящее время большинство серверов поддерживают 8BITMIME, позволяющий отправлять двоичные файлы так же просто, как текст. Основные команды:

  • MAIL адрес отправителя
  • RCPT адрес получателя (может быть несколько. На каждого получателя отдельно приходит квитанция)
  • DATA передача данных (письма). Производится в ASCII. Данные формируются как сегменты ТСР. Конец письма – точка в пустой строке.
  • QUIT разрыв соединения.

Установление и закрытие соединения непосредственно с сервером производится по ТСР. Контроль за пользовательскими данными возложен на ТСР.

Сервер SMTP — это конечный автомат с внутренним состоянием. Клиент передает на сервер строку команда<пробел>параметры<перевод строки>. Сервер отвечает на каждую команду строкой, содержащей код ответа и текстовое сообщение, отделенное пробелом. Код ответа — число от 100 до 999, представленное в виде строки, трактующийся следующим образом:

2ХХ — команда успешно выполнена

3XX — ожидаются дополнительные данные от клиента

4ХХ — временная ошибка, клиент  должен произвести следующую  попытку через некоторое время

5ХХ — неустранимая ошибка

 

Текстовая часть ответа носит справочный характер и предназначена для человека, а не программы.

 

 

    1.  Проектирование системы меню

 

Для простоты работы с программным средством необходимо обеспечить максимально понятный интерфейс.

При загрузке программы на экран выводится основное окно программы(рисунок 3.1) содержащее основное меню, иконки для быстрого доступа к функциям программы, поле показывающее список сообщений, а так же информацию о выбранном сообщении.

 

Рисунок 3.1 – главное окно программы

При нажатии на пункт меню «Настройки» , на экран выводится окно настроек программы (рисунок 3.2) содержащий в себе две вкладки POP3 settings(рисунок 3.2) и SMTP settings(рисунок 3.3). На обеих вкладках расположены формы для настройки соответствующих серверов.

Рисунок 3.2 – Окно настройки программы и вкладка POP3 settings

Рисунок 3.3 – вкладка SMTP settings

Находясь в основном окне программы при нажатии на пиктограмму с изображением конверта, либо выбрав «Написать сообщение» в подменю «Функции», на экран выводится окно создания и отправки нового сообщения (рисунок 3.4). На нем находится формы для заполнения адресата, заголовка, выбора файла прикрепления, поле ввода сообщения.

При нажатии на кнопку Прочее на экран выводится окно прочих настроек отправления (рисунок 3.5), на котором расположена форма для добавления дополнительных заголовков.

Рисунок 3.4 – Окно создания и отправки сообщений.

Информация о работе Почтовое приложения с архитектурой клиент-сервер