细节需求时期(下) 【推荐阅读:他们是为工作而学编程,而我们为编程而工作】
需求的实践(5)
与业务建模时期不同的是,我不再花费笔墨讨论需求要如何做,因为做法.注意点与业务建模时期并没有什么太大的区别.而在完整的流程上,像rup.xp之类的方法学可比我讲的要好的多.因此,我会把焦点集中在我在实际工作中的一些困惑,以及一些思考. 1."与其它阶段的关系"的再思考. 上一篇的末尾我们简单的讨论了细节需求阶段与其它阶段的关系.对于软件过程的各个阶段,不同之处只是注重的焦点不同而已.在业务建模阶段,我们关注于系统的整体需求;在细节需求阶段,我们更关注于需求的细节部分.其它的阶段也是一样,架构阶段,所关注的当然是如何设计出一个合适的架构;到了设计阶段,注意力就转移到了如何设计方面. 当然,焦点的不同,导致了各个阶段所需要的技能与工具也不尽相同.业务建模阶段需要你有整体的把握能力,你可以使用简单的用例图,基本的用户素材等工具.细节需求阶段则要求你能够充分的挖掘需求与进行良好的沟通.相应的,在架构.分析.设计等阶段,也会有不同的需要. 各个阶段的实质就是注重点的不同,这对于大多数的软件开发而言都是一样的.不论你采用的过程是传统的,还是迭代的. 2.架构 martin fowler在他的isa中写到: im using architecture to mean the important design decisions, the ones that shape most aspects of a software system. these are often the harder decisions to change later on in the project (although often not as hard as people think). as a result these are ones where its useful to start in the right direction, and thus knowing about architecture is a valuable skill for any software developer. 架构并不神秘,无非是一个决策而已,只是这项决策对软件特别重要就是了.软件开发人员可能根本没有主动的进行架构设计,但是他的行为,已经潜移默化的进行了;而还有一些人,总在谈论着架构,但是并不了解这个词的含义. 春运就要到了,学生也要赶着回家.如何选择回家的交通工具就是一个重要的决策.路程的远近.不同交通工具的价格都是显式的,比较容易知道的.而以往的经验也告诉你,火车票比较便宜,但是比较紧张,花费时间较长,整个过程也不舒服;飞机票比较贵,但是容易买到,花费时间少,整个过程很舒服.这时候你就要做出正确的决策,为回家选择一个正确的架构.你可能考虑的因素有哪一些?以下就列出了一些可能的因素: 拥挤程度,大家都知道春运时那种情况; 购买票的难易程度,火车票需要很早就要预定了; 是否有额外的渠道,比如你能够买到飞机的学生票; 经济实力,经过了一个学期的花销之后,现在还剩多少生活费; 根据这些因素,以及这些因素对你的影响程度,即优先级,你可以自己估算出一个或几个可能的架构方案.而这种架构的选择,直接影响到你之后的行为,也影响到行为的结果. 开发软件与买票回家又能有什么区别呢?一样要考虑成本.结果.时间.... 下一页