试题详情
- 简答题模块独立性与信息隐蔽(反映模块化有效程度的属性)有何关系?
-
所谓“模块独立性”是指软件系统中每个模块只涉及软件要求的具体的子功能,而和软件系统中其它的模块的接口是简单的。所谓的“信息隐蔽”是指每个模块的实现细节对于其它模块来说是隐蔽的。也就是说,模块中所包含的信息(包括数据和过程)不允许其它不需要这些信息的模块使用。
如果软件系统做到了信息隐蔽,即定义和实施了对模块的过程细节和局部数据结构的存取限制,那么这些模块相互间的接口就是简单的。这组模块的独立性就比较强。事实上,衡量模块独立性的一个准则就是模块内聚,达到信息隐蔽的模块是信息内聚模块,它是高内聚情形,模块独立性当然很强了。
一个对象的抽象数据类型,就是信息隐蔽的示例。例如,对于栈stack,可以定义它的操作makenull(置空栈)、push(进栈)、pop(退栈)、gettop(取栈顶)和empty(判栈空)。这些操作所依赖的数据结构是什么样的?它们是如何实现的?都被封装在其实现模块中。软件的其它部分可以直接使用这些操作,不必关心它的实现细节。一旦实现栈stack的模块里内部过程或局部数据结构发生改变,只要它相关操作的调用形式不变,则软件中其它所有使用这个栈stack的部分都可以不修改。这样的模块结构具有很强的模块独立性。 关注下方微信公众号,在线模考后查看
热门试题
- 快速原型开发的步骤?
- PERT技术叫做()技术,它是采用网络图
- 在软件开发模型中,下列哪一个模型主要用于
- 什么是软件生存周期模型?有哪些主要模型?
- 对于一个大型的软件项目,要进行一系列的估
- 自底向上估算软件成本的方法主要是把待开发
- 你认为一个系统分析员的理想训练和基础知识
- 在软件开发和维护过程中需要变更需求时,为
- 软件的组装测试最好是由()承担,以提高组
- 什么是软件可靠性?它们是否能定量计算?
- 简述原型模型的特点,它与瀑布模型的关键区
- 在客观世界中有若干类,这些类之间有一定的
- 软件工程原则不包括下列哪一项()。
- 从下列关于软件测试的叙述中,选出5条正
- 高质量的软件应该具备哪些条件?
- COAD方法严格区分了面向对象分析OOA
- 动态测试指通过()发现错误。对软件产品进
- 程序设计风格是人们编写程序的()、()和
- 简述喷泉模型的基本思想。
- 状态是对象属性值的抽象,状态指明了对象对