试题详情
- 简答题软件工程的启发式规则有哪些?
-
A.当模块过大时就应该分解它。
一般按功能分解到成为一个小的功能单一的模块为止。一般一个模块内包含的语句在30-50条左右较好(指高级语言)。分解后不应该降低模块的独立性。
B.深度、宽度、扇出和扇入都应适当。
好的设计结构通常是顶层扇出比较高,中层扇出比较少,底层扇入到公共的实用模块中去(底层模块有高扇入)。模块的独立性是贯穿始终的标准,不能为了追求其它目标而违背独立性标准。
C.对于任何一个内部存在判断调用的模块,它的判断作用的范围应该是其控制范围的一个子集。存在判断调用的模块,所在层次不要与那些属于判断作用范围的模块所在的层次相隔太远----越近越好。
D.力争降低模块接口的复杂程度。模块接口复杂是软件发生错误的一个主要原因。应该仔细设计模块接口,使得信息传递简单并且和模块的功能一致。接口复杂或不一致(即看起来传递的数据之间没有联系),是紧耦合或低内聚的征兆,应该重新分析这个模块的独立性。
E.设计单入口单出口的模块:防止出现内容耦合---多入口(多种处理功能)意味着内容耦合。
F.模块功能应该可以预测-----模块是黑合子,输入相同则输出相同,其内部数据结构和接口受到限制。模块的功能应该能够预测,但也要防止模块功能过分局限。过分局限将导致模块灵活性太差,会出现使用现场的修改。 关注下方微信公众号,在线模考后查看
热门试题
- 继承性
- 数据流图与程序流程图的主要区别是程序流程
- 房地产是()的简称
- 软件工程标准化的意义是什么?都有哪些软件
- 文档是软件开发人员.维护人员.用户以及计
- 一组测试用例是条件覆盖,则一定是语句覆盖
- 软件与其他工程学科所产生的制品有什么区别
- 下面的()是有效的软件配置项。
- 简述一个成熟的软件机构应具有的特点。
- 性能需求项用来描述系统的性能特征有哪些?
- 项目开发计划书中一般不包括哪些内容()
- 随着软件系统的规模和复杂性越来越大,()
- 面向对象设计思想的核心是封装、继承和()
- 下列有关商品房现售的条件说法不正确的是(
- 生产性活动包括分析评价、修改设计、编写程
- 试述信息系统的定义及信息系统的基本内容。
- 为了解决软件危机,人们提出了用()的原理
- 估计待开发软件产品的规模必须基于像代码行
- 详细设计的基本任务是什么?有哪几种描述方
- 什么是继承耦合?