网站大量收购闲置独家精品文档,联系QQ:2885784924

[互联网]系统分析与设计基础-4.ppt

  1. 1、本文档共92页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[互联网]系统分析与设计基础-4

* 用活动图描述用例 “生成新订单” * 用例模型 若干张的用例图及用例描述构成了系统的用例模型 当系统逻辑较为复杂时,可使用包图来分类组织用例图(即分成若干包,每个包图中包括若干用例) 通常一个子系统对应一个包图 * 4.4 分析模型 用例模型给出了问题空间的描述(要实现哪些用例?),而分析模型则是解空间的逻辑描述(实现每个用例需要哪些对象?对象之间如何通信?) 分析模型包括: 静态模型:展示对象和类如何组成系统(分析类图) 动态模型:对象之间如何交互来实现系统行为(交互图,状态图、活动图) * 1)识别对象、类及其关系,建立类图 面向对象分析与设计的核心工作就是分析和设计对象及类,从而建立类图 步骤: 发现对象,识别其属性和操作 对对象进行合并和调整,为它们建立对应的类,确定类的属性和服务 结合用例的实现确定类的关系,建立类图 * 对象的识别 对象是系统中用来描述客观事物的一个实体,可从问题域的以下几个方面着手寻找: 实物:如图书,汽车,飞机 角色:如雇员,客户,管理员 组织部门:如系,分店,分行 交互行为信息(事件):订单,合同,交易记录 可以通过事件中的出现的名词(如客户,订单,销售报表)以及已有系统的信息中出现的名词来寻找、确定对象 对象的审查: 对象是否参与至少一个用例的实现?若没有,则删除 * 例:图书管理系统的类 类别 候选对象 人员 读者,图书管理员 组织 暂无 物品 图书,借书卡,书目,借书清单 设备 暂无 事件 借书,还书,逾期 规格说明 图书品种 政策或规则 罚款细则 * 对象属性的识别 属性是描述对象静态特征的一个数据项,以下问题的回答可帮助确定属性: 如何为对象做一般性的描述?(如客户对象的描述信息有姓名,性别,电话等) 在当前问题域, 对象还具备哪些特定描述项?(如网上订购系统的客户对象可增加“已购买商品的总价格”属性作为优惠依据) 为实现对象的功能还需要了解或提供哪些信息?(如为提供会员优惠,图书对象需要增加“会员价格”属性) 对象可能处于什么状态?(如图书就有有货、缺货两个状态) 对确定的每个属性在设计过程还需要说明:属性的数据类型?取值范围、缺省值?可见性?(公有?私有?) 属性的审查: 属性是否参与到某个操作中?若没有,则删除 该属性是否可从其他属性导出?若是,则删除(如年龄可从出生日期导出) * 例:图书管理系统的类(添加了属性) 借书记录中还需要 包含读者、所借图书等 属性,可在设计阶段补充 * 对象操作的识别 操作是描述对象动态特征的一个执行序列。可从以下几个方面着手确定: 考虑对象在系统中的可见行为(如客户对象更改个人信息,订单对象添加商品条目到订单) 分析用例应由哪些对象来实现,各对象各自完成哪些任务,对象是如何发送消息和接收消息并响应的?(可在绘制交互图时识别并添加这类操作) 分析对象的主要状态。状态的转换是由什么操作引发的?在特定状态下对象允许什么样的行为?(如图书对象在“有货”和“缺货”状态之间的转换是由“更新库存”操作引发的) 系统有哪些事件?哪些对象对事件有响应?(如发生库存缺货事件,则缺货商品对象需要创建订货单) * 例:图书管理系统的类图(添加了操作) * 类(对象)之间关系(关联)的确立 关联体现对象实例之间的关系,对象关联的静态特性通过类图反映,动态特性通过顺序图反映 * 类之间的关系 1.一般关联 表示类与类之间的关系 在类图中用一条把类连接在一起的实线表示 1)关联名称 描述关联的作用,通常用动词表示 如果关联的含义已经很明确,则关联名可省略 Company Person Employ 如果不使用关联名,则类的关系可以有多种解释,如Person类可以表示公司的客户、股东、雇员等 * 2)关联的角色 关联路径的两端为角色(role),角色规定了类在关联中所起的作用 如果在关联上没有标出角色名,则隐含地用类名表示 角色还具有多重性,表示可以有多少个对象参与该关联,由角色上的表达式指出,如: 0..1,0..*,1,1..*,*(即0..*) Company Person Employer Employee 1 * * 3)关联的导向性 单向关联:用单向箭头表示;只需要在源类中增加一个能访问目标类的属性,而目标类不需要了解源类 例: A B 类A的代码: public class A{ public B b; public A( ) {} } 类A中有类型为B的属性b 类B的代码: public class B{ public B( ) {} } 类B中没有类型为A的属性 双向关联:直接用实线表示(没有箭头);源类和目标类都需要增加属性来支

文档评论(0)

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

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

1亿VIP精品文档

相关文档