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

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

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

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

Файлы: 1 файл

Курсач.doc

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

Рисунок 3.5 – Окно дополнительных настроек отправления.

 

 

  1. Описание программы

    1. Описание компонентов

При создании данного программного средства было создано 4 формы:

    • Main основная форма.
    • Setup окно настройки программы.
    • MsgEditor окно создания и отправки сообщений.
    • MsgEdtAdv окно дополнительных настроек отправления.

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

    • ActionList, MainMenu позволяет создавать верхнее меню
    • IdAntiFreeze выносит синхронные операции в рабочий фоновый поток, позволяя в это время главному потоку обрабатывать сообщения.
    • ImageList это набор изображений одинаковых размеров, на которые есть возможность ссылаться по индексам, начиная с 0.
    • IdMessage- используется в комбинации с другими компонентами, чтобы должным образом расшифровать или кодировать сообщения.
    • TPanel панель для размещения различных видимых элементов
    • idPOP3 необходим для применения в приложениях протокола POP3( Post Office Protocol Version 3) , т.е. для приема и менеджмента сообщений.
    • TSaveDialog вызывает окно сохранения файла.
    • TStatusBar необходим для отображения какой-либо онформации о работе программы.
    • TToolBar панель с пиктограммами

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

    • TButton позволяет выполнять какие-либо действия при нажатии кнопки;
    • TEdit используется для ввода значений;
    • TPageControl используется для создания вкладок;
    • TComboBox используется для создания выпадающего списка.

 

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

    • IdMessage - используется в комбинации с другими компонентами, чтобы должным образом расшифровать или кодировать сообщения.
    • TOpenDialog вызывает окно открытия файла.
    • idSMTP – необходим для применения в приложениях протокола SMTP (Simple Mail Transfer Protocol), обеспечения поддержки аутентификации, MIME-кодирования и декодирования, а также для поддержки многобайтных символов;
    • TButton позволяет выполнять какие-либо действия при нажатии кнопки;
    • TEdit используется для ввода значений;
    • TComboBox используется для создания выпадающего списка.

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

  • TButton позволяет выполнять какие-либо действия при нажатии кнопки;
  • TEdit используется для ввода значений;

 

 

      1. Описание процедур и функций

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

  • procedure TfrmMain.ShowStatus(stStatus: string) – изменение статуса соединения с сервером;
  • procedure TfrmMain.ShowFileStatus - изменение статуса о наличии писем;
  • function TfrmMain.FindAttachment(stFilename: string): integer – проверка на наличие вложений в письме;
  • procedure TfrmMain.Button1Click(Sender: TObject)- сохранение вложения в письме ;
  • procedure TfrmMain.RetrievePOPHeaders(inMsgCount: Integer) – загрузка заголовков сообщений с сервера;
  • procedure TfrmMain.CheckMailExecute(Sender: TObject) проверка на наличие сообщений на сервере;
  • procedure TfrmMain.RetrieveExecute(Sender: TObject) - загрузка сообщений с севрера;
  • procedure TfrmMain.DeleteExecute(Sender: TObject) – удаление сообщений с сервера;
  • procedure TfrmMain.SetupExecute(Sender: TObject) – вызов окна настроек;
  • procedure TfrmMain.Exit1Click(Sender: TObject) – кнопка выхода;
  • procedure TfrmMain.ReadConfiguration – считывание настроек из файла;
  • procedure TfrmMain.Selectfromdeletion1Click(Sender: TObject) – кнопка, чтобы пометить на удаление;

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

  • procedure TfrmMessageEditor.bbtnOkClick(Sender: TObject) - отправляет сообщение;
  • procedure TfrmMessageEditor.bbtnAdvancedClick(Sender: TObject) – открывает окно дополнительных настроек отправления;
  • procedure TfrmMessageEditor.btnAttachmentClick(Sender: TObject) – открывает диалог открытия файла прикрепления;
  • procedure TfrmMessageEditor.ResetAttachmentListView – обновляет список вложений;
  • procedure TfrmMessageEditor.btnTextClick(Sender: TObject) – кнопка закрытия окна;

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

  • procedure TfmSetup.BitBtn1Click(Sender: TObject) – сохраняет настройки в файл;

 

 

 

 

  1. Тестирование

 

