学士学位论文--企业邮件管理系统的设计与实现.doc
《学士学位论文--企业邮件管理系统的设计与实现.doc》由会员分享,可在线阅读,更多相关《学士学位论文--企业邮件管理系统的设计与实现.doc(18页珍藏版)》请在咨信网上搜索。
摘 要 随着互联网的迅速发展,E-mail 已经成为人与人之间沟通的桥梁, 越来越多的人开始选择通过网络进行即时沟通。为此,越来越多的网站开始提供发送E-mail的功能。 与此同时,E-mail 也以其快捷、无时空限制、低成本等优势受到众多企业的青睐,成为企业移动商务的主流应用方式。本系统以Swing+JavaDB实现的企业邮件系统,包括以下几个功能:用于管理客户和员工信息的名片夹管理功能;用于对常用短语及其类别进行管理的信息库管理功能;邮件群发功能;发送邮件附件的功能。本文主要介绍了系统的基本情况、系统分析、系统设计、数据库设计以及各个模块的设计与主要代码及其注释。 关键词: 分层设计 企业邮件系统 目 录 一.引言.........................................................1 二.需求分析......................................................1 三.总体设计......................................................3 四.详细设计与实现................................................8 五.系统测试......................................................14 六.结论..........................................................15 参考文献.........................................................16 I 大连交通大学软件实践 第一章 引 言 在企业信息化的今天,效率决定成败,企业内、外部沟通的及时性将直接影响企业的运作效率。现在多数企业的办公自动化系统 的信息传递仅限于计算机内部网络,如果用户不在线,将无法知道是否有新的工作或紧急通知,为了确认是否有待办工作,不得不经常去访问OA,检索是否有新任务,而事实上这种检索的结果经常是徒劳。这样一来,不仅造成了机器资源的浪费,也造成了人力资源的浪费。因此急需一套成型的企业邮件系统解决上述问题。企业邮件系统属于小型的企业通信软件,由于该系统的作用是帮助企业解决企业内部、企业与外部沟通难、信息不能及时传播等问题,以提高工作效率。因此根据需求分析可知,在系统实施后,应达到以下目标:提供功能强大的信息库管理,方便用户进行信息的编写;在发送短信时,可以直接从现有信息库中获取信息内容;提供邮件群发功能,提高工作效率。 由于系统的目标客户为企业全体工作人员,既包括懂计算机操作技术的人员,也包括对计算机操作不熟练的人员,从而不能保证企业的所有人员都能进行高技术的计算机操作。为此,系统界面设计应当友好、美观,操作必须灵活、方便。 另外,应企业进行事务处理过程中正确性、安全性的要求,系统应具备如下功能:对用户输入的数据,进行严格的数据检验,尽可能地避免人为错误;数据存储安全、可靠。 第二章 需求分析 1.项目范围 企业邮件的作用是帮助企业解决企业内部、企业与外部沟通难、信息不能及时传播等问题。为此,企业邮件系统需要提供有邮件群发功能。通过对多数企业日常业务的考察、分析,并结合短信及邮件自身的特点,本系统具有以下功能。 ①名片夹管理功能:用于管理客户和员工信息的。 ②信息库管理功能:用于对常用短语及其类别进行管理的。 ③邮件群发功能:用于向多个用户群发邮件。 ④发送邮件附件的功能:在发送邮件时,可以添加文件形式的附件。 2.系统用例模型 图2.1系统用例图 3.设计上的限制 ①数据库管理软件 系统必须使用Java接口同关系型数据库管理软件建立连接。 ②平台要求 系统必须在CPU为P3以上,内存为512MB以上,操作系统为微软win2000以上或Linux(Unix)的服务器上顺利运行。 ③Java的版本 系统必须在Java1.3以上的版本上运行。 数据库设计(Database Design)是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求(信息要求和处理要求)。数据库的设计通常是以一个已经存在的数据库管理系统为基础的。根据用户需求和业务流程,SQL Server 2000,它是一个完备的数据库和分析包,其功能可以从各个方面降低数据仓库建立和维护的难度和成本。我们认为使用SQL Server 2000作为后台数据库平台,可以在性能和成本方面获得比较好的折衷,所以在本项目的开发中决定使用JAVA DB。此次开发研究使用了JSP+Servlet+JavaBean开发一个基于MVC架构,MVC是一种设计模式,主要有三个主要组件: 模型:负责业务逻辑的状态和管理数据; 视图:负责显示业务领域的表示视图; 控制器:负责控制用户输入的流程和状态。 使用MVC模式时,通常会有某种形式的事件通知,当模型某部分有了变动时,可以通知视图控件。 NetBeans是SUN公司重点开发的JAVA集成开发环境,使用JAVA编程语言编写,具有很好的可移植性,它集成了程序员开发桌面,WEB,企业级和移动应用所需要的一切软件资源,具有以下特性: (1) 全面支持构建NetBeans插件模块和基于NetBeans平台的富客户端应用程序。 (2) 全面支持SUN Application Server8.2及Tomcat 5x (3) 全面支持JAVA企业版应用程序消息服务 (4) 增强了对JAVA Server Faces和Struts的支持 (5) 提供了更强大的代码编译器 (6) 加快了代码编译的速度 (7) 重新实现了对CVS的支持 (8) 改进的、用户界面友好的IDE外形 (9) 继承了编写、测试以及调试JAVA ME程序的功能 第三章 总体设计 3.1 系统框架 本系统有一个部分,5个完整的功能模块。分别是:名片夹管理、信息库管理、邮件群发、邮件参数设置、系统设置。 图3.1 功能结构图 邮件管理流程图是一种表明客户管理邮件的流程图,它可以帮助分析人员找出流程中的不合理回路。下面图3.2就是客户对邮件管理的流程图。 邮件系统 用户界面 邮件管理 退出系统系统 进入 处理邮件 登录 结束 图3.2 客户处理邮件流程图 3.2数据库设计 数据库设计(Database Design)是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求(信息要求和处理要求)。数据库的设计通常是以一个已经存在的数据库管理系统为基础的。通过对业务流程的分析,得到了系统的实体,以及实体之间关系,根据这些实体与关系之间的联系,得到了系统的E-R图,如图所示。 3.2.1档案实体E-R图 3.2.2常用短语实体E-R图 3.2.3类型实体E-R图 3.2.4实体之间关系图 数据流程顶层图即是数据流程零层图,是宏观的数据流程图。下面是网上宾馆订房的顶层图,如图3.3所示。 管理员 企业邮件管理系统 客户 图3.3 数据流顶层图 E-R模型用实体间联系反映现实世界事物间的内在联系,而数据表的建立是应用程序开发过程中的非常重要的一个环节,必须清楚每一模块要操纵的数据是那些,以及数据间的相互关系,然后建立数据表。本系统数据库使用SQL Server 2000,包含以下3个表:档案表(personnel)、常用短语表(info)、类型表(type)。 下面分别详细介绍以上各表: 表3.1 档案表(personnel) 序号 字段名 类型 允许空 主键 外键 1 Num int 否 是 2 type_id int 否 是 3 Name varchar(8) 否 4 Sex char(2) 否 5 Birthday date 否 6 Company varchar(50) 否 7 Dept varchar(40) 否 8 Duty varchar(50) 否 9 Handset varchar(15) 否 10 Email varchar(30) 否 表3.2 常用短语表(info) 序号 字段名 类型 是否空 主键 外键 1 num int 否 是 2 type_id int 否 是 3 name varchar(500) 否 表3.3 类型表(type) 序号 字段名 类型 是否空 主键 外键 1 Id int 否 是 2 Name varchar(20) 否 3 Used char(4) 否 第四章 详细设计与实现 详细设计阶段就是把解决方法具体化,设计出详细规格说明,包含必要的细节,程序员可以根据它们写出实际的程序代码,详细设计也称模块设计,在这个阶段将详细地设计每个模块,具体的实现功能。在详细设计过程中,具体的功能实现过程可以按照软件工程中的方法描述中的交互模型具体描述,力求完全符合客户的真实需求。 该系统的设计基于以下几个原则:1.标准化;2.模块化;3.先进性;4.安全性;5.交互性。 首先实现对数据库的连接,代码如下: String CLASSFORNAME="sun.jdbc.odbc.JdbcOdbcDriver"; String CONNECSTR="jdbc:odbc:shop_db"; Try{ Class.forName(CLASSFORNAME); This.con=DriverManager.getConnection(CONNECTSTR); }catch(Exception e){e.printStackTrace();} 4.1主窗体模块实现 1.功能 群发E-mail功能在主窗体中完成。在“收信人列表”中显示的为所有接收信息的人员,需要从“名片夹”中添加;发送 E-mail,可以通过单击“添加附件”按钮添加附件。 2.输入项目 图4.1主窗体界面 3.主要代码 ..\ExpressLetter\src\com\mwq\frame\TipWizardFrame.java final JToolBar toolBar = new JToolBar(); //创建工具栏对象 toolBar.setBorder(new EtchedBorder(EtchedBorder.LOWERED)); //设置工具栏的边框样式 toolBar.setFloatable(false); //设置工具栏不可移动 getContentPane().add(toolBar, BorderLayout.NORTH); //将工具栏添加到面板中 final JButton userButton = new JButton(); //创建用户管理按钮 userButton.addActionListener(new ActionListener() { //添加事件监听器 public void actionPerformed(ActionEvent e) { //处理按钮事件 UserManagerDialog dialog = new UserManagerDialog(); //创建用户管理对话框对象 dialog.setVisible(true); //设置用户管理对话框可见 } }); userButton.setMargin(new Insets(0, 0, 0, 0)); //设置按钮的边框 URL userUrl = this.getClass().getResource("/img/user.png"); //获得按钮默认图片的路径 userButton.setIcon(new ImageIcon(userUrl)); //设置按钮的默认图片 URL userOverUrl = this.getClass().getResource("/img/user_over.png"); //获得按钮鼠标经过图片的路径 userButton.setRolloverIcon(new ImageIcon(userOverUrl)); //设置按钮的鼠标经过图片 toolBar.add(userButton); //将按钮添加到工具栏 4.2 添加名片或信息模块实现 1.功能 单击系统右下方的“添加” 按钮,将打开“添加名片”对话框,该对话框用来向名片夹中添加名片。 2. 输出项目 图4.2添加界面 3.主要代码 ..\ExpressLetter\src\com\mwq\dao\ BaseDao.java protected Vector selectSomeNote(String sql) { Vector<Vector<Object>> vector = new Vector<Vector<Object>>(); //创建结果集向量 Connection conn = JDBC.getConnection(); //获得数据库连接 try { Statement stmt = conn.createStatement(); //创建连接状态对象 ResultSet rs = stmt.executeQuery(sql); //执行 SQL 语句获得查询结果 int columnCount = rs.getMetaData().getColumnCount(); //获得查询数据表的列数 int row = 1; //定义行序号 while (rs.next()) { //遍历结果集 Vector<Object> rowV = new Vector<Object>(); //创建行向量 rowV.add(new Integer(row++)); //添加行序号 for (int column = 1; column <= columnCount; column++) { rowV.add(rs.getObject(column)); //添加列值 } vector.add(rowV); //将行向量添加到结果集向量中 } rs.close(); //关闭结果集对象 stmt.close(); //关闭连接状态对象 } catch (SQLException e) { e.printStackTrace(); } return vector; //返回结果集向量 } 4.3邮件参数设置模块实现 1.功能 单击“E-mail 设置”按钮,将打开“邮箱设置”对话框,该对话框用来设置发送E-mail 的接口信息 2. 输出项目 图4.3邮件参数设置 3.主要代码 ..\ExpressLetter\src\com\mwq\frame\InfoPanel.java private class EmailSendButtonActionListenerimplements ActionListener{ public void actionPerformed(ActionEvent e) { String title = titleField.getText(); //获取邮件标题 String content = emailTextArea.getText(); //获取邮件内容 if (title.isEmpty() || content.isEmpty()) { //验证邮件标题和内容 JOptionPane.showMessageDialog(InfoPanel.this, "请填写邮件标题和内容"); return; } int sendCount = sendListTable.getRowCount(); //获取邮件群发总数 for (int i = 0; i < sendCount; i++) { //遍历发送列表 Integer id = (Integer) sendListTable.getValueAt(i, 1); //获取用户 ID Vector person = dao.sPersonnelByNum(id); //从数据库获取该 ID 用户 String addressee = person.get(9).toString(); //获取用户的 E-mail 地址 mailForm.setTitle(title); //初始化 mailForm 实例 mailForm.setContent(content); if (mailForm.getAddressee() == null || mailForm.getAddressee().isEmpty()) mailForm.setAddressee(addressee); else mailForm.setAddressee(mailForm.getAddressee() + ',' + addressee); } int res = mailDao.sendMail(mailForm); //发送邮件 String message = null; if (res == 1) //判断发送结果 message += "E-mail群体发送成功"; else message += "E-mail发送失败"; JOptionPane.showMessageDialog(InfoPanel.this, message); //提示发送结果 mailForm = new SendMailForm(); //初始化 mailForm 对象 } } 第五章 系统测试 软件系统编程完成后,最重要的任务就是对软件进行系统测试。所谓系统测试就是对软件各个模块,各组功能进行数据分析,以确定软件系统的运行效率和执行结果的正确性。当完成项目的软件代码编写阶段,即可进入软件测试阶段。软件测试阶段一般分为单元调试与测试和系统联试与测试两个阶段。 测试的目的就是在软件运行之前尽可能多的发现程序中的错误。这是保证软件质量的关键步骤。由于在编写代码过程中不可避免的会出现错误,因此在软件投入运行之前,必须纠正其中大部分差错,以免将来会造成很恶劣的后果。整个系统的测试要求测试人员有较高的计算机水平,是一个非常复杂而重要的过程。经过测试后的软件就可交付用户使用了,进入软件的运行和维护阶段。 本系统采用黑盒(BLACK BOX)测试法,亦即不论测试部件的实现如何,只对该部件的输入输出结果进行测试的一种测试方法。 在测试时,按则各个模块的相应信息输入测试数据,运行程序,查看输出的结果和系统的状态是否正确。 经过测试发现,由于系统是对数据库直接操作,在查找功能上的速度不够理想,顺序的查找是需要在数据库中从第一条记录向后一条一条的查询记录,直到找到记录,或是查询到数据库记录空为止。这样,浪费了大量的时间。在数据量较小的情况下运行速度还可以,但数据量大的时候就会减慢运行速度。这时系统的主要不足之处。 本系统的测试就是依照上述方法进行的,经过多次的检测与改正过程,认为系统已经达到了预期要求,能正确处理各种业务,并对非法输入可进行容错处理。 下面给出一些系统测试的性能评价: ·系统的可操作性:较好;系统的操作界面,采用视窗模式,与现在的Windows操作系统相配合,使操作者直接面对系统的界面。 ·系统运行速度: 一般;由于系统占用资源较多,必然引起系统的运行速度大大降低,这是该系统的不足之一。 ·系统安全性: 较好(进入需管理员密码);在登陆系统的时候,会要求操作者输入使用密码,做到了一定的限制,使系统有一个相对独立使用的操作团体,不是所有的人多可以使用的。 ·系统容错性: 较好(能够识别非法数据,有一定的纠错能力)。在输入数字不符合输入要求时,系统会提示输入的有问题。但不足的是,这只是体现在一小部分功能当中,还没有做到数据的完全纠错。进行测试的过程中,在对该系统进行测试的过程中,重点对该子系统的错误处理功能进行了检验,主要进行了系统模块出错的处理测试,在测试时使用了比较合理的测试用例,不仅仅是对键盘的操作进行测试,对一些链接,查看也进行了测试,也通过测试寻找到一些问题,对这些问题做出了及时有效的改正。测试的结果还是令人乐观和满意的。 第六章.结 论 运用MVC架构,结合普通电子商务网站的用户查询与订房及管理部分,详细的介绍了如何是用JSP、Servlet与Javabean开发一个具有MVC架构的购物网站。通过该项目可以看到使用JSP、Servlet与Javabean开发的具有MVC框架的项目具有易维护、易修改、模块之间的耦合性低等优点。 这次课程设计第一次涉及到做网站。系统存在下面的一些缺点,管理内容不够细致;数据库表浪费,在进行该系统的设计时对数据库表与表之间的关系还是有比较清楚地分析的,但是在开发过程中这样设计的表相互关联性太多,使得对数据库操作起来比较复杂。 虽然困难重重,但是成功的人生,需要自己去经营,别再说了,莫再等了,现在就为自己的人生做好规划,为人生点亮一盏明灯,赢在人生起跑点上。 参考文献 [1]张军.ASP.net+SQL server 动态网站开发案例精选.北京:清华大学出版社,2005 [2]吴晨、孙少波、叶莞.ASP.net数据库项目案例导航.北京:清华大学出版社,2004 [3]宋贤钧、王庆岭.数据库应用程序开发(SQL server 2000).北京:高等教育出版社 2004 [4] (中国CNKI学术期刊网) [5] (中国万方数据资源系统) [6] (elsevier全文数据库) [7]薛华成.管理信息系统(第四版).北京:清华大学出版社,2003年 [8]陈晓红.信息系统教程.北京:清华大学出版社,2003年 [9]张基温.信息系统开发方法案例(第四辑).北京:清华大学出版社,2003年 [10]甘仞初.信息系统分析与设计.北京:高等教育出版社,2003 [11]Jeffrey L. Whitten,系统分析与设计方法(影印版).北京:高等教育出版社,2001年 [12]David L.Anderson.Managing Information Systems.北京:清华大学出版社,2001年 [13]James A.O’Brien.Introduction to Information Systems.北京:高等教育出版社,2002年 [14]计算机软件工程规范国家标准汇编.北京:中国标准出版社,1998 [15] 启明工作室编著ASP.NET+SQL Server网络应用系统开发与实例.北京:人民邮电出版社, 2005 15- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学士学位 论文 企业 邮件 管理 系统 设计 实现
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【可****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【可****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【可****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【可****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文