中南大学软件学院架构超强复习大全

时间:2019-05-15 10:39:04下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《中南大学软件学院架构超强复习大全》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《中南大学软件学院架构超强复习大全》。

第一篇:中南大学软件学院架构超强复习大全

 JDBC是用来执行SQL的Java API,开发人员可以使用这些标准API来迎接和操作数据库,实现数据库

应用程序的开发。JDBC是Java的规范,考虑到规范的适应性,JDBC只提供了最直接的数据库操作规范,在Java.sql包中。2种主要的JDBC连接方式:ODBC桥驱动技术和JDBC纯驱动模式。ODBC驱动程序是由微软设计和开发的一种通用的标准的操作数据库的API,也可以认为是一种数据库系统应用程序的接口规范。纯驱动技术是一种由各个数据库厂商提供的驱动程序,其通过协议的方式,将应用程序的SQL语句直接发送到数据库的DBMS执行,并返回结果。JDBC 可做三件事:与数据库建立连接执行SQL 语句、处理结果。使用JDBC直连DB的缺点:1.在某一时刻连接必须服务于一个用户,以免造成事务冲突。2.创建连接需要耗费时间。3.保持连接打开状态的代价很大。使用数据库连接池的优点:1.资源重用 2. 更快的系统响应速度 3. 统一的连接管理,避免数据库连接泄漏 Servlet是一种独立于平台和协议的服务器端的Java应用程序,可以生成动态的Web页面。Servlet

能干什么:1.根椐请求创建并响应整个 HTML Web 页面,根据客户请求的性质而具有动态内容。2.创建 HTML Web 页面的动态部分,并嵌入到现有静态 HTML 页面中。3.使用服务器上的其他资源,如数据库、其他Java程序。4.处理与多个 Web 客户端的连接,接收来自多个 Web 客户端的输入信息。生命周期包括加载、实例化、处理客户端请求和移除,该生命周期由javax.servlet.Sercvet接口的init、setvlet、destroy方法实现。该生命周期由部署Servlet的容器来控制。

 JSP是Servlet来编写服务端代码过于繁琐和复杂,所以将响应页面的动态部分和静态部分分开。JSP

与Servlet的关系:1 JSP是一种建立在Servlet规范提供的功能之上的动态网页技术 2.JSP文件在用户第一次请求时,会被编译成Servlet,然后由这个Servlet处理用户的请求 3.JSP可以看成是运行时的Servlet。JSP执行过程:1.客户端发出请求(Request)2.JSP 容器将JSP转译成Servlet的源代码 3.编译Servlet,并加载到内存执行 4.将结果响应(Response)至客户端。JSP语法提供3种脚本元素:1.声明(Declarations)——声明变量或方法 2.Scriptlets——编写有效的Java程序片段 3.表达式(Expressions)——合法的Java表达式。servlet 对象包括:page和config。JSP中会话跟踪的方法:

1.隐藏域 2.URL传值 3.session 4.cookie

 JavaBean往往封装了程序的页面逻辑,它是可重用的组件。通过使用JavaBean,可以减少在JSP中

脚本代码的使用,这样使得JSP易于维护。JavaBean 的优点:变更方便、可重用组件、可在多个应用程序中使用、可以跨平台

 页面关联:Web应用程序最突出的优点是其能够聚合大量的信息资源。单个Web组件所提供的信

息和功能是有限的,因此需要通过Web组件间的关联来实现信息资源和功能的聚合。Web组件之间共有三种关联关系:请求转发、请求重定向、包含。Web作用数据域:页面范围、请求范围、会话范围、应用范围‘

 MVC模式(三层架构模式)(Model-View-Controller)

织代码用一种业务逻辑和数据显示分离的方法。把软件系统分为三个基本部分:模型(Model)、视图(View)和控制器(Controller)。控制器负责转发请求,对请求进行处理。视图实现数据的显示。模型封装与应用程序的业务逻辑相关的数据以及对数据的处理方法

 Model1和model2的区别 Model1模式的实现比较简单,适用于快速开发小规模项目。但从工程

化的角度看,它的局限性非常明显:JSP页面身兼View和Controller两种角色,将控制逻辑和表现逻辑混杂在一起,从而导致代码的重用性非常低,增加了应用的扩展性和维护的难度。Model2已经是基于MVC架构的设计模式。在model2架构中,servlet作为前端控制器,负责接受客户端发送的请求,在servlet中只包含控制逻辑和简单的前端处理;然后,调用后端的JavaBean来完成实际的逻辑处理;最后,转发到相应的JSP页面处理显示逻辑。区别:本质区别在于处理批量请求的位置不同。说明Strusts2是如何实现MOdel2的?在struts2中,Model对应业务逻辑组件,它通常用于实现业务逻辑方法以及以及与底层数据库的交互等;View对应视图组件,通常是指JSP页面,但也适用于其他视图显示技术,如Velocity或者Excel文档;Control对应系统核心控制器和业务逻辑控制器,系统核心控制器为Struts2框架提供的FilterDispatcher,它根据请求自动调用相应的Action。而业务逻

辑控制器是指开发人员自行定义的一系列Action,在Action中负责调用相应的业务逻辑组件来完成处理。

 JSTL(JSP Standard Tag Library)是基于SUN公司所定义规范,由许多公司共同开发完善的开放源代

码的jsp标签库,为实现Web应用程序中常用功能提供了一个单一的标准解决方案,是由apache维护的。

 Servlet过滤器是Web中的一个小型组件,它能拦截来自客户端的请求和响应信息,进行查看提取

或者对客户端和服务器之间交换的数据信息进行一些特定的操作。Servlet过滤器常用的应用场景:

1、对用户请求进行统一认证

2、用户的访问进行记录和审核

3、对用户发送的数据进行过滤或替换

4、转换图像格式

5、对响应内容进行压缩,减少传输量

6、对请求和响应进行加解密处理  什么是Ajax?AJAX是一种异步交互技术,是JavaScript、CSS、DOM、XmlHttpRequest四种技术的集合体,主要应用于异步获取后台数据和局部刷新。异步交互方式:异步发送请求,消除了传统的“发送请求-等待-发送请求-等待”,极大的提高用户体验。异步:发送请求后不等返回结果,由回调函数处理结果。JavaScript:向服务器发起请求,获得返回结果,更新页面。XML:封装数据。Ajax应用的处理流程

1、一个客户端事件触发一个Ajax事件;

2、创建XMLHttpRequest对象的一个实例;

3、向服务器做出请求;

4、服务器完成业务逻辑;

5、请求返回到浏览器;

6、处理响应数据。Ajax框架:浏览器端1.Dojo 2.Google AJAXSLT 3.jQuery 服务器端1.JSON/JSON-RPC 2.Rails 3.DWR

 XMLHttpRequest是ajax的核心机制,是一种支持异步请求的技术。简单的说,也就是javascript可

以及时向服务器提出请求和处理响应,而不阻塞用户,达到无刷新的效果。XMLHttpRequest对象的常用方法:1.Open(”method”,”url”):建立对服务器的调用。Method参数可以是POST,GET或PUT。url路径可以使绝对路径也可以是相对路径。另外这个方法还有三个可选的参数。2.Send(content):向服务器发送请求。

 AJAX优点:

1、最大的一点是页面无刷新,在页面内与服务器通信,给用户的体验非常好。

2、使用

异步方式与服务器通信,不需要打断用户的操作,具有更加迅速的响应能力。

3、可以把以前一些服务器负担的工作转嫁到客户端,利用客户端闲置的能力来处理

4、基于标准化的并被广泛支持的技术,不需要下载插件或者小程序。AJAX缺点:1.缺少一个没有标准之争、没有back和history的浏览器2.对搜索引擎的支持不好3.安全问题4.语言问题

 同步通信和异步通信 同步通信方式---请求响应模型,在传统的web应用模型下,大部分的用户操

