这个作业属于哪个课程 | https://edu.cnblogs.com/campus/zswxy/software-engineering-2017-1 |
---|---|
这个作业要求在哪里 | https://edu.cnblogs.com/campus/zswxy/software-engineering-2017-1/homework/10829 |
这个作业的目标 | 项目系统设计与数据库设计 |
作业正文 | https://www.cnblogs.com/Tudingdingshaoniantuan/p/13126585.html |
参考文献 | 百度一下,知乎 数据库系统概论(第五版) 王珊,萨师煊编著 高等教育出版社 构建之法(第三版)邹欣著 人民邮电出版社 b站 零基础玩转微信小程序 |
一、团队项目的预期开发计划时间安排
二、团队项目的预期开发计划分工安排
学号姓名 | 职责 |
---|---|
20177666雷情 | 前端+培训 项目经理 |
20177692邹雪花 | 前端 |
20177655刘敏 | 前端+培训 |
20177695邹婷 | 前端 |
20177676陈萍杰 | 前端+后端 |
20157659胡楠 | 后端+测试 |
20177691 陈柱全 | 测试+维护安排 |
20177682 唐清磊 | 前端 |
20177669郭航 | 前端+开发安排 |
20177707严雄峰 | 后端+开发安排 |
三、作业工程流程图
四、体系结构及数据库设计
系统设计说明书
第一章 引言
1.1编写目的
- 该文档给出随心购项目系统整体设计。包括总体设计类图、功能模块层次图、功能模块详细描述等。试图从总体架构上给出整个系统轮廓。同时对功能需求、性能需求进行详细描述。便于用户、开发人员进行理解和交流,可以作为软件开发工作的基础以及后期确认测试和验收依据。
1.2背景
- 随着互联网的发展,越来越多人喜欢网上购物。网上购物可以给广大消费者提供方便的购物环境。用户可以在软件上搜索是否有自己需要的商品,从多种商品中进行比较,选择便宜商品购买,可快速订购商品,而在实体店不能体验到这些购物的便利;同时商家也存在需要跨区域售卖商品的需要;而一些社区购物小程序,只流行在稍大城市,他们的业务在很多地方没有覆盖。基于这些因素,我们决定做一个网上购物软件。
1.3参考资料
- 《构建之法》(第三版)邹欣著 人民邮电出版社
- 知乎 www.zhihu.com
- www.baidu.com
1.4术语定义及说明
- APP(Application缩写),一般指手机软件;
- Soa:面向服务的架构(SOA)是一个组件模型,它将应用程序的不同功能单元(称为服务)进行拆分,并通过这些服务之间定义良好的接口和契约联系起来。接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言。这使得构建在各种各样的系统中的服务可以以一种统一和通用的方式进行交互。
第二章 项目描述
2.1产品描述
- 通过开发基于手机平台的app为广大消费者提供方便的购物环境, 主要与社区附近周围商家进行合作,针对小地区的消费者的消费购物, 提供快速上门服务,还可以提前和商家预定好需要的商品等一些功能所研发出的app小程序;
- 前期调研 :很多小城市都没有专门为社区购物服务的软件,有市场需求;
- 微信小程序有这些优势: 小程序的微信有海量⽤⼾,⽽且粘性很⾼,在微信⾥开发产品更容易触达⽤⼾;推⼴app 或公众号的成本太⾼。 开发适配成本低。 跨平台。 我们小组的技术有限,微信小程序的学习相对容易。
2.2 用户场景
- 用户场景如下:
- 用户需要购买商品使用随心购小程序:
- 用户1是随心购的用户,他进入小程序的主页面点击登录,如果没有账号进行注册并且登陆成功后显示主页面,在主页面有今日推荐,今日折扣,用户可以进行预览, 也可以进行搜索商品和查看分类进行游览商品进行购买收藏联系客服加入购物车操作,用户不满意商品可以进行申请退货,在购买支付商品收货后可以进行评价商品, 还可以搜索附近社区商店进行定位获取商家商品信息。对个人昵称信息不满意还可以在个人中心页面可以进行修改。如果用户不想进行登陆注册也可以进行游览商品, 但是不可以进行其他的操作了。只限于浏览查看商品和商品信息。
- 商家也就是普通管理员,他进入小程序首页可以进行注册和登录,登录后他的个人中心有管理商品,发货处理,退货处理,联系买家也就是联系用户这些功能, 他需要管理他的商品成列,还有用户购买商品的发货处理,用户申请退货的退货处理,以及联系用户实现消息的通知。
- 系统管理员也就是管理用户和商家的一个角色,他需要庞大的数据库辅助实现,人为的操作普通管理员和用户,以及后续的维护更新随心购app小程序。
第三章 设计概述
3.1任务和目标
- 目标:
- 1方便用户快速查找附件商家。
- 2方便用户快速购买商家商品。
- 3方便用户商品比价,找到最便宜的商品。
- 4区域范围服务,用户可以购买到更便宜的商品,售后也方便。
3.2需求概述
- 1用户可以定位自己附件的商店,足不出户就了解附近的商店。
- 2用户可以根据自己附件的商店,在家里产看全部商品,在家就能查看全部商品,而不是到店里一排一列去找。
- 3用户可以进入比价界面,选择商品的信息,查看所有的相同的商品。
- 4针对小地区提供便利,和附近商家合作,熟人购买商品。小区域购物减少了运费,且售货方比较容易联系,熟人卖的东西品质也有保障。
- 5这个软件可以嵌入到微信,支付宝,美团或天猫京东。可以让用户更便利,快速的使用我们的商品
3.3运行环境和工具
- Axure rp8、Enterprise Architect、数据库,startuml
第四章 总体方案设计
4.1系统总体设计类图
4.2系统体系结构设计
-
随心购体系结构说明:
- 商城是一个综合性的 B2B2C 平台,类似兴盛优选;
- 微信小程序采用商家入驻的模式,商家入驻平台提交申请,有平台进行资质审核,审核通过后,商家拥有独立的管理后台录入商品信息;
- 商品经过平台审核后即可发布。审核通过的商品即可在平台销售;
- 商城游客及注册用户可以在商城浏览商品、搜索商品、使用购物车、购买商品、添加商品到订单以及收藏、评价、联系客服、退收货等;
- 商城主要分为网站前台、运营商后台、商家管理后台三个子系统;
- 商城前台共分为查看社区附件商店、搜索、商品详情页、用户登录、购物车、商品分类、订单系统、申请退货、支付系统、咨询评价,收藏夹、管理商品共12个功能模块;
- 运营商后台是运营商的运营人员的后台管理系统。系统管理员可以在运营商后台管理系统中审核商家的入驻申请、商品提交申请、管理用户及对应的订单、商家结算、数据统计分析等;
- 运营商后台管理系统的功能主要包括还有许多服务,比如购物车服务,订单服务,支付服务、搜索服务,维护更新服务、定位服务,收藏服务,购车服务,个人中心服务、咨询商品服务,商家商品服务,退换货服务这十二个服务;
- 商家管理后台是入驻的商家进行管理的后台,普通管理员申请入住后即可获得商家后台管理系统的使用权限,在商家后台管理系统可以提交商品信息,品牌申请,规格申请等, 商家提交的商品信息必须由系统管理员在运营商后台管理系统进行审核方可进行正式的对外销售。商家后台管理系统的功能是对商品的管理以及订单查询统计、资金结算等功能。
-
随心购体系结构模型:
- 商城系统架构采用SOA架构,它是一种支持面向服务的架构样式;
- 从服务、基于服务开发和服务的结果来看,面向服务是一种思考方式;
- 其实 SOA 架构主要应用于互联网项目开发,是一种企业通用性架构;
- 它可以根据需求通过网络对松散耦合的粗粒度应用组件进行分布式部署、组合和使用。服务层是SOA的基础,可以直接被应用调用,从而有效控制系统中与软件代理交互的人为依赖性。SOA是一种粗粒度、松耦合服务架构,服务之间通过简单、精确定义接口进行通讯,不涉及底层编程接口和通讯模型。 SOA可以看作是B/S模型、XML(标准通用标记语言的子集)/Web Service技术之后的自然延伸,这使得构件在各种各样的系统中的服务可以以一种统一和通用的方式进行交互。 随心购体系结构模型图
4.3系统功能模块层次图
4.4系统功能模块详细设计
- 基础模块详细设计图:
- 搜索模块详细设计图:
- 商品系统模块详细设计图:
- 网上支付系统系统模块详细设计图:
- 信息系统模块详细设计图:
- 管理功能模块详细设计图:
第五章 系统接口设计
-
在随心购项目中我们需要加入连接数据库的接口,还有数据传输接收的接口,
-
各种服务器的接口,就上述体系结构的购物车服务,订单服务,支付服务、搜索服务,维护更新服务、定位服务,收藏服务,购车服务,个人中心服务、咨询商品服务,商家商品服务,退换货服务这十二个服务,接口用于实现这些服务的功能,
-
随心购前台的查看社区附件商店、搜索、商品详情页、用户登录、购物车、商品分类、订单系统、申请退货、支付系统、咨询评价,收藏夹、管理商品共12个功能模块与服务器之间的交互和联系的组件以及接口,当然我们还需要第三方平台的链接接口,因为我们的支付购买还有定位需要授权,就需要这些第三方平台的接口,
-
我们的体系主要采用soa架构来设计的,所以没有特殊的外部接口
数据库系统设计说明书
第一章 引言
1.1编写目的
- ①本数据库设计说明书是关于微信小程序随心购APP数据库设计,主要包括数据结构设计,表结构设计 数据字典,安全设计及运行环境。
- ②本数据库设计说明书读者:用户,系统设计人员,系统测试人员,系统维护人员。
- ③本数据库说明书是根据系统需求分析设计所编写的。
- ④本数据库设计说明书为开发软件提供了一定基础。
1.2背景
- 随着互联网的发展,越来越多的人喜欢网上购物。网上购物可以给广大消费者们提供方便的购物环境;
- 用户可以搜索是否有自己需要的商品、从很多同种商品中进行比价,选择便宜的购买、快速订购商品,这些购物便利在实体店是没有的;
- 同时商家也存在需要跨区域售卖商品的需要;
- 像那些社区购物小程序,现在只流行在稍大的城市,他们的业务在很多地方都没有覆盖。根据这些因素,我们决定做一个的网上购物软件。
1.3参考资料
- 数据库系统概论(第五版) 王珊,萨师煊编著 高等教育出版社
- 构建之法(第三版)邹欣著 人民邮电出版社
- b站 零基础玩转微信小程序
第二章 外部设计
2.1标识符和状态
- 数据库管理工具:mysql 5.0
- 数据库名称:shop
2.2使用程序
- 本数据库仅仅适用微信小程序“随心购“APP
2.3命名约定
- 在本系统中数据库设计采用Visio,并且采用面向对象的设计方法,首先进行对象实体的设计,将对象持久到数据库中,
- 所有表和表之间的关联(ER图)都采用标准的Visio 设计工具进行,这样能够将整个系统的设计和数据库设计有机的结合起来。
第三章 结构设计
3.1概念设计
3.2逻辑结构设计
- ER Diagram
- user 表:存放用户的基本信息
- Merchant 表:存放商家的基本信息
- administrator表:存放管理员的基本信息
- goods:商品的详细信息
- Goods image:商品图片表的详细信息
- Comment:商品的评论
- Order:订单的基本信息
- Order item:订单项的基本信息
- Shopping cart:购物车的基本信息
- Favorite:收藏夹的基本信息
第四章 运用设计
4.1 系统安全和权限设计
-
1.系统安全与性能分析
- 系统设计过程中,对代码中出现的可能对系统造成安全威胁的字符进行过滤和字符的转换,在一定程度上提高了系统运行的安全性。同时所采用的编程语言和数据库的特性足以承受大量的数据读取和写入。
-
2.系统中存在的问题及解决方法
- 第一:在系统的设计初期,对用户的权限分配考虑不周,所有登录用户均可以进行商品购买。缺少对新注册用户的审核。这个问题已经得到解决,在系统的用户群组中建立了待审核用户组,默认所有新注册用户为该组成员,用户注册成功提交之后,提示用户等待管理员审核。在商品购买页面对用户进行判断,如果为待审核群组的会员则不能进行购物。
-
3.网络安全设计
- 3.1网络设备与访问控制:在网络边界部署访问控制设备,采用分级管理,可能会启用访问控制功能对登录网络设备的用户进行身份鉴别,对网络设备的管理员登录地址进行限制。对口令设置必须在8位以上且为字母和数字组合,限制非法登录次数为3次,必要时采取加密措施防止鉴别信息在网络传输过程中被窃听。
- 3.2 安全审计:对网络系统采用网络安全审计、系统,对网络设备运行状况、网络流量、用户行为等进行日志记录。记录包括:事件的日期和时间、用户、事件类型、事件是否成功等审计相关的信息。可以根据记录数据进行分析,并生成审计报表,系统对审计记录进行保护,避免受到未预期的删除、修改或覆盖等情况。
- 3.3结构安全:保证网络设备的性能具有一定的冗余以应对突发情况,采用高速宽带并设计合理的网络拓扑结构。
- 3.4入侵防范:如果有可能将使用一些入侵检测及防火墙的产品来保证网络安全。
- 3.5漏洞扫描:如果技术上允许将采用漏洞扫描系统对系统漏洞进行扫描
-
4.应用安全
- 4.1应用安全措施:强制要求用户密码满足相应的用户密码复杂度策略密码,登陆时强制用户修改密码,并不能和上次密码一样密码连续三次输入错误就冻结帐户十分钟。
- 4.2通信完整性和保密性:采用加密技术和校验技术保障通信完整性和保密性。
-
5.数据库安全性设计
-
5.1 数据库安全
-
数据库的安全性是指保护数据库以防止不合法使用所造成的数据泄露、更改或破坏 。系统安全保护措施是否有效是数据库系统主要的性能指标之一。
-
a.数据库安全性控制常用方法
- 用户身份鉴别
- 存取控制
- 视图
- 数据加密
- 审计
- DBMS对提出SQL访问请求的数据库用户进行身份鉴别,防止不可信用户使用系统。在SQL处理层进行自主存取控制和强制存取控制,进一步可以进行推理控制。对用户访问行为和系统关键操作进行审计,对异常用户行为进行简单入侵检测。介绍一下存取控制。
- 定义用户权限,并将用户权限登记到数据字典中
- 用户对某一数据对象的操作权力称为权限
- DBMS提供适当的语言来定义用户权限,存放在数据字典中,称做安全规则或授权规则
- 合法权限检查
- 用户发出存取数据库操作请求
- DBMS查找数据字典,进行合法权限检查
- 用户权限定义和合法权检查机制一起组成了DBMS的存取控制子系统。
-
-
5.2 数据库完整性和保密性
- 釆用数据传输加密技术,对传输中的数据流加密,以防止通信线路上的窃听、泄漏、篡改和破坏。数据传输的完整性通过数字签名的方式来实现,数据的发送方在发送数据的同时利用单向的不可逆加密算法Hash函数或者其它信息文摘算法计算出所传输数据的消息文摘,并把该消息文摘作为数字签名随数据一同发送。接收方在收到数据的同时也收到该数据的数字签名,接收方使用相同的算法计算出接收到的数据的数字签名,并把该数字签名和接收到的数字签名进行比较,若二者相同,则说明数据在传输过程中未被修改,数据完整性得到了保证。
-
5.3 数据库的备份与恢复:采用定期保存的方式进行数据备份
-
-
6.补充
- 6.1身份鉴别:对登录后台的管理员和前台登录用户、商家进行身份识别和鉴别。未经过鉴别的用户不能对数据库进行对部分数据查,不能对所有数据增删改。多次输错用户名或者密码、登录异常的用户身份鉴别也将失败。系统会采取必要的措施防止用户账户信息泄露,如对用户密码加密等。
- 6.2访问控制:根据管理用户的角色分配权限,实现管理用户的权限分离,仅授予管理用户所需的最小权限,如用户和商家无法删除评价。及时删除多余的、过期的帐户,避免共享帐户的存在,安全策略设置登录终端的操作超时锁定;设定终端接入方式、网络地址范围等条件限制终端登录。
- 6.3安全审计:审计用户行为、系统资源的异常使用和重要系统命令的使用等系统内重要的安全相关事件。
- 6.4入侵防范与反病毒:采用防毒软件进行病毒防范。
五、本次作业组员贡献度分布
姓名学号 | 工作内容 | 贡献比例 |
---|---|---|
20177676陈萍杰 | 编写数据库系统说明书以及markdown文档,修改错误 ,检查总结,编写博客园 | 11 |
20177659胡楠 | 编写数据库系统说明书以及markdown文档,修改错误 ,编写博客园 | 10 |
20177655刘敏 | 系统功能模块和体系模块,团队项目的预期开发计划分工安排 | 10 |
20177695邹婷 | 系统功能模块和体系模块,此次作业工作流程 | 9 |
20177692邹雪花 | 设计类图,成员此次作业贡献表制作 | 10 |
20177666雷情 | 设计类图,团队项目的预期开发计划分工安排,系统说明书,检查总结 | 13 |
20177691陈柱全 | 编写数据库表结构,项目时间安排表 | 9 |
20177682唐清磊 | 编写数据库表结构,提供《系统说明书》《数据库说明书》github链接 | 9 |
20177707严雄峰 | 系统安全和权限设计,项目时间安排表 | 10 |
20177669郭航 | 数据库ER图绘制,项目时间安排表 | 9 |