请教:关于面向对象的分析方法

关于面向对象的分析方法

如何进行分析? 盼能进行分析及举例说明(例如: XX管理系统,),

特别是涉及到的类, 属性,方法, 或是能指示可供参考的文章/资料。谢谢!

[该贴被vt于2007年10月12日 14:00修改过]

我们分析的步骤一般是这样的:

一。首先是需求分析,由需求分析画出能表达需求的用况图。
严格说以上两步不能算是面向对象的,任何开发方式都需要这样,无论是面向对象还是面向过程。

二。由用况图找出现实世界中相应的概念,有些称为概念模型,它没有定义操作和属性,它仅仅强调了领域中的模型,而不是软件实体,它没有任何职责,是客观世界中真实存在的事物。一般使用的方法是根据名词性短语找出概念的方法。找完后要存真去伪。

三。给概念添加关联,关联的添加主要可以依据以下三条原则。假设A,B是两个概念,则满足以下原则之一的就要添加一个关联:
1。A在物理上或逻辑上是B的一部分。
2。A在物理上或逻辑上包含在B中/依赖于B
3。A被记录在B中
找出所有的关联后还要从中选择在当前开发周期有用的关联,删除其中无用的,如果在以后的开发周期需要用到,还要添加进来。还有一个要注意的是关联的粒度问题,就是关联应该精细到什么程度的问题,这个要根据需求和自己的经验来定。

四。给概念添加属性。。。
不要意思,要出去办点事情,

在上面第2步,四色原型提供一个参考方法。

在实际中,给概念添加确定属性时,会发现或划分出新的模型,然后又会涉及新的关联关系。在这个步骤,Evans DDD又提供了方法参考

续上:
四。给概念添加属性
属性是某个对象的逻辑数据值,是在用况中提示或暗示我们要记下的信息。这个从一个客观事物应该存在的内部信息和实际需求能反应出来。
在这个分析阶段最容易犯的错误是用属性来联系两个概念,两个概念的联系只能用关联来表示和设计,因为分析阶段仅是客观事物而不是软件构件。但在设计阶段我们知道对象之间的关联通常是用指向其他复杂型的属性来表示。

五。分析出系统行为,画出系统顺序图
一个系统顺序图展示了参与者向系统发起的事件,这个图主要是查明要建立的系统是一个什么样的系统,系统要完成什么用的功能,而不强调怎么去完成。
一般是将参与者请求系统要执行的操作进行隔离考察并展示出这些操作,这些操作是由参与者向系统的输入事件发起的。

一般情况接下来就可以进入一个开发周期了。。。。。。

非常感谢几位大师的解答, 我还需要慢慢理解。

我也是刚进公司进行培训的,原来对面向对象的分析也没什么概念,手下的一个项目是按照这个过程进行分析的,我们共同学习 共同进步吧