为什么需求实现越来越慢、甚至要重构?

场景:

一个大项目,客户提出的一期需求,开发团队很快就做出来了,客户对此很满意,接着就提出了二期需求,希望二期需求能够像一期需求那样快速实现,结果开发速度差强人意,勉勉强强实现了80%,但是业务不等人,客户继续提出三期需求。此时,在开发团队内部开会的时候,一个资深的开发人员提出了最好重构系统,否则会给后续维护带来巨大的问题。

这是一个非常奇怪的现象,为什么一期需求快速实现,而二期需求推进的如此之慢,三期需求甚至要重构系统?

因为原子世界(现实世界)和数字世界是不同的。

  • 在原子世界里,我想要在我家大厅的墙上挂一副梵高的画(真品),那要耗费巨资才可能实现。
  • 而在数字世界里,只要有这幅梵高的画的原文件,我只需要copy-paste就能够实现,并且保证一模一样分毫不差。
  • 在原子世界中,建不同的房子,成本是不一样的:120层高楼 > 3层小别墅 > 一层小平房
  • 在数字世界中,如果120层高楼和3层小别墅都已经有人建出来了,而一层小平房还没有人建出来过,那么,建造成本:一层小平房 > 3层小别墅 = 120层高楼 = 0,只需要copy-paste就可以得到3层小别墅和120层高楼,建造成本几乎为0。

在数字世界中,如果客户提的需求恰好跟帝国大厦一模一样,那么只需要把帝国大厦copy-paste就能立即交付,所以客户会觉得开发速度很快。

但是,如果客户的需求发生了变化,要在120层上加装10层,此时程序员很难在帝国大厦的基础上修改,即便硬要改那也是非常困难的,这时候,程序员宁愿再去找一模一样的130层楼来做交付。所以客户会觉得二期需求的开发速度很慢,差强人意。

当客户再提出三期需求的时候,继续加装10层,开发团队会提出重构系统,把前面的130层楼推倒重建,因为如果继续在这个基础上开发,那这个楼可能就要塌了、系统可能要出大量的bug了。

在基础阶段的工作没有做扎实,会给后期带来巨大的成本。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在执行 EEMD 处理后,我们需要经过以下步骤来进行信号重构: 1. 对每个 IMFs 进行 Hilbert 变换,得到每个 IMFs 的瞬时频率和瞬时振幅。 2. 对于每个 IMFs,将其瞬时频率与瞬时振幅相乘,得到每个 IMFs 的瞬时相位。 3. 将每个 IMFs 的瞬时频率与重构时间轴相乘,得到每个 IMFs 的瞬时角度。 4. 对每个 IMFs 的瞬时角度进行累加,即可得到重构信号的瞬时角度。 5. 对于重构信号的瞬时角度,利用 Hilbert 变换得到重构信号的瞬时振幅。 6. 将重构信号的瞬时振幅与重构信号的瞬时相位相乘,得到重构信号的每个时刻的值。 7. 对每个时刻的值进行累加,即可得到重构信号的值。 下面是一个简单的 Python 代码示例: ```python import numpy as np from scipy.signal import hilbert # EEMD 处理后得到的 IMFs imfs = np.array([...]) # 重构时间轴 t = np.array([...]) # 对每个 IMF 进行 Hilbert 变换,得到瞬时频率和瞬时振幅 imf_hilbert = hilbert(imfs, axis=1) imf_amp = np.abs(imf_hilbert) imf_freq = np.angle(imf_hilbert) # 计算每个 IMF 的瞬时相位 imf_phase = imf_freq * t[:, np.newaxis] # 计算重构信号的瞬时角度 recon_phase = np.sum(imf_phase, axis=0) # 对重构信号的瞬时角度进行 Hilbert 变换,得到瞬时振幅 recon_hilbert = hilbert(np.cos(recon_phase) + 1j * np.sin(recon_phase)) recon_amp = np.abs(recon_hilbert) # 计算重构信号的每个时刻的值 recon_values = recon_amp * np.cos(recon_phase) # 对重构信号的每个时刻的值进行累加,得到重构信号的值 recon_signal = np.sum(recon_values, axis=0) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值