电子商务系统分析与设计.docx

上传人:b****4 文档编号:6199560 上传时间:2023-05-09 格式:DOCX 页数:19 大小:563.80KB
下载 相关 举报
电子商务系统分析与设计.docx_第1页
第1页 / 共19页
电子商务系统分析与设计.docx_第2页
第2页 / 共19页
电子商务系统分析与设计.docx_第3页
第3页 / 共19页
电子商务系统分析与设计.docx_第4页
第4页 / 共19页
电子商务系统分析与设计.docx_第5页
第5页 / 共19页
电子商务系统分析与设计.docx_第6页
第6页 / 共19页
电子商务系统分析与设计.docx_第7页
第7页 / 共19页
电子商务系统分析与设计.docx_第8页
第8页 / 共19页
电子商务系统分析与设计.docx_第9页
第9页 / 共19页
电子商务系统分析与设计.docx_第10页
第10页 / 共19页
电子商务系统分析与设计.docx_第11页
第11页 / 共19页
电子商务系统分析与设计.docx_第12页
第12页 / 共19页
电子商务系统分析与设计.docx_第13页
第13页 / 共19页
电子商务系统分析与设计.docx_第14页
第14页 / 共19页
电子商务系统分析与设计.docx_第15页
第15页 / 共19页
电子商务系统分析与设计.docx_第16页
第16页 / 共19页
电子商务系统分析与设计.docx_第17页
第17页 / 共19页
电子商务系统分析与设计.docx_第18页
第18页 / 共19页
电子商务系统分析与设计.docx_第19页
第19页 / 共19页
亲,该文档总共19页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

电子商务系统分析与设计.docx

《电子商务系统分析与设计.docx》由会员分享,可在线阅读,更多相关《电子商务系统分析与设计.docx(19页珍藏版)》请在冰点文库上搜索。

电子商务系统分析与设计.docx

电子商务系统分析与设计

电子商务系统分析与设计

实验指导书

实验一 电子商务系统调查分析

一、实验的目的:

比较、总结、归纳优秀电子商务平台的特点。

二、实验的内容与要求:

网上调查收集不同类型的成功投入运行的电子商务系统案例,分析其主要功能、业务流程、首页设计、页面可视化设计、网站的风格和创意设计、网站的栏目和版块设计、网站的目录结构和链接结构设计的特点。

三、实验范例:

1、系统名称:

某在线招聘电子商务系统

2、系统主要功能:

第一,登录模块。

前台登录系统应该有用户名和密码以及验证码,以保证企业和个人信息的安全性和准确性。

作为这样的一个系统,数据的处理都是在后台,所以还要有一个后台管理入口,后台登录系统应该有管理员、密码,确保信息的安全性。

第二,注册模块。

注册模块分为两类,第一类是企业注册,由于企业是发布招聘信息,并且寻找人才,所以在注册内容中要突出企业背景及企业的基本信息;第二类是个人注册,个人在招聘系统中主要是发布简历进行求职,所以其注册信息的主要内容要突出个人的工作经历及基本信息。

第三,后台管理模块。

管理员进入后台管理系统,可以管理个人和企业会员注册、企业发布信息、个人发布的简历、新闻快讯、院校信息、企业信息等模块。

总的来看可以根据登录身份而行使不同的权限实现了用户注册、登录、验证身份及用户数据的采集、搜索/查看用户信息,站内最新新闻发布。

个人用户把简历提交给自己合意的公司,企业用户通过简历提取自己合意人员的联系方式,管理员管理整个网站。

3、招聘系统的前台功能结构图:

前台功能详细描述:

整个前台功能提供企业和个人的注册登陆功能,个人注册成功登陆后完善个人信息,通过发布简历,然后查找合适的职位,并将自己的简历发布到该企业下。

企业注册成功后完善基本信息,并且可发布职位招聘信息,然后可进行人才搜索,收藏合适的人才。

4、招聘系统的后台功能结构图

后台功能详细描述:

整个后台功能给管理员提供管理整个系统的权力,可通过后台对企业基本信息、企业发布的招聘职位信息、企业的注册信息、个人的注册信息、个人简历、个人基本信息的管理,以及新闻咨询的管理。

