当我们讨论软降工程的时候在讨论什么

本文探讨了软件项目管理中常见的问题,如开发成本增加、周期延长及需求变更频繁等,并对比了软件项目与传统项目的差异。重点讨论了需求管理的重要性,包括需求分析、确认流程以及如何应对需求变化。



软件工程也是软件项目,如果只是当做一个项目,那么项目有项目的管理方式和特点,这个有PMP等课程,也是帮助项目负责人(项目经理)如何更好的把我项目,来控制项目的质量,进度,费用等。

从项目的特点而言,既然认定为项目,那么在很大程度上是需要一个team,一些人一起共同完成,其中的原因是一个人无法掌握这么多的知识,必须通过协作来达到项目的目标,当时这个项目的目标也是参与的各个人的共同目标。同一个组织,同一个梦想。

软件开发的过程一直在进化,从原来的额瀑布的方式,到敏捷等等。当我们最开始学习软件项目开发过程管理的时候,我记得比较重要的是说需求的确认要比代码的编写重要很多,而且在项目管理的过程中时间占比也重很多。

那么这里的需求和一般的项目需求的差别是什么?
土建项目和我们软件项目的管理的实施的差别在哪里?

软件项目开发常见的问题。
1.开发维护成本越来越高
2.开发周期过长
3.系统开发跟不上需求的变化
4.需求变更很频繁


在这里我主要想沟通一下关于我们系统开发跟不上需求变化的问题。

传统的软件项目需求管理人员在互联网时代是产品经理的角度。当然产品经理的角度更多是在2C的产品设计中,要重视用户的使用体验,如用户使用不爽,那么软件产品没有人使用,公司就没有任何价值。但这种使用除了功能的需求,还有其他角度的需求,体验爽不爽是一个非常综合性的问题。

传统企业的软件开发,是内部的,内部流程的确认,结合功能的开发。体验不是非常重要,管理流程是否确定是重中之重。

按照开发流程
确定需求->概要设计->详细设计->开发->测试->用户确认->上线

上述是一个比较典型的流程。

在这个确认需求的环节,好的需求管理人员需要进一步分析和了解用户的需求是什么,为什么这个需求,到底可能存在哪些变化,好的需求管理人员能很好的把握业务部门的需求,对于新的需求尽可能不做开发,或者不改变系统框架的条件下达成目标,也让我们的软件产品稳定,,降低我们的软件开发成本等。

那么软件是什么?如果从工具的角度而言,这个工具和别的工具什么差别?

我们用锄头来锄地,我们用电吹风来吹头发,这些都是工具。工具是用来解决问题,都存在这个东西的内在实现和用户使用两个视角。

工具的存在是为了解决特定的问题,这个问题需要有一定的边界,这个边界决定了这个工具设计的边界。我们需求人员在对于无结构化的业务部门提出的需求,需要进行分析和建模。这个是形式上比较理性的过程。业务流程,表单等等。

软件其实解决的信息流,这个东西比较抽象,也是无形的,你有一个吹风机,但一般的人可能不会想能否来一个自动吹头发的东西,我不用自己去摆弄这个吹风机工具,我头发就立刻干了,或者我的吹风机能够自动的来给我吹头发,各种角度。因为在用户的心中对于吹风机的功能有一个大概的范围,这个范围决定了这个产品能做什么,不能做什么。

由于信息的概念很广,好像什么都可以做,那么用户的需求可能比较天马行空。

软件项目在需求分析阶段,就是对于用户的需求进行假设和建模,领域模型理论,是认为每个特定的领域都有自己的业务模型,通过和业务专家沟通,完成不同领域的特定模型,帮助需求人员和业务部门加快确定业务需求,保证软件质量。

上述的描述问题的另外一个思路是,从系统的角度是多层次的,那么我们是否可以多层级,多角度的解决问题问题。我们的世界比较基础的是原子,但我们不需要原子的概念来看这个世界,用户的视图也是多角度的,我们需要在不同的层次来看是系统,也需要掌握系统不同层次的规律,从而让系统柔性调整达到我们的目的。

