前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >测试开发之路--需求分析及ER图(一)

测试开发之路--需求分析及ER图(一)

作者头像
用户9913368
发布2022-08-13 15:37:46
1K0
发布2022-08-13 15:37:46
举报
文章被收录于专栏:嘎嘎软件测试嘎嘎软件测试

1 需求背景及由来由开发提出的需求

最近公司开发向我们提了一个需求,要求我们在mock挡板时支持加解密和响应延时功能,但是我们现在用的easy-mock这个工具本身并不支持加解密功能,思来想去,那不得自己撸一个MockServer?正好把团队的测试开发能力给提起来。

我们公司CTO说过,作为一个团队Leader,当团队需要你是总监的时候,你就是总监,当需要你是开发的时候你就得是开发,并不是说你是总监,那你就只能干总监的活。基于这种思想,我决定自己亲手撸一个MockServer,正好锻炼下自己的动手能力。

2 需求分析及技术栈选型

说干就干,因为团队之前没有测试开发团队,也没有测试开发的一套架构和技术栈,所以要先确定技术栈,技术栈的选择原则有三种:1、选择当前主流的技术栈;2、和现有开发技术栈同步;3、选择自己最熟悉的技术栈;这里就不对如何选择做论述了,直接说答案,技术栈和现有公司开发保持一致:SpringMVC+Mybaties+MySQL+JAVA JDK1.7+VUE。技术栈老是老了点,但是没关系,能真实的解决问题并且借此锻炼开发能力即可。

选择好技术栈之后,就要开始出需求做设计了,首先我们先把核心需求写出来:

  • 增删改查Mock接口;
  • 支持固定/随机 延时;
  • 接口支持加解密;
  • 根据不同的请求参数,返回不同结果;
  • 支持自定义http协议状态码;

需求有了,当然你也可以使用Axure RP 来画一画原型图(我是画了,但是我觉得画不画都行,主要是你脑子里面要有那个原型图)。

3 详细设计之E-R图该怎样画

接下来我们完成整个详细设计,详细设计很重要,详细设计做的好不好,直接决定了你程序的可维护性、健壮性等等,接下来我要说的就是详细设计中的关键性步骤:E-R图,这个图描述了你程序中的有哪些字段、哪些功能,相当于在详细设计阶段将需求以程序的方式进行梳理。

下面我将从这四个部分来教你如何画E-R图:

  • 为什么要画ER图,它的主要作用是什么
  • ER图里面的关系及各图形解释说明
  • 如何画ER图
  • MockServer E-R图示例

1、什么要画ER图,它的主要作用是什么?

我们画ER图是为了搞清楚实体和实体之间的关系,相当于梳理关系的一个过程。它的主要作用就是帮助我们梳理清楚程序中所有实体的关系,并且ER图画出来了,数据库结构也就出来了。

2、ER图里面的关系及各图形解释说明

  • E-R图:实体-联系图,提供了表示实体类型、属性和联系的方法,用来描述现实世界的概念模型。
  • ER图的实体(entity)即数据模型中的数据对象,例如人、学生、音乐都可以作为一个数据对象,用长方体来表示。
  • ER图的属性(attribute)即数据对象所具有的属性,用椭圆形表示,用下划线表示唯一属性。
  • ER图的关系(relationship)用来表现数据对象与数据对象之间的联系,关系用菱形来表示。
  • 矩形:实体;通常是现实世界中的一个明确物体;一般是名词;
  • 椭圆:实体的属性;一般是名词;
  • 菱形:实体型之间的联系;一般是动词;
  • 连接线:表示联系,无方向边;
  • 联系类型:1:1、1:n、n:n;
  • 双边矩形:弱实体;一个实体必须依赖于另一个实体存在,那么前者是弱实体,后者是强实体,弱实体必须依赖强实体存在,例如学生实体和成绩单实体,成绩单依赖于学生实体而存在,因此学生是强实体,而成绩单是弱实体;
  • 双边椭圆:一个实体的某个属性可以有多个不同的取值,例如一本书有多个分类,例如科学、医学等,这个分类就是多值属性,用双线椭圆表示;

3、画ER图流程

  • 确定这个模块有哪几个核心的对象以及具体有哪些特征;
  • 思考这些对象之间的关系,如何相互转变;
  • 将把他们用ER图的方法表述出来;

4、MockServer E-R图 示例

4 小结E-R图该怎样画

今天我们对需求进行了简要分析,以及如何画E-R图,接下来我将带你一步步完成这个MockServer,敬请期待。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-11-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 嘎嘎软件测试 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1 需求背景及由来由开发提出的需求
  • 2 需求分析及技术栈选型
  • 3 详细设计之E-R图该怎样画
  • 4 小结E-R图该怎样画
相关产品与服务
云数据库 MySQL
腾讯云数据库 MySQL(TencentDB for MySQL)为用户提供安全可靠,性能卓越、易于维护的企业级云数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档