1、河北农业大学 本科毕业论文(设计)题 目: 大学生论坛系统的设计与开发 摘要伴随着3G网络的发展,手机越来越普及并且成为最便捷的联接网络的终端。消费者也越来越注重对各个平台的手机软件的社交体验。而且开发者也越来越注重手机客户端的市场和推广。对于如此便捷的环境,也应运产生了一批优秀的跨各种平台的社交软件。在竞争激烈的手机市场中,android手机的操作系统在完胜诺基亚的塞班系统后,一跃成为全球用户量最大的只能手机平台之一。而且android系统不但应用于智能手机,也在平板电脑市场中占有庞大的市场份额。为了方便校园中信息的实时发布,为了同学们方便沟通交流,为了锻炼自身能力,我开发了一款专门为学生实
2、用的android的论坛客户端,该系统采用C/S架构。可以让学生方便的接受发布者发布的信息,并且方便用户之间的沟通。因为软件专门为学生量身定做,所以受众就是同校学生或者同城学生。校园可以在系统在发布实时信息(如毕业生廉价处理课本,生活用品,组团旅游等),让志同道合的同志们都的看到,并且做出响应。打造一款大学生在校生活的精品软件。系统基于android系统开发,采用java做服务器后台,并且可以方便的扩展开发ios客户端。在网络发展成熟的今天,灵活实时的保证了数据的统一。对于大学生们来说,既扩大不过分暴漏出自己的交际圈,又开阔了自己的视野,为大学生活提供了方便。希望这一套系统可以的校园中应用起来
3、,希望这款软件可以活在同学们的手掌里。采用java技术设计和实现服务器,用android实现客户端,保证软件良好运行。简要介绍了java三大框架开发(struts+spring+hibernate)的技术特点和数据库技术,随后简要的概述android的开发要点,并且简要的讲一下ios的开发扩展,在后台数据管理方便用到jsp技术。并且构建一个C/S模式的论坛系统,并对该系统进行需求分析,总体设计,详细设计,编码与测试。并为后台数据管理做一个简单的分析。关键词:论坛系统;JAVAEE;ANDROIDAbstractWith the development of 3G networks, mobil
4、e 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 and promotion. For such a convenient environmen
5、t, 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 worlds largest user of only one mobile platform.
6、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 their own capacity, I developed a dedicated for
7、um 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 audience is the same school student or student c
8、ity. 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 on the above description, the present system is
9、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 leaked, but also broaden their horizons, make l
10、ife 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 android achieve the client, ensure that the software
11、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 development of extensions ios in the background jsp t
12、echnology 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; ANDROID目 录1绪论11.1选题背景11.2 C/S架构简介11.3 JSP技术简介21
13、.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数据库设计62.4.1概念数据模型设计72.4.2逻辑数据模型设计72.4.3物理数据模型设计72.5系统结构设计82.5.1页面结构设计82.5.2代码结构设计83系统详细设计103.1数据库实现103.2服务
14、器设计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 JSTL144页面展示164.1客户端页面展示164.2主页面展示174.3后台数据控制页面19总 结21致 谢22参考文献22附录241 绪论1.1选题背景在互联网高度发展的今天,大学的校园里虽然人满为患,但是同学之间的交流还是机会不多。虽然大学校园里会时不时的举办一些活动,但是这不是对每一个都是一个机会。为了增强同学们之间
15、的交流,增加校园的亲和力,本系统为大学生们量身定做,方便校园的交流,保证信息在用户中快速辐射。在网络发展成熟的今天,同学们的手机中必备的软件中也不乏社交类的,比如QQ,微信,微博,人人等等,但是这些软件的主题不是针对学生。在加上现在android系统的手机如此普遍,基本上每个学生手里都有一台,同学们在同类人的社区里缓解压力是最有效的。而且市场不会为学生开发这样一款针对性这么强的软件。但是我们在学校学习了知识,自己为自己开发,方便自己!所以选择论坛客户端作为设计题目,有助于改善同学们的心理环境和生活环境,推动同学们的素质发展。并要求学生在开发过程中自学有关开发技术,对日后工作或继续研究都有着重要
16、的意义。1.2 C/S架构简介客户端和服务器架构。它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统的通讯开销。目前大多数应用软件系统都是Client/Server形式的两层结构,由于现在的软件应用系统正在向分布式的Web应用发展,Web和Client/Server 应用都可以进行同样的业务处理,应用不同的模块共享逻辑组件;因此,内部的和外部的用户都可以访问新的和现有的应用系统,通过现有应用系统中的逻辑可以扩展出新的应用系统。这也就是目前应用系统的发展方向。C/S结构的优点是能充分发挥客户端PC的处理能力,很多工作可以在
17、客户端处理后再提交给服务器。对应的优点就是客户端响应速度快。具体表现在以下两点:(1)应用服务器运行数据负荷较轻。最简单的C/S体系结构的数据库应用由两部分组成,即客户应用程序和数据库服务器程序。二者可分别称为前台程序与后台程序。运行数据库服务器程序的机器,也称为应用服务器。一旦服务器程序被启动,就随时等待响应客户程序发来的请求;客户应用程序运行在用户自己的电脑上,对应于数据库服务器,可称为客户电脑,当需要对数据库中的数据进行任何操作时,客户程序就自动地寻找服务器程序,并向其发出请求,服务器程序根据预定的规则作出应答,送回结果,应用服务器运行数据负荷较轻。(2)数据的储存管理功能较为透明。在数
18、据库应用中,数据的储存管理功能,是由服务器程序和客户应用程序分别独立进行的,并且通常把那些不同的(不管是已知还是未知的)前台应用所不能违反的规则,在服务器程序中集中实现,例如访问者的权限,编号可以重复、必须有客户才能建立定单这样的规则。所有这些,对于工作在前台程序上的最终用户,是“透明”的,他们无须过问(通常也无法干涉)背后的过程,就可以完成自己的一切工作。在客户服务器架构的应用中,前台程序不是非常“瘦小”,麻烦的事情都交给了服务器和网络。在C/S体系下,数据库不能真正成为公共、专业化的仓库,它受到独立的专门管理。1.3 JSP技术简介 JSP(Java Server Pages)是一种基于内
19、置Java代码的、用于创建动态内容的脚本语言,它天然地具备Java技术的跨平台特性,从而在广泛的基于网络的应用中迅速得到应用,成为当前软件领域最热门的技术之一。JSP技术设计多种软件技术和标准,诸如Java、HTML、数据库等,并且广泛应用于动态网站的建设中。1.4 MVC框架简介M(Model,模型)、V(view,视图)、C(controller,控制器)。是Xer ox PARC在八十年代为编程语言Smalltalk-80发明的一种软件设计模式,至今已被广泛使用。最近几年被推荐位Oracle旗下Sun公司Java EE平台的设计模式,并且受到越来越多的使用ColdFusion和PHP开发
20、者的欢迎。MVC设计模式把程序的输入、处理和输出分开,使各个部件处理自己的任务。使程序有较高的重用性和适用性,并且有着较低的生命周期成本,有利于软件工程化管理并具备较高的可维护性。1.5 Struts+Spring+Hibernate框架简介Struts只是一个MVC框架(Framework),用于快速开发Java Web应用。Struts实现的重点在C(Controller),包括ActionServlet/RequestProcessor和我们定制的Action,也为V(View)提供了一系列定制标签(Custom Tag)。但Struts几乎没有涉及M(Model),所以Struts可以
21、采用JAVA实现的任何形式的商业逻辑。Spring是一个轻型容器(light-weight container),其核心是Bean工厂(Bean Factory),用以构造我们所需要的M(Model)。在此基础之上,Spring提供了AOP(Aspect-Oriented Programming, 面向层面的编程)的实现,用它来提供非管理环境下申明方式的事务、安全等服务;对Bean工厂的扩展ApplicationContext更加方便我们实现J2EE的应用;DAO/ORM的实现方便我们进行数据库的开发;Web MVC和Spring Web提供了Java Web应用的框架或与其他流行的Web框架
22、进行集成。就是说可将两者一起使用,达到将两者自身的特点进行互补。Hibernate是一个免费的开源Java包,它使得与关系数据库打交道变得十分轻松,就像您的数据库中包含每天使用的普通Java对象一样,同时不必考虑如何把它们从神秘的数据库表中取出(或放回到数据库表中)。它解放了您,使您可以专注于应用程序的对象和功能,而不必担心如何保存它们或稍后如何找到它们。1.6数据库技术简介数据库技术是现代信息科学与技术的重要组成部分,是计算机数据处理与信息管理系统的核心。数据库技术研究和结局了计算机信息处理过程中大量数据有效地组织和存储的问题,在数据库系统中减少数据存储冗余,实现数据共享、保障数据安全以及高
23、效得检索和处理数据。SQL:Structured Query Language(结构化查询语言),是一种数据库查询和程序设计语言,可以用于存储数据,查询、更新管理关系数据库系统。嵌入到Java代码中实现对数据库的操作。1.7 android技术简介Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备。Android构建在Linux内核上,利用linux完成其内存管理、进程管理、网络和其他操作系统服务工作 。linux内核层上面的一层中包含了Android的本机库。这些共享库都是用C或C+语言编译的,并且针对电话使用的特定硬件架构进行了编译,并已由手机制造商预先安装
24、到手机中。1.8 IOS技术简介IOS 用的开发语言是Object-C 开发工具是X-Code 操作系统是MacObject-C: 本来是没有垃圾回收机制的语言, 也就是要让程序员来控制申请和释放内存的。 但是苹果做了很多的工作。 现在有个叫做ARC 的技术 能够让程序员写的程序几乎不用去管理内存了。 跟JAVA , C Sharp 那些一样了。 所以如果只是做一般的APP 开发 很容易学懂和上手。 也有很多先进的技术 比如动态扩展类了 ( 跟JS 的 prototype 一样), block ( 匿名函数, 让异步操作更简单)开发框架: 真个平台对MCV 做的已经很完善了, 所以貌似没有什么
25、很有名的开发框架。但是各种库很多。X-Code: 一个集成的开发环境。 里面包含了界面设计, 代码编写, 编译, 运行, 事件绑定, 在设备上运行APP, 签名, 发布APP 到苹果商店。 都是很容易使用。2 需求分析与系统设计2.1需求分析2.1.1功能需求功能需求分析是整个软件工程中的一个最关键的过程。主要任务是根据用户需求和运行条件,确定系统将实现的功能。经过需求分析,本系统由客户端,后台和服务器三部分组成。由服务器为客户端提供统一的接口,数据由服务器统一下发,由客户端显示。后台来协调整个系统平衡。三个不封分工明确,共同完成本系统的业务流程。具体需求如下:客户端:(1)用户注册、登录、修
26、改个人信息;(2)查看论坛列表,分类查看,查看帖子详情,查看帖子评论列表;(3)对某帖子评论;(4)发表帖子。后台:(1)添加分类,查看分类信息,管理分类信息(修改、删除);(2)查看某段时间内接口成功响应耗时,以及多个接口耗时对比图;(3)查看各个分类下的详细数据信息。服务器:(1) 规定所有接口数据的下发。(2) 访问数据压力。必要时用缓存来分担数据库压力。2.1.2性能需求(1)系统安全性:业务逻辑不对外暴露,保证系统安全。(2)系统稳定性:保证系统运行稳定,对可能出现的异常加以处理。(3)界面友好性:提供简易实用的用户界面。(4)数据安全性:用户身份验证,管理员后台管理数据库,保证数据
27、安全。2.1.3开发环境(1)操作系统:Microsoft Windows 7 ,Android(2)服务器:Apache-Tomcat-6.0.32(3)数据库:MySQL(4)数据库设计:Navicat for MySQL(5)开发软件:MyEclipse 10 jdk1.6 ,android sdk ,adt(6)浏览器:google浏览器2.1.4运行环境本系统的运行主要分三个部分,客户端目前只开发了android版本,ios版本做可扩展考虑;服务器运行在tomcat下,tomcat可以运行在windows下也可以运行在linux,后台数据管理系统运行在windows系统下。服务器端跨
28、平台性很强。2.2基本设计原则(1)系统必须具备可靠性。保证用户数据的正确性和实时性。建立与用户之间良好的信赖关系,是软件的生存之道。(2)系统必须具备健壮性。系统必须能够判断输入信息是否符合规范要求。对于敏感词和不良词汇不可出现在论坛中。(3)系统必须具备可测试性。系统必须能经过输入数据的测试,保证系统得到全面的检验。(4)系统必须具备可扩展性。在系统需要变更业务规则或更新功能时候,通过升级接口来实现。接口升级兼容客户端的各个版本。整个系统具有良好的可扩展性。2.3业务流程设计2.3.1客户端业务流程设计客户端主要完成用户注册、登录、查看帖子信息和发布信息的工作:(1) 用户身份验证:注册会
29、员,已注册的用户可以登录和切换用户;(2) 登录用户可以查看个人信息,修改个人资料。(3)登录用户可以查看论坛中帖子信息,并进行互动。(4)登录用户可以发布信息。客户端业务流程如图:图2-1客户端业务流程图2.3.2后台业务流程设计后台帮助管理员完成对整个系统的管理工作:(1)分类管理:添加分类信息,查看分类信息,修改、删除分类信息;(2)对所有的帖子都有管理权限,有所有帖子和评论的删除权限;(3)监控各个接口的运行情况;后台业务流程图:图2-2后台业务流程图2.4数据库设计数据库在整个系统中处于非常重要的位置,所有的功能脱离了数据库都无法实现,数据库的好坏直接决定着系统的数据安全和运行效率。
30、根据功能需求,支持系统运行的数据库需要满足如下特点:(1)由于需要用户注册和登录,所以需要一个用户表用来存储会员信息;(2)帖子是论坛中的主题,所以需要一个帖子表来存储帖子信息;(3)评论依附帖子存在,是用户互动的关键,所以需要一个表来存储评论;2.4.1概念数据模型设计经过分析得出E-R图(实体-关系图)如下:图2-3概念数据模型设计 E=R图2.4.2逻辑数据模型设计将E-R图转化为关系数据模式:用户(用户id,用户名,密码,电话,手机,地址,E-mail,性别,帖子数);帖子表(帖子id,fid,作者id,帖子title,帖子content,日期,状态,评论数);评论表(评论id,帖子i
31、d,作者id,评论内容,评论时间,评论状态);2.4.3物理数据模型设计在Navicat For MySQL软件中设计物理数据模型:图2-4物理数据模型设计2.5系统结构设计2.5.1页面结构设计后台分三部分:上部,左部,主体部分。(1)上部显示后台主页标题(2)左部显示管理员可做的操作,例如添加、查看分类,查看数据等。(3)主体部分显示管理员点击左部以后回馈的页面,例如显示分类,并可删除、修改分类,显示数据,显示接口详细信息等。2.5.2代码结构设计本系统采用服务器客户端架构,服务器端采用SSH三大框架。(1) 客户端负责显示数据。(2) 服务器端action层主要负责客服端的跳转,指向正确
32、的业务层。(3) 服务器端业务逻辑层Service层,主要处理系统的业务逻辑,并使表示层与数据访问层分离。(4) 数据访问层指的是DAO层,该层主要完成对象-关系映射的建立,通过这个映射和访问业务对象即可实现对数据库的访问,提高了开发效率。(5) 数据层指数据库。代码结构示意图如下:图2-5 代码结构示意图代码执行流程说明: 客户端发出base64加密的请求,服务器接受到请求后,先做base64解密操作,解密成功后交给对应action处理,action调用对应的业务层(service),业务层调用相应的数据层(dao)来保存和读取数据。整个框架中只有dao层读写数据库的权限。这样层次分明的处理
33、数据,这样做不仅高效,而且程序的可读性很强。如此将代码分层,各层的分工明确,降低了各个模块间的耦合性,使系统便于维护和升级。3系统详细设计3.1数据库实现在4.2节中已经对数据库做出了设计,只需根据设计实现数据库。进入cmd,输入mysql u root p敲回车后输入密码,进入到MySQL monitor下,如图:图3-1 建立数据库在光标处输入代码建立数据库。具体代码参见附录A。3.2服务器设计集成SSH框架的系统从职责上分为四层:表示层、业务逻辑层、数据持久层和域模块层,以帮助开发人员在短期内搭建结构清晰、可复用性好、维护方便的Web应用程序。其中使用Struts作为系统的整体基础架构,
34、负责MVC的分离,在Struts框架的模型部分,控制业务跳转,利用Hibernate框架对持久层提供支持,Spring做管理,管理struts和hibernate。具体做法是:用面向对象的分析方法根据需求提出一些模型,将这些模型实现为基本的Java对象,然后编写基本的DAO(Data Access Objects)接口,并给出Hibernate的DAO实现,采用Hibernate架构实现的DAO类来实现Java类与数据库之间的转换和访问,最后由Spring做管理,管理struts和hibernate。3.2.1服务器端工具工具和过滤器:(1)处理中文编码的过滤器。默认使用UTF-8。 (2)对
35、所有请求url进行base64解密的过滤器。(3)base64解密工具。(4)MD5加密工具3.2.2软件包和JAVA源代码文件图3-2 服务器源码结构引入spring,struts,hibernate相关的jar包,打印日志的jar,本项目中使用log4g。源码在src文件下。现在大致分为7层,为:action,service,service.impl,dao,dao.impl,entity,util七层。考虑service层在不同客服端的业务逻辑的区别,将service的实现分层处理;考虑变更数据库的考虑,将dao层的实现独立开。这样系统的升级和改版就比较轻松,不在依附原来的设计。实现代码
36、如图所示:3.2.3服务器的整体架构服务器整体才用SSH架构,保证各个层之间清晰分工。将数据源,定时任务等写在配置文件beans.xml中,并且可以配置多一个数据源,也可以将读写数据源分开,减小数据库的压力。对于一个压力比较大的表,可以采用缓存处理,比如memcached,beans.xml中还包含了事务处理的配置,以及对项目中试题加载的路径。Action路径的配置及返回数据的路径配置在struts.xml文件中。对于本项目,正确的返回路径都是json.jsp,json.jsp页面中输出程序返回的结果;出现异常的访问,返回error.jsp,error页面输出错误原因。这是服务器端最重要的两个
37、配置文件,如图:图3-3 服务器beans.xml图3-4 服务器struts.xml3.2.4服务器对外交互分析为了增加服务器的安全性,对于所用来访问的url做解密处理,对于解密失败的url不做处理,一方面减小了服务器的压力,另一方面增加了服务器的安全性。合法url的访问返回json数据,json 是一种轻量级的数据交换格式。json简单说就是javascript中的对象和数组,所以这两种结构就是对象和数组2种结构,通过这两种结构可以表示各种复杂的结构:(1)对象:对象在js中表示为“”扩起来的内容,数据结构为 key:value,key:value,.的键值对的结构,在面向对象的语言中,k
38、ey为对象的属性,value为对应的属性值,所以很容易理解,取值方法为 对象.key 获取属性值,这个属性值的类型可以是 数字、字符串、数组、对象几种。(2)数组:数组在js中是中括号“”扩起来的内容,数据结构为 java,javascript,vb,.,取值方式和所有语言中一样,使用索引获取,字段值的类型可以是 数字、字符串、数组、对象几种。3.3客户端设计3.3.1页面布局处理Android项目中res目录中存放资源文件,其中layout中存放了所有的页面,他们是一系列的xml文件,drawable-xxx目录中存放了图片资源。Xml文件的每一个控件在gen中的R.java文件的中都有对应
39、的资源。 图3-5 客户端页面布局对于项目中用到的中文字符串,都应该放在values文件中,作为资源来访问。页面处理中最重要的控件在页面中的布局和定位,还需要适配不同大小的屏幕。难度比较大,鉴于本系统开发时间和本人能力有限,只是适配了小米1S的屏幕,其他屏幕没有做适配。3.3.2客户端源码结构上面接受了android项目中的res文件的结构,下面讲一下项目中的清单文件,也是控制整个项目的配置文件AndroidManifest.xml,其结构如图: 图3-6 客户端AndroidManifest.xml程序源码放在src文件下:图3-7 客户端源码结构Activity包中是页面的初始化,每一个页
40、面中都一个oncreate方法,当页面加载时,都会调用ocreate方法,初始化页面中的各个控件。3.5后台设计3.5.1 JSP文件结构 JSP文件放在工程根目录下的WebRoot文件中jsp文件夹中,公用的jsp文件放在WebRoot根目录下。目录结构与服务器后台大同,此处不在贴出图片。图片放置在WebRoot中的image文件夹下。3.5.2 JSTLJSTL(JSP标准标记库)是一个实现Web应用程序中常见的通用功能的定制标记库集,这些功能包括迭代和条件判断、数据管理格式化、XML操作以及数据库访问。本系统大量用到EL表达式和循环控制标签。(1) EL语言JSTL输入(输出)一个JAV
41、A表达式的表示形式。在JSTL语言中,EL语言在JSTL属性值中使用。EL语言只能通过建立表达式$expression来进行调用。(2)循环控制标签用循环控制标签来实现在JSP页面的循环。例如后台管理显示图书清单的JSP页面中,需要把图书信息一条一条地显示出来,就用到了循环控制标签。被标签包围的部分代码执行循环。用到了items,begin,end等属性。Items表示进行循环的项目;begin表示开始条件;end表示结束条件。循环部分代码见下图:图3-8 循环控制标签的使用(3) jQueryjQuery是免费、开源的,使用MIT许可协议。jQuery的语法设计可以使开发者更加便捷,例如操作
42、文档对象、选择DOM元素、制作动画效果、事件处理、使用Ajax以及其他功能。除此以外,jQuery提供API让开发者编写插件。其模块化的使用方式使开发者可以很轻松的开发出功能强大的静态或动态网页。4页面展示4.1客户端页面展示(1)首页展示: 用户必须凭借在系统中申请的账号和密码才能进入系统。 图4-1 登录页面(2) 注册信息填写: 如果用户没有账号,点击注册按钮进入注册页面。填写注册信息以便完成注册。注册如图4-2。图4-2 注册页面(3) 进入大学生论坛页面:页面中首先展示的是论坛中的最新讨论主页的简表。进入进入论坛主页以后又有新的主题更,需要手动点击刷新按钮重新获取数据才能看到。对于论
43、坛中的信息也可以分类查看。如图4-3。图4-3 论坛主页面4.2主页面展示(1) 论坛主页页面按钮:在论坛页面点击菜单键,进入到下面的页面。如图图4-4 后台首页(2)发布信息:在图5-4中点击发布信息,进入发布信息页面。输入合法的发布的信息,点击发布按钮。就能在论坛中发布信息。 图4-5 发布信息(3)个人主页页面:在图5-4中点击个人主页按钮,进入个人主页页面。查看自己的信息,也可以由此页面跳转到修改个人资料的页面。在个人主页页面主要呈现给用昵称,性别,邮箱,讨论数,并且页面下方有发表主题的简表。用户可以点击简表的元素查看主题的详细信息。图4-6 个人主页(4)帖子详细页面:点击上图中的我
44、的发表列表中的主体,进入到帖子详细页面。如图4-7:图4-7 帖子详细在这个页面中可以于帖子互动,在编辑框中输入内容,点击发送按钮。与其他用户互动。点击评论列表,查看此贴下的评论信息。 图4-8 评论列表4.3后台数据控制页面-在系统测中,论坛中的分类只有管理员才能添加或删除。在软件的运维中,需要统计查看各分类的数据,查看那些关键词的主体比较集中,查看服务器各个接口的成功响应耗时情况等等。这些统计功能都放在后台数据控制系统。由于时间限制,后台只是开发了部分功能。其他功能还有待开发。(1)登陆,管理员必须凭借匹配的用户名密码才能进入后台管理系统。此用户名密码区别于论坛系统中的用户。如下图:图4-
45、9 后台登录信息验证(2) 管理分类信息,(查看分类信息,添加,删除)页面上部是一级菜单,点击分组管理,页面左部出现二级菜单,点击查看分组,可以看到分组详情,并且可以在这个页面中对分组管理,如图4-10。点击二级菜单中的添加分组,可以看到4-10页面,在此页面中可以添加分组。图4-10 后台查看、删除分组信息图4-11 后台添加分组信息总 结本设计选题为大学生论坛安卓客户端的设计与实现。作为一个C/S的系统,具有当前市场上大部分C/S系统的普遍特性。 开发一款软件最重要的是需求明确。为此,我在2012年的暑假期间,初步研究了discuz这款已经成熟的产品。大四期间又学习了java方向的服务器开
46、发,了解了java开发中的三大框架。所以我选择了将discuz这个论坛模式用java后台模拟,再用手机客户端呈现给用户。到现在为止,我还觉得本系统中有些设计不太合理,比如客户端方面一些滑动效果的设计没能实现,服务器端某些接口定义的不规范等等。本系统是一个在MyEclipse 10,tomcat,mysql,jdk1.6,eclipse_android环境下使用JAVA语言开发的。这是我在大学期间设计的第一个比较完整的系统,包含了从服务器到客户端再到后台数据统计和后台控制,从到业务层和数据库的设计和实现。本设计重点主要偏重于代码部分的设计和编写,遵循C/S 结构的基本原则,将计算机应用任务分解成
47、多个子任务,由多台计算机分工完成,即采用“功能分布”原则。客户端完成数据处理,数据表示以及用户接口功能;服务器端完成DBMS的核心功能。在开发阶段的后期,实现了最初设计的基本功能的基础上,又对系统可能出现的问题和错误进行了排查和解决,保证了系统运行的稳定性。由于在需求分析期间,没有充分考虑到客户端的UI设计,导致客户端设计不合理。在实现在也遇到了一些没有考虑到的困难。客户端的logo也设计的比较粗糙。软件的整体背景也是借鉴于我以前开发的一款软件。这些都是因为我没有美工基础,且时间比较紧迫。最后只好采取一种妥协的方式,网上找了些图片P了一下。服务器方面由于没有自己的服务器,所以只能将服务器代码部署在本地,这就要求部署代码的电脑和手机在同