刚才说道吹风机的事情,说明我们对于用户的使用期望的控制,如何控制用户的期望,那么可以降低我们产品乱七八糟的需求。


如果从公司的层面来看,最高的企业愿景是一个非常抽象的东西,这个东西的实现可能在不同的时代是不同的东西。比如快递公司,我们的目标更快的交付物品。但是马车时代,汽车时代,飞机时代,这些具体物流工具是不一样的,不同的交通工具,需要内部对应的部门的组织架构,业务流程,人员岗位也有不同变化。企业目标的实现=组织流程架构+技术+人。
在很大程度上这个也是从管理的角度对于企业实际业务操作的抽象,这个抽象是为了让我们能够更高的层次来看企业,把控企业的风险和利益。

软件项目在很大程度上是让机器支持这个流程。

业务部门和需求管理需要因为企业愿景的抽象性到具体实现的差异性中间的相关因素,导致这种变化成本是很高的。

软件项目的最终产品的一个特性是刚性。你不能所以的修改功能,和在系统内完成事项的刚性。如果在显示生活中要求10点上交资料,也许你11点也能提交。但是软件系统是不允许的,这种刚性也是他的一个特点,这个是内在的特型,或者说是他比较基层的特型。

自然世界的运作规律是客观存在,人不可修改。物理规律,化学规律,你不能更改,但在更高的层面上你可以通过其他的方式方法达到目的。

过去的软件产品在很大程度上是提出需求,建模开发,这个开发是代码开发,周期成本都比较长。
目前的一些SAAS的产品,是可配置的,字段,表单,流程都可以配置,这个是一个高层次的抽象和使用,可以快速交付给用户使用。当然这个也有别的问题。

但通过上述的一个组合方式,且你可以理解这个是多层第的方式满足业务部门管理的需求,可能取长补短的额方式来完成企业,部门的战略达成。

代码的重构,是为了适应企业业务新的模型,和原来代码架构的补足为了满足业务的更大的容量。
企业和部门组织架构的重构(这里我希望用重构这个词)是为了让企业的内部流程满足外部的需求。

丰富的行业背景知道哪些是真需求,哪些可以变通,哪些需要真的调整系统的实现满足。
系统的结构3-5年的调整可能是一个好的方式,不要指望系统这个模型一直用下去,这个并非是一个好事情。

动态的调整,合理的成本,且思考这种动态变化反应的外部世界变化的方向,应该是公司,业务部门,需求管理人员深入思考的。




