说明:经验是个好东西,希望你也能拥有,如果这就是经验,我想我也get到了一点点

其实开发一个模块或者实现一个功能.需求分析时间应该占到30%左右.下面以一个看似非常简单模块为例.

这是原有的基础,看似就是简单加一个小功能,判断是否显示超出范围调整

一:仔细分析需求后应该会有一些疑问

1:超出调整范围是否只是在我们页面进行显示?还是需要回传数据?
  1.1 hr不需要再传递额外的字段,我们只要根据目前字段就可以实现功能
  1.2 "是否越级晋升"的判断标准是什么?以下三个哪个属于越级晋升?
    P2---P3? P2---P5? P2--M2?
  1.3 "上次调整时间"对应什么字段?是页面上"内部调转时间"吗?
  如果是,那么这个字段会不会有空值?如果初始值=="入职时间"的话会轻松很多,不然以后做判断的时候会稍微麻烦些
  另外"发起时间"和"内部调转时间"和"上次调整时间"以及"入职时间"的关系

  1.4 "晋升的级别在M2以上或者P7以下,距上次调整时间或入职时间小于6个月" 这么长的字段,在web端,特别是手机端,对整体页面布局都会产生影响的.
  1.5 字段确认此处是"M2以上"还是"M2以下"?根据上下文分析,应该是"M2以下".

  1.6 我们就假设原有的逻辑和数据都是正确,不会出现,明明薪资调整了,"薪资是否调整"字段还出现"否"的情况;也不会出现"上次调整时间"<"入职时间"这种低级bug

2:"手动选时间" 我们是否需要回传过去?
  "入职时间"也能随意调整.比如说判断的上次调整时间2017-10-1 由于晋升级别小于6个月,所以显示"超出调整范围".如果手动改成"2005-10-1"号,那么会有什么影响?如果该员工是"2015-10-1"才入职的.那么这个时间是改的入职时间还是上次调整时间?如果公司是2010年才成立呢?而且这个"上次调整时间"是指"上次晋升的调整时间"?还是指"上次调薪的调整时间",或是不区分

  从第一阶段的分析来看,我们不仅要提出对需求的疑惑的地方,还要对设计指出不足,有时候还不能简简单单的把问题抛出来,还要自己试着去寻找答案,例如1.3这个问题,我们可以从系统中原有数据,分析归纳

二 敲代码前的草稿

我们需要大致打这样一个草稿,这个比较简单.所以在摸清需求的情况下可以自行开发,如果比较复杂,需要跟开发经理商量,看看思路是否跑偏,使用技术是否合理,

三:要预判技术难点.以我个人的意见,可能这个习惯未必利于对技术的发展.系统中有的能抄就抄,自己设计第一比较慢,而且实现起来坑比较多,也不利于后期其他人的维护

3.1 手动选时间,需要引入控件或者jQuery插件吗?直接使用我们系统中的日期控件会不会有问题?是否需要回传数据?如何回传数据?有类似的例子吗?
3.2 js如何对两个时间格式的字符串做差?

四:为测试人员提供一些测试用例.因为这段代码是我们写的,哪些薄弱的地方用可能出问题自己比较清楚,我们有义务为测试提供"抛砖引玉"的测试用例,反过来如果这些地方真的出问题对我们也是一个成长,避免下次跳入相同的坑

一些简单的测试用例

因为"调薪幅度"是我们这次开发功能的"根数据",所以要务必确保其正确性
1:发起一笔薪资不调整的单子.目的:测试判断如果"调薪幅度"不存在的时候会出现什么情况
2:发起一笔降薪超过30%的单子.目的:测试降薪出现负数的情况
3:越级晋升,但薪资不调动

转载于:https://www.cnblogs.com/YK2012/p/8094012.html

