软件工程习题参考答案ZYLWord格式.docx

上传人:b****8 文档编号:22898931 上传时间:2023-02-05 格式:DOCX 页数:18 大小:28.08KB
下载 相关 举报
软件工程习题参考答案ZYLWord格式.docx_第1页
第1页 / 共18页
软件工程习题参考答案ZYLWord格式.docx_第2页
第2页 / 共18页
软件工程习题参考答案ZYLWord格式.docx_第3页
第3页 / 共18页
软件工程习题参考答案ZYLWord格式.docx_第4页
第4页 / 共18页
软件工程习题参考答案ZYLWord格式.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

软件工程习题参考答案ZYLWord格式.docx

《软件工程习题参考答案ZYLWord格式.docx》由会员分享,可在线阅读,更多相关《软件工程习题参考答案ZYLWord格式.docx(18页珍藏版)》请在冰豆网上搜索。

软件工程习题参考答案ZYLWord格式.docx

界面设计:

包括用户、界面及两部分的交互关系部分。

程序设计:

程序设计者依据系统设计的要求编制计算机程序,即软件。

二进制语言:

由一串二进制符号组成。

高级语言:

高级语言,又分为普通高级语言、超高级语言。

超高级语言(第四代语言,4GL),将普通高级语言的程序结构、数据结构的表示文法抽象到一个新的高度,软件设计者只需说明“做什么”,而不需更多的描述算法细节。

数据模型:

据模型是现实世界在数据库中的抽象。

数据库管理系统:

数据库管理系统是一种操纵和管理数据库的大型软件,用于建立、使用和维护数据库。

它对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。

数据库逻辑设计:

主要指数据库内部数据关系设计。

软件测试:

指利用人工或自动的方法执行和评价各个模块的过程。

黑盒测试:

又称为功能测试或数据驱动测试。

把测试对象看作一个黑盒子,不需测试软件产品的内部结构和处理过程,只在软件的接口处进行测试。

等价分类法:

该方法是一常用的黑盒测试用例设计方法。

把所有可能的输入数据,即程序的输入域划分成若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例。

回溯法:

在小程序中常用的一种有效的调试技术。

具体做法是,分析错误表象,确定症状位置,人工沿着程序的控制流往回追踪源程序代码,直到找到错误原因为止。

性能测试:

检查和评估系统执行的响应时间、处理速度、网路承载能力、操作方便灵活程度、运行可靠程度等。

静态测试:

又称静态分析,指被测试程序不在机器上运行,而是采用人工检测和计算机辅助对被测程序的数据流和控制流等信息进行静态分析,找出系统的缺陷,写出测试报告。

调试:

软件调试,是在测试发现错误之后诊断并排除错误的过程。

在进行成功的测试后必须进行软件调试。

Beta测试:

由软件的最终用户在一个或多个用户场所进行。

与Alpha测试不同,开发者通常不在Beta测试的现场,因此,Beta测试是软件在开发者不能控制的环境中的“真实”应用。

用户记录在Beta测试过程中遇到的一切问题(真实的或想像的),并且定期把这些问题报告开发者。

接收到在Beta测试期间报告的问题之后,开发者对软件产品进行必要的修改,并准备向全体用户发布最终的软件产品。

二、填空题

1、可行性分析的目的就是用最小的代价在尽可能短的时间内确定软件项目是否能够开发,是否值得去开发。

3、可行性分析实质上是要进行一次简化,压缩了的需求和分析过程,要在较高层次上以较抽象的方式进行需求分析和设计过程。

5、技术可行性是对要开发项目的功能、性能、限制条件进行分析,确定在现有的资源条件下,技术风险有多大,项目是否能实现。

7、技术可行性的研究包括:

开发风险分析,现有技术能否实现,现有技术发展分析。

9、典型的可行性研究有下列步骤:

