作业7
homework to b log
如果你要开发一个中小学生学习数学的软件,你应该找谁去做用户调研?
学生,家长,老师,学校
1.什么是模块化,为什么要模块化?
模块化是一种处理复杂系统分解为更好的可管理模块的方式。 所谓的模块化开发就是封装细节,提供使用接口,彼此之间互不影响,每个模块都是实现某一特定的功能。 模块化开发的基础就是函数。 模块化开发使用代码耦合度降低,模块化的意义在于最大化的设计重用,以最少的模块、零部件,更快速的满足更多的个性化需求。
采用模块化设计就像搭建积木一样,可以保持输出一致性、提高设计效率、适用性强便于维护、便于协作等优势。 1、保持输出一致性:采用模块化设计,可能将人进行良好的分工,同一模块由一个人来设计,同时建立相对于的规范,便于其他伙伴的复用。
- 衡量模块独立的定性标准是什么?用自己的话表达其含义
模块独立性是指每个模块只完成系统要求的独立子功能,并且与其他模块的联系最少且接口最简单。 衡量模块独立性的标准是耦合性和内聚性 。
(1)耦合性,也称块间联系,指软件系统结构中各模块间相互联系紧密程序的一种度量。模块之间联系越紧密,其耦合性就越强,模块的独立性则越差。
(2)内聚性,又称为块内联系,指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量,如果一个模块内各元素联系得越紧密,则它的内聚性就越高。
3、如何理解信息隐藏和局部化?用自己的话或者例子表达其含义
- 信息隐藏:指设计和确定模块时,使得一个模块内包含的信息(过程和数据)对于不需要这些信息的模块来说是不能访问的。 这种隐藏可以通过定义一组独立的模块来实现,每个模块仅交换必要的信息,从而避免了修改期间由于疏忽而引入的错误传播到软件的其他部分。 例如,一个计算圆面积的模块可以隐藏其内部的数学公式和计算过程,对于其他模块而言只需要知道输入半径和输出面积即可。
- 局部化:指把一些关系密切的软件元素物理地放得彼此靠近。 这种局部化有助于实现信息隐藏,因为不同模块之间的紧密联系被限制在局部范围内,避免了系统中不必要的耦合和依赖。 例如,一个处理用户输入的模块可以与一个处理输出的模块放在同一个文件夹内,而与其他模块放在不同的文件夹内,这样就实现了局部化。