上次我们说到软件的概念完整性,接下来谈一谈调研与设计特性。
链接:(http://www.ideadata.com.cn/wisdomAction/readWisdom.do?id=83)软件设计开发经验分享(一)
无论是全新研发或者既有部分改进,我们在软件设计时都需要考察不同的方案,在它们之间的一些主要特性做调查和对比,从中选出最符合需求的。主要关注的特性我分为如下几大点:功能性、易用性、结构性、质量和效率以及成本等。
功能性是最基础的特性,指的是满足用户功能需求的程度,它是我们最先考量的特性,在用户的需求中,功能性描述一般是占了绝大部分篇幅,是比较容易分析和度量的。需要注意的是严防功能需求蠕变和保持概念完整性。
需求蠕变这个概念做过项目的人都很熟悉,它源自于客户源源不断的提出新的需求,从而使得设计和实现无法跟上需求的变化,最终导致项目或者产品失败。为了防止这一问题,我们可以使用一些项目管理工具和开发模型来控制这些变化。典型的例如需求追踪表,它要求每个需求都被记录、评审和追踪。需求尤其是新增需求需要经过严格流程才能加入到设计中,这样就会防止其无序增长。另外还有迭代增量模型,把用户需求都控制到一个阶段之内,新的需求放到后续迭代/增量中完成。
链接:(http://www.ideadata.com.cn/wisdomAction/readWisdom.do?id=83)软件设计开发经验分享(一)
无论是全新研发或者既有部分改进,我们在软件设计时都需要考察不同的方案,在它们之间的一些主要特性做调查和对比,从中选出最符合需求的。主要关注的特性我分为如下几大点:功能性、易用性、结构性、质量和效率以及成本等。
功能性是最基础的特性,指的是满足用户功能需求的程度,它是我们最先考量的特性,在用户的需求中,功能性描述一般是占了绝大部分篇幅,是比较容易分析和度量的。需要注意的是严防功能需求蠕变和保持概念完整性。
需求蠕变这个概念做过项目的人都很熟悉,它源自于客户源源不断的提出新的需求,从而使得设计和实现无法跟上需求的变化,最终导致项目或者产品失败。为了防止这一问题,我们可以使用一些项目管理工具和开发模型来控制这些变化。典型的例如需求追踪表,它要求每个需求都被记录、评审和追踪。需求尤其是新增需求需要经过严格流程才能加入到设计中,这样就会防止其无序增长。另外还有迭代增量模型,把用户需求都控制到一个阶段之内,新的需求放到后续迭代/增量中完成。