确定项目规模和目标、分析目前运行的系统、设计新项目的总体框架、导出和评价各种方案,推荐可行的方案和编写可行性研究报告。

11、成本/效益分析首先是估算将要开发系统的开发成本,然后与可能取得的效益进行_对比分析。

15、纯收入是软件生存周期内两项值之差,这两项是销售利润与软件开发维护成本。

17、可行性研究具体步骤的最后一步是撰写可行性分析报告。

1、软件需求分析是软件生存期中重要的一步,是软件定义阶段的最后一个阶段,是关系到软件开发成败的关键步骤。

3、访谈是最早使用的获取用户需求的技术,也是世界上仍然广泛使用的需求分析技术。

访谈有两种基本形式:

问卷调查和小组讨论。

5、数据流图由数据流、数据存储、数据项、数据加工组成。

1、耦合衡量不同模块彼此间互相依赖(连接)的紧密程度,模块间的耦合性越高,其模块的独立性就越低。

两个模块之间的耦合方式通常有7种,按耦合程度从低到高依次为:

非直接耦合、,数据耦合、标记耦合、控制耦合、外部耦合、公共耦合和内容耦合。

3、数据流有变换型数据流图和事物型数据流图两种基本类型。

5、模块独立性的概念是模块化、抽象和信息隐蔽的直接结果。

7、软件的详细设计可以采用图形、表格和语言三种形式的描述工具表示模块的处理过程。

9、程序流程图又称为程序框图,它是软件开发者最熟悉的一种算法表达工具。

11、三层逻辑架构主要包括:

界面表示层、业务层、数据存储层。

1、根据用户对项目的使用情况,可把用户分为三类:

初级用户、中级用户、高级用户。

3、Web界面的主要形式一般有下面几种:

信息查询类界面_、大众媒体类界面、宣传窗口类界面、电子商务类界面、交流平台类界面。

5、Web界面设计工具常用的有Photoshop、Dreamwaver和Fireworks,这些工具和HTML及各类脚本语言结合使用,可设计出各种功能的Web界面。

1、计算机语言可分为两大类:

面向机器的语言、高级语言。

3、网络系统的安全性主要考虑保证网络设备连接的安全,这需要一组相互重叠的安全机制,包括防火墙、数据包过滤器、物理安全、审查日志、身份验证和授权等

5、标识符分为两部分:

规范标识前缀、含义标识后缀。

7、#region和#endregion可以实现代码的折叠

1、E-R数据模型一般在数据库设计的概念设计阶段使用。

3、数据库实施阶段包括两项重要的工作,一项是数据的_载入,另一项是应用程序的编码和调试。

5、数据管理技术的发展大致经过了以下三个阶段:

人工管理阶段、文件系统阶段、数据库系统阶段。

7、E-R图向关系模式转化要解决的问题是如何将实体和实体之间的联系转换成关系模式,如何确定这些关系模式的属性和码。

9、数据库管理系统的功能基本功能包括以下4个方面:

数据定义、数据操纵、数据查询、数据控制。

1、软件测试是根据软件开发各阶段的规格说明和程序的内部结构而精心设计一批测试用例(即输入数据及其预期结果),并利用这些测试用例去运行程序,以发现程序错误的过程。

3、软件从编码结束到交付用户使用,需要经过单元测试、组装测试、验收测试和系统测试4个步骤。

三、单项选择题

1、研究开发资源的有效性是进行(C)可行性研究的一方面。

A.技术B.经济C.社会D.操作

3、在遵循软件工程原则开发软件过程中,计划阶段应该依次完成(B)。

A.软件计划,需求分析,系统定义B.系统定义,软件计划,需求分析

C.需求分析,概要设计,软件计划D.软件计划,需求分析,概要设计

5、在软件工程项目中,不随参与人数的增加而使软件的生产率增加的主要问题是(C)。

A.工作阶段间的等待时间B.生产原型的复杂性

C.参与人员所需的工作站数D.参与人员之间的通信困难

