computer 版 (精华区)

发信人: nod (什么什么嘛), 信区: program
标  题: 如何成为好的系统分析员(转)
发信站: 听涛站 (2001年06月16日06:05:40 星期六), 站内信件

发信人: sanshao (三少爷~~嗯,我决定了,2006就结婚), 信区: program
标  题: [转载] 如何成为一个好的系统分析员    (转寄)
发信站: 酒井BBS (Thu Jun 14 22:29:44 2001), 转信

【 以下文字转载自 Outside_Post 讨论区 】
【 原文由 egle.bbs@smth.org 所发表 】
发信人: VRGL (被猪头猪,被狗头狗), 信区: SoftEng
标  题: 如何成为一个好的系统分析员   
发信站: BBS 水木清华站 (Tue Jun 12 13:59:02 2001)

Truely眼中的设计定义:设计的过程就是将事务处理抽象成计算机模型的过程。
1. 首先要明白设计远比编程重要。
2. 平时注重训练自己的思维严谨性和从全局考虑问题的能力。建立冷静思考问题的处事
态度。
3. 设计时(尤其是数据库设计时)不要完全被规矩约束,设计好比作诗,懂得韵律是对
的,但完全被韵律所束缚,就作不出好诗了。
4. 多做设计,经常总结自己的不足之处和成功之处,向他人请教。
5. 专门去找别人设计的漏洞和不足,也是提高自己设计水平的重要手段。
(记住:这个好方法不要顺便外传,自己知道就行了,嘻嘻-:)
6. 经验是重要的,但如果观念老化而不善于总结提高,所谓的经验就成为束缚自己进步
的枷锁。
7. 学好数学特别是理论数学如数学分析、运筹学、数学模型等。多玩策略性经营游戏也
是有益的。推荐《帝国时代》和《模拟首都3000》以及《大富翁4》。(但不要沉陷在里
面)
8. 根据项目情况和开发平台工具的特点确定最佳的设计方法。模块化设计方法和面向对
象设计。两种设计方法的结合使用。
9. 将复杂无序的过程用模块化的方法进行分解,但要注重事务间的联系,并且用开放的
眼光去设计。
10. 设计时对严谨性、灵活性、开发效率、客户要求四个方面做衡量取舍。
11. 设计时还要根据整个工程的进度安排和客户对软件的要求而决定是否设计得足够灵
活和严谨。
12. 复杂而无条理是最糟的设计,简单实用并不一定是最好的,但一定不是最坏的。(
不要说我偷懒哟)
13. 训练自己良好的表达能力,能用清晰明确而且简单的描述表达出自己的基本思路。

