1.需求VS功能
需求:客户想要的效果,对客户有价值的事情
功能:系统为了实现客户的价值而提供的能力/功能
举例:
汽车:驾驶是需求,刹车、加速、转弯是功能
打印机:打印是需求,进纸、设定、与电脑连接等是功能
pos机:买单是需求,商品扫描、金额汇总、收银等是功能
2.需求的重要性
1/3的项目失败或陷入困境是因为需求原因导致的
garbagein,garbageout
垃圾上了生产饼干的流水线,最后产出的是像拉吉一样的饼干
修复需求错误的问题成本极高
1编码阶段修复发现一个错误耗费人类是1个单位
2测试阶段修复需求错误的成本是5-10倍
3维护阶段(产品上线后),修复需求错误成本是20倍
ps:在需求阶段修复错误,成本只需要0.1-0.2即可
结论:需求错了,几乎要把软件项目重做一遍
3.需求分析的目的
1记录员,记录客户的需求
2分析员,和客户一起分析,完善需求
3引导员,能够引导客户的需求
4.需求分析的方法
1需求分析518方法,简称我要发,具体就是5w1h8c
5w+1h属于功能属性8c属于质量属性
5w:
when:用户想在什么时间用,例如半夜备份的任务,很明显我们得知该需求需要自动化执行
where:用户想在什么地方用,例如垃圾桶室内和室外的区别,同样的事物放到不同地方用肯定不一样
who:用户想让谁来用,不仅是人,也可以是一个系统
what:用户想要我们程序的输出结果是什么,如图片,文档,系统
why:问一问用户为什么要这么做,(你不问,他基本不说),包括客户所有觉得不爽的事情
ps:why是核心
1h:how
8c:8个constraint约束
性能performance
性能是系统提供相应服务的效率。主要包括响应时间、吞吐量
性能是很多系统架构设计的关键约束条件之一
例如,同样一个web网站,虽然都是提供信息给用户流量,设计一个日访问量1w的网站与
日访问量10亿的网站,二者的设计截然不同
成本cost
成本指为了实现系统而需要付出的代价
成本也是很多系统架构设计的关键约束之一
例如客户只愿意花100w,而我们却设计了一个耗费1000w的系统
时间time
指客户要求什么时候交付
可靠性reliability
指系统长时间正确运行的能力,银行、证券、电信这些公司,对宕机时间要求很严格
安全security
指对信息安全的保护能力,涉及到钱、身份证、社会保险号等需求对这个要求很高
合规性compliance
指满足各种行业标准、法律法规、规范等,例如3C、SOX、3GPP,ITUT
技术性technology
有的客户可能要求我们采用某种技术
例如客户现在都是windows服务器,要求我们基于windows平台开发
兼容性compatibility
指我们的产品与客户其他已有的产品或系统的兼容能力,要知道现在很少有产品是孤立运行的,特别是在大企业、大公司中,多个系统都是相互交互、互相配合的。新的系统必须能够和已有的系统配合,否则将无法运行
以上内容为大家介绍了Python需求模型,希望对大家有所帮助,如果想要了解更多Python相关知识,请关注IT培训机构:千锋教育。