例子1:将下图的DFD/数据流图转换为软件/控制结构图(有误,看模式)
变换分析注意事项
①在选择模块设计的次序时,必须对一个模块的全部直接下属模块都设计完成之后,才能转向另一个模块的下层模块的设计。
②在设计下层模块时,应考虑模块的耦合和内聚问题,以提高初始结构图的质量。
③使用“黑箱”技术:在设计当前模块时,先把这个模块的所有下层模块定义成“黑箱”,在设计中利用它们时,暂时不考虑其内部结构和实现。在这一步定义好的“黑箱”,在下一步就可以对它们进行设计和加工。这样,又会导致更多的“黑箱”。最后,全部“黑箱”的内容和结构应完全被确定。
④在模块划分时,一个模块的直接下属模块一般在5个左右。如果直接下属模块超过10个,可设立中间层次。
⑤如果出现了以下情况,就停止模块的功能分解:
1)总述
2)事务分析过程
3)例子:请将下图的DFD转换为软件结构图
变换分析是软件系统结构设计的主要方法。一般,一个大型的软件系统是变换型结构和事务型结构的混合结构。所以,我们通常利用以变换分析为主,事务分析为辅的方式进行软件结构设计。
1)概念
2)面向对象设计与结构化设计的过程和方法完全不同,要设计出高质量的软件系统,记住:
对接口进行设计(接口清晰)
发现变化并且封装它(独立性)
先考虑聚合然后考虑继承(可复制性)
3)面向对象设计活动之一——构架设计
第1步构造系统的物理模型
第2步设计子系统
第3步非功能需求设计
4)面向对象设计活动之二——进一步细化用例
实体类源于业务模型中的业务实体,但出于对系统结构的优化,可以在后续的过程中被分拆、合并
如何找控制类?
5)顺序图(重点)
1》每个控制类还可以分别画出子顺序图
2》顺序图的组成
对象:用矩形框表示,其中是带下划线的对象名。对象横放在图的项部。
生命线:用垂直虚线表示。在生命线上的窄矩形条被称为激活。
消息可以是简单的、同步的或异步的。
如果一个对象发送了—个同步消息,那么它要等待对方对消息的应答,收到应答后才能继续自己的操作。
而发送异步消息的对象不需要等待对方的应答便可以继续自己的操作。