《电子商务系统的分析与设计-第4章.ppt》由会员分享,可在线阅读,更多相关《电子商务系统的分析与设计-第4章.ppt(76页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第四章电子商务系统的分析第四章电子商务系统的分析问题定义问题定义 可行性研究可行性研究 需求分析需求分析 总体设计总体设计 详细设计详细设计 编码与单元测试编码与单元测试 综合测试综合测试 运行维护运行维护问题问题是什么是什么?有可有可行行的解的解吗吗?系统必须系统必须做什么做什么?新系统的逻辑模型是?新系统的逻辑模型是?o要搞清楚的问题要搞清楚的问题n既有的系统是如何工作的?(获取需求)既有的系统是如何工作的?(获取需求)n用户希望新系统如何工作?用户希望新系统如何工作?(新系统(新系统逻辑模型逻辑模型的建立)的建立)o获取系统需求信息获取系统需求信息n功能需求功能需求n非功能性需求(性能需
2、求,安全需求、可用性需求等)非功能性需求(性能需求,安全需求、可用性需求等)o成果成果n需求分析报告需求分析报告n针对新系统建立的模型针对新系统建立的模型系统系统SDLC中的系统分析中的系统分析l 已有信息系统已有信息系统l 人工处理的系统人工处理的系统电子商务系统分析电子商务系统分析vs一般的信息系统分析一般的信息系统分析o基本的方法、过程和工具相同基本的方法、过程和工具相同o不同点主要体现在不同点主要体现在n调研分析的边界调研分析的边界n创新性创新性o电子商务系统分析要求电子商务系统分析要求n以以EC战略规划和战略规划和EC系统规划成果为依据系统规划成果为依据n充分理解管理及业务人员的需求
3、充分理解管理及业务人员的需求n借鉴借鉴典型的电子商务系统典型的电子商务系统功能功能IS:主要调查企业内部的要求,存在手工系统或旧的信息系统;ECIS:企业内和企业外(客户、供应商)两方面的要求;或者EC尚未开展,新建的系统是全新的。一一.企业经营过程中的基本商务活动企业经营过程中的基本商务活动企业的主要商务活动及它们之间的信息流转企业的主要商务活动及它们之间的信息流转 p68市场活动(市场活动(Marketing)o目标目标n增加客户对企业及相关产品的认知程度,了解企业的服务增加客户对企业及相关产品的认知程度,了解企业的服务n为企业发现潜在的商业机会,发掘潜在客户,发现客户需求为企业发现潜在的
4、商业机会,发掘潜在客户,发现客户需求n培养客户的忠诚度培养客户的忠诚度o要点要点n企业的形象企业的形象n产品或服务的优势及特点(竞争力)产品或服务的优势及特点(竞争力)n客户,发现客户的需求客户,发现客户的需求o借助于借助于Internet,电子商务可以:,电子商务可以:n获得不受地域限制的市场宣传空间获得不受地域限制的市场宣传空间n减少对外界力量的依赖,直接面对潜在客户减少对外界力量的依赖,直接面对潜在客户n拥有最廉价的信息发布渠道拥有最廉价的信息发布渠道n直接通过客户的浏览及消费历史记录获取用户需求信息直接通过客户的浏览及消费历史记录获取用户需求信息销售活动(销售活动(Sale)o销售过程
5、实质上是为用户提供销售过程实质上是为用户提供备选产品备选产品的过程,这一过程包括:的过程,这一过程包括:产品的发现、选择两个基本环节。产品的发现、选择两个基本环节。o目标目标n与顾客达成交易,并使交易结果符合企业利益需要与顾客达成交易,并使交易结果符合企业利益需要o要点要点n产品的信息及描述产品的信息及描述n消费的环境消费的环境o电子商务中的销售活动可以:电子商务中的销售活动可以:n为客户提供发现产品的新渠道为客户提供发现产品的新渠道n带来交易方式的变革,使交易免受地域的限制带来交易方式的变革,使交易免受地域的限制n直接产生电子化的交易记录直接产生电子化的交易记录订货(订货(Order)o目标
6、目标n满足企业生产和销售的需要满足企业生产和销售的需要o要点要点n供应商的选择供应商的选择n运输运输n合适的库存量合适的库存量o电子商务系统可以电子商务系统可以n优化订货需求优化订货需求n帮助扩大供应商的选择范围,优化供应商选择结果帮助扩大供应商的选择范围,优化供应商选择结果n提高订货过程的效率提高订货过程的效率n改善对运输过程的监管和优化改善对运输过程的监管和优化支付与交付(支付与交付(Payment&Delivery)o支付与交付的过程也就是履行订单的执行过程支付与交付的过程也就是履行订单的执行过程o目标目标n完成交易费用的给付完成交易费用的给付n完成产品的包装、运输和递交完成产品的包装、
7、运输和递交n完成产品所有权的转移完成产品所有权的转移o要点要点n安全性安全性n时间时间n费用费用o电子商务系统可以电子商务系统可以n缩短支付时间,降低支付成本缩短支付时间,降低支付成本n实现交付过程可视化实现交付过程可视化n追踪订单执行过程追踪订单执行过程n提供无形产品的交付渠道提供无形产品的交付渠道客户服务(客户服务(Service)o目标目标n培养客户忠诚度培养客户忠诚度n从服务中发现客户需求,为市场及销售活动提供依据从服务中发现客户需求,为市场及销售活动提供依据o要点要点n订单完成情况的检查订单完成情况的检查n产品使用的反馈产品使用的反馈n订货及客户历史记录订货及客户历史记录n客户行为分
8、析客户行为分析o电子商务可以电子商务可以n提供新的客户服务方式(在线、远程、动态)提供新的客户服务方式(在线、远程、动态)n使服务超越地域和时间的限制使服务超越地域和时间的限制n加快服务的反馈加快服务的反馈n提供提供One-To-One 的个性化服务的个性化服务n提供自助式服务提供自助式服务n进行服务过程的记录及历史记录的挖掘进行服务过程的记录及历史记录的挖掘二、典型的电子商务业务需求二、典型的电子商务业务需求o企业的电子商务可以划分为B2B,B2C等几种模式。o虽然企业的产品和服务不同,但是在几种典型商务模式的业务需求方面有相同处。o了解这些典型需求,对于系统需求分析有一定启发。B2C的电子
9、零售系统的基本需求的电子零售系统的基本需求o用户管理需求用户管理需求n用户注册用户注册n注册用户信息管理注册用户信息管理o客户需求客户需求n提供电子目录,帮助用户搜索、发现需要的商品提供电子目录,帮助用户搜索、发现需要的商品n进行同类产品的比较,帮助用户进行购买决策进行同类产品的比较,帮助用户进行购买决策(列举产品的各种参数列举产品的各种参数)n购物车购物车n为购买产品下订单、订单管理(撤销、修改订单)、订单状态的跟踪为购买产品下订单、订单管理(撤销、修改订单)、订单状态的跟踪n提供多种支付手段(在线银行、第三方支付、货到付款等)提供多种支付手段(在线银行、第三方支付、货到付款等)o销售商的需
10、求销售商的需求n检查客户的注册信息检查客户的注册信息n处理客户的订单处理客户的订单n完成客户选购产品的结算,处理客户付款完成客户选购产品的结算,处理客户付款n各种商品信息的维护各种商品信息的维护n商品库存管理商品库存管理n跟踪产品销售情况跟踪产品销售情况n能够和物流配送系统建立接口能够和物流配送系统建立接口n售后服务售后服务B2B电子商务电子商务oB2B电子商务的基本形式 n传统的EDI方式n电子交易市场方式(基于Internet的商务)o通过虚拟的、功能完备的电子中介将不同的企业联系在一起o消除中介众多的弊端,使得企业间的联系更紧密o消除了中间环节,降低了成本,增加了企业利润通用汽车公司每年
11、需要从2万多家供应商购买20余万种产品,交易额超过1000亿。传统的采购方式是通过信函邀标的方式进行的,一次招标过程要经历几轮、几个月的时间,成本较高。通用公司开发了tradeXchange B2B交易系统,帮助决定供应商,是这部分的成本下降了40%,有效降低了采购成本。借借FreeMarkets搭全球网上竞标平台搭全球网上竞标平台联想期待降联想期待降10采购成本采购成本家乐福家乐福GNX网上竞标平台网上竞标平台为供应商提供一个公平竞价的平台。为供应商提供一个公平竞价的平台。B2B电子商务电子商务oB2B电子商务中的主要实体电子商务中的主要实体n卖方企业、买方企业、中介(银行等)、物流企业(含
12、运输、仓储、包装等)和政府机构(如税务、海关等)。oB2B电子商务活动中处理的信息电子商务活动中处理的信息n产品或服务性能、规格、价格等n买卖企业名称、特点、产品、销售历史等n运输企业名称、运输路线、运力、费用等n仓储企业名称、仓储能力、费用等B2B电子商务的基本需求电子商务的基本需求o会员管理会员管理n会员身份管理会员身份管理n会员资料管理会员资料管理n权限控制权限控制o产品目录管理产品目录管理o审批流程审批流程o订单管理订单管理o交易定价交易定价o拍卖和投标采购拍卖和投标采购o网络支付网络支付 企业门户网站的基本需求o企业基本信息发布o企业动态与新闻o企业产品与服务o搜索与索引,可帮助用户
13、尽快找到相关信息o电子邮件、客服联系方式、用户反馈o用户访问统计、网站访问分析o个性化服务o电子社区o相关链接电子商务物流配送系统基本需求o合约议定o仓储管理n收货管理n储放管理n出货通知n拣货管理n循环盘点n实物盘点o货物追踪o运输管理o客户管理o费率管理o账务管理o报表管理三、电子商务系统分析的过程三、电子商务系统分析的过程o信息系统分析的基本思路信息系统分析的基本思路o电子商务系统分析的基本过程和方法电子商务系统分析的基本过程和方法3.1 信息系统分析的基本思路信息系统分析的基本思路o自顶向下自顶向下o从静到动从静到动o去伪存真去伪存真o不断迭代不断迭代首先从宏观的层次进行抽象(SA中分
14、层DFD,OOA中的概念层类图、逻辑层类图、实现层类图)首先业务的静态特征,然后在考虑其动态行为(SA中先识别实体、加工、数据,然后在联系起来;OOA中现识别类,在讨论对象之间的消息传递、协作)体现系统分析的反复性,表明系统分析过程是一个不断加深认识的过程。每次分析过程,去除不确切的地方,以便反应业务的真实状况。3.2 电子商务系统分析的基本过程电子商务系统分析的基本过程o进行进行需求调查需求调查,获取需求(,获取需求(Requirements)p78o整理提炼,针对需求进行整理提炼,针对需求进行建模建模利用相关的软件工程方法和工具利用相关的软件工程方法和工具n结构化分析方法结构化分析方法 D
15、FD n面向对象的分析方法面向对象的分析方法 UMLn原型法原型法o反复修改反复修改在开发一个系统期间所产生的中间描述或文档为模型;模型的产生过程,我们叫做建模。系统分析阶段需要建立新系统的逻辑模型。需求调查(需求获取)需求调查(需求获取)o参与人员:参与人员:n系统分析人员与业务人员系统分析人员与业务人员共同完成共同完成o方法方法n访谈访谈n问卷调查问卷调查n跟班跟班n查阅资料查阅资料n利用原型利用原型o可采纳的资料素材可采纳的资料素材n有关机构组成和职责的有关机构组成和职责的规定规定n报表报表n历史数据历史数据n访谈记录访谈记录n相关法律、法规、文件相关法律、法规、文件等等o成果成果n需求
16、调查报告需求调查报告n相关资料素材相关资料素材四、结构化分析方法四、结构化分析方法 (Structured Analysis,SA)o结构化模型的基本出发点结构化模型的基本出发点 P81o计算机数据处理过程:计算机数据处理过程:IPOo结构化分析方法是一种面向数据流的需求分结构化分析方法是一种面向数据流的需求分析方法,也是一种建模活动,它主要根据软析方法,也是一种建模活动,它主要根据软件内部的数据传递、变换关系,自顶向下逐件内部的数据传递、变换关系,自顶向下逐层分解,描绘出满足功能要求的软件系统。层分解,描绘出满足功能要求的软件系统。o尤其适合于较大型的信息系统尤其适合于较大型的信息系统结构化
17、分析的主要工具结构化分析的主要工具o数据流图数据流图(DFD):功能模型):功能模型o数据字典数据字典(DD)o实体关系图(实体关系图(E-R图):数据模型图):数据模型o状态变迁图状态变迁图(STD图):行为模型图):行为模型数据流图(数据流图(DFD)oData Flow Diagramo用于表示数据在信息系统中的流动情况,但用于表示数据在信息系统中的流动情况,但不表示具体的程序逻辑和处理步骤不表示具体的程序逻辑和处理步骤数据流图的基本元素数据流图的基本元素数据流图的基本元素(续)数据流图的基本元素(续)o数据流数据流n是数据在系统内传播的路径,由一个或一组数据项构成。是数据在系统内传播的
18、路径,由一个或一组数据项构成。n除了数据存储之间的数据流不用命名外,其它数据流应除了数据存储之间的数据流不用命名外,其它数据流应该用名词或名词短语命名。该用名词或名词短语命名。(对于有些含义比较明显的对于有些含义比较明显的数据流也不一定加以命名)数据流也不一定加以命名)n数据流的准确定义由数据字典数据流的准确定义由数据字典Data Dictionary给出给出o实体实体n代表了系统边界之外的,与系统存在数据交换的人员、代表了系统边界之外的,与系统存在数据交换的人员、组织或其它系统组织或其它系统数据流图的基本元素(续)数据流图的基本元素(续)o处理处理n也称为数据加工,它对数据流进行某些操作或变
19、换。也称为数据加工,它对数据流进行某些操作或变换。n每个处理要有名字,通常是动词短语,简明地描述完成每个处理要有名字,通常是动词短语,简明地描述完成什么处理。什么处理。n在分层的数据流图中,处理还应有编号。在分层的数据流图中,处理还应有编号。o数据存储数据存储n指暂时保存的数据,它可以是数据库表、文件或其它任指暂时保存的数据,它可以是数据库表、文件或其它任何形式的数据组织。何形式的数据组织。n流向数据存储的数据流可理解为写入存储或提交查询请流向数据存储的数据流可理解为写入存储或提交查询请求,从数据存储流出的数据可理解为从存储设备读数据求,从数据存储流出的数据可理解为从存储设备读数据或得到查询结
20、果。或得到查询结果。n数据存储也可有编号数据存储也可有编号数据流图的绘制方法数据流图的绘制方法o首先,确定系统的边界和外部实体首先,确定系统的边界和外部实体o绘出系统的顶层数据流图(绘出系统的顶层数据流图(context diagram)n只包含一个处理,标号为只包含一个处理,标号为0,且名称为整个系,且名称为整个系统的名称统的名称o在顶层数据流图的基础上,细化得出第在顶层数据流图的基础上,细化得出第0层层数据流图数据流图o逐层细化,扩展得出更低一层的数据流图,逐层细化,扩展得出更低一层的数据流图,直到所有处理都已足够简单直到所有处理都已足够简单绘制数据流图的规则绘制数据流图的规则o每个数据流
21、都至少有一端是连接到处理的每个数据流都至少有一端是连接到处理的o每个处理都至少有一个输入数据流,且至少每个处理都至少有一个输入数据流,且至少有一个输出数据流有一个输出数据流o每一个数据存储都必须通过数据流连接到处每一个数据存储都必须通过数据流连接到处理理o一般情况下,每个数据存储都应该既有输入一般情况下,每个数据存储都应该既有输入数据流,又有输出数据流数据流,又有输出数据流o注意命名的唯一性、易懂性注意命名的唯一性、易懂性绘制数据流图的常规原则绘制数据流图的常规原则o同一幅图上包含的处理不超过同一幅图上包含的处理不超过9个个o尽量避免数据流的交叉尽量避免数据流的交叉o使用多级符号,表示处理之间
22、的父子关系使用多级符号,表示处理之间的父子关系案例:家具公司电子商务系统案例:家具公司电子商务系统o外部实体外部实体n客户客户n内容维护人员内容维护人员n销售人员销售人员n生产调度系统生产调度系统(生产调度人员)(生产调度人员)n财务系统(财务人员)财务系统(财务人员)n客服人员客服人员n物流跟踪系统物流跟踪系统n维修人员维修人员 案例:主要处理案例:主要处理o用户管理用户管理n注册注册n登录登录n用户信息检索用户信息检索n用户信息维护用户信息维护o产品展示产品展示n产品目录浏览产品目录浏览n产品信息检索产品信息检索n产品效果图展示产品效果图展示o网上订货网上订货n购物车处理购物车处理o添加到
23、购物车添加到购物车o修改购物车修改购物车n下订单下订单n订单确认订单确认n订单跟踪订单跟踪o客户服务客户服务n咨询咨询n报修报修n派发修理通知派发修理通知n服务跟踪服务跟踪o信息发布信息发布n企业信息发布企业信息发布n产品信息发布产品信息发布n招聘信息发布招聘信息发布o企业企业/招聘信息检索招聘信息检索o统计分析统计分析数据字典(数据字典(Data Dictionary,DD)o1订单订单n1.1 订单标识订单标识n1.2 顾客详情顾客详情n1.3 书籍详情书籍详情o1.1 订单标识订单标识n1.1.1 订货日期订货日期n1.1.2 订单编号订单编号o1.2 顾客详情顾客详情n1.2.1 姓名
24、姓名n1.2.2 联系电话联系电话n地址地址nIDo1.2.2 联系电话联系电话n固定电话固定电话n移动电话移动电话说明:上述两项至少一项说明:上述两项至少一项为非空为非空行为模型:状态变迁图(行为模型:状态变迁图(STD图)(参考)图)(参考)o目标:直观地分析系统的动作目标:直观地分析系统的动作o从特定的视角出发描述系统的动态行为从特定的视角出发描述系统的动态行为状态迁移图的内容(参考)状态迁移图的内容(参考)o描述系统行为的三个要素:描述系统行为的三个要素:l 状态状态l事件事件(输入)(输入)用圆圈用圆圈用圆圈用圆圈“”表示表示表示表示l状态迁移状态迁移(输出)(输出)用箭头用箭头用箭
25、头用箭头“”表示表示表示表示用字符表示用字符表示用字符表示用字符表示状态迁移图的表示举例(参考)状态迁移图的表示举例(参考)s s1 1s s2 20110s s3 310状态迁移图的应用(参考)状态迁移图的应用(参考)o作用作用n明确系统需求明确系统需求n确定系统在不同状态下的可能的动作确定系统在不同状态下的可能的动作n进而指导系统设计进而指导系统设计o实现实现n引入状态变量引入状态变量n对应不同状态变量值,提供不同的界面、处理对应不同状态变量值,提供不同的界面、处理面向过程模型的弊端面向过程模型的弊端o以实现功能的过程为中心,而用户的需求变以实现功能的过程为中心,而用户的需求变化主要是针对
26、功能的,且功能变化往往引起化主要是针对功能的,且功能变化往往引起较大的结构变化,因此,系统较大的结构变化,因此,系统稳定性不好稳定性不好。o系统有明确的边界定义,且系统结构依赖于系统有明确的边界定义,且系统结构依赖于系统边界的定义。这样的系统系统边界的定义。这样的系统不易扩充和修不易扩充和修改改。o 可重用性可重用性(reusability)(reusability)较差较差。五、面向对象的分析与设计方法五、面向对象的分析与设计方法(Object Oriented Analysis&Design,OOA&OOD)o基本思想:基本思想:现实世界由相互联系的各种事物组成,每一事物均现实世界由相互联
27、系的各种事物组成,每一事物均有其自身的属性和特定的行为,面向对象的分析与有其自身的属性和特定的行为,面向对象的分析与设计方法即遵循此思想,以最自然的形式针对现实设计方法即遵循此思想,以最自然的形式针对现实世界中的问题建模,并按人们通常的思维方式对问世界中的问题建模,并按人们通常的思维方式对问题进行求解,力图籍此简化问题模型,降低求解难题进行求解,力图籍此简化问题模型,降低求解难度度面向对象方法的几个基本概念面向对象方法的几个基本概念o对象对象n可用名字进行唯一标识可用名字进行唯一标识n可用属性(状态)描述某些特征可用属性(状态)描述某些特征n可用一组操作(服务)完成其各种行为可用一组操作(服务
28、)完成其各种行为o类类n具有相同属性和操作的一组对象的集合,它为属于该类的全部对象提供了具有相同属性和操作的一组对象的集合,它为属于该类的全部对象提供了统一的抽象描述统一的抽象描述n同样具有名称、属性和操作同样具有名称、属性和操作n属性和操作又可分为外部特性和内部实现两部分属性和操作又可分为外部特性和内部实现两部分o消息消息n向对象发出的服务请求向对象发出的服务请求n包含:包含:oSenderSenderoReceiverReceiveroParametersParametersn由接收者负责对消息进行响应,执行相应操作由接收者负责对消息进行响应,执行相应操作UML面向对象的分析设计工具面向对
29、象的分析设计工具oUMLUnified Modeling Language统一建模语言统一建模语言o1996年,由年,由Rational公司的、共同提出,并公司的、共同提出,并由若干大公司共同推荐,为由若干大公司共同推荐,为OMG所采纳,进而成所采纳,进而成为了可视化建模的事实标准为了可视化建模的事实标准o目前最新版本目前最新版本UML的特点和应用的特点和应用o特点特点n一种一种可视化可视化的语言的语言n一种可用于一种可用于详细描述详细描述的语言的语言o精确精确o无歧义无歧义o完整完整n一种一种构造构造语言语言o正向工程正向工程o逆向工程逆向工程n一种一种文档化文档化的语言的语言o主要应用于软
30、件系统的分析、设计工作,也可应用主要应用于软件系统的分析、设计工作,也可应用于非软件领域于非软件领域UML建模(构成)建模(构成)o用例图(用例图(Use Case diagram)o静态图(静态图(Static diagram)n类图类图 Class diagramn对象图对象图 Object diagramn包图包图 Package diagramo行为图(行为图(Behavior diagram)n状态图状态图 Statechart diagramn活动图活动图 Activity diagramo交互图交互图(Interactive diagram)n顺序图顺序图 Sequence di
31、agramn协作图协作图 Cooperation diagramo实现图(实现图(Implementation diagram)n构件图构件图 Component Diagramn部署图部署图 Deployment Diagram描述系统的动态模型和描述系统的动态模型和组成对象间的交互关系组成对象间的交互关系描述系统组成元描述系统组成元素的静态结构素的静态结构描述对象间的交互描述对象间的交互关系关系描述系统的物理组描述系统的物理组成单元成单元UML基本元素基本元素 类类(Class)o 表示由三部分构成表示由三部分构成o 名称必须包含名称必须包含o 其余可省略或陆续添加其余可省略或陆续添加o
32、可说明属性及操作的可见可说明属性及操作的可见性性o 可说明属性的类型可说明属性的类型o 可说明操作的参数、返回可说明操作的参数、返回值值UML基本元素基本元素 对象对象(Object)o 表示由两部分组成表示由两部分组成o 没有操作没有操作o 必须包含名称必须包含名称o 名称带下划线名称带下划线o 名称后可跟类名名称后可跟类名o 其余可省略或陆续添加其余可省略或陆续添加o 可说明属性的类型可说明属性的类型UML基本元素基本元素 用例用例(Use Case)和参与者和参与者(Actor)o参与者参与者n存在于作为研究对象的系存在于作为研究对象的系统之外的实体统之外的实体n可以为人、机构、设备、可
33、以为人、机构、设备、系统等系统等n利用人形表示利用人形表示n通常仅包含其名称通常仅包含其名称o用例用例n对一组动作序列的描述,系对一组动作序列的描述,系统执行这些动作将产生一个统执行这些动作将产生一个对特定参与者有价值而且可对特定参与者有价值而且可观察的结果观察的结果n使用实线椭圆使用实线椭圆n通常仅包含其名称通常仅包含其名称UML基本元素基本元素 关系(以下三种)关系(以下三种)依赖关系(依赖关系(dependency)o代表:使用关系代表:使用关系o说明一个事物规格说明的变化可能影响到使用它的说明一个事物规格说明的变化可能影响到使用它的另一个事物另一个事物o箭头指向被依赖的事物箭头指向被依
34、赖的事物泛化关系(泛化关系(generalization)o指一般事物(称为超类或指一般事物(称为超类或父类)和该事物的较为特父类)和该事物的较为特殊的种类(称为子类)之殊的种类(称为子类)之间的关系间的关系o一个类可以有一个类可以有0个、个、1个或个或多个父类多个父类o没有父类且最少有一个子没有父类且最少有一个子类的类称为根类或基类类的类称为根类或基类o没有子类的类称为叶子类没有子类的类称为叶子类o箭头指向被继承的类箭头指向被继承的类关联关系(关联关系(association)o代表一种结构关系代表一种结构关系o类型类型n自关联自关联n二元关联二元关联o关联可以有一个名称关联可以有一个名称聚
35、集、聚合(聚集、聚合(Aggregation)一种特殊的关联关系一种特殊的关联关系o用于表示整体与部分的关系用于表示整体与部分的关系o以菱形表示以菱形表示o可进一步细分为:可进一步细分为:n普通聚集,共享聚集普通聚集,共享聚集(Shared Aggregation)o整体与部分可以单独存在整体与部分可以单独存在o以空心菱形表示以空心菱形表示n组合(组合(Composition)o整体拥有部分,部分与整整体拥有部分,部分与整体共存体共存o以实心菱形表示以实心菱形表示类及类之间的关系类及类之间的关系自关联自关联同时存在同时存在两种关系两种关系依赖依赖关系关系泛化泛化关系关系多元多元关联关联大学里的
36、几种关系大学里的几种关系普通普通聚集聚集组合组合指定关指定关系名称系名称和方向和方向另一种另一种指定关指定关系名称系名称的方法的方法指定多指定多重性重性类图(类图(p90)o用于描述类与类之间的静态关系用于描述类与类之间的静态关系o类图主要由类及它们之间的关系构成,此外,还可类图主要由类及它们之间的关系构成,此外,还可以包含接口、包等元素,也可包括对象等实例以包含接口、包等元素,也可包括对象等实例类图的主要作用类图的主要作用o分析阶段分析阶段n帮助识别系统的主体帮助识别系统的主体n帮助辨析系统的属性和行为帮助辨析系统的属性和行为n描述应用领域中的概念描述应用领域中的概念o设计阶段设计阶段n直接
37、引导面向对象的设计直接引导面向对象的设计n描述类与类之间的接口描述类与类之间的接口o实现阶段实现阶段n描述软件系统中的实现描述软件系统中的实现n可利用工具直接生成代码框架可利用工具直接生成代码框架对象图(对象图(Object Diagram)o形式与类图相似形式与类图相似o对象之间的连接使用对象之间的连接使用“链链”(Link)包图(包图(Package Diagram)o目的:将复杂的大系统拆分目的:将复杂的大系统拆分为若干小系统为若干小系统o包:将若干元素集合成一个包:将若干元素集合成一个更高层次的单位,形成一个更高层次的单位,形成一个低耦合、高内聚的元素集合,低耦合、高内聚的元素集合,将
38、其称为包。将其称为包。o包中的元素也具有可见性。包中的元素也具有可见性。o包图利用类似于文件夹的符包图利用类似于文件夹的符号表示包。号表示包。o包图主要描述包之间的包含包图主要描述包之间的包含及依赖关系。及依赖关系。用例图用例图(Use Case Diagram)p p90o要素要素n参与者参与者n用例用例n关系关系o用例图描述了用例图描述了n谁将是系统的使用者谁将是系统的使用者n使用者希望系统提供什么服务(功能)使用者希望系统提供什么服务(功能)n使用者与系统之间的交互(参与者与用例之间的关系)使用者与系统之间的交互(参与者与用例之间的关系)o关联关系(关联关系(association)n系
39、统所提供的服务(用例之间的关系)系统所提供的服务(用例之间的关系)o包含关系(包含关系(include)o延伸关系(延伸关系(extend)o泛化关系(泛化关系(generalize)用例之间存在的三种可能的关系用例之间存在的三种可能的关系o包含关系(包含关系(include)n表示基础用例(客户用例)在其内部说明的某一位置显式地合并了另一个表示基础用例(客户用例)在其内部说明的某一位置显式地合并了另一个用例的行为用例的行为n用途用途o用例的复用用例的复用o用例的简化用例的简化o延伸关系(延伸关系(extend)n基础用例在由延伸用例间接地说明的一个位置上,隐式地合并了另一个用基础用例在由延伸
40、用例间接地说明的一个位置上,隐式地合并了另一个用例的行为例的行为n特点:即使没有扩展用例,基础用例本身也是完整的特点:即使没有扩展用例,基础用例本身也是完整的n用途用途o把新的行为插入到已有用例中把新的行为插入到已有用例中o把复杂的可选的处理从基本的必须的处理中分离出来把复杂的可选的处理从基本的必须的处理中分离出来o泛化关系(泛化关系(generalize)n与类的泛化关系相似与类的泛化关系相似n用途用途o先给出一个概念性的用例,再给出其实现用例先给出一个概念性的用例,再给出其实现用例参与者与用例之间的关联关系参与者与用例之间的关联关系用例之间的关系用例之间的关系用例图的主要用途用例图的主要用
41、途o分析阶段分析阶段n帮助识别系统的相关主体帮助识别系统的相关主体n帮助明确并逐步细化系统功能需求帮助明确并逐步细化系统功能需求n是绘制其它图的出发点是绘制其它图的出发点o实现阶段实现阶段n是编制测试用例的基础是编制测试用例的基础o实施阶段实施阶段n是制定培训、维护计划的依据是制定培训、维护计划的依据状态图状态图(Statechart Diagram)P92o用途与状态迁移图相似,用于描述一个实体基于事用途与状态迁移图相似,用于描述一个实体基于事件反应的动态行为,显示了该实体如何根据当前状件反应的动态行为,显示了该实体如何根据当前状态对不同的事件做出反应。态对不同的事件做出反应。o要素要素n状
42、态状态n转移转移o与与STD的主要不同点的主要不同点n以圆角矩形代表状态以圆角矩形代表状态n增加两个可选的特殊状态:起始状态、终止状态增加两个可选的特殊状态:起始状态、终止状态n状态内增加属性:进入操作、退出操作、内部转移状态内增加属性:进入操作、退出操作、内部转移n允许在状态内嵌套子状态图允许在状态内嵌套子状态图n允许无触发器转移允许无触发器转移状态及转移的属性状态及转移的属性o状态状态n名称名称n进入进入/退出操作退出操作n内部转移内部转移n子状态子状态o顺序子状态顺序子状态o并行子状态并行子状态n延迟的事件延迟的事件o转移转移n源状态源状态n事件触发器事件触发器n警戒条件警戒条件n操作操
43、作n目标状态目标状态状态图示例状态图示例活动图活动图(Activity Diagram)o本质上为流程图本质上为流程图o要素要素n状态状态o初始状态初始状态o终止状态终止状态o动作状态动作状态n原子性原子性n不可中断性不可中断性n瞬时性瞬时性o活动状态活动状态n可分解可分解n可中断可中断n占有有限的时间占有有限的时间n控制流(转换)控制流(转换)o普通转换普通转换o分支分支o分叉分叉o汇合汇合n对象流对象流o表示活动中输入或输表示活动中输入或输出的对象出的对象n泳道泳道o用于将活动图中的活用于将活动图中的活动状态分组动状态分组活动图示例活动图示例活动图的主要用途活动图的主要用途o分析阶段分析阶
44、段n辅助进行工作流分析辅助进行工作流分析n辅助对系统中主体行为进行分析辅助对系统中主体行为进行分析o设计阶段设计阶段n设计类的依据设计类的依据n最终细化到程序流程图最终细化到程序流程图交互图交互图(Interaction Diagram)o与活动图一样,用于对系统的动态特性建模与活动图一样,用于对系统的动态特性建模n交互图强调从对象到对象的控制流交互图强调从对象到对象的控制流n活动图强调从活动到活动的控制流活动图强调从活动到活动的控制流o由由顺序图顺序图和和协作图协作图共同构成共同构成o显示的是一个交互,由一组对象和它们之间显示的是一个交互,由一组对象和它们之间的关系组成,包含它们之间可能传递
45、的消息的关系组成,包含它们之间可能传递的消息o顺序图:强调时间顺序的交互图顺序图:强调时间顺序的交互图o协作图:强调结构组织的交互图协作图:强调结构组织的交互图o两者在语义上是等价的两者在语义上是等价的顺序顺序图(Sequence Diagram)o要素要素n对象:沿对象:沿X轴排列轴排列o名称名称o生命线生命线o控制焦点可选,用于可视化消息的嵌套或实际计算发生时的控制焦点可选,用于可视化消息的嵌套或实际计算发生时的时间时间n消息:沿消息:沿Y轴排列轴排列o名称名称o参数(可选)参数(可选)o消息的类型消息的类型n普通消息普通消息n调用调用顺序图示例顺序图示例协作图(协作图(Collabora
46、tion Diagram)o要素要素n对象:名称对象:名称n链:连接对象之间的弧链:连接对象之间的弧n消息消息o名称名称o参数参数o顺序号:以嵌套的形式反映了消息间的先后顺序顺序号:以嵌套的形式反映了消息间的先后顺序协作图示例交互图的主要用途交互图的主要用途o分析阶段分析阶段n帮助识别系统的相关主体帮助识别系统的相关主体n帮助分析业务流程帮助分析业务流程o设计阶段设计阶段n设计类的操作的重要依据设计类的操作的重要依据n设计程序流程的出发点设计程序流程的出发点o实现阶段实现阶段n是编制测试用例的重要参考是编制测试用例的重要参考基于基于UML的分析设计过程的分析设计过程o基本原则基本原则n用例驱动
47、的用例驱动的n以体系结构为中心的以体系结构为中心的n迭代的迭代的n增量的增量的o一般技巧一般技巧n每一个图中只包含与特定主题相关的内容每一个图中只包含与特定主题相关的内容n使用工具使用工具利用利用UML进行系统分析的方法进行系统分析的方法o确定确定Actoro画出用例图画出用例图o画各种动态视图(主要是活动图、顺序图及画各种动态视图(主要是活动图、顺序图及状态图),以进一步说明各个用例的详细情状态图),以进一步说明各个用例的详细情况况UML支援环境支援环境oRational Rose(IBM)(最常用的)(最常用的)经典的可视化建模工具经典的可视化建模工具全面支持全面支持UML UML 建模标准建模标准可以在同一个模型中实现业务建模、需求建模、应用建模和数据建模可以在同一个模型中实现业务建模、需求建模、应用建模和数据建模支持多种语言(支持多种语言(C+,JavaC+,Java、VB VB 等)的代码生成及双向工程等)的代码生成及双向工程自带的的模块测试工具,可以在设计阶段就及早对设计模型进行测试自带的的模块测试工具,可以在设计阶段就及早对设计模型进行测试oPoseidon for UML(Gentleware German)oVisio2003(Microsoft)oPowerDesigner(Sybase)oTrufun Kant&Plato(楚凡楚凡 China)