电子商务系统设计与实现(第2章).ppt

上传人:牧羊曲112 文档编号:6592854 上传时间:2023-11-15 格式:PPT 页数:59 大小:1.31MB
返回 下载 相关 举报
电子商务系统设计与实现(第2章).ppt_第1页
第1页 / 共59页
电子商务系统设计与实现(第2章).ppt_第2页
第2页 / 共59页
电子商务系统设计与实现(第2章).ppt_第3页
第3页 / 共59页
电子商务系统设计与实现(第2章).ppt_第4页
第4页 / 共59页
电子商务系统设计与实现(第2章).ppt_第5页
第5页 / 共59页
点击查看更多>>
资源描述

《电子商务系统设计与实现(第2章).ppt》由会员分享,可在线阅读,更多相关《电子商务系统设计与实现(第2章).ppt(59页珍藏版)》请在三一办公上搜索。

1、电子商务系统设计与实现,毛郁欣浙江工商大学计算机与信息工程学院,课程的主要内容,第1章 概论第2章 电子商务系统分析与设计基础第3章 电子商务系统开发基础第4章 电子商务系统规划第5章 电子商务系统分析第6章 电子商务系统设计第7章 电子商务应用系统设计第8章 数据库实现第9章 电子商务网站开发技术第10章 电子商务系统的开发模式第11章 电子商务系统的测试与维护,第2章 电子商务系统分析与设计基础,2.1 结构化方法2.2 面向对象方法2.3 统一建模语言(UML)介绍,结构化开发方法主要是按照功能来划分软件的结构,它把软件系统的功能看做是根据给定的输入数据,进行相应的处理转换,然后输出结果

2、,即“输入数据(Input)处理转换(Process)输出数据(Output)”这样的IPO过程。结构化分析方法采用数据流图(DFD:Data Flow Diagram)作为刻画数据流及其处理转换的工具,通过一些图形符号表述数据源、数据流向、处理转换等;结构化分析方法采用数据字典(DD:Data Dictionary)来表示各类数据;可以通过判定表、决策树的方式描述处理转换的过程的细节;,2.1 结构化方法,结构化开发方法思想用系统工程的思想和工程化的方法,按用户至上的原则,结构化,模块化,自顶向下地对系统进行分析与设计。,2.1 结构化方法,结构化开发例子画板系统,按照功能划分的画板系统,选

