局域网邮件收发系统.docx
《局域网邮件收发系统.docx》由会员分享,可在线阅读,更多相关《局域网邮件收发系统.docx(8页珍藏版)》请在冰豆网上搜索。
局域网邮件收发系统
《工程软件设计与实践》
技术报告
设计题目局域网邮件收发系统
专业班级软件1003
小组人员许泉姜斌潘峰立
组长雷继军
指导教师王宏
计算机学院
2013年1月11号
一邮件收发系统需求分析
1.引言
1.1概述
采用科学方法实现了一个简易电子邮件接收系统的设计与开发,本系统简单地实现邮件的基本功能,重点着重从客户端和用户界面的开发方面详细阐述了整个电子邮件接收实现的全过程。
1.2背景
随着Internet的迅速发展和普及,网络已经成为人们获取交换信息的重要方式,在各种网络服务中,电子邮件系统以其方便、快捷的特点成为人们进行信息交流的理想工具。
通过电子邮件人们以非常快的速度同世界上其他互联网用户联络。
电子邮件的使用者数量呈几何级数增长。
1.3目的
简单地实现邮件的基本功能,包括邮件的接收,发送,读取。
可以发送附件等,能对邮件列表进行管理的文件夹,可以进行添加,删除,修改联系人的地址簿。
1.4参考资料
《精通Struts2-基于MVC的JavaWeb应用开发实战》—陈云芳
《JavaWeb编程入门与实践》—陈云芳
1.5开发运行环境
服务器端操作系统:
Window7
开发工具:
MyEclipse
数据库:
Mysql
Web应用服务器软件:
Tomcat
客户端运行环境:
能运行IE6及以上浏览器的操作系统
2功能描述
2.1模块划分
2.1.1登录
输入用户名和密码验证是否为合法用户,验证成功后进入系统
2.1.2退出
用户选择退出系统,系统跳转到登陆页面
2.1.3邮件管理
2.1.2.1写邮件
向收件人发送邮件,也可以存为存草稿
2.1.2.1收邮件
收件人收取并读邮件,可以删除邮件到垃圾箱或彻底删除邮件,
2.1.3.4草稿箱
可读草稿内容和发送,删除草稿后将彻底删除,
2.1.3.5已发送
具有删除,彻底删除,转发,移动邮件等功能
2.1.3.6已删除
彻底删除,转发,编辑,移动邮件
2.1.4联系人
2.1.4.1新增联系人信息
2.1.4.2删除联系人信息
2.1.4.3修改联系人信息
2.1.4记事本可以记录事件
2.1.5音乐盒能够在线播放音乐
2.1.6网盘可存放文件夹到本地
3软件架构及系统用例图
3.1系统架构
软件的总体架构如图2-1:
接收邮件
发送邮件
图2-1软件架构图
2.2系统总体用例
图2-2系统总体用例图
2.3程序功能框图
图2-3程序功能图
(2)流程图
根据模块化设计思想,按照SMTP客户端的不同功能将其分为检查邮件信息完整性、生成标准格式的邮件和发送邮件这三部分。
SMTP客户端的基本流程图如下图:
每部分的基本功能如下:
(1)写邮件:
在编写邮件界面用户按要求填写邮件正文、附件及其它必须的信息:
(2)从界面获取邮件信息:
调用MFC的函数将界面中的内容存储到结构体中以便程序中使用;
(3)检查邮件信息完整性:
检查从界面读取的信息中是否包括全部的发送邮件必备信息;
(4)生成标准邮件:
根据得到的邮件信息编写邮件头及邮件体各部分的头信息,并对需要编码的邮件体进行编码,然后将这些内容按照RFC822和MIME的规定的格式并存入临时文件中:
(5)发送邮件:
使用SMTP协议将邮件发送到服务器上。
如果发送过程出现错误,则提示用户错误信息并返回编写邮件界面。
4程序调试运行
4.1登录
4.2退出
4.3邮件管理
4.4写邮件
4.5收邮件
4.6草稿箱
4.7已发送
4.8已删除
4.9联系人
2.1.4.1新增联系人信息
2.1.4.2删除联系人信息
2.1.4.3修改联系人信息
4.10记事本可以记录事件
4.11音乐盒能够在线播放音乐
4.12网盘可存放文件夹到本地
5心得体会
这次课程设计我们做的是局域网间邮件收发系统,主要是服务于局域网间的邮件发送和接收。
系统中主要采用的技术有JSP,JAVABEAN等。
虽然系统的基本功能都已实现,但还是存在不稳定等多个问题尚待解决。
这个系统主要是我们组开发的,但也得到了老是和同学的很大帮助。
我们在做系统的过程中遇到了很多问题,有的是只是存储不足,有的是考虑不够周全,之所以能够顺利实现基本功能,离不开老是和同学的大力相助。
开发一套系统,最重要的事细心,并不是要做到面面俱到,但要充分考虑到客户的雪球和实现意义,不管什么系统,只有运用到实际中,才具有现实意义。
所以在准备工作中要正确分析社会需求,了解现实应用,画出流程图,把大体框架做好,然后再逐一细化。
我们不能做到面面俱到,但一定要做到不不扎实,作为一个程序编辑人员,要保持清醒的头脑,已现实为依据,让自己的每一行代码都能实现自己的意义。
通过这次课程设计,我收获的不仅仅是课程上的知识得到实际应用,还有编程的基本习惯和开发系统时应注意的流程。
此外,只有在实践中才能检验出自己的不足和缺点,在这次课程设计中学到了很多的东西,受益匪浅。