作都会发送一个http请求给服务器,然后服务器开始处理(接收数据,执行业务逻辑,访问数据库),最后向浏览器返回html页面。异步通信方式---XMLHttpRequest对象,异步发送请求,消除了传统的“发送请求-等待-发送请求-等待”的特性,极大的提高了用户体验。

 JavaScript是一种广泛用于客户端的脚本语言,一种动态、弱类型、基于原型的语言,内置支持类 XML(可拓展标记语言)是SMGL的子集,其目标是允许普通的SGML在Web上以目前HTML的方式被服务、接受和处理,被设计成易于实现,且可在SGML和HTML之间互相操作。商业优势:信息共享、单一应用使用、内容交付。技术优势:数据重用、数据和表示分离、可拓展性、语义信息、容易理解、易于编程

 由于软件已经实现了基本的MVC架构,开发者可以基于这个软件,添加自己特定的业务逻辑,这样的软件就可以被称为Web框架。通过Web框架:规范软件的架构、减轻开发的难度、提高效率、降低维护成本。

 Struts1的缺陷:Formbean与ActionServlet有关、控制器无法脱web、不能做单元测试 Struts2的大致工作流程可描述为: 浏览器发送请求。Control中的核心控制器FilterDispatcher

根据请求调用相应的业务逻辑控制器(Action)。WebWork的拦截器链自动对请求应用通用功能,如数据校验和文件上传等功能。回调Action中的execute()方法,并在方法体内调用业务逻辑组件来处理请求(Model)。execute()方法将调用业务逻辑组件(Model)得到的数据返还并更新视图层(View)。

 Struts2应用的开发步骤:第一步:在web.xml文件中定义核心Filter来拦截用户请求;第二步:

如果需要以POST方式提交请求,则定义包含表单数据的JSP页面。如果仅仅是以GET方式发送请求,则无须经过这一步;第三步:定义处理用户请求的Action类;第四步:在Struts.xml中配置action;第五步:在Struts.xml中配置处理结果和物理视图资源之间的对应关系;第六步:编写资源视图.Struts 2的配置文件: web.xml:Web部署描述符,包括所有必需的框架组件。Struts.xml:主要的配置文件,包含result映射、action映射、拦截器配置等。struts.properties:Struts 2的属性配置。struts-default.xml:Struts 2的默认配置文件。struts-plugin.xml:Struts 2框架的插件所用的配置文件。Action映射:将一个请求URI映射到一个action类。name action的名字,用于匹配请求URI。Class Action实现类的完整类名。method 执行Acition时调用的方法。Converther 应用于action的类型转换器的完整类名。Result映射 daspatcher 转发。Redirect 重定向到另外的URL。redirectAction 重定向到另外的Action。chain 用于Action的链式处理。plainText 用于显示某些特定页面的原始内容。Xslt 用于显示XML的内容。 输入校验:输入校验的内容一般包括验证输入数据的有效性和验证失败后向用户提供错误信息两部

分。输入验证的方式可分为客户端验证和服务器端验证。手动验证:1.在Action的方法中编写验证代码。2.在validateXxx方法中编写验证代码。validateXxx即可由框架在业务代码执行前自动被调用。如果多个方法调用同一段验证代码,则可以将验证代码编写在名为validate的方法中即可。内置验证框架:通过在外部配置文件中定义验证规则的方式来简化对输入数据的验证,验证框架通过validator拦截器来调用,通过读取验证文件中的验证规则对输入数据进行验证,验证文件的命名为ClassName-alias-validation.xml。ClassName表示实际的Action类名,alias表示在struts.xml中配置的Action的名字。其中,验证器还分为普通验证器和字段验证器。自定义验证器(以实现验证码功能为例):1.编写ValidationCodeAction,用于产生验证码图像。2.编写自定义的结果类型,用于输出验证码。3.在struts.xml中配置自定义结果类型和ValidationCodeAction。4.修改UserAction,添加验证码属性。5.修改login.jsp,添加验证码输入框。6.编写字段验证器类ValidationCodeValidator 7.注册验证器类ValidationCodeValidator 8.为验证码编写验证规则。 类型转换::在Http协议中,浏览器(客户端)和服务器端的传输都是字符串形式的数据,但在服

务端的java程序中数据是有各种类型的,所以类型转换是不可避免的。(1)使用合法的OGNL表达式命名表单元素时,Struts2就会自动的进行类型转换。(2)Struts2提供基本的类型转换功能。String—int,long,double,boolean,char,date,array,collection(3)Struts2对集合类型的转换提供了很好的支持。(4)当Struts2提供的内置类型转换器不能满足应用需求时,还可以编写自己的类型转换器。

 什么是AOP?面向切面编程(也叫面向方面),可以通过预编译方式和运行期动态代理实现在不修改

源代码的情况下给程序动态统一添加功能的一种技术。为什么需要AOP?AOP可以说是OOP的补充和完善。OOP引入封装、继承和多态性等概念来建立一种对象层次结构,用以模拟公共行为的一个集合。然而OOP在某些场合无能为力,比如当需要分散的、不具有继承层次的对象引入公共行为的时候,OOP则无法避免代码的重复。抽象的说,OOP允许定义从上倒下的关系,但并不适合定义从左到右的关系。具体而言,比如安全验证和记录日志功能,这类代码往往平均的分散在所有对象层次中,而与它所散步到的对象的核心功能毫无关系。Spring AOP采用纯java实现,无须特别编译。不仅提供AOP基础框架,还提供很多现成的切面实现。Spring AOP和Spring IoC容器无缝的集成,AOP组件享受Spring提供的一切优势,比如可将拦截器、切入点都当做Spring Bean来管理。

 AOP的一些概念:关注点:一个关注点可以是一个特定的问题、概念、或是应用程序一个关注点可

以被识别为核心关注点或横切关注点。核心关注点:完成核心业务逻辑的关注点。横切关注点:在AOP中,将那些具有公共逻辑、与其他模块的核心逻辑纠缠在一起的行为称为“横切关注点”,它不是给定编程模型的核心职责。比如:身份验证、日志记录。切面(Aspect):一个切面是对一个横切关注点的模块化,它将那些散落在各处的、实现关注点的代码归整在一起,其实就是共有功能的实现。如日志切面、权限切面、事务切面等。在实际应用中通常是一个存放共有功能实现的普通Java类。连接点(join point):它是指应用中执行的某个点,即程序执行流程中的某个点。可能是方法调用、字

段访问、异常抛出。建议或通知(Advice):是切面的具体实现。以目标方法为参照点,根据放置的地方不同,可分为前置通知(Before)、后置通知(AfterReturning)与环绕通知(Around)。切入点(Pointcut):一组join point的总称,用于定义通知应该切入到哪些连接点上。不同的通知通常需要切入到不同的连接点上。主要的功能是:日志记录,性能统计,安全控制,事务处理,异常处理等等。主要的意图是:将日志记录,性能统计,安全控制,事务处理,异常处理等代码从业务逻辑代码中划分出来,通过对这些行为的分离,我们希望可以将它们独立到非指导业务逻辑的方法中,进而改变这些行为的时候不会影响业务逻辑代码。AOP的实现技术:JavaSE动态代理、动态字节码生成、Java代码生成、语言扩展。建议(advice)是point cut的执行代码,是“切面”执行的具体逻辑。前置建议(before advice)在连接点调用之前,先调用advice。后置建议(after advice)在连接点调用之后,再调用advice成功执行后(after returning advice)抛出异常后(after throwing advice)不管是否异常后(after advice)环绕建议(around advice)完全控制所有连接点引介(introduction)为一个现有的Java类或接口添加方法或字段。混入继承(mixin inheritance)一个混入类封装了一组功能,这组功能可能被“混入”到现有的类中,并且无需求助于传统的继承手段。在AOP里,mixin通过introduction来实现。织入(weaving)将切面整合到完整的执行流程或完成的类。动态横切:通过切入点和连接点在一个切面中创建行为的过程。动态横切通常用于帮助向对象层次中的各种方法添加安全验证或日志记录。在很多应用场景中,动态横切基本代表了AOP。动态横切的核心技术包括连接点、切入点、建议、切面。静态横切:静态横切和动态横切的区别在于,静态横切不修改一个给定对象的执行行为。相反,它可以把扩展和实现附加到对象的基本结构中。此外,它通过引入附加的方法字段和属性来修改对象的结构。在AOP的实现中,通常静态横切也就是引入或混入。

 什么是IOC?控制反转,强制将组件的创建和使用分离,通过反射机制,动态的创建组件已达到解