3、择形状模块的数据流图,2.1 结构化方法,结构化开发例子画板系统,/*选择形状模块*/void selectShape()int intShape;scanf(“%d”,/*画板系统,用户输入特定形状类型,系统画出具体图形*/#include/*定义常量*/#define LINE 1#define CIRCLE 2#define RECTANGLE 3/*画直线模块*/void drawLine()/省略实现细节/*画圆模块*/void drawCircle()/省略实现细节/*画长方形模块*/void drawRectangle()/省略实现细节,2.1 结构化方法,1.面向对象方法简介

4、面向对象的开发方法把软件系统看成各种对象的集合,对象就是最小的子系统,一组相关的对象能够组合成更复杂的子系统。面向对象方法的优点:(1)把软件系统看成是各种对象的集合,这更接近人类的自然思维方式。(2)软件需求的变动往往是功能的变动,而功能的执行者对象一般不会有大的变化。这使得按照对象设计出来的系统结构比较稳定。(3)对象包括属性(数据)和行为(方法),对象把数据及方法的具体实现方式一起封装起来,这使得方法和与之相关的数据不再分离,提高了每个子系统相对独立性,从而提高了系统的可维护性。(4)支持封装、抽象、继承和多态,提高了软件的可重用性、可维护性和可扩展性。,2.2 面向对象方法,2.面向对

5、象方法的思想(1).问题领域、对象和类问题领域中的实体和概念都可以抽象为对象,即万物都是对象。每个对象都是惟一的。对象具有属性和行为对象具有状态。对象都属于某个类,2.2 面向对象方法,2.面向对象方法的思想(2).类、类型,public class CellPhone private String type;private String color;private double price;public CellPhone(String type,String color,double price)this.type=type;this.color=color;this.price=pric

6、e;public void takePhone()public void call()public void sendMessage()public void receiveMessage(),2.2 面向对象方法,2.面向对象方法的思想(3).消息、服务,电视机,遥控器,2.2 面向对象方法,2.面向对象方法的思想(4)接口,(1)系统对外提供的所有服务,在对象中表现为public类型的方法的声明。(2)指interface关键字定义的实实在在的接口,也称为接口类型,它用于明确地描述系统对外提供的所有服务,它能更加清晰地把系统的实现细节与接口分离。,2.2 面向对象方法,2.面向对象方法的思

7、想(5)封装(1)便于使用者正确、方便地理解和使用系统,防止使用者错误修改系统的属性。(2)有助于建立各个系统之间的松耦合关系,提高系统的独立性。(3)提高软件的可重用性,每个系统都是一个独立的整体,可以在多种环境中得到重用。(4)降低了构建大型系统的风险。public:对外公开,访问级别最高protected:只对同一个包中的类或子类公开 默认:只对同一个包中的类公开 private:不对外公开,只能在对象内部访问,访问级别最底,2.2 面向对象方法,2.面向对象方法的思想(6)抽象,2.2 面向对象方法,2.面向对象方法的思想(6)抽象 从问题域的事物到软件模型对象的抽象 从对象到类的抽象

8、 从子类到父类的抽象 不同子类之间具有相同的功能时,并且功能的实现方式也完全一样。不同的子类具有相同的功能,但功能的实现方式不一样。,2.2 面向对象方法,2.面向对象方法的思想(7)继承、扩展、覆盖 在父类和子类之间同时存在着继承和扩展关系。子类继承了父类的属性和方法,同时,子类还可以扩展出新的属性和方法,并且还可以覆盖父类中方法的实现方式。,第二节 面向对象方法,2.面向对象方法的思想(8)组合 组合是一种用多个简单子系统来组装出复杂系统的有效手段。,2.2 面向对象方法,2.面向对象方法的思想(9)多态、动态绑定,public class Shaver private Power pow

9、er;public Shaver()public Shaver(Power power)this.power=power;public void setPower(Power power)this.power=power;public shave()power.providerPower();,Shaver shaver=new Shaver();Shaver.setPower(new AcPower);Shaver.shave();,Shaver shaver=new Shaver();Shaver.setPower(new Battery);Shaver.shave();,2.2 面向对象

10、方法,软件发展的复杂性,随着信息技术的发展,软件复杂性的增长,使软件开发越来越困难,软件可能是人类制造出来的最复杂的实体,1.概述 UML(Unified Modeling Language)是软件界第一个统一的建模语言,该方法结合了Booch,OMT,和OOSE方法的优点,统一了符号体系,并从其它的方法和工程实践中吸收了许多经过实际检验的概念和技术。它是一种标准的表示,已成为国际软件界广泛承认的标准。它是第三代面向对象的开发方法,是一种基于面向对象的可视化的通用(General)建模语言。为不同领域的用户提供了统一的交流标准 UML图。UML应用领域很广泛,可用于软件开发建模的各个阶段,商业

11、建模(Business Modeling),也可用于其它类型的系统。,2.3 统一建模语言(UML)介绍,1.概述,什么是模型?为什么要建模?,什么是模型?,模型是一个系统的完整的抽象。人们对某个领域特定问题的求解及解决方案,对它们的理解和认识都蕴涵在模型中。通常,开发一个计算机系统是为了解决某个领域特定问题,问题的求解过程,就是从领域问题到计算机系统的映射。,领域问题,概念模型,分析、抽取,系统需求,解决方案,分析、设计,提取,UML作为一种可视化的建模语言,提供了丰富的基于面向对象概念的模型元素及其图形表示元素。,2.3 统一建模语言(UML)介绍,1.概述,什么是模型?,UML发展过程,

12、2.3 统一建模语言(UML)介绍,1.概述,什么是模型?,Use case View描述系统的外部特性、系统功能等。,Implementation View 表示系统的实现特征,常用构件图表示。,Design View 描述系统设计特征,包括结构模型视图和行为模型视图,前者描述系统的静态结构(类图、对象图),后者描述系统的动态行为(交互图、状态图、活动图)。,Process View 表示系统内部的控制机制。常用类图描述过程结构,用交互图描述过程行为。,Deployment View 配置视图描述系统的物理配置特征。用配置图表示。,UML常用视图,2.3 统一建模语言(UML)介绍,2.用例

13、图 1992年由Jacobson提出了Use case 的概念及可视化的表示方法Use case图,受到了IT界的欢迎,被广泛应用到了面向对象的系统分析中。用例驱动的系统分析与设计方法已成为面向对象的系统分析与设计方法的主流。用例模型由Jacobson在开发AXE系统中首先使用,并加入由他所倡导的OOSE和Objectory方法中。用例方法引起了面向对象领域的极大关注。自1994年Ivar Jacobson的著作出版后,面向对象领域已广泛接纳了用例这一概念,并认为它是第二代面向对象技术的标志。,2.3 统一建模语言(UML)介绍,2.用例图 用例建模技术,用于描述系统的功能需求。在宏观上给出模

14、型的总体轮廓。通过对典型用例的分析,使开发者能够有效地了解用户的需求。用例图由执行者(Actor)、用例(Use Case)、执行者和用例的关系和用例之间的关系组成。,2.3 统一建模语言(UML)介绍,(1)执行者(Actor)执行者是指用户在系统中所扮演的角色。执行者在用例图中是用类似人的图形来表示,但执行者可以是人,也可以是一个外界系统。,注意:用例总是由执行者启动的。,2.3 统一建模语言(UML)介绍,2 用例 用例被定义成系统执行的一系列动作(功能),用椭圆符号表示。从本质上讲,一个用例是用户与计算机之间的一次典型交互作用。用例捕获某些用户可见的需求,实现一个具体的用户目标。用例由

15、执行者激活,并将结果值反馈给执行者。用例必须具有功能上的完整描述。,2.3 统一建模语言(UML)介绍,(2)用例,网上商店后台管理系统的用例图,网站公告分布用例的文档,2.3 统一建模语言(UML)介绍,(3)用例间的关系,图中还有另外三种类型的连接,即泛化、使用和扩展关系。,泛化关系表示用例之间的一般与特殊关系。include表示一个用例使用另一个用例。Extend通过向被扩展的用例添加动作来扩展用例。,2.3 统一建模语言(UML)介绍,(4)建立用例的步骤,1)确定谁会直接使用该系统,即执行者(Actor)。谁使用系统的主要功能(主执行者)?谁需要从系统获得对日常工作的支持和服务?需要

