我爱Aspx >> VC.Net >> 第2章 模型的性质与目标通过研究一个大型软件系统的模型可以提出多个实际方案并可以对它们进行相互比较。当然模型不可能做得足够精细,但即使一个粗糙的模型也能够说明在最终设计中所要解决的许多问题。利用模型可以研究多种设计方案,所花费的成本只是实现其中一种方案所花费的成本。
7. 利用模型可以全面把握复杂的系统
一个关于龙卷风袭击建筑物的工程模型中的龙卷风不可能是真实世界里的龙卷风,仅仅是模型而已。真正的龙卷风不可能呼之即来,并且它会摧毁测量工具。许多快速,激烈的物理过程现在都可以运用这种物理模型来研究和理解。
一个大型软件系统由于其复杂程度可能无法直接研究,但模型使之成为可能。在不损失细节的情况下,模型可以抽象到一定的层次以使人们能够理解。可以利用计算机对模型进行复杂的分析以找出可能的“问题点”,如时间错误和资源竞争等。在对实物做出改动前,通过模型研究系统内各组成部分之间的依赖关系可以得出这种改动可能会带来哪些影响。
2.3 模型的层次
针对不同目的,模型可以采取各种形式及不同的抽象层次。模型中所包含的信息量必须对应于以下几种目的:
1. 指导设计思路
在项目早期所建立的高层模型用于集中利益相关者的思路和强调一些重要的选择方案。这些模型描述了系统的需求并代表了整个系统设计工作的起点。早期的模型帮助项目发起者在把精力放在系统的细节问题之前研究项目可能的选择方案。随着设计工作的进展,早期模型被更为精确的模型所替代。没有必要详细保存早期研究过程中的种种选择方案和返工情况。早期模型的目的是帮助获得思路。但最后得到的“思路模型”要在进行详细设计前记录下来。早期模型不需要达到实现阶段的模型的精确程度,无须涉及有关系统实现的一套概念。建立这种模型只使用了 UML定义的组件的一个子集,比后期的设计阶段的模型使用的组件要少得多。
当早期模型发展到具有一定精度的完整的视图模型时—例如,分析系统需求的模型—那么要在开发过程进入下一阶段时将其保存下来。不断向模型中填加信息的增量式开发(在这种情况下开发的推理过程也要保存和记录)与一般的针对“死端点”进行研究直到得出正确的解决方案的随意漫步式开发之间一个重要的区别。后一种情况通常使人不知怎么着手,并且根本没有必要对整个开发过程进行记录保存,除非遇到特殊情况需要对开发过程进行回溯。
【我对这篇文章有话说?】
第1章 UML综述[05-21]
用Junit Framework编写单元测试[05-21]
对象式程序设计方法 作者:夏寒[05-21]
用Junit Framework编写单元测试[05-21]
软件开发与数学证明[05-21]
软件开发与数学证明[05-21]
DirectShow系列讲座之三——开发..[05-21]
DirectShow系列讲座之三——开发..[05-21]
DirectShow系列讲座之二——Filt..[05-21]
DirectShow系列讲座之二——Filt..[05-21]