acm-header
登录

ACM通信

论坛

论坛


在他们的专栏“软件稳定性导论”(“客观地思考”,2001年9月)中,Fayad和Altman简要地指出,更复杂的(和细粒度的)模型更准确地描述了问题,而且模型(以及相应的软件)变得更持久/稳定。建模问题和建模解决方案之间也有区别;在第一个例子中,建模的是解决方案,而不是问题,他们声称这是错误的解决方案。

作者们提出了一个有趣的观点(过去许多其他人也提出了这个观点),即您希望“确定软件将在其中运行的环境中不会改变和迎合那些区域的方面”。这是很基本的东西,但经常被忽略。

他们从讨论再造工作开始,在再造工作中执行对系统的完全重写以支持更改。在我看来,他们提到的环境倾向于串行开发,而不是迭代和增量开发,尽管我需要从中读出字里行间的意思(这总是一件危险的事情)。这只是一个猜测,但如果它是真的,这是一个迹象,他们处于一个不灵活的情况。

我认为他们并没有充分说明分析模型中更详细的内容会带来更大的稳定性。理解问题空间总是一件好事。不要误解我的意思,但详细的分析模型并不一定能让我得到良好、稳定的设计。更好的方法是对其建模,以获得对问题域的理解,基于这种理解开发设计(可能作为模型,或作为测试,或作为源代码),然后基于该设计构建软件。我希望编写干净、易懂、符合约定的高质量代码。现在,当问题空间发生变化时(这总是会发生的),我有了一个干净的基础来工作。如果我的设计是好的,更改应该很容易完成;如果我的设计很好,那么我需要重新工作(重构)它来支持新的需求。

这是更敏捷还是更不敏捷?如果我们将易于更改与敏捷性等同起来,那么它可能不够敏捷。然而,如果我们想要的敏捷性是快速解决问题,那么可能有稳定的解决方案可以从中改进我们的敏捷性,因为,可能有更少的更改来满足新的需求,而且事实证明,我们从一开始就对领域的语义很健壮。

在我看来,这是一个投资价值的问题,就像法亚德和奥特曼暗示的那样。在详细分析方面的更多投资是否会导致未来需要更少的投资来改变的更好的设计?很难说,因为我不知道未来会发生什么变化。我知道编写能够满足当前需求的干净的代码是一件好事;我想这应该是我的基本目标。采用这种建模方法能帮助我以最好的方式实现目标吗?我不知道,虽然我毫不怀疑它对一些人有效,但不是所有人。

Scott w . Ambler
加拿大安大略省

回到顶部

公开机构不公正

在她的专栏“Suit Yourself”(《保持联系》,2001年9月)中,Meg McGinity提出了一些严肃的问题。我最感兴趣的是FDA和FCC的评论。“他们的员工太少,无法对一个强大的(手机)行业产生任何实际影响”的借口是荒谬的。它们有什么用?事实上,这是所有所谓的政府监督机构使用的同一个借口。偶尔,他们中的一个会因为一个单独的违规者而引起大量的宣传,只是为了保持他们在做自己的工作的印象。对于严重的违规行为,他们总是声称自己因为这样或那样的原因“束手无策”。但他们几乎没有或根本没有让他们松绑。

大多数(如果不是全部的话)联邦监管机构资金不足是正确的。这种情况已经持续了好几年;华盛顿的每个人都知道这一点,而没有一个政客关心有意义的改变。总的来说,美国政府允许企业和其他利益集团决定政策的历史由来已久。

根据报纸的头版报道《今日美国》(2000年9月6日),在20世纪40年代末和50年代,政府秘密地允许全国各地核武器基地的数千名工人暴露在已知有害的辐射水平下,超过了法律允许的水平。然而,基本上没有采取任何措施来阻止或防止这种情况。一个常见的借口是这些植物是私人的。

在越南战争期间,成千上万的士兵和平民都接触到了橙剂;后来,当他们试图让政府承担后果的责任时,得到的回应是拖延和否认。1991年海湾战争后,同样的事情再次发生。

最终,一些政客会揭露这些不公正,以提升他们的公众形象,并声称这种做法已经停止。但这种做法不会停止,所有所谓的调查和谩骂只能作为掩护,让这些事情继续下去。

约翰Jaros
Quakertown,爸爸

回到顶部

确定软件项目目标