耦目的。IOC最大的好处是什么?因为把对象生成放在了XML里定义,所以当我们需要换一个实现子类将会变成很简单(一般这样的对象都是实现于某种接口的),只要修改XML就可以了,这样我们甚至可以实现对象的热插拨(有点象USB接口和SCSI硬盘了)IOC最大的缺点是什么?(1)生成一个对象的步骤变复杂了(事实上操作上还是挺简单的),对于不习惯这种方式的人,会觉得有些别扭和不直观。(2)对象生成因为是使用反射编程,在效率上有些损耗。但相对于IoC提高的维护性和灵活性来说,这点损耗是微不足道的,除非某对象的生成对效率要求特别高。(3)缺少IDE重构操作的支持,如果在Eclipse要对类改名,那么你还需要去XML文件里手工去改了,这似乎是所有XML方式的缺憾所在。

 MyBatis实现步骤:

1、编写Configuration.xml文件

2、获取SqlSessionFactory

3、编写映射器UserMapper.xml;

4、编写UserDao的实现。使用Hibernate的步骤(三个准备,七个步骤)三个准备:

1、导入Hibernate库(jar包);

2、添加Hibernate配置文件

3、添加对应表的实体类和映射文件。七个步骤:

1、configuration

2、创建SessionFactory3、打开Session4、开始一个事务

5、持久化操作

6、提交事务

7、关闭Session、

 使用HQL步骤

1、得到session2、编写HQL语句

3、创建Query对象 持久化对象的状态:1.持久化对象的临时状态(不在Session的缓存中,不与任何的Session

实例相关联。在数据库中没有与之相对应的记录)2.持久化对象的持久化状态(存在Session的缓存中。持久化对象映射了数据库中的相关记录。Session在清理缓存时,会同步更新数据库。Session的load()或get()方法返回的对象总是处于持久化状态)3.持久化对象的游离状态(脱离Session缓存。游离对象在数据库中可能存在与之对应的纪录,但游离对象与数据库记录失去了映射关系)

 Hibernate---全自动化ORM框架 Hibernate是一个轻量级、功能强大的ORM框架;提供了完全

透明的持久化机制,客户代码可通过一种完全面向对象的方式来处理持久化,而无需和SQL打交道;Hibernate管理Java类到数据库的映射(包括Java数据类型到SQL数据类型的映射)、提供数据的CRUD操作;Hibernate内置一种称为HQL的语言,和SQL的语法接近,但不与特定的数据库表或字段发生直接关联,却又提供了SQL的大部分功能,并且支持类似连接、统计函数、批量数据等关系型概念。

使用Hibernate框架进行ORM,可大幅度减少开发时手工使用SQL和JDBC的出错。优点:简单。缺点:多了查询,慢(但实际对于一个JAVA EE应用而言,hibernate通常的处理流程是:从数据看里加载记录->将信息发送到表现层供用户修改或删除->将所做修改重新保存到数据库。在这种处理流程下,应用本身就需要两条SQL语句)。

 iBats---半自动化ORM框架 提供了基于JDBC之上的一层简单抽象,是一种基于SQL语句映射的低级别ORM方案,使用原生态SQL作为查询语言。OGNL是Object Graph Navigation Language,对象图导航语言。ONGL是一种强大的表达式语言,它通

过简单一致的表达式语法来读取和设置Java对象的属性,调用对象的方法,遍历整个对象的结构图,实现字段类型转换等功能。WEB容器是指一种安装在服务端计算机中的特定软件。此类软件遵循HTTP协议,主要功能是负责侦听指定端口,接收客户端的请求并解析,然后将指定的响应页面发送到客户端。EL表达式EL是一种简单而强大的语言,提供了在JSP脚本元素范围外使用运行时表达式的功能。Web Services应用程序组件,使用开放协议进行通信,独立的并可自我描述,可通过使用UDDI来发现,可以被其他应用程序使用,XML是其基础。

 Mybatis一个持久数据映射框架,提供了基于JDBC之上的一层简单抽象,是一种基于SQL语句映射的低级别ORM方案,使用原生态SQL作为查询语言,用来完成数据持久化MyBaits基本原理:在XML文件中定义SQL语句,预留参数占位符;在运行时,占位符被指定的参数值取代,参数可能来自参数映射表、JavaBean属性、或者简单的参数对象。在执行SQL查询时,结果字段被映射到对象,映射的方式与参数映射一样。

 ORM框架ORM, Object-Relational Mapping, 对象-关系数据库映射框架。在关系型数据库和业务实体对

象之间作一个映射,这样,我们在具体的操作业务对象的时候,就不需要再去和复杂的SQL语句打交道,只要像平时操作对象一样操作它就可以了。

 拦截器(Interceptor)是Struts2的一个重要特性。Struts2的大多数核心功能都是通过拦截器来实现的,如类型转换、对象组装、输入校验、文件上传等。Struts2将其大多数核心功能通过拦截器来实现,而不是分散在Action中实现,有利于系统的解耦,实现“hot-plug”。需要某个功能就“plug-in”一个拦截器,而不需要修改和业务相关的Action代码。编写一个用于安全验证的拦截器第一步:修改UserAction第二步:编写拦截器类AuthenticationInterceptor extends AbstractInterceptor第三步:配置拦截。

 DI强制将组件的构建和使用分开。(组件的生产、组件的使用、接口的定义、运行时注入)。借

助spring框架,实现工厂的效果。如果类与类之间没有依赖(不能提取接口),则不用IOC(如果横向有依赖,即action与action之间有关系,说明没有设计好)功能太小,也不用IOC,spring是做大系统的。DI有两种最常用的方式:构造注入——保留依赖的先后顺序。Set注入——更多使用 步骤:定义组件接口:墨盒接口ink;纸张接口paper;使用接口开发打印机:printer(使用ink和paper接口)组装打印机:在printer里。给ink和paper创建set方法创建或得到ink和paper的实现类。组装——在src下创建applicationContext.xml(依赖注入)。运行打印机

 Spring框架的一项最基本的功能就是充当创建对象的工厂,具体步骤为:第一步:读取并

分析spring配置文件(如XML配置文件);第二步:通过反射机制,创建并集成上述配置文件中的对象;第三步:将创建的对象传回给应用代码。

第二篇:中南大学软件学院架构复习

 使用Hibernate框架进行ORM,可大幅度减少开发时手工使用SQL和JDBC的出错。优点:简单。缺

点:多了查询,慢(但实际对于一个JAVA EE应用而言,hibernate通常的处理流程是:从数据看里加载记录->将信息发送到表现层供用户修改或删除->将所做修改重新保存到数据库。在这种处理流程下,应用本身就需要两条SQL语句)。

 iBats---半自动化ORM框架 提供了基于JDBC之上的一层简单抽象,是一种基于SQL语句映射的低级别ORM方案,使用原生态SQL作为查询语言。OGNL是Object Graph Navigation Language,对象图导航语言。ONGL是一种强大的表达式语言,它通

过简单一致的表达式语法来读取和设置Java对象的属性,调用对象的方法,遍历整个对象的结构图,实现字段类型转换等功能。WEB容器是指一种安装在服务端计算机中的特定软件。此类软件遵循HTTP协议,主要功能是负责侦听指定端口,接收客户端的请求并解析,然后将指定的响应页面发送到客户端。EL表达式EL是一种简单而强大的语言,提供了在JSP脚本元素范围外使用运行时表达式的功能。Web Services应用程序组件,使用开放协议进行通信,独立的并可自我描述,可通过使用UDDI来发现,可以被其他应用程序使用,XML是其基础。

 Mybatis一个持久数据映射框架,提供了基于JDBC之上的一层简单抽象,是一种基于SQL语句映射的低级别ORM方案,使用原生态SQL作为查询语言,用来完成数据持久化MyBaits基本原理:在XML文件中定义SQL语句,预留参数占位符;在运行时,占位符被指定的参数值取代,参数可能来自参数映射表、JavaBean属性、或者简单的参数对象。在执行SQL查询时,结果字段被映射到对象,映射的方式与参数映射一样。

 ORM框架ORM, Object-Relational Mapping, 对象-关系数据库映射框架。在关系型数据库和业务实体对

