软件开发过程中应当遵守的原则

第1原则:存在价值
一个软件系统因能给用户提供价值而具有存在价值,所有的决定都应该基于这个思想。在确定系统需求之前,在关注系统功能之前,在决定硬件平台或者开发过程之前,问问你自己:这确实能为系统增加真正的价值吗?如果答案是不,那就坚决不做。所有的其他原则都以这条原则为基础。
注:软件的功能范围不应按照完美主义的思维进行,为了让软件看起来或听起来更具神秘而增加很多功能,而这些功能对使用者来讲却可能是没有价值的鸡肋。
第2原则:保持简洁
软件设计并不是一种随意的过程,在软件设计中需要考虑很多因素。所有的设计都应该尽可能简洁,但不是过于简化。这有助于构建更易于理解和易于维护的系统。这并不是说那些特征甚至是内部特征应该以“简练”为借口而取消。的确,优雅的设计通常也是简洁的设计,简练也不意味着“快速和粗糙”。事实上,它经常是经过大量思考和多次工作迭代才达到的,这样做的回报是所得到的软件更易于维护且存在更少错误。
第3原则:保持愿景
清晰的愿景是软件项目成功的基础。没有愿景,项目将会由于它有“两种或者更多种思想”而永远不能结束;如果缺乏概念的一致性,系统就好像是由许多不协调的设计补丁、错误的集成方式强行拼凑在一起......如果不能保持软件系统体系架构的愿景,将削弱甚至彻底破坏设计良好的系统。授权体系架构师,使其能够保持愿景,并保证系统实现始终与愿景保持一致,这对项目开发成功至关重要。
第4原则:关注使用者
有产业实力的软件系统不是在真空中开发和使用的。通常软件系统必定是由开发者以外的人员使用、维护和编制文档等,这就必须要让别人理解你的系统。因此,在需求说明、设计和实现时,经常要想到要让别人理解你所做的事情。对于任何一个软件产品,其工作产品都可能有很多读者。需求说明时应时刻想到用户;设计中始终想到实现;编码时想着那些要维护和扩展系统的人。一些人可能会被迫调试你所编写的代码,这使得他们成了你所编写代码的使用者,尽可能地使他们的工作简单化会大大提升系统的价值。
第5原则:面向未来
生命期持久的系统具有更高的价值。在现今的计算环境中,需求规格说明随时会改变,硬件平台几个月后就会淘汰,软件生命周期都是以月而不是以年来衡量。然而,真正具有“产业实力”的软件系统必须持久耐用。为了能成功地做到这一点,系统必须能适应这样那样的变化,能成功做到这一点的系统都是那些一开始就以这种路线设计的系统。永远不要把自己的设计局限于一隅,经常问问:“如果出现......应该怎样应对”,构建可以解决通用问题的系统,为各种可能的方案做好准备,这很可能会提高整个系统的可复用性。
第6原则:计划复用
复用既省时又省力。软件系统开发过程中,高水平的复用是很难实现的一个目标。代码和设计复用曾宣称是面向对象技术带来的主要好处,然而,这种投入回报不会自动实现。为达到面向对象(或是传统)程序设计技术所能够提供的复用性,需要有前瞻性的设计和计划。系统开发过程中各种层面,都有多种技术实现复用。提前做好复用计划,将降低开发费用,并增加可复用构件以及构件化系统的价值。
第7原则:认真思考
这最后一条规则可能是最容易被忽略的。在行动之前清晰定位、完整思考通常能产生更好的结果。仔细思考,可以提高做好事情的可能性,而且也能获得更多的知识,明确如何把事情做好。如果仔细思考过后,还是把事情做错了,那么,这就变成了很有价值的经验。思考的一个副作用是学习和了解本来一无所知的事情,成为研究答案的起点。当明确的思想应用在系统中,就产生了价值。使用前六条原则需要认真思考,这将带来巨大的潜在回报。


知识共享许可协议
《软件开发过程中应当遵守的原则》常伟华 创作。
采用 知识共享 署名-相同方式共享 3.0 中国大陆 许可协议进行许可。
相邻依据:发表时间
  • 多说评论
  • 签名
  • 新浪微博
  • 默认评论
  • Tab Header 5

1 条评论 / 点击此处发表评论

Tab Content 5

开发技术


开发平台和工具

sitemap     166.96ms