一、选择题

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. 软件工程实验报告四软件总体设计及文档编写

    一.实验目的 1.通过实验掌握软件总体设计: 2.掌握软件总体设计说明书的设计要求: 3.熟悉Microsoft Visio,Rose,PowerDesigner开发环境. 二.实验内容及要求 1.对 ...

  2. 软件工程-软件生存周期模型

    软件工程-软件生存周期模型 软件工程-软件测试 软件工程-软件测试-测试方法 概念 同任何事物一样,一个软件产品或软件系统也要经过孕育.诞生.成长.成熟.衰亡的许多阶段,一般称为软件生存周期. 软件的 ...

  3. [软件工程]软件生存周期过程与管理————(2020.6.29学习笔记)

    目录 第一节 软件生存周期过程概述 第二节 过程描述 第三节 应用说明 第四节 软件生存周期模型 第五节 过程规划与管理 第一节 软件生存周期过程概述 软件生存周期(SDLC,软件生命周期) 是软件的 ...

  4. 软件工程软件开发成本度量规范_软件开发成本度量方法

    软件成本度量一直都是软件行业的一个痛点问题.软件度量一度乱象丛生.拍脑袋的定价方式曾大行其道.软件成本度量的乱象直接导致了软件价格的诸多问题.比如预算费用存在浪费或不足的现象,招标存在投标额过低过高等 ...

  5. 软件工程 软件设计 步骤_好的软件设计特点 软件工程

    软件工程 软件设计 步骤 For good quality software to be produced, the software design must also be of good qual ...

  6. 软件工程-软件开发的工程思维

    软件工程-软件开发的工程思维 目录 软件工程-软件开发的工程思维 前言 什么是软件工程? 定义 出现的背景 软件工程核心知识 与项目管理的区别 软件工程的目标 为什么需要软件工程 如何做好软件工程:原 ...

  7. 第四章 软件总体设计 1

    哎呦,我发现我写的文章这几天点击量稍微高一点的文章开头都是自我吐槽(此处应该放什么表情呢),是不是像我这么善于发现自己缺点且毫不留情吐槽自己的人不多了(偷笑).没办法我一个学渣非要跟老公学编程和测试, ...

  8. 第四章:软件总体设计(4)此章结完

    4.6结构化设计方法 结构化审计方法是一种把需求阶段得到的数据流图如何映射为软件结构图的一种基于数据流图的设计方法. 4.6.1数据流图类型 按照数据流图的性质可以将数据流图分成两种类型:变换型和事务 ...

  9. 软件工程 软件工程师的誓言

    有人说 程序 = 算法 + 数据结构 有人说 软件 = 程序 + 软件工程,  软件企业 = 软件 + 商业模式. 程序本身没有伦理和职业道德, 但是程序员和软件企业要有. 我们听说过很多例子: 一个 ...

最新文章

  1. 用Python构建网页抓取器
  2. iOS - OC Foundation 框架
  3. Android背景渐变色(shape,gradient)
  4. api 和 C# 里的接口的区别?
  5. 关于android的4.2的0文件夹的详解
  6. 程序员:我用代码给女朋友P图
  7. 隐马尔可夫模型(五)——隐马尔可夫模型的解码问题(维特比算法)
  8. 虚拟机上的linux作为服务器吗,linux ftp服务器 虚拟机做服务器如何实现
  9. centos mysql 安装及配置
  10. PLSQL用DBMS_JOB建立作业
  11. 新海诚动画背景简单娱乐分析
  12. PHP执行耗时脚本实时输出内容
  13. android snackbar 底部,Android KitKat:Snackbar不在屏幕的底部
  14. “阿里灵杰”问天引擎电商搜索算法赛 - 数据说明2022
  15. php7.2 加密,php 7.2 aes 128 ECB 加密
  16. js获取用户使用的设备类型及平台
  17. aic准则和bic准则_如何编写敏捷的用户故事:7条准则
  18. 【光学】Matlab模拟相互垂直的光波叠加
  19. python读取页眉页脚,python批量替换页眉页脚
  20. Android5.0,IDA远程调试 The debugger could not attach to the selected process. irs_recv 等待的操作过时

热门文章

  1. opop如何和计算机链接,oppo如何连接电脑
  2. BFS——1253 胜利大逃亡
  3. html文字前画线代码,在div上画线
  4. LOG_PATH_IS_UNDEFINED 解决
  5. Python学习随笔
  6. 基于华为ENSP模拟器下的多个区域互联,减少LSA的更新量,加快收敛,保障更新安全的OSPF综合练习
  7. f5 gtm 工作原理_[转]F5负载均衡算法及基本原理
  8. chi2inv函数 matlab_matlab中ltiview怎么使用啊
  9. 计算机相关的迎新标语,以迎新为主题的标语
  10. 第五章 大数定律及中心极限定律