
1.引言
当代社会,电子商务在信息技术的强有力的推动下,正以惊人的速度在发展。计算机的全球联网,形成了与地域、空间无关的世界一体化市场,一种全新的、基于计算机网络的新型商业机制正在逐步形成。建设一个能够充分展示产品,提供相关信息,帮助商家及时了解用户需求,以及实现用户订购产品等功能的商务类型网站是适应现在商业发展的一个主流方向。
本文档为建设该类型网站的系统概要设计说明书,详细阐述了网站的定位和设计方案,对系统中的各项功能模块、技术需求、实现环境及所使用的实现技术进行了明确定义。
1.1编写目的
详细设计阶段的关键任务是确定怎样具体地实现用户需求的软件系统,也就是要设计出程序的“蓝图”。除了应该保证软件的可靠性之外,使建立的编写出的程序可读性好、容易理解、容易测试、容易修改和维护,使详细设计阶段的最重要的目标。经过这个阶段的设计工作,应该得出对目标系统的精确描述,从而在编码阶段可以把这个描述直接翻译成用某种设计语言书写的程序。
本详细设计说明书的编写目的,就在于对功能需求进行确认的基础上,设计子系统的详细结构模型、详细信息模型,并详细描述各主要程序模块的处理逻辑、各输入/输出格式及基础数据的编码方案。它是网站编码实施的唯一依据,也是将来系统维护的主要参考资料之一。
1.2 背景
a.待开发的软件系统的名称:京东电子商城
b.本项目的任务提出者:吴焰樟,冉若曦,邱静,周成
c.本项目的任务开发者:吴焰樟,冉若曦,邱静,周成
d.本项目的任务用户:广大消费者
1.3 术语定义
本文当中涉及的专业术语定义或解释,一般可以表格形式给出,如表2-1所示。
表2-1 术语定义或解释表
| 序 号 | 术语名称 | 术 语 定 义 |
| 1 | B2B模式 | Business to Business-企业对企业 |
| 2 | B2C模式 | Business to Customer-企业对个人 |
| 3 | SEM | Search Engine Marketing的缩写,意即搜索引擎营销。 |
| 4 | SEO | Search Engine Optimization的缩写,搜索引擎优化。 |
| 5 | 二跳率数据 | 推广来主页二跳率70%以上是高质量流量。 |
[1] 李代平等.软件工程(第二版).北京:清华大学出版社,2008
[2] 张海潘,倪宁.软件工程.北京:人民邮电出版社,2009
[3] 殷人昆.实用面向对象软件工程教程.北京:电子工业出版社,2000
[4] 参考网址:http://wenku.baidu.com/view/1acc4b03de80d4d8d15a4f9b.html
[5] 参考网址:http://wenku.baidu.com/view/5a25708202d276a200292e1c.html
[6] 张海藩.软件工程导论.北京:清华大学出版社,2009.
2. 系统总体设计
2.1设计约束
2.1.1 本系统应遵循的标准和规范
京东电子商城的制作应遵循国家互联网使用标准,网站使用应符合互联网合法化的使用。网站内销售过程应遵守国家经济法的标准。不允许恶意竞争,符合国家对电子商务网站的管理。
2.1.2 软硬件运行环境约束
a.客户端设备
windows 7系统,IDE集成开发,Java运行环境JDK,数据库Mysql5.5,IE浏览器
b.服务器设备
服务器:Tomcat6.0
a.客户端软件
| 软件类型 | 名称及版本 | 备注 |
| 操作系统 | WindowsXP以上操作系统 | |
| 浏览器 | IE浏览器、遨游浏览器或者其它流行浏览器 | |
| 办公软件 | Microsoft Office 2003 |
| 软件类型 | 名称及版本 | 备注 |
| 操作系统 | Windows 7 | |
| 浏览器 | IE浏览器、遨游浏览器或者其它流行浏览器 | |
| 数据库软件 | MySQL 5.5 |
| 软件类型 | 名称及版本 | 备注 |
| 操作系统 | Windows XP | |
| 浏览器 | IE浏览器、遨游浏览器或者其它流行浏览器 | |
| 数据库软件 | MySql 5.5 | |
| 开发工具 | My Eclipse 6.8 | |
| 服务器 | Web 应用服务器:Tomcat6.0 | |
| 使用技术 | JAVA EE技术等 |
服务器端接口:管理员操作用户和商品信息,对商品信息进行添加删除修改。对用户权限进行管理。
客户端接口:后台界面模块,得到客户登陆信息后查看用户信息,得到用户信息后查询商品信息择商品,对商品进行添加购买,得到购买信息后进行支付
2.1.4 用户界面约束
用户界面:采用Windows的通用图形界面,对用户友好,且必须对鼠标键盘提供支持,界面设计应遵循:
1.尽量保持一致性:界面规范应遵循MS Windows软件界面的规范
2.设计完整的对话过程:系统的每一次对话都应该有明确的次序:开始、中间处理过程、结束。
3.提供简单的错误处理机制
4.提供信息反馈:用多种信息提示用户当前软件运行状态,软件界面元件的功能。
5.操作可逆:其动作可以是单个的操作,或者是一个相对的操作序列。
设计良好的联机帮助
6.显示启动画面:画面简洁明快,富有现代气息。
7.提供控制的内部轨迹:系统应该让用户觉得是由用户在做决定,可以通过提示字符和提示消息的方式使用用户产生这种感觉。
2.2 系统体系结构
如采用面向对象方法进行设计,则采用包图画出系统的体系结构模型。
Business login 包
Data service包
2.3系统功能结构
2.3.1 主功能清单
体现系统所包含的全部主要功能,并对各功能进行简要描述,填写如表2-2所示的表格。
表2-2 主功能模块清单
| 功能编号 | 功能名称 | 功能简述 |
| F1 | 经销商登录 | 经销商登录并经过身份验证合法后,经销商能执行该子系统的所有功能。 |
| F2 | 消费者登入 | 消费者登入自己的账户后,可以检查自己的购物车,购物商品,以及详细订单。 |
| F3 | 游客注册 | 游客可以注册自己的专有账号,然后可以登入买商品。 |
| F4 | 商品检索 | 检索用户需要的各种商品。 |
体现每个主功能内部包含的子功能,并列表描述,如下表2-3所示。
表2-3 子功能清单
| 功能编号 | 子功能编号 | 子功能英文名 | 子功能简述 |
| F1 | F 1-1 | 经销商信息管理 | 管理京东商城所有商户的信息。 |
| F 1-2 | 商品信息反馈 | 消费者对商品的所有反馈信息都将反馈到经销商,经销商根据消费的意见调整商品 | |
| F2 | F2-1 | 浏览目录 | 消费者在主页上可以浏览显示目录清单,消费者选择了一个目录之后,应能显示该类别下的实际商品的图片(如果有)、名称、简单描述、价格信息,并允许把商品加入购物车,不同级别的产品的价格信息应不同。 |
| F2 | F2-2 | 结帐 | 结帐前必须再次验证y用户信息,验证合法后,可以配置经销商的收货信息、送货方式、付款方式、接下来就可下订单。 |
反映各类人员能够操作和使用的系统中各项功能模块的具体情况,并列表描述,如下表2-4所示。
表2-4 系统权限表
| 功能编号 | 人员 | 职能 |
| F1 | 商品更新管理员 | 专门负责商品的更新换代 |
| F2 | 物流管理管理员 | 管理囤货数量,及时给部门提供采购信息 |
| F3 | 财务管理员 | 负责查收每个购物用户的支付和统计管理 |
| F4 | 用户管理员 | 管理所有注册用户,还有所有的用户提供消息和通知。 |
| F5 | 客服管理员 | 商城都要一个功能就是在线询问客服啊,关于商品的问题 |
用类图说明各个类属性和方法以及类之间的关系,对于复杂类要画出状态图和顺序图(时序图)。
系统总体类图:
顾客购买商品类图:
部分用例的顺序图:
(1)会员下订单
该用例是客户端下在客户登录后可以浏览上架的商品,并能搜索相应的商品,根据需要选择商品并下订单,该用例的流程如下:
(1)用户指定相应的商品种类进行搜索,得到相应的商品信息;
(2)选中自己需要的商品并选择其定购的数量放入购物车;
(3)提交下订单请求,系统检查用户是否登录,若用户未登录转(4),否则返回个人信息由用户确认,转(5);
(4)用户登录系统,重新进入购物车页面,转(3)
(5)顾客确认自己的信息后,由系统数据库记录订单信息及订单的细节更新订单表和订单细节表;
(6)数据库更新成功后,返回顾客下订单成功的消息。
顺序图如图:
(2)会员留言
该用例是客户可以通过留言板向服务人员询问相关的情况,并等待有关的工作人员给予答复,该用例执行的流程如下:
(1)用户提交留言的请求,系统检查用户是否登录本系统,若登录,由系统返回留言界面,转(3),否则,进入提示登录页面,转(2);
(2)用户登录系统,转(1);
(3)用户填写并提交留言信息;
(4)由系统更新数据库中的留言信息表;
(5)数据库返回数据添加成功的消息,系统将留言信息返回给顾客。
正常执行的顺序图如图:
(3)管理员修改商品
该用例是管理员可以根据商品信息的变动情况可以修改商品的相关信息,该用例的执行流程如下:
(1)管理员登录系统后,提交要搜索的商品信息,系统搜索数据库中的商品表,向管理员返回符合要求的商品信息;
(2)管理员选择要修改的商品,向系统提交修改请求,系统返回修改商品信息的页面;
(3)管理员修改商品信息,并提交给系统处理;
(4)系统更新数据库中商品表的信息,并返回修改成功的页面。
正常执行的顺序图如图:
3. 程序模块设计说明
3.1 程序名:订单管理子系统
●功能描述:该功能模块主要是对销售订单进行一系列的操作管理,包括查询、添加、修改、删除订单这几个功能。当有新的订单,商品管理人员通过添加即可录入,当订单内容变更时,修改订单就可以解决,而当消费者要求撤销订单时,即可使用删除功能。
●性能要求:要求能够满足一亿人同时在线购物,系统不会崩溃。
●功能界面设计
●输入项:用户名、密码、商品名、商品ID等
●输出项:商品名、商品详细介绍、商品ID、总价格。
●程序流程:
3.2 程序名:商品管理模块
●功能描述:此模块对应商品建档的业务流程:如新商品入库、新商品编码、商品出库、商品信息修改
●性能要求:准确性要求高,可靠性要求高,输入严格控制,页面响应时间段,用户界面友好,输出准备,能够准确有效的进行用户权限的管理。
●功能界面设计
●输入项:商品的名称:任意的字符,数字的组合或是单独使用字符或是数字
商品的编码:任意的数字,字符的组合或是单独使用字符或是数字
●输出项:错误提示:商品编码规则不正确
操作界面:添加(或修改)成功,继续下一步操作
●程序流程:
3.3 程序名:用户管理模块
●功能描述:此模块对应的业务流程:添加用户和密码修改,完成对用户的管理。
●性能要求:准确性要求高,可靠性要求高,输入严格控制,页面响应时间段,用户界面友好,输出准备,能够准确有效的进行用户权限的管理。
●功能界面设计
●输入项:用户名称:任意的字符,数字的组合或是单独使用字符或是数字
用户密码:任意的数字,字符的组合或是单独使用字符或是数字
●输出项:错误提示:任意的字符,数字的组合或是单独使用字符或者数字
操作界面:任意的字符,数字的组合或者是单独使用字符或者是数字,继续下一步操作。
●程序流程:
4.数据结构设计
4.1数据库环境说明
4.2数据库的命名规则
说明各数据库表命名的规则
4.3 表设计
1)数据库表名清单
体现系统中所建立的全部数据库表名,并对各数据表的用途进行简要描述。可以下表2-5的形式表示。
表2-5 数据库表名清单
| 序号 | 中文表名 | 英文表名 | 表功能说明 |
| 1 | 用户表 | Customer List | 详细记录用户的各种信息 |
| 2 | 商品表 | Goods List | 详细记录商品的各种信息 |
| 3 | 订单表 | Orders List | 详细记录用户的订单信息 |
| 4 | 供应商表 | Supply List | 详细记录供应商各种供货信息 |
| 5 | 管理人员表 | Manager List | 详细记录各种管理人员的职能与信息 |
逐一描述每个数据库表的详细内容,包括字段名、含义、字段类型、长度、可否为空值、取等,可以用列表形式给出,表格形式如下表2-6所示。
商品表
| 字段名 | 含义 | 类型 | 长度 | 空否 | 备注 |
| Id | 商品编号 | INTEGER | 否 | ||
| Sortid | 商品分类编号 | INTEGER | 否 | ||
| Name | 商品名称 | VARCHAR | 50 | 否 | |
| price | 商品价格 | DOUBLE | 否 | ||
| Saleprice | 销售价格 | DOUBLE | 4 | 否 | |
| Descripts | 商品描述 | TEXT | 500 | 否 | |
| Contents | 商品介绍 | TEXT | 2000 | 是 | |
| Saledate | 上货时间 | DATE | 否 | ||
| Salecount | 商品数量 | INTEGER | 是 | ||
| Image | 商品图片存放路径 | VARCHAR | 50 | 是 |
| 字段名 | 含义 | 类型 | 长度 | 空否 | 备注 |
| Id | 商品分类编号 | INTEGER | 否 | ||
| Name | 商品分类名称 | VARCHAR | 40 | 否 |
| 字段 | 含义 | 类型 | 长度 | 空否 | 备注 |
| Id | 用户编号 | INTEGER | 否 | ||
| Username | 用户名 | VARCHAR | 20 | 否 | |
| Password | 密码 | VARCHAR | 20 | 否 | |
| Realname | 用户真实姓名 | VARCHAR | 20 | 是 | |
| Tel | 用户电话 | VARCHAR | 20 | 是 | |
| Address | 用户地址 | VARCHAR | 100 | 是 | |
| Zip | 邮政编码 | VARCHAR | 6 | 是 | |
| 电子邮件地址 | VARCHAR | 50 | 是 |
| 字段 | 含义 | 类型 | 长度 | 空否 | 备注 |
| Id | 订单编号 | INTEGER | 否 | ||
| Order id | 生成订单的编号 | VARCHAR | 50 | 否 | |
| User id | 用户编号 | INTEGER | 否 | ||
| Real name | 收货人姓名 | VARCHAR | 20 | 否 | |
| Address | 收货地址 | VARCHAR | 100 | 否 | |
| Zip | 邮政编码 | VARCHAR | 6 | 是 | |
| Tel | 联系电话 | VARCHAR | 11 | 是 | |
| Payment | 付款方式 | VARCHAR | 20 | 是 | |
| 电子邮件地址 | VARCHAR | 50 | 是 | ||
| Memo | 备注说明 | TEXT | 2000 | 是 | |
| Time | 订单生成时间 | VARCHAR | 20 | 是 | |
| tag | 标志该订单是否处理过 | INTEGER | 是 | ||
| Price | 价格 | DOUBLE | 是 |
| 字段 | 描述 | 类型 | 长度 | 空否 | 备注 |
| Id | 编号 | INTEGER | 否 | ||
| Ordered | 订单编号 | INTEGER | 否 | ||
| Bookid | 商品编号 | INTEGER | 否 | ||
| Count | 订购数量 | INTEGER | 否 | ||
| price | 该条目对应价格 | INTEGER | 否 |
| 字段 | 描述 | 类型 | 长度 | 空否 | 备注 |
| Id | 用户编号 | INTEGER | 否 | ||
| Username | 用户名 | VARCHAR | 20 | 否 | |
| Password | 密码 | VARCHAR | 20 | 否 |
1.SSL安全套接层
SSL安全协议最初是由Netscape Communication公司设计开发的,又叫“安全套接层(Secure Sockets Layer)协议”,主要用于提高应用程序之间的数据的安全系数。
2.对称加密
对称加密算法是应用较早的加密算法,技术已经很成熟。在对称加密算法中,数据发信方将明文(原始数据)和加密密钥一起经过特殊加密算法处理后,使其变成复杂的加密密文发送出去。收信方收到密文后,若想解读原文,则需要使用加密用过的密钥及相同算法的逆算法对密文进行解密,才能使其恢复成可读明文。
3. 非对称加密
非对称加密算法(asymmetric cryptographic algorithm)又名“公开密钥加密算法”,非对称加密算法需要两个密钥:公开密钥(public key)和私有密钥(private key)。非对称加密算法需要两个密钥:公开密钥(public key)和私有密钥(private key)。
4.数字摘要
数字摘要也就是Hash函数,是将任意长度的消息变成固定长度的短消息,它类似于一个自变量是消息的函数。
数字摘要就是采用单项Hash函数将需要加密的明文“摘要”成一串固定长度(128位)的密文这一串密文又称为数字指纹,它有固定的长度,而且不同的明文摘要成密文,其结果总是不同的,而同样的明文其摘要必定一致。
5.数字签名
数字签名技术是将摘要信息用发送者的私钥加密,与原文一起传送给接收者。接收者只有用发送的公钥才能解密被加密的摘要信息,然后用HASH函数对收到的原文产生一个摘要信息,与解密的摘要信息对比。如果相同,则说明收到的信息是完整的,在传输过程中没有被修改,否则说明信息被修改过,因此数字签名能够验证信息的完整性。数字签名是个加密的过程,数字签名验证是个解密的过程。
.6 数字证书
数字证书就是互联网通讯中标志通讯各方身份信息的一系列数据,提供了一种在Internet上验证您身份的方式,其作用类似于司机的驾驶执照或日常生活中的身份证。它是由一个由权威机构-----CA机构,又称为证书授权(Certificate Authority)中心发行的,人们可以在网上用它来识别对方的身份。数字证书是一个经证书授权中心数字签名的包含公开密钥拥有者信息以及公开密钥的文件。最简单的证书包含一个公开密钥、名称以及证书授权中心的数字签名。
5.测试环境配置
