AСТРAХAНСКИЙ ГОСУДAРСТВEННЫЙ УНИВEРСИТEТ
Кaфeдрa
информaционных систeм
и тeхнологий
Курсовaя рaботa по дисциплинe
«Объeктно-ориeнтировaнноe прогрaммировaниe»
нa тeму:
“Разработка приложения – клиента электронной почты”
Выполнили: студeнты группы ЗИ-31
Егоров Д.С.
Арушанов С.С.
Курсовaя рaботa допущeнa к зaщитe
Руководитeль: aсс. Пaвлов A.A.
Курсовaя рaботa выполнeнa с оцeнкой ___________
Пaвлов A.A.___________
Aстрaхaнь – 2009 г.
2.1. Общие сведения о работе программы
2.2. Функциональное назначение
2.3. Инсталляция и выполнение программы
2.4. Общий алгоритм программного обеспечения
2.5. Разработанные меню и интерфейсы
2.6. Описание основных классов и методов приложения
3. ПРОГРАММА И МЕТОДИКА ИСПЫТАНИЙ
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
Язык С++, разработанный Microsoft имеет массу преимуществ перед другими языками типа С, С++, Java: простота, объектная ориентированность, типовая защищенность, «сборка мусора», поддержка совместимости версий и многое другое. Данные возможности позволяют быстро и легко разрабатывать приложения. При создании С++ его авторы учитывали достижения многих других языков программирования: C++, С, Java, Visual Basic и т.д. Надо заметить, что поскольку С++ разрабатывался что называется «с нуля», у его авторов была возможность не переносить в него все неудачные особенности любого из предшествующих языков. Особенно это касается проблемы совместимости с предыдущими версиями. В результате получился действительно простой, удобный и современный язык, который по мощности не уступает C++, но существенно повышает продуктивность разработок. Ввиду высокой объектной ориентированности, язык С++ великолепно подходит для быстрого конструирования различных компонентов — от высокоуровневой бизнес-логики до системных приложений, использующих низкоуровневый код. Также следует отметить, что С++ является и Web-ориентированным — с помощью простых встроенных конструкций языка ваши компоненты легко превратятся в Web-сервисы, к которым можно будет обращаться из Интернета, используя любой язык на любой операционной системе. Дополнительные возможности и преимущества С++ перед другими языками приносит использование современных Web-технологий, таких как: XML (Extensible Markup Language) и SOAP (Simple Object Access Protocol). Удобные методы для разработки Web-приложений позволяют программистам, владеющим навыками объектно-ориентированного программирования, легко освоиться в разработке Web-сервисов.
Цель данной курсовой работы укрепить и улучшить практические навыки основ объектно-ориентированного программирования, полученных во время изучения курса, по данному предмету, а также научиться применять полученные знания в сетевом программировании .NET.
Разработка приложения-клиента электронной почты.
В ходе разработки клиентского приложения электронной почты, необходимо разработать и реализовать с использование двух основных протоколов передачи электронной почты POP3 и SMTP:
· методы приема и отправки сообщений;
· интуитивно понятный интерфейс, обеспечивающий удобную работу с приложением;
· сохранение почтовых сообщений на локальном диске компьютера;
· реализовать алгоритмы построения списка сообщений;
· при выборе сообщения обеспечить отображение темы сообщения, отправителя и адресата письма, а также текст самого сообщения;
· дополнительно необходимо реализовать возможность сворачивания приложения в трей панели задач Windows;
· проверку наличия новых сообщений по времени и смену иконки в трее при получении новых сообщений.
2.1. Общие сведения о работе программы
Программа разработaнa в среде программирования Microsoft Visual Studio 2008, на языке программирования C++.
Программа отправляет запрос на сервер электронной почты. Протокол POP3 проверяет правильность ввода имени и пароля электронной почты. После этого программа получает ответ от протокола о статусе ввода пароля и имени (правильно, не правильно). Если все переменные введены правильно, то происходит подключение к серверу. После этого программа получает список сообщений с сервера, а после этого сохраняет их на локальном компьютере. После завершения получения сообщения происходит отсоединение от сервера POP3.
При отправке сообщений используется протокол SMTP. В начале происходит авторизация на сервере SMTP, а после этого непосредственная передача сообщения почтовому демону.
2.2. Функциональное назначение
Программа предназначена для получения и отправки электронных писем, содержит теоретические и практические материалы, позволяющие систематизировать знания по работе с сетевыми протоколами электронной почты.
2.3. Инсталляция и выполнение программы
Для запуска программы из среды «Microsoft Visual Studio 2008» необходимо, зайдя в «Microsoft Visual Studio 2008» запустить файл Mail client.sln.
2.4. Общий алгоритм программного обеспечения
Программа состоит из методов, которые используются для подключения к серверам электронной почты, используя протоколы электронной почты, а так же для получения и отправки электронных писем.
При нажатии на меню «Получить почту», происходит подключение к серверу через протокол, и получение списка входящих писем.
Рис. 1.1. «Диаграмма работы протокола POP3»
При нажатии на кнопку написать письмо в меню «Файл», загружается окно нового письма, в котором содержатся поля: кому адресовано письмо, поле темы, поле для текста письма и кнопка для отправки письма.
При нажатии на кнопку «SendMail», происходит отправка письма, используя протокол SMTP.
При нажатии кнопки выход в меню «Файл», происходит завершение работы программы.
Рис. 1.2. «Диаграмма работы протокола SMTP»
2.5. Разработанные меню и интерфейсы
При запуске программы на экране появляется главное окно программы с элементами управления (Рис. 2.1).
Рис. 2.1. «Главное окно»
Для настройки почтового клиента необходимо нажать на меню «Настройки». В результате, загружается окно настроек (рис. 2.2.).
Рис. 2.2. «Настройки»
Для отправки письма необходимо запустить окно «Написать письмо» (рис 2.3.), нажатием на кнопку «Написать письмо» в меню «Файл».
Рис. 2.3. окно «Написать сообщение»
2.6. Описание основных классов и методов приложения
Рис. 3.1. «Диаграмма классов»
Класс POP3
Класс POP3, также как и одноименный протокол используется для извлечения сообщений с почтового сервера. Данный класс наследуется от System.Net.Sockets.TcpClient реализованного в VS 2008.
Класс содержит несколько методов:
· ConnectPOP – используется для установки соединения с сервером;
· DisconnectPOP – закрывает соединение с сервером;
· ListMessages – получаем список сообщений с сервера;
· RetriveMessage – получение сообщения с сервера;
· DeleteMessage – удаление сообщения на сервере;
· Write – принимает сообщение на входе и записывает его в сетевой поток TCP;
· Response – метод обратный от Write.
Класс SMTP
Класс SMTP как и одноименный протокол обеспечивает отправку сообщений.
Содержит метод SendMail, который обеспечивает отправку сообщения по протоколу SMTP.
Класс Form1
Класс Form1 обеспечивает интерфейс главного окна программы, а также обеспечивает функциональность сохранения и отображения принятых сообщений.
Основные методы:
· LoadProfile – загрузка файла профиля почтового ящика;
· ReadMess – чтение сообщения из файла;
· FileCreate – сохранение почтового сообщения;
· ListMess – загрузка сообщений в элемент ListView;
· ItemsAdd – добавление новых сообщений в элемент ListView;
Класс FormSettings
Класс FormSettings обеспечивает интерфейс окна настроек почтового ящика, а также обеспечивает сохранение этих настроек в файл профиля.
Основные методы:
· LoadProfile – загрузка файла профиля почтового ящика;
· EditProfile – сохранение изменений профиля почтового ящика;
Запуск программы осуществляется с помощью запуска файла Mail client.sln из среды разработки «MVS-2008».
Вверху окна расположены кнопки главного меню (рис. 3.5.1). Ниже расположено поле, в которое загружается список полученных писем. В самое нижнее поле загружается текст письма.
Результатом нажатия на меню «Получить почту», будет загрузка входящих писем в верхнее поле. Результатом нажатия на любое письмо, будет загрузка текста письма в нижнее поле. Для отправки письма нужно загрузить окно «Написать письмо» (рис 3.5.3) в меню файл. Результатом нажатия кнопки «SendMail» в окне «Написать письмо» будет отправка Эл. письма адресату. Результатом нажатия кнопки «выход» в меню «файл», будет выход из программы.