软件工程——软件总体设计

一、选择题

1、软件设计包括概要设计和详细设计两个阶段。

2、SA方法的基本思想是自项向下逐步分解

3、结构化方法的基本原则是功能的分解和抽象

4、软件概要设计结束后得到优化后的软件结构图

5、结构化设计是一种应用最广泛的系统设计方法,是以数据流图为基础,自项向下,逐步求精和模块化的过程。

6、在软件设计中,为解决一个大而复杂的问题把软件系统划分为一个个完成某一特定的子功能的方法称为模块化

7、对软件结构进行设计一般将用到一些图形工具,他们是结构图、HIPO图、层次图

8、HIPO图是软件工程中的一种描述工具,采用HIPO图进行描述的阶段是总体设计

9、设计软件结构一般确定模块的功能,模块的接口、模块间的调用关系

10、在一定意义上能粗略地反映系统的规模和复杂程度的是深度

11、有多少个上级模块直接调用它称为扇入数

12、一个模块直接控制(调用)的下层模块的数目称为模块的扇出数

13、在软件结构图中,模块框之间若有直线连接,表示他们之间存在调用关系

14、在软件结构化设计中,好的软件结构设计应该力求做到顶层扇出较高,中间层扇出较少,底层模块高扇入

15、软件设计中划分模块的一个准则是高内聚低耦合

16、当一个模块直接使用另一个模块的内部数据,这种模块之间的耦合为内容耦合

17、为了提高模块的独立性,模块之间最好是数据耦合数据耦合是最弱的耦合形式

18、一个模块传送给另一个模块的参数是由单个数据项组成的数组,它属于数据型耦合

19、模块的耦合性按照由低到高的排列:无直接耦合、数据耦合、控制耦合、内容耦合

20、要减少两个模块间的耦合,则必须模块间传递的参数要少,不传递控制型参数且两模块不引用同样的全局变量

21、模块内部各个元素彼此之间的紧密结合程度对模块耦合性没有关系。

22、模块的内聚性最高的是功能内聚内聚性最低的是偶然内聚。

23、如果某种内聚要求一个模块中包含的任务必须在同一段时间内执行,则这种内聚为时间内聚

24、为了提高模块的独立性,模块内部最好是功能内聚

25、一组语句在程序中多处出现,为了节省存储,将这些语句组成一个新的模块,该模块的内聚性为偶然内聚

二、判断题

1、模块接口设计要简单,以便降低复杂程度和冗余度。

2、模块的独立性可以从两方面来度量,即耦合和内聚。

3、结构化开发中,模块应该设计为高内聚,低耦合。

4、一个模块拥有的直属下级模块的个数为扇出,一个模块的直接上级模块的个数称为扇入

5、经验表明,好的系统的结构扇出数一般是3~4,不能超过5~9。

6、在模块化原理中,模块的作用域应该在控制域之内。

7、耦合是影响软件复杂度的重要因素,设计时应尽量使用数据耦合,少用控制耦合和特征耦合,限制公共环境耦合,完全不用内容耦合。

8、把需要同时执行的动作组合在一起形成的模块称为时间内聚模块。

9、如果模块中所有数据元素都使用相同的输入数据或者相同的输出数据,称为通信内聚。

10、层次方框图由一系列多层次的树形结构的矩形组成,方框之间的联系表示组成关系。

11、 总体设计阶段产生的文档是概要设计说明书,它是编码的基础,也是进行测试的依据。

三、填空题

1、从工程管理角度看,软件设计可分为总体设计详细设计两大步骤。

2、结构化设计方法以数据流图为基础设计系统的软件结构。

3、总体设计的两个阶段分别是模块设计阶段设计阶段

4、总体设计阶段产生的最重要的文档是概要设计说明书

5、软件结构图中的方框表示模块

6、软件结构图中的箭头方向表示调用关系

7、软件结构图的宽度是指同一层次上的模块的最大个数

8、耦合被用于衡量软件结构内模块之间的联系紧密程度。

9、在耦合类型中,耦合程度最低的是无直接耦合

10、在耦合类型中,耦合程度最高的是内容耦合

11、在划分模块时,应尽可能做到功能内聚和数据耦合

12、模块内部各个元素之间的联系称为内聚

13、在内聚类型中,内聚程度最低的是偶然内聚最高的功能内聚

14、在一个模块包括的任务必须在同一段时间内执行,这种内聚称为时间内聚

15、模块的两个重要特征是分解和抽象

16、抽象就是抽象出事物的本质特征而暂时不考虑他们的细节。

17、关系数据库中的关系必须满足一定的规范化要求

18、关系数据库设计时,需要使用范式来规范关系的设计,使其达到一定的规范化要求。

19、数据库系统的三级模式结构是指数据库系统是由外模式、模式和内模式构成。

20、从使用角度看,数据规范化程度在大多数场合选用3范式

21、数据流入的信息流可分为变换型和事务型

22、变换型数据流图基本呈线型形状的结构,由输入、变换和输出组成。

23、IPO图能够方便地描绘输入数据对数据的处理和输出数据之间的关系

24、面向数据结构的设计方法是进行软件设计的形式化方法。

四、名词解释

1、软件结构图:软件系统的模块层次结构,用于表达软件组成模块及其调用关系。

2、深度:深度指软件结构中模块的层次数,他表示控制的层数,在一定意义上能粗略地反映系统的规范和复杂程度。

3、宽度:指同一层次中最大的模块个数。

4、模块化:指解决一个复杂问题时自顶向下逐层把软件系统划分为若干模块的过程。

5、模块:是软件结构的基础,是软件元素,是能够单独命名,独立完成一定功能的程序语句的集合。