7、可行性分析中,系统流程图用于描述(B)。

A.当前运行系统B.当前逻辑模型C.目标系统D.新系统

9、可行性研究要求进行的需求分析和设计应是(C)。

A.详细的B.全面的C.简化的,压缩的D.彻底的

11、系统定义明确之后,应对系统的可行性进行研究。

可行性研究包括(A)。

A.软件环境可行性,技术可行性,经济可行性,社会可行性

B.经济可行性,技术可行性,社会可行性

C.经济可行性,社会可行性,系统可行性

D.经济可行性,实用性,社会可行性

1、软件需求分析阶段最重要的技术文档之一是(C)。

A.项目开发计划B.设计说明书C.需求分析报告D.可行性分析报告

3、软件需求分析阶段建立原型的主要目的是(C)。

A.确定系统的功能和性能要求B.确定系统的运行要求

C.确定系统是否满足用户需求D.确定系统是否满足开发人员需求

5、软件需求分析阶段的研究对象是(A)。

A.用户要求B.分析员要求C.系统要求D.软硬件要求

7、DFD中的每个加工至少需要(D)。

A.一个输入流B.一个输出流C.一个输入或输出流D.一个输入流和一个输出流

9、软件需求分析报告的作用不包括(C)。

A.软件验收的依据B.用户与开发人员对软件要有共同理解

C.软件可行性研究的依据D.软件设计的依据

1、内聚性是对模块功能强度的度量,内聚性较强的是(C)。

A.偶然内聚B.逻辑内聚C.功能内聚D.信息内聚

A.软件结构B.软件过程C.软件模型D.软件模块

3、能反映出软件结构的是(D)。

A.数据流图B.判定树C.判定表D.软件程序结构图

5、软件设计是一个把(D)转换为软件表示的过程。

A.代码设计B.软件需求C.详细设计D.系统分析

7、概要设计阶段产生的文档不包括(C)。

A.概要设计说明书B.数据库设计说明书C.用户手册D.开发进度月报

9、结构化设计是一种面向(A)的设计方法。

A.数据流B.模型C.数据结构D.程序

11、软件详细设计阶段的任务是(A)。

A.算法设计B.功能设计C.调用关系设计D.输入/输出设计

12、模块内聚度越高,说明模块内各成分彼此结合的程度越(B)。

A.松散B.紧密C.无法判断D.相等

13、详细设计与概要设计衔接的图形工具是(D)

A.DFD图B.程序图C.PAD图D.SC图

15、下面说法不正确的是(B)。

A.流程图不易表示数据结构B.流程图容易造成非结构化的程序结构

C.流程图支持逐步求精D.流程图描述的是程序的逻辑结构

1、E—R图中的联系可以与___C____实体有关。

A.0个B.1个C.1个或者多个D.多个

3、数据流程图是用于描述结构化方法中__C____阶段的工具。

A.可行性分析B.详细设计C.需求分析D.程序编码

5、数据流图是在数据库__C___阶段完成的

A.逻辑设计B.物理设计C.需求分析D.概念设计

7、E-R图是数据库设计的工具之一,它适用于建立数据库的__A___。

A.概念模型B.逻辑模型C.结构模型D.物理模型

9、在关系数据库设计中,关系数据模型是_C_的任务。

A.需求分析阶段B.概念设计阶段C.逻辑设计阶段D.物理设计阶段

15、一个学生可以同时借阅多本书,一本书只能由一个学生借阅,学生和图书之间为_B_联系。

A.一对一B.一对多C.多对多D.多对一

17、下列有关E-R模型向关系模型转换的叙述中,不正确的是__C___。

A.一个实体模型转换为一个关系模式

B.一个1:

1联系可以转换为一个独立的关系模式,也可以与联系的任意一端实体所对应的关系模式合并

C.一个1:

n联系可以转换为一个独立的关系模式,也可以与联系的任意一端实体所对应的关系模式合并