14. 在一个项目中建立统一的系统分析模式和文档模板,同时,一个项目中必须至少有
一个人对整个系统设计进行检查和进行全局的考虑。
再谈如何成为一个好的系统分析员?
ByLsfBoy
系统分析员基本功:
好的系统分析员都是从优秀的程序员中产生的,坚实的编程功底、丰富的经验是今后做
系统分析的基础。没有对系统本身进行过透彻剖析过,很难领会到其中一些难以言述的
精华。但并不等于好的程序员就能够成为好的系统分析员。
合理的知识结构。语言能力、文字表达能力、技术的全面性等是对系统分析员的基本要
求。比如说C/S和3层开发,如果仅仅对NETSCAPE公司的产品熟悉还不够,还需要了解比
如微软等产品,并且要了解他们中产生历史,发展思路,技术优劣,以应付各种穷追猛打
的提问。但更重要的是,这是你为应用定制技术要求的前提。
系统分析员思想:
全局观念是系统分析员必须具备的观念。如果系统分析员设计时太注重细节,往往会陷
入在某个问题上纠缠不清的泥潭。(93年,我论文指导老师的一席话影响了我随后几年
对软件开发的理解----今后计算机会越来越快,多写几行代码少写代码无关紧要,最重
要的是整体;一开始就错了,某个部份编得再好,也是没有用的)
任务难度的预测能力
系统分析员要具备快速的任务难度预测能力以及具备快速确定开发小组人员构成和任务
划分的能力。(我将这条归为思想,而不是能力)昆虫自然会长出翅膀,而思想却需要
长期的浸润。要做到这点,需要大量的思考、学习。设计远比编程重要。当今软件业的
发展,各种开发工具的出现,编程已经不是什么问题,程序员的工作某种程度上讲是将
别人现成的东西拼凑堆砌起来。系统分析员要清楚的认识到,现在大多数程序员没有学
会怎么去整体的了解一个系统,有些甚至不了解编程(这不是说他们不会写代码)。可
视化的开发工具加五花八门的控件,程序员可以偷点懒了。(这可不是夸大,我好几年
的管理工作,接触过大量的程序员)基于技术,跳出框架。基于现有技术结合用户需求
思考问题,设计时跳出框架。
系统分析员思想:
系统分析员要有面向用户的思想。系统分析员应当有能力将自己扮演成用户,来了解要
交付的项目看起来想什么样式,感觉想什么,从而了解用户的想法并挑选出合理部份去
开发。从这个意义上说,系统分析员才能获得有意义的见解去引导他的开发组成员。系
统分析员头脑中要对项目结局有一个清楚的认识,并保证项目不偏离方向。系统分析员
要有根植于技术,高于技术思考问题的思想。纯粹的程序员通常对最终结果考虑的不是
很多,当一种新的技术在市场上出现时,他们对能否按时交付的考虑就比较少,而强烈
希望他们的计划能够建立在新的技术之上。因此,系统分析员的想法和行动要象一个用
户,又要能够站在技术的高度,成为真正的用户、程序员之间的代言人。
系统分析员的关键
获得信任。系统分析员最重要的素质是获得信任,这是成为优秀系统分析员的关键。成
熟最为关键。成熟可以为整个项目组提供正确的支持,能够理解技术怎样才能解决用户的
需求。
系统分析员的准备工作
统一的各种文档模式,这其中包括今后软件变量、字段命名规则。我推荐用PB制定的规
则做基础,通过改造成为适合自身实用的标准。统一的文档管理。统一的分析软件。比
如说ROSE(UML太规范,国内的软件管理水平根本用不上,只不过尽量应用,你自己对系
统分析的理解有好处)
方法是思想的放映,在具体方法上就不多说了。我托人从U$A弄到几本书,用于面向对象
系统开发的使用》、《面向对象的分析》、《项目管理》等都是很不错的,推荐大家看
看。
我在拙作"在中国没有人懂计算机"里发了点牢骚,听说挨了部份人(习惯性的)骂。其
实,BBS本来就是发泄的地方,在这里从来就罕有有内容的文章。
自从"维纳斯"登陆深圳后,大家更着眼于从宏观看中国的IT业了。中国IT这棵小树,说
实在的,长到今天实在是不容易。一些人提出了"反对微软霸权"的口号,不少人呼唤中
国"硅谷"的出现。微软的成功不是技术的成功,更多的是商业运作的成功。中国IT这棵
树能长多高,取决于他所植根于的土壤。而现在的事实是,这片土壤实在是太贫瘠了!
如果按我们现在的思路和搞法,是长不成大树,更别指望能结出"微软","硅谷"这样丰
硕的果实。如果说,我们的软件技术落后美国十年,我们的硬件制造技术则落后美国二
十年,我们的管理水平落后美国至少三十年。而最终决定发展速率的恰恰是我们的死穴
──低劣的管理水平。低劣的管理水平的形成的原因有着深厚的背景和多方面的原因。

系统分析工作是解决一个问题的工作,目标是将一个对计算机应用系统的需求转化成实际
的物理实现,其中复杂就复杂在实际的面太多.在系统分析过程之中注意问以下的问题,可
能会所进行的系统分析设计工作有帮助.
1)您所完成的系统目的是什么?注意不是功能要求,而是目的.也就是为什么要建设、为什
么要现代建设。
2)您所完成的系统有哪些方面参与,各方面的初衷是什么?那些人可能在系统建设中起
重要作用,他们会采取什么样的态度?你对他们有多少影响力?
3)您的系统是否有一个明确的评价标准?最好从参与的各方面都进行考虑。
4)你的系统设计思想是什么?是否能够得到各方面的认可。
5)你对参与系统设计开发的人员了解吗?他们的特长在哪里,是否愿意与你合作,为什
么?你对他们有足够的影响力吗?
6)你的系统开发计划是否完善?你的计划表有明确的阶段吗?任何一阶段都应该怎样完
成?如何对这一阶段完成的情况进行评价?
7)你对所采用的系统开发方法以及工具是否熟悉?你的夥伴是否熟悉?
8)你所完成的系统是否有原型?计算机的或者物理的。
以上的几个问题都是在系统分析以及系统规划时涉及到的,供各位参考。
系统分析工作是解决一个问题的工作,目标是将一个对计算机应用系统的需求转化成实际
的物理实现,其中复杂就复杂在实际的面太多.在系统分析过程之中注意问以下的问题,可
能会所进行的系统分析设计工作有帮助
1)您所完成的系统目的是什么?注意不是功能要求,而是目的.也就是为什么要建设、为什
么要现代建设。在考虑系统目的时,我更多的侧重于系统的最终目标考虑,因为一个系
统不可能一下子完美,为系统留些余地。
2)您所完成的系统有哪些方面参与,各方面的初衷是什么?那些人可能在系统建设中起
重要作用,他们会采取什么样的态度?你对他们有多少影响力?中国IT行业的失败之一
就是人"太年轻",一定要有领导的支持,否则完蛋。不要认为自己对他们会有多少影响
力,即便有,也要尽可能的认为是决策者再影响他们。在中国,一个技术员,你算老几
?说到这里我很悲哀。哪些人在系统中起重要作用并弄清楚他们的态度,这点十分关键

