谈计算机信息隐蔽性设计毕业论文(2)
2014-11-13 01:03
导读:需要知道的东西越少越好理解。在软件工程中,理解是最繁重的工作之一。开发过程中从分析人员对用户需求的理解,到设计人员对需求规格的理解,直至
需要知道的东西越少越好理解。在软件工程中,理解是最繁重的工作之一。开发过程中从分析人员对用户需求的理解,到设计人员对需求规格的理解,直至编程人员对软件设计的理解,是一个理解传递的过程。每一级开发人员的目的都应是将经过自己加工后的、更简单的抽象结果更抽象、更好理解。因此好的设计人员就是经其加工后传给下级开发人员的设计最容易理解,即给出的问题定义越简单、接口越少越好。
2.1.2 好实现
有时好理解却不好实现,即实现算法复杂。但是,如果把复杂算法做成一个封装的模块对象,使实现者只需知道模块的作用和使用方法就可以得到所期待的输出结果,而无须知道模块内部的具体实现,因此实现的问题就可以得到简化。
2.1.3 好验证
复杂问题也不好验证。有些设计看起来好理解,也不难实现,但验证起来却很难。例如如果设计了相当多的功能热键用户接口。对于输入数据窗口和数据项较多的应用程序,测试起来十分困难。多个功能热键、多种激活方式、多个输入数据窗口和数据项之间前后控制跳转,这些都是黑盒测试的出发点,而每个控制节点都以2以上的指数方式递增着测试用例数目。即使一般复杂的应用,其测试用例也超过200类。
由于采用了这种多控制、多转移的复杂输入方式设计,算法复杂是不可避免的。简化的办法还是信息隐蔽性设计,将每个热键的多种激活方式触发的内部处理都写成公共对象且封装起来,供各应用程序继承调用。显然这种隐蔽技术直接简化了理解和实现。由于公共父类对象已经做过全面集中测试,下层程序继承后的有关测试绝大部分可以“免检”,所以间接简化了验证,达到“好验证”的目的。
2.1.4 好重用
好验证的设计方法是把算法复杂的对象泛化为超类对象,进行集中实现和集中测试,使多个下层子类共享父类的实现和测试,所以它也是一种重用方案。好重用往往是好理解、好实现、好验证的必然结果。不过它是从更高层次上审视信息隐蔽性的目的。
(科教论文网 lw.nSeAc.com编辑发布) 2.2 优越性
由于信息隐蔽性设计重用性高,因此可以大大降低开发和维护成本。具体可以从两方面来看其优越性。
1)由于将复杂内容都隐蔽到公共超类之中,可以集中优势兵力对公共超类对象统一进行设计攻关、设计优化和代码优化及测试和修改,所以不仅利于保证设计和实现的正确性,而且利于提高可维护性、保证数据安全性。总之,有利于从整体上保证软件的基本质量,降低维护成本。
2)由于简化了编程难度,避免了重复劳动,降低了对程序员技术经验水平的要求,减少了设计说明和理解交流及编辑的工作量,因而利于减少开发成本。
倘若前述的软件设计不是采用信息隐蔽性设计,倘若我们只有对复杂的库表结构了如指掌之后才能进行多层交叉组合查询程序的实现,这不仅将需要许多时间理解库表结构,还需要构筑同样的数据库,录入能体现复杂数据关系的各种测试数据。由于数据关系映射着应用对象的关系,为此我们还必须了解满足各种组合查询的数据与应用业务处理间的对应关系,因为稍有理解偏差,取出的用于统计的数据就会全面失去意义。所以信息隐蔽性设计对于大型软件开发,特别是分式的异地开发,是