D.一个m:

n联系转换为一个关系模式

19、数据库设计人员和用户之间沟通信息的桥梁是____B___。

A.程序流程图B.实体联系图C.模块结构图D.数据结构图

21、在关系数据库设计中,设计关系模式是(B)的任务。

A.需求分析阶段B.概念设计阶段C.逻辑设计阶段D.物理设计阶段

23、从E-R模型向关系模型转换时,一个M:

N联系转换为关系模式时,该关系模式的关键字是(B)。

A.M端实体的关键字B.N端实体的关键字

C.两端实体关键字的组合D.重新选取其他属性

25、数据流图(DFD)是用于数据库设计过程中(B)阶段的工具。

A.可行性分析B.需求分析C.概念结构设计D.逻辑结构设计

1、下面说法正确的是(C)。

A.经过测试没有发现错误说明程序正确

B.测试的目标是为了证明程序没有错误

C.成功的测试是发现了迄今尚未发现的错误的测试

D.成功的测试是没有发现错误的测试

3、实际的逻辑覆盖测试中,一般以(C)为主设计测试用例。

A.条件覆盖B.判定覆盖C.条件组合覆盖D.路径覆盖

5、与确认测试阶段有关的文档是(A)。

A.需求分析报告B.概要设计说明书C.详细设计说明书D.源程序

7、(B)方法需要考察模块间的接口及模块之间的联系。

A.单元测试B.集成测试C.确认测试D.系统测试

1、下列属于维护阶段的文档是(C)。

A.需求分析报告B.用户操作手册C.软件问题报告D.软件测试分析报告

3、在整个软件维护阶段所花费的全部工作中,(C)所占比例最大。

A.校正性维护B.适应性维护C.完善性维护D.预防性维护

5、软件维护的困难主要原因是(C)。

A.费用低B.人员少C.开发方法的缺陷D.维护难

A.可用性B.可靠性c.正确性D.完整性

7、(D)这种维护性活动数量较大,占整个维护活动的50%

A.改正性维护B.适应性维护C.预防性维护D.完善性维护

 

四、判断题

1、概念设计可以独立于数据管理系统(√)。

3、逻辑设计可以独立于数据库管理系统(√)。

5、为了提高查询的速度,在设计关系的时候,可以考虑把经常查询的属性放在一个关系里,而把很少用到的属性放在另一个关系里(╳)。

7、数据库及其应用系统开发的全过程可分为两大分阶段:

数据库系统的分析与设计阶段;

数据库系统的实施,数据库系统的运行和维护阶段(√)。

9、当把E/R图中的联系转换成关系时,若1对n联系,则1端实体的键码为连接关系的键码(╳)。

1、软件测试的目的是尽可能多的找出软件的缺陷(√)。

3、验收测试是由最终用户来实施的(╳)。

5、单元测试能发现约80%的软件缺陷(√)。

7、自底向上集成需要测试员编写驱动程序(╳)。

9、测试人员要坚持原则,缺陷未修复完坚决不予通过(╳)。

11、我们可以人为的使得软件不存在配置问题(╳)。

13、好的测试员不懈追求完美(╳)。

15、不存在质量很高但可靠性很差的产品(√)。

17、静态白盒测试可以找出遗漏之处和问题(√)。

19、可以发布具有配置缺陷的软件产品(√)。

21、所有软件都有一个用户界面,因此必须测试易用性(╳)。

五、简答题

1、可行性研究的任务有哪些?

包括:

(1)技术可行性;

(2)经济可行性;

(3)社会可行性;

(4)法律可行性分析;

(5)资源可行性;

(6)操作可行性等。

3、可行性研究包括哪些步骤?

(1)确定项目的目标;

(2)分析目前运行的系统;

(3)设计新项目的总体框架;

(4)提出可行的解决方案;

(5)选择合适的解决方案;

(6)撰写可行性分析报告。

