浅谈计算机信息隐蔽性设计(1)(2)
2014-10-18 01:10
导读:需要知道的东西越少越好理解。在软件工程中,理解是最繁重的工作之一。开发过程中从分析人员对用户需求的理解,到设计人员对需求规格的理解,直至
需要知道的东西越少越好理解。在软件工程中,理解是最繁重的工作之一。开发过程中从分析人员对用户需求的理解,到设计人员对需求规格的理解,直至编程人员对软件设计的理解,是一个理解传递的过程。每一级开发人员的目的都应是将经过自己加工后的、更简单的抽象结果更抽象、更好理解。因此好的设计人员就是经其加工后传给下级开发人员的设计最容易理解,即给出的问题定义越简单、接口越少越好。
2.1.2 好实现
有时好理解却不好实现,即实现算法复杂。但是,如果把复杂算法做成一个封装的模块对象,使实现者只需知道模块的作用和使用方法就可以得到所期待的输出结果,而无须知道模块内部的具体实现,因此实现的问题就可以得到简化。
2.1.3 好验证
复杂问题也不好验证。有些设计看起来好理解,也不难实现,但验证起来却很难。例如如果设计了相当多的功能热键用户接口。对于输入数据窗口和数据项较多的应用程序,测试起来十分困难。多个功能热键、多种激活方式、多个输入数据窗口和数据项之间前后控制跳转,这些都是黑盒测试的出发点,而每个控制节点都以2以上的指数方式递增着测试用例数目。即使一般复杂的应用,其测试用例也超过200类。
由于采用了这种多控制、多转移的复杂输入方式设计,算法复杂是不可避免的。简化的办法还是信息隐蔽性设计,将每个热键的多种激活方式触发的内部处理都写成公共对象且封装起来,供各应用程序继承调用。显然这种隐蔽技术直接简化了理解和实现。由于公共父类对象已经做过全面集中测试,下层程序继承后的有关测试绝大部分可以“免检”,所以间接简化了验证,达到“好验证”的目的。
2.1.4 好重用
好验证的设计方法是把算法复杂的对象泛化为超类对象,进行集中实现和集中测试,使多个下层子类共享父类的实现和测试,所以它也是一种重用方案。好重用往往是好理解、好实现、好验证的必然结果。不过它是从更高层次上审视信息隐蔽性的目的。
(科教范文网http://fw.ΝsΕΑc.com编辑)
共2页: 1 [2] 下一页 论文出处(作者):
计算机开关电源技术研究
计算机网络信息安全及其防护策略的研究