象之间作一个映射,这样,我们在具体的操作业务对象的时候,就不需要再去和复杂的SQL语句打交道,只要像平时操作对象一样操作它就可以了。

 拦截器(Interceptor)是Struts2的一个重要特性。Struts2的大多数核心功能都是通过拦截器来实现的,如类型转换、对象组装、输入校验、文件上传等。Struts2将其大多数核心功能通过拦截器来实现,而不是分散在Action中实现,有利于系统的解耦,实现“hot-plug”。需要某个功能就“plug-in”一个拦截器,而不需要修改和业务相关的Action代码。编写一个用于安全验证的拦截器第一步:修改UserAction第二步:编写拦截器类AuthenticationInterceptor extends AbstractInterceptor第三步:配置拦截。

 DI强制将组件的构建和使用分开。(组件的生产、组件的使用、接口的定义、运行时注入)。借

助spring框架,实现工厂的效果。如果类与类之间没有依赖(不能提取接口),则不用IOC(如果横向有依赖,即action与action之间有关系,说明没有设计好)功能太小,也不用IOC,spring是做大系统的。DI有两种最常用的方式:构造注入——保留依赖的先后顺序。Set注入——更多使用 步骤:定义组件接口:墨盒接口ink;纸张接口paper;使用接口开发打印机:printer(使用ink和paper接口)组装打印机:在printer里。给ink和paper创建set方法创建或得到ink和paper的实现类。组装——在src下创建applicationContext.xml(依赖注入)。运行打印机

 Spring框架的一项最基本的功能就是充当创建对象的工厂,具体步骤为:第一步:读取并

分析spring配置文件(如XML配置文件);第二步:通过反射机制,创建并集成上述配置文件中的对象;第三步:将创建的对象传回给应用代码。

一、输入校验(自定义验证器的开发)

1、编写ValidationCodeAction,用于产生验证码图像;

2、编写自定义的结果类型,用于输出验证码;

3、在struts.xml中配置自定义结果类型和ValidationCodeAction;

4、修改UserAction,添加验证码属性;

5、修改login.jsp,添加验证码输入框;

6、编写字段验证器类ValidationCodeValidator;

7、注册字段验证器类ValidationCodeValidator;

8、为验证器编写验证规则。

二、Ajax应用的处理流程

1、一个客户端事件触发一个Ajax事件;

2、创建XMLHttpRequest对象的一个实例;

3、向服务器做出请求;

4、服务器完成业务逻辑;

5、请求返回到浏览器;

6、处理响应数据。

三、MyBatis实现步骤

1、编写Configuration.xml文件;

2、获取SqlSessionFactory;

3、编写映射器UserMapper.xml;

4、编写UserDao的实现。

四、使用Hibernate的步骤(三个准备,七个步骤)

三个准备:

1、导入Hibernate库(jar包);

2、添加Hibernate配置文件

3、添加对应表的实体类和映射文件。

七个步骤:

1、configuration2、创建SessionFactory3、打开Session4、开始一个事务

5、持久化操作

6、提交事务

7、关闭Session

六、为什么需要AOP

AOP可以说是OOP的补充和完善。OOP引入封装、继承和多态性等概念来建立一种对象层次结构,用以模拟公共行为的一个集合。

然而OOP在某些场合无能为力,比如当需要分散的、不具有继承层次的对象引入公共行为的时候,OOP则无法避免代码的重复。

抽象的说,OOP允许定义从上倒下的关系,但并不适合定义从左到右的关系。

具体而言,比如安全验证和记录日志功能,这类代码往往平均的分散在所有对象层次中,而与它所散步到的对象的核心功能毫无关系。

Spring AOP采用纯java实现,无须特别编译。不仅提供AOP基础框架,还提供很多现成的切面实现。

Spring AOP和Spring IoC容器无缝的集成,AOP组件享受Spring提供的一切优势,比如可将拦截器、切入点都当做Spring Bean来管理。

七、Model I和Model II的区别

本质区别在于处理批量请求的位置不同。

Model1:结合JSP页面和JavaBean来开发Web应用程序。jsp页面独自响应请求并将处理结果返回客户端。这里仍然存在表达和内容的分离,因为所有的数据存取都是由bean完成的。缺点:内容和表示没有完全解耦,jsp页面内被嵌入大量的脚本片段或java代码 Model2:采用MVC的设计模式,C负责转发请求,对请求进行处理,V显示数据,M封装与应用程序的业务逻辑相关的数据以及对数据的处理方法。

八、同步通信和异步通信

同步通信方式---请求响应模型,在传统的web应用模型下,大部分的用户操作都会发送一个http请求给服务器,然后服务器开始处理(接收数据,执行业务逻辑,访问数据库),最后向浏览器返回html页面。

异步通信方式---XMLHttpRequest对象,异步发送请求,消除了传统的“发送请求-等待-发送请求-等待”的特性,极大的提高了用户体验。

九、Spring1、核心关注点:完成业务逻辑的关注点

2、横切关注点:实现代码散落在很多个类或方法之中的关注点。

3、切面:一个切面是对一个横切关注点的模块化,它将那些散落在各处的、实现关注点的代码归整在一起。

十、持久化对象的状态

 持久化对象的临时状态

不在Session的缓存中,不与任何的Session实例相关联。在数据库中没有与之相对应的记录

 持久化对象的持久化状态

存在Session的缓存中。持久化对象映射了数据库中的相关记录。Session在清理缓存时,会同步更新数据库。Session的load()或get()方法返回的对象总是处于持久化状态

 持久化对象的游离状态

脱离Session缓存。

游离对象在数据库中可能存在与之对应的纪录,但游离对象与数据库记录失去了映射关系

名词解释

1、AJAX

一种异步交互技术,JavaScript、CSS、DOM、XmlHttpRequest四种技术的集合体,主要应用于异步获取后台数据和局部刷新。消除了传统的“发送请求-等待”的特性,极大的提高了用户体验。

2、XMLHttpRequest(XHR)对象

XMLHttpRequest是Ajax的核心机制,是一种支持异步请求的技术。JavaScript可以及时向服务器提出请求和处理响应,而不阻塞用户,达到无刷新的效果。

3、JSTL

JSP Standard Tag Library,由许多公司共同开发完善的开放源代码的jsp标签库,是由apache维护的。

4、Web Services

应用程序组件,使用开放协议进行通信,独立的并可自我描述,可通过使用UDDI来发现,可以被其他应用程序使用,XML是其基础。

5、MVC

一种软件架构模式,把软件系统分为三个基本部分:模型(Model)、视图(View)和控制

器(Controller)

6、AOP

面向切面编程,AOP思想的核心是“横切”,将对象剖开,抽出一些内部的属性和行为,处理后再将剖面复原,不留痕迹。

7、Hibernate---全自动化ORM框架

Hibernate是一个对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以使用对象编程思维来操纵数据库,主要用来完成数据持久化的重任。

8、iBats---半自动化ORM框架

提供了基于JDBC之上的一层简单抽象,是一种基于SQL语句映射的低级别ORM方案,使用原生态SQL作为查询语言。

9、ORM

用Java语言设计的程序是面向对象(Object)的,而持久数据是存储在关系型数据库(Relation)中的,所以需要一种映射机制(Mapping)。

10.OGNL

ONGL对象图导航语言。ONGL是一种强大的表达式语言,它通过简单一致的表达式语法来读取和设置Java对象的属性,调用对象的方法,实现字段类型转换等功能。

11、国际化(Internationalization)是使程序在不做任何修改的情况下,就可以在不同的国家或地区和不同的语言环境下,按照当地的语言和格式习惯显示字符,又被称为I18N。

12、AOP

意为面向切面编程,可以通过预编译方式和运行期动态代理实现在不修改源代码的情况下给程序动态统一添加功能的一种技术。

13、IOC

控制反转,强制将组件的创建和使用分离,通过反射机制,动态的创建组件已达到解耦目的。

14.WEB容器

是指一种安装在服务端计算机中的特定软件。此类软件遵循HTTP协议,主要功能是负责侦听指定端口,接收客户端的请求并解析,然后将指定的响应页面发送到客户端。

15.SERVLET

Servlet是一种独立于平台和协议的服务器端Java应用程序。Servlet由Servlet容器加载和运行,在Java Web环境中Servlet容器一般嵌入在Web容器中。主要功能就是响应来自客户端的请求。

16.JSP