5、成本/效益分析的目的是什么?

可用哪些指标进行度量?

因此成本估算,不可能十分准确,况且项目还未开发成功,环境和条件也不断变化,估算的准确性仅取决于本项目,还要凭借开发人员对过去开发软件系统的历史数据的经验积累,历史数据越充分,估算新开发项目时所采用的估算指标才能越接近于实际情况。

7、开发成本估算主要有哪些方法和技术?

估算方法:

(1)自顶向下估算方法;

(2)自底向上估算方法;

(3)差别估算方法;

(4)算式估算法;

(5)经验估算模式。

估算技术:

代码行技术和功能点技术。

1、软件需求分析的任务是什么?

需求分析要回答的问题是:

“做什么”。

需求分析是在可行性分析的基础上,将用户对系统的描述,通过开发人员的分析概括,抽象为完整的需求定义,再形成一系列文档的过程。

3、常规的需求获取的方式有哪些?

你认为比较有效的方式是哪种?

请说明理由。

可行性分析报告、用户需求报告、实际调研等,

5、结构化分析建模常用的描述工具有哪些?

请说明各自的特点。

结构化分析方法的基本思想是“分解”和“抽象”。

常用的描述工具有:

数据流图、数据字典等。

7、为什么数据流图要分层?

画分层数据流图一般需要注意什么?

数据流图采用的是“自顶向下,由外到内,逐层分解”的思想,开发人员要先画出系统顶层的数据流图,然后再逐层画出低层的数据流图。

顶层的数据流图要定义系统范围,并描述系统与外界的数据联系,它是对系统架构的高度概括和抽象。

底层的数据流图是对系统某个部分的精细描述。

好处是结构明确、层次清晰、便于变更、修改。

越是底层,越应细致。

1、架构设计的因素包括哪些?

影响系统架构设计的因素有很多种,一般主要从两个大的方面考虑:

程序的运行结构和源代码的组织结构。

3、逻辑架构的体系模式主要包括哪些?

各有什么优缺点?

逻辑架构是概念层次的架构,使人们可以从整体上对整个系统有一个完整清晰的了解。

软件的逻辑架构规定了软件系统由哪些逻辑元素组成、以及这些逻辑元素之间的关系。

软件的逻辑元素一般指某种级别的功能模块,大到逻辑层,以及子系统、模块,小到一个个的类。

至于具体要分解到何种大小的功能模块才可结束软件架构设计,并不存在一个“一刀切”的标准——只要足够明确简单,能够开发即可。

5、如何理解模块的独立性?

用什么指标来衡量模块的独立性?

模块独立性指每个模块只完成系统要求的独立的子功能,并且与其他模块的联系最少且接口简单。

模块独立性是指模块内部各部分及模块间的关系的一种衡量标准,由内聚和耦合来度量。

7、简述变换分析的基本步骤。

变换分析是一种推导初始结构图的方法,一般讲效果很好,只需对初始结构图稍加修改往往能得到最终设计。

变换设计的具体步骤:

(1)确定DFD中的变换中心、逻辑输入和逻辑输出。

(2)设计软件结构的顶层和第一层——变换结构。

变换中心确定以后,就相当于决定了主模块的位置,这就是软件结构的顶层。

其主要功能是主要完成所有模块的控制,它的名字应该是系统名称,以体现完成整个系统的功能。

主要模块确定后,设计软件结构的第一层。

第一层一般至少有三种功能的模块:

输入、输出和变换模块。

(3)设计中、下层模块。

对第一层的输入、输出、变换模块自顶向下逐层分解。

开始设计出的软件结构仅仅是初始结构,还必须根据设计准则对初始结构精细和改进。

9、软件详细设计的主要任务是什么?

主要任务有:

(1)为每个模块设计算法,选择某种适当的工具表达算法的过程,详细描述算法过程。

(2)确定每个模块使用的数据结构,为以后的编写程序做好充分的准备。

