计算机专业答辩问题及答案 下载本文

1. B/S结构程序与C/S结构程序各有哪些特点?

C/S 模式的特点

● 由于客户端实现与服务器的直接相连,没有中间环节,因此响应速度快。 ● 操作界面漂亮、形式多样,可以充分满足客户自身的个性化要求。 ● C/S结构的管理信息系统具有较强的事务处理能力,能实现复杂的业务流程。

● 需要专门的客户端安装程序,分布功能弱,针对点多面广且不具备网络条件的用户群体,不能够实现快速部署安装和配置。

● 兼容性差,对于不同的开发工具,具有较大的局限性。若采用不同工具,需要重新改写程序。

● 开发成本较高,需要具有一定专业水准的技术人员才能完成。 B/S模式的特点

● 具有分布性特点,可以随时随地进行查询、浏览等业务处理。 ● 业务扩展简单方便,通过增加网页即可增加服务器功能。

● 维护简单方便,只需要改变网页,即可实现所有用户的同步更新。 ● 开发简单,共享性强。

● 个性化特点明显降低,无法实现具有个性化的功能要求。

● 操作是以鼠标为最基本的操作方式,无法满足快速操作的要求。 ● 页面动态刷新,响应速度明显降低。

● 无法实现分页显示,给数据库访问造成较大的压力。 ● 功能弱化,难以实现传统模式下的特殊功能要求。

2. 说明软件设计与开发过程分为哪几个阶段。每个阶段你都做了哪些工作,得到什么设计结果。

需求分析:分析用户的实际需求,了解应用背景,明确各功能点; 概要设计:基于需求分析,设计整体解决方案; 详细设计:基于概要设计,完成每个模块的设计; 编码:基于详细设计,对每个功能模块进行编码实现; 测试:在本系统中主要是过行了单元测试;

3. 需求分析阶段的主要任务是什么?为了完成这些任务,你都做了哪些工作?

(1)确定对系统的综合要求,分析系统的业务需求、用户需求和功能需求,导出系统的逻辑模型,修正系统的开发计划。

(2)与用户细致沟通,了解用户之前的系统功能、运行模式等,理解用户的真识想法,以原型模式演示需求了解的状况,基于对用户的理解,编写了功能分析、性能分析、环境约束等方面文档;

4. 什么是数据流图?什么是数据字典?它们的作用是什么?

数据流图:简称DFD,它从数据传递和加工角度,以图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程,是结构化系统分析方法的主要表达工具及用于表示软件模型的一种图示方法。

数据字典是指对数据的数据项、数据结构、数据流、数据存储、处理逻辑、外部实体等进行定义和描述,其目的是对数据流程图中的各个元素做出详细的说明

5. 说明管理信息系统设计和开发的基本过程分为几个阶段?每个阶段的主要工作是什么?

管理信息系统的开发可分为系统规划、系统分析、系统设计、系统实施、系

统维护和评价五个阶段。各阶段的主要工作概要说明如下。 (1).系统规划阶段

系统规划阶段的任务是:在对原系统进行初步调查的基础上提出开发新系统的要求,根据需要和可能,给出新系统的总体方案,并对这些方案进行可行性分析,产生系统开发计划和可行性研究报告两份文档。 (2).系统分析阶段

系统分析阶段的任务是根据系统开发计划所确定的范围,对现行系统进行详细调查,描述现行系统的业务流程,指出现行系统的局限性和不足之处,确定新系统的基本目标和逻辑模型,这个阶段又称为逻辑设计阶段。

系统分析阶段的工作成果体现在“系统分析说明书”中,这是系统建设的必备文件。它是提交给用户的文档,也是下一阶段的工作依据,因此,系统分析说明书要通俗易懂,用户通过它可以了解新系统的功能,判断是否所需的系统。系统分析说明书一旦评审通过,就是系统设计的依据,也是系统最终验收的依据。 (3).系统设计阶段

系统分析阶段回答了新系统“做什么”的问题,而系统设计阶段的任务就是回答“怎么做”的问题,即根据系统分析说明书中规定的功能要求,考虑实际条件,具体设计实现逻辑模型的技术方案,也即设计新系统的物理模型。所以这个阶段又称为物理设计阶段。它又分为总体设计和详细设计两个阶段,产生的技术文档是“系统设计说明书”。 (4).系统实施阶段