用Servlet来编写Web应用,导致服务端代码过于繁琐和复杂,将Servlet中的静态部分和动态部分分开来编写,同时提供类似HTML的写法.JSP是一种建立在Servlet规范提供的功能之上的动态网页技术

17.JSP页面的执行过程

1客户端发出请求(Request:Counter.jsp);2.JSP容器将JSP转译成Servlet的源代码;

3编译Servlet,并加载到内存执行;4将结果响应(Response:Output.html)至客户端。

18.EL表达式

EL是一种简单而强大的语言,提供了在JSP脚本元素范围外使用运行时表达式的功能

19.jdbc

JDBC是Java数据库连接(Java Database Connectivity)的简称。

是Java平台(JavaSE)中用来规范客户端程序如何来访问数据库的应用程序接口(API),提供了诸如查询和更新数据库中数据的方法。

软件开发人员使用这些标准API来连接和操作数据库,实现数据库应用程序的开发。

第三篇:中南大学软件学院软件工程基础复习

1.瀑布模型是以文档为驱动、适合于(软件需求确定的)软件项目的开发。

2.需求分析的基本任务是(确定用户需要软件做什么)。

3.若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0,1.0],现从输入的角度考虑一组测试用例:-1.001,-1.0,1.0,1.001。设计这组测试用例的方法是(边界值分析法)。

4.根据程序流程图划分的模块通常是(过程)内聚的模块。

5.软件的分类,按其功能可分为:系统软件、(支撑软件)和应用软件。

6.UML的定义包括UML语义和(UML表示法)两个部分。

7.客观世界中的若干类,通常有两种主要的结构关系:即分类结构和(整体与部分结构)。

8.IDEF1X图用来描述系统的(数据)模型,主要有实体、联系和(属性)三种成分,其中实体可分为独立实体和(从属实体),且一个实体只能在图中出现一次。

9、软件是计算机程序、(描述计算机程序的文档)及(数据)的完整集合,将其统称为软件配置,这些项称为软件配置项。通过正式复审的软件配置项称为(基线),只有通过正式的变化控制过程才能改变它。

10、通常,将软件生命周期全过程中使用的一整套技术方法的集合称为方法学,包含三个要素,即方法、(工具)和(过程)。传统方法学采用(结构化)技术来自顶向下顺序地完成软件开发的各项任务,而面向对象方法是一种以(数据)为主线,把数据和对数据的操作紧密地结合起来的方法,其开发过程是一个多次迭代的演化过程。

11、软件测试的目标是(暴露程序中的错误),因而从心理学角度来看,由程序作者对自己编写的程序进行测试是不恰当的。设计测试方案是测试阶段的关键技术问题,测试方案一般包括(测试目的)、输入的测试数据和(预期的结果)。

12、模型是为了理解事物而对事物作出的一种抽象,由(一组图示符号)和(组织这些符号的规则)组成。对象模型描述了系统的静态结构,通常使用UML提供的(类图)图来描述。

13、需求分析的基本任务是(准确地回答系统必须做什么),在需求分析结束前,系统分析员应该写出(软件需求规格说明书),以书面的形式准确描述软件需求。

14、面向数据流的设计方法把(信息流)映射成软件结构,依据其类型的不同,有两种不同的映射方法,分别是(变化分析)和(事物分析)方法。

15、软件设计一般分为(概要设计)和(详细设计)两个阶段。

16.如果一个模块完成多个逻辑上相近或相关的功能,并且每次调用只选择该模块中的一个功能执行,则称此模块为 逻辑内聚的模块。

17.在数据流图中,每个加工至少有一个输入数据流 和一个 输出数据流。

18.软件项目计划是计划(策划)阶段的结果产品。但由于是在高层次进行系统分析,未能考虑软件系统开发的细节情节,因此软件项目计划一般在需求分析 阶段完成后才定稿的。

19.在面向对象类层次结构中,子类只继承一个父类的数据结构和方法,则称为 单重继承。如果子类继承了多个父类的数据结构和方法,则称为多重继承。

20.在软件测试过程中,α测试是由 一个用户在开发 环境下进行的测试,而β测试是由多个用户在 实际使用环境下进行的测试。

21.统一建模语言UML提供了两种描述整体/部分关系的方法,分别是聚合 和 组合。

22.瀑布模型是以文档 驱动的软件生存周期模型,适合需求明确的软件系统开发。23.IDEF1X方法用来建立系统的数据 模型。

24.在单元测试期间,应该为被测模块编写相应的测试软件,一般地驱动 模块接收测试数据,并把数据传给被测模块,而桩 模块则模拟实际模块完成少量数据处理。

25.评估软件企业的质量管理有两种方法,一种是按照ISO9001 认证,另外一种是按照CMM认证。

1.软件测试的目的是(发现错误)。

2.软件按服务对象可分为项目软件和(产品软件)。

3.在常见的软件生存期模型中,(螺旋)模型是风险驱动的。

4.UML通过三种扩展机制来扩充UML的建模能力,分别是(约束)、构造型和(标记值)。

5.在软件测试用例的设计方法中,白盒法以(程序内部数据结构)为依据设计测试用例,6.在面向对象设计原则中,(组装复用)原则要求在新的对象里尽量使用已有的类对应的对象,并通过(委派)达到复用已有功能的目的。

7.状态图描述一个类对象所经历的(各种状态)以及事件发生时状态的(转移条件).8.SOFL软件开发方法学认为,在需求分析和规格说明阶段应该采用(结构化)方法,而在设计和实现阶段则应该采用(面向对象)方法。

9.可行性研究的内容包括(技术可行性)、经济可行性和(操作可行性)。软件按服务对象可分为(项目软件)和产品软件在常见的软件生存周期模型中,(瀑布)模型是文档驱动的UML采用(用例)图描述系统与外部用户的交互行为在软件测试用例的设计方法中,黑盒法以(外部功能)为依据设计测试用例定性度量模型独立性的两个标准是(内聚度)和(耦合度)8 在SA方法的需求描述工具中,(层次方框图)描述系统的分解,即描述系统由哪几个部分组成,各部分之

间有什么联系等等;(数据词典(和加工说明))定义了数据流图中每个图形元素;结构化语言、判定

表或判定树则详细描述、数据流图中不能被分解的(基本加工)IDEFO图主要元素是简单的盒子及箭头,其中盒子代表(活动)。而箭头表示系统处理的(数据约束)

1.什么是软件工程?软件工程和计算机科学有何区别? 答:软件工程是指导软件开发和维护的工程性学

科;计算机科学着重于原理和理论,软件工程与计算机科学不同,软件工程着重于如何建造软件系统,软

件是计算机中看不见摸不着的逻辑部分,以程序、数据和文档的形式出现。

2.面向对象方法和结构化方法有何区别与联系? 答:区别: 面向对象从所处理的数据入手,以数据为中

心来描述系统,其基本思想是尽可能模拟人类习惯的思维方式,使开发软件的方法与过程尽可能接近人类

认识世界的方法与过程,基本原则为:对象+类+继承+消息通信 结构化方法首先关心的是功能,强调以模

块为中心,其基本思想是自顶向下,逐步求精,单入口,单出口,基本原则为:抽象与功能的分解 联系:

软件开发过程中,在需求分析和规格说明阶段采用结构化方法,在设计和实现阶段采用面向对象方法。

3.什么是模块的作用域和模块的控制域?为何要求模块的控制域必须在作用域内? 答:模块的作用域是

指模块中判定的作用范围,它是指所有受这个判定范围影响的模块;模块的控制域是指模块本身及其直接

或间接调用的模块;如果模块的作用域不在控制域内,则会增加数据间的传递量,使模块间出现控制耦合4.什么是设计模式?试举例说明组合设计模式的应用。答:设计模式是指系统命名,解释和评价某一重要的,可复用的面向对象的设计方案。组合设计模式:使用迭代器模式来遍历组合结构。

5.什么是依赖倒置原则?它和开闭原则有何联系? 答:依赖倒置是类设计原则的一种,它要求高层不应

依赖于底层,抽象不应依赖于细节;依赖倒置原则的本质其实就是通过抽象(抽象类或接口)使各个类或

模块的实现彼此独立,不相互影响,实现模块间的松耦合,如果没有实现这个原则,则开闭原则也无法实

现。

