《典型的电子商务系统基本(需求)功能模型16775.pptx》由会员分享,可在线阅读,更多相关《典型的电子商务系统基本(需求)功能模型16775.pptx(60页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、2.3 典型的电子商务系统基本(需求)功能模型n 1)B2C电子零售系统的基本功能n 2)B2B电子商务系统的基本功能n 3)企业信息门户的基本功能n 4)物流配送系统的功能11)B2C电子零售系统的基本功能n 用户管理需求的功能n 客户需求功能n 销售商需求功能用户注册注册用户信息管理电子目录:帮助用户搜索、发现需要的商品;产品比较:帮助用户进行购买决策;商品评估:购物车下订单撤消和修改订单通过网络付款订单状态跟综客户注册信息检索;客户订单处理;客户选购产品的结算及付款处理;电子拍卖;商品信息发布;网络广告的发布及管理;库存商品管理;产品销售情况跟综;与物流配送系统接口;与银行之间接口;客户
2、关系管理;售后服务22)B2B电子商务系统的基本功能n 用户:n 买方企业n 卖方企业n 中介(如:银行)n 物流企业n 政府机构信息:产品与服务买卖企业供应商运输企业仓储企业32)B2B电子商务系统的基本功能n 会员管理n 产品目录管理n 审批流程n 订单管理n 交易定价n 拍卖与投标采购n 网络支付会员身份管理会员资料管理权限控制目录管理;目录视图;目录查找43)企业信息门户的基本功能n 企业基本信息发布n 企业动态与新闻n 企业产品与服务n 搜索与索引n 电子邮件与客户反馈n 用户访问统计n 网站访问分析与统计n 个性化服务n 电子社区n 相关链接54)物流配送系统功能n 合约议定n 仓
3、储管理n 货物追踪n 运输管理n 客户管理n 费率管理n 帐务管理n 报表管理62.4 电子商务系统的分析与设计工具n结构化分析与设计方法n Jackson分析与设计方法n面向对象的分析与设计方法-面向对象建模语言UML72.4.1 结构化需求分析方法 n结构化分析方法的基本出发点是:一个计算机处理系统是由数据流和一系列的处理转换过程构成的,处理转换过程将输入数据流转化为输出数据流,即计算机数据处理过程可以归结为“输入数据(Input)处理转换(Process)输出数据(Output)”这样的IPO过程,所以结构化分析方法将分析的重点集中与数据及其处理过程。n结构化分析方法采用数据流图(DFD
4、:Data Flow Diagram)作为刻画数据流及其处理转换的工具,通过一些图形符号表述数据源、数据流向、处理转换等;n此外结构化分析方法采用数据字典(DD:Data Dictionary)来表示各类数据;可以通过判定表、决策树的方式描述处理转换的过程的细节;8 结构化需求分析方法DFD n数据流图以直观的形式描述系统中数据的流动和数据的变化。需要注意的是数据流图和程序设计中的程序流程图(Flow Chat)是不同的,数据流图关心的是企业业务系统中的数据处理加工的客观过程,并不关心未来电子化处理的加工过程;数据流图中流动的只是数据,并没有控制过程,但在程序流程图当中,必须有控制逻辑。取款人
5、账目非法提单数据实体数据存储数据流合法性检查合法的取款单处理转换取款单9结构化分析方法DFD例子顾客 汽车配件数据订货单发货单顾客汽车配件数据汽车配件数据暂存订单顾客数据 发给供应商的订单供货商订货单 订货要求发货单发货单订货处理编辑订单开发货单汇总处理核发订单10n 一个销售管理系统的DFD图1112132.4.2 面向对象的建模语言UML 1.面向对象的基本观点 前面几种方法的不同在于如何看待一个系统。结构化分析方法把系统看作一系列的功能节点,节点间的联系通过数据流来实现;Jackson方法把系统看作一系列进程,进程间通过数据流和状态向量发生关系;面向对象方法认为系统由一系列彼此独立却又相
6、互联系的实体-对象组成,对象间通过消息传递和数据关联(数据流)来实现相互联系。对象(类)既可是一个实体,也可是一项活动,或一个抽象的东西。142.4.2 面向对象的建模语言UML 1990s,面向对象分析与设计方法逐渐走向实用,一些专家对系统分析和设计工作的步骤、方法、图形工具等进行了详细的研究,提出了许多不同的实施方案。其中有P.Coad 和 E.Yourdon方法;Booch方法;J.Rambough 的OMT方法;UML方法(集Booch,OMT等方法的优点于一身)。面向对象方法流行的关键在于:1)面向对象看待现实世界的方式和现实世界的组织方式是一致的,它能够直接将问题域结构咉射到系统模
7、型中;2)面向对象方法支持软件重用,可降低成本,提高质量;3)对象具有“自治”特点,扩展性、可维护性大大提高。152.4.2 面向对象的建模语言UML 2)面向对象的概念 类及对象(Class、Object)类是一个封装了数据抽象和过程抽象的单元,该单元能够描述现实世界客观实体的状态和行为。类的属性赋于类状态保持的能力,这就使类能够“生存下去”,同时类的操作使类能够主动变化,实现状态变迁,这样类就又获得了“发展”的能力。这样类就能胜任描述客观世界中的有机实体。继承(Inheritance,泛化):类的继承可用来表达现实世界中实体的相似性。继承机制使类具有继承和被继承的能力,也就是具有重用和被重
8、用的能力(即具有“进化能力”)类名属性操作父类 子类类名属性操作类名属性操作16n 关联n 关联用以表明类与类之间所具有的除继承、聚合以外的一种相关性的关系。作者 计算机程序员 计算机1.*1.1Class Author public:.Computer*pc1;/Author类对象的删除不会删除Computer类对象;17n 聚合(Aggregation)n 聚合是类之间的一种整体与部分的特殊关联关系,如汽车包括四个轮子,一台发动机等。舰队舰只组织人论文摘要 参考一般聚合 共享聚合组成聚合(强聚合)*Class A1 A2*pa1;/整体删除/部分不会删除;Class A1 A2 a1;/整
9、体删除 A3 a2;/部分应删除;18n 消息(Message)n 消息是类(对象)间实现通信的手段,一个类就是通过消息来申请另一个类提供的服务,因此消息中通常会标明要求操作的名称和相应的参数。类受到消息请求后先分析请求的合法性和消息的合法性,然后再操作。n 消息连接用一条带箭头的线段表示:消息名19n 多态性(polymorphism)-良好的可维护性和扩展性 n 多态性是指对象的某个行为具有多种形态的特性。一个行为的多种形态从外界看来具有相同的行为名称(也即相同的消息名),标识一种行为。n Move(distant)n Move(destination)n Move(routine)20n
10、 面向对象(object oriented)n Coad和Yourdon认为:面向对象=对象+分类+继承+通过消息的通信即:只有应用了对象(属性、操作、行为的封装)去对问题空间的实例进行抽象,并应用分类技术来管理对象,应用继承机制管理对象之间的相似性,并且通过对象间的消息连接来实现对象间通信的方法可称为面向对象方法。212.4.2 面向对象的建模语言UML3)UML UML统一建模语言 统一建模语言(Unified Modeling Language)Unified Modeling Language)n 1997.11.17,UML被OMG(Object Management Group)接
11、收为标准;n UML是在Booch,OMT等方法的基础上引入一些新的理论和描述方法,如:模板类型、标记值、限制、线程、进程、分布、并发、模式/合作、活动图、精练、接口、组件、对象约束语言等;n UML本身是一个完整的建模语言,支持系统开发的不同阶段,从需求分析-系统测试;n 需求分析阶段:UML通过用例图(有时也需一些简单的类图、活动图)来捕获用户需求,描述对系统感兴趣的外部角色和他们对系统的功能要求;n 系统分析阶段:主要关心问题域的概念和实体,并得到与问题域直接相关的类和对象,以及它们之间的关系(类图、顺序图、协作图、状态图、活动图);n 设计阶段:需要定义一些与技术实现相关的类,如:用户
12、接口、数据库、通信和并行等问题,UML提供了强大的静态和动态建模机制(类图、顺序图、协作图、状态图、活动图、组件图、实施图)n 实现阶段:类-语言代码;n 单元测试阶段:依据类图和类的规格说明n 集成测试阶段:测试人员依据构件图和合作图;n 系统测试阶段:测试人员主要依据用例图来验证系统的行为;22UML提供了 五类图共九种图形:n 第一类:用例图(Usecase Diagram)n 第二类:类图、对象图、包图n 第三类:行为图(活动图+状态图)n 第四类:交互图(顺序图+合作图)n 第五类:实现图(构件图+配置图)n 支持UML的开发工具:n Rational Rosen UML_Desig
13、ner23用例图n 用例图=用例+系统边界+角色+角色与用例间的关联n 用例:它定义和描述了系统的外部可见行为功能,刻画了系统的完整功能需求,它和角色之间必须要有I/O消息;n 角色:它不属于系统,但与系统有交互,负责驱动与之关联的系统用例的执行;它可能是一类人、事物、硬件或其他系统的抽象(是一个类,而不是一个实例);实例A角色A实例B角色B24n 角色的识别与描述n 谁使用系统的主要功能?n 谁需要系统的支持以完成其日常工作任务?n 谁负责维护、管理并保持系统正常运转?n 系统需要应付(处理)哪些硬设备?n 系统需要和哪些外部系统交互?n 谁对系统的结果感兴趣?角色:角色职责:角色识别问题:
14、25n 角色识别示例:考虑一个ATM系统n 谁使用系统的主要功能?n 储户n 谁需要系统的支持以完成其日常工作任务?n 出纳员?n 谁负责维护、管理并保持系统正常运转?n ATM系统工程师、银行人员n 系统需要应付(处理)哪些硬设备?n 储户身份、帐户标识卡(信用卡)n 系统需要和哪些外部系统交互?n 不清楚n 谁对系统的结果感兴趣?n 银行会计、储户角色:储户、银行人员、信用卡、银行会计角色:储户角色职责:插入信用卡 输入口令 输入交易金额角色识别问题:(1)使用系统主要功能(2)对系统运行结果感兴趣26n 用例识别与描述n 用例定义:用来描述角色可以感受到的完整的功能,在UML中定义为:“
15、由系统执行的一个动作(action)序列,并能产生可观察的结果值给某个特定的角色”;n 特征:n用例通常由某个角色来驱动执行;n用例把执行结果的值反馈给角色;n用例在功能上具有完整性;n 每个用例都必须从输入开始,直至产生结果值输出给角色(这一点与数据流图中的分解后的功能不一样);同时具有相对完整的功能;在功能执行的过程中可能还会产生诸多变化情况、错误情况、异常情况等;n用例在本质上是一个类,因此用例和角色之间的连接用关联(Association)来实现27n 命名规则:根据其在系统内的职责和所具有的功能来命名,如:填单据、订货;n 识别方法:用例识别是应用UML进行面向对象分析的关键一步,是
16、其它后续工作的基础。用例识别首先在需求分析的基础上,弄清系统中的问题域、业务流程、系统功能需求等,再结合已经识别出的角色来识别用例。为便于识别,可借助于以下问题:n 某个角色要求系统为其提供什么功能?角色需要做哪些工作?n 角色需要阅读、创建、销毁、更新或存储系统中的某些信息?n 系统中的事件一定要告知角色吗?角色需要告诉系统一些什么吗?系统内部的事件从功能的角度代表什么?n 系统需要什么样的I/O?从哪里来,到哪里去?n 现行系统存在哪些主要问题?28用例之间的二种关系:n 扩展与使用都是继承的关系,但扩展强调的是一般类与特殊类的关系(可重载或覆盖);而使用是指几个类之间的相似之处而抽象出的
17、类(只增加专属自己的行为,无须重载或覆盖)。n 一般讲,一个角色与一个用类有关联关系时,则与它的扩展用类都有关联,但与它的使用用例并不一定有关联;extendsusesuses用例扩展 用例使用29n 用例描述:使用用例模板;n 用例:编号、名称;n 特征信息:n 用例在系统中的目标(用例目标描述)n 范围(当前考虑的是哪个系统)n 级别(概要任务/首要任务/子功能)n 前后条件(用例执行前系统应具有的状态)n 成功后续条件(用例成功执行后应具有的状态)n 失效后续条件(用例没有完成目标时的状态)n 首要角色(与该用例关联的首要角色)n 触发(启动该用例执行的系统动作)n 主要执行步骤n n
18、功能扩展n:n 变异n n 相关信息(可选)n 优先级(该用例关键程度)、性能目标(执行时间)、频度(执行频度)n 从属用例n 下属用例n 与首要角色的联系渠道(包括交互式、静态文件、数据库等)n 其它问题(可选,列出该用例未解决的问题)30n 用例:201 购买物品n 特征信息:n 用例目标:购买者直接向公司提出 n 购买请求,期望收到货n 物并付款;n 范围:公司;n 级别:概要任务;n 前后条件:公司知道购买者及他的n 地址等;n 成功后件:购买者获得物品,公司n 获得了物品的价钱;n 失效后件:公司没有发送物品,购n 买者没有寄出款额;n 首要角色:购买者、代理商;n 触发:购买请求;
19、n 用例:编号、名称;n 特征信息:n 用例在系统中的目标(用例目标描述)n 范围(当前考虑的是哪个系统)n 级别(概要任务/首要任务/子功能)n 前后条件(用例执行前系统应具有的状态)n 成功后续条件(用例成功执行后应具有的状态)n 失效后续条件(用例没有完成目标时的状态)n 首要角色(与该用例关联的首要角色)n 触发(启动该用例执行的系统动作)n 主要执行步骤n n 功能扩展n:n 变异n 31n 主要执行步骤:n 1)购买者提出购买请求;n 2)公司记录购买者的姓名、地址、购买的商品等信息;n 3变异)公司告知购买者有关商品的信息、价格、发货日期等;n 4)购买者签单;n 5)公司产生定
20、单,并将定货传送给购买者;n 6)公司将发票发送给购买者;n 7)购买者付款;n 功能扩展:n 1)对于顾客所购物品,公司缺货:重新协商定货;n 2)购买者直接以信用卡付帐(接受信用卡款额用例)n 3)购买者返还物品(返还物品用例)n 用例:编号、名称;n 特征信息:n 用例在系统中的目标(用例目标描述)n 范围(当前考虑的是哪个系统)n 级别(概要任务/首要任务/子功能)n 前后条件(用例执行前系统应具有的状态)n 成功后续条件(用例成功执行后应具有的状态)n 失效后续条件(用例没有完成目标时的状态)n 首要角色(与该用例关联的首要角色)n 触发(启动该用例执行的系统动作)n 主要执行步骤n
21、 n 功能扩展n:n 变异n 32n 变异n n 相关信息(可选)n 优先级(该用例关键程度)、性能目标(执行时间)、频度(执行频度)n 从属用例n 下属用例n 与首要角色的联系渠道(包括交互式、静态文件、数据库等)n 其它问题(可选,列出该用例未解决的问题)n 变异n 1)购买者可以使用:电话、传真、电子交易等来提出购买请求;n 2)购买者可以通过:现金、汇款单、支票、信用卡来支付货款;n 相关信息:n 优先级:高;n 性能目标:5分钟处理定单,45天内付款;n 频度:200次/天;n 从属用例:管理客户关系用例;n 下属用例:n 产生定单用例;n 通过信用卡接受货款用例;n 处理返还的物品
22、用例;n 与首要角色的沟通渠道:n 电话、文件、交互式;n 次要角色:n 信用卡公司、银行、运输服务公司;n 其它问题:n 如果公司只有定单的部分信息该怎么办?n 如果客户信用卡被盗怎么办?33n 用例图购买者代理商信用卡公司银行运输服务公司购买物品 信用卡付款 物品返还 客户关系管理 产生定单 34类图n 类图从静态的角度描述了系统中所有类及类之间的关系,如:关联、聚合、继承;同时类图还描述了类的属性及操作;35类图示例:OrderdataReceivedIsPrepaidnumberPriceDispatch()Close()OrderLineQualityPriceisSatisfied
23、PoductCustomerNameAddressemailAddressTelephonecreditRating()Corporate CustomercontactNamecreditRatingcreditLimitRemind()billForMonth()EmployeePersonal CustomercreditCard36n 如何标识类?n 类的识别是贯穿整个OO开发过程中的一个重要活动:n在分析阶段-识别问题域相关的类;n在设计阶段-需加入一些反映设计思想、设计方法的类,以及实现问题域所需的其它类;n在编码实现阶段-根据语言的特点,可能还需加入一些其它的类;37类的识别方法
24、:n 1)名词识别方法(实体识别法),步骤:n用一种语言对系统进行描述;n从系统描述中标识出名词、代词、名词短语。其中单数名词往往为对象,复数名词往往为类;n 例:一台8波段收音机,其中8波段包括FM、MW、SW1、SW2。收音机具有二个波段选择开关:一个选择FM、MW、SW,叫波段开关;另一个选择SW1、.、SW6,叫短波开关。当波段开关位于SW时,短波选择开关才起作用,否则不起作用。收音机还有一个调谐按钮,用来在选定的一个波段内选择某一电台频率。收音机有一个数字面盘,上面标有8个波段的频率刻度,调谐指针可以在数字面盘内上下移动。收音机还有一个音量控制开关,顺时针方向增加音量,还有一个天线,
25、用于提高接受灵敏度。收音机的电源使用两节5号干电池,或直流外接电源,.38n 抽象类:波段、波段选择开关;n 一般类:收音机、高频FM、中波MW、短波SW1、SW2、波段开关、短波开关、调谐按钮、数字面盘、音量控制开关、音量、天线接收灵敏度、电池、外接直流电源;n 当然,不是所有的名词都为类,如:电台频率,它只为某个类的一个属性。39n 2)系统实体识别法n 3)使用分解技术n 4)使用抽象技术n 5)使用重用n 6)从用例识别类,借助以下问题:n用例中有哪些实体?n用例执行过程中会产生哪些信息?n用例需要操作哪些硬件设备?n用例要求角色输入什么?n用例输出给关联的角色什么信息?40n 类的属
26、性识别n 类的操作识别n 类图41UML工具介绍n Rational Rosen UML Designer42n ROSE是美国Rational公司的面向对象建模工具,利用这个工具,我们可以建立用UML描述的软件系统的模型,而且可以自动生成和维护C+、Java、VB、Oracle等语言和系统的代码。n ROSE的界面分为三个部分Browser窗口、Diagram窗口和Document窗口。Browser窗口用来浏览、创建、删除和修改模型中的模型元素;Diagram窗口用来显示和创作模型的各种图;而Document窗口则是用来显示和书写各个模型元素的文档注释。4344n Browser窗口有四个
27、视图:Use Case Logical Component Deployment n 在Use Case视图的图的类型有:用例图、顺序图、协作图和活动图45n 在Logical视图中的类型有:类图和状态图 n 在Component视图中的类型有:组件图 46n 在Deployment视图中的类型有:部署图 47n Rose中使用的8种图:484950n Rose中两个或两个以上模型元素之间的关系:n 除了类之间的继承(Inheritance)、聚合(Aggregation)、关联(Association)外,还包括:实现(realize)、使用(usage)、实例化(instantiate)、
28、调用(call),派生(derive)、访问(access)、引入(import)、友元(friend)等等。51n Rose开发示例:n 若某商场中发行一种购物卡,用户可以根据自己的需要提出申请去办理购物卡。商场的购物卡管理员可以根据申请,创建新的购物卡。用户可以向购物卡预存费用,商场卡管理员为该用户添加相应的预存费用。用户可以用购物卡在商场进行消费,每进行一次消费,售货员就从购物卡中扣除相应的费用。当购物消费每满一定数额时,商场自动在卡中添加奖励费。若由你负责系统的开发工作,试完成下列模型:n 1.画出此系统的用例图;n 2.画出系统的类图;n 3.画出购物消费的顺序图;n 4.画出购物卡
29、类的状态图;525354555657n 1)利用UML对电子商务系统进行功能分析设计本章作业:58n2)写出一个定货中心的用例图及角色与用例的描述(各选二个)有这样一个定货中心:它接收客户的电话、传真、电子邮件、信件和Web主页表单形式的定货请求,形成货物定单,并告知客户定单的价钱。根据客户要求的发货目标地点的信息,定货中心的经理以最经济的方式确定一家仓库来负责向客户发货。仓库人员收到定单后按一定的策略处理定单,发出货物,并在定单上填写所发货物的数量信息,后把定单返回给定货中心。定货中心确认后把定单交给收费部门,由该部门负责管理客户收到货物后的付费;客户在收到货物之前可以向定货中心查询他的定货处理情况。收到定货后,如果出现质量问题或者物品错送问题,客户有权向定货中心退货,定货中心必须接受退货,并退还用户所付款(如果用户已付款)。仓库在处理定单时由于受到仓库货物有限这一现实情况的约束,因此采取一定的策略来保证那些优先级较高的定单先得到发货;在定货中心的人工系统中,交流主要通过电话、传真。在引入计算机管理后,定货中心、仓库、收费部门之间可以共享客户、定单信息。n 1.画出此系统的用例图;n 2.画出系统的类图;5960
限制150内