系统分析师、程序员各自的职责是什么?

时间:2023-02-12 17:23:08
我们现在的做法是 分析师给出数据库表设计,设计好界面,给出类图,给出每个类的方法、参数及调用关系。
这样的分工可以保证程序员理解没有偏差,可是分析师太累了,分析师设计究竟对程序需要设计到什么样的程度呢?需要给出每个方法,每个参数的含义吗?需要画出界面吗? 需要给出什么样的文档呢?

12 个解决方案

#1


呵呵,我的理解是这样。
分析师设计就是要达到这样的地步,界面,数据库,类图设计是必须的,具体到每一个方法,参数的含义。这个有可能困难一些,但最好能做到。
这能够避免开发过程中程序员自己没有全盘理解,自己设计方法,参数带来的大量问题。
从代价上来说,我觉得还是值得的。

#2


这种分工其实没有定论的,要根据公司的实际情况进行。

按你们公司的情况,若是分析师忙不过来,
可以只做到模块级,
另外培奍几个高级程序员分做各个模块的设计,
最后由分析师汇总审核。

#3


每个类的方法、参数及调用关系。
這要看什麼樣的系統了,關鍵的東西當然要做好接口設計,不能讓程序各自為陣!
文檔嘛盡量根據軟件工程的要求來做,當然很多問題只要講清楚就行,不必拘泥

#4


是这样的。

#5


分析师就是这样的了,不是这样的都不算是分析师了。
分析师忙不过来的话,证明这个开发小组的任务过重了。一个大开发队伍里面每个开发小组的划分是很重要的。

#6


的确是因人而异

#7


你中间少了一个环节,就是设计师

#8


分析师如果是技术leader,那么应该只考虑系统中最重要的问题,并且给出解决方案。大体上说,分析师应该只考虑接口定义,也就是类有哪些方法,方法的功能以及参数返回值等等,方法的具体实现分析师一般不管。

但是分析师不需要设计所有类的接口,大部分不重要的类的接口可以交给程序员设计,分析师只需要说明有哪些类职责大致是什么就行,甚至程序员也可以自己设计某些类。

另外,如果某些方法很重要,分析师不放心交给程序员实现,也可以自己实现。

总之,分析师应该控制项目最重要的问题的解决过程,而把不重要的问题交给程序员解决。

#9


分析师不画界面是没办法完成一个系统的,程序员各有各的习惯和风格,最后弄出来千奇百怪的界面,让用户怎么用?

#10


就是就是。同意qiangsheng(代码工人) 观点。
不过也有节省时间的做法。可以分析师做好核心界面。然后写好界面设计的规则。
有程序员根据sample展开写其他不重要的界面,由分析师来审核。

#11


我觉得软件工程开发人员应该分为三个等级:系统分析师/系统设计师/程序员。系统分析师应从全局考虑工程设计方案,设计师考虑具体的方案设计,程序员负责编码。

#12


一般的公司分工不是很细,也就是系统分析师(也有叫产品设计师)、程序员、测试人员等,系统设计师的主要工作是负责需求分析、设计(主要包括页面原型制作、建模、数据库设计(难点)等),象类设计一般由程序员根据自己的模块自己设计,当然如果系统分析师能详细到类的设计就更好了,程序员的工作主要是负着具体模块的代码编写,工作很单一,如果设计没有什么逻辑问题,程序员的工作基本上是没有什么风险和压力的,所有好的系统分析师难求就是这个道理了。--个人见解,呵呵!

#1


呵呵,我的理解是这样。
分析师设计就是要达到这样的地步,界面,数据库,类图设计是必须的,具体到每一个方法,参数的含义。这个有可能困难一些,但最好能做到。
这能够避免开发过程中程序员自己没有全盘理解,自己设计方法,参数带来的大量问题。
从代价上来说,我觉得还是值得的。

#2


这种分工其实没有定论的,要根据公司的实际情况进行。

按你们公司的情况,若是分析师忙不过来,
可以只做到模块级,
另外培奍几个高级程序员分做各个模块的设计,
最后由分析师汇总审核。

#3


每个类的方法、参数及调用关系。
這要看什麼樣的系統了,關鍵的東西當然要做好接口設計,不能讓程序各自為陣!
文檔嘛盡量根據軟件工程的要求來做,當然很多問題只要講清楚就行,不必拘泥

#4


是这样的。

#5


分析师就是这样的了,不是这样的都不算是分析师了。
分析师忙不过来的话,证明这个开发小组的任务过重了。一个大开发队伍里面每个开发小组的划分是很重要的。

#6


的确是因人而异

#7


你中间少了一个环节,就是设计师

#8


分析师如果是技术leader,那么应该只考虑系统中最重要的问题,并且给出解决方案。大体上说,分析师应该只考虑接口定义,也就是类有哪些方法,方法的功能以及参数返回值等等,方法的具体实现分析师一般不管。

但是分析师不需要设计所有类的接口,大部分不重要的类的接口可以交给程序员设计,分析师只需要说明有哪些类职责大致是什么就行,甚至程序员也可以自己设计某些类。

另外,如果某些方法很重要,分析师不放心交给程序员实现,也可以自己实现。

总之,分析师应该控制项目最重要的问题的解决过程,而把不重要的问题交给程序员解决。

#9


分析师不画界面是没办法完成一个系统的,程序员各有各的习惯和风格,最后弄出来千奇百怪的界面,让用户怎么用?

#10


就是就是。同意qiangsheng(代码工人) 观点。
不过也有节省时间的做法。可以分析师做好核心界面。然后写好界面设计的规则。
有程序员根据sample展开写其他不重要的界面,由分析师来审核。

#11


我觉得软件工程开发人员应该分为三个等级:系统分析师/系统设计师/程序员。系统分析师应从全局考虑工程设计方案,设计师考虑具体的方案设计,程序员负责编码。

#12


一般的公司分工不是很细,也就是系统分析师(也有叫产品设计师)、程序员、测试人员等,系统设计师的主要工作是负责需求分析、设计(主要包括页面原型制作、建模、数据库设计(难点)等),象类设计一般由程序员根据自己的模块自己设计,当然如果系统分析师能详细到类的设计就更好了,程序员的工作主要是负着具体模块的代码编写,工作很单一,如果设计没有什么逻辑问题,程序员的工作基本上是没有什么风险和压力的,所有好的系统分析师难求就是这个道理了。--个人见解,呵呵!