《南理工软件工程讲稿第0章绪论.ppt》由会员分享,可在线阅读,更多相关《南理工软件工程讲稿第0章绪论.ppt(23页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第0章 绪论第0章 绪论0.1 计算机专业应学什么?第0章 绪论态度问题1.只有热爱这个专业,你才会从抽象的理论中找到实实在在的快乐。2.不要用功利眼光对待这个学科,这绝对不是点点鼠标就能挣钱的专业。3.搞明白计算机“科学”与“技术”的含义。4.明确你最终的专业方向是软件还是硬件。第0章 绪论网络是不是专业方向 l网络不是专业方向。网络是最优秀的软件工程师、最优秀的硬件工程师与最优秀的通信工程师的智慧结晶。第0章 绪论软件方向应学什么l学精一揽子数学、数据结构、算法设计、数值分析、汇编语言、操作系统、编译原理、数据库原理、软件工程之类课程后,仔细的听一听硬件课程,他对你有用。第0章 绪论软件工
2、程是不是背背就能过的课l软件工程绝对不是背背就能过的课,计算机理论可能是一个人就能研究出来,软件工程是成千上万软件工程师几十年来失败的教训凝结成的结晶。l计算级专业的人必须具备任何语言1小时上手的能力,最起码要在10分钟把hello world做出来。第0章 绪论学好课程,只是万里长征的第一步 l即使你学好了以上课程,我们仍然差得很远,我们只弄清学什么了,但是还不知道做什么。所以我们要尽可能的多做设计,别一个人闷着头做,两三个人合作一个项目,不会交流的计算机人员30岁以后肯定会下岗。题目呢,尽量是一些简单的底层开发,可以去国外大学网站上搜一搜,要自信你一定能做出来,毕竟不是什么难题,而是我们应
3、当具备的素质。第0章 绪论想做网络工程师l对网络有意,在具备了一定动手能力后从协议或者底层硬件的角度去学习它。否则你只是做重复而又无聊的繁重劳动。l对网络安全感兴趣,那么你就在学会使用各种工具的一个月后从编程的角度深入学习网络协议和操作系统吧!第0章 绪论正确对待认证l MCSE(微软系统工程师认证)、CCNA(Cisco Certified Network Associate-Cisco认证网络支持工程师)、CIW(Certified Internet Webmaster-网络管理员认证)等等都有它存在的意义,只要你有钱都值得一学,他们是最正规的知识来源,是经过理论、实践、时间与市场考验的产
4、品。l绝大部分认证不是高薪的敲门砖,而是你上岗前的智商水平测试。第0章 绪论0.2 从程序员升级到软件工程师第0章 绪论程序员的生涯l迷恋“大全”、“秘籍”一类的书籍,心中只有代码。当我看到一行行枯燥的代码变成了能够打电话的设备,变成了屏幕上漂亮的表格,变成了动听的音乐,成就感油然而生。我觉得自己也是一个出色的程序员了。l无休止地和BUG作斗争。第0章 绪论外出工作的感触l印度一家公司正在做的软件的测试环境,看了他们写的单元测试文档。当看到一个软件模块的单元测试用例有三百多页时,觉得心里很是沉重。第0章 绪论一个软件开发过程的实例1.需求分析2.及时组织培训3.预测结果和开发周期4.开发活动第
5、0章 绪论现实情况l一份报道说,瑞士洛桑一权威机构把中国的科技综合竞争力从原来的第十三位调到二十多位,原因是他们调整了一些评估标准,其中有一条是中国合格工程师的可获得性非常低。l强烈的愿望:快把我们自己升级成合格的工程师吧!第0章 绪论0.3 程序员的基本素质第0章 绪论程序员的基本素质1.团队精神和协作能力 团队精神和协作能力,是程序员应该具备的最基本的,也是最重要的安身立命之本。成功的人很多,但在我生活中我不认识,也没有办法去为他工作,而让成功的人为我工作,在现阶段,我更没有这个实力。只有合作,才是最喜欢和最欣赏的。我也力图借助一个宽松的环境和积极的团队,与更多的人公平合作,以便在未来替自
6、己经营一个抵抗风险的事业。第0章 绪论程序员的基本素质2.文档习惯 良好的文档是正规研发流程中非常重要的环节,作为代码程序员,30的工作时间写技术文档是很正常的,而作为高级程序员和系统分析员,这个比例还要高很多。一个成功的人晓得如何培养好的习惯来代替坏的习惯,当好的习惯积累多了,自然会有一个好的人生。第0章 绪论程序员的基本素质3.规范化,标准化的代码编写习惯 良好的编写习惯,不但有助于代码的移植和纠错,也有助于不同技术人员之间的协作。代码具有良好的可读性,是程序员基本的素质需求。人与人交往,常常是意志力与意志力的较量。不是你影响他,就是他影响你,而我们要想成功,一定要培养自己的影响力,只有影
7、响力大的人才可以成为最强者。第0章 绪论程序员的基本素质4.需求理解能力 程序员需要理解一个模块的需求,写程序不能只关注一个功能需求,性能需求指标中,稳定性,并访支撑能力以及安全性都很重要。作为程序员需要评估该模块在系统运营中所处的环境,将要受到的负荷压力以及各种潜在的危险和恶意攻击的可能性。就这一点,一个成熟的程序员至少需要2到3年的项目研发和跟踪经验才有可能有心得。第0章 绪论程序员的基本素质5.复用性,模块化思维能力 经常可以听到一些程序员有这样的抱怨,写了几年程序,变成了熟练工,每天都是重复写一些没有任何新意的代码,这其实是中国软件人才最大浪费的地方,一些重复性工作变成了熟练程序员的主
8、要工作,而这些,其实是完全可以避免的。第0章 绪论程序员的基本素质6.测试习惯 作为一些商业化正规化的开发而言,专职的测试工程师是不可少的,但是并不是说有了专职的测试工程师程序员就可以不进行自测;软件研发作为一项工程而言,一个很重要的特点就是问题发现的越早,解决的代价就越低,程序员在每段代码,每个子模块完成后进行认真的测试,就可以尽量将一些潜在的问题最早的发现和解决,这样对整体系统建设的效率和可靠性就有了最大的保证。第0章 绪论程序员的基本素质7.学习和总结的能力 程序员是人才很容易被淘汰,很容易落伍的职业,因为一种技术可能仅仅在三两年内具有领先性,程序员如果想安身立命,就必须不断跟进新的技术
9、,学习新的技能。善于学习,对于任何职业而言,都是前进所必需的动力,对于程序员,这种要求就更加高了。学历代表过去,只有学习力才能代表将来。尊重经验的人,才能少走弯路。一个好的团队,也应该是学习型的团队。第0章 绪论本课程教学参考书l 软件工程 lan Sommerville 机械工业出版社l 实用软件工程 郑人杰 编著 清华大学出版社 l 软件工程导论 张海藩编著 人民邮电出版社l 现代软件工程 周之英 编著 科学出版社 l Software EngineeringRoger 机械工业出版社l Rapid DevelopmentMcConnell 电 子 工 业 出版社lSoftware TestingRon Patton 机 械 工 业出版社