16、谁维护管理系统的日常运行(副执行者)?公司的哪个部门使用系统?系统需要与其它哪些系统交互?谁需要使用系统产生的结果(值)?,2.3 统一建模语言(UML)介绍,(4)建立用例的步骤,2)确定每一个执行者所期望的功能,并把这些功能命名为用例。与系统实现有关的主要问题是什么?系统需要哪些输入/输出?这些输入/输出从何而来?到哪里去?执行者需要系统提供哪些功能?执行者是否需要对系统中的信息进行读、创建、修改、删除或存储?,3)绘制出用例图,明确执行者与用例,用例与用例之间的关系。,4)对每一个用例进行描述。可以使用交互图、活动图,也可以用文本型的用例文档。,5)优化用例图。如解决用例间重复与冲突问题

17、,对复杂的用例图可划分出不同的层次。,2.3 统一建模语言(UML)介绍,(5)用例包,销售管理系统用例图总体图,2.3 统一建模语言(UML)介绍,(5)用例包,销售管理系统用例图销售中心子系统,2.3 统一建模语言(UML)介绍,3.类图 类图(Class Diagram)包含了一组类、接口和协作以及他们之间的关系。,2.3 统一建模语言(UML)介绍,类,属性可视性 属性名 多重性:类型=初始值 约束特性其中:可见性(visibility)表示该属性对 类外的元素是否可见。分为:public(+)公有的,即模型中的任何类都可以访问该属性。private(-)私有的,表示不能被别的类访问。

18、protected(#)受保护的,表示该属性只能被该类及其子类访问。如果可见性未申明,表示其可见性不确定。,2.3 统一建模语言(UML)介绍,类,(2)方法可视性 操作名(参数):返回值其中:可见性同上。参数表:参数名:类型,返回类型:操作返回的结果类型。,2.3 统一建模语言(UML)介绍,接口 接口是一个抽象的概念,是指系统对外提供的所有服务。系统的接口描述了系统能够提供哪些服务,但是没有具体的实现,也没有属性、状态或关联,只有操作。,2.3 统一建模语言(UML)介绍,3 UML中类之间的关系 UML中类的关系有关联(association)、聚集(aggregation)、泛化(ge

19、neralization)、依赖(dependency)和实现(realization)。,第三节 统一建模语言(UML)介绍,(1)关联:类之间特定的对应关系。一对一、一对多、多对多 单项关联、多项关联,UML中类之间的关系,(2)依赖:表示两个或多个类之间的调用关系。,(3)聚集:表示整体和部分关系。分共享聚集和组合聚集,2.3 统一建模语言(UML)介绍,UML中类之间的关系,(4)泛化:表示类之间的一般与特殊关系,即继续关系。,(5)实现:表示类与接口之间的关系,2.3 统一建模语言(UML)介绍,建立类图的步骤,第三节 统一建模语言(UML)介绍,(1)研究分析问题领域,确定系统的需