系统实施阶段的任务包括计算机等硬件设备的购置、安装和调试,应用程序的编制和调试,人员培训,数据文件转换,系统调试与转换等。系统实施是按实施计划分阶段完成的,每个阶段应写出“实施进度报告”。系统测试之后写出“系统测试报告”。 (5).统维护和评价阶段

系统投入运行后,需要经常进行维护,记录系统运行情况,根据一定的程序对系统进行必要的修改,评价系统的工作质量和经济效益

6. 概念数据库设计的主要任务是什么?应该完成哪些工作?

对用户要求描述的现实世界,通过对其分类、聚集和概括,建立抽象的概念数据模型。这个概念模型应反映现实世界各部门的信息结构、信息流动情况、信息间的互相制约关系以及各部门对信息储存、查询和加工的要求等。所建立的模型应避开数据库在计算机上的具体实现细节,用一种抽象的形式表示出来。以扩充的实体—联系(E-R模型)模型方法为例,第一步先明确现实世界各部门所含的各种实体及其属性、实体间的联系以及对信息的制约条件等,从而给出各部门内所用信息的局部描述(在数据库中称为用户的局部视图)。第二步再将前面得到的多个用户的局部视图集成为一个全局视图,即用户要描述的现实世界的概念数据模型。 7. 解释ER图并说明ER图的作用

矩形框:表示实体,在框中记入实体名。 菱形框:表示联系,在框中记入联系名。

椭圆形框:表示实体或联系的属性,将属性名记入框中。对于主属性名,则在其名称下划一下划线。

连线:实体与属性之间;实体与联系之间;联系与属性之间用直线相连,并

