团队第三次作业 – 软件设计
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了团队第三次作业 – 软件设计相关的知识,希望对你有一定的参考价值。
团队第三次作业 – 软件设计
一、功能设计
1.1.校园活动资讯的发布与接收
学生用户可以通过浏览网页第一时间掌握校园各方面的最新讯息或回复互动,同时也可以在各版块发布讯息。资讯分为学术类、通知类、活动类、志愿者类等版块。
准备发布的讯息待通过后台检验(管理员之工作)之后即可显示在网站上。
1.2.失物招领与寻物启事。
用户可以通过寻物启事和失物招领两个版块对丢失的或者捡到的物品进行线上寻找。
准备发布的物品信息待通过后台检验(管理员之工作)之后即可显示在网站上。
1.3.二手物品交易
用户可以在这个平台上进行查看并选择购买其他用户发布的物品,也可以自己发布物品信息,
准备发布的物品信息待通过后台检验(管理员之工作)之后即可显示在网站上。
1.4.在线交流(朋友圈)
以类似于微博的形式,用户可以发动态,也可以给别人的动态进行评论互动,增加交流,增进感情。
用户可以即时发表动态,但如果管理员发现该动态具有不当的言行甚至对社会治安具有危害,可以对该动态进行删除甚至冻结用户的账号。
1.5.其他功能
基本的登录注册功能,用户对界面皮肤的自定义设置、用户对系统的反馈评价功能等等。
因软件功能较多叫复杂而课时有限,我们小组决定将 “ 1.3二手物品交易 ” 模块作为本次软件工程课程作业的主要开发方向,其他版块在今后课余时间再逐步完善。
(以上设计搁浅)
-------------------------------------分割线------------------------------------------
二手物品交易 - 软件设计
一、功能设计(重新进行了一部分需求分析)
1.1背景分析:
如今,人们丰衣足食,物资盈余。在各大线下商场线上电商的购物刺激之下,大量买买买的冲动之后,手中出现了大量闲置,尤其是每当毕业季到来之时,更是出现了大量“食之无味、弃之可惜”的物品。如果能够进行二手物品交易,就实现了买卖双方的互惠互利。我们的校园二手物品交易系统应运而生。
1.2定位:
为拥有闲置物品或愿意购买二手物品的用户提供二手商品交易平台,解决闲置变现、低价买好物的需求。
1.3目标用户:
拥有闲置物品想要转手和需要购买二手物品的在校大学生或老师。
1.4用户核心需求:
对安全交易、质量保证、售后维权的需求,采用实名学生学号或教师工号注册。
1.5软件设计说明:
(1).用户进行注册/登录,即可同时成为买家和卖家。
(2).买家发布的商品首先在待审核区域,需要通过管理员审核后才能上线。
(3).一个买家可以购买多个商品,一个商品只能被一个买家购买。
(4).在已有商品不符合买家需求的情况下,一个买家可以发布求购信息,可以求购多个商品,
(5).一个卖家可以出售多个商品。
(6).买家可以给卖家留言,允许多次留言,但只有商品的买家有权修改。
(7).管理员可以改变商品的审核状态,也可以对商品以及求购物品进行删除。一个管理员可以修改多个商品,一个商品也可以被多个管理员修改。
(8)泳道图:
二、功能模块结构图(系统的HIPO图)
三、数据流图
顶层数据流图
0层数据流图
四、数据库数据字典
管理员表AdminErshou数据结构
对应中文 |
字段名 |
数据类型 |
主外键 |
备注 |
管理员ID |
admin_id |
varchar(20) |
PK |
字母数字符号组成,唯一 |
管理员密码 |
admin_password |
varchar(20) |
非空 |
密码6-20位,字母数字都需要 |
管理员真实姓名 |
admin_name |
nvarchar(4) |
空 |
最多四个汉字 |
管理员联系方式 |
admin_tel |
char(11) |
非空 |
电话号码为11位数 |
概述:储存管理员的信息
管理求购表guanli1数据结构
对应中文 |
字段名 |
数据类型 |
主外键 |
备注 |
管理员ID |
admin_id |
varchar(20) |
FK |
管理员ID |
求购ID |
Want_id |
int |
FK |
求购ID |
概述:储存管理员处理求购物品的信息
管理商品表guanli2数据结构
对应中文 |
字段名 |
数据类型 |
主外键 |
备注 |
管理员ID |
admin_id |
varchar(20) |
FK |
管理员ID |
商品ID |
goods_id |
int |
FK |
商品ID |
概述:储存管理员处理求待上架商品的信息
买家表Users数据结构
对应中文 |
字段名 |
数据类型 |
主外键 |
备注 |
买家ID |
users_buy_id |
varchar(20) |
PK |
字母数字符号组成,唯一 |
买家密码 |
users_buy_pwd |
varchar(20) |
非空 |
密码6到20位 |
买家学号 |
users_buy_num |
varchar(12) |
非空 |
学号为12位 |
买家真实姓名 |
users_buy_name |
nvarchar(4) |
非空 |
姓名最多为4个汉字 |
买家性别 |
users_buy_sex |
nvarchar(2) |
非空 |
in ‘男’‘女’‘未知’ |
买家联系方式 |
users_buy_tel |
char(11) |
非空 |
电话号码为11位数 |
买家邮箱 |
users_buy_email |
varchar(20) |
空 |
必须含‘@’ |
概述:储存买家用户信息(同卖家信息)
临时买家表Users_temp数据结构
对应中文 |
字段名 |
数据类型 |
主外键 |
备注 |
买家ID |
users_buy_id |
varchar(20) |
PK |
字母数字符号组成,唯一 |
买家密码 |
users_buy_pwd |
varchar(20) |
非空 |
密码6到20位 |
买家学号 |
users_buy_num |
varchar(12) |
非空 |
学号为12位 |
买家真实姓名 |
users_buy_name |
nvarchar(4) |
非空 |
姓名最多为4个汉字 |
买家性别 |
users_buy_sex |
nvarchar(2) |
非空 |
in ‘男’‘女’‘未知’ |
买家联系方式 |
users_buy_tel |
char(11) |
非空 |
电话号码为11位数 |
买家邮箱 |
users_buy_email |
varchar(20) |
空 |
必须含‘@’ |
概述:临时储存查询用户信息时得到的数据,用游标控制写入,显示之后立即清空该表。
卖家表users_sale数据结构
对应中文 |
字段名 |
数据类型 |
主外键 |
备注 |
卖家ID |
users_sale_id |
varchar(20) |
PK |
注册ID,字母数字符号组成 |
卖家密码 |
users_sale_password |
varchar(20) |
非空 |
密码6到20位 |
卖家学号 |
users_sale_num |
varchar(12) |
非空 |
学号为12位 |
卖家真实姓名 |
users_sale_name |
nvarchar(4) |
非空 |
姓名最多为4个汉字 |
卖家性别 |
users_sale_sex |
nvarchar(2) |
非空 |
in ‘男’‘女’‘未知’ |
卖家联系方式 |
users_sale_tel |
char(11) |
非空 |
电话号码为11位数 |
卖家邮箱 |
users_sale_email |
varchar(20) |
空 |
必须含‘@’ |
概述:储存卖家用户信息(同买家信息)
商品表Goods数据结构
对应中文 |
字段名 |
数据类型 |
主外键 |
备注 |
商品ID |
goods_id |
int |
PK |
从10000起自增长1,唯一 |
卖家ID |
users_sale_id |
varchar(20) |
FK |
级联删除 |
商品名 |
goods_name2 |
varchar(40) |
非空 |
最长为20个汉字 |
商品描述 |
goods_description2 |
nvarchar(200) |
空 |
最短五个汉字,最长为200个汉字 |
商品转手价 |
goods_Transfer_price2 |
money |
非空 |
商品转手价 |
商品原价 |
goods_purchase_price2 |
money |
非空 |
商品原价 |
商品外观 |
goods_look2 |
varchar(6) |
非空 |
‘几成新’ |
商品售卖状态 |
goods_salestate |
Varchar(6) |
非空 |
in‘已售出’,‘待售’ |
点赞数量 |
goods_zan |
int |
空 |
默认值为0 |
商品审核状态 |
goods_checkstate |
Varchar(10) |
非空 |
in ‘验证不通过’‘验证通过’‘待验证’ |
商品分类ID |
type_id |
Int |
FK |
级联更新 |
商品图 |
goods_picture2 |
varchar(10) |
空 |
储存图片名:‘0001.jpg’ 最多10个字符 |
概述:储存商品信息
商品分类表GoodsTypeTable数据结构
对应中文 |
字段名 |
数据类型 |
主外键 |
备注 |
商品分类ID |
type_id |
int |
PK |
从1自增长1 |
商品类名 |
type_name |
Varchar(20) |
FK |
商品类名 |
概述:储存商品分类和其对应的ID编号
求购表Want数据结构
对应中文 |
字段名 |
数据类型 |
主外键 |
备注 |
求购ID |
Want_id |
int |
PK |
订单号,从100自增长1 |
买家ID |
users_buy_id |
Varchar(20) |
FK |
买家信息 |
商品描述 |
goods_description |
nvarchar(200) |
非空 |
200个汉字 |
商品类别 |
goods_type |
varchar(20) |
空 |
类别可任意输入 |
概述:储存用户求购的商品的信息
订单表Orders数据结构
对应中文 |
字段名 |
数据类型 |
主外键 |
备注 |
商品ID |
goods_id |
int |
PK,FK2 |
从100自增长1 |
卖家ID |
users_sale_id |
varchar(20) |
PK,FK3 |
卖家信息 |
买家ID |
users_buy_id |
varchar(20) |
PK,FK1 |
买家信息 |
商品转手时间 |
order_time |
datetime |
非空 |
默认为当前系统时间 |
概述:储存用户购买商品生成的订单
订单表备份表Orders_bak数据结构
对应中文 |
字段名 |
数据类型 |
主外键 |
备注 |
商品ID |
goods_id |
int |
PK,FK2 |
和删除的信息保持完全一致 |
卖家ID |
users_sale_id |
varchar(20) |
PK,FK3 |
和删除的信息保持完全一致 |
买家ID |
users_buy_id |
varchar(20) |
PK,FK1 |
和删除的信息保持完全一致 |
商品转手时间 |
order_time |
datetime |
非空 |
和删除的信息保持完全一致 |
概述:一年前的订单被删除之后存储在备份表中
留言表message数据结构
对应中文 |
字段名 |
数据类型 |
主外键 |
备注 |
留言编号 |
message_num |
int |
PK |
从100自增长1 |
卖家ID |
users_sale_id |
varchar(20) |
FK1 |
卖家信息 |
买家ID |
users_buy_id |
varchar(20) |
FK2 |
买家信息 |
留言内容 |
message_info |
varchar(100) |
|
留言内容 |
概述:储存买家给卖家的留言信息
四、概念结构设计
4.1 ER图(Powerdesigner CDM)
注:商品临时表(临时储存游标读取的元组)和订单备份表(备份过期订单)为单独实体,与其他实体均无任何联系,未在图中显示。
五、逻辑结构和物理结构设计
5.1关系模型
PDM
数据库关系图
5.2数据模型优化
·商品表(商品ID,商品分类ID,卖家ID,商品名,商品描述,商品转手价,商品原价,商品外观,商品图,商品审核状态,商品售卖状态,点赞数量,商品评价)
·商品类别表(商品分类ID,商品类名)
·求购表(求购ID,买家ID,商品描述,商品类别)
·管理求购表(管理员ID,求购ID)
·买家表(买家ID,买家密码,买家学号,买家真实姓名,买家性别,买家联系方式,买家邮箱)
·买家临时表(买家ID,买家密码,买家学号,买家真实姓名,买家性别,买家联系方式,买家邮箱)
·卖家表(卖家ID,卖家密码,卖家学号,卖家真实姓名,卖家性别,卖家联系方式,卖家邮箱)
·订单表(买家ID,商品ID,卖家ID,交易时间)
·订单备份表(买家ID,商品ID,卖家ID,交易时间)
·留言表(留言编号,买家ID,卖家ID,留言内容)
·管理员表(管理员ID,管理员真实姓名,联系方式,管理员密码)
·管理商品表(管理员ID,商品ID)
注:买/卖家表中因学号也可以决定其姓名等信息,不符合3NF,其余各表均达到3NF。
以上是关于团队第三次作业 – 软件设计的主要内容,如果未能解决你的问题,请参考以下文章