软件交付问题之要在需求评审中高效决策,如何解决

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 软件交付问题之要在需求评审中高效决策,如何解决

问题一:用户访问日志表 visit_log ,如何获取连续访问大于或等于 2 天的用户?


用户访问日志表 visit_log ,每一行数据表示一条用户访问日志。如何获取连续访问大于或等于 2 天的用户?

SQL - 17
with visit_log as (
select stack (
6,
'2024-01-01', '101', '湖北', '武汉', 'Android',
'2024-01-01', '102', '湖南', '长沙', 'IOS',
'2024-01-01', '103', '四川', '成都', 'Windows',
'2024-01-02', '101', '湖北', '孝感', 'Mac',
'2024-01-02', '102', '湖南', '邵阳', 'Android',
'2024-01-03', '101', '湖北', '武汉', 'IOS'
) 
-- 字段:日期,用户,省份,城市,设备类型
as (dt, user_id, province, city, device_type)
)
select * from visit_log;


参考回答:

整体实现比较简单。

-- SQL - 18
select user_id
from (
select 
*,
lag(dt, 2 - 1) over (partition by user_id order by dt) as lag_dt
from (select dt, user_id from visit_log group by dt, user_id) t0
) t1
where datediff(dt, lag_dt) + 1 = 2
group by user_id;


关于本问题的更多回答可点击原文查看:

https://developer.aliyun.com/ask/621572



问题二:用户访问日志表 visit_log ,每一行数据表示一条用户访问日志。如何基于相邻日期差实现?


用户访问日志表 visit_log ,每一行数据表示一条用户访问日志。如何基于相邻日期差实现?(排序版)

SQL - 17
with visit_log as (
select stack (
6,
'2024-01-01', '101', '湖北', '武汉', 'Android',
'2024-01-01', '102', '湖南', '长沙', 'IOS',
'2024-01-01', '103', '四川', '成都', 'Windows',
'2024-01-02', '101', '湖北', '孝感', 'Mac',
'2024-01-02', '102', '湖南', '邵阳', 'Android',
'2024-01-03', '101', '湖北', '武汉', 'IOS'
) 
-- 字段:日期,用户,省份,城市,设备类型
as (dt, user_id, province, city, device_type)
)
select * from visit_log;


参考回答:

整体实现比较简单。

-- SQL - 19
select user_id
from (
select *, 
dense_rank() over (partition by user_id order by dt) as dr
from visit_log
) t1
where datediff(dt, date_add(dt, 1 - dr)) + 1 = 2
group by user_id;


关于本问题的更多回答可点击原文查看:

https://developer.aliyun.com/ask/621573



问题三:用户访问日志表 visit_log ,每一行数据表示一条用户访问日志。如何基于连续活跃天数实现? -


用户访问日志表 visit_log ,每一行数据表示一条用户访问日志。如何基于连续活跃天数实现?

SQL - 17
with visit_log as (
select stack (
6,
'2024-01-01', '101', '湖北', '武汉', 'Android',
'2024-01-01', '102', '湖南', '长沙', 'IOS',
'2024-01-01', '103', '四川', '成都', 'Windows',
'2024-01-02', '101', '湖北', '孝感', 'Mac',
'2024-01-02', '102', '湖南', '邵阳', 'Android',
'2024-01-03', '101', '湖北', '武汉', 'IOS'
) 
-- 字段:日期,用户,省份,城市,设备类型
as (dt, user_id, province, city, device_type)
)
select * from visit_log;


参考回答:

可以视作 基于相邻日期差实现(排序版) 的衍生版本,该实现能获取到更多信息,如连续活跃天数。

-- SQL - 20
select user_id
from (
select 
*,
-- 连续活跃天数
count(distinct dt) 
over (partition by user_id, cont) as cont_days
from (
select 
*, 
date_add(dt, 1 - dense_rank() 
over (partition by user_id order by dt)) as cont
from visit_log
) t1
) t2
where cont_days >= 2
group by user_id;


关于本问题的更多回答可点击原文查看:

https://developer.aliyun.com/ask/621574



问题四:为什么业务方案讨论阶段的工作量预估很重要?


为什么业务方案讨论阶段的工作量预估很重要?


参考回答:

因为这个预估的工作量可能会成为影响项目能否立项通过的关键因素。老板在考虑投入产出比时,会参考这个预估的工作量。


