软件系统开发技术答案13Word文件下载.docx
- 文档编号:19006643
- 上传时间:2023-01-03
- 格式:DOCX
- 页数:25
- 大小:148.12KB
软件系统开发技术答案13Word文件下载.docx
《软件系统开发技术答案13Word文件下载.docx》由会员分享,可在线阅读,更多相关《软件系统开发技术答案13Word文件下载.docx(25页珍藏版)》请在冰豆网上搜索。
10.以下哪一项对模块耦合性没有影响( D )
A.模块间接口的复杂程度
B.调用模块的方式
C.通过接口的信息
D.模块内部各个元素彼此之间的紧密结合程度
二、填空题(本大题共10小题,每空2分,共20分)
1.数据流图描绘数据在系统中___流动和处理_______的过程。
P40
2.为了便于对照检查,测试用例应由输入数据和预期的__输出结果(输出数据)____两部分组成。
P162
3.面向对象分析的目的是对_____目标系统______进行建模。
4.结构化方法总的指导思想是__自顶向下_____逐层分解。
5.在一段程序中,将多次出现的一组语句设计为一个子程序,供多个部分调用,这种情况出现的内聚称为___偶然内聚_____。
6.用来模拟被测模块的上级调用模块的模块称为__驱动模块_____
7.一个模块的作用域指受该模块内一个__判定____影响的所有模块的集合。
8.在用况图中,关联是参与者和用况(USECASE)之间的唯一关系。
9.RUP的突出特点是一种以用况(UseCase)为驱动的、以体系结构为中心的、迭代增量式开发。
10.在RUP中,规定了四个开发阶段:
初始阶段、精化阶段、构造阶段和移交阶段。
三、名词解释题(本大题共6小题,每小题3分,共18分)
1.软件生存周期模型
答:
从概念上来讲,软件生存周期模型是一个包括软件产品开发、运行和维护中有关过程、活动和任务的框架,覆盖了从该系统的需求定义到系统的使用终止。
从应用的角度来说,软件生存周期模型为组织软件开发活动提供了有意义的指导。
2.系统模型
简单地说,模型是任一抽象,其中包括所有的基本能力、特性或一些方面,而没有任何冗余的细节。
进一步地说,模型是在特定意图下所确定的角度和抽象层次上对物理系统的描述,通常包含对该系统边界的描述,给出系统内个模型元素以及它们之间的语义关系。
3.白盒测试法
该方法把测试对象看作一个打开的盒子,测试人员须了解程序的内部结构和处理过程,以检查处理过程的细节为基础,对程序中尽可能多的逻辑路径进行测试,检查内部控制结构和数据结构是否有错,实际的运行状态与预期的状态是否一致。
白盒法也不可能进行穷举测试。
4.信息隐蔽
信息隐蔽是指在每个模块中所包含的信息(包括具有特定语义的数据和处理过程)不允许其他不需要这些信息的模块访问。
5.测试用例
为了发现程序中的故障而专门设计的一组或多组测试数据。
6.类
类是一组具有相同属性、操作、关系和语义的对象的描述。
四、简答题(本大题共5小题,每小题6分,共30分)
1.简述演化模型以及可适应的情况,为什么?
简述演化模型如图所示:
演化模型主要是针对事先不能完整定义需求的软件开发。
在用户提出待开发系统的核心需求的基础上,软件开发人员按照这一需求,首先开发一个核心系统,并投入运行,以便用户能够有效地提出反馈,接着,软件开发人员根据用户的反馈,实施开发的迭代过程。
2.结构化分析方法为了表达系统模型,给出了几个基本概念?
它们是如何表示的?
结构化分析方法给出了5个术语:
数据流:
加工,数据存储、数据源、数据潭,
数据流是数据的流动,数据流表示为
加工是对数据进行变换的单元,即它接受输入的数据,对其进行处理,并产生输出。
数据存储是数据的静态结构。
数据源是数据流的起点;
数据潭是数据流的归宿地。
数据源和数据潭是系统之外的实体,可以是人、物或其他软件系统。
表示。
3.简述衡量模块独立性的两个标准及其含义。
衡量模块的独立性的标准是两个定性的度量标准:
耦合性和内聚性。
(1)耦合性。
也称块间联系。
指软件系统结构中各模块间相互联系紧密程度的一种度量。
模块之间联系越紧密,其耦合性就越强,模块的独立性则越差。
模块间耦合高低取决于模块间接口的复杂性、调用的方式及传递的信息。
(2)内聚性。
又称块内联系。
指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量。
若一个模块内各元素(语句之间、程序段之间)的联系越紧密,则它的内聚性就越高。
耦合性与内聚性是模块独立性的两个定性标准,将软件系统划分模块时,尽量做到高内聚低耦合,提高模块的独立性,为设计高质量的软件结构奠定基础。
4.说明用况之间有哪几种关系,说明每种关系的含义。
用况之间可以具有三种关系,即泛化、扩展和包含。
泛化:
泛化是用况之间的一般/特殊关系。
USECASEA到USECASEB的泛化,指出A是B的特殊情况。
扩展:
记为《extend》,USECASEA到USECASEB的一个扩展关系,指出了USECASEB的一个实例可以由A说明的行为予以扩展(根据该扩展所说明的特定条件),并依据该扩展点定义的位置,A说明的行为被插入到B中。
包含:
记为《include》,USECASEA到USECASEB的一个包含,指出A的一个实例将包含B说明的行为,即这一行为将包含在A定义的那部分中。
5.结构化设计中总体设计和详细设计的目标和任务是什么?
结构化设计分为总体设计和详细设计。
总体设计的目标是:
建立系统的模块结构,即系统实现所需要的软件模块—系统中可标识的软件成分,以及这些模块之间的调用关系。
总体设计的具体任务是:
将DFD转化为MSD
详细设计的目标是将总体设计阶段所产生的系统高层结构,映射为以这些术语所表达的低层结构,也是系统的最终结构。
详细设计的主要任务是:
给出软件模块结构中各个模块的内部过程描述,也就是模块内部的算法设计。
五、应用题(本大题共2小题,第1小题10分,第2小题12分,共22分)
1.根据下列变换型的数据流图,设计出初始软件结构图。
2.下列是某程序的N-S图
L2
L1
T
F
S1
S3
S2
S4
L3
(1)请将其转换成PAD图
(2)请将其转换成伪码表示。
(1)PAD图
(2)
伪码表示:
begin
ifL1then
BeginS1;
whileL2do
beginS2;
ifL3thenS3
elseS4;
end
elseS5;
end;
软件系统开发技术试题
(二)
1.以下哪个软件生存周期模型是一种风险驱动的模型( C )
2.结构化分析建立功能模型的工具是( B )
A.DFDB.判定树/判定表
C.DDD.结构化语言
3.模块中所有成分结合起来完成一项任务,该模块的内聚性是( A )
A.功能内聚B.顺序内聚
C.通信内聚D.逻辑内聚
4.以下哪一项对模块耦合性没有影响( D )
5.检查软件产品是否符合需求定义的过程称为( A )
A.确认测试B.集成测试
C.系统测试D.单元测试
6.下面关于详细设计的叙述中,错误的是( B )
A.程序流程图可以描述结构化程序B.程序流程图不能描述结构化程序
C.NS图描述的程序一定是结构化的D.PAD图描述的程序一定是结构化的
7.集成测试是为了发现( A )
A.接口错误B.编码错误
C.性能、质量不合要求D.功能错误
8.结构化程序设计,主要强调的是( C )
A.程序的执行效率B.模块的内聚
C.程序的可理解性D.模块的耦合
9.下面关于文档的叙述,错误的是( A )
A.文档是仅用于说明使用软件的操作命令,不包括软件设计和实现细节
B.文档是软件产品的一部分,没有文档的软件就不成为软件
C.高质量文档对于转让、变更、修改、扩充和使用有重要的意义
D.软件文档的编制在软件开发工作中占有突出的地位和相当大的工作量
10.面向对象开发方法中,将在面向对象技术领域内占主导地位的标准建模语言是( C )
A.Booch方法B.Coad方法
C.UML语言D.OMT方法
二、填空题(本大题共10小题,每小题2分,共20分)
1.为了克服软件危机,1968年北大西洋公约组织的工作会议上首先提出了____软件工程___的概念。
2.变换型数据流图是由输入、_____变换(或处理)__、数据加工(中心变换)______和输出三部分组成的。
3.软件产品在交付使用之前一般要经过______单元测试______、集成测试、确认测试和系统测试。
4.子类自动共享父类数据结构和方法的机制是_____继承性____,这是类之间的一种关系。
5.G.J.Myers提出:
软件测试是为了发现__程序错误____而执行程序的过程。
6.状态图反映了状态与_____事件与状态____________的关系。
7.两个或两个以上的模块共同引用一个全局数据项,这种耦合被称为公共耦合。
8.用况之间可以具有三种关系,即泛化、扩展和包含。
三、名词解释题(本大题6小题,每小题3分,共18分)
1.软件工程
软件工程定义为:
软件工程是应用计算机科学理论和技术以及工程管理原则和方法,按预算和进度实现满足用户要求的软件产品的工程,或以此为研究对象的学科。
2.软件生存周期
软件生存周期是软件产品或系统的一系列相关活动的全周期。
从形成概念开始,历经开发、交付使用、在使用中不断修订和演化,直到最后被淘汰,让位于新的软件产品”。
3.用况
用况(usecase)是对一组动作序列的描述,系统执行这些动作应产生对特定的参与者有值的、可观察的结果。
4.软件需求分析:
就软件需求分析而言,即为:
系统化地使用问题域术语,给出该问题的模型
5.模块化:
把一个待开发的软件分解成若干简单的、具有高内聚低耦合的模块,这一过程称为模块化。
6.类的操作
操作是服务的一个实现,由该类的任意对象为其行为所要求的。
1.简述瀑布模型以及可适应的情况,为什么?
瀑布模型如图所示:
(1)软件生存周期分为若干规定阶段并规定了各开发阶段的活动,项目的开发依次经过:
需求、设计、编码和单元测试、集成以及维护—这一基本路径。
(2)在每一阶段提交以下产品:
软件需求规约、设计文档、实际代码、测试用例、最终产品等。
工作产品(又称可提交的产品)流经“正向”开发的基本步骤路径。
(3)“反向”步骤流表示对前一个可提交产品的重复变更(又称为“返工”)。
瀑布模型可适应的情况
在开发中,向下、渐进的路径占支配地位。
也就是说,需求已被很好地理解;
过程设计人员也很清楚:
开发组织非常熟悉为实现这一模型所需要的过程(或经过培训后,熟悉什么时候来支持这一项目,以实现这一模型所需要的过程)。
2.数据字典的作用是什么,它有哪些条目?
数据字典,主要用来描述数据流程图中的数据流、数据存储、处理过程和和数据源点/终点。
作用:
数据流程图描述了系统的逻辑结构,其中的四个基本图形元素的含义无法在数据流程图中详细说明,因此数据流程图需要与其他工具配合使用,数据字典就是这样的工具之一。
包括的条目:
数据流词条,数据元素词条,数据存储词条,数据加工处理词条,数据源点及终点词条
3.简述结构化设计中总体设计的任务,说明实现该任务的基本步骤。
总体设计的具体任务是:
基本步骤
(1)将系统的DFD图转化为初始的模块结构图MSD
变换型数据流图—变换设计
事务型数据流图—事务设计
(2)基于“高内聚低耦合”这一软件设计原理,通过模块化,将初始的模块结构图转化为最终的、可供详细设计使用的模块结构图
4.简述结构化程序设计方法的基本要点。
(1)采用自顶向下,逐步求精的程序设计方法
(2)使用三种基本控制结构构造程序,分别是顺序,选择和循环(3)采用主程序员组的组织形式(4)采用单入口单出口的模块形式。
5.简述面向对象中的继承性和多态性。
继承性。
继承性是子类自动共享父类数据结构和方法的机制,这是类之间的一种关系。
在定义和实现一个类的时候,可以在一个已经存在的类的基础之上来进行,把这个已经存在的类所定义的内容作为自己的内容,并加入若干新的内容。
.
继承性是面向对象程序设计语言不同于其他语言的最主要的特点,是其他语言所没有的。
在类层次中,子类只继承一个父类的数据结构和方法,则称为单重继承。
在类层次中,子类继承了多个父类的数据结构和方法,则称为多重继承o
多态性(多形性)。
多态性是指相同的操作或函数、过程可作用于多种类型的对象上并获得不同结果。
不同的对象,收到同一消息可以产生不同的结果,这种现象称为多态性。
多态性允许每个对象以适合自身的方式去响应共同的消息。
这样就增强了操作的透明性、可理解性和可维护性。
用户不必为相同的功能操作但作用于不同类型的对象而费心去识别。
1.一个软件公司有许多开发部门,每个部门由部门名字唯一确定。
每个开发部门开发多个软件产品。
开发部门有许多员工,分为经理和开发人员。
每个开发人员可参加多个开发项目,每个开发项目需要多个开发人员,开发人员使用语言开发项目。
每位经理可主持多个开发项目。
请在该公司的对象模型中填入相应的名称。
软件公司
部门名
1..*
语言
开发
有
参加
主持
开发部门
开发项目
员工
开发人员
经理
2.某个程序的伪码如下:
(1)将其转换为PAD图;
(2)将其转换为N-S图;
(3)N-S图
软件系统开发技术试题(三)
1.软件生存周期中,准确地确定软件系统必须做什么的阶段是( B )
A.可行性分析和项目开发计划B.需求分析
C.概要设计D.详细设计
2.使用数据流图来表示系统逻辑模型的是( D )
A.JacksonB.VDM
C.OOAD.SA
3.用于描述结构化分析中数据流加工逻辑的是( A )
A.判定树B.ER图
C.状态图D.用例图
4.若一个模块中各个处理元素都密切相关于同一功能且必须顺序执行,前一功能元素的输出就是下一功能元素的输入,则该模块的内聚性类型是( C )
A.时间内聚B.偶然内聚
C.顺序内聚D.功能内聚
5.下列几种耦合类型,耦合性最高的是( A )
A.公共耦合B.控制耦合
C.标记耦合D.数据耦合
6.程序流程图的优点不包括( B )
A.历史最悠久,使用最广泛B.容易表示逐步求精的过程
C.支持程序的三种基本控制结构D.直观清晰,易于使用
7.确认测试也称为( A )
A.有效性测试B.无效性测试
C.静态测试D.动态测试
8.黑盒测试技术不包括( B )
A.等价类划分B.路径覆盖
C.边界值分析D.错误推测
9.瀑布模型与增量模型之间的本质区别是( B )
A.瀑布模型属于非整体开发模型,增量模型属于整体开发模型
B.瀑布模型属于整体开发模型,增量模型属于非整体开发模型
C.瀑布模型容易适应需求变化,增量模型不容易适应需求变化
D.瀑布模型减少技术、应用风险,增量模型增大技术、应用风险
10.面向对象分析中,对象模型描述了系统的( A )
A.静态结构B.动态结构
C.控制结构D.顺序结构
1.结构化分析方法是一种面向_数据流____的开发方法。
2.过程设计语言是用于描述模块___算法设计_____和处理细节的语言。
3.描述加工逻辑一般用以下三种工具:
结构化语言、判定表和___判定树_________。
4.若某个加工将它的输入流分离成许多发散的数据流,形成许多加工路径,并根据输入的值选择其中一个路径执行,这种特征的DFD称为____事务性________的数据流图。
5.测试用例应由输入数据和___输出数据____________两部分组成。
6.测试的模块往往不是独立程序,需要为被测试模块设计若干辅助模块,其中用来模拟被测模块的下级调用模块称为_____桩模块_____模块。
7.RUP的突出特点是一种以用况(UseCase)为驱动的、以体系结构为中心的、迭代增量式开发。
8.RUP的迭代增量式开发,是演化模型的一个变体
9.在RUP中,规定了四个开发阶段:
10.PAD图是日本日立公司提出的一种_详细设计_____工具。
三、名词解释(本大题共6小题,每小题3分,共18分)
1.软件需求:
需求是一个“要予构造”的陈述,描述了待开发产品(或项)功能上的能力、性能参数或者其他性质。
2.数据字典:
简称DD,就是用来定义数据流图中的各个成分具体含义的,它以一种准确的、无二义性的说明方式为系统的分析、设计及维护提供了有关元素的一致的定义和详细的描述.
3.模块化
所谓模块化是指按照“高内聚低耦合”的设计原则,形成一个相互独立但又有较少联系的模块结构的过程,使每个模块具有相对独立的功能/过程。
4.测试覆盖率
测试覆盖率定量地描述了一个或一组测试的效率(或称测试完成程度)。
几种测试覆盖存在以下基本关系:
语句覆盖≤分支覆盖≤条件组合覆盖≤⋯⋯≤路径覆盖
5.模块的控制域
模块的控制域是指这个模块本身以及所有直接或间接从属于它的模块的集合。
6.过程成熟度
一个特定软件过程被明确和有效地定义、管理、测量和控制的程度。
1.简述需求的基本性质
需求必须具有5个基本性质:
必要的(Necessary)。
是要求的吗?
无歧义的(Unambiguous)。
只能用一种方式解释吗?
可测试的(testable)。
可以对它进行测试吗?
可跟踪的(Traceable)。
可以从一个开发阶段到另一个阶段对它进行跟踪吗?
可测量的(Measurable)。
可以对它进行测量吗?
2.以结构化分析方法建立的系统模型由哪些部分组成?
每一部分的基本作用是什么?
结构化分析方法给出了一种表达功能模型的工具,即数据流图(dataflowdiagram),简称DFD图。
数据流图就是一种表达待建系统功能模型的工具。
数据字典:
依据系统的数据流图,定义其中包含的所有数据流和数据存储的结构,直到给出构成以上数据的各数据项的基本数据类型。
加工小说明:
依据系统的数据流图,给出其中每一加工的小说明。
对DFD中的每一加工只需给出加工的输入数据和输出数据之间的关系,即从外部来“视察”一个加工的逻辑。
3.说明用况之间有哪几种关系,说明每种关系的含义。
4.结构化设计中总体设计和详细设计的目标和任务是什么?
5.简述测试过程模型。
测试过程模型如图所示:
环境
被测对象
人员素质
被测对象模型
测试执行
正确?
环境模型
错误模型
正确
环境模型是对程序运行环境的抽象。
对象模型是从测试的角度对程序的抽象。
错误模型是对错误及其分类的抽象。
五、应用题(本大题共2小题,第1小题12分,第2小题10分,共22分)
1.根据下列事务型的数据流图,设计出初始软件结构图。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 系统 开发 技术 答案 13