6.软件生存期过程和软件生存期模型有何联系?瀑布模型有何特点?答:软件生存期过程没有规定一个特

定的生存周期模型,各软件开发机构可视其项目的需要选择一种软件生存周期模型,并将软件生存期过程

所含过程、活动和任务映射到选定的软件生存周期模型中。软件生存期模型是软件生存期过程所含过程、活动和任务的映射。瀑布模型特点:各阶段相互依赖;每阶段都进行评审;强调需求分析和设计。

1.瀑布模型是软件工程中应用最广泛的过程模型,试述采用瀑布模型进行软件开发的基本过程,该过程有

何特点? 答:瀑布模型规定了各项软件工程活动,包括需求分析、规格说明、设计、编码、测试和维护,并规定了它们自上而下、相互衔接的固定次序,如同瀑布流水,逐级而下。瀑布模型的特点是:阶段间具

有顺序性和依赖性;清楚区分逻辑设计和物理设计,尽可能推迟程序的物理实现;每个阶段都必须完成规

定文档,且每阶段结束前需要对完成的文档进行评审。

2、什么是软件配置管理?软件配置管理和软件维护有何不同? 答:软件配置管理是在软件生命周期内管理变

化的一组活动,用来:标识变化、控制变化、确保适当地实现了变化、向相关人员报告变化。

软件配置管理和软件维护的区别是:软件配置管理是一组追踪和控制活动,在软件项目启动时就开始,并

一直持续到软件被淘汰后才终止;软件维护是一组软件工程活动,发生于软件交付给用户并投入运行之后。

3、试举例说明聚集关系中共享聚集和组合聚集有何不同。答:如果在聚集关系中部分对象可同时参与多个

整体对象的构成,则该聚集称为共享聚集。例如,一个课题组包含许多成员,每个成员又可以是另一个课

题组的成员,则课题组和成员之间是一种共享聚集的关系。

如果部分对象完全隶属于整体对象,并与整体对象共存,则该聚集称为组合聚集。例如,在屏幕上一个窗

口由文本框、列表框、按钮和菜单等构成,且一旦关闭了窗口,则各组成部分也消失,则窗口和它的组成部分之的关系为组合聚集关系。

1非渐增式测试与渐增式测试有何区别? 答:非渐增式测试,一般应先经过单元测试,然后再把所有模块一

次性组装在一起进行测试,最终得到要求的软件系统;而渐增式测试则采用逐步加入模块或功能簇的方式

进行,在加入过程中边连接边测试,比较容易定位和修正错误,且接口也可以更容易进行彻底地测试2.试举例说明什么是功能性需求,什么是非功能性需求?为何非功能性需求往往比功能性需求还要重

要? 答:功能性需求是说有具体的完成内容的需求。例如:比如客户登录、邮箱网站的收发邮件、论坛网

站的发帖留言等。非功能性需求是指软件产品为满足用户业务需求而必须具有且除功能需求以外的特性,包括系统的性能、可靠性、可维护性、可扩充性和对技术和对业务的适应性等。例如:性能要求:要求系

统能满足100个人同时使用,页面反应时间不能超过6秒;非功能性需求往往比功能性需求还要重要是因为

非功能性需求描述的是软件的质量属性,直接影响着用户体验,因此非功能性需求在决定系统成败的因素

中起更重要的作用。

3.层次图和层次方框图有何区别? 答:不同:1,层次图描绘软件的层次结构.层次方框图描绘的是数据结

构。2,层次图的方框表示模块或子模块。层次方框图的方框表示数据结构整体或其子集。3,层次图的连线表

示调用关系,层次方框图表示组成关系。

4.快速原型模型有几种?各有何特点?答:快速原形模型根据原型的不同作用,有三类原型模型:

(1)探索型原型:把原型用于开发的需求分析阶段,目的是要弄清用户的需求,确定所期望的特性,并探索

各种方案的可行性。它主要针对开发目标模糊,用户与开发者对项目都缺乏经验的情况,通过对原型的开

发来明确用户的需求。

(2)实验型原型:主要用于设计阶段,考核实现方安是否合适,能否实现。对于一个大型系统,若对设计方

案心中没有把握时,可通过这种原型的开发来证实设计方案的正确性。

(3)演化型原型:它将原型思想扩展到软件开发的全过程,就是及早向用户提交一个原型系统,在得到用户

认可后,将原型系统不断扩充演化为最终的软件系统。

2.什么是模块的作用域?为何设计软件结构时要求模块的作用域必须在控制域之内? 答:所谓模块的作

用域是指模块判定的影响范围。作用域在控制域之内,可使得软件修改时代码局部化。

3.什么是动态测试?为何静态测试方法往往比动态测试方法效率高? 答:动态测试是指经运行程序代码

而检查代码是否存在错误。静态测试往往不是运行代码,而在软件开发的早期进行,而早期错误发现要比

错误晚发现付出的成本少,而静态测试往往在发现错误后还可继续进行,但动态测试往往需要停下来改进后才能进一步测试。1 试简要说明面向对象方法与结构化方法相比有何优越性,至少列出三点。答:(1)强调从现实世界中客观

存在的事物(对象)出发来认识问题域和构造系统,这就使系统开发者大大减少了对问题域的理解难度,从而使系统能更准确地反映问题域。(2)运用人类日常的思维方法和原则(体现于OO方法的抽象、分类、继承、封装、消息通讯等基本原则)进行系统开发,有益于发挥人类的思维能力,并有效地控制了系统复

杂性。(3)对象的概念贯穿于开发过程的终,使各个开发阶段的系统成分具良好的对应,从而显著地提高

了系统的开发效率与质量,并大大降低系统维护的难度。(4)对象概念的一致性,使参与系统开发的各类

人员在开发的各所段具有共同语言,有效地改善了人员之间的交流和协作。(5)对象的相对稳定性和对易

变因素隔离,增强了系统的应变能力。(6)对象类之间的继承关系和对象的相对独立性,对软件复用提供

了强有力的支持。1.什么是软件危机?软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。这些问题

表现在以下几个方面:(1)用户对开发出的软件很难满意。(2)软件产品的质量往往靠不住。(3)一般软件很

难维护。4)软件生产效率很低。(5)软件开发成本越来越大。(6)软件成本与开发进度难以估计。7)软件技术的发展远远满足不了计算机应用的普及与深入的需要。

2.什么是软件生存周期?软件生存周期是指从软件定义、开发、使用、维护到淘汰的全过程。

1.软件开发模型有几种?它们的开发方法有可特点?软件开发模型有瀑布型、渐增型和变换型。瀑布型开

发方法是按照软件生存周期的划分依次实施,每一个阶段有明确规定的任务。它的特点:(1)各个阶段的顺

序性和依赖性;(2)划分逻辑设计与物理设计,尽可能推迟程序的物理实现;3)每个阶段必须完成规定的文

档,对其中问题通过复审及早发现,及早解决。渐增型开发方法及特点:1)从部分需求出发,先建立一个不

完全的系统,通过测试运行该系统取得经验和信息反馈,加深对软件需求的理解,进一步使系统扩充和完

善。如此反复,直至软件人员和用户对所设计完成的软件系统满意为止。2)在渐增型开发下的软件是随软

件开发的过程而逐渐形成的。(3)渐增型开发方法适合于知识型软件的开发,设计系统时对用户需求的认识

开始不是很清楚的,需要在开发过程中不断认识、不断获得新的知识去丰富和完善系统。多数研究性质的试验软件,一般采用此方法。变换型开发方法及特点:(1)从软件需求的形式化规格说明出发,经过一系列的程序变换,得到最终的程序系统。(2)该方法必须有严格的数学理论和形式化技术的支持。

2.功能与对象的区别?

1、功能比对象容易变化(功能相对不稳定)

2、功能是主观的,对象是可观的。

3、功能是可以调用的,要么全有,要么全无,而对象可以部分的继承使用。

3. 软件开发过程可视化的两种方法?文档驱动、小批量发布

4.风险分析的目的?对风险进行管理。

5. 传递信息的方法?

1、参数。

2、全局变量。

3、公共可访问区域。

6.数据建模的作用?

1、抓住问题的主要方面---理解问题。

2、便于交流。

3、可以进行分析(性能、可靠

性、、、、、、)。

4、可以自动生成代码。

