您的位置:首页 > 其它

浅谈软件系统的结构化设计

2015-06-07 21:40 267 查看


按照软件系统的开发流程,软件的形成依赖于结构化的分析和设计,而结构化设计又可以分为总体设计和详细设计。在总体设计中,需要明确整个系统的结构并进行模块的划分,同时需要确定每个模块的功能、接口及各模块间的调用关系。

在软件工程中有几个原则,以便生产出更好的高质量低成本的软件,比如抽象、模块化、信息隐藏、模块独立性。其中模块的独立性可以用“内聚”和“耦合”加以描述,程序员在编码的过程中应该注重代码的规范,高效的代码必须要遵循“高内聚,低耦合”的特性,这样才能加快软件运行效率。具体来说,耦合的强弱取决于接口之间的复杂程度,包括了数据耦合、控制耦合等多种耦合方式,而内聚则是对一个模块内部各元素彼此结合的紧密程度的度量,一个内聚程度高的模块应当完成软件过程中的单一任务。这就好比,我们在编码的时候,尽量在一个方法体内封装针对一个业务逻辑的代码,每个方法之间的关联程度尽量降低,这些都是结构化的具体体现。

在总体设计中,我个人比较喜欢面向数据流的设计方法。通过分析和设计数据流图,形成最有效的业务解决方案,当然后期我们要对设计进行优化,力求做到在有效的模块化的前提使用最少量的模块,以及在能够满足信息要求的前提下用到最简单的数据结构,比如方法和类的规整,数据集合的选择等等。其实在这个过程中,设计人员往往会忽视总体设计说明书文档,这个文档对软件系统后期的维护至关重要,里面包含这总体设计、接口设计、数据结构设计、运行设计、出错处理设计和安全保密设计等等诸多内容,可以说涵盖了整个软件系统设计的核心技术。而在详细设计中,主要是为了明确每一个模块确定使用的算法和块内的数据结构。当然这里包含了很多设计原则,比如单一出入口原则,明确的控制结构以及自顶向下逐步求精的设计方法。只有在总体设计和详细设计的共同作用下才能形成结构化完整的软件系统。

参考资料:殷锋《软件工程》
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: