计算机专业毕业设计(论文)-基于MVC模式下BBS的实现与实现.doc

上传人:西安人 文档编号:3291977 上传时间:2019-08-08 格式:DOC 页数:26 大小:333.01KB
返回 下载 相关 举报
计算机专业毕业设计(论文)-基于MVC模式下BBS的实现与实现.doc_第1页
第1页 / 共26页
计算机专业毕业设计(论文)-基于MVC模式下BBS的实现与实现.doc_第2页
第2页 / 共26页
计算机专业毕业设计(论文)-基于MVC模式下BBS的实现与实现.doc_第3页
第3页 / 共26页
计算机专业毕业设计(论文)-基于MVC模式下BBS的实现与实现.doc_第4页
第4页 / 共26页
计算机专业毕业设计(论文)-基于MVC模式下BBS的实现与实现.doc_第5页
第5页 / 共26页
点击查看更多>>
资源描述

《计算机专业毕业设计(论文)-基于MVC模式下BBS的实现与实现.doc》由会员分享,可在线阅读,更多相关《计算机专业毕业设计(论文)-基于MVC模式下BBS的实现与实现.doc(26页珍藏版)》请在三一文库上搜索。

1、目 录 1.绪论-1 2.相关技术简介与开发环境概述-12.1 MyEclipse开发工具简介-12.2 AJAX简介-22.3 JSP简介-22.3.1 JSP简介-22.3.2 JSP 9大隐含对象-32.3.3 JSP技术的强势-32.3.4 JSP技术的弱势-42.4 Struts简介-42.4.1 struts起源-42.4.2 相应框架结构图-42.4.3 Model部分-42.4.4 View 部分-52.4.5 Controller 部分-52.5 JDBC数据库连接-52.5.1 JDBC简介-52.5.2 创建 Statement对象-62.5.2 使用Statement对

2、象执行语句-72.5.2 关闭 Statement对象-72.5.2使用execute-72.6 DAO接口-82.7 tomcat服务器简介-83.网上贴吧系统的分析及实现-83.1 网上贴吧系统说明-93.1.1 分析需求-93.1.2 功能设计-93.1.3 划分功能模块-103.2 数据库设计-113.2.1 数据库概念结构设计-113.2.2 数据库逻辑结构设计-123.2.3连接数据库-133.3主要界面及相关代码分析-143.3.1 用户注册-143.3.2 用户登录-163.3.3 帖子列表-173.3.4 用户信息-183.3.5 帖子信息-193.3.6 帖子管理-204.

3、系统关键技术-215.总结-21参考文献-23致谢-24基于MVC模式下BBS的实现摘 要:BBS起源于20世纪80年代初。最初只是用于公布公告信息和讨论问题的在线交流平台;后来随着网络的普及,贴吧的功能越来越丰富。受到广大网民的欢迎。因此商业网站对贴吧重视起来,纷纷在自己的网站上开辟贴吧,作为与网民交流的园地,同时在线技术和在线服务也在贴吧开展起来。本文中所做的主要工设计实现用户管理、帖子管理、浏览和发帖、回帖功能等JSP页面。关键词:网络;网上贴吧;JSPThe realization of BBS based on MVC patternAbstract BBS originated i

4、n the early 1980s. Only for the initial public announcement of information and discuss issues on-line exchange platform; later with the popularity of the Internet, paste it functions more and more rich. Welcomed by the majority of Internet users. Therefore, the business posted on the Web site you pa

5、y attention to it, have their own Web site put it opened as a park and the exchange of Internet users, while online technology and online services also posted up and carry it. This article made the main work is design realize user management, post management, browse and post, reply function etc JSP

6、page (3) Establishing basic online stick, test and analysis results.Keywords net;online stick;JSP1、绪论Internet是目前世界上最大的计算机互联网络,它遍布全球,将世界各地各种规模的网络连接成一个整体。作为Internet上一种先进的,易于被人们所接受的信息检索手段,World Wide Web(简称WWW)发展十分迅速,成为目前世界上最大的信息资源宝库。据估计,目前Internet上已有上百万个Web站点,其内容范围跨越了教育科研、文化事业、金融、商业、新闻出版、娱乐、体育等各个领域,其用户

