电子商务系统分析与设计_第1页
电子商务系统分析与设计_第2页
电子商务系统分析与设计_第3页
电子商务系统分析与设计_第4页
电子商务系统分析与设计_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

电子商务系统分析与设计实验指导书实验一 电子商务系统调查分析一、实验的目的:比较、总结、归纳优秀电子商务平台的特点。二、实验的内容与要求:网上调查收集不同类型的成功投入运行的电子商务系统案例,分析其主要功能、业务流程、首页设计、页面可视化设计、网站的风格和创意设计、网站的栏目和版块设计、网站的目录结构和链接结构设计的特点。三、实验范例: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 Project By Approach 的对话框会弹出。选择“Empty Project”并且按下 确定 。这里建议你不要勾选 设置为默认的做法 复选框。2)选择模型在右边的“Model Explorer”框中选定“Untitled”模块。3)添加模型通过“Model”主菜单,或右击选定的模型,可以 Add/Design Model 4)添加类图通过“Model”主菜单,或右击选定模型,可以“Add Diagram/Class Diagram”:5)设置 profile通过“Model/Profile.”菜单去设置工程所需的 profile。这决定了工程所使用的规则和约定。一定要包含JAVA Porfile 这一项目。 6)保存工程立即就保存工程,这样在出现问题的时候,您就不会丢失信息。 从“File ”菜单,选择“Save” ,并选择一个地方以保存工程。你的 StarUML 项目现在应该看起来的是这样的: 7)创造图表现在,开始真正创造图表,从默认就在屏幕的左边的“Toolbox”选择“类”图标,然后左键单击 diagram 窗口的某处。这样就使用通用名字创造了一个新的类。双击,将类改名为 Circle。 8)添加属性右击图中的目标,在弹出菜单中选择“Add”中的“Attribute ”(被标示为绿色) ,为其添加一个属性(或者域) ,填入期望的名字“_radius” 。 具体的数据类型,在属性面板(右下侧的窗口) ,由双打字,在类型时段。 在窗体右下边的 Properties 面板中,找到 “Type”输入框,输入 double 作为_radius 属性的类型。类的内部数据(域/属性)都是私有的,因为他们是严格由类内部使用的。所以,在Properties 面板中将_radius 设置为“私有” 。9)继续进行设计重复同样的过程,添加所谓的名字叫做 Rectangle 的类和 double 型的私有成员_width 和_height。 10)创造 IShape interface 从 toolbox 中,选择“ Interface”,并点击图表的某处。将其改名为 IShape。创建以后,选中它。在顶部工具栏,选择 “Stereotype Display” 下拉按钮,将值改变为“None” 。这将改变以往的圆形形状,使其变为成长方形。 还是在顶部工具栏,取消选中 Suppress Operations 。这将使我们能够看到接口所拥有的方法。 向 IShape 接口添加返回值为 double 的 getArea 方法。 可以通过右击 interface 的图标,在弹出菜单中点击红色的“Operation”按钮,然后输入 getArea。 设定返回值类型。在“Model Explorer”中展开 IShape 节点,右击你刚刚创建的 getArea 方法,并选择“Add Parameter”。在“Properties”框中,将参数的名子变为空,将“DirectionKind”变为“RETURN”,将“Type”变为 dboule。 将 IShape 和 getArea 的 IsAbstract 属性框打上勾,他们在图标上的名字将变为斜体。这是 UML 的标准,表示这是接口或者其他纯虚实体。 11)添加类和接口的关系 可以通过从 toolbox 中选择表示“Realization”的箭头,并从 Circle 拖拽向 IShape,使 Circle 实现接口 IShape。重复同样的过程,为 Rectangle 添加实现关系。这是添加了 Circle 和 Rectangle 对于 IShape 接口的实现关系。 如果想使连接线表现为直角的方式,右击连接线,并选择 Format/Line Style/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 类,因为它实例化了它们。 从 Properties box 选择 name 属性,或者双击图表上的“依赖线”,可以为依赖关系添加标签。特别的是,当一类实例化另一个类,我们会把依赖线叫做“instantiates”。 你可以选中并拖动依赖线的标签,以达到更美观的效果。 依赖关系不会影响代码生成。 19)你的图现在应该像所示:20)对你的图随意做些修改。 你还可以拖动你的类图,并且使箭头以不通的方式展示(使箭头显示为直线,选择一个箭头,右击它,弹出菜单中选择“Line Style”,并选择“Rectilinear” )。你一定要体验这个工具,并去了解它。 21)保存项目在“File”菜单中,选择“Save” 。 SU 的所有资料只有一个单一的项目文件,所以你目前应该只有一个文件生成。 22)导出将图表导出为其他格式,例如图片等,是非常有用的。您可以通过选择“File”菜单的“Export Diagram” ,并且选择合适的文件类型来执行改操作。 23)生成 Java stub 代码: 点击主菜单的“Tools-Java”菜单,选择“Generate Code”。 从对话框中选择你的模块(这里可能 Model1),点击“Next”。 为了使你的模块或者图标的所有类都生成 stub code,选择“Select All”然后按“Next”。 选择一个有效的输出目录,“Next”。 In the Options Setup, be sure to check both Generate the Documentation by JavaDoc and Generate empty JavaDoc. All other checkboxes should be unchecked. Then press Next.在“Options Setup” ,请务必选中“Generate the Documentation by JavaDoc”,“Generate empty JavaDoc”,所有其他复选框不选中,“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)筛选对象顾客的相关信息例如他的姓名、电话都是需要保存的重要业务数据,因此顾客可以确定为业务对象,通过需求分析我们知道顾客分为未预约顾客(Walk in)和预约顾客。顾客可以预约某个时间的餐桌,预约的相关信息例如时间,是预约在几号餐桌,也是重要的业务数据,所以预约应该作为领域模型的对象。餐桌会与顾客还有预约发生关联,餐桌也拥有自己信息和状态:可以容纳的用餐人数、在某个时间段是否空闲,这些数据在业务上是比较重要的,所以餐桌应该作为领域模型的对象。按照上面的分析,用餐人数比较适合作为餐桌对象的属性。用餐者这个概念在需求分析中并没有特别提出,他和顾客的概念没有太大的区别,在我们的系统中并没有特别不同的信息需要处理和存储,所以暂时不作为领域模型的对象。位子应该是和餐桌相关的一个业务概念,但在我们的系统中,没有发现特别的与位子的相关信息需要处理,所以不作为领域模型的对象。服务员和领班的目前的需求分析没有特别的信息需要进行处理,但在后面的迭代周期中可能会需要加入(如果系统需要注册、登陆功能并且需要区分不同的角色和权限的时候,就会需要建立,服务员和领班对象)。预约单在界面原型中是非常重要的界面元素,可以用来作为存放和组织预约的一个容器,也有与预约单相关的信息需要系统处理,比较适合作为领域模型的对象。经过筛选后,初步可以确定的对象应该包括:顾客、预约、餐桌、预约单。3)添加属性属性(attribute)已命名的类的特性,它描述了该特性的实例可以取值的范围。我们通过下列问题探寻属性: 某事物会记录什么数据? 某事物可以提供给我们哪些数据? 通过某事物,可以让我们查到哪些数据?系统分析员还需要进一步了解属性: 属性的定义 数据类型 可能的范围值 初始值 属性值的获得方法系统分析员可以向业务人员作如下提问: 可以请您用简单的一、两句话解释某属性是什么吗? 可以请您举个例子吗? 请问某属性有范围值吗? 请问某属性有初始值吗? 怎样才能得到属性值?使用上面的方法为系统的类添加必要的属性。4)添加方法方法或操作是一个服务的实现,该服务可以由任何类的对象来请求以影响其行为。操作是一个对象能做的事情的抽象。可以通过下列问题探寻操作: 某事物可以做什么用? 有了这个事物以后,我们可以拿它来做什么?对操作进一步进行分析: 了解操作的实现方法(Method) 方法的执行步骤 所需或者产生的数据 计算公式 以及企业的特殊约束系统分析员可以这样提问: 您(用户)通常都怎么执行某操作?可以告诉我主要的执行步骤吗? 请告

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论