(20分)软件开发有哪几种角色

来源:百度知道 编辑:UC知道 时间:2024/05/27 02:57:42
20分)软件开发有哪几种角色,请详细表述他们的职责和权利大小(谁管谁)
详细者再加20分

1、业务(需求)分析员
所谓业务(需求)分析员就是系统分析员的一部分工作。首先,在中国,我还没有听说,一个做不了系统分析的人能够做需求分析。
需求分析从本质上讲,是将客户的自然语言进行整理,增、删、修,然后映射到一个个开发人员能够理解的功能模块上。
所以,需求规格书并不是需求分析的结束,而只是需求分析的开始。工作做到需求规格书这一步,只能说是需求收集的告一段落。
设计一个系统结构是系统分析员的必备基本功,但如何将这些自然语言转化成系统的各个模块才是真功夫。
系统分析员如果依赖于别人去收集客户的需求,这是无法保证需求准确性的,特别是一些创新性的项目。面对客户提出的数以千计的要求,难以想象,一个没有充分系统结构设计经验的人员,能够从中收集到高质量的需求。
事实证明,软件工程的成功与否关键,已经从代码错误率变成了需求分析的失误率。
可以这样说,系统分析员就像这样一个建筑设计师,他和客户交谈后,设计出一个摩天大楼的模型,让客户看是否满意,然后交给下面的设计师,由他们完成详细设计——请注意,系统分析员不应局限在如何做编码规范、接口等这些详细事务上,系统分析员的核心工作是完成功能的设计。

2、系统分析员
系统分析员是一个设计团体,而不是一个人单干。摩天大厦有整体设计,还要有各个局部的设计。每个局部的设计方案应当能够描述采用何种技术,满足那些功能,和其他功能结合所采用的集成技术,以及需要多少成本等。

3、高级程序员
高级程序员拿到设计方案,首先是确定编码(接口)规范,然后是再次分解,他的产品应当是类和接口(在OO设计里)的功能表。

4、程序员
程序员该上场了。他无需知道更多东西了,高级程序员的产品已经足够他完成任务了。确实,真要能这么实现,高中生就能胜任。

5、项目经理
他的活不是技术。
我们有太多错误的定位了,特别是对软件开发的项目经理。他既不是系统分析员,也不是高级程序员,他是管理人员,或者说是服务人员,他的工作是保障整个开发团队持续、高效运转。他要紧密关注团队进展,发现滞后因素,寻找改进方法;这时,往往要运用激励与惩罚手段--但现在我们的项目经理事实上缺乏这些手段