6、信息隐蔽:使包含在模块化内的信息(过程和数据)。对于不需要这些信息的模块是不能访问的。

7、局部化:所谓局部化,就是把一些关系密切的软件元素物理的放的彼此更近。

8、结构化设计方法:结构化设计方法是一种把在需求分析阶段得到的数据流图如何映射为软件结构图的一种基于数据流的设计方法。

9、模块独立性:是每个模块完成一个相对独立的特定功能,并且和其他模块之间的接口很简单。

10、耦合:软件结构内部之间联系程度用耦合来度量。耦合强弱取决于模块相互之间接口的复杂程度,一般由模块之间的调用方式,传递信息的类型和数量来决定。

11、无直接耦合:两个模块分别从属于不同模块的控制与调用,他们之间不传递任何信息,没有直接的联系,相互独立,称无直接耦合。软件系统中所有模块之间不可能没有任何联系。

12、数据耦合:两个模块之间有调用关系,相互传递的信息以参数的形式给出,而传递的信息仅仅是简单的数据,则称为数据耦合。

13、内容耦合:一个模块直接访问另一个模块的内部数据,一个模块不通过正常入口而转入另一个模块内部,一个模块有多个入口,这些属于内容耦合。

14、内聚:模块内部各元素之间的联系,称为内聚。是从功能角度来度量模块内的联系。

15、偶然内聚:模块内的元素之间没有意义上的联系。

16、逻辑内聚:将逻辑上相同或相似的一类任务放在同一模块中,每次被调用时,由传递给模块的参数来确定该模块应完成的某一功能。

17、时间内聚:把需要同时执行的工作组合在一起形成的模块成为时间内模块。

18、顺序内聚:一个模块中各个元素都紧密相关于同一个功能且必须顺序执行。

19、功能内聚:模块内所有处理的元素属于一个整体,完成单一功能,则称为功能内聚。

20、变换型数据流图:变换型数据流图基本呈线状形状结构,由输入、变换、输出三部分组合。

21、事务性数据流图:当一个数据项到达处理某个模块时,将有多个动作之一,这就是事务型。

22、作用域:模块的作用范围指受该模块内一个判断影响的所有模块的集合。

23、控制域:模块的控制范围是指模块本身及其所有直接或者间接从属于它的模块集合。

五、简答题

1、简述总体设计阶段的主要目的和任务。

​​​​​​①:总体设计阶段的基本目标就是回答“概括地说,系统应该如何实现?”这个问题

②:任务一    划分出组成系统的物理元素

        任务二    设计软件的总体结构,即确定系统中的每个程序是由哪些模块组成的,每个模块的功能及模块和模块之间的接口、调用关系等。

2、模块的独立性是什么?怎样度量?

(1)①:模块独立性是模块化、抽象、信息隐蔽和局部化概念的直接结果

         ②:模块独立性是每个模块完成一个相对独立的特定功能,并且和其他模块之间的接口很简                  单。

(2)①:模块独立性从两方面衡量,模块之间的耦合和模块本身的内聚。

         ②:耦合指模块之间的相互独立性的度量,内聚是指模块内部各个成分之间彼此结合的紧密程度的度量。

         ③:降低模块之间的耦合程度,提高模块内聚性。提高模块独立性。

3、软件模块设计需要遵循哪些则。

①:降低模块之间的耦合性,提高模块的独立性

②:模块结构的深度、宽度、扇出和扇入适当

③:模块的作用域应该在控制域范围内。

④:模块接口设计简单,以便降复杂度和冗余度。

⑤:设计功能可预测并能得到验证的模块。

⑥:适当划分模块,以保持其独立性。

4、模块的耦合性有哪几种,各表示什么含义。

①:无直接耦合

两个模块分别从属于不同模块的控制与调用,他们之间不传递任何信息,没有直接的联系,相互独立,称无直接耦合。软件系统中所有模块之间不可能没有任何联系。

②:数据耦合

两个模块之间有调用关系,相互传递的信息以参数的形式给出,而传递的信息仅仅是简单的数据,则称为数据耦合。

③:标记耦合

两个模块之间的传递是数据结构,而且被调用模块不需要作为参数传递过来的整个数据结构,只需要使用数据结构其中部分数据元素,则称为标记耦合。

④:控制耦合

当一个模块调用另一个模块时,传递的信息控制了该模块的功能,则称为控制耦合。

⑤:公共环境耦合

两个或多个模块共用一个数据环境,称公共环境耦合。

⑥:内容耦合

一个模块直接访问另一个模块的内部数据,一个模块不通过正常入口而转入另一个模块内部,一个模块有多个入口,这些属于内容耦合。内容耦合属于最高程度的耦合,也是最差的耦合,应避免使用。

5、简述结构化设计的基本步骤。

​​​​①:复审数据流图,必要时可进行修改或精化

②:确定数据流图类型:如果是变换型,确定逻辑输入和是逻辑输出边界,找出变换中心,映射为变换结构的顶层和第一层;如果是事务型,确定事务中心和活动路径,映射为事务结构的顶层和第一层,建立软件结构的基本框架。

③:分解上层模块,设计中下层模块

④:根据软件结构设计准则对软件结构求精并改进。

⑤:导出接口描述和全程数据结构。

⑥:复审,如果有错,转入修改完善,否则进入下一阶段详细设计。

6、模块的耦合性和软件的可移植性有神魔关系?说明理由。

①:模块的耦合性越低软件的可移植性越高

②:模块的耦合性是指模块之间相互独立的度量,耦合强弱取决于接口的复杂程度,在软件设计中尽可能设计弱的耦合的系统,这样程序容易测试、修改和维护,也便于移植到其他计算机上。③

  • 1
    点赞
  • 41
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值