软件设计杂

Q1:什么是模块化,为什么要模块化?

定义如下。

①模块:是完成特定功能的程序实体。模块是构成程序的基本构件。

②模块化:是指解决一个复杂问题时自顶向下逐层分解成若干模块的过程。每个模块完成一个特定的子功能,所有模块按系统结构组合起来,完成整个系统所要求的功能。

③模块化设计:

▪将问题简化,划分模块可使每一个模块完成单一的功能。

▪可以独立地进行模块的编码测试,便于软件开发工作的组织。

▪把每一个模块要解决的问题局限在有限的范围,减少出错机会。便于纠错。

▪便于对特定的模块进行优化处理。

▪一个模块可被重复使用,以提高软件产品的复用率。程序易于理解。

▪利于估计工作量和开发成本。

Q2:衡量模块独立的定性标准是什么?用自己的话表达其含义。

两个定性的度量标准:耦合与内聚性。耦合性指软件系统结构中各模块间相互联系紧密程度的一种度量,模块之间联系越紧密,其耦合性就越强,模块的独立性则越差。内聚性指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量,模块内元素联系越紧密,内聚性越高。

 

Q3:如何理解信息隐藏和局部化?用自己的话或着例子表达

 

信息隐藏和局部化是软件设计中的两个重要概念。

信息隐藏指将模块内部的细节和实现方式隐藏起来,只暴露必要的接口,使得其他模块无法直接访问其内部实现细节。这样可以降低模块之间的耦合度,提高模块的独立性和灵活性,同时也可以防止模块被误用或者滥用,提高软件的安全性和可靠性。

例如,一个数据库模块可以定义一些公共的接口方法,如查询、插入和删除数据等,而将其内部的数据结构和算法实现细节隐藏起来。这样其他模块可以通过这些公共接口方法来使用数据库模块,而不需要知道其内部实现细节,从而实现了信息隐藏。

局部化指将一个软件系统分解为多个相对独立的模块或组件,每个模块或组件只关注自己的功能和任务,而不需要了解其他模块或组件的实现细节。这样可以降低系统的复杂度,提高系统的可维护性和可扩展性,同时也可以提高系统的可重用性和效率。

例如,一个电商网站可以将购物车、订单、支付、客户等不同功能的模块或组件进行局部化,每个模块或组件只关注自己的功能和任务,而不需要了解其他模块或组件的实现细节。这样可以方便开发者进行分工合作,同时也可以提高系统的灵活性和可扩展性。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值