从需求到产品的过程

最近梳理一个项目的文档,在整理的过程中,有意识地从软件工程的角度审视项目过程。

下面根据自己的理解把这整个过程中的输入,工具和输出写出来,欢迎同行批评指正,共同进步!

 

从需求到产品,是一个凝聚了多职位的投入,中间多种产出的过程。多职位多产出,按照我的理解,需求的收集整理需要系统分析师的参与,以便形成产品需求规格说明书;(可以用用例图)。--注:提到需求设计,不得不提现在很火的一个职位,产品经理。产品经理其需求来源比较难以琢磨,其对行业的理解把握,个人的敏感性等等,都可能左右着需求最终被塑造成什么样。

需求整理出来后,需要系统架构师认真分析,特别根据产品的非功能需求,从多种可能的设计方案中及时作出决断定夺出一种,最终形成软件整体设计规格说明书(可以用系统架构图,顶层数据流图)。为着降低项目的风险,在方案筛选验证的过程中,一般还需要软件设计师的参与,把功能需求非类整理,作出范式原型进行验证,同时整理出软件程序设计规格说明书。这些准备完毕之后,就可以进行软件概要设计了(也有叫high level design)。

概要设计的参与者应该是经验丰富的人员,其主要根据前面阶段系统分析师和系统架构师的产出,对模块,系统并发进程以及数据进行分解;分解完毕之后,整理出这些模块和系统并发进程之间的依赖关系(可以用时序图),以及数据之间的依赖关系(可以用ER图);当依赖关系整理出来之后,就可以进行接口设计了,接口主要包括本系统和外部的系统的接口,模块子模块之间的接口,模块和进程的接口。一般概要设计还包括DB的设计,需要列出所有的数据存储类的实体,详细描述实体的内容和并列出全部属性。对每个属性,详细描述其数据库、数据大小、特定约束。实体的所有约束及实体间的关系也要注明。除了上面这些,可选的一般还包括容灾设计,安全设计,监控设计,用户界面设计,一般还制定出一些必要的规范,比如设计原则,代码规范、接口规约、命名规则。

概要设计之后就是详细设计,详细设计是更接近于代码的设计,详细设计的主要任务是设计每个模块的实现算法、所需的局部数据结构。简单的说就是让一个程序员拿到你的详细设计就可以开发。在这个设计里,对设计者的要求就不像概要设计者那么高了。(可以用数据流图,类图)

详细设计之后就是编码开发,测试,测试又涉及到一个软件工程的特别有意思的V型图。产品开发出来之后,又开始了产品的生命周期。

所有这些离不开项目经理的努力,5大过程9大知识领域,都是一本书

这些以后有机会再另立一些文章描述。

 

参考资料:

http://wenku.baidu.com/view/c7e239fc770bf78a652954c8.html

http://wenku.baidu.com/view/53b9c3bcc77da26925c5b087.html

http://elf8848.iteye.com/blog/1582323

http://knowyouknowme.iteye.com/blog/1104355

 

 

 

posted on 2013-02-21 07:19  hncen  阅读(513)  评论(0)    收藏  举报

导航