1、单元 08 软件设计 2单元目标 动态模型设计学习任务任务描述了解什么是动态模型和静态模型,动态模型有什么优越性。什么是状态图,什么是时序图,什么是协作图,什么是活动图,以及如何绘制 UML 动态模型。知识准备软件设计是从软件需求规格说明书出发, 根据需求分析阶段确定的功能设计软件系统的整体结构、划分功能模块、确定每个模块的实现算法以及编写具体的代码,形成软件的具体设计方案。软件设计是把许多事物和问题抽象起来, 并且抽象它们不同的层次和角度。将问题或事物分解并模块化使得解决问题变得容易,分解的越细模块数量也就越多, 它的副作用就是使得设计者考虑更多的模块之间耦合度的情况。8.1 动态模型设计模
2、型表示系统静态和动态的行为。这种表示形式可为同一系统提供不同的视角。静态模型展示了待开发系统的结构特征。 类图是系统静态模型的一部分。而动态模型用于描述系统的过程和行为,例如描述系统从一种状态到另一种状态的转换。动态模型描述与操作时间和顺序有关的系统特征、 影响更改的事件、事件的序列、事件的环境以及事件的组织。借助时序图、状态图和活动图,可以描述系统的动态模型。动态模型的每 个图均有助于理解系统的行为特征。对于开发人员来说,动态建模具有明确性、可视性和简易性的特点。大量成功的软件工程实践难了动态模型的补助性, 而动态模型的优越性使得该方法被广泛接受。动态建模的优势性列举如下:1: 如同建筑物或
3、永恒的建筑模型可显示施工场地的结构和设计一样,动态模型使用户和开发人员能更容易地理解构思中的系统。2:建模有助于解释状态的更改,并通过将不重要的方面与重要的方面分开而子降低复杂度。 借助每个状态图和时序图可降低系统的复杂度。3:借助于动态模型,可监视构思中的系统是否存在任何类型的缺陷,如果在开发开始后才发现这些缺陷,则可能需要付出昂贵的代价。4:维护模型比维护系统容易得多,成本也降低了很多。状态图状态图描述了单个事物如何为响应发生的事件而更改状态和生成响应,并通过此方式与其环境进行交互。时序图时序图用于按时间顺序模拟控制流程。 它显示了在对象生命线上各点之间的对象传递的消息, 演示了在时间序列中对象之间的交互 。协作图协作图用于按组织模拟控制流程。消息在对象之间传递,但重点应在于演示或检测对象间结构样式的协作。活动图活动图显示活动与活动之间的流程。 活动是状态机中当前执行的活动,由作用于系统状态的操作组成。任务实训实训目的 动态模型设计