北京大学工程硕士软件工程教材软件工程串讲1教学讲义.ppt

北京大学工程硕士软件工程教材软件工程串讲1教学讲义.ppt

  1. 1、本文档共142页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
3、 状态图 状态图用于描述模型元素(如对象)的行为。特别是,用它描述元素之状态的可能序列和动作的可能序列。因对特定事件(如信号和操作调用)的响应,元素在其生命期中要经历这样的状态,并执行相应的动作。 1 ) 状态图 (1) 语义 通过描述对事件实例接收的响应,状态图描述了具有动态行为能力的实体之行为。 通常用状态图描述类的行为,也可以用它描述其它模型实体(如用况、参与者、子系统、操作或方法)的行为。 (2) 表示法 状态图是表示状态机的图。用适当的状态表示状态机图中的状态;一般地,用连接状态的有向弧表示转换。 (3) 实例 简单的电话状态的转换 其中: 状态 转换 Ringing 事件 状态 (1) 语义 一个状态是对象在其生命期内的一个条件,或在对象满足某个条件、进行某个动作或等待某个事件的期间内的一个交互。在概念上,对象要在一个状态内维持一段时间。 在这一语义下,可以对瞬时状态建模,以及对非瞬时的交互建模。 (2) 表示法 把一个状态表示成一个四角均为圆角的矩形。 根据需要,可以把状态划分成由水平线相互分隔的多个分栏: ???? ?名称分栏 给出状态名。在同一张状态图里不应该出现具有相同名称的状态。 如果没有状态名称,那么该状态就是匿名的。同一张图中的匿名状态是各不相同的。 ?????? ?内部转换分栏 给出在这个状态中对象所执行的内部动作或活动的列表 其一般格式为: 动作标号’/’ 动作表达式 其中:动作标号标识在该环境下要调用由动作表达式指定的动作。 动作表达式可以使用对象范围内的任何属性和链。若动作表达式为空,则可省略斜线分隔符。 下面给出专用的动作标号(注:它们不能用作事件名): ???????? entry 该标号标识在进入状态时,执行由相应的动作表达式规定的动作(进入动作)。 ????????? exit 该标号标识在退出状态时,执行由相应的动作表达式规定的动作(退出动作)。 ?????????? do 该标号标识正在进行的活动(“do 活动”)(只要被建模的元素是在状态中,没有完成由动作表达式指定的计算,就执行这个活动;当动作表达式指定的计算完成时,可能产生一个完成事件)。 3) 事件 (1) 语义 事件是值得注意的所发生的事情。按照状态图的具体用意,事件是指可以引发状态转换的所发生的事情。 事件可以分为: a)条件(用布尔表达式描述)变为真。不论何时,只要条件变为真,事件都发生。(注意:这不同于监护条件。无论什么时候激发具有监护条件的事件,都对监护条件进行求值。如果求值的结果为假,转换就不发生,并且事件丢失。) b)一个对象对另一个对象的显式信号的接收,导致一个信号事件。把这样的事件的特征标记放由它所触发的转换上。 c)对操作的调用的接收,导致一个调用事件。 d)在指定事件(经常是当前状态的入口)后,经过了一定的时间或到了指定日期/时间,导致一个时间事件。 3 4 6 8 2 5 7 9 A2 c b d e f g i h m k n 1 10 A1 x 一个系统的DFD,通常是变换型数据流图和事务型数据流 图的组合。如下所示: 第二步:如何将初始的MSD转化为最终可供详 细设计使用的MSD ? 概念:模块 ? 模块化 模块化度量:内聚 耦合 ? 设计规则-经验规则 ? 精化初始的MSD -体现设计人员的创造 1)耦合:不同模块之间相互依赖程度的度量。 耦合类型: (1)内容耦合:一个模块直接修改或操作另一个模块的数据 (2)公共耦合:两个以上的模块共同引用一个全局数据项。 (3)控制耦合:一个模块向另一模块传递一个控制信号, 接受信号的模块将依据该信号值进行必要的活动。 (4)标记耦合:两个模块至少有一个通过界面传递的公共 有结构的参数。 (5)数据耦合:模块间通过参数传递基本类型的数据。 2)内聚:一个模块之内各成分之间相互依赖程度的度量。 内聚类型: (1)偶然内聚:一个模块之内各成分之间没有任何关系。 (2)逻辑内聚:几个逻辑上相关的功能放在同一模块中。 (3)时间内聚:一个模块完成的功能必须在同一时间内完成,而 这些功能只是因为时间因素关联在一起。 (4)过程内聚:处理成分必须以特定的次序执行。 (

文档评论(0)

youngyu0301 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档