7. 描述模型的两种方法?

1、结构化方法:结构化方法首先关心的是功能,强调以模块为中心,采用模

块化、自顶向下、逐步求精设计过程(分层),适合需求明确的模型。其不足之处:不太适应规模大及

特别复杂的项目,难于解决软件重用问题,难于适应需求变化或模糊的问题,软件维护比较复杂。

2、面向

对象方法:面向对象方法则从所处理的数据入手,以数据为中心来描述系统,适合迭代增量式分解(网状)。

其不足之处:类作为复用单元,有时显得太小,类继承会增加类间的耦合度,该方法不够成熟。

8. 描述作业之间的关系?

1、画PERT图。

2、确定最晚发生时刻与最早发生时刻。

3、计算机动时间,为0 的为关键事件。

4、Gantt图的方法进行描述。

9. 用例与功能的区别?

1、完成一个用例需要若干功能。

2、用例是从用户使用系统的角度来描述系统的行为的。

3、用例往往是对用户有价值的结果。

4、用例满足用户的业务目标。

10. 描述模块独立性的标准?内聚度(内聚度是指模块内部各成分联系紧密的程度,内聚度越高,模块独

立性越强)耦合度(耦合度是指模块之间相互关联的紧密程度。耦合度越低,模块独立性越强)

11.什么是黑盒测试?黑盒测试主要采用的技术有哪些? 黑盒测试也称为功能测试,它着眼于程序的外部特

征,而不考虑程序的内部逻辑结构。测试者把被测程序看成一个黑盒,不用关心程序的内部结构。黑盒测试是

在程序接口处进行测试,它只检查程序功能是否能按照规格说明书的规定正常使用,程序是否能适当地接

收输入数据产生正确的输出信息,并且保持外部信息(如数据库或文件)的完整性。黑盒测试主要采用的技

术有:等价分类法、边沿值分析法、错误推测法和因果图等技术。

12.什么是白盒测试?白盒测试主要采用的技术有哪些?测试者了解被测程序的内部结构和处理过程,对程序的所有逻辑路径进行测试,在不同点检查程序状态,确定实际状态与预期状态是否一致。白盒测试主要采用的技术有:路径测试技术和事务处理流程技术,对包含有大量逻辑判断或条件组合的程序采用基于逻辑的测试技术。

13. 瀑布模型的优缺点?优点:1.流水线生产比个人生产效率高,质量好。2.将逻辑设计与物理实施分开,避免无用功。减少成本,能尽量推迟物理实施。3.文档驱动使得开发过程可视化,便于管理和控制。缺点:

1.当需求不明确时,流水线被阻塞。2.得不到用户的反馈,开发过程得不到修正,导致有可能出现大的失误。3.最后将产品一次提交给用户,用户感到不适应,成本增加,市场风险加大。

14.软件工程的目的?以期用较少的代价获取高质量的软件。

第四篇:2012上半年中南大学软件学院软件工程硕士招生公告

2012年(上半年)中南大学

软件工程硕士自主招生公告

一、培养目标

根据国民经济信息化建设和软件产业迅速发展的需要,面对企事业单位、特别是软件企业对高素质软件工程技术人才的迫切需求,培养有创新精神、具有国际竞争力的高层次复合型软件人才。

二、报考条件

1、身体健康,品行端正,遵纪守法;

2、具有国民教育系列大学本科学历和学士学位;应届、往届毕业生均可;

3、较系统掌握计算机专业基础知识,具有一定的软件开发或软件项目管理等方面的经验和能力,或从事企、事业单位信息化建设工作的管理人员和技术人员。

三、专业研究方向

1、软件工程;

2、生物医学信息技术:该方向是现代生命科学、医学、计算机科学与信息科学等领域相互交叉,并融合生物信息学、计算与系统生物学、药物信息学、医学影像信息学、医学信息学等学科而形成的一门崭新的前沿学科。生物医学信息技术的发展和应用已成为解决现代生物医学领域许多重大问题的关键技术。该方向研究生归口我校软件学院和生物科学与技术学院共同培养管理。

3、能源系统工程:该方向是工业节能、建筑节能、新能源、新型动力技术、能源管理、节能评价与信息科学等学科领域相互交叉形成的一门新兴学科,旨在培养我国能源领域节能减排、能源管理、能源审计、能源评估、节能技术评价等工作的专业人才,为我国能源领域各相关单位储备人才。该方向研究生归口我校软件学院和能源科学与工程学院共同培养管理。

4、金融风险与数据挖掘:该方向是根据国民经济及软件产业发展的需要,紧密联系我国国民经济和金融保险业的发展趋势,充分发挥计算机技术与金融风险分析技术密切结合的特色,培养精通现代风险分析、控制与数据挖掘理论,掌握扎实的计算机、金融风险分析与数据挖掘技术,具有运用数据挖掘技术进行金融风险分析、处理、评估及相关计算机软件的应用与开发能力的高层次复合型人才。该方向研究生归口我校软件学院和数学科学与计算技术学院共同培养管理。

四、招生人数

本次计划招收200人。

五、报名、考试及入学时间

(一)网上报名时间:2012年3月19日 ~ 4月20日。

报名系统地址:http://202.197.33.69/yjsbm,请报名考生按照要求填写本人真实信息,并上传本人近期免冠登记电子照片,照片规格150×200像素(JPG格式)。网上报考信息不完整者不接受报名。

(二)现场报名:

1、报名时间:2012年4月21 ~ 22日。

2、报名地点:中南大学软件学院(铁道校区电子楼107室-研究生工作办公室)。

3、报名程序:

(1)提交下列材料进行资格审查

①考生所在单位加盖人事部门公章(必须)的报名资格审查表(一式二份,见附件); ②本科毕业证书原件和复印件(往届生提供); ③学士学位证书原件和复印件(往届生提供); ④本科学生证原件和复印件(应届生提供)。

⑤近期同底免冠一寸彩照4张(背面用铅笔标注考生姓名)。

以上5类材料请务必用档案袋装好,档案袋正面标注考生姓名、联系电话。现场

报名材料不完整者不接受报名。

(2)缴纳报名考试费320元。

4、考试时间:2012年5月5日。

5、入学时间:2012年秋季。

六、考试科目

1、综合考试(200分):内容包括数学、英语。参考书目:全国工程硕士专业学位教育指导委员会指定的复习资料《工程硕士专业学位研究生入学资格考试指南》(科学技术文献出版社)和《工程硕士专业学位研究生入学考试考前辅导教程》(清华大学出版社)。

2、专业基础考试(100分),按报考方向选一: 软件工程方向:软件工程基础。

生物医学信息技术方向:生物医学信息技术(软件工程基础60%,普通生物学40%)能源系统工程方向:能源系统工程(软件工程基础60%,传热学20%、工程热力学20%)金融风险与数据挖掘方向:专业综合(软件工程基础60%,统计学基础40%)。参考书目:

陈松乔 主编,《现代软件工程》,清华大学出版社。陈阅增 主编,《普通生物学》,高等教育出版社。杨世铭 主编,《传热学》第三版,高等教育出版社。沈维道 主编,《工程热力学》第三版,高等教育出版社。贾俊平主编,《统计学》第三版,中国人民大学出版社。

3、复试:前两项笔试成绩达到学校要求之后,参加学院组织的复试。复试内容:专业综合考试及面试。

参加2010年由国家统一组织的工程硕士专业学位研究生入学资格考试(GCT),总成绩不低于150分(其中英语和数学单科成绩不低于30分)的考生可持本人的GCT成绩单申请免试数学和英语(现场报名时在软件学院研究生办公室提出书面申请)。

七、学费

人民币3.6万元/全程(分两学年交清,每次1.8万元)。

八、学制

弹性学制2~4年。根据实际情况安排在职学习形式,上课时间为节假日及双休日。

九、主修课程

软件工程方向:基础英语、工程数学、自然辩证法、高级软件开发过程、软件需求工程、面向对象系统分析与设计、软件体系结构、分布式数据库系统、软件项目管理、软件能力成熟度模型、软件测试技术、IT知识产权与法律、国际IT专业认证等。