在直线上标注联系的类型。(对于一对一联系,要在两个实体连线方向各写1; 对于一对多联系,要在一的一方写1,多的一方写N;对于多对多关系,则要在两个实体连线方向各写N,M。

E-R图也称实体-联系图(Entity Relationship Diagram),提供了表示实体类型、属性和联系的方法,用来描述现实世界的概念模型。

8. 数据库/数据库管理系统/数据库系统在概念上有什么区别?结合你的设计说明

数据库是长期储存在计算机内的、有组织的、可共享的数据集合。数据库中的数据按一定的数据模型组织、描述和储存,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。

数据库系统是指在计算机系统中引入数据库后的系统构成,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员构成。

数据库管理系统是位于用户与操作系统之间的一层数据管理软件,用于科学地组织和存储数据、高效地获取和维护数据。DBMS的主要功能包括数据定义功能、数据操纵功能、数据库的运行管理功能、数据库的建立和维护功能。 9. 自己为什么选择这个课题?

面对现在医疗资源分配不均的状况,一些条件较好医院的住院部经常是人满为患。对于每一位住院病人,医院都记录有大量的信息。这些资料在病人出院后将由医院保管,成为日后病人继续治疗或者法律纠纷中极有价值的信息,它也是临床医学研究工作中的宝贵资源,更是循证医学中较好的临床证据。

面对如此庞大而又复杂的信息集,开发一个小型的应用软件系统,对病人的住院资料进行安全、有序的记录和管理,并提供一些简便的查询和统计操作,以方便医生的查找以及日后的临床研究分析,这将是一个科学而实用的管理方法。因此我选择了本课题。

10. 你觉得系统哪些部分做的比较好,还有那些地方需要改进?

优点:该系统充分完成了客户请求的功能要求。在整个设计中,通过使用瀑布模型和结构化设计方法。该系统界面简单易懂,整洁大方,易于操作,独具自身特点。并且实现分级管理,保证了系统的安全性,并且实现了子管理员之间的独立管理,提高了使用者的工作效率。 缺点:(1)有些数据输入时没有及时的进行数据格式校验,不能保证数据绝对正确性。

(2)由于时间关系,系统功能实现不够完善,使用可能存在一些不方便。 11. 介绍一下软件的发展前景?

随着医学技术的发展与医疗卫生水平的不断提高,停留在纸介质基础上的医院住院病人资料管理浪费了大量的人力和物力,已经不能适应时代的发展,其安全性也不能得到有效的保障。在信息时代这种传统的管理方法必将被以计算机为基础的管理信息系统所取代,因此根据医院住院部目前实际的管理情况开发一套病房管理系统是十分必要的。

12. 说明在设计数据库表时你是如何考虑的?

数据库是整个软件应用的根基,是软件设计的起点,它起着决定性的质变作用,因此我们必须对数据库设计高度重视起来,培养设计良好数据库的习惯,是一个优秀的软件设计师所必须具备的基本素质条件!

那么我们要做到什么程度才是对的呢?下面就说说数据库设计的原则: (1)、数据库设计最起码要占用整个项目开发的40%以上的时间

数据库是需求的直观反应和表现,因此设计时必须要切实符合用户的需求,要多次与用户沟通交流来细化需求,将需求中的要求和每一次的变化都要一一体现在数据库的设计当中。如果需求不明确,就要分析不确定的因素,设计表时就要事先预留出可变通的字段,正所谓“有备无患”。

(2)、数据库设计不仅仅停留于页面demo的表面

页面内容所需要的字段,在数据库设计中只是一部分,还有系统运转、模块交互、中转数据、表之间的联系等等所需要的字段,因此数据库设计绝对不是简单的基本数据存储,还有逻辑数据存储。

(3)、数据库设计完成后,项目80%的设计开发在你脑海中就已经完成了 每个字段的设计都是有他必要的意义的,你在设计每一个字段的同时,就应该已经想清楚程序中如何去运用这些字段,多张表的联系在程序中是如何体现的。换句话说,你完成数据库设计后,程序中所有的实现思路和实现方式在你的脑海中就已经考虑过了。如果达不到这种程度,那当进入编码阶段后,才发现要运用的技术或实现的方式数据库无法支持,这时再改动数据库就会很麻烦,会造成一系列不可预测的问题。

(4)、数据库设计时就要考虑到效率和优化问题 一开始就要分析哪些表会存储较多的数据量,对于数据量较大的表的设计往往是粗粒度的,也会冗余一些必要的字段,已达到尽量用最少的表、最弱的表关系去存储海量的数据。并且在设计表时,一般都会对主键建立聚集索引,含有大数据量的表更是要建立索引以提供查询性能。对于含有计算、数据交互、统计这类需求时,还要考虑是否有必要采用存储过程。 (5)、添加必要的(冗余)字段

像“创建时间”、“修改时间”、“备注”、“操作用户IP”和一些用于其他需求(如统计)的字段等,在每张表中必须都要有,不是说只有系统中用到的数据才会存到数据库中,一些冗余字段是为了便于日后维护、分析、拓展而添加的,这点是非常重要的,比如黑客攻击,篡改了数据,我们便就可以根据修改时间和操作用户IP来查找定位。

(6)、设计合理的表关联 若多张表之间的关系复杂,建议采用第三张映射表来关联维护两张表之间的关系,以降低表之间的直接耦合度。若多张表涉及到大数据量的问题,表结构尽量简单,关联也要尽可能避免。

(7)、设计表时不加主外键等约束性关联,系统编码阶段完成后再添加约束性关联

这样做的目的是有利于团队并行开发,减少编码时所遇到的问题,表之间的关系靠程序来控制。编码完成后再加关联并进行测试。不过也有一些公司的做法是干脆就不加表关联。

(8)、选择合适的主键生成策略 13 静态页面和动态页面的区别?

静态网页是相对于动态网页而言,是指没有后台数据库、不含程序和不可交互的网页。你编的是什么它显示的就是什么、不会有任何改变。静态网页相对更新起

来比较麻烦,适用于一般更新较少的展示型网站。另外,如果扩展名为.asp但却没有连数据库,完全是静态的页面,那也是静态网站.只是.asp扩展名。

动态网页和静态网页是有区别的,网站采用动态网页还是静态网页主要取决于网站的功能需求和网站内容的多少,如果网站功能比较简单,内容更新量不是很大,采用纯静态网页的方式会更简单,反之一般要采用动态网页技术来实现。不过现在一般的都是采用的动态网站,有内容更新的话就可以随时在后台来更新。 14. 如何使用java程序备份和恢复MySql数据库? 将MySql中的数据库导出到文件中 备份 import java.io.*; import java.lang.*; public class BeiFen {

public static void main(String[] args) { // 数据库导出

String user = \数据库帐号 String password = \登陆密码

String database = \需要备份的数据库名 String filepath = \备份的路径地址

String stmt1 = \

+ password + \root -proot

* --result-file=d:\\\\test.sql\

System.out.println(\数据已导出到文件\中\{

e.printStackTrace();}}}

将数据从磁盘上的文本文件还原到MySql中的数据库 importjava.io.*;

importjava.lang.*;/**还原MySql数据库**/publicclassRecover{ publicstaticvoidmain(String[]args){