2017年湖南大学信息科学与工程学院F1008软件工程导论考研复试核心题库
● 摘要
一、名词解释
1. 问题分析图PAD
【答案】问题分析图(PAD )是由程序流程图演化而来,用二维树形结构的图来表示程序的控制流,将其翻译成 程序代码比较容易。它既可以用来表示程序逻辑,也可以用来描述数据结构,支持结构化程序设计(SP )方法, 仅具有顺序、选择、循环三类基本成分。
二、简答题
2. 软件工程的净室方法为什么没有得到广泛的使用?
【答案】(1)净室方法学太理论、太数学化,以至难于在真实的软件开发中使用。
(2)不需要进行单元测试,而是进行正确性验证和统计质量控制,与当前大多数软件开发方式背离。
(3)软件开发产业的成熟度。净室过程的使用需要在整个生命周期阶段定义的过程中严格的应用,因为大多数软件企业的运作还处于特定的阶段(级别),因此,还没有准备好应用哪些技术。
3. 模块的内聚性有哪几种?各表示什么含义?
【答案】(1)模块内聚性的分类
内聚性有七种类型:偶然内聚、逻辑内聚、时间内聚、过程内聚、通信内聚、顺序内聚、功能内聚,它们的内聚性由低到高。
(2)模块内聚性的含义
①偶然内聚
偶然内聚指一个模块内的各处理元素之间没有任何联系,这是最差的内聚情况。
②逻辑内聚
逻辑内聚指模块内执行几个逻辑上相似的功能,通过参数确定该模块完成哪一个功能。如产生各种类型错误的信息输出放在一个模块,或从不同设备上的输入放在一个模块,这是一个单人口多功能模块。这种模块内聚程 度有所提高,各部分之间在功能上有相互关系,但不易修改,当某个调用模块要修改此模块公用代码时,而另一些调用模块又不要求修改。另外,调用时需要进行控制参数的传递,造成模块间的控制耦合,调用此模块时,不用的部分也占据了主存,降低了系统效率。
③时间内聚
时间内聚把需要同时执行的动作组合在一起形成的模块称为时间内聚模块。如初始化一组变量,同时打开若干文件,同时关闭文件等等,都与特定时间有关。时间内聚比逻辑内聚程度高一
些,因为时间内聚模块中的各部分都要在同一时间内完成。但是由于这样的模块往往与其他模块联系的比较紧密,如初始模块对许多模块的运行有影响,因此和其他模块耦合的程度较高。
④过程内聚
如果一个模块内的处理元素是相关的,而且必须以特定的次序执行,称为过程内聚。过程内聚模块的各组成功能由控制流联结在一起,实际上是若干个处理功能的公共过程单元。
⑤通信内聚
通信内聚指模块内所有处理元素都在同一个数据结构上操作(有时称之为信息内聚),或者指各处理使用相同的输入数据或者产生相同的输出数据。
通信内聚的模块各部分都紧密相关于同一数据(或者数据结构),所以内聚性要高于前几种类型。同时,可把某一数据结构、文件、设备等操作都放在一个模块内,可达到信息隐藏。
⑥顺序内聚
顺序内聚指一个模块中各个处理元素都紧密相关于同一功能且必须顺序执行,前一功能元素的输出就是下一功能元素的输入。
⑦功能内聚
功能内聚是最强的内聚,指模块内所有元素共同完成一个功能,缺一不可。因此模块不能再分割。功能内聚的模块易于理解、易修改,因为它的功能是明确的、单一的,因此与其他模块的耦合是弱的。功能内聚的模块有利于实现软件的重用,从而提高软件开发的效率。
4. 什么是数据流图?其作用是什么?其中的基本符合各表示什么含义?
【答案】(1)数据流图的定义
数据流图,简称DFD ,是结构化分析方法中用于表示系统逻辑模型的一种工具,它以图形的方式描绘数据在系统中流动和处理的过程,由于它只反映系统必须完成的逻辑功能,所以它是一种功能模型。
(2)数据流图的作用
①数据流
数据流是数据在系统内部传播的路径,因此由一组成分固定的数据项组成。
②加工(又称为数据处理)
对数据流进行某些操作或变换。
③数据存储(又称为文件)
指暂时保存的数据,它可以是数据库文件或任何形式的数据组织。
④数据源点或终点
是本软件系统外部环境中的实体(包括人员、组织或其他软件系统),统称外部实体。 (3)基本符号表不的含义
箭头,表示数据流。
圆或椭圆,表示加工。
双杠,表示数据存储。
方框,表示数据的源点或终点。
5. 画数据流图的步骤是什么?画数据流图应该注意什么事项?
【答案】(1)画数据流图的步骤
①首先画系统的输入输出,即先画顶层数据流图
顶层流图只包含一个加工,用以表示被开发的系统,然后考虑该系统有哪些输入数据,这些输入数据从哪里来;有哪些输出数据,输出到哪里去。这样就定义了系统的输入、输出数据流。顶层图的作用在于表明被开发系统的范围以及它和周围环境的数据交换关系。顶层图只有一张。
②画系统内部,即画下层数据流图
一般将层号从0开始编号,采用自顶向下、由外向内的原则。画0层数据流图时,一般根据当前系统工作分组情况,并按新系统应有的外部功能,分解顶层流图的系统为若干子系统,决定每个子系统间的数据接口和活动关系。画更下层数据流图时,则分解上层图中的加工,一般沿着输入流的方向,凡数据流的组成或值发生变化的地方则设置一个加工,这样一直进行到输出数据流(也可从输出流到输入流方向画)。如果加工的内部还有数据流,则对此加工在下层图中继续分解,直到每一个加工足够简单,不能再分解为止,不再分解的加工称为基本加工。
(2)画数据流图时要注意的事项
①命名
不论数据流、数据存储还是加工,合适的命名使人们易于理解其含义。数据流的名字代表整个数据流的内容,而不仅仅是它的某些成分,不便用缺乏具体含义的名字,如“数据”、“信息”等,加工名也应反映整个处理的功能,不使用“处理”、“操作”这些笼统的词。
②画数据流而不是控制流
数据流图反映系统“做什么”,不反映“如何做”,因此箭头上的数据流名称只能是名词或名词短语,整个图中不反映加工的执行顺序。
③一般不画物质流
数据流反映能用计算机处理的数据,并不是实物,因此对目标系统的数据流图一般不要画物质流。
④每个加工至少有一个输入数据流和一个输出数据流
反映出此加工数据的来源与加工的结果。
⑤加工点的编号
如果一张数据流图中的某个加工点分解成另一张数据流图时,则上层图为父图,直接下层图为子图。子图应编号,子图上的所有加工也应编号,子图的编号就是父图中相应加工的编号,加工的编号由子图号、小数点及局 部号组成。
⑥父图与子图的平衡
子图的输入输出数据流同父图相应加工的输入输出数据流必须一致,此即父图与子图的平衡。有时考虑平衡可忽略一些枝节性的数据流(如出错处理)。父图与子图的平衡,是分层数据流图中的重要性质,保证了数据流图的一致性,便于分析人员的阅读与理解。
相关内容
相关标签