第一次系统分析,遇到的小问题

jmj_win 2006-03-02 03:16:09
我在分析时常搞不清类与类之间一些关系,比如组合这个概念,书上常拿一个桌子是由桌面与腿这两个类组成的。但实际分析时并不简单,我现在遇到的,有一个具体的设备,这个设备每次使用一次就要把它的使用情况记录下来,留个档。那这个具体设备类与档案类,到底是什么关系呢,是组合啊还是简单的静态关联。用静态关联也可以:具体设备->档案
记录
...全文
210 点赞 收藏 6
写回复
6 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
chinank 2006-03-07
mark
回复
cuiyue4420 2006-03-07
不是类,是属性
回复
rtdb 2006-03-03
那这个具体设备类与档案类,到底是什么关系呢,是组合啊还是简单的静态关联?

我认为关键在于你的档案类是怎样的定义的。
若是你认为每个档案类之间都是没有关系的, 又要求每个具体设备类中必须要有个档案类,
那么把它们定义为组合也未尝不可。

不过在实际系统设计中,松散要优于紧密,应优先使用较弱的关系以减少类之间的依赖。

回复
cuizhen7 2006-03-02
聚合是指一个对象拥有另一个对象,仅强调“拥有”。而组合是指一个对象是另一个对象的一部分,强调“不可分割”,两个对象具有相同的生命周期。两者的差别就好比创立一间公司时可以不要雇员(拥有),但创造一个人时您却不能丢掉了他的大脑(不可分割)。
关联是一种结构关系,表现为一个对象能够获得另一个对象的实例引用并调用它的服务(即使用它);
依赖是一种使用关系,表现为一个对象仅仅是调用了另一个对象的服务。相识既可能是关联,也可能是依赖。
依赖是比关联弱的关系,关联代表一种结构化的关系,比如:一个类的中如果属性中出现另外一个类,则表示是关联关系,而在方法中的参数或返回值中出现另外一个类,则表示以来关系。
回复
jiezhi 2006-03-02
sorry,没有看清楚.

我建议你先做好需求的分析,即得到用例后,得到分析类(不管关系),画出"用例实现",使用序列图画出basic flow,从而能得到class的关系.

之后,将这些分析类做进一步的处理,做进一步的抽象,应用合适的设计模式,逐步得到合理的设计.
回复
jiezhi 2006-03-02
刚开始的时候不要为用例之间的关系浪费时间,很多资深的人都为了到底是include还是extend而争论不休,结果浪费了很多时间.

建议去看看<编写有效的用例>,写得非常好
回复
相关推荐
发帖
研发管理
创建于2007-08-27

1218

社区成员

软件工程/管理 管理版
申请成为版主
帖子事件
创建了帖子
2006-03-02 03:16
社区公告
暂无公告