正在加载图片...
第6章设计阶段 设计是运用专业知识针对确定的目标,提出具体解决方法的阶段。在设计阶 段,需要在各种解决办法中进行权衡,以确定最为合理的方案。因此,设计是一 个决策过程。在许多工程领域,如机械设计、电子设计、建筑设计行业,有着许 多设计规范、设计指南和计算公式,然而,在软件设计领域,目前似乎依然主要 依靠个人的经验和技艺进行决策,这就使得不同的人完成的软件设计有很大差别, 从而造成软件设计结果很难重用,软件的质量也很难保证。我们希望软件设计也 能够有系统化的、科学的方法,目的是遵照这一套方法,不同的人可以设计出差 别不大的系统,只有这样,设计的质量才能得到保证。 面向对象提供了一套从分析、设计、实现到测试的方法学。通过面向对象分 析已经建立了功能模型,对象模型和动态模型,在设计阶段,我们依然运用面向 对象方法,对类的定义进行细化,并将类组织成组件、子系统。由于分析阶段和 设计阶段都采用了对象模型,设计阶段的对象模型受到了分析阶段的对象模型的 直接启发,因此开展起来相对自然。然而,在设计阶段依然有许多决策是必须在 这个阶段做出的,例如整个系统需要分解成哪些子系统、整个软件的控制结构是 怎样的。本章中将围绕设计中的内容、方法、涉及到的模型和文档模板展开介绍。 值得指出的是,以面向对象的方式设计软件,与现实中创办一个企业、管理 一个企业有类似之处。作为软件设计者,要安排每一个软件对象的职责,确定它 们的交互方式,使得软件世界井然有序,运转高效;而作为企业的管理者,要安 排每一个人员的工作,确定他们之间的合作方式,使整个企业内责任明晰。保持 一个机构(无论是软件对象组成的机构,还是人组成的机构)高效运转的诀窍有 许多相似的原则,比如说,在一个企业中要使每一个人的职责比较明晰,不能把 过杂的责任分给一个人,在软件对象上,也是如此。因此,用管理好一个企业的 思维去考虑软件设计,是一个值得借鉴的思路。 6.1设计阶段的主要内容 设计阶段需要在不同层次上进行决策。我们把这种决策分为两个层次:系统 设计层和对象设计层。第 6 章 设计阶段 设计是运用专业知识针对确定的目标,提出具体解决方法的阶段。在设计阶 段,需要在各种解决办法中进行权衡,以确定最为合理的方案。因此,设计是一 个决策过程。在许多工程领域,如机械设计、电子设计、建筑设计行业,有着许 多设计规范、设计指南和计算公式,然而,在软件设计领域,目前似乎依然主要 依靠个人的经验和技艺进行决策,这就使得不同的人完成的软件设计有很大差别, 从而造成软件设计结果很难重用,软件的质量也很难保证。我们希望软件设计也 能够有系统化的、科学的方法,目的是遵照这一套方法,不同的人可以设计出差 别不大的系统,只有这样,设计的质量才能得到保证。 面向对象提供了一套从分析、设计、实现到测试的方法学。通过面向对象分 析已经建立了功能模型,对象模型和动态模型,在设计阶段,我们依然运用面向 对象方法,对类的定义进行细化,并将类组织成组件、子系统。由于分析阶段和 设计阶段都采用了对象模型,设计阶段的对象模型受到了分析阶段的对象模型的 直接启发,因此开展起来相对自然。然而,在设计阶段依然有许多决策是必须在 这个阶段做出的,例如整个系统需要分解成哪些子系统、整个软件的控制结构是 怎样的。本章中将围绕设计中的内容、方法、涉及到的模型和文档模板展开介绍。 值得指出的是,以面向对象的方式设计软件,与现实中创办一个企业、管理 一个企业有类似之处。作为软件设计者,要安排每一个软件对象的职责,确定它 们的交互方式,使得软件世界井然有序,运转高效;而作为企业的管理者,要安 排每一个人员的工作,确定他们之间的合作方式,使整个企业内责任明晰。保持 一个机构(无论是软件对象组成的机构,还是人组成的机构)高效运转的诀窍有 许多相似的原则,比如说,在一个企业中要使每一个人的职责比较明晰,不能把 过杂的责任分给一个人,在软件对象上,也是如此。因此,用管理好一个企业的 思维去考虑软件设计,是一个值得借鉴的思路。 6.1 设计阶段的主要内容 设计阶段需要在不同层次上进行决策。我们把这种决策分为两个层次:系统 设计层和对象设计层
向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有