生物医学信息技术方向:基础英语、自然辩证法、软件基础、高级分子生物学、高级生物化学、高级细胞生物学、分子生物学技术、生物统计学、生物信息学、药物信息学、科研设计与选题、生命科学技术前沿、生物医药新兴产业、医院信息系统与应用、卫生事业管理学、管理心理学、专题讲座、现代人文护理、软件工程等。

能源系统工程方向:基础英语、自然辩证法、软件基础、高等传热学、高等工程热力学、高等流体力学、能源系统工程、能源审计概论、现代热工测控技术、能源评估技术、节能技术及评价、锅炉及热力系统专论、专题讲座、软件工程等。

金融风险与数据挖掘方向:基础英语、高等工程数学、自然辩证法、金融工程、金融风险管理、应用统计学、期权期货及金融衍生产品、商业银行管理、精算学、高级数据库技术、软件应用与开发、数据挖掘、软件项目管理等。

十、学位授予

学生在规定年限之内修满培养方案划所规定的学分,成绩合格,完成学位论文并通过硕士学位论文答辩,经学位评定委员会审核通过后,授予软件工程硕士专业学位,颁发软件工程硕士学位证书。

十一、项目特色

1、中南大学软件学院是全国37所示范性软件学院之一,拥有自主划线招生的资格;

2、工程化特色鲜明:重在培养高层次、实用型、复合型、国际化人才,培养模式上更贴近行业需求;

3、国际化特色鲜明:国际师生互派、交流,国外名师来校讲座,国际顶级IT企业技术支持;

4、课程体系灵活:与国内外知名高校和顶级IT企业合作,借鉴国际上先进教学方法,采用和开发优秀教学资源;

5、学习方式灵活:在职或脱产均可,弹性学制2~4年;

6、完成所有课程、考试合格、通过论文答辩者,由国家学位办授权中南大学颁发软件工程硕士学位证书;

7、毕业生就业渠道及状况良好,深受企事业单位欢迎。

十二、联系信息

研究生院招生办办公地址:中南大学校本部三办公楼3楼

联系电话:0731-88876806、0731-88876474(传真)

软件学院办公地点:中南大学铁道校区电子楼107室

联系电话/传真:0731-82539736

生物科学与技术学院办公地点:中南大学湘雅新校区后栋471室

联系电话/传真:0731-82650230

能源科学与工程学院办公地点:中南大学能源科学与工程学院208室

联系电话:0731-88830282,***(陈老师)传真:0731-8887986

3数学科学与计算技术学院办公地点:中南大学校本部南校区第二教学楼一楼办公室

联系电话:0731-8866017

1中南大学研究生院招生办公室 中南大学软件学院

2012年3月10日

附件:资格审查表

2012年在职人员攻读硕士学位报考资格审查表

报考学校名称:中南大学报考学位类别:工程硕士

注:

1、本表须由考生本人如实填写,否则所产生的一切后果由考生本人负责。

2、学历学位等相应信息请一律按照所获证书上内容填写。如证书上号码多于一个,上表中各证书编号栏请填写注册号;如无注册号,请填写证书上的“证书编号”或“学校编号”等由发证院校(科研单位)编排的号码。通过自学考试获得毕业证书者,“毕业学校”请填写相应省(市)自学考试委员会。

3、考生所在单位人事部门须对考生本人填写情况进行审查确认后签署意见,并在考生照片上加盖人事部门公章。

4、此资格审查表连同相关材料一并报送有关招生单位,招生单位审核通过后存档备查。

第五篇:中南软件学院电子竞技大赛调查表

中南软件学院电子竞技大赛调查表 您好,我们正在进行一项关于电子竞技的调查,耽搁您宝贵的时间询问一些问题,愿您协助我们搞好这项调查工作,谢谢!您所填写的内容并不涉及您的个人秘密,也没有正误之分,但您的准确填写对我们的这项研究十分重要。请在符合您实际情况的选项前划“√”或在横线上填写相关内容。请您带着愉悦的心情认真填写。真诚感谢您的合作

您的相关信息:年级__________性别__________

一.选择题

1.您是否喜欢玩网络游戏?

A.酷爱 B.比较喜欢 C.一般 D.根本不玩

2.(可多选)你对哪一类的电子竞技比较感兴趣?

A 第一人称射击类B 格斗类 C 即时战略类 D 体育类 E.休闲趣味类

3.(可多选)您较喜欢玩的游戏有哪些?

a.反恐精英b.魔兽争霸 c.星际争霸d.魔兽世界—竞技场 e.DOTA f.穿越火线g.街头篮球h.实况足球 i.FIFA足球 j.极品飞车k.跑跑卡丁车 l.劲舞团 m.拖拉机n.斗地主 o.麻将 p.象棋、围棋 q.找茬、连连看其它 _____________________________

4. 您是否参加过相关游戏竞技活动?

A. 参加过 B.没有参加过 C.不是很感兴趣

5.你是否支持搞一场全院规模的电子竞技大赛(如:魔兽争霸、CS、跑跑等等)?

A 支持 B 无所谓 C 不支持

6.您是否愿意参加学院的电子竞技比赛

A.参加是必须的 B.看情况 C.随便D.不会参加

7.(可多选)如果您参加电子竞技大赛,您希望主办方将什么项目设为比赛项目? a.反恐精英b.魔兽争霸 c.星际争霸d.魔兽世界—竞技场 e.DOTA f.穿越火线g.街头篮球h.实况足球 i.FIFA足球 j.极品飞车k.跑跑卡丁车 l.劲舞团 m.拖拉机n.斗地主 o.麻将 p.象棋、围棋 q.找茬、连连看其它 _____________________________

8.您认为什么时候比赛比较恰当?

A 周一至周五的中午或者晚上 B 周末 C 五一或者十一等国定假期期间

二.简答题

1.大家现在在玩的有哪些游戏?

______________________________________________________________________________________________________________________________________________________________

3.大家玩游戏,您最看重哪些方面?

_______________________________________________________________________________

4.你对我院电子竞技大赛有什么建议?

______________________________________________________________________________________________________________________________________________________________ 再次感谢您的参与!谢谢!

软件学院团学会外联部

下载中南大学软件学院架构超强复习大全word格式文档
下载中南大学软件学院架构超强复习大全.doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    中南大学软件学院-IT项目管理-考试必备-浓缩版

    →软件项目失败的原因主要是因为项目的复杂性和缺乏合格的项目管理。人们体会到缺乏有效的项目管理是导致软件项目失控的直接原因 (3分技术、7分管理、12分数据) 作业连续不断......

    河南大学软件学院

    河南大学软件学院——《毛泽东思想和中国特色社会主义理论体系概论》课程论文姓名:靳培强学号:1045033352专业:软件工程年级:大二论文题目:《邓小平》纪录片给我的启成绩:________......

    天津市大学软件学院

    天津市大学软件学院选课说明(根据自己所选择的方向,按照方向对应的选课说明进行选课,每周六天)鉴于2013级新生来自不同高职院校的不同专业而导致的已修课程的差异,为避免高职升本......

    中南大学软件学院外出实习申请表(第6_7_8学期用)

    中南大学软件学院学生外出软件工程实训申请审批表(第六学期用)2. 接收单位指定的指导教师应具有中级以上的技术职称或相应资格,并向学院提交相关资格证书复印件;3. 申请学生除......

    北京航空航天大学软件学院

    北京航空航天大学软件学院2009年普通硕士研究生复试工作安排一、复试条件按照上级部门关于今年研究生招生工作的指示精神,本次研究生录取工作将遵循以下原则: 软件工程专业复......

    武汉大学国际软件学院

    武汉大学国际软件学院2012年硕士研究生复试录取工作实施细则根据学校《关于做好2012年硕士生复试录取工作的通知》(研招[2012]13号)精神,结合实际情况,制订国际软件学院2012年硕......

    中南大学

    中南大学 一、申请条件 1.拥护中国共产党的领导,具有良好的思想品德和政治素质,遵纪守法,在校期间未受过任何法纪处分,身心健康。 2.经教育部批准具有推荐免试攻读硕士学位研究生......

    中南大学材料学院材料加工方向导师

    姓名: 王德志 性别: 男 出生: 1968-10 单位: 材料加工工程 职称: 教 授 电子邮件: dzwang@mail.csu.edu.cn 详细介绍 【学历】 1991.7、1994.4和1998.4分别毕业于原中南工业大学......