05 2009 档案
摘要:就像莎士比亚的“To be, or not to be, that is the question”始终困扰着哈姆雷特,对于“进程还是线程?”这个问题,也经常困扰着那些进行软件架构设计的家伙。所以今天打算聊一下我对这个问题的体会。假如你还搞不清楚线程和进程的区别,请先找本操作系统原理的书好好拜读一下,再回来看帖。
由于这个问题很容易引发口水战,事先声明如下:多进程和多线程,无法一概而论地说谁比谁好。因此本帖主要描述特定场景(与我所负责的产品相关)下,进程和线程的权衡经验,仅供大伙儿参考。
阅读全文
摘要:需求实践所面临的问题
需求完整性需要诸多用户的参与和确认,而且用户间需求本身也存在冲突的可能,因此需求更加强调角色和场景和划分,一个所有用户需要都能够满足的需求往往不是一个好需求。
需求过程缺乏用户的参与,我们往往是技术驱动,习惯性的跳到模块的划分导致需求本身验证困难,也导致了需求间耦合很紧,很难在后期组织有效的迭代开发。因此要考虑按流程和业务梳理需求。
需求无法实现也可能不是架构问题,而是需求本身不切实际。
用户想要和真正需要是有区别的,没有真正的识别需求优先级可能导致需求过量开发和需求镀金。
需求优先级识别往往并不能完全依靠用户,用户往往只会把自己关注功能讲优先级识别的很高,因此需求优先级识别应该是通过业务规则,流程和模式来确定。优先级识别方法(离主营业务的远近,发生的频率两个方面来度量)
沟通失真,要认识到文档仅仅是中介而不是全部,要通过即时的验证来减少沟通失真。
需求捕获和调研常见问题-用户告诉你的是他转化后的解决方案,而不是最原始的需求。
变更频繁,但是要响应变化,比如通过对变更分类来识别哪些变更是可以通过复用和可配置解决的。
非功能性需
阅读全文