关于本问题的更多回答可点击原文查看:

https://developer.aliyun.com/ask/621575



问题五:在需求评审中,如何高效决策?


在需求评审中,如何高效决策?


参考回答:

首先需要在评审前确定好所有逻辑,避免在会上展开讨论。其次,当出现意料之外的逻辑或未考虑到的点时,如果有明显解法,应立即决策并写入会议纪要。对于没有明显解法的,应写入待办事项。


关于本问题的更多回答可点击原文查看:

https://developer.aliyun.com/ask/621576

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
6月前
|
运维 安全 测试技术
团队研发流程混乱,该怎么办?
团队研发流程混乱,该怎么办?
150 1
|
1月前
|
机器学习/深度学习 人工智能 监控
提升软件质量的关键路径:高效测试策略与实践在软件开发的宇宙中,每一行代码都如同星辰般璀璨,而将这些星辰编织成星系的过程,则依赖于严谨而高效的测试策略。本文将引领读者探索软件测试的奥秘,揭示如何通过精心设计的测试方案,不仅提升软件的性能与稳定性,还能加速产品上市的步伐,最终实现质量与效率的双重飞跃。
在软件工程的浩瀚星海中,测试不仅是发现缺陷的放大镜,更是保障软件质量的坚固防线。本文旨在探讨一种高效且创新的软件测试策略框架,它融合了传统方法的精髓与现代技术的突破,旨在为软件开发团队提供一套系统化、可执行性强的测试指引。我们将从测试规划的起点出发,沿着测试设计、执行、反馈再到持续优化的轨迹,逐步展开论述。每一步都强调实用性与前瞻性相结合,确保测试活动能够紧跟软件开发的步伐,及时适应变化,有效应对各种挑战。
|
30天前
|
敏捷开发 数据挖掘 项目管理
如何让团队高效运转?协同工具在项目管理中的妙用
本文探讨了如何通过协同工具提升团队效率,介绍了团队高效运转的关键因素,包括清晰的目标设定、有效的沟通机制、合理的任务分配、实时的进度跟踪、激励机制与反馈,以及工具的正确选择。文章还推荐了几款实用的办公协同工具,如板栗看板、Jira、Confluence 和 Slack,帮助团队在项目管理中实现高效协作。
35 0
|
1月前
|
监控 供应链 数据可视化
团队高效流程管理必备:方法与实用软件推荐
在当前激烈的商业竞争环境中,高效的业务流程管理对企业成功至关重要。本文介绍了业务流程管理的方法,包括流程梳理、优化、监控与评估及员工培训与参与,并推荐了几款实用的业务流程管理系统(BPMS)。BPMS能自动化、可视化业务流程,提升效率。具体推荐包括板栗看板、Trello和Wrike,它们分别在任务管理、团队协作及项目管理方面有各自的优势。选择合适的BPMS有助于提高工作效率、增强流程透明度、提升团队协作能力,规范管理并降低风险,从而增强企业竞争力。
67 0
|
3月前
|
Java
软件交付质量问题之要提升发布成功率,如何实现
软件交付质量问题之要提升发布成功率,如何实现
|
4月前
|
监控 测试技术
软件交付问题之如何进行自我总结以提高软件交付的质量和效率
软件交付问题之如何进行自我总结以提高软件交付的质量和效率
|
6月前
|
消息中间件 监控 前端开发
研发人员如何做好日常工作的稳定性保障
本文介绍了一些研发人员如何做好稳定性建设的工作事项
220 0
|
6月前
|
监控 数据可视化 前端开发
高效设计企业营销系统的3种方案实践复盘
高效设计企业营销系统的3种方案实践复盘
133 2
|
6月前
|
敏捷开发 Devops jenkins
DevOps、瀑布模型与敏捷开发:关系解析与对软件交付工程师的影响
DevOps、瀑布模型与敏捷开发:关系解析与对软件交付工程师的影响
149 1
|
6月前
|
SQL 缓存 开发工具
CodeReview对于一个企业的重要性
odeReview 是开发过程不可或缺的重要一环,如果将代码发布比作一个工厂的流水线,那么 CodeReview 就是流水线接近于终点的质检员,他要担负着对产品质量的保障工作,将“缺陷”从众多的“产品”中挑出,反向推动“生产方”改进生产质量。
79 1