[关键词] 即时通讯;网络相册;MVC;Struts2;Ajax
3.3.1 用例角色识别
根据校友系统具有的功能,我们可以划分出三种类型的用户:校友用户、系统超级管理员以及具有某种权限的系统管理员。因此,系统的角色主要包括拥有校友管理、相册管理、通讯管理,博客管理等权限的校友用户;拥有管理班级年级系别等权限的普通管理员;以及拥有管理班级年级系别和普通管理员权限的超级管理员。
4.2.2 功能模块设计
(1) 校友管理模块
校友管理模块是校友系统的基本模块,也是整个校友系统的数据基础。完整的校友管理模块包括四个部分:我的校友,查找校友,全部校友,以及校友消息。
我的校友子功能模块实现对个人好友的管理以及查看。在该模块中通过对个人好友的搜索和遍历,获取好友信息,并通过集合和迭代的方法将好友信息呈现到页面,个人可以对好友进行操作,如删除好友,进入好友个人空间等等。
查找校友子功能模块实现个人的校友搜索功能。校友可以根据自己的需求条件有选择的选择搜索符合自己要求的校友,并通过集合和迭代呈现自己的搜索结果。该搜索过程由程序根据用户的条件选择,判断搜索的逻辑条件,同时根据不同的条件,动态的生成不同条件下的SQL语句。用户可以根据搜索结果集有选择的添加自己需要的校友为好友。
全部校友子功能模块实现显示所有注册过的校友集合。在该模块中,对所有校友进行分页显示,包括共有多少个校友,共有多少页,当前为第几页,以及对某一页的跳转,同时包括首页,尾页,上页,下页的跳转。用户可以根据显示结果添加自己需要的校友为好友。
校友消息子功能模块用来提示用户当前未处理的校友消息。包括其他校友添加自己的请求通知,和自己未处理的好友请求。用户有选择是否同意添加好友的机会。可同意,可以拒绝。
(2) 网络相册模块
网络相册模块是校友系统的一个娱乐模块,为校友的相册功能需求提供了支持。网络相册的操作流程包括创建相册,上传图片,以及图片显示以及图片设置等。
创建相册子功能模块实现了对相册的设置和新建。用户不能新建名称相同的两个相册,新建相册时首先判断名称是否为空以及名称是否已经存在,然后再进行信息处理。对于已经存在的相册,用户可以修改相册名称,或者删除相册,在用户删除相册的过程中,用户同时也会删除该相册下的所有照片。
上传图片子模块是网络相册的核心部分。上传过程中首先选择本地图片,然后将本地图片以流的形势上传至服务器保存为图片,同时以一个随机数命名,上传完成后,将图片的路径持久化到数据库,方便用户的随时访问。由于流文件较多,故长传过程中,必须对文件格式和文件大小进行过滤。
相册显示和设置则是对上传图片的后期处理。用户可以通过不同的相册显示自己的图片,进入相册可以单张显示自己的照片,上张,下张可以实现图片间的切换,或者通过鼠标的移动来切换。用户可以对图片进行处理,包括设置相册封面,设置用户头像等。
(3) 即时通讯模块
即时通讯模块是校友系统的一个重要模块,极大方便了校友之间的沟通和联系。即时通讯主要包括两部分:好友聊天,聊天消息。
好友聊天子功能模块实现了对好友发起聊天的请求和响应。当用户向好友发起聊天请求时,好友会受到相应的通知,并与其聊天,聊天窗口由DIV+CSS进行实现,再由AJAX技术对聊天记录进行即时更新,这里要求每隔1s聊天窗口刷新一次。
聊天消息功能模块主要用来提示用户当前有未处理的好友聊天消息。
(4) 数据导入导出模块
所谓数据的导入导出就是指将其他应用程序的数据,一直到SQL Server,MySQL等数据库中,或者将SQL Server,MySQL等的数据移植到其他应用程序中,数据的导入导出可以使对数据的维护操作变得简单。
目 录
1 绪论 1
1.1 研究背景及意义 1
1.2 校友系统的国内外现状 1
1.3 本文的研究范围与内容组织 2
2 开发技术 2
2.1 MVC开发模式 2
2.1.1 视图 2
2.1.2 模型 3
2.1.3 控制器 3
2.2 J2EE框架技术 3
2.2.1 Struts框架 3
2.2.2 Hibernate框架 5
2.2.3 Spring框架 5
2.3 Ajax技术 5
3 系统分析 7
3.1 系统概述 7
3.2 需求描述 7
3.2.1 功能性需求 7
3.2.2 非功能性需求 8
3.3 需求分析 9
3.3.1 用例角色识别 10
3.3.2 用例识别 10
4 系统设计 12
4.1 架构设计 12
4.2 总体设计 12
4.2.1 系统结构设计 12
4.2.2 功能模块设计 14
4.2.3 系统页面设计 16
4.3 数据库设计 17
4.3.1 校友数据表 17
4.3.2 校友数据库的设计原则 20
5 编码与实现 20
5.1 环境配置 20
5.1.1 开发环境 20
5.1.2 部署环境 21
5.2 编码环节 21
5.2.1 表现层(UI) 21
5.2.2 业务逻辑层(BLL) 23
5.2.3 数据访问层(DAL) 25
5.3 功能实现 26
5.3.1 校友管理功能 26
5.3.2 网络相册功能 27
5.3.3 即时通讯功能 27
5.3.4 数据导入导出功能 28
6 系统测试与运行 29
6.1 软件测试的概念 29
6.2 软件测试的目的 29
6.3 软件测试的方法 30
6.4 部分测试用例 30
6.5 测试结果 31
7 总结和展望 31
7.1 总结 31
7.2 展望 31
结束语 32
参考文献 33
致谢 34