毕业论文-基于Web的在线问题解答系统_第1页
毕业论文-基于Web的在线问题解答系统_第2页
毕业论文-基于Web的在线问题解答系统_第3页
毕业论文-基于Web的在线问题解答系统_第4页
毕业论文-基于Web的在线问题解答系统_第5页
已阅读5页,还剩58页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

太原理工大学毕业设计(论文)用纸绪论1.1开发背景近年来,随着计算机技术的发展和互联网时代的到来,我们已经进入了信息时代,也有人称为数字化时代,在这数字化的时代里,学校的教学管理都受到了极大的挑战。Internet技术持续迅猛的发展,也给传统的教学提出了新的模式。以现代计算技术、网络技术为基础的数字化教学主要是朝着信息化、网络化、现代化的目标迈进。作为新型的办学模式,它们具有对于教育、教学过程来说极为宝贵的特性,可以为新型教学模式的建构提供理想的环境。在此开发的在线问题解答系统,旨在探索一种以互联网为基础的教学模式。通过这种新的模式,使学生通过论坛的模式及时的掌握学习过程中遇到的问题,为学校营造一种新的教学模式,从而提高工作效率。根据中国互联网信息中心(CNNIC)于2013年1月15日在北京发布的第31次《中国互联网发展状况统计报告》,截至2012年12月底,我国网民规模达到5.64亿,互联网普及率为42.1%,手机网民数量为4.2亿,年增长率达18.1%,远超网民整体增幅。此外,网民中使用手机上网的比例也继续提升,由69.3%上升至74.5%。家中接入互联网的比例继续走高,有91.7%的网民在家中上网,增幅达到3.4%,个人上网设备持有比例的提升和网络接入条件的改善是导致此现象产生的主要原因。截至2012年12月底,我国微博用户规模为3.09亿,较2011年底增长了5873万,网民中的微博用户比例达到54.7%。手机微博用户规模2.02亿,占所有微博用户的65.6%,接近总体人数三分之二。在线问题解答是指通过互联网把传统的问题解答、分析方法在线化、智能化。所谓在线问题解答系统是指利用Internet技术进行调研的一种方法。其大多应用于学校内部网站中。在线的问提解答已经成为传统调研形式的重要补充。在线问调查具有低成本、高速度、跨越空间局限等特点。由于在线问题解答依托网络技术,可以插入图片、音频、视频等等,使问题界面更加美观,并且易于更改。随着互联网的进一步普及,在线问题解答将会迅速成为学校,公众学习的主流方式。1.2项目提出的意义在线问题解答系统教学策略的设计应该着重提供给学生自主权,利用网络环境让学生主动的收集、探索,增加学生对学习活动的参与性。教师在学生的学习过程中充当帮助者的角色,为学生的学习提供充分的支持和保障。在线问题解答系统设计让学生根据自己的情况进行个别化的学习或协作学习。学生可以通过课程内容结构,一步一步系统地学习;也可以通过专题以及常见问题的解答所搭成的支架,来学习课程的综合应用;提供虚拟真实世界的某些环境,设置答疑专区,让学生能够在其中进行探索研讨。总之,让学生顺利的同化和顺应外来的知识。为了适应新形势的发展,我进行了这一系统的初步设计工作,也可以说是做一个初步的探索!2开发系统描述2.1系统的开发方法目前,网络应用软件运行的模式主要有二类:Client/server模式,Browser/Web模式。前者主要的缺点是维护、升级较麻烦,后者是近几年伴随Internet迅速发展起来的一种技术,它与客户/服务器方式类似,客户端是一个标准的浏览器,服务器端是WebServer,而WebServer与数据库和应用服务器的紧密结合,使得这种模式的应用范围不断扩大,它已不仅仅用于网上查询,有很多部门的业务系统、企业的MIS系统纷纷采用这种模式,它的主要优点是便于扩充应用、升级维护简便。另外,在线问题解答系统的软件也必将不断的更新;同时软件产品本身就要经过一个不断自我完善的过程。基于上述考虑,用Browser/Web模式来设计考试系统比较合适,服务器端我们采用SQLServer数据库系统和ASP组件来构成考试的应用服务系统;客户端采用浏览器来完成在线问题解答系统各个功能模块的全过程,同时可进行远程系统维护和管理。利用网络和数据库技术,结合目前硬件价格普遍下跌与宽带网大力建设的有利优势,应用JAVA技术,开发了基于B/S模式多用户在线问题解答系统这一程序。它运用方便、操作简单,效率很高。实现了用户注册、答疑版块管理、在线答疑、学生管理、教师管理、系统管理等功能,也就是说实现了真正的无纸化学习答疑,满足任何授权的用户可随时随地提问答疑等。2.2系统开发工具本设计以Sun公司的MyEclipse作为开发平台,采用JSP网络开发技术,以Tomcat服务器作为测试平台,以SQLServer作为数据库支持。MyEclipse企业级工作平台(MyEclipseEnterpriseWorkbench,简称MyEclipse)是对EclipseIDE的扩展,利用它我们可以在数据库和J2EE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的J2EE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,Struts,JSP,CSS,Javascript,SQL,Hibernate等。JSP(JavaServerPages)技术,自1999年问世以来,经过多年的发展,其广泛的应用和稳定的表现,为其作为表现层技术打下了坚实的基础。在传统的网页HTML文件(*.htm,*.html)中加入Java程序片段(Scriptlet)和JSP标签,就构成了JSP网页。Java程序片段可以操纵数据库、重新定向网页以及发送E-mail等,实现建立动态网站所需要的功能。所有程序操作都在服务器端执行,网络上传送给客户端的仅是得到的结果,这样大大降低了对客户浏览器的要求,即使客户浏览器端不支Java,也可以访问JSP网页。JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计的显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。JSP是一种动态页面技术,它的主要目的是将表示逻辑从Servlet中分离出来。JavaServlet是JSP的技术基础,而且大型的Web应用程序的开发需要JavaServlet和JSP配合才能完成。JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。利用Tomcat服务器可以方便的在设计过程中对设计进行测试,以便于更好的解决问题,带来更好的用户体验。Tomcat服务器是一个免费的开放源代码的Web应用服务器。Tomcat是Apache软件基金会(ApacheSoftwareFoundation)的Jakarta项目中的一个核心项目,由Apache、Sun和其他一些公司及个人共同开发而成。由于有了Sun的参与和支持,最新的Servlet和JSP规范总是能在Tomcat中得到体现。因为Tomcat技术先进、性能稳定,而且免费,因而深受Java爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web应用服务器。SQLServer使用C和C++编写,并使用了多种编译器进行测试,保证源代码的可移植性;支持AIX、FreeBSD、HP-UX、Linux、MacOS、NovellNetware、OpenBSD、OS/2Wrap、Solaris、Windows等多种操作系统;为多种编程语言提供了API;支持多线程,充分利用CPU资源;提供TCP/IP、ODBC和JDBC等多种数据库连接途径;可以处理拥有上千万条记录的大型数据库。对于一般的个人使用者和中小型企业来说,SQLServer提供的功能已经绰绰有余。2.2.1JAVA语言特点(1)平台无关性Java的一个显著优点就是运行时环境提供了平台无关性,它引进虚拟机原理,并运行于虚拟机,实现不同平台之间的Java接口。使用Java编写的程序能在不同的平台运行。Java的数据类型与机器无关,Java规范中没有“依赖具体实现”[1]的概念。Java中基本数据类型的大小及其算法都做了明确的规定。(2)安全性Java的编程类似C++,但舍弃了C++的指针对存储器地址的直接操作,程序运行时,内存由操作系统分配,这样可以避免病毒通过指针入侵系统。它提供了安全管理器,防止程序的非法访问。(3)面向对象Java吸收了C++面向对象的概念,将数据和操作封装于类中,实现了程序的简洁性和便于维护性,使程序代码可以只需一次编译就可反复利用。(4)分布式Java建立在TCP/IP网络平台上,提供了用HTTP和FTP协议传送和接收信息的库函数,使用其相关技术可以十分方便的构建分布式应用系统。(5)健壮性Java致力与检查程序在编译和运行时的错误,并自动回收内存,减少了内存出错的可能性。Java取消了C语言的结构、指针、#define语句、多重继承、goto语句、操作符、重载等不易被掌握的特性,提供垃圾收集器自动回收不用的内存空间。(6)多线程多线程可以带来更好的交互响应和实时行为。适当地使用多线程可以更充分地利用系统资源,使程序的效率大大提升。Java对多线程的处理十分简单,在不同的平台上,调用多线程的代码是完全相同的。2.2.2数据库简介随着科学技术的进步,信息已成为各行各业的重要资源。数据库以其强大的操作和管理功能成为高速信息表达的途经。据我所知,数据库的类型有很多,比如:"sqlserver","vf","framework","access","Oracle""MySQL""SYBASE""DB2"等等,然而本软件选择了用SQLServer2005来作为数据库软件。关于SQLServer2005的介绍:MicrosoftSQLServer2005是由Microsoft公司开发的,在MicrosoftSQLServer的发展历程中,有两版本具有重要的意义。那就是在1996年推出的SQLServer6.5和在2000年8月推出的SQLServer2005版本。6.5版本使SQLServer得到了广泛的应用,而2005版本在功能和易用性上有很大的增强,并推出了简体中文版,它包括企业版,标准版,开发版和个人版4个版本。MicrosoftSQLServer2005(简称SQLServer)由一系列相互协作的组件构成,能满足最大的Web站点和企业数据处理系统存储和分析数据的需求。用SQLServer2005作为数据库软件的理由为:SQLServer2005能够满足今天的商业环境要求不同类型的数据库解决方案。它一种应用广泛的数据库管理系统,具有许多显著的优点:易用性、适合分布式组织的可伸缩性、用于决策支持的数据仓库功能、与许多其他服务器软件紧密关联的集成性、良好的性价比等。性能、可伸缩性及可靠性是基本要求,而进入市场时间也非常关键。除这些核心企业品质外,SQLServer2005还为数据管理与分析带来了灵活性,允许单位在快速变化的环境中从容响应,从而获得竞争优势。从数据管理和分析角度看,将原始数据转化为商业智能和充分利用Web带来的机会非常重要。作为一个完备的数据库和数据分析包,SQLServer2005为快速开发新一代企业级商业应用程序、为企业赢得核心竞争优势打开了胜利之门。作为重要的基准测试可伸缩性和速度奖的记录保持者,SQLServer2005是一个具备完全Web支持的数据库产品,提供了对可扩展标记语言(XML)的核心支持以及在Internet上和防火墙外进行查询的能力。2.2.3MyEclipse简介MyEclipse,是一个十分优秀的用于开发Java,J2EE的Eclipse插件集合,MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开源产品的支持十分不错。MyEclipse企业级工作平台,(MyEclipseEnterpriseWorkbench,简称MyEclipse)是对EclipseIDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,Struts,JSP,CSS,Javascript,Spring,SQL,Hibernate。在结构上,MyEclipse的特征可以被分为7类:(1).JavaEE模型(2).WEB开发工具(3).EJB开发工具(4).应用程序服务器的连接器(5).JavaEE项目部署服务(6).数据库服务(7).MyEclipse整合帮助对于以上每一种功能上的类别,在Eclipse中都有相应的功能部件,并通过一系列的插件来实现它们。MyEclipse结构上的这种模块化,可以让我们在不影响其他模块的情况下,对任一模块进行单独的扩展和升级。简单而言,MyEclipse是Eclipse的插件,也是一款功能强大的JavaEE集成开发环境,支持代码编写、配置、测试以及除错,MyEclipse6.0以前版本需先安装Eclipse。MyEclipse6.0以后版本安装时不需安装Eclipse。2.3软硬件要求硬件需求:CPU:Pentium以上计算机内存:512M以上软件需求:操作系统版本:WindowsXP/vista/Win7开发工具:MyEclipse后台服务器:ApacheTomcat6.0开发语言:Java3需求分析要实现一个软件系统,首先应该进行需求分析,这样才能令设计出的软件满足用户的各项功能。下面就对在线问题解答系统的设计进行需求分析。 3.1可行性分析可行性分析(FeasibilityAnalysis)也称为可行性研究,是在系统调查的基础上,针对新系统的开发是否具备必要性和可能性,对新系统的开发从技术、经济、社会的方面进行分析和研究,以避免投资失误,保证新系统的开发成功。可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。该系统的可行性分析包括以下几个方面的内容。(1)经济可行性:主要是对项目的经济效益进行评价,本系统开发经费在经济上是可以接受的,并且本系统实施后可以显著提高工作效率,提高教学质量。所以本系统在经济上是可行的。(2)技术上的可行性:技术上的可行性分析主要分析技术条件能否顺利完成开发工作,硬、软件能否满足开发者的需要等。该管理系统采用了Browser/Server模式进行开发。Browser/Server体系结构紧密的结合了Internet/Intranet技术,是技术发展的大势所趋,它把应用系统带入了一个崭新的发展时代。数据库服务器SQL数据库,它能够处理大量数据,同时保持数据的完整性并提供许多高级管理功能。它的灵活性、安全性和易用性为数据库编程提供了良好的条件。因此,系统的软件开发平台已成熟可行。硬件方面,科技飞速发展的今天,硬件更新的速度越来越快,容量越来越大,可靠性越来越高,价格越来越低,其硬件平台完全能满足此系统的需要。(3)操作可行性:本系统操作简单,输入信息页面大多数都是下拉框的选择形式,在某些页面,信息可以自动生成,无需输入,时间的输入也是用的日历控件,操作简便,对操作人员的要求很低,只需对WINDOWS操作熟练。而且本系统可视性非常好,所以在技术上不会有很大难度。(4)法律可行性:在线问题解答系统是自行开发的系统,是很有实际意义的系统,开发环境软件和使用的数据库都是开源代码,开发这个系统不同于开发普通的系统软件,不存在侵权等问题,即法律上是可行的。综上所述,此系统开发目标已明确,在技术和经济等方面都可行,并且投入少、见效快。因此系统的开发是完全可行的。3.2系统需要解决的主要问题首先,因为在线问答是面向特定的某些对象的,所以学生进入系统应该进行身份验证。进入系统可以对自己的密码进行修改。然后,学生需要在线提问以及回答问题等,所以系统管理者需要对教师学生以及论坛版块进行维护。3.3系统用户用例图3.3.1管理员用例图管理员是系统的核心用户,涉及到六大功能模块,管理员对系统的所有注册用户有着操作的权限,能够及时动态的掌握问题信息的各项情况。如图3.1所示。图3.1管理员用例图3.3.2普通用户用例图普通用户通过注册加入系统后,实现在线参与问卷调、浏览公告信息等功能。如图3.2所示。图3.2普通用户用例图3.4设计的基本思想设计思想遵循以下几点:1.采用B/S模式进行开发,其优点是后台与前台处理层次分明,而且符合众多已经习惯网页方式的用户。2.采用面向对象的开发与设计理念。运用面向对象技术的前提是对整体系统的高度和准确抽象,通过它可以保证系统良好的框架,进而带来产品较强的稳定性和运行效率。3.采用模块化设计。模块化设计要求将整个系统划分成基于小的模块,有利于代码的重载,简化设计和实现过程。4.简单方便的系统界面。设计简单友好的系统界面,方便用户较快的适应系统的操作。5.速度优先原则。由于此工具最重要的评测标准就是速度,因此在设计过程中,具体过程尽量做到资源占用少,速度快。6.设计既要突出重点,又要细致周到。要符合设计需求,在有可能改进的地方进行扩充,使系统更适应用户的需要。3.5性能需求1.系统的安全性问题解答系统在管理权限上要严格进行控制,具体要求如下:想登录问题解答管理系统进行操作,必须有操作权限,没有权限的用户不能通过任何方式登录系统,只能查看已有的问题和回复,以确保系统的严密性和安全性。2.数据的完整性1.各种记录信息的完整性,信息记录内容不能为空2.各种数据间相互联系的正确性3.相同数据在不同记录中的一致性3.6界面需求界面设计目前已经成为评价软件质量的一条重要指标,一个好的用户界面可以增加用户使用系统的信心和兴趣,提高工作效率,J2EE技术是用JAVA语言作为脚本语言的,J2EE网页为整个服务器端的JAVA库单元提供了一个接口来服务于HTTP的应用程序。创建动态页面非常方便。用户界面是指软件系统与用户交互的接口,通常包括输出、输入、人-机对话的界面格式等。1.输出设计输出是由计算机对输入的原始信息进行加工处理,形成高质量的有效信息,并使之具有一定的格式,提供管理者使用,这是输出设计的主要职责和目标。系统设计的过程正好和实施过程相反,并不是从输入设计到输出设计,而是从输出设计到输入设计,这是因为输出表格直接与使用者相联系,设计的出发点应当是保证输出表格方便地为使用者服务,正确及时反映和组成用于各部门的有用信息。输出设计的原则是考虑既要全面反映不同管理层的各项需要,又要言简意赅,不要将用户需要和不需要的都提供给用户。2.输入设计输入数据的收集和录入需要大量的人力和一定设备,并且容易出错。如果输入系统的数据有错误,则处理后的输出将扩大这些错误,因此输入数据的正确性对于整个系统质量的好坏是具有决定性意义的。输入设计的原则有如下几点:(1)输入量应保持在能满足处理要求的最低限度。设计中可采用设置字段初值,下拉式数据窗口等方式尽量减少用户键盘输入量。输入量越少,错误率就越少,数据准备时间也减少。(2)输入的准备及输入过程应尽量容易进行,从而减少错误的发生。(3)应尽量早对输入数据进行检查(尽量接近原数据发生点),以便使错误及时得到更正。(4)输入数据尽早地用其处理所需的形式被记录,以避免数据由一种介质转移到另一种介质时需要转录而可能发生的错误。4系统设计本阶段设计的基本目标是解决系统如何实现问题,也叫做概要设计,本阶段主要任务是划分出系统的物理元素及设计软件的结构,完成软件定义时期的任务之后就应该对系统进行总体设计,即根据系统分析产生的分析结果来确定这个系统由哪些系统和模块组成,这些系统和模块又如何有机的结合在一起,每个模块的功能如何实现。系统设计的目标是使系统实现拥有所要求的功能,同时,力争达到高效率、高可靠性、可修改性,并且容易掌握和使用。模块化的依据是:把复杂问题分解成许多容易解决的小问题。原来的问题也就变得容易解决。模块化设计是把大型软件按照一定的原则划分成一个较小的相对功能独立又相关联的模块。每个模块完成一个特定的子功能。把这些模块结合起来组成一个整体。完成指定的功能,满足问题的要求。采用模块化原理的优点在于可以使软件结构清晰,容易测试和调试。从而提高软件的可靠性,可修改性。有助于软件开发的组织管理。一个大型软件可分别编写不同的模块。模块化理论的几个重要概念如下:(1).抽象抽象就是抽象出事物的本质特性而暂时不考虑它们的细节。处理复杂系统唯一有效的方法是用层次的方式构造和分析它。一个复杂的动态系统首先可以用一些高级的抽象概念构造和理解,这些高级概念又可以用一些较低级的理解,直到最低层次的具体元素。(2).信息隐蔽和局部化信息隐蔽是指在设计和确定模块时,应使得一个模块内包含的信息对于不需要这些信息的模块来说,是不能访问。局部化是指把一些关系密切的软件元素物理的放得彼此靠近。局部化有助于实现信息隐蔽。信息隐蔽原理和局部化有助于在测试期间以及软件维护期间修改软件。因为绝大多数数据和过程对于软件的其它部分而言是隐蔽的,从而由疏忽引入的错误就很少可能传播到软件的其它部分。(3).逐步求精的模块化概念逐步求精和模块化的抽象是密切相关的。软件结构每一层中模块表示对软件抽象层次的次细化。用自顶向下,逐步求精的方法由抽象到具体的方式分配控制,简化了软件设计和实施,提高了软件的可理解性和可测试性,并使得软件更容易维护。(4).模块独立性模块的划分要使模块间尽可能的相互独立,独立模块较易维护。度量模块的独立程度有两个标准:内聚和耦合。耦合是对一个软件结构内不同模块之间互连程度的度量。耦合强弱取决于模块间接口的复杂程度,进入或访问一个模块的点,以及通过接口的数。在软件的设计中应追求尽可能松散的耦合。内聚标志一个模块内各个元素彼此结合的紧密程度,它是信息隐藏和局部化概念的自然扩展,理想内聚的模块只做一件事情。在设计时应力求做到高内聚[1]。4.1基本简介该系统是专门用于在线答疑、登录、答疑查询的应用web程序。它应该具有开放性、方便性和灵活性。管理员可以轻松地管理答疑的内容以及教师和学生的管理帐号等信息。4.2运行环境为了保证系统运行的效率和可靠性,系统服务器端应具有较高的软硬件配置,客户端的要求不是很高。此应用程序可广泛运行于国际互联网即Internet,也可适用于内部的局域网。其运行要求如下:☆软件环境:客户端:Windows7,InternetExplorer(IE)等服务器端:Windows7,InternetInformationServer(IIS)6.0及其以上版本,IE等。数据库:SQLserver,运行于服务器端。☆硬件环境:服务器CPU:双核以上,内存:1G以上客户机CPU:双核以上,内存:1G以上4.3系统结构图根据需求分析,在线问题解答系统的结构如下图4.1。在线问题解答系统在线问题解答系统图4.1系统结构图4.4系统性能除了满足用户的功能要求外,系统的性能要求也很重要。系统的性能要求通常包括:运行时间、存储容量、界面的友好性、系统的安全性、可靠性以及容错能力等。系统的性能要求应按以下几个方面确定:(1)容量要求:确定系统的容量,如处理的记录数和处理数据的最大容量等。(2)精度要求:确定系统的精度。如数据或数值计算的精度和数据传输的精度等。(3)时间特性要求:确定系统的时间特性,如处理时间、响应时间及其峰值负载期间允许偏离范围,系统各项功能的关系。(4)适应性要求:必须指明反映系统环境变化和系统适应能力的各种参数。如当需求发生变化时,系统的适应能力,并指出为适应这些变化而需要设计的软件和过程。(5)界面友好性:要有适应用户特点的智能化人——机交互界面,以便用户经过简单的培训就可操作使用。(6)系统可靠性:为提高系统可靠性必须采用模块化和结构化设计,提高系统的容错能力,并保障系统不会因人为的操作错误而死机或崩溃。如果系统对时效要求非常高,还必须考虑双机系统和磁盘阵列等措施。此外,还应采用可靠的供电设备。对信息系统的性能而言,其要求是:信息查询的平均响应时间、连接的终端数、数据存储容量、可扩充存储容量(可存储几年、几个月的数据)、打印报表的种类和数量等。4.5系统功能描述4.5.1前台系统功能描述(1)用户浏览模块 完成用户对问题解答系统的内容的浏览,问题解答系统内容是分类存放的,用户可以浏览自己感兴趣的问题内容。这是前台管理模块的主要功能。(2)回复模块当用户浏览完自己感兴趣的问题后,可以对问题发表自己的评论,也可以提出自己的疑问。(3)问题解答系统搜索模块由于网站的问题量比较大,用户想要浏览某个特定的问题时,可以使用此功能来查找,以便快速定位,可以输入关键字,按文章发布系统的标题和文章发布系统的内容进行查找。4.5.2后台系统功能描述用户管理模块用户管理模块包括添加用户,对用户基本信息的浏览,更改用户密码等功能。(2)添加问题解答系统内容模块此模块完成文章发布系统内容的添加的功能。需要输入要添加问题的标题,文艺的内容,所提出问题的类别,发布人的信息等。此处添加的问题将在前台系统中以分类的形式进行显示。问题解答管理模块此模块的功能是对已有的问题的各项信息进行修改,对过期的问题进行删除操作。评论管理模块此模块的功能是对用户的评论信息进行修改或删除。4.6详细设计详细设计是整个设计过程中,最重要的步骤之一。下面就分如下几个部分对系统进行详细设计:用户个人信息设计数据库中表的设计数据库逻辑ER图设计功能模块的详细设计主要模块的流程图显示。4.6.1用户个人信息设计用户个人信息设计,首先应该实现用户名和密码的设计。用户名要求不能为空、重复,密码输入的两次信息应该一致,然后应该实现用户名密码的修改,最后要求管理员对用户的维护操作。4.6.2数据库中表的设计我们知道,数据库概念模型独立于任何特定的数据库管理系统,因此,需要根据具体使用的数据库管理系统的特点进行转换。即转化为按计算机观点处理的逻辑关系模型,E-R模型向关系数据库模型转换应遵循下列原则:*每一个实体要转换成一个关系*所有的主键必须定义非空(NOTNULL)*对于二元联系应按照一对多、弱对实、一对一、多对多等联系来定义外键。根据E-R模型,问卷调查管理系统建立了以下逻辑数据结构,下面是各数据表的详细说明。数据库名称为db_dayi。管理员信息表,如表4-1所示。表4-1管理员信息表表名字段名数据类型空/非空字段说明字段说明t_admin

