领域分析--认识领域分析
软件分析的开端一般是需求分析。但是在实践中,发现了很多的问题。
1 用户的需求并不是有用户提出。在和用户或软件的风险承担者交谈后,会常发现,他们对自己想要的
软件并不是很清楚,会提出一些笼统的要求。在开发出一个原型后,他们会修正或更改,甚至推翻他们
的需求。你会发现是你在不断的提出、完善需求,用户或风险承担者只是在裁决你的需求。而这样下去
你的软件要不断的改,好像遥遥无期。
2 需求多是一种功能的集合。软件出来后,如果有了改动,或在新的项目中去复用以前的软件会发现很
难。对每个需求,你不得不从头开始。
领域分析和需求分析不同,它不是面向功能的。而是面向问题的。这有些像考试中解题。针对特定的问
题,来提供解决方案,并在这个方案的直接指导下解出题目。这个直接指导很有意义,应为直接指导表
示解题的方案将被应用到解题的过程中(即是可实现的)。
领域分析不是对要构造的软件进行全面的分析。而是对软件涉及到的特定的领域进行分析(如写多媒体
软件,你要对音视频领域进行分析)。而领域是与特定的知识相关联的(如音视频领域中关于音频、视
频编解码知识,领域分析要搞清楚这个领域中的知识,找出各知识点中的关系,并对它们进行抽象,形
成模型。领域分析强调的是问题域。这就是说它面对的是一个相对确定的范围。软件要解决的是一个相
对确定的范围。也有利于测试软件。
领域分析不能代替需求分析,但是可以脱离需求来对特定的领域进行分析。领域分析后产生的设计要直
接指导实现,可以映射到软件中。由于领域分析是面对问题的,它产生的软件不一定能满足需求,可能
根本就对应不上需求。但是它是特定问题的解决方案,可以作为一个机制来支持需求的实现。而且特定
的问题或着说这种反应某个领域中的知识关系的软件其对应的是一种稳定的需求,比较容易复用、测试
和发展。
面对需求分析得到是一种应用的要求。而根据软件涉及的领域进行分析,得到的是它的基本机制。应用
是多样的,而机制其实就只有那么几个。根据应用的要求来组合这些机制。这样需求的变化,并不会去
过多的冲击你通过领域分析得到的模型和实现。你要做的是对他们进行组合。
posted on 2007-07-11 15:54
walkspeed 阅读(2747)
评论(3) 编辑 收藏 引用 所属分类:
C++语言 、
设计