答辩问题.doc
《答辩问题.doc》由会员分享,可在线阅读,更多相关《答辩问题.doc(15页珍藏版)》请在冰点文库上搜索。
答辩的一些问题
B/S模式与C/S模式有什么区别?
C/S模式就是:
Client/Server模式,就是客户端服务器模式,就是说在终端上需要安装一套应用程序来和服务器上数据库进行交互;
此优势是可以减轻服务器的压力,有些数据可以在客户端预处理。
B/S模式就是:
Browse/Server模式,就是浏览器服务器模式,就是说在终端上只要通过浏览器就可以和服务器上的数据库进行交互。
此优势是客户端的硬件条件可以降低,只要能流畅运行浏览器就可以,其一切的数据处理都在服务器完成,同时减少维护的费用和工作量,只需要在服务器维护就可以
用JSP开发的网页是怎样执行的?
1.jsp文件先要编译成Java文件,在Tomcat中翻译后的Java文件在Tomcat下的ork\Catalina\localhost中相应名字的应用目录中
2.编译Java文件
3.运行.class文件
或
(1)客户端发出Request(请求);
(2)JSPContainer将JSP转译成Servlet的源代码;
(3)将产生的Servlet的源代码经过编译后,并加载到内存执行;
(4)把结果Response(响应)至客户端。
JSP源程序的安全性怎样?
为什么?
(1)JSP源程序不大可能被下载,特别是JavaBean程序完全可以放到不对外的目录中
(2)基于Java的,所以具有Java的安全性
(3)JSP可以跨平台运行到相对安全性较高的Linux服务器
开发的网站系统是怎样发布的?
什么是Tomcat,怎样配置?
Tomcat服务器是一个免费的开放源代码的Web应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。
配置
(1)安装JDL和Tomcat
(2)配置JDK环境变量
(3)测试JDK
(4)配置Tomcat环境变量
(5)启动Tomcat服务
后台数据怎样和前台数据进行关联的?
这里有个图,讲的是数据流程。
大致数据流程如上图。
以表单提交为例
Jsp页面form表单一般为这样
action为提交struct配置的actionmethod为提交方式,有post,get
Input为form的输入标签type类型一般有text(输入框),Password(密码输入框),button(按钮),file(文件上传),submit(提交按钮)
name对应对象的属性名,这样提交时,action的对象会自动赋值。
Action接收到信息后,调用service层函数,service层调用dao层函数,dao层直接与数据库进行交互,得到执行结果,再返回至service层,service层再返回至action。
Action根据该结果,判断返回“success”或者“fail”类似字符串。
该文字配置在struct.xml中,根据success或者fail返回相应jsp页面。
大致数据流程就是这样。
软件设计中,什么叫“高内聚,低偶合”?
对于低耦合,我粗浅的理解是:
一个完整的系统,模块与模块之间,尽可能的使其独立存在。
也就是说,让每个模块,尽可能的独立完成某个特定的子功能。
模块与模块之间的接口,尽量的少而简单。
如果某两个模块间的关系比较复杂的话,最好首先考虑进一步的模块划分。
这样有利于修改和组合。
对于高内聚,我粗浅的理解是:
在一个模块内,让每个元素之间都尽可能的紧密相连。
也就是充分利用每一个元素的功能,各施所能,以最终实现某个功能。
如果某个元素与该模块的关系比较疏松的话,可能该模块的结构还不够完善,或者是该元素是多余的。
什么是数据流图,业务流图,E-R图?
它们的关系是怎样的?
?
数据流图(DataFlowDiagram):
简称DFD,它从数据传递和加工角度,以图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程,是结构化系统分析方法的主要表达工具及用于表示软件模型的一种图示方法。
业务流程图(TransactionFlowDiagram,TFD)就是用一些规定的符号及连线来表示某个具体业务处理过程。
E-R图也称实体-联系图(EntityRelationshipDiagram),提供了表示实体类型、属性和联系的方法,用来描述现实世界的概念模型。
设计分E-R图的第一步,就是要根据系统的具体情况,在多层的数据流图中选择一个适当层次的(经验很重要)数据流图,让这组图中每一部分对应一个局部应用,我们即可以以这一层次的数据流图为出发点,设计分E-R图。
一般而言,中层的数据流图能较好地反映系统中各局部应用的子系统组成,因此人们往往以中层数据流图作为设计分E-R图的依据
逐一设计分E-R图每个局部应用都对应了一组数据流图
B/S结构是几层结构?
能否在本地机模拟运行?
分三层结构:
Model-(数据模型层)
DAL-DataAccessLayer(数据访问层)
BLL-BusinessLogicLayer(业务逻辑层)
可以
该系统的移植性怎样?
具体怎样实现?
P技术以Java为基础,所以不仅可以沿用Java强大的API功能,而且不管是在何种平台下只要服务器支持JSP,就可以运行使用JSP开发的Web应用程序,体现了它的跨平台、跨服务器的特点。
怎样实现
如今最流行的Web服务器Apache同样能够支持JSP,而且Apache支持多种平台,从而使得JSP可以在更多的平台上运行。
由于JVM,几乎所有平台都支持Java,JSP+JavaBeans几乎可以在所有平台下通行无阻。
从一个平台移植到另外一个平台,JSP和JavaBeans甚至不用重新编译,因为Java字节码都是标准的与平台无关的。
什么叫单机版、网络版?
区别?
单机版就是只能在一台机器上来用。
网络版就是在一台机器A上安装后,可以在其他机器上安装客户端。
数据都在机器A上。
其他的机器可以同时把数据写到A上。
这样就能实现虽然多人操作,但是数据统一。
(前提:
有局域网,安装软件的机器可以互访。
)
系统分析做哪些工作?
结果是什么?
在充分认识原信息系统的基础上,通过问题识别、可行性分析、详细调查、系统化分析,最终完成新系统的逻辑方案设计,或称逻辑模型设计。
软件中测试与调式有什么区别?
而言之,测试的主要工作是找缺陷,而调试的目的是为了解决缺陷。
具体而言,软件调试是在进行了成功的软件测试后才开始的工作。
软件调试与软件测试不同,软件测试的目标是尽可能多的发现软件中的错误,而进一步诊断和改正程序中潜在的错误才是调试的任务。
通常,调试工作是一个具有很强技巧性的工作。
一个软件开发人员在分析测试结果的时候会发现,软件运行失效或出现问题,往往只是潜在错误的外部表现,而外部表现与内在原因之间常常没有明显的的联系。
如果要找出真正的原因,排除潜在的错误,不是一件易事。
因此,调试是通过现象,找出原因的一个思维分析的过程。
数据字典中什么叫主键?
(P15)
主键是可以唯一标识表中一行记录的属性组合,只需给出这些属性上的值,就可以唯一地找到表中的一行记录。
什么叫前台?
什么叫后台?
区别?
什么是网站前台?
网站前台是面向网站访问用户的,通俗的说也就是给访问网站的人看的内容和页面,网站前台访问可以浏览公开发布的内容,如产品信息、新闻信息、企业介绍、企业联系方式、提交留言等操作,管理可以通过密码进到后台的网页,来发布新闻、查看留言等操作。
什么是网站后台?
网站后台,有时也称为网站管理后台,或网站后台管理,是指用于管理网站前台的一系列操作,如:
产品、企业信息的增加、更新、删除等。
通过网站管理后台,可以有效的管理网站供浏览者查阅的信息。
网站的后台通常需要帐号及密码等信息的登陆验证,登陆信息正确则验证而后进入网站后台的管理界面进行相关的一系列操作。
该系统如何进行测试的?
(P33)
什么叫DFD?
它是描述什么的?
在什么阶段做此工作?
dfd即数据流图
数据流图是结构化分析方法中使用的工具,它以图形的方式描绘数据在系统中流动和处理的过程。
详细设计阶段的工作
什么叫HTML?
浏览器端浏览的是什么代码格式的网页?
(P33)
html即超文本标记语言。
超文本标记语言,标准通用标记语言下的一个应用。
什么叫动态网页?
什么叫静态网页?
静态网页,随着html代码的生成,页面的内容和显示效果就基本上不会发生变化了——除非你修改页面代码。
而动态网页则不然,页面代码虽然没有变,但是显示的内容却是可以随着时间、环境或者数据库操作的结果而发生改变的。
什么叫数据冗余?
此系统是怎样减少数据冗余的?
在一个数据集合中重复的数据称为数据冗余.
通过关系模式的范式可以消除数据冗余,基本的数据库应满足第三范式(3NF)
什么叫URL?
和IP的区别是什么?
URL:
URL是UniformResourceLocation的缩写,译为“统一资源定位符”。
URL代表网络资源定位器,它使得网络中的所有资源具有唯一的标识符。
IP是有32位二进制组成,一般表示为点分十进制的形式,如124.25.67.34;它是用软件来标识网络中的主机的地址,但是不一定唯一
WWW与Internet的区别是什么?
因特网(Internet)是一个把世界各国的计算机相互连接在一起的计算机网络。
在这个网络上,使用普通的语言就可以进行相互通信,协同研究,从事商业活动,共享信息资源。
万维网(Web)是在因特网上运行的信息系统,Web是WWW(WorldWideWeb)的简称,是一个全球性的分布式信息系统。
互联网是线路、协议以及通过TCP/IP协议实现数据电子传输的硬件和软件的集合体。
Internet提供的主要服务有万维网(WWW)、文件传输(FTP)、电子邮件E-mail、远程登录(Telnet)等。
万维网则存在于互联网中。
它是无数个网络站点和网页的集合,构成了因特网主要的部分。
它实际上是由超链接连接而成的网页的集合。
简言之,互联网是个大筐,装着万维网;而万维网是个小筐,装着无数的超链接,是互联网的子集。
后台数据怎样发布到前台?
(P3)
参照后半段
什么叫数据库的概念设计?
将需求分析得到的用户需求抽象为信息结构的过程就是概念结构设计。
什么叫脚本语言?
脚本语言又被称为扩建的语言,或者动态语言,是一种编程语言,用来控制软件应用程序,脚本通常以文本(如ASCII)保存,只在被调用时进行解释或编译。
是为了缩短传统的编写-编译-链接-运行(edit-compile-link-run)过程而创建的计算机编程语言。
如何保证后台数据的安全性?
对用户安全管理:
必须首先要保证的就是数据库用户的权限的安全性。
当用户通过Web方式要对数据库中的对象(表、视图、触发器、存储过程等)进行操作时,必须通过数据库访问的身份认证。
定义视图:
为不同的用户定义不同的视图,可以限制用户的访问范围。
数据加密:
数据加密是保护数据在存储和传递过程中不被窃取或修改的有效手段。
事务管理和故障恢复:
故障恢复的主要措施是进行日志记录和数据复制。
数据库备份与恢复:
数据库管理系统的备份和恢复机制就是保证在数据库系统出故障时,能够将数据库系统还原到正常状态。
审计追踪机制:
审计追踪机制是指系统设置相应的日志记录,特别是对数据更新、删除、修改的记录,以便日后查证。
重点在服务器:
做好服务器的安全设置
网站的开发流程是什么?
1.需求分析:
目标定位用户分析市场前景
2.平台规划:
内容策划界面策划网站功能
3.项目开发:
界面设计程序设计系统整合
4.测试验收:
项目人员测试非项目人员测试公开测试
面向对象与面向过程有什么区别?
面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。
面向对象是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为。
对源代码程序怎样打包?
在MyEclipse中,在工程名上点右键,选择“Export“(导出),打开对话框后选择WEB下面的WARfile,点击下一步就会出现打包的保存地址了,选择地址后继续下一步,就可以了,完成后你会得到一个WAR包,可以直接部署到服务器上去运行
系统测试有那些方法?
什么叫模糊查询?
什么叫确定查询?
一般模糊查询语句如下:
SELECT字段FROM表WHERE某字段Like条件
确定查询,把like改为=
什么叫数据库的概念设计?
逻辑设计?
物理设计?
概念设计;对用户要求描述的现实世界(可能是一个工厂、一个商场或者一个学校等),通过对其中住处的分类、聚集和概括,建立抽象的概念数据模型。
逻辑设计;主要工作是将现实世界的概念数据模型设计成数据库的一种逻辑模式,即适应于某种特定数据库管理系统所支持的逻辑数据模式。
.物理设计;根据特定数据库管理系统所提供的多种存储结构和存取方法等依赖于具体计算机结构的各项物理设计措施,对具体的应用任务选定最合适的物理存储结构(包括文件类型、索引结构和数据的存放次序与位逻辑等)、存取方法和存取路径等。
代码设计的原则是什么?
(P15)
网上不太一致都。
1.提高编码质量,代码可读性和可维护性。
2.代码编写规范
3.命名规范
4.注释规范
系统总体结构图是在哪个阶段完成的?
依据于什么?
系统结构图是对软件系统结构的总体设计的图形显示,在需求分析阶段,已经从系统开发的角度出发,把系统按功能逐次分割成层次结构,使每一部分完成简单的功能且各个部分之间又保持一定的联系,这就是功能设计.在设计阶段,基于这个功能的层次结构把各个部分组合起来成为系统
数据字典应在哪个阶段出现?
数据字典是需求分析产物。
什么叫容错性?
怎样实现?
所谓容错是指在故障存在的情况下计算机系统不失效,仍然能够正常工作的特性。
(1)按设计任务要求进行常规设计,尽量保证设计的正确。
按常规设计得到非容错结构,它是容错系统构成的基础。
在结构冗余中,不论是主模块还是备用模块的设计和实现,都要在费用许可的条件下,用调试的方法尽可能提高可靠性。
(2)对可能出现的错误分类,确定实现容错的范围。
对可能发生的错误进行正确的判断和分类,例如,对于硬件的瞬时错误,可以采用指令复执和程序复算;对于永久错误,则需要采用备份替换或者系统重构。
对于软件来说,只有最大限度地弄清错误和暴露的规律,才能正确地判断和分类,实现成功的容错。
(3)按照“成本——效率”最优原则,选用某种冗余手段(结构、、时间)来实现对各类错误的屏蔽。
(4)分析或验证上述冗余结构的容错效果。
如果效果没有达到预期的程度,则应重新进行冗余结构设计。
如此反复,直到有一个满意的结果为止。
模块划分的原则是什么?
(“高内聚,低偶合”)
数据库系统和文件系统有什么区别?
文件系统和数据库系统之间的区别。
(1)文件系统用文件将数据长期保存在外存上,数据库系统用数据库统一存储数据;
(2)文件系统中的程序和数据有一定的联系,数据库系统中的程序和数据分离;
(3)文件系统用操作系统中的存取方法对数据进行管理,数据库系统用DBMS统一管理和控制数据;
(4)文件系统实现以文件为单位的数据共享,数据库系统实现以记录和字段为单位的数据共享。
文件系统和数据库系统之间的联系:
(1)均为数据组织的管理技术;
(2)均由数据管理软件管理数据,程序与数据之间用存取方法进行转换;
(3)数据库系统是在文件系统的基础上发展而来的。
什么是XML技术?
有什么特点?
xml即可扩展标记语言。
可扩展标记语言,标准通用标记语言的子集,一种用于标记电子文件使其具有结构性的标记语言。
特点:
ASP与JSP的区别是什么?
各有什么特点?
什么是MVC?
各部分之间的关系是什么?
MVC全名是ModelViewController,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。
MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。
Model(模型)是应用程序中用于处理应用程序数据逻辑的部分。
通常模型对象负责在数据库中存取数据。
View(视图)是应用程序中处理数据显示的部分。
通常视图是依据模型数据创建的。
Controller(控制器)是应用程序中处理用户交互的部分。
通常控制器负责从视图读取数据,控制用户输入,并向模型发送数据。
界面设计采用怎样的模板技术?
模板技术,看不懂啊
html,jsp?
在设计过程中,曾遇到过怎样的技术难题,如何解决的?
难题:
后台页面由于数据量过大,加载速度慢。
解决:
采用Memcached,它是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。
它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。
难题:
用户名,密码的时事验证
解决:
采用ajax无刷新将与后台数据交互结果返回。