3)您的系统是否有一个明确的评价标准?最好从参与的各方面都进行考虑。不知道这样
说对不对,在系统建设之前,对你的程序员、对你的领导要有至少不同的两种评价。
4)你的系统设计思想是什么?是否能够得到各方面的认可。如果高明,对领导、对程序
员都采用引导,得到认可的最好办法,就是让他们认可他们自己的想法。(我力图这样
做,但做得不好,系统分析员有一点要学会韬光养晦,忍)
5)你对参与系统设计开发的人员了解吗?他们的特长在哪里,是否愿意与你合作,为什
么?你对他们有足够的影响力吗?软件发展到一定的程度,不是编程,不是数学,而是
管理。
6)你的系统开发计划是否完善?你的计划表有明确的阶段吗?任何一阶段都应该怎样完
成?如何对这一阶段完成的情况进行评价?
7)你对所采用的系统开发方法以及工具是否熟悉?你的夥伴是否熟悉?事实上,不是每
种好的工具都要使用,也并不一定都要他们熟练掌握。提醒诸位一句,当你将方案做得

可以不依赖某个程序员,你在程序员面前就无信任可言,因为从此程序员将受到更大的
生存压力。我坚决不在公司使用ROSE。
8)你所完成的系统是否有原型?计算机的或者物理的。
以上的几个问题都是在系统分析以及系统规划时涉及到的,供各位参考。
这文章很好,我的话是:"需求分析实际应该是问题分析"。含义是系统要解决的是问题
。而不是用户提出的需求。经常发现系统完成后,客户说"我的问题还没有解决"。可是
,需求分析稿上的目标都搞定了。
既然是问题分析,所以,熟悉目标系统的知识就是必要的。甚至,可以说,一个好的系
统分析员也应该是好的业务专家。
我很高兴在这里遇到许多分析高手,可以交流分析中的问题。我赞同从来的观点。在中
国作分析重要的是人气,因为中国的企业级信息系统的建设在很大程度上可以说并非确
有需求,而是迫于某种压力。用户在很多时候考虑的不是系统的长远发展,而只是短期
的成果,要求开发单位在很短的时间内完成一个很大的系统的开发,没有时间对系统进
行周密的分析,在这种情况下,很多开发商就会粗分析,粗设计,尽快进入编码阶段,
这样的系统的生命周期肯定不会很长。说了这么多,只是想说,系统分析员确实应是业
务和管理专家,并且需要有很好的语言组织能力,他需要根据问题域中存在的问题去尽
力说服用户,引导用户需求,毕竟,我们是专家,如果让用户牵着鼻子走,系统不会是
成功的系统。(当然了,这要建立在用户是可引导的前提下)本人拙见。
在理解和分析用户的需求时,应说服用户明白:建立计算机应用系统并不是简单地用计
算机代替手工劳作,它更应该是管理思想的一次革命,是现用户模式的一次升华和提高
。如果系统不能高于现实,开发的系统将长期陷入需求的反复修改,其软件的生命周期
也短了。
针对我对您的问题的理解,试着作如下一般性/理论性的回复:
需求分析(您可以采用UseCaseDriven的方法进行需求分析)在明确需求分析的基础上,确
定需要采用的系统分析方法(结构化/面向对象/构件式)应用您的开发团队所确定采用的
分析/设计方法,进行系统分析.根据您所采用的分析方法,依次或反复进行系统设计/建模
.
任何一套软件系统的模型的建立,是必须的根据所建立模型的性质上,依次或反复进行系
统实现题是这样的,我用PB编程已有一年半时间,其间也做过7,8个程序,有自己独立
开发的,也有和别人合作完成的。大部份都是与用户谈一谈,了解了用户的基本需求后
,就立即开始编写程序,其间顶多有不懂的地方再向用户了解情况,直到编程完成。从
来也没有想过什么别的,就算有文档一类的东西也多是编完了再写。但往往事后维护量
特别大,用户反映缺少功能,或者认为遍出来的东西并非他所想要的。虽然最后都完成
了,但感觉特别费劲。也看了一些软件工程方面的书,但总感觉不实用,因此想看看别
人是怎样做的,是否自己看书方法不对,没有掌握系统分析方面的精髓。同时我感到自
己长期以来,在编程方面没有丝毫进步,是否与没有理论基础有关。

--
聪明的程序员用delphi
聪明的牛人用中文
聪明的黑客种木马
聪明的学生要分数
聪明的......


※ 来源:·BBS 水木清华站 smth.org·[FROM: 202.110.139.22]
--
※ 转载:.酒井BBS bbs.net9.dhs.org.[FROM: 10.9.20.21]
  
--
※ 来源:·听涛站 tingtao.dhs.org·[FROM: 匿名天使的家] 
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:1.512毫秒