软件工程复习题.docx
- 文档编号:27876828
- 上传时间:2023-07-05
- 格式:DOCX
- 页数:39
- 大小:214.51KB
软件工程复习题.docx
《软件工程复习题.docx》由会员分享,可在线阅读,更多相关《软件工程复习题.docx(39页珍藏版)》请在冰豆网上搜索。
软件工程复习题
该习题答案由学生完成,仅供参考。
象声词同学们能独立完成习题!
《软件工程》习题
第一章习题
1、计算机软件系统4个不同的发展阶段是:
程序设计、程序系统、软件工程、面向对象阶段。
2、软件危机发生在那个阶段?
主要指哪两方面的问题?
程序系统阶段
原因:
1、如何开发软件,以满足对软件日益增长的需求。
2、如何维护数量不断膨胀的已有软件。
3、软件危机有几方面的典型表现?
、对软件开发成本和进度的估计常常很不准确
、用户对“已完成的”的软件系统不满意的现象经常发生
、软件产品的质量往往靠不住
、软件常常是不可维护的
、软件通常没有适当的文档资料
、软件成本在计算机系统总成本中所占的比例逐年上升
、软件开发效率提高的速度,远远跟不上计算机应用迅速普及及深入的趋势
4、软件危机产生的原因是与软件本身的特点有关、软件开发与维护的方法不准确有关
5、软件是程序、数据、相关文档的完整集合。
6、如何解决软件危机?
、一个软件必须是由一个完整的配置组成,事实上,软件是程序,数据及相关文档的完整集合
、要充分认识到软件开发应该是一种组织良好、管理严密、各类人员协同合作、共同完成的工程项目
、推广使用在实践中总结出来的开发软件的成功的技术和方法
、应该开发和使用良好的开发软件工具
、总之,为了解决软件危机,既要有必要的技术措施又要有必要的组织管理措施
7、软件工程的定义?
(以教材定义为准)
采用工程的概念、原理、技术和方法来开发和维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护他,这就是软件工程。
8、软件工程的本质特征有、、、、、和。
关注大型程序的构造、中心课题是控制复杂性、软件经常变化、开发软件的效率非常重要、和谐地合作是开发软件的关键、软件必须有效地支持它的用户和由具有一种文化背景的人替另一种文化背景的人创造产品
9、软件工程的基本原理有、、、、、和。
用分阶段的生命周期计划严格管理、坚持进行阶段评审、实行严格的产品控制、采用现代程序设计技术、结果应能清楚地审查、开发小组的人员应该少而精和承认不断改进软件工程实践的必要性。
10、软件工程学的三个基本要素是方法、工具、过程
11、软件工程学分为传统方法学和面向对象的方法学两大类。
前者强调自顶向下顺序的完成软件开发的各阶段任务,而后者强调多次反复迭代的演化过程
12、软件工程学中的面向对象的方法学有四个基本要点。
它们是对象、类、系统、消息。
把对象作为融合了数据及数据上的操作行为的统一软件构件、把所有对象都划分成类、按照父类与子类的关系把若关干个相关类组成一个层次结构的系统、对象彼此间仅能发送消息互相联系。
13、什么是软件生命周期?
软件从生产到软件报废的过程
14、软件生命周期划分为几个时期几个阶段?
各阶段主要任务是什么?
软件定义、软件开发、软件为维护3个时期组成。
软件定义:
问题定义,可行性研究,需求分析;
软件开发阶段:
总体设计,详细设计、编码和单元测试,综合测试;
软件维护:
使软件持久地满足用户的需求
15、软件生命周期中的软件维护分为几大类?
哪类维护所占比重最大?
改正性维护,适应性维护,完善性维护,预防性维护
完善性维护占比重最大
16、什么是软件过程?
其任务集合主包括哪些内容?
软件过程是为了获得高质量软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。
包括一组软件工程任务、里程碑和应该交付的产品。
17、瀑布模型、快速原型模型、增量模型、螺旋模型和喷泉模型格有什么特点和优缺点?
1、瀑布模型:
特点:
、阶段间具有顺序性和依赖性
、推迟实现的观点
、质量保证的观点
优点:
可强迫开发人员采用规范的方法;严格的规定了每个阶段必须提交文档;要求每个阶段的交出的所有产品必须经过质量保证小组的仔细验证
缺点:
瀑布模型是由文档驱动的是瀑布模型的主要缺点
2、快速还原模型:
特点:
快速还原模型是快速建立起来的可直接在计算机上运行的程序,他所能完成的功能是最终产品的一个子集
优点:
软件产品的开发基本上是线性顺序进行的
缺点:
一旦需求确定了需求,原来的需求将被抛弃
3、增量模型:
优点:
逐步增加产品功能可以使用户有比较充裕的时间学习和适应新产品,从而减少一个全新的软件可能给客户组织带来的冲突
缺点:
、把每个新的增量构件集成到现有的软件体系结构中时,必须不破坏原来已经开发出来的产品。
、必须把软件的体系结构设计得便于按这种方式进行扩充,向现有产品中加入新构件的过程必须简单,方便,也就是说,软件体系结构必须是开放的
、从某种意义上来说,增量模型是自相矛盾的
4、螺旋模型
优点:
、对可选方案和约束条件的强调有利于已有软件的重用,也有助于把软件质量作为软件开发的一个项目指标;
、减少过多测试或测试不足所带来的风险
、在螺旋模型中维护只是模型的另一个周期,在维护和开发之间的并没有什么区别
5、喷泉模型
喷泉模型体现了面向对象软件开发过程迭代和无缝的特性
18、为什么说喷泉模型较好地体现了面向对象软件开发过程中的无缝和迭代特征?
喷泉模型图中的代表不同阶段的圆圈相互重叠,这明确表示两个活动之间的交叠;而面向对象方法在这种概念和表示方法上的一致性,保证了各项开发活动之间的无缝过度。
第二章习题
1、可行性研究的目的是什么?
可行性研究的内容是什么?
确定问题是否值得去解决
技术、经济、操作、法律等的可行性
2、可行性研究中对问题的解法可行性包括主要和次要方面。
两者分别包含技术可行性、经济可行性、操作可行性和法律可行性、社会效益可行性几个方面。
3、可行性研究过程主要有、、、、、、和
几个步骤。
复查系统规模和目标、研究目前正在使用的系统、导出新系统的高层逻辑模型、进一步定义问题、导出和评价供选择的解法、推荐行动方针、草拟开发计划和书写文档提交审查几个步骤。
4、可行性研究过程中的第三步“导出新系统的高层次逻辑模型”涉及到现有的物理系统、现有的逻辑模型、目标系统的逻辑模型、新的物理系统模型几种模型。
5、可行性研究过程中的第五步中如何排定问题解法三种可行性的顺序?
技术可行性操作可行性经济可行性
6、系统流程图是描绘物理系统的传统工具。
它用图形符号以黑盒子形式描绘组成系统的每个部件(程序,文档,数据库,人工过程等)。
表达的是数据在系统各部件之间流动情况,而不是对数据进行加工处理的控制过程。
7、系统流程图与程序流程图的异同?
系统流程图表达的是数据在系统各部件之间流动的情况,而不是对数据加工处理的过程;
而程序流程图是指程序指令控制流的流动(即算法描述)
8、系统流程图包含基本符号、系统符号两大类图形符号。
其名称和符号分别是什么?
9、在面对复杂的系统中,比较好的方法是采用什么策略来描述?
分层次地描绘这个系统
10、数据流图是一种技术,它描绘和从输入移动到输出的过程中所经受的。
在数据流图中没有任何具体的,它只是描绘数据在软件中流动和被处理的。
图形化、信息流、数据、变换、物理部件、逻辑过程
11、数据流图的4种基本符号为正方形、圆角矩形、开口矩形、箭头附加符号有星号、加号、
(带圈加号)。
分别代表什么含义?
正方形表示数据的源点或终点;圆角矩形代表变换数据的处理;开口矩形代表数据存储;箭头代表数据流;
星号表示数据流之间是“与”关系;加号表示“或”关系;
号表示只能从中选一个。
12、画数据流图的步骤为
(1)从问题描述中提取数据流图的4种成分
(1)从问题描述中提取数据流图的4种成分
(2)画功能级数据流图
(3)对功能级数据流图中描绘的系统主要功能进一步细化(功能级分解)(4)对处理进行编号。
13、为数据流或数据存储命名要注意哪些?
为处理命名要注意哪些内容?
为数据流命名:
1、名字应代表整个数据流的内容,而不是仅仅反映它的某些成分;
2、不要使用空洞的、缺乏具体含义的名字;
3、如果在为某个数据流起名时遇到困难,则很可能是因为对数据流图分解不恰当造成的,应该试试重新分解,看是否能克服这个困难。
为处理命名:
1、通常先为数据流命名,然后再为与之相关的处理命名;
2、名字应该反映整个处理的功能,而不是他的一部分功能;
3、名字最好有一个工具的及物动词加上一个具体的宾语组成;
4、通常名字中仅包含一个动词,如果必须用两个动词才能描述整个处理的功能,则把这个处理再分解成两个处理可能更恰当;
5、如果在为某个处理命名时遇到困难,则很可能是发现了分解不当的现象,应考虑重新分解。
14、数据流图的作用有
(1)作为交流信息的工具
(2)作为分析和设计的工具。
15、数据流图和数据字典共同构成了系统的逻辑模型。
16、数据字典是关于数据信息的集合,也就是对数据流图中包含的所有元素定义的集合。
涉及到的元素有数据流、数据流分量、数据存储、处理四类。
17、数据字典中定义数据的方法有为对数据自顶向下的分解
18、数据字典中数据元素组成数据方式有顺序、选择、重复和可选使用的图形符号有哪些?
分别代表什么含义?
=等价于、+和、[]或、{}重复、()可选
19、简要叙述数据字典的用途是什么?
作为分析阶段的工具
20、成本估计技术有代码行技术、任务分解技术和自动估计成本技术
第三章习题
1、需求分析是确定系统必须做什么。
其最终成果是需求分析规则说明书。
2、需求分析的任务有确定对系统的综合要求、分析系统的数据要求、导出系统的逻辑模型和修正系统的开发计划
3、需求分析任务中的综合要求包含哪些内容?
数据要求包含哪些内容?
综合要求:
1、功能要求2、性能要求3、可靠性和可用性要求4、出错处理要求
5、接口要求6、约束7、逆向要求8、将来可能提出的要求
数据要求:
1、建立数据模型:
数据流图、E-R图
2、数据规范化描述
4、需求分析过程中与用户沟通获取需求的方法有访谈、面向数据流自顶向下求精、简易的应用规格说明技术和快速建立软件原型。
5、需求分析过程中“面向数据流自顶向下求精”是采用结构化分析方法进行需求分析;“简易的应用规格说明技术”就是一种面向团队需求收集法。
“快速建立软件原型”是最准确、最有效、最强大的需求分析技术。
6、“快速建立软件原型”需求分析技术主要使用了第四代技术、可重用的软件结构和形式化规格说明和原型环境
方法和工具。
7、需求分析过程中的“分析建模”应该建立、和3种模型。
所谓模型由一组和组织这些符号的组成。
数据模型、功能模型和行为模型
图形符号、规则
8、DFD、ER图和状态转换图分别对应、和模型。
功能模型、数据模型和行为模型
9、是分析模型的核心,它描述软件使用或产生的所有数据对象。
数据字典
10、数据模型(ER图)中主要涉及到的信息有、和。
数据对象、属性和联系
11、数据对象的联系可分为、和3种类型。
一对一联系、一对多联系和多对多联系
12、ER图有三种基本成分:
实体,用图形符号表示;关系,用连接相关实体的表示;属性,用表示,并用把实体(或关系)与其属性连接起来。
矩形、菱形框、椭圆形或圆角矩形、直线
13、简述ER图的优点。
ER模型比较接近人的习惯思维方式。
此外,ER模型使用简单的图形符号表示系统分析员对问题域的理解,不熟悉计算机的用户也能理解他,因此ER模型可以作为用户个分析员之间的交流工具。
14、数据规范化主要目的是。
其中第一范式:
每个都必须是原子值,即仅仅是一个简单值而不含内部结构,即列的惟一。
第二范式:
满足第一范式条件,而且每个
属性都由整个关键字决定(而不是由关键字的一部分来决定),即不能有的重复。
第三范式:
符合第二范式的条件,每个非关键字属性都仅由决定,而且一个非关键字属性不能仅仅是对另一个非关键字属性的进一步描述。
较少数据冗余
属性值、非关键字、行、关键字
15、状态转换图是通过描绘系统的及引起系统状态转换的,来表示系统的。
状态、事件、行为
16、状态转换图中的状态主要有、和,分别用用什么图形符号表示?
初态、终态、中间态
初态用实心圆表示,终态用一对同心圆表示,中间态用圆角矩形表示。
17、状态转换图中的状态转换用什么图形符号表示?
其表明了状态转换的方向。
一般要在上面标明触发转换的。
如果未有标明,则表示了。
带箭头的连线、箭头方向、触发转换事件表达式、在源状态的内部活动执行完之后自动触发转换
18、状态转换图中的中间状态由、和组成。
底层为“活动表”,其语法格式为。
状态、状态变量和活动表
事件名(参数表)/动作表达式
19、层次方框图是用来建立模型的。
它用的一系列多层次的框描绘数据的层次结构。
顶层是一个单独的矩形框,它代表完整的;下面的各层矩形框代表这个数据的;最底层的各个框代表组成这个数据的实际(不能再分割的元素)。
数据、树形结构、子集、数据元素
20.比较层次方框图与结构图是的差异。
不同点:
、层次图描绘软件的层次结构,层次方框图描绘的是数据结构
、层次图的方框表示模块或子模块。
层次方框图的方框表示数据结构整体或其子集
、层次图的连线表示调用关系,层次方框图表示组成关系
21、Warnier图和层次方框图类似,Warnier图也用树形结构描绘信息,Warnier图可以表明的逻辑组织,也可以表示特定信息在某一类信息中是有地出现的。
信息、条件
22、IPO图是输入、处理、输出图的简称。
能够方便地描绘输入数据、对数据的处理和输出数据之间的关系。
是显然是建立模型的工具之一(与DFD类似)。
功能模型
23、从、、和方面验证软件需求的正确性。
验证软件需求的方法有、和。
一致性、完整性、现实性和有效性
验证需求的一致性、验证需求的现实性和验证需求的完整性和有效性
第四章习题
1、软件工程中对需求分析进行说明的技术分为、和三类。
分别用、和进行描述。
非形式化、半形式化、形式化
自然语言、数据流图或者是E-R图和基于数学的技术
2、非形式化方法的缺点及形式化方法的优点分别是什么?
非形式化的缺点:
可能产生矛盾、二义性、含糊性、不完整性、抽象层次混乱
形式化方法的优点:
、数学最有用的一个性质是:
他能够简洁的准确的描述物理现象、对象或动作的结果,因此是理想的建模工具
、可以在不同的软件工程活动之间平滑的过度
、它提供了高层确认的手段
3、判断:
使用了形式化的说明技术后就能保证说明的完整性了?
错
4、应用形式化方法的准则有哪些?
、应当选用适当的表示方法
、应该形式化,但不要过分形式化
、应该估算成本
、应该有形式化方法顾问随时提供咨询
、不应该放弃传统的开发方法
、应该建立详细的文档
、不应该放弃质量标准
、不应该盲目依赖形式方法
、应该测试、测试再测试
、应该重用
5、有穷状态机包括、、、和5个部分。
态机J、输入集K、转换函数T、初始状态S和终态集F
6、目前使用的状态转换规则形式为:
++=>。
当前状态[菜单]+事件[所选择的项]+谓词=>下个状态
7、Petri网包括、、和4个元素。
其中位置用代表,转换用表示。
输入函数用由指向的箭头表示,输出函数用由指向
的箭头表示。
它解决了状态转换中的时间问题。
位置P、转换T、输入函数I和输出函数O
圆圈、直线、位置、转换、转换、位置
8、带标记的Petri网中,主要是位置中设置了。
状态转换规则是:
当每个所拥有的权标数从该位置到转换的线数时,就允许转换。
权标、输入位置、大于
9、加入禁止线的Petri网中,用一个而不是用箭头标记的输入线表示禁止线。
状态转换规则是:
当每个输入线上至少有一个权标,而禁止线上的时候,相应的转换才是允许的。
小圆圈、没有权标
10、用Z语言描述的、最简单的形式化规格说明含有、、和4个部分。
给定的集合、状态定义、初始状态和操作
第五章习题
1、从工程管理的角度,可以将软件设计分为阶段和阶段。
从技术的角度,传统的结构化方法将软件设计划分为、、和4部分。
面向对象方法则将软件设计划分为、、和4部分。
概要设计、详细设计
体系结构设计、数据设计、接口设计和过程设计
体系结构设计、类设计/数据设计、接口设计和构件级设计
2、简述总体设计的必要性。
可以站在全局角度上,花较少成本,从较抽象的层次上分析对比多种可能的系统实现方案和软件结构,从而用较低成本开发出较高质量的软件系统
3、是各种设计方案的基础。
总体设计过程分为阶段和阶段,前者确定,后者则确定。
数据流图、系统设计、结构设计、系统具体实现方案、软件结构
4、典型的总体设计过程包括的步骤有哪些?
、设想供选择的方案
、选取合理的方案
、推荐最佳方案
、功能分解
、设计软件结构
、设计数据库
、指定测试计划
、书写文档
、审查和复审
5、在总体设计中要准备组成系统的物理元素清单。
包括哪些内容?
程序、文件、数据库、人工过程和文档
6、在总体设计中书写文档步骤,通常的文档有哪些?
、系统说明
、用户手册
、测试计划
、详细的实现计划
、数据库设计结果
7、总体设计的设计原理有、、、和五个部分。
随着软件工程过程向前进行,其抽象程度随之而。
是抽象的最底层。
模块化、抽象、逐步求精、信息隐藏和局部化和模块独立
减少、源程序
8、简述系统设计采用模块化的优点和模块独立的重要性。
模块化的优点:
(1).采用模块化原理可以使软件结构清晰,不仅容易设计也容易阅读和理解。
(2).模块化使软件容易测试和调试,因而有助于提高软件的可靠性。
(3).模块化能够提高软件的可修改性。
(4).模块化也有助于软件开发工程的组织管理。
模块独立的优点:
、有效的模块化的软件比较容易开发出来
、独立的模块化标胶容易测试和维护
9、模块独立是、、和的直接结果。
模块独立程度的两个定性标准度量是和。
模块化、抽象、信息隐藏和局部化
耦合和内聚
10、耦合是衡量彼此间互相依赖(连接)的紧密程度,内聚是衡量一个各个元素彼此结合的紧密程度。
好的设计方案,应该是由高和低的模块构建的系统结构。
模块、模块内、内聚、耦合
11、按耦合程度由低到高,常见的耦合形式有哪些?
分别对应的模块独立性变化是?
其中公共环境耦合的类型主要包括和。
两者有何区别?
常见的耦合形式有:
数据耦合->控制耦合->特征耦合->公共环境耦合->内容耦合
分别对应的模块独立性变化是:
由强变弱
松散公共耦合、紧密公共耦合,
差异是:
前者一个模块往公共环境送数据另一个模块从公共环境取数据和两个模块既往公共环境送数据又从里面取数据
12、耦合是影响软件程度的一个重要因素,应该采取下述设计原则:
尽量使用耦合,少用耦合和耦合,限制耦合的范围,完全不用耦合。
复杂、数据、控制、特征、、环境、内容、
13、内聚和耦合是密切相关的,模块内的高内聚往往意味着模块间的松耦合。
实践表明内聚更重要,应该把更多注意力集中到提高模块的程度上。
内聚
14、模块内部聚合形式从内聚程度从低到高有哪些?
偶然内聚->逻辑内聚->时间内聚->过程内聚->通信内聚->顺序内聚->功能内聚
15、使用程序流程图确定模块的划分,这样得到的往往是内聚的模块。
根据数据流图划分模块时,通常得到内聚的模块。
过程内聚、顺序内聚
16、在总体设计时提供了哪些启发规则?
、改进软件结构
、模块规模应该适中
、深度、宽度、扇入和扇出都应该适当
、模块的作用域应该在控制域之内
、力争降低模块接口的复杂程度
、设计单入口出口的模块
、模块功能应该可以预测
17、描述软件结构的一些度量指标有深度、宽度、扇入和扇出。
其中和程序长度之间应该有粗略的对应关系。
越大系统越复杂。
扇出过大意味着过分复杂,越大则共享该模块的上级模块数目越多。
深度、宽度、模块、扇入
18、名词解释:
深度、宽度、扇入和扇出。
深度:
软件结构中控制的层数
宽度:
软件结构内同一个层次上的模块总数的最大值
扇入:
有多少个上级模块直接调用它
扇出:
一个模块直接控制的模块数目
19、常用语的描绘软件结构的图形工具有和。
层次图或HIPO图和结构图
20、简单描述层次图(P102)和层次方框图(P68)的区别。
层次图
层次方框图
作用
描绘软件结构
描绘数据结构
矩形框
模块
数据元素
连线
调用关系
组成关系
21、结构图是描绘软件结构的图形工具,其基本符号有:
代表一个模块,方框之间的表示模块的调用关系;尾部是表示传递的是数据;尾部圆箭头表示传递的是控制信息。
其附加符号有和。
方框、直线、空心、、实心、棱形、环绕箭头
22、判断正误:
层次图和结构图并不指明何时调用下层模块?
层次图和结构图只表明一个模块调用那些模块,没有表示模块内还有没有其他成分。
正确(P104)
23、面向数据流的设计方法中定义了一些映射,利用它可把变换成。
数据流图、软件结构图、
24、面向数据流的设计方法中信息流的决定了映射的方法。
信息流有和
两种类型,分别对应的和分两种方法。
类型、变换流、事务流、变换分析和事务分析
25、变换分析是一系列设计步骤的总称,经过这些步骤把具有具有“变换中心”的按预先确定的模式映射成结构。
明显可以分割为“导入”、“加工变换”和“导出”三部分。
对应软件结构的“子系统”、“子系统”和“子系统”三部分。
数据流图、软件、输入、变换中心、输出
26、面向数据流的总体设计有七个步骤。
它们分别是什么?
、复查基本系统模型
、复查并精华数据流图
、确定数据流图具有变化特性还是事务特性
、确定输入流和输出流的边界从而孤立出变换中心
、完成第一级分解
、完成第二级分解
、使用设计度量和启发式规则对第一次分隔得到的软件结构进一步精化
27、面向数据流的总体设计中,确定输入流和输出流的边界,从而孤立出。
第一级分解是位于软件结构最顶层的控制模块Cm协调下面的哪些控制模块?
第二级分解是从开始分别向输入开始和输出结束方向把每个映射成一个模块。
变换中心
Cm协调控制模块:
输入信息处理控制模块Ca、变换中心控制模块Ct、输出信息处理控制模块Ce
变换中心的边界、处理
28、事务分析的设计步骤和变换分析的设计步骤大部分相同或类似,主要差别仅在于由数据流图到软件结构的映射方
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 复习题