7、群十分庞大,因此,建设一个好的Web站点对于一个机构的发展十分重要。近年来,随着网络用户要求的不断提高及计算机科学的迅速发展,特别是数据库技术在Internet中的广泛应用,Web站点向用户提供的服务将越来越丰富,越来越人性化。我们发现这样一个事实,一个用户在访问一个网站时一般来讲只对该网站的部分内容感性趣,而且这种兴趣会持续一段时间。这点启发了我们,如果能根据用户的喜好为不同的用户显示其个性化的页面,即着重显示该用户感兴趣的内容,将为用户节约大量的检索时间,而且这样的网页显然是更具有吸引力的。一些站点已经在这方面作出了一定的尝试,通常采用的方法是,在用户登陆时为其提供一系列的选项,使用户能够

8、对站点进行一些自主的设置。这样做能够使站点呈现一定程度的个性化,但是对用户来讲,还是比较烦琐,而且在用户了解一个站点前让其对站点进行设置,其结果未免有些粗糙。于是我们构想了这样一种方案,对用户登陆后的动作进行跟踪,分析,发掘用户点击的规律,即用户先后点击的关联规则,这样,在用户点击一个主题(链接)之后,系统能够自动生成一页面,其中包含了该主题下用户经常关注的内容(若干链接),这样便在无须用户作出任何额外工作的情况下实现了为用户量身订做的个性化页面。要实现这样的功能,离不开后台数据库的支持。本文中数据库服务器端采用了MySQL数据库,并以DAO5(Data Access Objects)接口连接

9、,运用JDBC3(Java1 DataBase Connectivity )连接数据库,使Web与数据库紧密联系起来。本文作者主要完成Web服务器端的用户管理、帖子管理、浏览和发帖、回帖功能等实现基本的实验网站的组织建立和测试工作。2、相关技术简介与开发环境概述2.1 MyEclipse开发工具简介MyEclipse企业级工作平台(MyEclipse2 Enterprise Workbench)是对Eclipse IDE的扩展,利用它我们可以在数据库和JavaEE的开发以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能

10、,完整支持Ajax12、Struts4、JSP9、CSS、JavaScript、SQL8等技术。在结构上,MyEclipse的特征可以被分为7类: (1) JavaEE模型 (2) Web开发工具 (3) EJB开发工具 (4) 应用程序服务器的连接器 (5) JavaEE项目部署服务 (6) 数据库服务 (7) MyEclipse整合帮助 简单而言,MyEclipse是Eclipse的插件,也是一款功能强大的JavaEE集成开发环境,支持代码编写、配置、测试以及除错,MyEclipse6.5以前版本需先安装Eclipse,MyEclipse6.5以后版本安装时不需安装Eclipse。2.2

