第四章电子商务系统的分析要搞清楚的问题既有的系统是如何工作的?用户希望新系统如何工作?目的:获取系统需求信息功能需求性能需求成果需求分析报告针对新系统建立的模型系统SDLC中的系统分析信息系统人的系统电子商务系统分析vs一般的信息系统分析基本的方法、流程和工具相同不同点主要体现在调研分析的边界创新性电子商务系统分析要求以战略规划和系统规划成果为依据充分了解管理及业务人员的需求借鉴典型的电子商务系统功能一.企业商务活动的基本内容企业的主要商务活动及它们之间的信息流转市场活动(Marketing)目标增加客户对企业及相关产品的认知程度,了解企业的服务为企业发现潜在的商业机会,发掘潜在客户,发现客户需求培养客户的忠诚度要点企业的形象产品的优势及特点市场细分借助于Internet,电子商务可以:获得不受地域限制的市场宣传空间减少对外界力量的依赖,直接面对潜在客户拥有最廉价的信息发布渠道直接通过客户的浏览及消费历史记录获取用户需求信息销售活动(Sale)销售过程实质上是为用户提供备选产品的过程,这一过程包括:产品的发现、选择两个基本环节。目标与顾客搭成交易,并使交易结果符合企业利益需要要点产品的信息及描述消费的环境电子商务中的销售活动可以:为客户提供发现产品的渠道带来交易方式的变革,使交易免受地域的限制直接产生电子化的交易记录订货(Order)目标满足企业生产和销售的需要要点供应商的选择运输合适的库存量电子商务系统可以优化订货需求帮助扩大供应商的选择范围,优化供应商选择结果提高订货过程的效率改善对运输过程的监管和优化支付与交付(Payment&Delivery)支付与交付的过程也就是履行订单的执行过程目标完成交易费用的给付完成产品的包装、运输和递交完成产品所有权的转移要点安全性时间费用电子商务系统可以缩短支付时间,降低支付成本实现交付过程可视化追踪订单执行过程提供无形产品的交付渠道客户服务(Service)目标培养客户忠诚度从服务中发现客户需求,为市场及销售活动提供依据要点订单完成情况的检查产品使用的反馈订货及客户历史记录客户行为分析电子商务可以提供新的客户服务方式(在线、远程、动态)使服务超越地域和时间的限制加快服务的反馈提供One-To-One的个性化服务提供自助式服务进行服务过程的记录及发掘二、典型的电子商务业务需求市场推广过程中的电子商务业务需求网络广告E-mail推销品牌形象展示……销售过程中的电子商务业务需求网上产品展示产品搜索……订货过程中的电子商务业务需求联机采购在线报价和价格计算远程协商电子支付……典型的电子商务业务需求(续)交付过程中的电子商务业务需求交付过程跟踪……服务过程中的电子商务业务需求客户信息反馈客户跟踪服务……企业内部相关管理业务需求商品库存管理经营辅助决策…..三、电子商务系统分析的过程信息系统分析的基本思路电子商务系统分析的基本过程和方法3.1信息系统分析的基本思路自顶向下从静到动去伪存真不断迭代3.2电子商务系统分析的基本过程进行需求调查,获取需求(Requirement)整理提炼,针对需求进行建模利用相关的软件工程方法结构化分析方法面向对象的分析方法原型法反复修改需求调查参与人员:系统分析人员与业务人员共同完成方法访谈问卷调查跟班查阅资料利用原型可采纳的资料素材有关机构组成和职责的规定报表历史数据访谈记录相关法律、法规、文件等成果需求调查报告相关资料素材四、结构化分析方法(StructuredAnalysis,SA)结构化分析方法是一种面向数据流的需求分析方法,也是一种建模活动,它主要根据软件内部的数据传递、变换关系,自顶向下逐层分解,描绘出满足功能要求的软件系统。尤其适合于较大型的信息系统结构化分析的主要工具数据流图(DFD):功能模型数据字典(DD)实体关系图(E-R图):数据模型状态变迁图(STD图):行为模型数据流图(DFD)DataFlowDiagram用于表示数据在信息系统中的流动情况,但不表示具体的程序逻辑和处理步骤数据流图的基本元素数据流图的基本元素(续)数据流是数据在系统内传播的路径,由一个或一组数据项构成。除了数据存储之间的数据流不用命名外,其它数据流应该用名词或名词短语命名。(对于有些含义比较明显的数据流也不一定加以命名)数据流的准确定义由数据字典DataDictionary给出实体代表了系统边界之外的,与系统存在数据交换的人员、组织或其它系统数据流图的基本元素(续)处理也称为数据加工,它对数据流进行某些操作或变换。每个处理要有名字,通常是动词短语,简明地描述完成什么处理。在分层的数据流图中,处理还应有编号。数据存储指暂时保存的数据,它可以是数据库表、文件或其它任何形式的数据组织。流向数据存储的数据流可理解为写入存储或提交查询请求,从数据存储流出的数据可理解为从存储设备读数据或得到查询结果。数据存储也可有编号数据流图的绘制方法首先,确定系统的边界和外部实体绘出系统的顶层数据流图(contextdiagram)只包含一个处理,标号为0,且名称为整个系统的名称在顶层数据流图的基础上,细化得出第0层数据流图逐层细化,扩展得出更低一层的数据流图,直到所有处理都已足够简单绘制数据流图的规则每个数据流都至少有一端是连接到处理的每个处理都至少有一个输入数据流,且至少有一个输出数据流每一个数据存储都必须通过数据流连接到处理一般情况下,每个数据存储都应该既有输入数据流,又有输出数据流注意命名的唯一性、易懂性绘制数据流图的常规原则同一幅图上包含的处理不超过9个尽量避免数据流的交叉使用多级符号,表示处理之间的父子关系案例:家具公司电子商务系统外部实体客户内容维护人员销售人员生产调度系统(生产调度人员)财务系统(财务人员)客服人员物流跟踪系统维修人员案例:主要处理用户管理注册登录用户信息检索用户信息维护产品展示产品目录浏览产品信息检索产品效果图展示网上订货购物车处理添加到购物车修改购物车下订单订单确认订单跟踪客户服务咨询报修派发修理通知服务跟踪信息发布企业信息发布产品信息发布招聘信息发布企业/招聘信息检索统计分析数据字典(DataDictionary,DD)1-订单1.1-订单标识1.2-顾客详情1.3-书籍详情1.1-订单标识1.1.1-订货日期1.1.2-订单编号1.2-顾客详情1.2.1姓名1.2.2联系电话地址ID1.2.2联系电话固定电话移动电话说明:上述两项至少一项为非空行为模型:状态变迁图(STD图)目标:直观地分析系统的动作从特定的视角出发描述系统的动态行为状态迁移图的内容描述系统行为的三个要素:状态事件(输入)用圆圈“○”表示状态迁移(输出)用箭头“→”表示用字符表示状态迁移图的表示举例s1s20110s310状态迁移图的应用作用明确系统需求确定系统在不同状态下的可能的动作进而指导系统设计实现引入状态变量对应不同状态变量值,提供不同的界面、处理……面向过程模型的弊端以实现功能的过程为中心,而用户的需求变化主要是针对功能的,且功能变化往往引起较大的结构变化,因此,系统稳定性不好。系统有明确的边界定义,且系统结构依赖于系统边界的定义。这样的系统不易扩充和修改。可重用性(reusability)较差。五、面向对象的分析与设计方法(ObjectOrientedAnalysis&Design,OOA&OOD)基本思想:现实世界由相互联系的各种事物组成,每一事物均有其自身的属性和特定的行为,面向对象的分析与设计方法即遵循此思想,以最自然的形式针对现实世界中的问题建模,并按人们通常的思维方式对问题进行求解,力图籍此简化问题模型,降低求解难度面向对象方法的几个基本概念对象可用名字进行唯一标识可用属性(状态)描述某些特征可用一组操作(服务)完成其各种行为类具有相同属性和操作的一组对象的集合,它为属于该类的全部对象提供了统一的抽象描述同样具有名称、属性和操作属性和操作又可分为外部特性和内部实现两部分消息向对象发出的服务请求包含:SenderReceiverParameters由接收者负责对消息进行响应,执行相应操作UML--面向对象的分析设计工具UMLUnifiedModelingLanguage统一建模语言1996年,由Rational公司的G.Booch、J.Rumbaugh、I.Jacobson共同提出,并由若干大公司共同推荐,为OMG所采纳,进而成为了可视化建模的事实标准目前最新版本2.1.2UML的特点和应用特点一种可视化的语言一种可用于详细描述的语言精确无歧义完整一种构造语言正向工程逆向工程一种文档化的语言主要应用于软件系统的分析、设计工作,也可应用于非软件领域UML的构成用例图(UseCasediagram)静态图(Staticdiagram)类图Classdiagram对象图Objectdiagram包图Packagediagram行为图(Behaviordiagram)状态图Statechartdiagram活动图Activitydiagram交互图(Interactivediagram)顺序图Sequencediagram协作图Cooperationdiagram实现图(Implementationdiagram)构件图ComponentDiagram部署图DeploymentDiagram描述系统的动态模型和组成对象间的交互关系描述系统组成元素的静态结构描述对象间的交互关系描述系统的物理组成单元UML基本元素—类(Class)表示由三部分构成名称必须包含其余可省略或陆续添加可说明属性及操作的可见性可说明属性的类型可说明操作的参数、返回值UML基本元素—对象(Object)表示由两部分组成没有操作名称必须包含名称带下划线名称后可跟类名其余可省略或陆续添加可说明属性的类型UML基本元素——用例(UseCase)和参与者(Actor)参与者存在于作为研究对象的系统之外的实体可以为人、机构、设备、系统等利用人形表示通常仅包含其名称用例对一组动作序列的描述,系统执行这些动作将产生一个对特定参与者有价值而且可观察的结果使用实线椭圆通常仅包含其名称UML基本元素—关系依赖关系(dependency)代表:使用关系说明一个事物规格说明的变化可能影响到使用它的另一个事物箭头指向被依赖的事物+add(inc:Commodity)ShoppingCartCommodity泛化关系(generalization)指一般事物(称为超类或父类)和该事物的较为特殊的种类(称为子类)之间的关系一个类可以有0个、1个或多个父类没有父类且最少有一个子类的类称为根类或基类没有子类的类称为叶子类箭头指向被继承的类CommodityBookCD关联关系(association)代表一种结构关系类型自关联二元关联关联可以有一个名称CommodityCategory**Belongsto4聚集、聚合(Aggregation)--一种特殊的关联关系用于表示整体与部分的关系以菱形表示可进一步细分为:普通聚集,共享聚集(SharedAggregation)整体与部分可以单独存在以空心菱形表示组合(Composition)整体拥有部分,部分与整体共存以实心菱形表示CarWheel14consistof4类及类之间的关系自关联同时存在两种关系依赖关系泛化关系多元关联大学里的几