When Reuse Goes Bad

本文分析了一个因技术设计失误和管理不当导致项目失败的案例。开发商试图开发一个通用软件系统,但忽视了客户需求,最终导致项目延期及成本超支。文章还讨论了代码重用的误区及其对项目的负面影响。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<iframe align="top" marginwidth="0" marginheight="0" src="http://www.zealware.com/46860.html" frameborder="0" width="468" scrolling="no" height="60"></iframe>
几年前, 我作为一个顾问, 着手处理一个已经快要失败的项目了。顾客和开发商签订的合约是在一年之内开发完那个项目。 当我被叫过去的时候, 时间已经过去一年了。 显而易见, 这个项目失败了。

主要问题出在开发商的设计和技术方面(我们暂时先不管Weinberg准则。“No matter what they tell you, it's always a people problem”)。开发商认为可以借此机会开发一个可以通用的软件系统, 而且他们认为可以在顾客的预算之内开发完这个系统。

这些想法就导致了经典的“框架迷恋症”。开发商不再试着去解决顾客的问题,而是试着去解决所有他们认为是问题的问题。因此, 单独就那个原因而言,就可能比预期花费10倍甚至更多的时间和金钱

当然, 我们不可能总是避免人的问题。而且他们设计的体系架构本来就有很多重大的缺陷。其中一个缺陷是因为对需求的误解和假设, 并且将对象实体和Windows消息混杂在一起了。这些问题的出现是因为有一个技术主管, 他是这个系统的架构师。 他强迫人们认可他的设计, 并且吵了那些有异议的人员的鱿鱼。因此, 他对这个项目的误解就和他对这个项目理解的一样多, 也就是说, 他什么也不理解。

一般来说,“框架迷恋症”只是其中一种方式, 也可能是最高效的方式, 使企图重用的代码失效。

我认为当有些人决定我们应该重用某些代码的时候, 然而实际上火候还没有到。这种企图就可能导致重用代码的意图失去意义了。也就是说,我们的开发不是按照需求驱动了,而是由开发者的意图驱动了。我个人问题当我们第二次意识到需要重用某些代码的时候, 可能才是真正需要重用的时候。通常总是那些我无法预料到的情况, 至少是它没有发生在我认为应该发生的时候。

另外一个著名的代码重用失败的例子, 对整个工业界都是如此, 而且难以置信的昂贵就是EJB1和EJB2(EJB3好像就完全不同了)。EJB1/2是被设计用来处理一个想像中的开发过程, 但是看起来似乎从来没有在EJB1/2的生命周期内发生过。因此开发人员一直没有从使用这个框架中受益,反而一直出在和它的斗争之中。而且我也听到过很多企业将EJB踢出他们系统中的例子。普遍都说, 代价太大了。

我认为一些库也有可能陷入这种境地。当想着如何做才能使一个库被尽可能多的重用而不是如何去重用一个库的时候, 可能问题就来了。Python中的大多数库,在我看来, 在实际应用已经相当成功,而且很稳定。一个例外就是xmllib库,我认为太缺少Python的风格了。Python2.5中似乎已经解决这个问题了。



Trackback: http://tb.blog.youkuaiyun.com/TrackBack.aspx?PostId=1472960


内容概要:本文详细探讨了基于MATLAB/SIMULINK的多载波无线通信系统仿真及性能分析,重点研究了以OFDM为代表的多载波技术。文章首先介绍了OFDM的基本原理和系统组成,随后通过仿真平台分析了不同调制方式的抗干扰性能、信道估计算法对系统性能的影响以及同步技术的实现与分析。文中提供了详细的MATLAB代码实现,涵盖OFDM系统的基本仿真、信道估计算法比较、同步算法实现和不同调制方式的性能比较。此外,还讨论了信道特征、OFDM关键技术、信道估计、同步技术和系统级仿真架构,并提出了未来的改进方向,如深度学习增强、混合波形设计和硬件加速方案。; 适合人群:具备无线通信基础知识,尤其是对OFDM技术有一定了解的研究人员和技术人员;从事无线通信系统设计与开发的工程师;高校通信工程专业的高年级本科生和研究生。; 使用场景及目标:①理解OFDM系统的工作原理及其在多径信道环境下的性能表现;②掌握MATLAB/SIMULINK在无线通信系统仿真中的应用;③评估不同调制方式、信道估计算法和同步算法的优劣;④为实际OFDM系统的设计和优化提供理论依据和技术支持。; 其他说明:本文不仅提供了详细的理论分析,还附带了大量的MATLAB代码示例,便于读者动手实践。建议读者在学习过程中结合代码进行调试和实验,以加深对OFDM技术的理解。此外,文中还涉及了一些最新的研究方向和技术趋势,如AI增强和毫米波通信,为读者提供了更广阔的视野。
管理员功能需求 用户管理 查看用户列表:显示所有用户基本信息 添加用户:支持输入新用户信息并保存至数据库 修改用户信息:支持选择用户并更新其信息 删除用户:支持从数据库中删除选定用户 实习报告成绩管理 查看实习报告列表:显示所有学生实习报告 批阅实习报告:支持选择报告并给出批阅意见和评分 查看实习成绩列表:显示所有学生实习成绩 录入实习成绩:支持选择学生并输入成绩 修改实习成绩:支持更新学生实习成绩 通知公告管理 发布通知公告:支持输入通知内容并发布至系统 管理通知公告:支持查看、编辑和删除已发布通知 教师功能需求 学生管理 查看所指导学生列表:显示教师负责的所有学生 查看学生实习情况:支持查看学生实习岗位、日志、报告等 实习报告批阅成绩录入 查看待批阅报告列表:显示教师待批阅的实习报告 批阅报告:支持选择报告并给出批阅意见和评分 通知公告查看 查看系统通知公告:显示系统发布的所有通知和公告 实习岗位管理 发布实习岗位:支持输入岗位信息并发布至系统 编辑实习岗位:支持更新已发布岗位信息 删除实习岗位:支持从系统中删除选定岗位 学生功能需求 个人信息管理 查看个人信息:显示学生基本信息 修改个人信息:支持更新学生信息 实习岗位查询与申请 查询实习岗位:显示所有可用实习岗位 申请实习岗位:支持选择岗位并提交申请 实习日志提交 提交实习日志:支持输入日志内容并提交至系统 查看实习日志:显示学生提交的实习日志 实习报告提交 提交实习报告:支持输入报告内容并提交至系统 查看实习报告:显示学生报告及批阅意见 通知公告查看 查看系统通知公告:显示系统发布的所有通知和公告
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值