后台详细功能如下:

(1)个人会员账号管理:

对注册的个人会员信息进行管理;

(2)个人会员简历管理:

对个人会员发布的简历进行管理;

(3)个人基本信息管理:

对注册会员所完善的个人信息进行管理;

(4)企业会员基本信息管理:

对企业所填写的基本信息进行管理;

(5)企业会员账号管理:

对企业会员注册的用户名和密码进行管理;

(6)企业招新信息管理:

对企业所发布的职位招聘信息进行管理;

(7)新闻添加:

对新闻咨询进行添加操作;

(8)新闻修改:

对已有的新闻进行修改操作;

(9)新闻删除:

对过期的新闻咨询进行删除操作;

 

5、招聘系统的业务流程分析

图:

个人会员中心

图:

企业会员中心

 

实验二UML分析模型

一、实验的目的:

学习掌握UML分析模型。

二、实验的内容与要求:

介绍电子商务系统分析的基本过程和方法。

让学生深入理解系统分析建模的目的、过程,掌握建模工具的实际运用能力。

三、实验过程:

1、熟悉建模工具staruml的环境及基本使用:

StarUML(简称SU),是一种创建UML类图,并能够自动生成Java的“stub code” 的工具。

SU也可以做JAVA逆向工程,以产生相应的UML图表。

在本次实验中,我们将使用SU建立工程,设计一个pizza饼店的电子商务系统模型,创建UML图。

SU可以生成反映类结构的代码。

1)添加新工程

然后,一个名叫:

New ProjectByApproach的对话框会弹出。

选择“EmptyProject”并且按下"确定"。

这里建议你不要勾选"设置为默认的做法"复选框。

2)选择模型

在右边的“ModelExplorer”框中选定“Untitled”模块。

3)添加模型

通过“Model”主菜单,或右击选定的模型,可以" Add/DesignModel"

4)添加类图

通过“Model”主菜单,或右击选定模型,可以“AddDiagram/ClassDiagram”:

 

5)设置profile

通过“Model/Profile...”菜单去设置工程所需的profile。

这决定了工程所使用的规则和约定。

一定要包含"JAVAPorfile"这一项目。

 

6)保存工程

立即就保存工程,这样在出现问题的时候,您就不会丢失信息。

 从“File”菜单,选择“Save” ,并选择一个地方以保存工程。

你的StarUML项目现在应该看起来的是这样的:

 

7)创造图表

现在,开始真正创造图表,从默认就在屏幕的左边的“Toolbox”选择“类”图标,然后左键单击diagram窗口的某处。

这样就使用通用名字创造了一个新的类。

双击,将类改名为Circle。

8)添加属性

右击图中的目标,在弹出菜单中选择“Add”中的“Attribute”(被标示为绿色),为其添加一个属性(或者域),填入期望的名字“_radius”。

具体的数据类型,在属性面板(右下侧的窗口),由双打字,在"类型"时段。

 在窗体右下边的Properties面板中,找到“Type”输入框,输入double作为_radius属性的类型。

类的内部数据(域/属性)都是私有的,因为他们是严格由类内部使用的。

所以,在Properties面板中将_radius设置为“私有”。

9)继续进行设计

重复同样的过程,添加所谓的名字叫做Rectangle的类和double型的私有成员_width和_height。

 

10)创造 IShapeinterface

从toolbox中,选择“Interface”,并点击图表的某处。

将其改名为IShape。

创建以后,选中它。

在顶部工具栏,选择“StereotypeDisplay” 下拉按钮,将值改变为“None”。

这将改变以往的圆形形状,使其变为成长方形。

还是在顶部工具栏,取消选中" SuppressOperations"。

这将使我们能够看到接口所拥有的方法。

●向IShape接口添加返回值为double的getArea方法。

⏹可以通过右击interface的图标,在弹出菜单中点击红色的“Operation”按钮,然后输入getArea。

⏹设定返回值类型。

在“Model Explorer”中展开IShape节点,右击你刚刚创建的getArea方法,并选择“AddParameter”。