步步为营100-开发前的思考相关推荐

  1. Web系统开发构架再思考-前后端的完全分离

    前言 前后端完全分离其实一直是Web开发人员的梦想,也一直是我的梦想,遥想当年,无论是直接在代码里面输出HTML,还是在HTML里面嵌入各种代码,都不能让人感到满意.期间的痛苦和纠结,我想所有Web开 ...

  2. Web系统开发构架再思考-前后端的完全分离 MVVM

    前言 前后端完全分离其实一直是Web开发人员的梦想,也一直是我的梦想,遥想当年,无论是直接在代码里面输出HTML,还是在HTML里面嵌入各种代码,都不能让人感到满意.期间的痛苦和纠结,我想所有Web开 ...

  3. 我的第一个python web开发框架(5)——开发前准备工作(了解编码前需要知道的一些常识)...

    中午吃饭时间到了,小白赶紧向老菜坐的位置走过去. 小白:老大,中午请你吃饭. 老菜:哈哈...又遇到问题了吧,这次得狠狠宰你一顿才行. 小白:行行行,只要您赏脸,米饭任吃,嘻嘻,我们边走边聊. ... ...

  4. 领域驱动和MVVM应用于UWP开发的一些思考

    领域驱动和MVVM应用于UWP开发的一些思考 0x00 起因 有段时间没写博客了,其实最近本来是根据梳理的MSDN上的资料(UWP开发目录整理)有条不紊的进行UWP学习的.学习中有了心得体会或遇到了问 ...

  5. pythonweb开发工作内容_我的第一个python web开发框架(5)——开发前准备工作(了解编码前需要知道的一些常识)...

    中午吃饭时间到了,小白赶紧向老菜坐的位置走过去. 小白:老大,中午请你吃饭. 老菜:哈哈...又遇到问题了吧,这次得狠狠宰你一顿才行. 小白:行行行,只要您赏脸,米饭任吃,嘻嘻,我们边走边聊. ... ...

  6. 对软件项目开发的一点思考

    今天看到同事写的一些思考,感觉还不错,真的是通过这个项目让他成长起来了. 目录 I 1 引言 1 2 概念 1 3 国内软件项目角色分析 1 4 国内项目的一般性问题 2 5 客户与项目组对需求的认知 ...

  7. 【开源共享】全网最简单易用的imx6ull烧写工具设计初衷工作原理设计前的思考

    在线课堂:https://www.100ask.net/index(课程观看) 论  坛:http://bbs.100ask.net/(学术答疑) 开 发 板:https://100ask.taoba ...

  8. 小白入门Python Web之web开发前的准备(持续更新~)

    前面对python web开发做了个简单的介绍,不清楚的小伙伴可以戳小白入门Python Web开发介绍. 今天继续讲讲如何进行web开发前的准备 Web开发准备 搭建一个能运行的虚拟机环境 安装 V ...

  9. API 快速开发平台设计思考

    作者 | 人月聊IT 来源 | toutiao.com/i6914469326074479108 在我之前谈API网关的时候曾经谈到过快速开发平台,即将API快速开发的一些内容放入到API网关中,实际 ...

  10. Three.js应用场景以及开发前准备工作

    应用场景 上篇文章,我们对于three.js有了大致的了解.那么three.js的应用场景到底有哪些? three.js广泛应用,在小游戏.产品展示.物联网.数字孪生.智慧城市园区.机械.建筑.全景看 ...

最新文章

  1. 没想到,他面试竟然挂在了Spring的这个点上...
  2. Sms中关于操作系统的部署之上
  3. 最详细支付宝接口申请、使用!!!带详细流程--实践--支付宝当面付申请
  4. python正则表达式修饰符_python正则表达式,看完这篇文章就够了...
  5. group by 语句优化
  6. boost::histogram::axis::option::growth_t用法的测试程序
  7. 02 docker的基本用法
  8. J2SE核心开发实战(一)——认识J2SE
  9. Codeforces 600E Lomsat gelral (树上启发式合并)
  10. R语言可视化学习笔记之ggridges包绘制山峦图
  11. python怎么让画笔向下移动_Pandas 解决dataframe的一列进行向下顺移问题
  12. SharePoint 2013 基础版 离线安装步骤
  13. VB中DoEvents的注意事项
  14. iOS常用的第三方类库
  15. 针对python矩阵运算的理解
  16. ubuntu 显卡驱动崩掉导致分辨率异常的问题解决
  17. 共基极放大电路_轻松辨别放大电路的正负反馈
  18. Nokia于MWC再出手机9 PureView 6颗镜头受到瞩目
  19. 星巴克急了,瑞幸就稳了?
  20. linux投影手机,linux连接投影机方法介绍

热门文章

  1. 手机备份时,应该把软件配置也备份起来
  2. LINUX出错解决办法:无法定位软件包 libX11-dev
  3. JAVA读写之前,先进行一下可读,可写权限判断
  4. 百度人脸识别:最简单的Python调用
  5. LINUX下用C遍历一个目录的代码
  6. Data Member的布局
  7. conda安装cv2_『开发技术』Windows极简安装使用face_recognition实现人脸识别
  8. VS C++ vector结构体 增加元素 删除元素 获取第一个元素 最后一个元素 清空元素
  9. quot在c语言里用法,C语言中“#”和quot;##quot;的用法
  10. html修改访问量txt,哪位大佬帮我改一下JS谢谢,txt改html网页直接显示的,感激不尽,现在的源码只能看......