我非常喜欢“软件商业”专栏(“齐柏林飞艇和喷气式飞机:现代软件项目的隐喻”,2001年10月)。用“智能”导弹拦截超音速飞机的比喻尤其贴切。我一直在告诉人们,虽然我们可以实现目标,但我们真的无法预测如何实现目标。我由衷地同意,放弃控制权,至少在传统意义上,既是必要的,也是极其困难的。我们必须管理项目目标和业务目标,而不是试图预测和管理范围、进度和成本预测。

真正具有讽刺意味的是,通过放弃传统意义上的控制权,公司实际上获得了实现其最终目标的控制权。但是,放弃控制权来获得控制权对于那些在pmi式项目管理中成长起来的经理来说,是一个太大的挑战。

Jim Highsmith
阿灵顿马

我使用了三种技术来减少项目周期时间:进行充分的需求分析和设计以减少返工;减少项目范围,向更少的用户交付更少的功能;并将项目分成独立的模块,这样开发人员就可以在不受干扰的情况下并行工作。第四种方法是将资源浪费在大量的代码编写上,这适用于一家拥有广泛收入流的大型软件公司。

和许多最近的观点一样,Armour的专栏在没有证据的情况下断言我们“无法评估项目”和“无法锁定需求”。如果我们从一开始就说这些事情是不可能的,我们就为自己开脱了大量的脑力劳动。我们只是简单地将我们时髦的、现代的项目推向天空,然后在编码的火焰中爆炸。我们甚至可能在精神上感觉比经验丰富的从业者建议的陈旧的线性做事方式优越。一个悬而未决的问题是:这样的项目是否更频繁地达到目标?

确定用户需求是困难的。这需要技巧、洞察力和分析能力。它也暴露了我们自己的早期设计思想在严格的测试中,经常发现它们令人不安的错误。它需要与用户进行沟通,我们发现这比编码更不舒服。如果我们断言我们不能从这种努力中获益,我们的生活将会变得多么容易啊。

安排时间也很困难。它包括预测未来,然后把我们的声誉押在预测上。然后,我们必须向管理层妥协,他们的偏见总是认为项目需要比预计的时间更短。不做任何承诺的压力是多么小啊。

而不是断言不可能,我们可能获得并使用改进的工具和方法来进行需求分析和调度。然后,我们可以在发射时将项目直接指向一个清晰可见的目标。这种方法是保守和费力的,不是时髦和后现代的。但我的个人经验是,当诚实地尝试时,它是可以预见的成功。

库尔特Guntheroth
西雅图,华盛顿州

回到顶部

对版权的立场

ACM已经提交了一份声明费尔顿诉RIAA是值得注意的(“ACM宣言在费尔顿诉RIAA(2001年10月),表明了此事的重要性,因为ACM几乎从不就有争议的问题采取公开立场。我敦促所有成员阅读芭芭拉·西蒙斯(Barbara Simons)的《观点》(Viewpoint),然后与每个人就这个问题大做文章。虽然现在这是一个联邦法院的案件,但这种情况实际上是政治的,所以它将有利于我们所有人与任何我们可以接触到的政治人物交流,国会议员、说客、政党领导人、政治捐助者和选民。

埃里克·a·韦斯
凯卢阿,嗨

我对费尔滕等人的遭遇感到震惊。虽然我意识到费尔滕受到了关注,但直到阅读西蒙斯的《观点》(Viewpoint),我才意识到这个问题的重要性。我赞扬美国航空公司的宣言通信公布详情及背景。

“9·11”恐怖袭击事件让我们许多人开始仔细审视自己的生活方式中,我们最看重的是什么。看到美国企业用这种高压手段(成功地)压制知识的表达,我深感不安。作为一名科学家,我担心这种对迫害的恐惧会对我们社区的出版数量和种类产生寒颤效应。

我想知道我们是如何发展到企业可以压制言论自由的地步的。

史蒂文Pothier
亚利桑那州图森市

回到顶部

作者

请将论坛上的所有信件寄给编辑,通信纽约百老汇1515号,NY 10036;电子邮件:crawfordd@acm.org。


©2001 acm 0002-0782/01/1200 $5.00

允许制作本作品的全部或部分的数字或硬拷贝用于个人或课堂使用,但前提是该拷贝不是为了盈利或商业利益而制作或分发,并且该拷贝在第一页上带有本通知和完整引用。以其他方式复制、重新发布、在服务器上发布或重新分发到列表,需要事先获得特定的许可和/或付费。

数字图书馆是由计算机协会出版的。版权所有©2001 ACM有限公司

Baidu
map