20、求(2)发现问题领域中的对象和对象类,明确它们的含义和责任,以确定属性和操作。(3)发现类之间的静态关系。着重分析找出类之间的一般和特殊关系,部分与整体关系,研究类的继承性和多态性,把类之间的静态联系用关联、泛化、聚合、依赖等关系表达出来。(4)设计类与关系。调整和精化已得到的类和类之间的关系,解决诸如命名冲突、功能重复等问题。(5)绘制类图并编制相应的说明,4.状态图 状态图(State Diagram)用来描述一个特定对象的所有可能的状态及其引起状态转移的事件。一个状态图包括一系列的状态以及状态之间的转移。状态所有对象都具有状态,状态是对象执行了一系列活动的结果。当某个事件发生后,对象的状

21、态将发生变化。状态图中定义的状态有:,初态状态图的起始点,一个状态图只能有一个初态。终态是状态图的终点。而终态则可以有多个。中间状态可包括三个区域:名字域、状态变量与活动域。复合状态可以进一步细化的状态称作复合状态。,2.3 统一建模语言(UML)介绍,中间态,响应事件的内部动作或活动的列表,定义为:事件名(参数表条件)/动作表达式,状态变量 是状态图所显示的类的属性。活动 列出了在该状态时要执行的事件和动作。有3个标准事件:entry事件用于指明进入该状态时的特定动作。exit事件用于指明退出该状态时的特定动作。do事件用于指明在该状态中时执行的动作。,2.3 统一建模语言(UML)介绍,第

22、三节 统一建模语言(UML)介绍,状态迁移一个对象的状态的变迁称为状态迁移。通常是由事件触发的,此时应标出触发转移的事件表达式。如果转移上未标明事件,则表示在源状态的内部活动执行完毕后自动触发转移。,第三节 统一建模语言(UML)介绍,事件是激发状态迁移的条件或操作。在UML中,有4类事件:,1、某条件变为真;表示状态迁移的上的警戒条件。2、收到来自外部对象的信号(signal)表示为状态迁移上的事件特征,也称为消息。3、收到来自外部对象的某个操作中的一个调用,表示为状态迁移上的事件特征,也称为消息。、状态迁移上的时间表达式。,变化事件,调用事件,时间事件,第三节 统一建模语言(UML)介绍,

23、建立状态图的步骤:,1)选择初始状态和终结状态。2)发现对象的各种状态。注意应当仔细找出对问题有意义的对象状态属性,这些属性具有少量的值,且该属性的值的转换受限制。状态属性值的组合,结合行为有关的事件和动作,就可以确定具有特定的行为特征的状态。3)确定状态可能发生的转移。注意一个状态可能转移到哪些状态,对象的哪些行为可引起状态的转移并找出触发状态转移的事件。4)把必要的动作加到状态或转移上。5)分析状态的并发和同步情况。6)绘制状态图。,5.活动图 活动图(Activity Diagram)的应用非常广泛,它既可用来描述操作(类的方法)的行为,也可以描述用例和对象内部的工作过程,并可用于表示并

24、行过程。活动图是由状态图变化而来的,它们各自用于不同的目的。活动图描述了系统中各种活动的执行的顺序。刻化一个方法中所要进行的各项活动的执行流程。活动图中一个活动结束后将立即进入下一个活动(在状态图中状态的变迁可能需要事件的触发)。,第三节 统一建模语言(UML)介绍,构成活动图的模型元素有:活动、转移、对象流、泳道等。,第三节 统一建模语言(UML)介绍,活动是构成活动图的核心元素,是具有内部动作的状态,由隐含的事件触发活动的转移。活动的解释依赖于作图的目的和抽象层次,在概念层描述中,活动表示要完成的一些任务;在说明层和实现层中,活动表示类中的方法。活动用圆角框表示,标注活动名。,第三节 统一

