3 系统设计
3.1流程设计
3.1.1卖家业务流程
1.登录:卖家必须先登录才能发布商品信息。
2.填写发布商品信息:卖家选择发布信息,依次填写商品类别,商品名称,商品描述,
商品数量,新旧程度描述,原价,现价,卖家联系方式等上货信息。提交后系统根据所填商
品类别将商品移至相应商品版块。商品信息如果填得不合理,管理员有权删除该信息,同时
卖家信用度减一。
3.获得买家联系:有意的买家通过商品信息获得卖家联系方式。
4.协商:买家和卖家协商商品价格,确定交易时间交易地点。
5.交易:买家和卖家在约好的时间和地点交易,一手交钱一手交货。
6.修改商品信息:交易后,卖家修改商品数量,或者直接将商品下架。
7.互相评价:卖家对买家进行评价和信用度评定(最低信用度评价-5,最信用度评价5),信用度等级越高越可信。
3.1.2 买家流程设计
1.登录:买家只有登录后才能拍下商品。
2.查询商品信息:在二手网站首页,买家可以选择商品类别,输入商品名称进行检索。
3.联系卖家:根据商品信息留下的联系方式联系卖家。
4.协商:买家和卖家协商商品价格,确定交易时间交易地点。
5.拍下商品:买家将商品拍下,商品相应信息显示已有一人拍下此商品。如果商品数量
等于商品拍下数量,那么商品自动下架,不在其他买家检索范围内。
6.交易:买家和卖家在约好的时间和地点交易,一手交钱一手交货。
7.互相评价:买家对卖家进行评价和信用度评定(信用度可在-3 到3 内评定),信用度
等级越高越可信。
3.2 用户界面设计
3.3 数据库设计
3.3.1 数据库的设计原则
数据库设计与实现是应用开发中很重要的一个环节,一个结构合理的数据库可以提高应用整体的运行效率,同时可以降低应用中出现错误的风险。
在数据库设计过程中,我们按以下原则进行设计,以满足系统的各方面要求。
1.满足数据存储的需求
数据库最主要的功能就是存储数据。影响数据库储存的因素包括数据库的设计、数据库的管理系统、数据库运行的硬件平台和操作系统以及存储的数据类型。因此我们在设计时考虑了一下因素;(1)满足所有的数据库存储需求;(2)能高效率的存储所有的数据;(3)能
够处理复杂的业务关系;(4)硬件设备能够满足数据库存储的要求。
2.数据库中数据的可操作性
数据库设计时注意保证在整个系统运行和业务操作过程中,数据库都能便于访问和查询,同时还需要考虑到要尽量节省应用数据库操作时的响应时间,尽可能的提高数据库对程序和业务请求的响应速度。
3.数据库设计的准确和完整性
数据库中数据的设计要满足程序设计的要求,对于程序中使用的数据和要存储的数据内容,都有严格的数据和准确的数据类型与之对应,同时在数据库设计时要对关键数据进行详细的说明,以方便系统设计人员的开发工作。
4.数据库冗余性
过多的冗余数据会大大增加数据库的工作量,降低数据库的响应时间和准确性。因此改善数据库性能的一个非常重要的方面就是减少或消除数据库中的冗余信息,要通过规范化处理使冗余数据减少到最少。
3.3.2 数据库类型和表结构
应用采用Mysql数据库,基于数据库的概念设计和系统功能模块的分析,设计出四个主要数据库表。
(1) 商品信息表。商品信息表记录的是转让商品的相关信息,见表1。
(2) 商品类别表。商品类别表记录的是商品所属的类别,见表2。
(3) 用户信息表。用户信息表记录的是与用户相关的信息,见表3。
(4) 订单表。订单表记录的是交易的具体信息,见表4。
表1 商品信息表
字段名 |
数据类型 |
字段长度 |
字段属性 |
商品ID |
Int |
-- |
Identity ,Not null |
商品名称 |
Varchar |
(10) |
Not null |
类别ID |
Int |
-- |
Not null ,Foreign key |
商品价格 |
Double |
-- |
Not null |
商品数量 |
Int |
-- |
Not null |
商品状态 |
Boolean |
-- |
Not null |
联系方式 |
Varchar |
(20) |
Not null |
商品描述 |
Varchar |
(50) |
|
照片 |
Varchar |
(10) |
|
表2 商品类别表
字段名 |
数据类型 |
字段长度 |
字段属性 |
类别ID |
Int |
-- |
Identity ,Not null |
类别名称 |
Varchar |
(20) |
Not null |
表3 用户信息表
字段名 |
数据类型 |
字段长度 |
字段属性 |
用户ID |
Int |
-- |
Identity ,Not null |
用户名 |
varchar |
(10) |
Not null |
密码 |
varchar |
(20) |
Not null |
联系方式 |
varchar |
(20) |
Not null |
住址 |
varchar |
(20) |
Not null |
表4 订单表
字段名 |
数据类型 |
字段长度 |
字段属性 |
订单ID |
Int |
-- |
Identity ,Not null |
商品ID |
Int |
-- |
Foreign key ,Not null |
用户ID |
Int |
-- |
Foreign key, Not null |
订单状态 |
Varchar |
(10) |
Not null |
订单详细说明 |
Varchar |
(50) |
|
3.4 模块设计
根据产品需求,将应用分为如下三个模块进行设计开发:商品管理、用户管理以及订单管理。
3.4.1 商品管理模块
该模块主要由商品发布、商品检索、商品详细信息查看三个功能模块组成。
商品发布:其中商品属性包括——商品类别,商品名称,商品描述,商品数量,商品价格,卖家联系方式等。除了“商品状态”属性由系统操作外,其余须由卖家填写决定。
商品检索:应用支持按关键字直接搜索,用户也可按大类进行逐级搜索。
商品信息查看:当买家找到自己喜欢的商品后,可以点击列表中的商品发布名称进入商品详细信息查看页面,在该页面买家可以查看到商品的价格、商品的数量、商品的状态、商品的描述以及商品的照片等商品详细信息,买家如果中意,可以直接在此页面拍下该商品。
3.4.2 用户管理模块
该模块主要是由新用户注册,用户登录,用户信息管理三个功能模块组成。
新用户注册:浏览用户只有按要求输入相关信息注册完成后才能成为会员,进而享受下单交易或者发布商品的权利。用户注册信息的填写要保证数据的完整性以及有效性,否则可能注册操作不会通过。
用户登录:已经完成应用注册的用户,可以直接通过登录页面,输入自己的用户名和密码进行应用的登录,登录后直接获得商品发布和商品购买的权利。
用户信息管理:包括用户修改密码,查看我的订单、修改联系方式、住址等。
3.4.3 订单管理模块
该模块主要是有下单、修改订单、撤销订单三个功能模块组成。
下单:用户登录后,可以在商品详细介绍页面拍下商品,生成交易订单,下单成功后商品的状态会自动发生变化,由“正在出售”转为“交易中”。用户可在个人中心下面查看自己所有的订单详情。
修改订单:买家在交易还未完成的情况下,如果有新的需求,可以先通过与卖家商量后,然后重新生成新的订单,进而达到修改订单的目的,如买家需要修改订单交易中商品的数量。
撤销订单:如果买家或者卖家在交易尚未完成时,遇到一些无法预知的障碍导致交易无法正常完成,买家或者卖家在通知对方后,可以对订单进行手动删除,但这种操作可能会影响到买家或者卖家的声誉。