赞
踩
这几天我在看软考的《系统分析师教程》,六百多页的书看了两百多页,现在感觉心里很复杂。再加上前几天和以前几个要好同事聚会,谈到软件系统的设计时有些争论,让我不得不写些什么。希望此文能以此文同中国从事软件开发的同行共勉。
前言
说来很不巧,我毕业于四川外语学院,没有受到过大学里面正规计算机课程的教育,在软件设计上的所有技能,基本上都是学习人家的代码,和看微软网站上的那些TechNotes。当时之所以选择英语院校,希望读懂人家的技术文档,是其中的一个原因。毕竟从现在很流行的Windows到Unix,他们的技术文档大都是英文写的。扯远了,其实开发一个好的系统,看懂有价值的技术资料是一个因素,更重要的因素在于对系统的分析和设计。
由于自己没有受到过真正的计算机方面的理论教育,所以最初,在进行软件开发的时候心里面特别没有底,在写代码的时候,我都特别小心,生怕写出来的程序在结构上不合理,执行效率低下。工作了一段时间,开始自己设计软件的系统的一部分,当时又怕自己设计出来的系统在结构上不合理,使后期开发无法进行。所以,我一都在思考软件的设计方法,不断的总结。
一直以来,我把系统设计、分析看成是一件很神圣的工作,虽然自己很早听说过有这样的考试认证,但是还是没有去报名,甚至没有去买考试用书。其原因就是我认为自己应该先多写代码,多接触工程实践,多积累一些经验,然后再来接受系统分析的工程方法。而现在,我在这行干了五年,我想我的经历应该可以让我来接受正规的系统分析方法了吧! 所以,我要把我学习的过程和我以前在工作中对系统分析的一些经验写出来,希望大家批评、指教!
第一篇 系统分析到底分析些什么
一句话,系统分析就是“分析软件系统在它的生存周期与生存环境中,各个对象与它的关系 ”,记住是关系,这是我这几天看书,然后结合自己的开发经历所得出的结论。
一个大型的软件系统,它所涉及的关系多,所以这个系统做起来就复杂;一个小的软件,它所涉及的关系少,所以这个软件做起来就简单。但是在通常的情况下,这些关系需要系统分析人员去发现,通过各种手段:翻阅资料、采访相关人员等等。如果越多的关系被系统分析人员发现,那么系统分析员对系统的设计可能就越全面,系统结构对未来的不确定因素的适应能力可能会更强。
在这里,我一直在强调“可能”。在我开始思考系统设计之前,我就觉得只要我掌握了正确的系统分析方法,那么我设计出来的系统在结构上是最合理的,在性能上是最稳定的,这个系统近乎是一个完美的系统。现在看来,这种想法很幼稚,作为对关系的分析,本身就和个人的经验、价值观有直接的、非常紧密的联系。所以我们要正确的对待系统分析师这个职业,他不是神,他只是一个将系统的开发风险尽可能降低到最低的人。
第二篇 如何分析
并不是每个公司都有自己专门的系统分析师,但是每个公司都有自己的系统分析工作,我想这是中国大多数软件公司所面临的现状吧。我们不能够因为没有系统分析师的存在,而把那些客观存在,需要我们去分析的东西丢在一边,最后只能是搬起石头扎自己的脚。
看了《系统分析教程》之后,让我对如何做系统分析有了新的认识,但是里面提到的各种方法,动不动就要小组支持,安排会议,这些活动档次太高,咱们平时做的那些系统玩不起,那是不是因此我们就放弃系统分析呢?答案是否定的。我认为,软件系统的规模有大小,系统分析的规模也有大小,不同规模的系统,它的分析方法也应该不一样,下面我把我分析的方法写出来,希望大家批评指教。
第三篇 是系统分析师还是程序员?
我本来打算把这篇的标题定为“系统分析师和程序员的关系”,在我看了两个网友的留言后,我决定放弃这个标题,一个网友评论说,系统分析师应该消失,因为现在的原型化开发已经让系统分析师失去了价值;一位网友评论说,他在一个七八十人的小公司里面工作,认为系统分析师存在的必要性很大,并且说如果没有系统分析师的队伍,可能会失去竞争力。我认为这两种看法都过于偏激,因为他们都没有考虑到,不论是系统分析师和程序员还是其它搞开发的人员,他们都是软件公司的一部分。
作为一个软件公司,作为一个企业,都有自己的生存法则,大公司有大公司的活法,小公司有小公司的活法。大公司实力大,人数多,能够接到大的项目,那么他必然要有自己专门的系统分析师团队来维护公司正常的业务运营;而小公司,通常接到的项目都比较小,人数又有限,要想支持一个专业的系统分析师团队是不可能的。我现在就在一个小公司里面工作,接到任务后,直接就和客户打交道,直接从客户那里获取他的需求信息,然后自己整理资料,分析系统的结构,然后编码,然后测试,这些事情是没有人来为我完成的。
所以我认为,系统分析师可以有两种定义:一种从职务的角度来定义:这个人是我们公司的系统分析师;一种是从专业的角度来定义:这个人具备系统分析的专业知识。但不管从哪种角度来定义,它们都具备同一个特点:他们都要完成系统分析的工作。
分析本身就是一项复杂的活动,它的复杂不仅体现在它所涉及对象本身,还涉及到指导分析的方法论。而这些都是通用的哲学,他同样可以知道我们在其它领域更好的开展活动。所以对于系统分析这项活动,作为一个程序员,也要去学习它,实践它,这对我们是有好处的。
所以,不管我们所处的环境如何,是大公司还是小公司,至少我们都应该做自己的系统分析师。
到此,有关我对系统分析师的感慨写完了,这篇文章只是我个人对系统分析师的看法,局限性很大,还希望大家多多指教。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。