电子商务系统分析与设计.docx
- 文档编号:6199560
- 上传时间:2023-05-09
- 格式:DOCX
- 页数:19
- 大小:563.80KB
电子商务系统分析与设计.docx
《电子商务系统分析与设计.docx》由会员分享,可在线阅读,更多相关《电子商务系统分析与设计.docx(19页珍藏版)》请在冰点文库上搜索。
电子商务系统分析与设计
电子商务系统分析与设计
实验指导书
实验一 电子商务系统调查分析
一、实验的目的:
比较、总结、归纳优秀电子商务平台的特点。
二、实验的内容与要求:
网上调查收集不同类型的成功投入运行的电子商务系统案例,分析其主要功能、业务流程、首页设计、页面可视化设计、网站的风格和创意设计、网站的栏目和版块设计、网站的目录结构和链接结构设计的特点。
三、实验范例:
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)形成类图,也就是领域模型
对餐馆系统进行分析后,建立简单的领域模型如下图所示:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 电子商务 系统分析 设计