11、AJAX简介AJAX即“Asynchronous JavaScript and XML”(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术。AJAX其实是多种技术的综合,包括基于Web标准XHTML+CSS的表示,使用 DOM进行动态显示及交互,使用 XML 和 XSLT 进行数据交换及相关操作,使用 XMLHttpRequest 进行异步数据查询、检索,使用 JavaScript 将所有的东西绑定在一起。在AJAX提出之前,业界对于上述技术都只是单独的使用,没有综合使用,也是由于之前的技术需求所决定的。与传统的Web应用不同,AJAX采用异步交互过程。AJAX在用

12、户与服务器之间引入一个中间媒介,从而消除了网络交互过程中的处理等待处理等待缺点。用户的浏览器在执行任务时即装载了AJAX引擎。AJAX引擎用JavaScript语言编写,通常藏在一个隐藏的框架中。它负责编译用户界面及与服务器之间的交互。AJAX引擎允许用户与应用软件之间的交互过程异步进行,独立于用户与网络服务器间的交流。现在,可以用JavaScript调用AJAX引擎来代替产生一个HTTP的用户动作,内存中的数据编辑、页面导航、数据校验这些不需要重新载入整个页面的需求可以交给AJAX来执行。2.3 JSP简介2.3.1 JSP简介JSP技术使用Java编程语言编写类XML的tags和scrip

13、tlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。 Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户。插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。 JSP与Java Servlet一样,是在服务器端执行的,通常返回给客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。2.3.2 JSP 9大隐含对

14、象(1)Request对象:该对象封装了用户提交的信息,通过调用该对象相应的方法可以获取封装的信息,即使用该对象可以获取用户提交信息。它是HttpServletRequest的实例。(2)response对象:对客户的请求做出动态的响应,向客户端发送数据。(3)session对象:对象是一个JSP内置对象,它在第一个JSP页面被装载时自动创建,完成会话期管理。(4)application对象:服务器启动后就产生了这个application对象,当客户在所访问的网站的各个页面之间浏览时,这个application对象都是同一个,直到服务器关闭。但是与session不同的是,所有客户的applic

15、ation对象都是同一个,即所有客户共享这个内置的application对象。(5)out对象:out对象是一个输出流,用来向客户端输出数据。out对象用于各种数据的输出。(6)page对象:对应this关键字。JSP网页本身,page对象是当前页面转换后的Servlet类的实例。从转换后的Servlet类的代码中,可以看到这种关系:Object page = this;在JSP页面中,很少使用page对象。(7)config对象:javax.servlet. ServletConfig 的实例,该实例代表该JSP 的配置信息。常用的方法有getInitParameter(String par

16、amNarne) 及getInitParameternarnes() 等方法。事实上, JSP 页面通常无须配置,也就不存在配置信息。因此,该对象更多地在Servlet 中有效。(8)exception对象:java.lang.Throwable 的实例,该实例代表其他页面中的异常和错误。只有当页面是错误处理页面,即编译指令page 的isErrorPage 属性为true 时,该对象才可以使用。常用的方法有getMessage()和printStackTrace()等。(9)pageContext对象:javax.servlet.jsp.PageContext 的实例,该对象代表该JSP 页

17、面上下文,使用该对象可以访问页面中的共享数据。常用的方法有getServletContext()和getServletConfig()等。2.3.3 JSP技术的强势(1)一次编写,到处运行。除了系统之外,代码不用做任何更改。 (2)系统的多平台支持。基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统部署,在任意环境中扩展。相比ASP/.net的局限性是显而易见的。 (3)强大的可伸缩性。从只有一个小的Jar文件就可以运行Servlet/JSP,到由多台服务器进行集群和负载均衡,到多台Application进行事务处理,消息处理,一台服务器到无数台服务器,Java显示了一个巨大的生命

18、力。(4)多样化和功能强大的开发工具支持。这一点与ASP很像,Java已经有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下。 (5)支持服务器端组件。web应用需要强大的服务器端组件来支持,开发人员需要利用其他工具设计实现复杂功能的组件供web页面调用,以增强系统性能。JSP可以使用成熟的JAVA BEANS 组件来实现复杂商务功能。2.3.3 JSP技术的弱势(1) 与ASP一样,Java的一些优势正是它致命的问题所在。正是由于为了跨平台的功能,为了极度的伸缩能力,所以极大的增加了产品的复杂性。 (2) Java的运行速度是用class常驻内存来

19、完成的,所以它在一些情况下所使用的内存比起用户数量来说确实是“最低性能价格比”了。从另一方面,它还需要硬盘空间来储存一系列的.java文件和.class文件,以及对应的版本文件。2.4 struts简介2.4.1 struts起源Struts最早是作为Apache Jakarta项目的组成部分,项目的创立者希望通过对该项目的研究,改进和提高JavaServer Pages 、Servlet、标签库以及面向对象的技术水准。Struts这个名字来源于在建筑和旧式飞机中使用的支持金属架。这个框架之所以叫Struts,是为了提醒我们记住那些支撑我们房屋,建筑,桥梁,甚至我们踩高跷时候的基础支撑。这也是

20、一个解释Struts在开发Web应用程序中所扮演的角色的精彩描述。当建立一个物理建筑时,建筑工程师使用支柱为建筑的每一层提供支持。同样,软件工程师使用Struts为业务应用的每一层提供支持。它的目的是为了帮助我们减少在运用MVC设计模型来开发Web应用的时间。我们仍然需要学习和应用该架构,不过它将可以完成其中一些繁重的工作。如果想混合使用Servlets和JSP的优点来建立可扩展的应用,Struts是一个不错的选择2.4.2 相应框架结构如图: 图1 struts基本框架图Struts对Model,View和Controller都提供了对应的组件。在上图中,ActionServlet,这个类是

21、Struts的核心控制器,负责拦截来自用户的请求。 Action,这个类通常由用户提供,该控制器负责接收来自ActionServlet的请求,并根据该请求调用模型的业务逻辑方法处理请求,并将处理结果返回给JSP页面显示。2.4.3 Model部分由JavaBean组成,ActionForm用于封装用户的请求参数,封装成ActionForm对象,该对象被ActionServlet转发给Action,Action根据ActionForm里面的请求参数处理用户的请求。 JavaBean则封装了底层的业务逻辑,包括数据库访问等。2.4.4 View部分该部分采用JSP实现。 Struts提供了丰富的标

22、签库,通过标签库可以减少脚本的使用,自定义的标签库可以实现与Model的有效交互,并增加了现实功能。对应上图的JSP部分。2.4.5 Controller部分Controller组件有两个部分组成系统核心控制器,业务逻辑控制器。系统核心控制器,对应上图的ActionServlet。该控制器由Struts框架提供,继承HttpServlet类,因此可以配置成标注的Servlet。该控制器负责拦截所有的HTTP请求,然后根据用户请求决定是否要转给业务逻辑控制器。 业务逻辑控制器,负责处理用户请求,本身不具备处理能力,而是调用Model来完成处理。对应Action部分。2.5 JDBC 数据库连接2

23、.5.1JDBC简介JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC为工具/数据库开发人员提供了一个标准的API,据此可以构建更高级的工具和接口,使数据库开发人员能够用纯 Java API 编写数据库应用程序,同时,JDBC也是个商标名。有了JDBC,向各种关系数据发送SQL语句就是一件很容易的事。换言之,有了JDBC API,就不必为访问Sybase数据库专门写一个程序,为访问Oracle数据库又专门写一个程序,或为访问Info

24、rmix数据库又编写另一个程序等等,程序员只需用JDBC API写一个程序就够了,它可向相应数据库发送SQL调用。同时,将Java语言和JDBC结合起来使程序员不必为不同的平台编写不同的应用程序,只须写一遍程序就可以让它在任何平台上运行,这也是Java语言“编写一次,处处运行”的优势。 Java数据库连接体系结构是用于Java应用程序连接数据库的标准方法。JDBC对Java程序员而言是API,对实现与数据库连接的服务提供商而言是接口模型。作为API,JDBC为程序开发提供标准的接口,并为数据库厂商及第三方中间件厂商实现与数据库的连接提供了标准方法。JDBC使用已有的SQL标准并支持与其它数据库

25、连接标准,如ODBC之间的桥接。JDBC实现了所有这些面向标准的目标并且具有简单、严格类型定义且高性能实现的接口。 Java 具有坚固、安全、易于使用、易于理解和可从网络上自动下载等特性,是编写数据库应用程序的杰出语言。所需要的只是 Java应用程序与各种不同数据库之间进行对话的方法。而 JDBC 正是作为此种用途的机制。 JDBC 扩展了 Java 的功能。例如,用 Java 和 JDBC API 可以发布含有 applet 的网页,而该 applet 使用的信息可能来自远程数据库。企业也可以用 JDBC 通过 Intranet 将所有职员连到一个或多个内部数据库中(即使这些职员所用的计算机

26、有 Windows、 Macintosh 和UNIX 等各种不同的操作系统)。随着越来越多的程序员开始使用Java 编程语言,对从 Java 中便捷地访问数据库的要求也在日益增加。 MIS 管理员们都喜欢 Java 和 JDBC 的结合,因为它使信息传播变得容易和经济。企业可继续使用它们安装好的数据库,并能便捷地存取信息,即使这些信息是储存在不同数据库管理系统上。新程序的开发期很短。安装和版本控制将大为简化。程序员可只编写一遍应用程序或只更新一次,然后将它放到服务器上,随后任何人就都可得到最新版本的应用程序。对于商务上的销售信息服务, Java 和JDBC 可为外部客户提供获取信息更新的更好方

27、法。简单地说,JDBC 可做三件事:与数据库建立连接、发送 操作数据库的语句并处理结果。下列代码段给出了以上三步的基本示例: String url = jdbc:mysql:/localhost:3306/db_bbs;Connection con = DriverManager.getConnection(url,login, password); Statement stmt = con.createStatement(); ResultSet rs = stmt.executeQuery(SELECT a, b, c FROM Table1); while (rs.next() int

28、x = rs.getInt(a); String s = rs.getString(b); float f = rs.getFloat(c); 上述代码对基于JDBC的数据库访问做了经典的总结,当然,在本小节的后续部分会对它做详尽的分析讲解。2.5.2创建Statement对象建立了到特定数据库的连接之后,就可用该连接发送SQL语句。Statement对象用Connection的方法createStatement创建,如下列代码段中所示: Connection con = DriverManager.getConnection(url,sunny,); Statement stmt = con

29、.createStatement(); 为了执行Statement对象,被发送到数据库的SQL语句将被作为参数提供给Statement的方法: ResultSet rs = stmt.executeQuery(SELECT a,b,c FROM Table2);2.5.3使用Statement对象执行语句Statement接口提供了三种执行SQL语句的方法:executeQuery、executeUpdate和execute。使用哪一个方法由SQL语句所产生的内容决定。 方法executeQuery用于产生单个结果集的语句,例如SELECT语句。方法executeUpdate用于执行INSER

30、T、UPDATE或DELETE语句以及SQL DDL(数据定义语言)语句,例如CREATE TABLE和DROP TABLE。INSERT、UPDATE或DELETE语句的效果是修改表中零行或多行中的一列或多列。executeUpdate的返回值是一个整数,指示受影响的行数(即更新计数)。对于CREATE TABLE或DROP TABLE等不操作行的语句,executeUpdate的返回值总为零。 执行语句的所有方法都将关闭所调用的Statement对象的当前打开结果集(如果存在)。这意味着在重新执行Statement对象之前,需要完成对当前ResultSet对象的处理。应注意,继承了Stat

31、ement接口中所有方法的PreparedStatement接口都有自己的executeQuery、executeUpdate和execute方法。Statement对象本身不包含SQL语句,因而必须给Statement.execute方法提供SQL语句作为参数。PreparedStatement对象并不需要SQL语句作为参数提供给这些方法,因为它们已经包含预编译SQL语句。2.5.4关闭Statement对象当连接处于自动提交模式时,其中所执行的语句在完成时将自动提交或还原。语句在已执行且所有结果返回时,即认为已完成。对于返回一个结果集的executeQuery方法,在检索完ResultSe

32、t对象的所有行时该语句完成。对于方法executeUpdate,当它执行时语句即完成。但在少数调用方法execute的情况中,在检索所有结果集或它生成的更新计数之后语句才完成。 有些DBMS将已存储过程中的每条语句视为独立的语句;而另外一些则将整个过程视为一个复合语句。在启用自动提交时,这种差别就变得非常重要,因为它影响什么时候调用commit方法。在前一种情况中,每条语句单独提交;在后一种情况中,所有语句同时提交。Statement对象将由Java垃圾收集程序自动关闭。而作为一种好的编程风格,应在不需要Statement对象时显式地关闭它们。这将立即释放DBMS资源,有助于避免潜在的内存问题

33、。2.5.5 使用executeexecute方法应该仅在语句能返回多个ResultSet对象、多个更新计数或ResultSet对象与更新计数的组合时使用。当执行某个已存储过程或动态执行未知SQL字符串(即应用程序程序员在编译时未知)时,有可能出现多个结果的情况,尽管这种情况很少见。例如,用户可能执行一个已存储过程,并且该已存储过程可执行更新,然后执行选择,再进行更新,再进行选择,等等。通常使用已存储过程的人应知道它所返回的内容。 因为方法execute处理非常规情况,所以获取其结果需要一些特殊处理并不足为怪。例如,假定已知某个过程返回两个结果集,则在使用方法execute执行该过程后,必须调

34、用方法getResultSet获得第一个结果集,然后调用适当的getXXX方法获取其中的值。要获得第二个结果集,需要先调用getMoreResults方法,然后再调用getResultSet方法。如果已知某个过程返回两个更新计数,则首先调用方法getUpdateCount,然后调用getMoreResults,并再次调用getUpdateCount。2.6 DAO接口DAO是Data Access Object数据访问接口,数据访问:顾名思义就是与数据库打交道。夹在业务逻辑与数据库资源中间。 在核心J2EE模式中是这样介绍DAO模式的:为了建立一个健壮的J2EE应用,应该将所有对数据源的访问操

35、作抽象封装在一个公共API中。用程序设计的语言来说,就是建立一个接口,接口中定义了此应用程序中将会用到的所有事务方法。在这个应用程序中,当需要和数据源进行交互的时候则使用这个接口,并且编写一个单独的类来实现这个接口在逻辑上对应这个特定的数据存储。2.7 Tomcat服务器简介Tomcat6是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,Tomcat 5 支持最新的S

36、ervlet 2.4 和JSP 2.0 规范。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器10。Tomcat 很受广大程序员的喜欢,因为它运行时占用的系统资源小,扩展性好,支持负载平衡与邮件服务等开发应用系统常用的功能,而且它还在不断的改进和完善中,任何一个感兴趣的程序员都可以更改它或在其中加入新的功能。Tomcat 是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apach

37、e 服务器,可利用它响应对HTML 页面的访问请求。实际上Tomcat 部分是Apache 服务器的扩展,但它是独立运行的,所以当你运行Tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的。 这里的诀窍是,当配置正确时,Apache 为HTML页面服务,而Tomcat 实际上运行JSP 页面和Servlet。另外,Tomcat和IIS、Apache等Web服务器一样,具有处理HTML页面的功能,另外它还是一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默认模式。不过,Tomcat处理静态HTML的能力不如Apache服务器。3、网上贴吧系统分析及实现3

38、.1网上贴吧系统说明在开始制作之前,要明确贴吧能做些什么事情,,也就是所谓的需求。所以必须把需求做清楚,然后才能进行设计。其实在贴吧里大家最熟悉的就是用户浏览贴吧已有的内容,针对别人的主题展开讨论,也可以发表自己的观点供大家品评。同时为了防止用户发布一些不健康不合法的内容需要有管理人员来对这些内容进行删除修改。这样需要管理员贴子进行管理。我们要做一个多版面的贴吧。在这里用户可以注册,浏览贴吧版面和帖子,发布自己的帖子。当用户来到贴吧可以看到相关的帖子。如果需要进一步的功能,就需要用户注册。用户注册以后,可以发表自己的帖子或者回复别人的主题,也可以发布自己的帖子。管理人员可以管理帖子、删除别人的

39、帖子,设为精华等。3.1.1分析需求业务逻辑图如下:游客注册登录浏览帖子发帖回复管理帖子用户信息图2 业务逻辑图3.1.2 设计功能有了图2就可以进行十实质性的工作了。现在就来设计功能。首先从用户开始,在图2中用户关联的对象是自身,版面,帖子,分别根据用户与这些对象的联系给出一个明确的菜单,见表1首先是普通用户:表1 用户功能列表序号功能名称说明1用户注册用户在贴吧填写必要的信息后就可以注册成为注册用户,用户登录网站可以修改自己的用户信息2用户登录用户在贴吧注册后,可以使用用户名密码在贴吧登录3浏览帖子用户可以以列表形式浏览帖子主题及帖子全部内容4发布帖子用户在登录后可以发布帖子5回复帖子用户

40、在登陆后可以恢复帖子6浏览用户信息用户在登陆后可以查看自己的信息接下来的帖子都没有和其他对象的关联,他们在贴吧属于被动的对象,是被其他对象所操作的。因此针对他们的功能主要是由其他对象产生,例如浏览版面就属于用户的功能。管理人员是贴吧的一个特殊群体,他们的主要工作的是保证贴吧的正常运转,他们可以和所有对象产生联系,因此他们的功能也很丰富。表2列出了管理人员的功能。表2管理人员功能列表序号功能名称说明1帖子删除对于在贴吧发表一些非法言论。给贴吧造成很坏的影响的用户应该删除他们的帖子,不允许它们的存在2帖子加精当管理员觉得对大多数用户有用时,管理员可以给加精现在系统功能部分已经分析完了,接下来需要对

41、这些功能进行分类,同时根据功能给出详细的数据库设计。3.1.3划分功能模块一般初学程序设计的人,即掌握了某种程序设计语言的语法,按照教材做过简单实例的人,在遇到现实生活的应用系统时,他的分析思路是从计算机实现的角度来考虑问题,而不是从系统的使用者的角度考虑问题,这就制约了他的思路一个系统是给人用的,开发者需要考虑用户使用起来是否方便,而不是及其实现起来是否方便。模块的划分主要是按每一个对象操作来归类。贴吧操作的对象基本可以归纳为两大类:用户和帖子,而用户可以分为:游客、普通用户和管理员,而帖子可以分为加精贴合普通帖。下面就针对这2大对象划分功能模块。管理人员:管理人员有用户的一切操作,除此之外,管理员还可以对帖子进行删除和加精。用户:应该有两个模块,一个是用户注册、登录等功能组合,是用户对用户的操作;另一个是管理人员对帖子进行删除,加精,是管理人员对用户的操作。这两个模块功能列表如表3所示表3用户功能模块列表模块模块包含的功能用户模块用户模块用户模块浏览用户信息浏览所有帖子发布新贴子回复帖子管理

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 研究报告 > 信息产业


经营许可证编号:宁ICP备18001539号-1