软件工程是什么?
(1)软件工程。
软件工程是复习的重点,不但上午题当中占10左右,而且下午题里也有2道软件设计分析方面的题目,一定要熟练的掌握书本中说到的各种软件分析设计方法及有关的分析用图,对各种图的功能作用和制作方法(特别是各种图的组成元素)以及各种图之间的转换及联系(如果有的话),UML面向对象的软件设计方法及面象过程的软件设计方法完全理解,软件测试要达到理解的程度,其它的内容只有去强记了,因为基本是都是上午题,而且每年的题都不定,但与CMM有关的一定会有。
这科的复习我认为难一点,因为我没有参加项目开发的经验,对里面的概念只能强行理解和记忆,所以在脑中的影像不太深刻,而且考完后就忘得一干二净了,不过学还不是太难,可能是我的教材简单了。
(2)数据库。
数据库部分也很重要,上午有5分左右,下午至少有一道数据库的题目,而且也一定是考关系型数据库,E-R模式也要搞懂,可由它导出关系,一定要弄懂关系数据库的几个范式及关系的建立方法。
因此,就要对关系数据库的基础概念非常清楚,如键的定义,函数依赖,范式的定义、作用及转换是建立关系的基础。
数据的并发控制,要熟练掌握SQL常用的几个语句,最好是用笔将每个语句写上几遍,对语句的各种形式加深记忆,数据库的学习还是不太难的。
因为考试不会考数据的物理存储及数据安全,感觉这方面的知识更难,交叉学科更多。
(3)学习数据结构和算法。
数据结构和算法是考试的重点内容,它的复习以普通的教材为主(相关书籍学计算机的应该都有一本吧),对数组、链表、队列、栈、树及堆等基本的数据组织方式要非常熟悉(要做到看见算法就知道要用什么数据组织方式更高效),排序、索引及图的各种算法要了然于心(算法的分析过程及代码要非常清楚),算法的分析方法达到理解应用的水平。
对C语言要非常熟练(要会应用C语言语句的一些技巧,如可以利用函数的返回值做为判定条件,在循环中对数组的处理可使用a[i++]来提高编写代码的效率,这类的小技巧只有通过大量的阅读代码才能提高),如果是初学面向对象方面的高级语言,建议还是先学C++,感觉它更象一种语言规范,而Java是一种编程的工具并且由于它的跨平台特性所以它有很多自己独有的功能和特点,有时间一定要看一本C++语言的数据结构它能使你更全面和深刻的理解类及对象的编程方法。
算法的学习不是一朝一夕就能提高的,一定要静下心来学习一些经典算法,比如:穷举法、贪婪法、分治法、迭代法、递推法、递归法、回溯法;找一些有名的算法程序来分析,比如:背包问题、组合问题、斐波那契数列、马踏棋盘问题、货朗担问题、八皇后问题、迷宫问题、汉诺塔问题、约琴夫环问题等。
有了这些算法思想在你的头脑中扎根后,当看到问题,你就自然的想起用什么方法来求最优解了。
4)程序设计语言。
程序设计语言包括C语言、编译原理和面向对象的程序设计语言(通常以C++为例)。
编译原理一定会考词法分析,它是后面编译过程的基础。
主要考的内容是NFA与DFA的转换、正规式与有穷自动机的转换等。
文法分析有一年考过下午题,这科对初学者比较难,比较抽象,理论性也比较强,反正我是学了4个来月才学通一点,这课复习没什么技巧,用功学吧!不过听听希赛的“编译原理视频教程”,学起来更快一些。
C语言要掌握好三种基本结构、数组、链表、结构体、共用体、参数传递、指针及指针数组、指针函数等等。
面向对象的程序设计语言要对基本概念及初步应用要了解,考得不深。
(5)面向对象方法学。
面向对象方法学不但是上午的考试重点,也是下午的考试重点。
上午平均有12分左右,而下午有30分,一道与UML图形有关的题目,一道面向对象程序设计的选做题。
所以要好好掌握这一块。
UML当中的类图、用例图、状态图、协作图要掌握好,考试中会常出现。
(老师多次强调这个要学习的知识点,我通过做题,认为老师抓的很准。
) (6)操作系统。
操作系统没什么说得了,把它的几个功能模块搞清楚及相关的算法搞清楚就好了,如处理器的管理、存储管理、设备管理、文件管理及系统安全,其中我认为比较难理解的是PV操作(在并发进程中它的应用非常灵活)和中断(反正这个对我比较难),一定要把相关内容所讲到的算法及分析过程搞懂,这样考试相关的题目对你来说就小儿科了。
当然还要注意进程死锁的问题,段页式存储的问题。
其它课程的复习就按考试大纲进行,把里面的概念搞清楚就行,因为它大部分都是上午题。
2、看书与练习相结合 “看书时没有目的性,不带着任务走,看到哪里算哪里;看后不做题进行巩固”,我以前犯得就是这个毛病,每天看得是云里雾里的,不做练习巩固,过几天就忘记了。
所以,我看了书以后,总要找一两个相关的题来做一做。
后来,可以做模拟试题了,几天才做完一套,遇到做错的知识点,就找出教材或辅导教材来,争取弄懂;但进度太慢了。
从四月中旬开始,我就争取时间每两天做一套,还将做错题目的试题分析好好看懂,当然到了后来,一看就会的题目我就不做了,为了节省时间。
通过做模拟试题...
电脑版的读圣经软件有哪些
“计算机科学中的圣经”: CSAPP(Computer Science, A Programmer's Perspective),一般译作:《深入理解计算机系统》,该书被誉为 “计算机科学的圣经”,属于计算机科学导论性质的图书。
本书主要内容是关于计算机体系结构与编译器和操作系统之间的交互,包含数据在计算机内部的存储方法,流水指令的构成,虚拟存储器,编译系统,动态加载库,用户态应用等,几乎涵盖了最重要的计算机系统基础知识,能够让我们充分明白程序执行过程中到底发生了什么事情,能够程序员在写程序、调试程序、优化程序时“知其所以然”,有针对性、方向性地提升程序的安全性,运行效率等。
CLRS (Introduction to Algorithms,作者 Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein,简写是取自四位作者姓氏的首字母),一般译作:《算法导论》,被誉为“计算机算法的圣经”。
本书主要是介绍前人总结的各种算法,书中各章自成体系,都可以作为独立的学习单元。
算法主要是以英语和伪代码的形式进行介绍。
在IT职业生涯中本书不失为一本案头必备的参考书或者工程实践手册。
求助于软件工程或计算机相关专业的前辈,关于学习和进一步提高自己...
高等数学、计算机图形学、病毒、反病毒、木马。
与此同时,要尽快选出文中学习者感兴趣的方向作为3-5年的长期方向,不要担心过早选择分支方向会有什么损失,比如【真正】学完了C++或C#的话、内存管理、指令优先级等有一个正确理解和运用,并能够读取文本脚本来更新关卡。
C++:写一个2D图形引擎,封装掉细节,实现面向对象设计和可复用设计(但是2D图形引擎注重效率,对复用的设计理念显然不需要太在乎。
3。
⑦最后,再从资本论的角度去度量一下为什么要深入至少1-2门技术,而非只是泛泛的都学。
1,那么毕业后虽然也能找到不错的工作,薪水也可能高,但是不管学习者怎么选,最开始某些东西一定要深入而不是只是懂就够(当然学习者对自己要求不应该低)、概率论(各自都有很牛很好的书以及习题,具体douban 以上几个基础就是学习者成为一个融汇各个主要分支牛人必须学的(当然不是指理论,但是却不是一个大牛(虽然这之间确有转化关系,就不单指学完了C++或C#?用它写一个P2P网络对战游戏。
⑥作为进阶学习编程语言的附加要求,其它语言建议也学习下,以及现代的程序开发思维(因为里面用到了很多让学习者一劳永逸的技术)) 以上5个步骤都是基础大步骤,一定要看 网络技术:这个是必须学的,因为目前几乎没有一款装几率很高的软件或者平台跟网络无关。
(很多很牛的书,具体douban 数学的话:编译器设计:《操作系统,并且用到《设计模式》中提到的一些设计模式,这样才能算对C++有一个很好的掌握。
MFC:MFC技术虽然据说前期一段时间冷下来了(近期又有新的热度。
学习者的学习顺序应该是。
如何证明学习者C#学的不错了?也很简单,会发现我说的学习顺序都是沿着语言和某些技术的,为什么呢、兼容、移植、反木马。
②,而是理论+实践编码能力) ④以上都是大的基础:建议有时间的话、脚本解释器、系统程序开发、服务程序4、图形学:3D,对以后出现的各种编译、解释、2D、图像识别:理解操作系统的架构和细节,学习者才能对以后关于多线程、文件管理,附加方向只是基于基本方向的一些锦上添花、人工智能:遗传算法?因为那些技术学习者要掌握的话,根本可以自己解决(翻书+实践的反复循环),并且大部分被我验证或预测过)。
C语言是可以写很多核心和高级的东西,而不只是小东西,编码技巧有很多可以提高的空间之处,有兴趣学习者的主要就是要把我说的这几个基础步骤先解决,同时平时要注重大方向理论结合实际去编码和开发、软件破解、软件加壳 附加方向、游戏设计:各种游戏引擎设计以及业务逻辑设计等 ③.一个公司不需要一个功能对应的所有可选技术类型,通常只要其中1-2种(就如服务器脚本语言:9,也是大型软件开发的基础,但是学习者学完C#并深入后?因为这些语言和技术涉及到特定的领域技术和计算机理论思想。
(这就有很多经典,但都不是必看的,具体douban 软件工程。
(设计模式能够有助于软工的架构设计、人脸识别5①、计算机专业领域一共有几个大方向,十几个分支方向,而每个分支方向又有几十个小方向,每一个方向的深入学习与熟练到一定火候都不是一朝一夕,互相之间也不是完全没联系的,但是无论是初学者还是中前期学习者都应该选择一个大方向并在其中的一个小方向内深入(为什么要这么早就选择具体的分支方向?后面说),而是把多种语言范式都学习了一遍、系统编程:基础API开发、桌面开发:这个是进入公司都要会的、这里列出计算机的几个大方向(非编程开发类的我就不说了)、音频:语音识别,为了便于开发维护和人员更替、音频解码、音频软件6、编译原理、优化、并发与并行算法等有一个深入理解。
(必看:三本圣经和《PT》,哪三本具体百度 数据库系统原理,主要是:离散数学、线性代数,仅个人见解)。
现在才开始讲学习顺序(一种可能的顺序、虚拟机、客户端开发,要解决的话要没1-2年应该不够,因为计算机很多分支是相通的:C:反工程:精髓与设计原理》编译原理:能够升华学习者对计算机编程语言的理解、神经网络、灰色系统等等10,也都是集中在1-2种2:基本方向:1、单片机、嵌入式方向2:数据结构:下面其他理论的基础。
(必看:《算法导论》操作系统原理,所以最具有复用挑战力的是外表简洁,内部设计复杂而高度灵活如WPF的GUI),学到这个程度-做一个超级马里奥出来,用的是windows核心SDK,再次写一个随便什么游戏,学习者只要用MFC做出一个非内核的杀毒引擎简化版就差不多了,至少能够算是对计算机语言有一个更加深刻的理解了。
推荐的书有《深入浅出MFC》。
《Windows程序设计》:和MFC不同的是、网络编程:涉及到服务器程序,也就是Windows API,这本书学完后:C#里集合了当代和前沿计算机科学里最先进的一些语法(虽然执行效率一直被人质疑),学之前可以先看《冒号课堂》(告诉你各种范式语言之间的关系,让你对编程语言有一种截然不同的全新视野的掌握)。
(如果学习者注意的话、非自然语言翻译系统7、应用层开发:利用高层语言去开发表层应用 8、安全、基本方...
圣经当中所说是先有鸡还是先有蛋!
楼上诸位想的复杂了吧?这位朋友问的是《圣经》中如何解释,所以应该用《圣经》的内容来回复,而不是去讨论基督教思想正确还是当代科学观的生物进化论。
先有鸡还是先有蛋?根据《圣经 创世纪 1:20-22》,先有鸡。
创 1:20 神说:“水要多多滋生有生命的物,要有雀鸟飞在地面以上,天空之中。
” 创 1:21 神就造出大鱼和水中所滋生各样有生命的动物,各从其类;又造出各样飞鸟,各从其类。
神看着是好的。
创 1:22 神就赐福给这一切,说:“滋生繁多,充满海中的水;雀鸟也要多生在地上。
” 其中没有提到“蛋”的问题,但是“鸡”却是可以包括在地上的雀鸟中的。
当然,诸位可以做比喻理解、神话理解、也可以视为宗教的神圣理解...
软件工程专业就业前景怎么样呢?
软件项目超出计划的目标,通常被称为范围蔓延,是IT开发过程固有的矛盾。
范围蔓延由几个原因引起而且如果处理不当将成为项目失败的主要原因。
你必须采取一些步骤来控制对项目的改进并确保你和你的开发团队不会受到这些改进所造成的负面影响的损害--完工时间的拖延和工程预算的超支。
幸运的是,你可以遵循一些规则来防止项目范围蔓延造成出轨。
我们马上就会学习这些方法。
但是首先,让我们先来看一个警示性的例子,它能够帮助我们明白如果没有合适的计划和控制,事情会变得多么坏。
可怕的故事 当我在一家顾问公司工作的时候,我亲眼见证了我们的姐妹公司在一次公司内部为用户开发以We中心的桌面环境的时候在项目范围上所做的挣扎。
这个项目在五年前迫不及待的展开,没有项目计划而且只有一个主要开发者指导它的进度。
开始的时候这个项目有许多很有天赋的Java 程序员而他们所有的指导来自于他们的并非技术专家的上司。
这听起来象是一场恶梦,它确实是一场恶梦而且现在还是这样。
今天这家公司有了一个不值得的客户和一个其竞争对手在两年以前就已经超越的产品。
随着这个项目继续进行,这家公司自身已经无法为它的员工发工资了,这对投资者看起来象一个无底洞,而且在它的管理层看来还只是刚刚开始。
由于在开始工作的时候没有签定正式的项目意向书,这个项目的范围不断的改变,甚至每天都在改变,而所有的工作,从开发到销售和质量保证都因为不断改变的项目范围所带来的繁重工作而停滞。
好的一面 项目范围改变的效果并不一定是负面的,这得看你的实际情况。
如果你是担当顾问或者是为一家顾问公司工作,那么软件功能改进对于你的业务来说是非常好的--只要能够很专业的处理这个问题。
对于公司内部的软件开发过程,额外的功能能够让你的产品比你的竞争对手更胜一筹。
但是,如果你发布软件的时间推迟一两个月,那么这个优势就会被丢失。
通过控制你开发过程的费用并按时发布软件,你的项目就会取得成功,而不需要损失在软件制作过程中的灵活性。
从第一天开始就进行软件项目范围控制 控制项目范围在编写第一行代码以前就已经开始了。
不论实际情况如何,每一次开发工作都应该有相应的项目计划或者项目协议书。
即使你只是一个希望让老板高兴的程序员,你也能够因为在开始工作以前制定计划书而得到很多的好处。
你可以使用下面的步骤来使自己成功的控制项目的范围: 1. 确保自己明白项目的范围。
与项目主管会谈并发布整个项目的概览交与他们查看和评论。
2. 了解你自己认为重要的东西和项目主管认为重要的东西。
在项目进行的整个过程里把你得到的信息按顺序列成一张表。
这些信息应该包括预算,项目截止时间,功能发布,客户满意度,以及员工的满意度。
一旦项目开始,你将使用这个表来调整你的时间安排。
3. 定义你的项目发布目标并让项目主管同意它们。
项目发布目标应该是在项目过程中应该完成的功能的大概描述。
4. 把经过同意的项目发布目标细化成具体的工作要求。
这些要求应该尽可能的详细并使用一个简单的电子表格来完成它。
你的项目越大,那么你就应该包括更多的细节。
如果你的项目持续的时间不止一两个月的话,不要忘记包括开发过程中软件升级的时间,你还应该总是为编写充足的文档而留下时间。
5. 将项目分解成大的和小的里程碑并编写一个大概的项目时间表以获得项目主管的同意。
小的里程碑应该不持续一个月以上。
不论你用什么方法确定任务的持续时间,你都应该为修正错误留下时间。
在与不熟悉的员工一起工作的时候,我通常把时间定为预计工作时间的140%到160%。
如果你的时间比较紧,那么你应该重新评估你的项目发布目标。
在预算的范围内和截止的时间以前完成项目能够为额外的改进留下空间。
6. 一旦时间表已经创立,那么你就需要使用一个PERT图表或者任务分配表来分配资源和确定项目的关键路径。
微软Poject软件能够自动为你创建这些东西。
你项目的关键路径会在项目进行的过程中发生改变。
遵循这个图表来确定什么发布目标必须在规定的时间里完成。
在非常大的项目里,我尽量做到不把我的开发阶段标准定义得太早,但是即使一个大概的计划也能够为你提供成功发布软件的依据。
7. 意识到会出现项目范围蔓延。
尽早填写“项目范围改变要求”表格并在开发的过程中说服项目主管。
一个“项目范围改变要求”表格能够让你在按项目主管的要求进行时间表改变以前对这些改变进行收益投入比的分析。
c语言是有什么
想成为编程高手,那就耐心把以下文章看完! 一、为何要学编程? 每个人的动机不一样。
大致有: 1、为了找个好工作;或为了有更好的机会和更好的发展。
2、看到别人超厉害,所以也想学。
3、实际工作中很多场合需要。
4、从小就立志做个程序员,做软件工程师。
5、振兴中国的软件事业。
。
。
。
。
。
。
================================================ 二、如何学编程? 1、多看好书。
差书误人子弟,不但浪费时间和精力,而且打击人的信心,差书使人很久都不会,让会让人怀疑自已的学习能力。
现在的书很多,但好书很少,特别是被大家公认很有价值的好书,更是少之又少。
历经多年时间考验和市场风雨不残酷洗礼而仅存的巨著,更是极其稀少。
中国历史上文学小说类书本多如牛毛,但仅存的巨著,也只不过>等四本名著而已,编程方面也是如此。
2、多动手。
这一点很重要。
而且特别重要。
“纸上得来终觉浅,绝知此事要躬行。
”陆游的千古名句说的就是这个道理,并且同样适合于编程方面。
================================================ 三、用什么语言最好? 这主要取决于应用领域,每种语言都有自已的长处和不足。
1、汇编语言和C语言在单片机及工控领域用较多。
另外C语言也是一种通用语言,是学C++/c#的起点。
2、C++系统编程等多个方面,最常用的编译器是VC。
3、C#/java网络编程方面新兴的。
4、VB通用。
5、还有Delphi等。
。
。
。
。
。
个人建议:从未编过程的,就从学vb开始。
有基础的可直接学c++/VC。
=================================================== 四、有什么好书? 几年前,台湾著名技术作家侯捷先生曾经写过一篇影响很大的书评文章,叫做《MFC四大天王》。
文章的意思是说在MFC的浩瀚书海中,只要认真研读和学习其中四本,就可以“五岳归来不看山”。
侯先生虽以MFC为例,但是这个道理却同样适合于MFC之外的很多具体技术领域,这不能不说是一个有趣的统计现象。
通常在某一个具体细分的技术领域,会自然而然地出现3-5本顶级著作,它们彼此互相配合,形成一个完整的体系。
对于学习者来说,只需要认真研读这几本书,就足以升堂入室。
我乐于将这种现称为“四书五经现象”。
对于读者来说,如果能够找到该领域中的“四书五经”,则无论在时间上还是金钱上都是最经济的选择。
好书几本,胜过烂书几捆,这个体会想必大家都有。
在此,帮助大家遴选各个技术领域里的“四书五经”。
编程的书可谓汗牛充栋,其中经典也是不泛其数,但绝大多数的过来人,都一致认为,要想很快的入门并尽快的投入到编程实践中,只要其中的四到五本也就够了,即只看经典中的经典,圣经级的书就可以了。
所谓活到老学到老,程序员是个终身学习的职业,要不断的看书,直到放弃编程的那一天。
所以,您要读的好书也绝非以下推荐的这些书哟,呵呵。
一句话,由于我们的时间、精力、金钱都是有限的,如何以最小的代价换得最大的收获。
================================================================ 五、经典好书分类热销榜 1、java java编程语言(第三版)---java四大名著----James Gosling(java之父) java编程思想(第2版)----java四大名著----Bruce Eckel java编程思想(第3版)----java四大名著----------------Bruce Eckel java 2核心技术 卷I:基础知识(原书第7版)---java四大名著-----Cay Horstmann java 2核心技术 卷II:高级特性(原书第7版)----java四大名著-----Cay Horstmann Effective java中文版------java四大名著--------Joshua Bloch 精通Struts:基于MVC的java Web设计与开发---孙卫琴 精通Hibernate:java对象持久化技术详解---孙卫琴 Tomcat与java Web开发技术详解------------孙卫琴 java与模式------------------------------阎宏 2、c# C#程序设计-------Charles Petzold“windows编程泰山北斗”---C#语言“倚天屠龙双剑” C# Primer中文版--------Stanley B.Lippman---C#语言“倚天屠龙双剑” .NET框架程序设计(修订版)--------Jeffrey Richter“windows编程泰山北斗”---.NET平台四大天王 C# Windows程序设计----------Charles Petzold“windows编程泰山北斗”------.NET平台四大天王 .NET程序设计技术内幕-------------Jeff Prosise---.NET平台四大天王 .NET本质论--第1卷:公共语言运行库(中文版)--------Chris Sells---.NET平台四大天王 3、C++ C++程序设计语言(特别版)---c++八大金刚----Bjarne Stroustrup“C++之父” C++ Primer (第3版)中文版----c++八大金刚---Stanley B.Lippman C++ Primer (第4版)中文版----c++八大金刚---Stanley B.Lippman C++标准程序库—自修教程与参考手册--c++八大金刚--Nicolai M.Josuttis C++语言的设计和演化-----c++八大金刚----Bjarne Stroustrup“C++之父” 深度探索C++对象模型---c++八大金刚----Stanley B.Lippman Essential C++中文版---c++八大金刚---Stanley B.Lippman Effective C++中文版 2nd Edition-----c++八大金刚------Scott Meyers More Effective C++中文版----c++八大金刚------Scott Meyers C++编程思想(第2版) 第1卷:标准C++导引--------...
谁能帮我找片计算机方面的读书报告
《程序员》软件工程篇读书报告 主持人:熊节(Gigix):《程序员》杂志社技术编辑,C-View成员。
嘉 宾:刘艺(Newdream):大学教师,撰写和编译图书多部。
汪颖(Adams):UMLChina成员,《人月神话》译者。
Newdream:随着计算机技术的发展,由一两个人关起门来打天下的软件英雄时代一去不复返了。
现在的商业软件大部分都是很多人协同工作的结果,应用软件也已经由桌面应用发展到分布式网络应用,软件开发的难度和规模日益扩大。
不管我们愿不愿意,软件工程正在从课堂上、书本上走下来,强迫我们去学习它,应用它。
工程是将理论知识应用于实践的科学,而软件工程则借鉴了传统工程的原则和方法,以求高效地组织和开发高质量软件。
国内软件工程的研究虽然并不比国外晚,但在软件工程的实用方面仍然滞后于美国等发达国家,特别是软件工程的应用人才奇缺。
最近几年,随着大量国外软件工程经典图书的引进,国内的计算机研究和开发人员了解和学习了很多最新的软件工程理论和技术,从而推动了软件工程的广泛应用。
现在越来越多的IT企业意识到软件工程对保证产品质量、降低开发风险、提高管理效率的重要作用,而精通软件工程的开发人员也成为大公司高薪争聘对象。
软件工程图书正在成为计算机图书的一大热点。
Gigix:是的。
两位在软件工程方面都有比较深的认识,并且也都博览群书。
下面我们就来谈谈软件工程的书籍吧。
Newdream:对于软件工程的初学者来说,清华大学出版社的中国计算机软件专业技术水平考试指定用书《软件工程》(分为初、中、高级)是一本不错的入门读物。
该书的作者郑人杰教授是我国知名的软件工程专家。
这本书通俗易读,内容系统权威,可以帮助读者较全面地了解软件工程方面的知识。
但由于这本书侧重应试,因此实用性较差。
Adams:新近业界推崇的CMM 2级从需求管理、配置管理、SQA、软件计划以及软件跟踪等KPA的角度,为规范化的软件管理提供了理论依据——然而,它依然带有学术派的色彩,使若干从业者有意犹未尽的感觉。
《[ISBN]7-111-07282-0[/ISBN]》则涵盖了上述领域,全面深入浅出地介绍了软件工程学科的各个方面。
其中,所涉及的实践已在很大程度上超越了目前的软工水平——不用再哀叹路在何方,路就在脚下。
另外,《超越混沌——有效管理软件开发项目》这本软件工程的散文集里总结了许多经验教训,有空翻一翻,经常会心有戚戚焉的感觉。
可惜,目前还没有影印版。
Gigix: Newdream的评价比较“中庸”,呵呵。
在我看来,软件工程教材,能够起到的惟一作用(如果的确有作用的话),就是指导软件开发者的工作。
如果不能指导实际工作,那些听起来很美的词汇、术语就没有任何意义。
因此,我总是认为那本《[ISBN]7-111-07282-0[/ISBN]》算是目前为止最好的一本教材。
对于名词的解释,那本《[ISBN]7-111-07282-0[/ISBN]》肯定不如某些国产教材来得好;但是这种一定程度的晦涩和复杂,对于正经学习软件工程是必要的。
任何一个道理,如果说得过于抽象过于概括,那肯定会变成同义反复(也就是废话)。
国产教材往往就犯这个毛病。
好象我不应该用“国产教材”这样一个比较隐晦的称呼?没错,说郑人杰教授那套《软件工程》教材,记得以前在学校的时候,大概有一年的时间在学郑教授那套“钦定”教材。
学完的感觉就是:他解释的每个词都很好,说的每句话都正确。
整本书放之四海而皆准——科技工作者的直觉告诉我,放之四海而皆准的东西,多半都不可操作。
这也算是我挑选软件工程书的一个办法吧:不光要有办法,还要有办法的约束条件,以及办法不适用的场合。
也就是说,书中提供的知识必须是可证伪的。
如果一本书不能说明自己提供的办法在什么条件下失效,那读者学到这些办法之后还得自己去摸索它的约束条件,这本书又有什么作用呢?前一阵Smiling上有人讥笑“刚从学校出来的小朋友”,大抵就是这种情况。
Adams:其实,软件工程归根到底是实践性的学科,它主要针对的是软件开发中社会学——人的问题。
因而,很难找到一篇放之四海而皆准的圣经,每一位前人的著作都是来自于自己的项目、实践,已经为大家提供了非常好的参考。
在同一位“大牛”李亮的交流中提到,“即使是相同性质的项目,不同的团队(人员)也需要对原先积累的过程、方法进行调整。
”换言之,“迷时师渡,悟了自渡”,各种书籍、文献、前人的经验,在“工作在如此易于驾驭的介质上。
程序员,就像诗人一样,几乎仅仅工作在单纯的思考中。
程序员凭空地运用自己的想象,来建造自己的‘城堡’”的学科中,只能充当自己的老师,需要的还是自己的顿悟。
另一个角度而言,尽信书,不如无书。
如果完全迷信书中的观点,也是不可行的。
Gigix:刚才Adams引用的是《人月神话》中的句子吧?这本书恐怕是最近一段时间最热门的一个话题了。
记得前次有人在一个小论坛上问“这本书究竟怎么样”,我的回答是:“如果没有读过‘人月’,如果不知道'no silver bullet',恐怕很难被认为是一个合格的软件工程师。
”Adams没有多谈《人月神话》,大概是...
软件开发工作人员必读的书籍有哪些,特别是刚刚工作的
管理---协调管理》 《质量、软件。
十分难读,但的确是经典,中文版、管理---系统思维》 《程序员开发心理学》 《走查,这个书写的不错 《高质量软件项目管理》(清华大学出版社) 这本书将项目管理。
质量保证人员应该看得一本书, 《borland传奇》 想了解PC软件的发展,对于一般的开发人员,可以本科很难理解它的重要性。
项目组长必读的东西,软件工程都写到一起了,对于希望做项目管理和质量保证的人员很有用、审查、技术复审手册》 还有其他的书,其中许多深刻的道理对质量保证人员也有很大的帮助 《计算机程序设计艺术》1,2,3卷 不知道怎么评价这三本书,让我们知道我们是怎么回事 《IT项目管理》(机械出版社) PMP的管理书籍,建议5年以上工作经验的同志们好好读一下,一套,使开发人员改进自己代码的教科书 《过河卒》 开发人员如何确定自己的技术人生,一本不错的书,你可以了解你以后的技术生涯需要那些技能和技巧,为以后的发展打下一个基础最后一个系列 软件与系统思想家温伯格精粹译丛(清华大学出版社) 《质量、软件, 《重构》 《重构手册》 这两本书是中国电力出版社的书,读这个书最好,使你对软件的发展和计算机系统有一个更深刻的了解。
《Java夜未眠》 不仅仅是讲java语言的数。
也是在网上下载吧 《软件工程:实践者的研究方法》 最经典的软件工程书籍,如何从开发人员变为项目管理人员,开发人员的床头必备的书籍,就是一个字---牛 《软件工艺》 告诉你什么是软件开发,什么是程序员《人月神化》 《人件》 《软件发布方法》 《数据仓库项目管理》 《自适应软件开发》 《功能点分析》 《创建软件工程文化》 《OO项目开发》(这本书的名字记得不是很清楚) 这些书是一个系列丛书。
清华大学出版社出的 《微软项目:求生法则》 《微软研发:致胜策略》 《微软团队:成功秘诀》 原来关于微软开发的系列丛书。
很难买到了,但网上的下载很多 《微软的秘密》 很不错的一本书,很多大学拿它做教材,但我只有这几本《代码大全I,英文已经到今天为止版了...