25 | 实战二(上):针对非业务的通用框架开发,如何做需求分析和设计?
该思维导图由 AI 生成,仅供参考
项目背景
需求分析
- 深入了解
- 翻译
- 解释
- 总结
本文介绍了如何进行非业务的通用框架开发的需求分析和设计。文章首先提到了项目背景,即开发一个能够获取接口调用统计信息并支持多种显示格式输出的框架。接着,对功能性需求和非功能性需求进行了详细分析。在功能性需求方面,文章列举了接口统计信息、统计信息类型、显示格式、显示终端等需求,并提出了隐藏的需求,如统计触发方式、统计时间区间和统计时间间隔。在非功能性需求方面,文章强调了易用性、性能、扩展性、容错性和通用性的重要性。通过详细的需求分析和设计思路,为读者提供了开发非业务通用框架的指导和思路。 在框架设计方面,文章提到了聚焦于一个简单的应用场景,基于此设计实现一个简单的原型的思想。通过实现一个最小原型系统,帮助理清更复杂的设计思路,为迭代设计提供基础。文章还分享了几个小技巧,包括画产品线框图、聚焦简单应用场景、设计实现最小原型、画系统设计图等,以简化、具体、明确问题,逐步推进设计开发。此外,文章还提到了产品设计方面的手段或概念在技术产品设计上的重要性,以及技术人员是否应具备一定的产品思维。 总的来说,本文通过需求分析和设计思路,为读者提供了开发非业务通用框架的指导和思路,并分享了简化设计思路的小技巧,以及产品设计概念在技术产品设计中的重要性。
《设计模式之美》,新⼈⾸单¥98
全部留言(97)
- 最新
- 精选
- progyoung老师,本文中的案例统计时间时对业务代码是侵入式的,有没有非侵入式的案例呀?
作者回复: 可以使用类似spring aop 做到无侵入
2019-12-30931 - Lyre复杂的系统设计,首先应该梳理出功能点,整理架构设计,画出架构设计图,有了总体的规划,做下去才更顺畅。对吗老师
作者回复: 是的,先做设计,后写代码。先做顶层设计,再做细分设计。
2020-01-0619 - 北天魔狼一直没有做过关于统计和监控的项目,希望老师可以出一个小的MVP🙏🙏🙏
作者回复: 39 40讲 会给出完善的代码
2019-12-3049 - Flynn老师,后面有TDD相关的内容讲解和练习么
作者回复: 有单元测试的讲解
2019-12-305 - worthtoMetrics 类的线程是一个单线程的模型,如果线程池使用多个线程,老师能否帮我们设计一款支持多线程并发的统计模型。
作者回复: 😂 这不属于专栏学习的重点
2020-04-271 - 波波老师,计算最大响应时间max应该是 响应时间减去请求时间吧,为什么代码中只用到了响应时间呢?
作者回复: 好像这是两个概念啊,不用减啊
2020-04-041 - 淤白打卡:用Java实现了文中案例。
作者回复: 加油
2020-11-23 - 王先森案例统计时间时对业务代码是侵入式,针对php语言是可以有定时脚本去统计,大家还有什么其他的方式么?
作者回复: java spring可以放到切面中进行~
2020-05-22 - 莫大-潇湘夜雨老师,案例选用hashmap来存储监控数据,因为涉及到并发访问, 是不是换成并发包更合适一些呢?
作者回复: 是的,不过这是最小原型,我也讲到了可以暂时不用考虑并发问题
2020-01-102 - JM这个例子里面每个接口程序块的开头和结尾都要加上timestamp,如果要统计成百上千个接口,是不是有更高效的方式呢?每个接口可能会隶属于不同的team,那这样是不是需要和多个team沟通合作,沟通协作成本很高啊。
作者回复: 1. 我们可以通过切面的方式,在某一个地方统一加timestamp,而不用每个接口都加timestamp 2. 每个接口隶属不同team是什么意思呢?
2020-01-03