1、本科毕业论文(20 届)大学生论坛系统的设计与开发所在学院专业班级 计算机科学与技术学生姓名指导教师完成日期摘要伴随着 3G 网络的发展,手机越来越普及并且成为最便捷的联接网络的终端。消费者也越来越注重对各个平台的手机软件的社交体验。而且开发者也越来越注重手机客户端的市场和推广。对于如此便捷的环境,也应运产生了一批优秀的跨各种平台的社交软件。在竞争激烈的手机市场中,android 手机的操作系统在完胜诺基亚的塞班系统后,一跃成为全球用户量最大的只能手机平台之一。而且 android 系统不但应用于智能手机,也在平板电脑市场中占有庞大的市场份额。为了方便校园中信息的实时发布,为了同学们方便沟通交
2、流,为了锻炼自身能力,我开发了一款专门为学生实用的 android 的论坛客户端,该系统采用 C/S 架构。可以让学生方便的接受发布者发布的信息,并且方便用户之间的沟通。因为软件专门为学生量身定做,所以受众就是同校学生或者同城学生。校园可以在系统在发布实时信息(如毕业生廉价处理课本,生活用品,组团旅游等) ,让志同道合的同志们都的看到,并且做出响应。打造一款大学生在校生活的精品软件。系统基于 android 系统开发,采用 java 做服务器后台,并且可以方便的扩展开发ios 客户端。在网络发展成熟的今天,灵活实时的保证了数据的统一。对于大学生们来说,既扩大不过分暴漏出自己的交际圈,又开阔了自
3、己的视野,为大学生活提供了方便。希望这一套系统可以的校园中应用起来,希望这款软件可以活在同学们的手掌里。采用 java 技术设计和实现服务器,用 android 实现客户端,保证软件良好运行。简要介绍了 java 三大框架开发(struts+spring+hibernate)的技术特点和数据库技术,随后简要的概述 android 的开发要点,并且简要的讲一下 ios 的开发扩展,在后台数据管理方便用到 jsp 技术。并且构建一个 C/S 模式的论坛系统,并对该系统进行需求分析,总体设计,详细设计,编码与测试。并为后台数据管理做一个简单的分析。关键词:论坛系统;JAVAEE;ANDROIDAbs
4、tractWith the development of 3G networks, mobile phones become more and more popular and the most convenient connection network terminals. Consumers are increasingly focusing on mobile software for each platform social experience. And developers are increasingly focusing on mobile clients marketing
5、and promotion. For such a convenient environment, but also produced a number of outstanding should be transported across the various platforms of social software. In the highly competitive mobile phone market, android mobile phone operating system in the win over Nokias Symbian system, became the wo
6、rlds largest user of only one mobile platform. And android system is not only used in smart phones, tablet PC market also occupies a large market share.In order to facilitate real-time information on campus publication, in order to facilitate communication between the students, in order to exercise
7、their own capacity, I developed a dedicated forum for student practical android client, the system uses C/S structure. Allows students to easily accept the publishers publish information, and to facilitate communication between users. Because the software tailored specifically for students, so the a
8、udience is the same school student or student city. Campus can publish real-time information system (such as low-cost processing graduate textbooks, supplies, group travel, etc.), so that like-minded comrades are to see and respond. Students in the school of life to build a boutique software.Based o
9、n the above description, the present system is based on android system development, using java to do server daemon, and can develop ios client. Today, the network mature, flexible real-time data to ensure the unity. For college students who are violent, but points both to expand their social circle
10、leaked, but also broaden their horizons, make life easier for the university.Hope that this system can be set up on campus in the application, the software can live in hope that the students of the palm.This paper describes the design and implementation techniques with java server daemon with androi
11、d achieve the client, ensure that the software running well. Briefly describes three frameworks java development (struts + spring + hibernate) the technical characteristics and database technology, followed by a brief overview of the main points android development, and briefly talk about the develo
12、pment of extensions ios in the background jsp technology used to facilitate data management . And build a C/S mode forum system, and the system needs analysis, design, detailed design, coding and testing. And data management for the background to do a simple analysis.Keywords: forum system; JAVAEE;
13、ANDROID目 录1 绪论 .11.1 选题背景 .11.2 C/S 架构简介 .11.3 JSP 技术简介 .21.4 MVC 框架简介 .21.5 Struts+Spring+Hibernate 框架简介 .21.6 数据库技术简介 .31.7 android 技术简介 .31.8 IOS 技术简介 .32 需求分析与系统设计 .42.1 需求分析 .42.1.1 功能需求 .42.1.2 性能需求 .42.1.3 开发环境 .42.1.4 运行环境 .52.2 基本设计原则 .52.3 业务流程设计 .52.3.1 客户端业务流程设计 .52.3.2 后台业务流程设计 .62.4 数据
14、库设计 .62.4.1 概念数据模型设计 .72.4.2 逻辑数据模型设计 .72.4.3 物理数据模型设计 .72.5 系统结构设计 .82.5.1 页面结构设计 .82.5.2 代码结构设计 .83 系统详细设计 .103.1 数据库实现 .103.2 服务器设计 .103.2.1 服务器端工具 .103.2.2 软件包和 JAVA 源代码文件 .113.2.3 服务器的整体架构 .113.2.4 服务器对外交互分析 .123.3 客户端设计 .123.3.1 页面布局处理 .123.3.2 客户端源码结构 .133.5 后台设计 .143.5.1 JSP 文件结构 .143.5.2 JS
15、TL.144 页面展示 .164.1 客户端页面展示 .164.2 主页面展示 .174.3 后台数据控制页面 .19总 结 .21致 谢 .22参考文献 .22附录 .2411 绪论1.1 选题背景在互联网高度发展的今天,大学的校园里虽然人满为患,但是同学之间的交流还是机会不多。虽然大学校园里会时不时的举办一些活动,但是这不是对每一个都是一个机会。为了增强同学们之间的交流,增加校园的亲和力,本系统为大学生们量身定做,方便校园的交流,保证信息在用户中快速辐射。在网络发展成熟的今天,同学们的手机中必备的软件中也不乏社交类的,比如 QQ,微信,微博,人人等等,但是这些软件的主题不是针对学生。在加上
16、现在 android 系统的手机如此普遍,基本上每个学生手里都有一台,同学们在同类人的社区里缓解压力是最有效的。而且市场不会为学生开发这样一款针对性这么强的软件。但是我们在学校学习了知识,自己为自己开发,方便自己!所以选择论坛客户端作为设计题目,有助于改善同学们的心理环境和生活环境,推动同学们的素质发展。并要求学生在开发过程中自学有关开发技术,对日后工作或继续研究都有着重要的意义。1.2 C/S 架构简介客户端和服务器架构。它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到 Client 端和 Server 端来实现,降低了系统的通讯开销。目前大多数应用软件系统都是
17、Client/Server 形式的两层结构,由于现在的软件应用系统正在向分布式的 Web 应用发展,Web 和 Client/Server 应用都可以进行同样的业务处理,应用不同的模块共享逻辑组件;因此,内部的和外部的用户都可以访问新的和现有的应用系统,通过现有应用系统中的逻辑可以扩展出新的应用系统。这也就是目前应用系统的发展方向。C/S 结构的优点是能充分发挥客户端 PC 的处理能力,很多工作可以在客户端处理后再提交给服务器。对应的优点就是客户端响应速度快。具体表现在以下两点:(1)应用服务器运行数据负荷较轻。最简单的 C/S 体系结构的数据库应用由两部分组成,即客户应用程序和数据库服务器程
18、序。二者可分别称为前台程序与后台程序。运行数据库服务器程序的机器,也称为应用服务器。一旦服务器程序被启动,就随时等待响应客户程序发来的请求;客户应用程序运行在用户自己的电脑上,对应于数据库服务器,可称为客户电脑,当需要对数据库中的数据进行任何操作时,客户程序就自动地寻找服务器程序,并向其发出请求,服务器程序根据预定的规则作出应答,送回结果,应用服务器运行数据负荷较轻。(2)数据的储存管理功能较为透明。在数据库应用中,数据的储存管理功能,是由服务器程序和客户应用程序分别独立进行的,并且通常把那些不同的(不管是已知还是2未知的)前台应用所不能违反的规则,在服务器程序中集中实现,例如访问者的权限,编
19、号可以重复、必须有客户才能建立定单这样的规则。所有这些,对于工作在前台程序上的最终用户,是“透明”的,他们无须过问(通常也无法干涉)背后的过程,就可以完成自己的一切工作。在客户服务器架构的应用中,前台程序不是非常“瘦小” ,麻烦的事情都交给了服务器和网络。在 C/S 体系下,数据库不能真正成为公共、专业化的仓库,它受到独立的专门管理。1.3 JSP 技术简介JSP(Java Server Pages)是一种基于内置 Java 代码的、用于创建动态内容的脚本语言,它天然地具备 Java 技术的跨平台特性,从而在广泛的基于网络的应用中迅速得到应用,成为当前软件领域最热门的技术之一。JSP 技术设计
20、多种软件技术和标准,诸如Java、HTML、数据库等,并且广泛应用于动态网站的建设中。1.4 MVC 框架简介M(Model,模型) 、V(view,视图) 、C(controller,控制器) 。是 Xer ox PARC 在八十年代为编程语言 Smalltalk-80 发明的一种软件设计模式,至今已被广泛使用。最近几年被推荐位 Oracle 旗下 Sun 公司 Java EE 平台的设计模式,并且受到越来越多的使用ColdFusion 和 PHP 开发者的欢迎。MVC 设计模式把程序的输入、处理和输出分开,使各个部件处理自己的任务。使程序有较高的重用性和适用性,并且有着较低的生命周期成本,
21、有利于软件工程化管理并具备较高的可维护性。1.5 Struts+Spring+Hibernate 框架简介Struts 只是一个 MVC 框架( Framework),用于快速开发 Java Web 应用。Struts 实现的重点在 C(Controller),包括 ActionServlet/RequestProcessor 和我们定制的 Action,也为V(View)提供了一系列定制标签( Custom Tag) 。但 Struts 几乎没有涉及 M(Model),所以Struts 可以采用 JAVA 实现的任何形式的商业逻辑。Spring 是一个轻型容器(light-weight co
22、ntainer),其核心是 Bean 工厂(Bean Factory),用以构造我们所需要的 M(Model)。在此基础之上,Spring 提供了 AOP(Aspect-Oriented Programming, 面向层面的编程)的实现,用它来提供非管理环境下申明方式的事务、安全等服务;对 Bean 工厂的扩展 ApplicationContext 更加方便我们实现 J2EE 的应用;DAO/ORM 的实现方便我们进行数据库的开发;Web MVC 和 Spring Web 提供了 Java Web 应用的框架或与其他流行的 Web 框架进行集成。就是说可将两者一起使用,达到将两者自身的特点进行
23、互补。Hibernate 是一个免费的开源 Java 包,它使得与关系数据库打交道变得十分轻松,就像您的数据库中包含每天使用的普通 Java 对象一样,同时不必考虑如何把它们从神秘的3数据库表中取出(或放回到数据库表中)。它解放了您,使您可以专注于应用程序的对象和功能,而不必担心如何保存它们或稍后如何找到它们。1.6 数据库技术简介数据库技术是现代信息科学与技术的重要组成部分,是计算机数据处理与信息管理系统的核心。数据库技术研究和结局了计算机信息处理过程中大量数据有效地组织和存储的问题,在数据库系统中减少数据存储冗余,实现数据共享、保障数据安全以及高效得检索和处理数据。SQL:Structur
24、ed Query Language(结构化查询语言) ,是一种数据库查询和程序设计语言,可以用于存储数据,查询、更新管理关系数据库系统。嵌入到 Java 代码中实现对数据库的操作。1.7 android 技术简介Android 是一种基于 Linux 的自由及开放源代码的操作系统,主要使用于移动设备。Android 构建在 Linux 内核上,利用 linux 完成其内存管理、进程管理、网络和其他操作系统服务工作 。linux 内核层上面的一层中包含了 Android 的本机库。这些共享库都是用C 或 C+语言编译的,并且针对电话使用的特定硬件架构进行了编译,并已由手机制造商预先安装到手机中。
25、1.8 IOS 技术简介IOS 用的开发语言是 Object-C 开发工具是 X-Code 操作系统是 MacObject-C: 本来是没有垃圾回收机制的语言, 也就是要让程序员来控制申请和释放内存的。 但是苹果做了很多的工作。 现在有个叫做 ARC 的技术 能够让程序员写的程序几乎不用去管理内存了。 跟 JAVA , C Sharp 那些一样了。 所以如果只是做一般的 APP 开发 很容易学懂和上手。 也有很多先进的技术 比如动态扩展类了 ( 跟 JS 的 prototype 一样) , block ( 匿名函数, 让异步操作更简单)开发框架: 真个平台对 MCV 做的已经很完善了, 所以貌
26、似没有什么很有名的开发框架。但是各种库很多。X-Code: 一个集成的开发环境。 里面包含了界面设计, 代码编写, 编译, 运行, 事件绑定, 在设备上运行 APP, 签名, 发布 APP 到苹果商店。 都是很容易使用。42 需求分析与系统设计2.1 需求分析2.1.1 功能需求功能需求分析是整个软件工程中的一个最关键的过程。主要任务是根据用户需求和运行条件,确定系统将实现的功能。经过需求分析,本系统由客户端,后台和服务器三部分组成。由服务器为客户端提供统一的接口,数据由服务器统一下发,由客户端显示。后台来协调整个系统平衡。三个不封分工明确,共同完成本系统的业务流程。具体需求如下:客户端:(1
27、)用户注册、登录、修改个人信息;(2)查看论坛列表,分类查看,查看帖子详情,查看帖子评论列表;(3)对某帖子评论;(4)发表帖子。后台:(1)添加分类,查看分类信息,管理分类信息(修改、删除) ;(2)查看某段时间内接口成功响应耗时,以及多个接口耗时对比图;(3)查看各个分类下的详细数据信息。服务器:(1)规定所有接口数据的下发。(2)访问数据压力。必要时用缓存来分担数据库压力。2.1.2 性能需求(1)系统安全性:业务逻辑不对外暴露,保证系统安全。(2)系统稳定性:保证系统运行稳定,对可能出现的异常加以处理。(3)界面友好性:提供简易实用的用户界面。(4)数据安全性:用户身份验证,管理员后台
28、管理数据库,保证数据安全。2.1.3 开发环境(1)操作系统:Microsoft Windows 7 ,Android(2)服务器:Apache-Tomcat-6.0.32(3)数据库:MySQL(4)数据库设计:Navicat for MySQL5(5)开发软件:MyEclipse 10 jdk1.6 ,android sdk ,adt(6)浏览器:google 浏览器2.1.4 运行环境本系统的运行主要分三个部分,客户端目前只开发了 android 版本,ios 版本做可扩展考虑;服务器运行在 tomcat 下,tomcat 可以运行在 windows 下也可以运行在 linux,后台数据
29、管理系统运行在 windows 系统下。服务器端跨平台性很强。2.2 基本设计原则(1)系统必须具备可靠性。保证用户数据的正确性和实时性。建立与用户之间良好的信赖关系,是软件的生存之道。(2)系统必须具备健壮性。系统必须能够判断输入信息是否符合规范要求。对于敏感词和不良词汇不可出现在论坛中。(3)系统必须具备可测试性。系统必须能经过输入数据的测试,保证系统得到全面的检验。(4)系统必须具备可扩展性。在系统需要变更业务规则或更新功能时候,通过升级接口来实现。接口升级兼容客户端的各个版本。整个系统具有良好的可扩展性。2.3 业务流程设计2.3.1 客户端业务流程设计客户端主要完成用户注册、登录、查看帖子信息和发布信息的工作:(1)用户身份验证:注册会员,已注册的用户可以登录和切换用户;(2)登录用户可以查