(管理员)userIdint(4)非空主键自增列userNamevarchar(50)空登录名userPwvarchar(50)空密码(2)学生信息表,如表4-2所示。表4-2学生信息表表名字段名数据类型空/非空字段说明字段说明t_user

(学生)idint(4)非空主键自增列loginnamevarchar(50)空用户名loginpwvarchar(50)空密码xuehaovarchar(50)空学号表4-2学生信息表(续)表名字段名数据类型空/非空字段说明字段说明t_user

(学生)namevarchar(500)空姓名sexvarchar(50)空性别agevarchar(50)空年龄typeint(4)空类别delvarchar(50)空是否删除(3)教师信息表,如表4-3所示。表4-3教师信息表表名字段名数据类型空/非空字段说明字段说明t_tea

(教师)idint(4)非空主键自增列bianhaovarchar(50)空编号namevarchar(50)空姓名sexvarchar(50)空性别agevarchar(50)空年龄loginnamevarchar(50)空登录名loginpwvarchar(50)空密码delvarchar(50)空是否删除(4)问题管理表,如表4-4所示。表4-4问题管理表表名字段名数据类型空/非空字段说明字段说明t_wenti

(问题)idint(4)非空主键自增列titlevarchar(50)空标题contentvarchar(5000)空内容fujianvarchar(50)空附件user_idint(4)空用户idtea_idint(4)空教师id(5)问题回复管理表,如表4-5所示。表4-5问题回复管理表表名字段名数据类型空/非空字段说明字段说明t_huifu