Тестирование программы – это испытание, проверка правильности работы программы в целом, либо её составной части. Тестирование устанавливает факт наличия ошибок, а отладка выясняет её причину. Как бы ни была тщательно отлажена программа, она, скорее всего все равно содержит неявные ошибки, и решающим этапом, устанавливающим ее пригодность для работы, является контроль программы по результатам ее выполнения на системе тестов.

Основные принципы организации тестирования:

    1. Необходимой частью каждого теста должно являться описание ожидаемых результатов работы программы;
    2. Программе не должна тестироваться её автором;
    3. Организация - разработчик программного обеспечения не должна "единолично " его тестировать;
    4. Необходимо подбирать тесты не только для правильных (предусмотренных) входных данных, но и для неправильных (непредусмотренных);
    5. При анализе результатов каждого теста необходимо проверять, не делает ли программа того, что она не должна делать;
    6. "Принцип скопления ошибок" - вероятность наличия не обнаруженных ошибок в некоторой части программы прямо пропорциональна числу ошибок, уже обнаруженных в этой части.

Процесс тестирования состоит из трёх этапов:

    1. Проектирование тестов.
    2. Исполнение тестов.
    3. Анализ полученных результатов.

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

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

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

Таким образом, ни структурное, ни функциональное тестирование не может быть исчерпывающим. Чтобы увеличить процент обнаружения ошибок при проведении функционального и структурного тестирования используют средства автоматизации тестирования.

 При возникновении  ситуации, в которой невозможно  дальнейшее использование программы, следует ее перезапустить и  начать заново вычисление. 

В ходе тестирования программы ошибок выявлено не было.

 

 

 

 

 

 

 

 

 

 

  1. Описание применения

      1. Способ установки программы

 

Для установки программного средства «Решение систем линейных уравнений» достаточно скопировать файлы с расширением .exe в любую папку на компьютере. Для полноценного функционирования программного средства желательно его применение на компьютерах с операционной системой Windows XP.

 

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

 

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

 

 

Заключение

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

Так же мы выбрали инструменты разработки, и системные требования программного продукта.

Данное программное средство было написано с использованием компонентов для работы с почтовыми протоколами и среды разработки программных продуктов - Embarcadero Delphi XE7, имеющей широкий ряд возможностей для работы с сетью интернет.

Обработка данных производилась при помощи компонентов NMPOP3, idSMPT, idMessage обеспечивающих работу с почтовыми протоколами.

В результате было создано программное средство «E-mail клиент», которое может быть использовано практически любым пользователем ПК.

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

 

Список используемых источников

  1. Осипов, Д.Л. Delphi. Программирование для Windows, OS X, iOS и Android/ Д. Л. Осипов – Санкт-Петербург: БХВ-Петербург, 2014. – 464 с.
  2. Шкрыль, А. Разработка клиент-серверных приложений в Delphi/Андрей Шкрыль – Санкт-Петербург: БХВ-Петербург, 2006. – 480 с.
  3. Фленов, М. Библия Delphi/Михаил Фленов – Санкт-Петербург: БХВ-Петербург, 2011. – 686 с.
  4. Фленов, М. Программирование в Delphi глазами хакера/Михаил Фленов – Санкт-Петербург: БХВ-Петербург, 2003. – 162 с.
  5. Бобровский, С. Delphi 7. Учебный курс/С. Бобровский– Санкт-Петербург: Питер, 2004. – 736 с.
  6. Кэнту, М. Delphi 7 Mastering (Delphi 7 для профессионалов) /Марко Кэнту– Санкт-Петербург: Питер, 2004. – 1104 с.

 

 

 

 

 

 

 

 

 

 

 


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