学习心得这几天我在看软考的《系统分析师教程》,六百多页的书看了两百多页,现在感觉心里很复杂。再加上前几天和以前几个要好同事聚会,谈到软件系统的设计时有些争论,让我不得不写些什么。希望此文能以此文同中国从事软件开发的同行共勉。前言说来很不巧,我毕业于四川外语学院,没有受到过大学里面正规计算机课程的教育,在软件设计上的所有技能,基本上都是学习人家的代码,和看微软网站上的那些TechNotes。当时之所以选择英语院校,希望读懂人家的技术文档,是其中的一个原因。毕竟从现在很流行的Windows到Unix,他们的技术文档大都是英文写的。扯远了,其实开发一个好的系统,看懂有价值的技术资料是一个因素,更重要的因素在于对系统的分析和设计。由于自己没有受到过真正的计算机方面的理论教育,所以最初,在进行软件开发的时候心里面特别没有底,在写代码的时候,我都特别小心,生怕写出来的程序在结构上不合理,执行效率低下。工作了一段时间,开始自己设计软件的系统的一部分,当时又怕自己设计出来的系统在结构上不合理,使后期开发无法进行。所以,我一都在思考软件的设计方法不断的总结。一直以来,我把系统设计、分析看成是一件很神圣的工作,虽然自己很早听说过有这样的考试认证,但是还是没有去报名,甚至没有去买考试用书。其原因就是我认为自己应该先多写代码,多接触工程实践,多积累一些经验,然后再来接受系统分析的工程方法。而现在,我在这行干了五年,我想我的经历应该可以让我来接受正规的系统分析方法了吧!所以,我要把我学习的过程和我以前在工作中对系统分析的一些经验写出来,希望大家批评指教!第一篇系统分析到底分析些什么一句话,系统分析就是“分析软件系统在它的生存周期与生存环境中,各个对象与它的关系”,记住是关系,这是我这几天看书,然后结合自己的开发经历所得出的结论。一个大型的软件系统,它所涉及的关系多,所以这个系统做起来就复杂;一个小的软件,它所涉及的关系少,所以这个软件做起来就简单。但是在通常的情况下,这些关系需要系统分析人员去发现,通过各种手段:翻阅资料、采访相关人员等等。如果越多的关系被系统分析人员发现,那么系统分析员对系统的设计可能就越全面,系统结构对未来的不确定因素的适应能力可能会更强。在这里,我一直在强调“可能”。在我开始思考系统设计之前,我就觉得只要我掌握了正确的系统分析方法,那么我设计出来的系统在结构上是最合理的,在性能上是最稳...