在“Properties”框中,将参数的名子变为空,将“DirectionKind”变为“RETURN”,将“Type”变为dboule。

●将IShape和getArea的IsAbstract属性框打上勾,他们在图标上的名字将变为斜体。

这是UML的标准,表示这是接口或者其他纯虚实体。

11)添加类和接口的关系

●可以通过从toolbox中选择表示“Realization”的箭头,并从Circle拖拽向IShape,使Circle实现接口IShape。

重复同样的过程,为Rectangle添加实现关系。

这是添加了Circle 和Rectangle对于IShape接口的实现关系。

⏹如果想使连接线表现为直角的方式,右击连接线,并选择"Format/LineStyle/Rectilinear"菜单。

你通过这种方式,使箭头重叠在一起,可以使你的图看起来更整洁。

 

12)添加类基于接口的行为

●由于Circle和Rectangle类都实现了IShape接口,就必须有同样的行为(方法)。

⏹在“Model Explorer”面板中,复制getArea法(按Ctrl-C或者右键点击并选择Copy菜单),并粘贴到Circle和Rectangle类。

⏹这些实现了的方法在Circle和Rectangle类中都不是抽象的,而是具体的。

这是因为他们实际上是执行一些特定行为(例如,为一个圆形和长方形分别计算面积),所以不要勾选IsAbstract框。

 

13)你的图现在应该是这样的:

 

14)添加Pizza类 

●向Pizza添加double型的私有域_price。

●添加返回double类型的共有操作getPrice。

15)为Pizza类添加IShape的引用

●从toolbox中选择"DirectedAssociation"箭头,点击Pizza类,并向IShape拖拽 。

⏹选中箭头,在右边的“Properties”框上,将name一栏改为“has-a”,“End1.Aggregation” 一栏改为“AGGREGATE”(这个图示说明Pizza和shape对象是“聚合“的关系)。

⏹将“End2.Name”一栏改为_shape。

这样就自动为Pizza添加一个名字为_shape,使用IShape接口的私有域,的所谓_shape型ishape以pizza饼。

⏹将“End2.Visibility”改为私有。

 

●为_shape创建一个“获得者”方法,名字叫做getShape,返回IShape。

这就是创建一个行为,名字是getShape,返回IShape 。

 

16)为pizza类添加构造函数

●为Pizza添加构造函数,右击,在弹出的“Add” 菜单中选择“Operation”。

从这里,增加一个普通的带有dboule型price参数和IShape类型shape参数的操作

●增加一个输入参数,就像之前增加了一个返回型的输出参数一样,你指定的参数的名称,如价格和形状等,以及适当的数据类型。

●为Circle增加一个带有double型的radius参数的构造函数。

●为Rectangle增加一个带有double型width和height参数的构造函数。

17)你的图现在应该是这样的:

18)添加Test_Pizza类

为了说明UML类图更多的功能,又增加了一个叫做“Test_Pizza”的类,它用作测试目的,并使用到Pizza和IShape类。

●两个类之间的关系有多种形式。

举例来说,一个类可以实例化另一个类,而不是将其作为一个成员。

又或,一类的方法可能需要另一个类作为输入参数,保留一个引用仅仅是为这个方法的执行。

●通过从toolbox中选择“Dependency”箭头,从一个类拖向他所以来的类,来添加不通类之间的依赖关系。

在这个例子中,Test_Pizza依赖于Pizza,Circle和Rectangle类,因为它实例化了它们。

 

●从Propertiesbox选择name属性,或者双击图表上的“依赖线”,可以为依赖关系添加标签。

特别的是,当一类实例化另一个类,我们会把依赖线叫做“instantiates”。

●你可以选中并拖动依赖线的标签,以达到更美观的效果。

●依赖关系不会影响代码生成。

19)你的图现在应该像所示:

20)对你的图随意做些修改。

 

你还可以拖动你的类图,并且使箭头以不通的方式展示(使箭头显示为直线,选择一个箭头,右击它,弹出菜单中选择“Line Style”,并选择“Rectilinear”)。

你一定要体验这个工具,并去了解它。

 

21)保存项目

在“File”菜单中,选择“Save”。