(问题回复)idint(4)非空主键自增列titlevarchar(500)空标题contentvarchar(5000)空内容shijianvarchar(50)空附件zhuti_idint(4)空问题idhuifuzhe_leixingint(4)空回复人类型(6)板块管理表,如表4-6所示。表4-6板块管理表表名字段名数据类型空/非空字段说明字段说明t_catelog

(板块)idint(4)非空主键自增列namevarchar(50)空名称jieshaovarchar(500)空介绍delvarchar(50)空是否删除(7)主题管理表,如表4-7所示。表4-7主题管理表表名字段名数据类型空/非空字段说明字段说明t_zhuti

(主题)idint(4)非空主键自增列titlevarchar(50)空标题contentvarchar(50)空内容fujianvarchar(50)空附件fujianYuanshimingvarchar(50)空附件原始名shijianvarchar(50)空时间user_idint(4)空用户idcatelog_idint(4)非空板块iddelvarchar(50)空是否删除4.6.3数据库逻辑设计E—R图1.实体与属性之间的关系E-R模型的组成元素有:实体、属性、联系。E-R模型用E-R图表示。实体是用户工作环境中所涉及的事务,属性是对实体特征的描述。(1)模型中的实体相当于实体集、一个表,而不是单个实体或表中的一行。实体用矩形框表示,实体名称标注在矩形框内。用菱形表示实体间的联系,菱形框内写上联系名,用无向边把菱形分别与有关实体相连接,在无向边旁标上联系的类型。(2)属性是实体的性质。用椭圆框表示,与实体之间用一条线相连表的主码是关键属性,关键属性项加下划线。(3)各子系统模块中主键相同的字段之间存在着相互关联的关系。(4)在程序中实现对他们的完整性和一致性控制。2.数据库的E-R图数据库的E-R图如图4.2所示。图4.2E-R图4.6.4主要模块的流程图☆用户管理如图4.3所示。图4.3用户管理流程图☆答疑模块如图4.4所示。图4.4答疑模块流程图5系统程序实现5.1index(系统主界面)在浏览器里运行本系统,出现系统的主界面,包括论坛板块、问题内容、搜索内容以及内容发布等。如图5.1所示。图5.1系统主界面图代码实现过程如下:publicclasscatelog_servletextendsHttpServlet{ publicvoidservice(HttpServletRequestreq,HttpServletResponseres)throwsServletException,IOException {Stringtype=req.getParameter("type"); if(type.endsWith("catelogAdd")) { catelogAdd(req,res); } if(type.endsWith("catelogDel")) { catelogDel(req,res); } if(type.endsWith("catelogMana")) { catelogMana(req,res);} if(type.endsWith("catelogAll")) { catelogAll(req,res); } if(type.endsWith("catelogDetail")) { catelogDetail(req,res); } } publicvoidcatelogAdd(HttpServletRequestreq,HttpServletResponseres) { Stringname=req.getParameter("name"); Stringjieshao=req.getParameter("jieshao"); Stringdel="no"; Stringsql="insertintot_catelogvalues(?,?,?)"; Object[]params={name,jieshao,del}; DBmydb=newDB(); mydb.doPstm(sql,params); mydb.closed(); req.setAttribute("message","操作成功"); req.setAttribute("path","catelog?type=catelogMana"); StringtargetURL="/common/success.jsp"; dispatch(targetURL,req,res); }5.2详细内容页面1.为了保证系统的安全性,对问题发布、回复等功能,需要首先登录系统。如图5.2,5.3所示。图5.2登录界面图5.3登录成功提示2.登录成功后,点击主题,可进入主题的详细内容,可以查看到所有用户的回复内容等信息。如图5.4所示。图5.4详细内容页面图提出问题学生登陆后,点击发布新问题,输入问题信息后点击提交按钮,如果是没有输入完整的信息,都会给出相应的错误提示,不能提问成功。如图5.5所示。图5.5发布新问题示意图代码实现过程如下:publicStringwenjuanAdd(){ TWenjuanwenjuan=newTWenjuan(); wenjuan.setId(String.valueOf(newDate().getTime())); wenjuan.setMingcheng(mingcheng); wenjuan.setShijian(newSimpleDateFormat("yyyy-MM-dd").format(newDate())); wenjuanDAO.save(wenjuan); this.setMessage(""); this.setPath("wenjuanMana.action"); return"succeed"; } publicStringwenjuanMana() { Stringsql="fromTWenjuan"; ListwenjuanList=wenjuanDAO.getHibernateTemplate().find(sql); Maprequest=(Map)ServletActionContext.getContext().get("request"); request.put("wenjuanList",wenjuanList); returnActionSupport.SUCCESS; } publicStringwenjuanDel() { TWenjuanwenjuan=wenjuanDAO.findById(id); wenjuanDAO.delete(wenjuan); this.setMessage(""); this.setPath("wenjuanMana.action"); return"succeed"; }4.回复问题学生可以选择别的同学提出的问题,点击进入,输入回复信息后点击提交按钮,就可以回复其他同学们的问题。如图5.6所示。图5.6回复问题示意图查看自己的信息点击提示我的信息,就可以查看学生自己的学号,年龄等信息,也可以修改自己的部分信息,如修改自己的登录名,密码。修改后点击修改按钮即可,不修改则按取消按钮即可。如图5.7所示。图5.7查看我的信息示意图注册信息有些同学没有此网站的账号,那么此时可以注册账号,点击界面上方注册按钮,输入相应的信息,设置自己的用户名及密码,下次用此用户名和密码即可登录提出及回答问题。如图5.8所示。图5.8注册页面代码实现过程如下:publicvoidhuifuAdd(HttpServletRequestreq,HttpServletResponseres) { HttpSessionsession=req.getSession(); Stringtitle=req.getParameter("title"); Stringcontent=req.getParameter("content"); Stringshijian=newDate().toLocaleString(); intzhuti_id=Integer.parseInt(req.getParameter("zhuti_id")); inthuifuzhe_leixing=0; inthuifuzhe_id=0; if(session.getAttribute("userType").toString().equals("1"))//学生 { huifuzhe_leixing=1; huifuzhe_id=((Tuser)(session.getAttribute("user"))).getId(); } if(session.getAttribute("userType").toString().equals("2"))//老师 { huifuzhe_leixing=2; huifuzhe_id=((Ttea)(session.getAttribute("tea"))).getId(); } if(session.getAttribute("userType").toString().equals("100"))//管理员 { huifuzhe_leixing=100; huifuzhe_id=((Tuser)(session.getAttribute("user"))).getId(); } Stringdel="no"; Stringsql="insertintot_huifuvalues(?,?,?,?,?,?,?)"; Object[]params={title,content,shijian,zhuti_id,huifuzhe_leixing,huifuzhe_id,del}; DBmydb=newDB(); mydb.doPstm(sql,params); mydb.closed(); req.setAttribute("msg","操作成功");StringtargetURL="/common/msg.jsp"; dispatch(targetURL,req,res); }5.3后台登录后台登录是提供给管理员的登录窗口,管理员输入用户名及密码后,系统会进行识别,如果是合法用户即可登录到后台主页面。如图5.9所示。图5.9后台登录图代码实现其过程如下:publicvoidadminAdd(HttpServletRequestreq,HttpServletResponseres) { StringuserName=req.getParameter("userName"); StringuserPw=req.getParameter("userPw"); Stringsql="insertintot_admin(userName,userPw)values(?,?)"; Object[]params={userName,userPw}; DBmydb=newDB(); mydb.doPstm(sql,params); mydb.closed(); req.setAttribute("message","操作成功"); req.setAttribute("path","admin?type=adminMana"); StringtargetURL="/common/success.jsp"; dispatch(targetURL,req,res); }5.4修改密码修改密码功能可以修改本人的登陆密码,需要输入原密码,然后输入2遍新密码,待系统确认信息后,方可修改成功。如图5.10所示。图5.10修改密码界面图其代码实现过程如下:publicvoiduserEdit(HttpServletRequestreq,HttpServletResponseres) { intid=Integer.parseInt(req.getParameter("id")); Stringloginname=req.getParameter("loginname"); Stringloginpw=req.getParameter("loginpw"); Stringname=req.getParameter("name"); Stringsex=req.getParameter("sex"); Stringage=req.getParameter("age"); Stringsql="updatet_usersetloginpw=?,name=?,sex=?,age=?whereid=?"; Object[]params={loginpw,name,sex,age,id}; DBmydb=newDB(); mydb.doPstm(sql,params); mydb.closed(); req.setAttribute("msg","修改成功,重新登录后生效"); StringtargetURL="/common/add_success.jsp"; dispatch(targetURL,req,res); }5.5管理员管理管理员管理模块可以添加管理员帐号,同时可以根据需要来删除相应的管理员帐号信息等,如图5.11所示。图5.11管理员管理功能图其代码实现过程如下:publicvoidadminDel(HttpServletRequestreq,HttpServletResponseres) { System.out.println(req.getParameter("userId")+"**"); Stringsql="deletefromt_adminwhereuserId="+Integer.parseInt(req.getParameter("userId")); Object[]params={}; DBmydb=newDB(); mydb.doPstm(sql,params); mydb.closed(); req.setAttribute("message","操作成功");req.setAttribute("path","admin?type=adminMana"); StringtargetURL="/common/success.jsp"; dispatch(targetURL,req,res); }}5.6板块管理板块管理功能可以添加论坛的板块,可以添加板块名称、介绍,同时可以根据需要来删除板块名称等。如图5.12所示。图5.12板块管理图其代码实现过程如下:publicvoidcatelogAdd(HttpServletRequestreq,HttpServletResponseres) { Stringname=req.getParameter("name"); Stringjieshao=req.getParameter("jieshao"); Stringdel="no"; Stringsql="insertintot_catelogvalues(?,?,?)"; Object[]params={name,jieshao,del}; DBmydb=newDB(); mydb.doPstm(sql,params); mydb.closed(); req.setAttribute("message","操作成功"); req.setAttribute("path","catelog?type=catelogMana"); StringtargetURL="/common/success.jsp"; dispatch(targetURL,req,res); }5.7学生管理管理员可以添加学生的相关信息,如:用户名、密码、学号、姓名、性别、年龄等信息。如图5.13所示。图5.13学生管理图其代码实现过程如下:publicvoiduserMana(HttpServletRequestreq,HttpServletResponseres)throwsServletException,IOException { ListuserList=newArrayList(); Stringsql="select*fromt_userwheredel='no'andtype=1"; Object[]params={}; DBmydb=newDB(); try { mydb.doPstm(sql,params); ResultSetrs=mydb.getRs(); while(rs.next()) { Tuseruser=newTuser(); user.setId(rs.getInt("id")); user.setLoginname(rs.getString("loginname")); user.setLoginpw(rs.getString("loginpw")); user.setXuehao(rs.getString("xuehao")); user.setName(rs.getString("name")); user.setSex(rs.getString("sex")); user.setAge(rs.getString("age")); user.setType(rs.getInt("type")); userList.add(user); } rs.close(); } catch(Exceptione) { e.printStackTrace(); } mydb.closed(); req.setAttribute("userList",userList); req.getRequestDispatcher("admin/user/userMana.jsp").forward(req,res); }5.8教师管理管理员可以添加教师的相关信息,如:编号、姓名、性别、年龄、登录帐号、密码等信息,如图5.14,5.15所示。图5.14教师管理界面图图5.15教师管理操作图其代码实现过程如下:publicvoidteaAdd(HttpServletRequestreq,HttpServletResponseres) { Stringbianhao=req.getParameter("bianhao"); Stringname=req.getParameter("name"); Stringsex=req.getParameter("sex"); Stringage=req.getParameter("age"); Stringloginname=req.getParameter("loginname"); Stringloginpw=req.getParameter("loginpw"); Stringdel="no"; Stringsql="insertintot_teavalues(?,?,?,?,?,?,?)"; Object[]params={bianhao,name,sex,age,loginname,loginpw,del}; DBmydb=newDB(); mydb.doPstm(sql,params); mydb.closed(); req.setAttribute("message","操作成功"); req.setAttribute("path","tea?type=teaMana"); StringtargetURL="/common/success.jsp"; dispatch(targetURL,req,res); }6软件测试测试是开发时期最后一个阶段,是保证软件质量的重要手段。软件测试就是在受控制的条件下对系统或应用程序进行操作并评价操作结果的过程,所谓控制条件应包括正常条件与非正常条件。软件测试过程中应该故意地去促使错误的发生,也就是事情在不该出现的时候出现或者在应该出现的时候没有出现。从本质上说,软件测试是"探测",在"探测"中发现软件的毛病。6.1软件测试的意义系统测试是管理信息系统开发周期中一个十分重要而漫长的的阶段。其重要性体现在他是保证系统质量与可靠性的最后关口,是对整个系统开发过程包括系统分析、系统设计和系统实现的最终审查[15]。系统测试的任务是尽可能彻底的检查出程序中的错误,提高软件系统的可靠性,其目的是检验系统“做得怎样”。这这阶段又可以分为三个步骤:模块测试,测试每个模块的程序是否正确;组装测试,测试模块之间的接口是否正确;确认测试,测试整个软件系统是否满足用户功能和性能的要求[15]。测试发现问题之后要经过调试找出错误原因和位置,然后进行改正。基于系统整体需求说明书的黑盒测试,应覆盖系统随偶联合的部件,系统测试是正对整个产品系统进行的测试,目的是验证系统是否满足了需求规格的定义,找出需求规格不符合或与之矛盾的地方。软件危机曾经是软件界甚至整个计算机界最热门的话题。为了解决这场危机,软件从业人员、专家和学者做出了大量的努力。现在人们已经逐步认识到所谓的软件危机实际上仅是一种状况,那就是软件中有错误,正是这些错误导致了软件开发在成本、进度和质量上的失控。有错是软件的属性,而且是无法改变的,因为软件是由人来完成的,所有由人做的工作都不会是完美无缺的。问题在于我们如何去避免错误的产生和消除已经产生的错误,使程序中的错误密度达到尽可能低的程度。6.2软件测试的重要性软件测试在软件生命周期中占据重要的地位,在传统的瀑布模型中,软件测试学仅处于运行维护阶段之前,是软件产品交付用户使用之前保证软件质量的重要手段。近来,软件工程界趋向于一种新的观点,即认为软件生命周期每一阶段中都应包含测试,从而检验本阶段的成果是否接近预期的目标,尽可能早的发现错误并加以修正,如果不在早期阶段进行测试,错误的延时扩散常常会导致最后成品测试的巨大困难。事实上,对于软件来讲,不论采用什么技术和什么方法,软件中仍然会有错。采用新的语言、先进的开发方式、完善的开发过程,可以减少错误的引入,但是不可能完全杜绝软件中的错误,这些引入的错误需要测试来找出,软件中的错误密度也需要测试来进行估计。测试是所有工程学科的基本组成单元,是软件开发的重要部分。自有程序设计的那天起测试就一直伴随着。统计表明,在典型的软件开发项目中,软件测试工作量往往占软件开发总工作量的40%以上。而在软件开发的总成本中,用在测试上的开销要占30%到50%。如果把维护阶段也考虑在内,讨论整个软件生存期时,测试的成本比例也许会有所降低,但实际上维护工作相当于二次开发,乃至多次开发,其中必定还包含有许多测试工作。6.3软件测试的范围软件测试贯穿于软件定义与开发的整个周期,软件的需求规格说明书,结构设计及程序编码,都属于软件测试的对象。6.4软件测试的方法测试在软件开发过程中一直都是备受关注的,即使在传统的软件工程中,也有一个明确、独立的测试阶段。随着软件危机的频频出现以及人们对于软件本质的进一步认识,测试的地位得到了前所未有的提高。测试已经不仅仅局限于软件开发中的一个阶段,它已经开始贯穿于整个软件开发过程,人们已经开始认识到:测试开始的时间越早,测试执行的越频繁,所带来的整个软件开发成本的下降就会越多。ExtremeProgramming更是把测试推到了极限的位置,一切软件开发活动都要从首先编写测试代码开始。6.5软件测试的目的和原则在开发大型软件系统的过程中,需要面对错综复杂的问题,因此,在软件生存周期的每个阶段都不可避免地会产生错误。我们力求在每个阶段结束之前通过严格的技术审查,尽可能早的发现并纠正错误。测试的目的就是在软件投入生产性运行之前,尽可能多地发现软件中的错误。目前软件测试仍然是保证软件质量的关键步骤,它是对软件规格说明、设计和编码的最后复审。尽管面向对象技术的基本思想保证了软件应该有更高的质量,但无论采用什么样的编程技术,编程人员的错误都是不可避免的,而且由于面向对象技术开发的软件代码重用率高,更需要严格测试,避免错误的繁衍。因此,软件测试在面向对象编程里更具有它的重要性。与开发过程类似,测试过程也必须分步骤进行,每个步骤在逻辑上是前一个步骤地继续。大型软件系统通常由若干个子系统组成,每个子系统又由许多模块组成。因此,大型软件系统的测试的基本层次如图6.1所示。图6.1测试的基本层次(1)单元测试单元测试的用例从单元详细设计中导出。在单元测试中可以采用功能性测试和结构性测试两种。(2)集成测试在这个测试步骤中所发现的往往是概要设计的错误。(3)系统测试在这个测试步骤中所发现的往往是需求规格说明的错误。一般来说,系统测试是功能性测试,不是结构性测试。为了使本软件运行更加稳定,我对它进行了全面的测试,测试分为二部分来进行,一是:界面测试;二是功能测试。首先是界面测试,为了使软件在不同的的操作系统平台上运行界面能保持原来的风格。在Windows7环境下,程序运行界面正常,界面上的字体等设置都保持得相当好。没有出现类似字体变形的情况!如图6.2所示。图6.2界面测试图二是进行功能的测试。经过测试,所有功能都能得以实现,没有任何变形。至此到这里在功能的测试上也已经比较圆满的完成了!7结论与总结在设计过程中,为了解决遇到的问题,查阅了大量的相关资料,总结了很多前人的经验。该系统设计的是一个基于Web的在线问题解答系统,系统的服务器端采用的都是开放源代码软件产品,例如ApacheTomcat服务器、SQL数据库服务器,节省了一些开发成本。该系统设计的一个重点和难点是在如何处理JAVA客户端和JAVA服务器端的通信优化问题,它不仅要考虑到网络瓶颈的问题,还要权衡客户端和服务器端代码编写的难易。针对这个问题,专门查阅了相关书籍和网络资料,得以有效解决。从总体上看,该系统实现了在线问题解答系统的基本功能。而且这样的设计使得整个系统的可移植性、伸缩性、可维护性、可扩展性、可重用性和可管理性等性能有了很大的提升。但是,系统仍然存在一些需要改进的地方,例如答疑模块的功能还不够强大,缺少直观的后台管理功能。这些问题都是将来可以升级、扩展和努力改进的方向。参考文献1潘晓雷.Java2入门经典.JDK5.北京:机械工业出版社,2009.1-10582刘甲耀,严桂兰.CoreJava应用程序设计教程.北京:电子工业出版社,2006(2).97-3043孙卫琴.精通Struts:基于MVC的JavaWeb设计与开发.北京:电子工业出版社,2008(8).7-354菜剑,景楠.JavaWeb应用开发:J2EE和Tomcat.第2版.北京:清华大学出版社,2007(1).35-2505孙卫琴,李洪成.Tomcat与Java.Web开发技术详解.北京:电子工业出版社,2009(4).29-1346殷兆麟,张永平,姜淑娟.Java网络高级编程.北京:清华大学出版社,北京交通大学出版社,2009(5).94-2357MarcoPistoia,NatarajNagaratnam,尹亚,明喻卫,严进宝译.企业级Java安全性:构建安全的J2EE应用.北京:清华大学出版社,2008(3).72-1098William

Crawford,Jonathan

Kaplan.J2EEDesignPatterns.O’Reilly,2009(9).25-1029RodJohnson,JuergenHoeller.ExpertOne-on-OneJ2EEDevelopmentwithoutEJB.WileyPublishing,Inc.,2007.31-6310JasonHunter,WilliamCrawford.JJavaServletProgramming.O’Reilly,2008.86-14311Jayson

Falkner,Kevin

Jones.ServletsandJavaServerPages.TheJ2EETechnologyWebTier.AddisonWesley,2003(9).12-32致谢时间如梭,大学四年马上就要结束了,在这四年的学习生活中,我学习到了很多知识,专业知识方面更是有了很大的提高,是我这一生当中最宝贵的财富,是不断超越自我的历程。在这最后的阶段,我衷心的向学校的各位老师和我的同学表示我的感谢,感谢他们在这四年当中对我的帮助和关心。很感谢学校能够提供我们这个锻炼自我的机会,给我们一个能够使大学四年所学到的知识加以实践的机会。在整个设计过程中,我要感谢我的指导老师张光胜和陈永乐老师,他们对我的支持、帮助和信任,让我顺利完成了整个毕业设计。我还要感谢和我一起奋斗的同学们,他们在技术上给了我大量的建议和帮助。同时,我还要感谢在大学学习期间,受到所有老师的指导、关心和帮助,在这里向辛勤工作的老师们表示衷心地感谢。感谢陈永乐教授和所有杰普等老师在毕业设计工作中给予的帮助。 最后,衷心地感谢所有关心、帮助过我的老师、朋友和同学,谢谢大家!外文资料DevelopWebapplicationprogramusingASPthearchitecturethatmustfirstestablishWebapplication.Nowinapplicationfrequentlywithtohavetwo:ThearchitectureofC/SandthearchitectureofB/S.Client/serverandcustomerend/serverholdthearchitectureofC/S.Thecustomer/serverstructureoftwofloor.Customer/server(Client/Server)modelisakindofgoodsoftwarearchitecture,itistheoneofbestapplicationpatternofnetwork.Fromtechnology,seethatitisalogicconcept,denotewillaapplicationmanytasksofdecomposingdifferencecarryout,commoncompletionisentiretoapplythefunctionoftask.Oneachnetworkmaincomputerofwebsite,resource(hardware,softwareanddata)divideintostep,isnotbalanced,undercustomer/serverstructure,withouttheclientcomputerofresourcethroughsendingrequesttotheserverthathasresource,getresourcerequest,someettheresourcedistributioninnetworknotbalancedness.Withthiskindofstructure,cansynthesizevariouscomputerstocooperatewithwork,letiteachcan,realizethescaleforthesystemofcomputeroptimization(Rightsizing)withscalereducetomelt(Downsizing).Pictureisasfollows:Itismostoftodivideintocomputernetworkapplicationintotwo,inwhichtheresourceandfunctionthatpartsupportsmanyuserstoshare,itisrealizedbyserver;Anotherpartfaceseveryuser,isrealizedbyclientcomputer,alsonamely,clientcomputerisusualtocarryoutprosceniumfunction,realizesman-machineinteractionthroughuserinterface,oristheapplicationprogramofspecificconducteduser.Andserverusuallycarriesoutthefunctionofbackstagesupporter,managestheoutsiderequestconcerningsetingup,acceptingandreplyinguserthatshared.Foracomputer,itcanhavedoublefunction,isbeingcertainandmomentarytocarvetoactasserver,andagainbecomesclientcomputerinanothertime.Customer/servertypecomputerdivi

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论