Download presentation
Presentation is loading. Please wait.
1
案例—某网上书店系统设计
2
案例—某网上书店系统设计 系统总体结构设计 系统应用软件设计
3
系统总体结构设计 系统总体设计原则 网上书店外部环境分析 网络环境设计 电子商务系统平台的选择
4
系统总体设计原则 电子商务系统设计的结果是后续开发和实施的基础。系统设计受制于许多因素。例如,技术条件、业务的规模、设计人员对系统的理解等。因此,系统设计是因人而异的,例如同是世界著名的物流公司UPS和FedEx,电子商务系统设计却有很大差别。UPS采取全球业务数据集中在公司总部处理的策略,而FedEx公司将数据处理分散到世界上的5个区域中心来完成。另外,两家公司的电子商务系统在应用处理方式、主机设备选择、系统应用软件设计等方面也有较大的差别。
5
本系统总体设计原则 技术的先进性; 符合企业信息化的整体技术战略; 满足开放、可扩充的要求; 与现行的应用具有良好的兼容性; 安全性。
6
网上书店总体结构设计 “网上书店”总体结构图
7
网上书店外部环境分析 网上书店系统的外部环境主要包括:
企业合作伙伴:物流公司A。企业的所有订单对物流公司A都是公开的,他们之间通过企业外部网相连,从而达到信息的共享。 与交易相关的公共信息基础设施:银行卡支付中心B。系统需要使用它来完成客户提出的网上交费的申请。因为B有自己的一套关于网上交费的系统,因此需要熟悉该系统的接口。
8
网络环境设计 网上书店系统是一个基于网络的系统,它的网络环境包括Internet、Intranet、Extranet三个部分,结构如下图所示:
9
电子商务系统平台的选择 操作系统的选择 数据库管理系统的选择 应用服务器的选择
10
操作系统的选择 目前支持电子商务系统的主流操作系统有Windows系列和Unix/Linux系列。
Windows系列运行在Intel的CISC芯片上,在计算机市场的占有率达到70%以上,是目前市场上最为常见的操作系统,同时它还具有便于安装和配置的特点。 因此网上书店系统选择使用Windows 2000作为服务器上运行的操作系统。
11
数据库管理系统的选择 目前数据库管理系统有很多,比如Microsoft的SQL Server 2000、Oracle公司的Oracle 10g、IBM公司的DB2以及开源的MySQL。 可参考系统的规模,在以上数据库中进行选择。 相对而言,Oracle和DB2是大型的数据库管理系统,操作复杂,价格昂贵。 MySQL虽然免费,但是却是小型的数据库管理系统,而且没有实现图形化操作,使用起来相对困难。 因而选择SQL Server 2000作为本系统的数据库管理系统。
12
应用服务器的选择 一是WebLogic在目前市场上占有率高,性能稳定,服务也很好,符合成熟性原则;
网上书店系统使用Java语言开发,支持JSP+Severlet+JavaBeans的应用服务器有许多,其中包括BEA的WebLogic、IBM的WebSphere、Jarkata的Tomcat服务器。 本系统选择使用BEA的WebLogic Server,有三方面的原因: 一是WebLogic在目前市场上占有率高,性能稳定,服务也很好,符合成熟性原则; 二是WebLogic支持多种Java技术,目前我们的网上书店系统虽然只涉及了JSP+Severlet+JavaBeans,但是从长远考虑,若要实施整个企业的信息化就必须使用Java的企业级应用,因此使用支持技术多的应用服务器不会使得二次开发太困难; 三是WebLogic的市场价格还是可以接受的。
13
系统应用软件设计 子系统的划分 数据库及表的设计 设计类图 交互设计 界面设计 处理过程设计
14
子系统的划分 从图中可以看出,系统仍然是按照功能划分模块,而各个模块的功能在规划、分析阶段已经进行了详细的说明。在设计阶段要对各个子系统进一步细化,最终可以指导编码。这就是设计阶段需要完成的任务。 系统应用软件设计
15
数据库及表的设计 参考前几章所分析的网上书店的内容,以及所使用的DBMS支持的数据结构可得到如下的数据库及表。 数据库名:OBS
该数据库共含有六张表: 系统应用软件设计
16
数据库及表的设计——管理员表:AdminUser
字段 类型 说明 AdminUser VARCHAR(50) 管理员名 AdminPass VARCHAR(20) 密码 系统应用软件设计
17
数据库及表的设计——用户表:User 系统应用软件设计
18
数据库及表的设计——书类别表:BookClass
字段 类型 说明 BookClassID VARCHAR(20) 书类别编号 ClassName 书类别名 系统应用软件设计
19
数据库及表的设计——图书信息表:Book
系统应用软件设计
20
数据库及表的设计——订单表:Indent
系统应用软件设计
21
数据库及表的设计——订单图书列表:IndentBookList
系统应用软件设计
22
各表之间的关系 系统应用软件设计
23
设计类图 —用户子系统 通过分析阶段对系统的了解和掌握,可以对分析的类图进行进一步细化,从中得到设计类图。设计类图的目的是指导具体编码,因此设计类图的细节应该接近编码的水平,如左图所示。 系统应用软件设计
24
设计类图 —用户子系统 上图中的各个类要表明所拥有的属性和方法、各个属性的数据类型和各个方法的返回值等编码级别的细节,该类图只反映了用户子系统所用到的实体类,各个界面类和控制类如左图所示。 系统应用软件设计
25
设计类图 —管理员子系统 对管理员子系统也按上面步骤进行分析: 系统应用软件设计
26
设计类图 —管理员子系统 系统应用软件设计
27
交互设计 有了类图后,需要描述类之间的交互,即数据是怎样在类之间传递从而实现商业逻辑的。在设计阶段描述类之间的交互的是UML中的顺序图。
系统应用软件设计
28
交互设计—“用户子系统”顺序图 “用户注册”模块 用户在regedit.html页面上注册,最终跳转到usershow页面。注册成功。
系统应用软件设计
29
交互设计—“用户子系统”顺序图 “用户(管理员)登录”模块
用户在Login.html页面提交个人登录信息。在经过login.jsp处理后,最后跳转入main.html。 系统应用软件设计
30
交互设计—“用户子系统”顺序图 “图书选购”模块
用户在bookview.jsp中选择要买的图书,经过在购物车中的处理,在buy.jsp页面生成订单。 系统应用软件设计
31
交互设计—“用户子系统”顺序图 “购物车管理”模块
用户在main.html中发出管理购物车命令,页面跳转到puchase.jsp来进行购物车的管理。 系统应用软件设计
32
交互设计—“用户子系统”顺序图 “查看订单”模块
用户发出订单查询指示,indentview.jsp通过Indent查找相应的记录,然后显示并处理。若用户继续选择查看详细信息,则跳转入indentdetail.jsp。 系统应用软件设计
33
交互设计—“管理员子系统”顺序图 “图书管理”模块
管理员有添加、修改、删除图书的权利,因此分别对应addbook、bookmodify和bookmodify_1三个不同的页面。 系统应用软件设计
34
交互设计—“管理员子系统”顺序图 “订单管理”模块 管理员提出修改订单指示,indentmodify.jsp调用Indent完成操作。
系统应用软件设计
35
界面设计—用户注册界面 系统应用软件设计
36
界面设计 —用户登录界面 系统应用软件设计
37
界面设计——图书选购界面 系统应用软件设计
38
界面设计——购物车管理界面 系统应用软件设计
39
界面设计——查看订单界面 系统应用软件设计
40
界面设计——图书管理界面 系统应用软件设计
41
处理过程设计 用户注册模块 用户登录模块 图书选购模块 购物车管理模块 查看订单模块 图书管理模块 订单管理模块 系统应用软件设计
42
处理过程设计——用户注册模块 系统名:用户子系统 模块名:用户注册 编号:01 由哪些模块调用:无 调用哪些模块:“用户登录”模块
模块名:用户注册 编号:01 由哪些模块调用:无 调用哪些模块:“用户登录”模块 输入:用户信息 输出:无 算法说明: 当用户提出注册请求 系统显示用户注册页面,提示用户输入个人信息 用户输入个人信息 IF 用户输入的个人信息无效 系统显示错误信息并转到错误页面,用户重新填写信息,或者取消注册 ELSE 将用户信息写入数据库,进入“用户登录”模块 ENDIF 系统应用软件设计
43
处理过程设计——用户登录模块 系统名:用户子系统 模块名:用户登录(管理员登录与其流程相似,省去) 编号:02
模块名:用户登录(管理员登录与其流程相似,省去) 编号:02 由哪些模块调用:“用户注册”模块 调用哪些模块:“图书选购”模块 输入:用户名和密码 输出:无 算法说明: 用户提出登录请求 系统显示登录页面,提示用户输入用户名和密码。 用户填写用户名和密码信息。 IF 用户输入无效的用户名和(/或)密码 系统显示错误信息并转到错误页面,用户重新输入用户名和(/或)密码;或者取消登陆 ELSE 进入“图书选购”模块 ENDIF 系统应用软件设计
44
处理过程设计——图书选购模块 系统名:用户子系统 模块名:图书选购 编号:03 由哪些模块调用:“用户登录”模块
模块名:图书选购 编号:03 由哪些模块调用:“用户登录”模块 调用哪些模块:“购物车管理”模块 输入:图书信息 输出:无 算法说明: 用户提出选购图书请求 系统显示选书页面,显示图书列表 用户提出选购某书 IF 存在所购图书 购物车中加入相应的图书信息 ELSE 屏幕显示缺货信息页面。用户选择缺货策略(放弃还是等待直到有货) ENDIF 系统应用软件设计
45
处理过程设计——购物车管理模块 系统名:用户子系统 模块名:购物车管理 编号:04 由哪些模块调用:“图书选购”模块 调用哪些模块:无
模块名:购物车管理 编号:04 由哪些模块调用:“图书选购”模块 调用哪些模块:无 输入:图书信息 输出:无 算法说明: 用户提出管理购物车请求 系统转到购物车管理页面 用户提出所要执行的操作 DO CASE CASE 添加图书 用户输入书号,购物车中加入相应图书 CASE 删除图书 用户单击删除按钮,相应的图书被删除 ENDCASE 系统应用软件设计
46
处理过程设计——查看订单模块 系统名:用户子系统 模块名:查看订单 编号:05 由哪些模块调用:用户直接调用 调用哪些模块:无
模块名:查看订单 编号:05 由哪些模块调用:用户直接调用 调用哪些模块:无 输入:用户信息 输出:订单信息 算法说明: 用户提出查看订单请求 系统列出所有符合该用户要求的订单。 系统应用软件设计
47
处理过程设计——图书管理模块 系统名:管理员子系统 模块名:图书管理模块 编号:06 由哪些模块调用:用户直接调用 调用哪些模块:无
模块名:图书管理模块 编号:06 由哪些模块调用:用户直接调用 调用哪些模块:无 输入:图书信息 输出:无 算法说明: 管理员提出管理图书请求 系统列出所有符合该管理员要求的图书。 管理员提出所要执行的操作 DO CASE CASE 修改图书信息 进入图书信息修改界面,修改并保存 CASE 删除错误信息 管理员单击删除按钮,相应的图书被删除并更新数据库 CASE 增加图书信息 进入图书信息添加界面,添加并保存 ENDCASE 系统应用软件设计
48
处理过程设计——订单管理模块 系统名:管理员子系统 模块名:订单管理模块 编号:07 由哪些模块调用:管理员直接调用 调用哪些模块:无
模块名:订单管理模块 编号:07 由哪些模块调用:管理员直接调用 调用哪些模块:无 输入:订单编号 输出:无 算法说明: 管理员提出订单管理请求 系统列出所有符合该管理员要求的图书。 管理员提出所要执行的操作。 DO CASE CASE 修改订单 进入订单修改界面,修改并保存 CASE 删除订单 管理员单击删除按钮,相应的订单被删除 ENDCASE 系统应用软件设计
Similar presentations