(3)确定模块接口的细节,包括对系统外部的接口和用户界面,对系统内部其他模块的接口,以及模块输入数据、输出数据及局部数据的全部细节。

在详细设计结束时,应该把上述结果写入详细设计说明书,并且通过复审形成正式文档,交付作为下一阶段(编码阶段)的工作依据。

11、详细设计的工具有哪几类?

请比较它们的优缺点?

详细设计过程常用三类方法,即图形方法、表格方法和语言方法。

图形方法:

利用图形工具可以把过程的细节用图形描述出来。

表格方法:

可以用一张表来描述过程的细节,在这张表中列出了各种可能的操作和相应的条件。

语言方法:

使用过程设计语言(称之为伪码)来描述过程的细节。

它们的基本要求都是能提供对设计的无二异性表述。

都应能指明控制流程、处理功能、数据组织及实现细节,从而在编码阶段能把它们直接翻译成程序代码。

13、目前流行的详细设计的工具主要有哪三种?

(1)程序流程图;

(2)N-S结构流程图;

(3)过程设计语言PDL。

1、用户界面的设计目标是什么?

用户界面设计的总体目标,第一是增加软件系统的可用性;

第二是提高界面的友好性。

应该达到的目标:

操作简单,易学,易掌握;

界面美观,操作舒适;

快速反应,相应合理;

用于通俗易懂,语义一致。

3、Web界面有哪些类型?

Web界面的主要形式一般有下面几种:

(1)信息查询类界面;

(2)大众媒体类界面;

(3)宣传窗口类界面;

(4)电子商务类界面;

(5)交流平台类界面。

5、Web界面设计技术包括哪些?

(1)超文本标记语言HTML;

(2)用户端脚本语言JavaScript;

(3)JavaApplet;

(4)服务器端脚本语言,常见的服务器端脚本语言有php,jsp,asp等;

(5)Web3D技术;

(6)Web语音交互技术;

(7)Web界面设计工具,常用的有Photoshop、Dreamwaver和Fireworks。

7、简要回答用户界面设计的原则。

(1)Web界面设计的3C原则,包括:

界面简洁性,界面一致性,面对比度;

(2)内容与形式的统一原则;

(3)减少浏览层次原则;

(4)特点明确原则;

(5)统一整体的形象原则。

1、程序语言有哪些共同特征?

能被机器识别,并能依据程序完成预定的操作。

3、第4代语言(4GL)有哪些主要特征?

第4代语言,将普通高级语言的程序结构、数据结构的表示文法抽象到一个新的高度,软件设计者只需说明“做什么”,而不需更多的描述算法细节。

5、什么是程序设计风格?

为了具有良好的设计风格,应注意哪些方面的问题?

良好的风格,其具体表现主要是:

源程序文档化、数据说明的方法、语句结构和输入/输出方法等。

应注意哪些方面的问题(略)。

7、评价、选择编程语言的准则是什么?

(1)网络通信能力;

(2)可扩充性、可移植性;

(3)数据处理的能力;

(4)语言的普及程度、用户的操作水平等。

9、什么是程序效率?

其准则有哪些?

程序效率主要体现在代码效率、存储效率、输入输出效率等方面。

应遵循以下准则:

(1)编码效率应以用户需求为前提,而不能仅仅以人力、时间、速度为标准;

(2)良好的编码,可以提高软件整个生存周期的效率;

(3)应依据系统设计,遵循编码规则,确保编码的正确、清晰和可读性。

11、编程语言从心理学角度应具有什么特性?

(1)易于实现;

(2)便于修改;

(3)扩充简便。

13、举例说明编程语言对软件工程的各个步骤的影响。

(删除)

15、提高编程效率应从哪些方面着手?

(1)代码效率;

(2)存储效率;

(3)输入输出效率等。

16

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

当前位置:首页 > 小学教育 > 其它课程

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1