25、建模语言(UML)介绍,活动还有其它的图符:初态、终态、判断、同步。,转移转移描述活动之间的关系,描述由于隐含事件引起的活动变迁,即转移可以连接各活动及特殊活动(初态、终态、判断、同步线)。转移用带箭头的直线表示,可标注执行该转移的条件,无标注表示顺序执行。,第三节 统一建模语言(UML)介绍,泳道泳道进一步描述完成活动的对象,并聚合一组活动。活动图是另一种描述交互的方式,描述采取何种动作,做什么(对象状态改变),何时发生(动作序列),以及在何处发生(泳道)。泳道也是一种分组机制。,第三节 统一建模语言(UML)介绍,、对象流活动图中可以出现对象,对象作为活动的输入输出,用虚箭头表示。,第三节

26、 统一建模语言(UML)介绍,建立活动图的步骤:,1)找出负责实现工作流的业务对象。这些对象可以是现实业务领域中的实体,也可以是一种抽象的概念或事物。为每一个重要的业务对象建立一条泳道。2)确定工作流的初始状态和终结状态,明确工作流程的边界。3)从初始状态开始,找出随时间而发生的活动,把他们表示成活动状态。4)对于复杂的动作或多次重复出现的一组动作,可以把他们组成一个活动状态,并且用另外一个活动图来展开表示。5)给出连接活动的转移。首先处理顺序活动流,然后处理条件分支。最后处理分叉和接合。6)在活动图中给出与工作流程有关的重要对象,并用虚箭线把他们与活动状态相连接。,6.顺序图,第三节 统一建

27、模语言(UML)介绍,顺序图存在两个轴:水平轴表示一组对象,垂直轴表示时间。顺序图中的对象用一个带有垂直虚线的矩形框表示,并标有对象名和类名。垂直虚线是对象的生命线,用于表示在某段时间内对象是存在的。对象间的通信通过在对象的生命线之间消息来表示,消息的箭头类型指明消息的类型。,顺序图(Sequence Diagram)用来描述对象之间动态的交互行为,着重体现对象间消息传递的时间顺序。,6.顺序图,第三节 统一建模语言(UML)介绍,第三节 统一建模语言(UML)介绍,(1)对象对象用矩形框图表示,它们代表参与交互的对象。name:ClassName来标记,(2)生命线生命线表示对象存在的时间,

28、在顺序图中生命线表示从对象图标向下延伸的一条虚线。生命线从对象创建时开始到对象消亡时终止,对象存在的时间有多长,说明对象的生命线的虚线就有多长。,(3)激活激活是过程的执行的时间,包括它等待嵌套过程执行的时间。当一个对象在激活期时,该对象处于激活状态,能够响应或发送消息,执行动作或活动。当一个对象不在激活期时,该对象处于休眠状态,什么事都不做,但它仍然存在,等待新的消息来激活它。,第三节 统一建模语言(UML)介绍,(4)消息在面向对象技术中,对象间的交互是通过对象间消息的传递来完成的。在UML的所有动态图(活动图、状态图、顺序图和协作图)中,消息作为对象间的一种通信方式来表示。,第三节 统一

29、建模语言(UML)介绍,(4)消息简单消息(Simple Message):表示简单的控制流。用于描述控制如何在对象间进行传递,而不考虑通信的细节。同步消息(Synchronous Message):表示嵌套的控制流。操作的调用是一种典型的同步消息。调用者发出消息后必须等待消息返回,只有当处理消息的操作执行完毕后,调用者才可继续执行自己的操作。异步消息(Asynchronous Message):表示异步控制流。当调用者发出消息后不用等待消息的返回即可继续执行自己的操作。异步消息主要用于描述实时系统中的并发行为。返回消息(Return Message):将一个简单消息和一个同步消息合并成一个消

30、息,即操作调用一旦完成就立即返回。,第三节 统一建模语言(UML)介绍,建立顺序图的步骤:,1)确定交互的上下文。2)找出参与交互的对象类角色,把他们横向排列在顺序图的顶部,最重要的对象安置在最左边,交互密切的对象尽可能相邻。在交互中创建的对象在垂直方向应安置在其被创建的时间点处。3)对每一个对象设置一条垂直的向下的生命线。4)从初始化交互的信息开始,自顶向下在对象的生命线之间安置信息。注意用箭头的形式区别同步消息和异步消息。根据顺序图是属于说明层还是属于实例层,给出消息标签的内容,以及必要的构造型与约束。5)在生命线上绘出对象的激活期,以及对象创建或销毁的构造型和标记。6)根据消息之间的关系,确定循环结构及循环参数和出口条件。,7.合作图,第三节 统一建模语言(UML)介绍,合作图用于描述相互合作的对象间的交互关系和链接关系。在实际应用时,如果强调时间和顺序,则使用顺序图;如果强调对象间的关系,则选择合作图。,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号