评价模块的结构质量 ⑵进行数据结构及数据库的设计.docx
- 文档编号:24473219
- 上传时间:2023-05-27
- 格式:DOCX
- 页数:11
- 大小:121.49KB
评价模块的结构质量 ⑵进行数据结构及数据库的设计.docx
《评价模块的结构质量 ⑵进行数据结构及数据库的设计.docx》由会员分享,可在线阅读,更多相关《评价模块的结构质量 ⑵进行数据结构及数据库的设计.docx(11页珍藏版)》请在冰豆网上搜索。
评价模块的结构质量⑵进行数据结构及数据库的设计
第十五套习题
1.什么是软件概要设计?
该阶段的基本任务是什么?
把一个软件需求转换为软件表示时,首先设计出软件总的体系结构。
称为概要设计或结构设计。
基本任务:
⑴设计软件系统结构,具体为:
采用某种设计方法,将一个复杂的系统按功能划分为模块。
确定每个模块的功能。
确定模块之间的调用关系。
确定模块之间的接口(模块之间传递的信息)
评价模块的结构质量
⑵进行数据结构及数据库的设计
⑶编写概要设计的文档
主要内容有:
概要设计说明书,数据库说明书(DBMS的简介,概念模型,逻辑设计,结果)用户手册,修订测试计划(测试的策略﹑方法﹑步骤)
⑷评审:
是否完整地实现了规定的功能﹑性能要求。
设计方案是否可行。
关键的处理及内部接口定义的正确性,有效性,各部分的一致性。
2.软件设计的基本原理包括哪些内容?
⑴模块化:
模块是软件的组成部分,是具有独立功能且可命名的一段程序,所有模块组成
整体,可以满足问题的要求。
模块化即按照一定的原则,将软件划分成若干个模块,每个模块完成一个特定的功能,然后把这些模块按照某种方法组装成一个软件系统。
(可降低复杂度、减少工作量)
模块具有以下几种特性:
接口:
模块的输入输出。
功能:
指模块实现什么功能。
逻辑:
描述模块内部如何实现要求及所需的数据。
状态:
该模块的运行环境,模块间调用与被调用关系。
⑵抽象:
认识复杂现象过程所使用权的工具,只考虑事物本质的共同特性,忽略细节和其它因素。
通过抽象确定组成软件的过程实体。
⑶信息隐蔽:
将模块实现自身功能的细节与数据"隐蔽"起来。
模块间仅交换为完成系统功能所必须的信息。
⑷模块独立性:
每个模块只完成系统要求的独立的子功能。
3.衡量模块独立性的两个标准是什么?
各表示什么含义?
内聚和耦合
内聚:
又称为块内联系,指模块内部各成分之间相互关联的程度,以高内聚为设计目标。
耦合:
也称块间联系,模块之间相互联系程度的度量,联系越紧密,耦合性越强,独立性越差,以低耦合为设计目标。
4.模块的耦合性有哪几种?
各表示什么含义?
⑴内容耦合:
一个模块直接操作或修改另一模块的数据,或者不通过正常入口直接转入另一模块
⑵公共耦合:
两个或多个模块通过共同引用一个全局数据环境相互作用
⑶控制耦合:
模块之间通过传递控制信息相互作用
⑷标记耦合:
两个模块之间通过传递公共指针或地址相互作用的耦合
⑸数据耦合:
模块之间通过传递数据交换信息
⑹无耦合:
模块间无任何关系,独立工作
5.模块的内聚性有哪几种?
各表示什么含义?
⑴偶然内聚:
一个模块各个成分之间毫无关系
⑵逻辑内聚:
将几个逻辑上相关的功能放在同一个模块中
⑶时间内聚:
一个模块完成的功能在同一时间执行
⑷过程内聚:
一个模块内部的处理成分是相关的,而且必须以特定的次序执行
⑸通信内聚:
一个模块的所有成分都集中在同一个数据结构上
⑹顺序内聚:
一个模块的各个成分同一个功能密切相关,而且一个成分的输出,作为另外一个成分的输入
⑺功能内聚:
模块内的所有成分属于一个整体,完成单一的功能。
(内聚最高)
6.什么是软件结构?
简述软件结构设计的优化准则。
⑴改进软件结构,提高模块独立性首先设计出软件初始结构,评价该结构,通过模块分解或合并,力求降低耦合提高内聚。
⑵模块的规模应该适中
⑶模块结构的深度、宽度、扇出和扇入应适中
深度:
软件结构中控制的层数
宽度:
软件结构中同一层次上最大模块总数
扇入:
某一模块有多少直接调用它的上级模块数目(越大越好)
扇出:
一个模块直接控制(调用)下级模块的数目。
(越少越好,3,4个为宜,不超过9个,
"顶层扇出较高,中间扇出较少,底层模块高扇入多"
⑷一个模块的作用域(范围),应处在这个模块的控制域(范围)之内
模块的作用域:
受该模块内一个判定影响的所有模块的集合
模块的控制域:
这个模块本身以及所有直接或间接从属于它的模块的集合
7.什么是模块的影响范围?
什么是软件的控制范围?
它们之间应建立什么关系?
模块的影响范围(作用域):
受该模块内一个判定影响的所有模块的集合
模块的控制范围(控制域):
这个模块本身以及所有直接或间接从属于它的模块的集合
一个模块的影响范围(作用域),应处在这个模块的模块的控制范围(控制域)内。
8.什么样是"事物流"?
什么是"变换流"?
试将相应形式的数据流图转换为软件结构图
数据流图(DFD)一般可分为"变换流","事物流"两种。
"变换流":
由输入﹑输出﹑变换(或称处理)三部分组成,是一顺序结构。
"事物流":
它的某个加工,分离成许多发散的数据流,形成许多加工路径,并且根据输入值选择其中一个路径来执行。
(这人加工称为事务处理中心)
9.试述"变换分析"﹑"事务分析"设计步骤。
变换分析设计步骤:
⑴确定变换中心,逻辑输入和输出。
⑵设计软件结构的顶层和第一层--变换结构:
顶层的功能是完成所有模块的控制(名称应是系统名,以体现完成整个系统功能)
第一层至少有三种功能模块:
输入﹑输出和变换模块
⑶设计中﹑下层模块,对第一层的模块自顶向下分解。
输入模块由两部分组成:
接收数据﹑转换成调用模块所需信息。
输出模块由两部分组成:
将数据转换成下属模块所需的形式﹑发送数据
变换模块:
对每个基本加工建立一功能模块
⑷设计的优化:
输入部分求精,每个物理输入设置专门模块,以体现系统的外部接口。
其它输入模块与转换数据模块都很简单时,可将它们合并。
输出部分求精:
每个物理输出设置专门模块,其它也可适当合并。
变换部分求精:
根据设计准则,对模块适当合并。
事务分析的设计步骤:
⑴确定事务中心和加工路径
⑵设计顶层(事务机构)和第一层顶层模块有两个功能:
接收数据和根据事务类型调动相应处理模块。
⑶中下层模块的设计﹑优化工作与变换结构相同。
事务型软件结构包括两部分:
接收分支发送分支出通常包括一调度模块,当事务类型不多时,可与主模块合并。
10.图是某系学籍管理的一部分,(a),(b)分别是同一模块A的两个不同设计方案,你认为哪一个设计方案较好?
请陈述理由。
答:
我认为(b)方案较好。
要评价一个软件结构设计,主要看模块的独立性,要从软件结构的耦合性和内聚性两个方面来衡量。
对于(a)方案,模块A与模块B之间形成了控制耦合,因此独立性不高,而在B模块内部,有两个不同的功能被放在一起,形成的是逻辑内聚,内聚性不高。
对于(b)方案,模块A与B1和B2之间是数据耦合,独立性较强,在B1和B2内部,只完成单一的功能,是功能内聚,因此内聚性高,可维护性好,因此相比而言(b)方案比(a)方案更好些。
11.请将图4-16的DFD转换为软件结构图。
(注:
图中⊕表示或者)
解:
我们可以看出主图是变换型DFD,而子图是事务型DFD。
根据结构设计的方法,得到的结构图如下:
12.将第3章习题中的第10题、第11题设计成相应的软件结构图(SC)和HIPO图。
某银行的计算机储蓄系统功能是:
将储户的存户填写的存款单或存款单输入系统,如果是存款,系统记录存款人姓名﹑住址﹑存款类型﹑存款日期﹑利率等信息,并打印出存款单给储户;如果是取款,系统计算清单给储户。
某图书管理系统有以下功能:
⑴借书:
输入读者借书证。
系统首先检查借书证是否有效,若有效,对于第一次借书的读者,在借书证上建立档案。
否则,查阅借书文件,检查该读者所借图书是否超过10本,若已达10,拒借,末达10本,办理借书(检查库存,修改库存目录并将读者借书情况录入借书文件。
)
⑵还书:
从借书文件中读出与读者有关的记录,查阅所借日期,如超期(3个月)作罚款处理。
否则,修改库存目录与借书文件。
(3)查询:
通过借书文件,库存目录文件查询读者情况﹑图书借阅及库存情况,打印统计表。
把上面数据流程图转换为软件结构图和IPO图
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 评价模块的结构质量 进行数据结构及数据库的设计 评价 模块 结构 质量 进行 数据结构 数据库 设计