SU的所有资料只有一个单一的项目文件,所以你目前应该只有一个文件生成。

22)导出

将图表导出为其他格式,例如图片等,是非常有用的。

您可以通过选择“File”菜单的“Export Diagram”,并且选择合适的文件类型来执行改操作。

23)生成Java stub代码:

●点击主菜单的“Tools->Java”菜单,选择“Generate Code”。

●从对话框中选择你的模块(这里可能Model1),点击“Next”。

●为了使你的模块或者图标的所有类都生成stubcode,选择“SelectAll”然后按“Next”。

 

●选择一个有效的输出目录,“Next”。

●In the"OptionsSetup", besuretocheckboth "Generate theDocumentationbyJavaDoc"and"Generateempty JavaDoc". Allother checkboxesshouldbeunchecked. Thenpress"Next".在“OptionsSetup” ,请务必选中“Generatethe DocumentationbyJavaDoc”,“GenerateemptyJavaDoc”,所有其他复选框不选中,“Next”。

●现在StarUML将从你的图产生代码,点击“Finish”退出对话框。

●现在,您可以编辑生成的代码,以增加应用。

24)添加实现代码

现在就开始定义程序实际做的事情,例如,为你图标中的类描述添加实现代码。

●使用DrJava添加代码,为相关的类,.Java文件添加代码。

 代码会和你使用HW02是一样的。

(注意:

为Test_Pizza些代码,最好由DrJava自动生成,而非手工在StarUML里面创建。

我们这里只是为了说明。

●记得那IShape的getArea()方法是抽象的,因此没有代码。

 

●请您像代码范例一样添加注释。

这种注释是“JavaDoc”风格的。

 

2、建立用况(用例)模型

用况是系统提供的一个内聚的功能性单元,表明系统与一个或多个执行者进行交互的顺序,也表明了系统执行的动作。

用况目标是要定义系统的一个行为,但不揭示系统的内部结构。

在使用面向对象分析方法时,我们通常会使用用况模型来描述系统的需求。

1)基本步骤

(1)系统的需求分析

(2)确定参与者,识别系统边界

(3)考虑每个参与者所期望的系统的提供的行为。

(4)把这些行为命名为用况。

(5)画出最初的用况图,并组织用况之间的关系。

2)范例

以某餐馆系统为例描述顾客预定和分配餐桌的过程

根据参与者所参与的用况,可以画出最初的用况图,如下图所示:

3、建立领域模型(类图)

类是对一组具有相同属性、操作、关系和语义的对象的描述。

类也是我们用于建模的基本单位。

通过对系统进行需求分析,找到候选对象,为对象添加必要的属性和方法,然后定义类与类之间的关系,提取类与类之间的共同属性和方法然后抽象为父类,最后形成一个类图,也就是领域模型。

1)找到候选对象

将业务概念文档化并产生类图,以显示重要的业务概念以及它们之间的关系。

这样的类图就是领域模型。

如果是大规模的项目,领域模型通常作为一个更为艰巨的业务建模活动的一部分而产生。

但较小的项目可以使用一个较为简单的领域模型来描述。

创建分析阶段的类图的第一步是先找候选对象,候选对象应符合下列两项条件中的一项:

候选对象应该是在企业运作过程中,业务人员会用到的业务名词和概念;在信息化时,系统会用到,或者需要保存的事物。

同时需要注意,在分析阶段,尽量不要使用跟业务无关的名词,例如:

计算机、网络这样的计算机方面专业名词。

系统分析员在访谈用户时,可以提出下述的问句,以便获知重要的对象。

●在执行这项工作时,你们会用到哪些专业概念?

●你们在执行这项工作时,会需要使用哪些数据?

在餐馆系统中,重要的可能会作为对象出现业务概念应该包括:

顾客(预约、未预约),预约,餐桌,用餐人数,用餐者,位子,服务员,领班、预约单。

2)筛选对象

顾客的相关信息例如他的姓名、电话都是需要保存的重要业务数据,因此顾客可以确定为业务对象,通过需求分析我们知道顾客分为未预约顾客(Walkin)和预约顾客。