"Mstar Bin Tool"是一款专门针对Mstar系列芯片开发的固件处理件,主要用于智能电视及相关电子设备的系统维护与深度定制。该工具包特别标注了"LETV USB SCRIPT"模块,表明其对乐视品牌设备具有兼容性,能够通过USB通信协议执行固件读写操作。作为一款专业的固件编辑器,它允许技术人员对Mstar芯片的底层二进制文件进行解析、修改与重构,从而实现系统功能的调整、性能优化或故障修复。 工具包中的核心组件包括固件编译环境、设备通信脚本、操作界面及技术文档等。其中"letv_usb_script"是一套针对乐视设备的自动化操作程序,可指导用户完成固件烧录全过程。而"mstar_bin"模块则专门处理芯片的二进制数据文件,支持固件版本的升级、级或个性化定制。工具采用7-Zip压缩格式封装,用户需先使用解压件提取文件内容。 操作前需确认目标设备采用Mstar芯片架构并具备完好的USB接口。建议预先备份设备原始固件作为恢复保障。通过编辑器修改固件参数时,可调整系统配置、增删功能模块或修复已知缺陷。执行刷机操作时需严格遵循脚本指示的步骤顺序,保持设备供电稳定,避免中断导致硬件损坏。该工具适用于具备嵌入式系统知识的开发人员或高级用户,在进行设备定制化开发、系统调试或维护修复时使用。 资源来源于网络分享,仅用于学习交流使用,请勿用于商业,如有侵权请联系我删除!
<think>我们讨论的是工频UPS整机测试期间,何时可以使用Keil进行仿真调试。根据之前的讨论,在逆变开机期间进行仿真调试存在风险,因此需要明确安全的时间点。 关键点: 1. UPS开机过程包括多个阶段:初始化、自检、启动、稳态运行等。 2. 仿真调试(如使用Keil)可能会干扰实时控制,因为仿真时CPU可能被调试器暂停,导致实时控制中断。 3. 在UPS的关键操作阶段(如开机瞬态、切换过程)进行仿真调试可能导致系统故障或硬件损坏。 因此,安全使用Keil进行仿真调试的时间点应满足以下条件: - UPS已经完成开机过程,进入稳定运行状态。 - 所有保护功能已经验证正常,且系统处于空载或轻载的稳定状态。 - 确保调试操作不会触发任何关键操作(如切换、负载突变等)。 具体建议: ### 一、禁止仿真调试的阶段 1. **逆变开机瞬态过程(0~5秒)** - 此阶段包含: - 直流母线预充电(时间常数$ \tau = R_{precharge}C_{bus} $) - PWM启动(电压斜坡上升:$ V_{out}(t) = V_{max} \cdot (1 - e^{-t/\tau}) $) - 锁相环同步过程(需完成电网相位跟踪:$ \Delta \theta < 2^\circ $) - 风险:仿真器暂停导致PWM输出冻结,可能引发母线过压或逆变桥直通[^1]。 2. **负载切换/突变期间** - 包括: - 空载到满载切换($ \Delta I > 50\% I_{rated} $) - 非线性负载接入(如整流器负载) - 风险:控制环路响应延迟导致输出电压崩溃($ V_{out} < 80\% V_n $)[^2]。 ### 二、允许仿真调试的条件 满足以下**所有**条件时可进行调试: 1. **时间条件**:开机完成至少30秒后(确保启动结束且系统稳定) 2. **状态条件**: - 输出电压稳定在$ 220V \pm 1\% $ - 输出频率稳定在$ 50Hz \pm 0.1Hz $ - THD(总谐波畸变率)$ < 3\% $(持续5秒以上) 3. **负载条件**: - 空载或阻性负载($ P_{load} < 10\% P_{rated} $) - 无容性/感性负载突变风险 ### 三、安全操作流程 ```mermaid graph TD A[开机完成30秒后] --> B{检查系统状态} B -->|电压/频率稳定| C[连接Keil仿真器] B -->|状态异常| D[终止调试并排查] C --> E[仅进行非侵入式调试] E --> F[避免断点暂停超过10ms] ``` > **注**:非侵入式调试指: > - 只读取变量(如ADC采样值$ V_{dc} $、$ I_{out} $) > - 不修改代码 > - 不设置断点(或仅设置硬件断点且执行时间<100μs) ### 四、调试保护措施 1. **硬件看门狗启用**: - 配置独立看门狗(IWDG),超时时间$ T_{wdg} \leq 50ms $ - 确保仿真器暂停时触发复位 2. **母线电压保护**: - 在调试代码中预埋电压监测点: ```c if (V_dc > 450.0f) { // 超过450V立即保护 PWM_Disable(); // 关闭PWM输出 Fault_Handler(); } ``` 3. **使用实时变量跟踪**(避免暂停CPU): - 利用Keil的`Event Recorder`实时记录变量 - 通过SWO接口传输数据(带宽$ \geq 1Mbps $) ### 五、风险警示 某案例中,工程师在80%负载下进行单步调试,导致: - PWM输出暂停20ms → 输出电压跌落至150V - 后端服务器群集体宕机,损失$ 120k §§相关问题§§ 1. 如何监测工频UPS的启动过程是否完成? 2. 非侵入式调试具体支持哪些操作? 3. 工频UPS稳态运行时哪些关键参数需要持续监控? 4. Keil调试时如何配置看门狗防止系统失控? 5. 为什么容性/感性负载突变期间禁止调试?</think>根据工频UPS整机测试的安全要求,结合逆变开机过程的关键阶段,以下是安全使用Keil进行仿真调试的判定条件和时间节点: ### 一、允许仿真调试的判定条件 1. **系统状态稳定条件** - 输出电压稳定在$220V_{ac} \pm 1\%$持续10秒以上 - 输出频率波动$< \pm 0.2Hz$(满足$f_{out} = 50Hz \pm \Delta f$) - 直流母线电压纹波$< 5\%$(如$V_{dc} = 360V \pm 18V$)[^1] 2. **控制环路收敛条件** $$ \frac{1}{T}\int_{t_0}^{t_0+T} |e(t)|dt < 2\% V_{rated} $$ 其中$e(t)$为输出电压误差,$T$≥5个工频周期(100ms) 3. **保护机制就绪条件** | 保护功能 | 就绪标志 | |----------------|------------------------| | 过流保护 | 故障计数器清零 | | 温度保护 | IGBT散热器$T<65^\circ C$ | | 短路保护 | 自检完成信号触发 | ### 二、安全调试时间节点 ```mermaid graph LR A[开机时序] --> B[0-3s 预充电阶段] -->|禁止调试| C[3-8s 启动阶段] C --> D{8s后检测} -->|满足三条件| E[允许Keil调试] D -->|任一条件不满足| F[继续等待2-5s] ``` 具体阶段说明: 1. **禁止调试阶段(0-8秒)** - 预充电过程:直流母线电容充电(时间常数$\tau = R_{chg}C_{bus}$) - 启动过程:PWM占空比从0%斜坡增至100%(斜率$k = \frac{dD}{dt} \leq 5\%/ms$) - 风险:调试中断导致IGBT驱动信号冻结,引发直通短路 2. **允许调试窗口(≥8秒)** - 典型安全时间点:**开机后10-15秒** - 必须验证以下指标后连接仿真器: - 锁相环同步标志位锁定($|\Delta\theta| < 1^\circ$) - 重复控制器积分器饱和解除($\left| \int e \cdot dt \right| < 10\%$限幅值) - ADC采样值连续20次在标称值±3%范围内 ### 三、调试安全操作规范 1. **连接前准备** ```c // 在DSP代码中插入调试许可标志 #define DEBUG_ENABLE (V_out_stable && PLL_locked && Overtemp_flag==0) void main() { while(!DEBUG_ENABLE); // 等待满足条件 Enable_Keil_Connection(); // 开放调试接口 } ``` 2. **运行时限制** - 禁止设置断点超过10ms(避免PWM丢失脉冲) - 变量观察采用**实时数据流**(ETM/SWO接口) - 修改参数后必须执行`系统复位`而非热加载 3. **紧急保护配置** ```mermaid graph TB 调试暂停 --> 看门狗溢出 --> 硬件保护电路 --> PWM封锁 调试暂停 --> 母线电压监测 -->|V_dc>450V| 主动放电电路触发 ``` ### 四、风险案例对比 | 调试时机 | 结果 | 根本原因 | |------------------|--------------------------|---------------------------| | 开机5秒调试 | IGBT模块烧毁 | 占空比冻结导致母线过压[^2] | | 开机12秒调试 | 成功完成参数优化 | 满足三条件 | | 负载突变时调试 | 输出电压崩溃 | 中断延迟使控制环路失稳 | > **实测数据**:某10kVA UPS在开机10秒后调试,当设置断点15ms时,输出电压暂8%(176V),但系统未脱扣;若在开机6秒时同操作,导致母线电压飙升至780V触发保护。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值