顾客可以预约某个时间的餐桌,预约的相关信息例如时间,是预约在几号餐桌,也是重要的业务数据,所以预约应该作为领域模型的对象。

餐桌会与顾客还有预约发生关联,餐桌也拥有自己信息和状态:

可以容纳的用餐人数、在某个时间段是否空闲,这些数据在业务上是比较重要的,所以餐桌应该作为领域模型的对象。

按照上面的分析,用餐人数比较适合作为餐桌对象的属性。

用餐者这个概念在需求分析中并没有特别提出,他和顾客的概念没有太大的区别,在我们的系统中并没有特别不同的信息需要处理和存储,所以暂时不作为领域模型的对象。

位子应该是和餐桌相关的一个业务概念,但在我们的系统中,没有发现特别的与位子的相关信息需要处理,所以不作为领域模型的对象。

服务员和领班的目前的需求分析没有特别的信息需要进行处理,但在后面的迭代周期中可能会需要加入(如果系统需要注册、登陆功能并且需要区分不同的角色和权限的时候,就会需要建立,服务员和领班对象)。

预约单在界面原型中是非常重要的界面元素,可以用来作为存放和组织预约的一个容器,也有与预约单相关的信息需要系统处理,比较适合作为领域模型的对象。

经过筛选后,初步可以确定的对象应该包括:

顾客、预约、餐桌、预约单。

3)添加属性

属性(attribute)已命名的类的特性,它描述了该特性的实例可以取值的范围。

我们通过下列问题探寻属性:

●某事物会记录什么数据?

●某事物可以提供给我们哪些数据?

●通过某事物,可以让我们查到哪些数据?

系统分析员还需要进一步了解属性:

●属性的定义

●数据类型

●可能的范围值

●初始值

●属性值的获得方法

系统分析员可以向业务人员作如下提问:

●可以请您用简单的一、两句话解释某属性是什么吗?

●可以请您举个例子吗?

●请问某属性有范围值吗?

●请问某属性有初始值吗?

●怎样才能得到属性值?

使用上面的方法为系统的类添加必要的属性。

4)添加方法

方法或操作是一个服务的实现,该服务可以由任何类的对象来请求以影响其行为。

操作是一个对象能做的事情的抽象。

可以通过下列问题探寻操作:

●某事物可以做什么用?

●有了这个事物以后,我们可以拿它来做什么?

对操作进一步进行分析:

●了解操作的实现方法(Method)

●方法的执行步骤

●所需或者产生的数据

●计算公式

●以及企业的特殊约束

系统分析员可以这样提问:

●您(用户)通常都怎么执行某操作?

可以告诉我主要的执行步骤吗?

●请告诉我这些执行步骤会用到什么数据?

以及会产生什么数据?

●请告诉我这些执行步骤会使用到什么计算公式吗?

●在执行某操作时,有没有什么重要的约束需要注意和遵守的?

使用上面的方法为每个类添加必要的方法。

5)定义类与类之间的关系,创建必要的父类抽象

类与类之间联系包括:

关联关系、依赖关系、泛化关系。

另外还有两种特殊的关联关系:

聚合关系和组合关系。

泛化(generalization)是一般事物(称为超类或父类)和该事物较为特殊的种类(称为子类或子)。

判断泛化关系可以使用使用“is akindof”句式来进行判断:

特殊对象“isakindof”一般对象。

更为严格的判断可以使用里氏替换原则来判断:

任何基类出现的地方都可以被其子类型替换。

例如:

在餐馆系统根据初步的分析,我们可以从未预约客户、预约客户两个类通过提取共同的属性和行为创建抽象的父类:

顾客类。

依赖(dependcy)是一种使用关系,说明一个事物使用另一个事物的信息和服务。

依赖关系是不对称的,依赖关系中一个类依赖另一个类,但后者没有前者任何信息。

关联关系是类之间最常见的关系。

关联(association)指明一个事物与另一个事物间的联系。

例如:

顾客会打电话给餐馆进行预约,所以预约类会与顾客类相关联。

6)形成类图,也就是领域模型

  对餐馆系统进行分析后,建立简单的领域模型如下图所示:

 

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

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2