Ⅰ 软件工程入门
《UML建模语言中文学习指南》《c语言程序设计与练习》清华大学出版社 谭浩强
Ⅱ 软件工程的全部科目有哪些
软件工程。包含两个部分:软件和工程。软件是程序员做的,而工程是项目负责人管理、程序员实践的。
软件又包含两部分:语法和算法。语法,即要掌握某种编程语言。一般来讲,要想工作中用的上,那么面向过程的语言和面向对象的语言都得掌握。一般学C、C++、Java、Dephi等等。面向过程的程序比较好学,条目也很清晰。而面向对象的编程需要学两方面的内容:语法本身和庞大的类库。算法,这是编程的灵魂。一般包括:数据结构和经典算法。学无止境,一般性的工作话,掌握基本的就够了,如果工作较复杂得多看看算法方面的期刊。
工程。现代软件越变越大,大型的编写工作动不动就涉及万人。工程的方法只是为了更好的组织、协调编写过程。《软件工程》本身就是一本书,很厚的。主要讲软件的生命周期,比较抽象和繁杂,但是规范的工作方式就是从这本书里来的。另外关注一些编程习惯的知识。这也是工程的一部分。
软件只是计算机科学中的一种。所以,比如计算机基础、计算机系统等等宏观的知识也需要理解。特别是对于高级程序员,计算机运行的底层知识就更重要了。操作系统、80x86以及汇编语言是底层知识中的一部分。
软件行业分工很多:网络编程、数据库编程、应用程序编程、游戏编程以及操作系统编程等(中国似乎还没有商业化的操作系统),研究任何一个都挺累人的。学习完上面的基础知识后,就需要给自己选一个专业方向了。
建议一个学习流程。如果你什么都没有学。
1】计算机基础知识。主要是硬件方面(大一水平)
2】同时,学习C语言,语法就够了
3】透彻的理解C++需要用C语言去编写一个图形化的应用程序,但是,似乎也有一些直接上手的C++教材。学习语法,简单的类库。(现在就是大二的水平)
4】数据结构,C++表述的。《数据结构》的书里面会有一些经典的算法的。
5】操作系统、80x86与汇编(大三水平,大四几乎没有几本书要念的。)
6】专业学习。一方面是专业上的知识,另一方面是类库在专业上的使用。(我想,应该可以工作了,大学里关于这方面的知识是很浅薄的,仅仅建立一个概念而已。但是要拿来谋生的话,就需要学多点了,前面所有的积淀都是为了这个目标的)
先学着,自己有体会后,就能确定自己应该学到什么程度。如果一切顺利的话,大概两年多一点就可以完成这个过程。
Ⅲ 大学的软件工程……一个初学者
呵呵,我也是学软件工程的,刚读完大一,说说我的体会吧。软件工程,重在研究和实践。因为这是一门技术要求比较高的学科,如果在学习时不刻苦,只知道一点皮毛知识是不行的,而且这是公认的比较难学的专业,有历届学姐学长都感觉很难的几门课目:计算机组成(大一下学的,学起来真的超级痛苦)以后还有计算机网络,操作系统的,都很难啊!!但主线是计算机语言,刚进来一般会学C++,建议先看看C++程序设计,以后可能会接触JAVA,C#等,这个专业就业率很不错的,就是要看自己的发展情况了,资薪上会因个人努力程度的不同而有很大差异,另外,此专业英语和数学都很重要,最好都要学好。
总结一下,可以用一个月看看C++,一定要早入门!!以后要学的数据结构是很重要的,一般是学基于C++的数据结构(反正我们是这样的)进来后要好好研究啊,没事多编程,只要肯钻研,前途很光明啊!!祝你成功哈!
Ⅳ 软件工程的几个方向(专业)的区别急 急
java方向现在是最热门的方向,也是工资较高,比较好就业的方向。稍微大型一点的应用软件现在一般都采用java技术来实现,特别是现在的安卓手机应用非常火。
嵌入式开发通常是开发智能设备所需要,这个方向工作往往很稳定,职业前景很好,能做到越老越值钱,这是其他方向难有的。但入门门槛也相应较高。
.NET方向现在主要还是往C#方向走,往往能投入较少精力就能开发出较好的软件,关键是很多东西都被微软公司控制,这个方向日本来的外包项目很多,要学好日语才好就业。
Ⅳ 软件工程入门学些什么
这些日子,研究了下软件工程专业的课程体系。
正巧遇到一些同学感觉迷茫,不知道该学些什么。
那好,我就来从头分析下,每个学期该学些什么,看些什么。
以下的分析主要讨论实践学习,至于理论学习和研究,留待以后分解。
第一学期
通过阅读大量的C代码,了解计算机程序设计方法和一般规则,为以后学习打下坚实的基础。在计算机文化基础部分,可以考虑学习网页设计(最好是从HTML和JS开始,别直接用工具),C代码可以找些开源项目的代码片段阅读。本学期除了课堂要求,最少要完成500行以上的代码量,并在假期完成一个至少200行程序的小型程序。
专业课程
计算机文化基础
课外学习
《深入理解计算机系统》
C语言
阅读大量的C代码
数字逻辑
第二学期
本学期是的专业课程不多,建议将大量的时间投入在数据结构和算法上边。C++同样要阅读和书写大量的代码。计算机组成原理是单片机和嵌入式方向的基础,要将各功能电路部分完全看懂和活用,如果有机会做整机实验(就是那个课程设计),一定要认真思考,另外,这个课程是考研课,考研的同学要认真了。数据结构是这个学期的重点内容,其核心是各种数据结构的特性,在算法初步那部分,要认真对待排序和查找的内容,最好多做练习,这个也是考研课。另外,完全照搬和硬套某些算法或者莫名其妙的使用某种数据结构来设计程序,是非常不理智和有害的,这样做使得对问题的认识过程出现错误,而且将问题复杂化了。
专业课程
C++
课外学习
《C++ primer》
数据结构
《Thinking in C++》
计算机组成原理
《算法导论》
《代码大全》(第二版)
深入研读《深入理解计算机系统》
第三学期
这学期的课程,可以说是软件工程专业最为重要的了,在java部分,已经可以开始思考面向对象和设计模式的问题了。操作系统可以说是计算机科学与工程实践之集大成者,其中大量的运用了数据结构、计算机组成原理等课程中学习的设计方法,包含了计算机工程实践方面遇到问题时的解决方案,而且本身就是代码阅读的最好素材。能够深入理解了计算机操作系统理论与实践的人,想不牛都难。数据库啊,这东西是以后大部分人混饭吃的看家本事了,重要性你看着办吧,一定要多写SQL啊。至于软件工程这门课,就冲着你是软件工程专业的学生也要学好啊。书本上的过程和方法不是写着玩的,这可要想学好,不思考、不实践可不行。
专业课程
Java
课外学习
《代码阅读》
操作系统
《Thinking in C++》
数据库
《操作系统-设计与实现》
软件工程概论
《linux 0.11内核完全解析》赵炯
《数据库系统概念》
《统一软件过程》
第四学期
本学期的专业课程压力很大,计算机网络课程不是你上课听讲,写个socket程序就能够学好的。真正从事这方面实际工作的话,这里面有相当多的工程问题,要慢慢的积累。当然《TCP/IP详解》的第一卷和第三卷是不能少的,还有套《用TCP/IP实现网际互联》也很不错,另外思科的CCXX系列教程也是必读的。网络的学习,不能够光看应用层的东西,其历史沿革、底层原理都是要看的。软件体系结构这门课,是软件架构设计的宏观性的基础课程,对于以后的软件架构设计来说,是必不可少的。我个人建议大家在课余的时间多在网上看看(并且收集)一些著名的(或者在建设中的)软件项目的设计文档,对你以后的软硬件架构设计很有好处,以后写设计方案的时候,眼界也开阔很多。主流数据库是上学期课程的升级版,不管课上学的什么,大家至少要找台Oracal服务器来配置、管理一下,最好把四大主流都试试(MS SQL Server, ORACLE, DB2, MySQL)。汇编与接口,是嵌入式的入门课程,大家要好好学习,多做实验,具体的不多说了。软件项目管理,使软件工程专业最重要的管理类课程了,同样,光研究理论是没用滴,实践啊!Team leader不好当啊。另外,我在写一篇关于学生团队项目管理方面的文章,还没完成,这里就不多说了。
这学期在学习的同时,还要关注一些项目管理类的课外书籍,多多益善啊。毕竟大部分人都不可能做一辈子程序员的。
专业课程
计算机网络
课外学习
《TCP/IP详解》
软件体系结构
《Thinking in C++》
主流数据库
《人件集》《人月神话》《最后期限》
汇编与接口技术
《程序开发心理学》
软件项目管理
《设计模式》四人帮那本
第五学期
Dot Net这东西啊,毁誉参半啊。Dot Net这东西,你要是练成了Code Copyer那你基本就是个编程匠了,而且还很臭。人家微软不是让你RAD之后就不管架构了,这点一定要注意。编译原理这课,学起来有点枯燥,但是这里面很多方法还是很有用处的,而且像形式语言部分就是很多研究工作的基础内容。其他的课程不多说了。
这学期,就多学习一下自己感兴趣的方向吧,毕竟下学期就分方向了,然后就是实习、就业,时间不多了。
专业课程
MS Dot Net
课外学习
《敏捷软件开发:原则、模式与实践》
编译原理
《解析极限编程:拥抱变化》
面向对象&UML
《计算机软件测试》
软件质量保证与测试
系统分析与解决方案
图像处理
第六学期
实习就业,迫在眉睫,自己看着办吧,毕竟我说什么大家也不相信,一个个都很牛了。
专业课程
J2EE
课外学习
《方向课读物》
ERP方向
移动计算方向
嵌入式方向
好咧,终于写完了。
这个课表可能会发生变化,这是以05级的课表为参考写成的。如有变化,自己看着调整。计算机学院的同学也可以参考。
写了这么多,希望对大家有所帮助!
Ⅵ 软件工程要学什么基础课
软件工程专业课程设置分为六大类,依次为公共基础课、专业基础课、专业课、专业选修课、集中实践课和课外实践课。
专业基础课主要有:面向对象程序设计、计算机电路、数据结构、工程数学、离散数学、数据库系统概论、软件集成开发环境、计算机组成原理与实验、工程设计导论、汇编语言、操作系统与实验、计算机网络、软件工程、软件工程专业英语、编译原理与实验、系统分析与设计和软件质量保证与测试等课程。
专业课分为四个方向:动漫与数字媒体艺术方向、数据库应用技术方向、嵌入式软件技术方向和网络与通信软件技术方向。
动漫与数字媒体艺术方向专业课主要有:计算机平面设计、数字媒体艺术概论、构成基础、三维动画-MAYA和Flash AS 程序设计等课程;
数据库应用技术方向专业课主要有:MySQL 数据库设计与应用、SQL Server 数据库设计与应用、XML基础、大型数据库开发与应用和数据仓库等课程;
嵌入式软件技术方向专业课主要有:嵌入式操作系统、嵌入式微处理器结构与应用、Android应用程序开发、嵌入式Linux程序设计和WinCE应用程序开发等课程;
网络与通信软件技术方向专业课主要有:通信原理与技术、网络规划设计、WEB 编程技术、网络操作系统和网络信息安全等课程。
Ⅶ 学习软件工程要有什么学科基础
最近很多人都在问如何学习编程。我觉得学习编程最重要的是入门,如果你入门的时候有一个好的方法和思路,打下比较扎实的基础,对今后的编程工作是很有益处的。即使在学习新的编程语言也无所谓,因为它们有很多相通之处,可以相互借鉴。
我认为可以先学习一下pascal,这个语言比较严谨,适合初学者。pascal它被称为教学语言,结构严谨,不像C语言那么灵活,易于理解和学习。 然后可以继续学习C语言,这个语言比较灵活。有了pascal的基础,在进行C语言编程就不会因为C语言的灵活而有问题 。后面的就可以学习VC什么的了。
C语言的书推荐谭浩强的,比较好。
我当时学习pascal和C语言的时候是将书后的习题都做了一遍,感觉效果很好。
当然了,学习什么语言也要看你具体准备从事什么行业。例如你要进行嵌入式开发,C就是很好的选择,如果是Windows开发,那么VC就不错。还有数据库方面的开发、网络开发等等。不同的语言适合不同的方面。要看自己的选择的,呵呵 。
还有很多人说自己的基础很差,甚至中学毕业什么的。其实这个并不重要,比较说英语,在计算机语言里所用到的单词量很少,而且都是常用词,经常使用就记住了。当然,如果你要看原文资料或者帮助的话,专业词汇比较多,不过在金山词霸的帮助下,经常看,也是没什么大的问题的。至于数学什么的,其实数学只是培养你一个逻辑思维能力,在初学编程的时候影响不是很大。况且,作为一个基础编程人员来说,上面还有系统分析师、项目经理,他们会把需求分析、概要设计和详细设计做好的,你只要按照文档写代码就OK了。不过,要上更上一步的话,其他基础知识就非常重要了,毕竟你不能写一辈子代码。
在你学习好C语言以后,个人建议好好学习一下数据结构和软件工程。这两门对你的水平提高都是很有帮助的。特别是软件工程,它能够使你按照科学的工程方法进行软件开发,对今后的发展很有好处。
只是一家之言,有不到之处,还望见谅!
参考资料:http://hi..com/deathdog/blog/item/de92046eea406dde81cb4ab4.html
Ⅷ 软件工程要学什么课程
主干学科:马克思主义理论、大学外语、高等数学、大学物理、物理实验、线性代数、概率论与数理统计、程序设计语言、数据结构、离散数学、操作系统、编译技术、软件工程概论、统一建模语言、软件体系结构、软件需求、软件项目管理。
该专业除了学习公共基础课外,还将系统学习离散数学、数据结构、算法分析、面向对象程序设计、现代操作系统、数据库原理与实现技术、编译原理、软件工程、软件项目管理、计算机安全等课程,根据学生的兴趣还可以选修一些其它选修课。
实践环节:毕业实习、课程设计、计算机工程实践、生产实习、毕业设计(论文)。
培养要求:
本专业是培养适应计算机应用学科的发展,特别是软件产业的发展,具备计算机软件的基础理论、基本知识和基本技能,具有用软件工程的思想、方法和技术来分析、设计和实现计算机软件系统的能力。
同时,各个行业几乎都有计算机软件的应用,比如工业,农业,银行,航空,政府部门等。这些应用促进了经济和社会的发展,使得人们的工作更加高效,同时提高了生活质量。
Ⅸ 软件工程一般要学什么
软件工程
软件工程是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。它涉及程序设计语言、数据库、软件开发工具、系统平台、标准、设计模式等方面。
在现代社会中,软件应用于多个方面。典型的软件有电子邮件、嵌入式系统、人机界面、办公套件、操作系统、编译器、数据库、游戏等。同时,各个行业几乎都有计算机软件的应用,如工业、农业、银行、航空、政府部门等。这些应用促进了经济和社会的发展,也提高了工作效率和生活效率 。
网络工程
网络工程是指按计划进行的以工程化的思想、方式、方法,设计、研发和解决网络系统问题的工程。培养掌握网络工程的基本理论与方法以及计算机技术和网络技术等方面的知识,能运用所学知识与技能去分析和解决相关的实际问题,可在信息产业以及其他国民经济部门从事各类网络系统和计算机通信系统研究、教学、设计、开发等工作的高级网络科技人才。
信息安全
息安全主要包括以下五方面的内容,即需保证信息的保密性、真实性、完整性、未授权拷贝和所寄生系统的安全性。信息安全本身包括的范围很大,其中包括如何防范商业企业机密泄露、防范青少年对不良信息的浏览、个人信息的泄露等。网络环境下的信息安全体系是保证信息安全的关键,包括计算机安全操作系统、各种安全协议、安全机制(数字签名、消息认证、数据加密等),直至安全系统,如UniNAC、DLP等,只要存在安全漏洞便可以威胁全局安全。信息安全是指信息系统(包括硬件、软件、数据、人、物理环境及其基础设施)受到保护,不受偶然的或者恶意的原因而遭到破坏、更改、泄露,系统连续可靠正常地运行,信息服务不中断,最终实现业务连续性。
信息安全学科可分为狭义安全与广义安全两个层次,狭义的安全是建立在以密码论为基础的计算机安全领域,早期中国信息安全专业通常以此为基准,辅以计算机技术、通信网络技术与编程等方面的内容;广义的信息安全是一门综合性学科,从传统的计算机安全到信息安全,不但是名称的变更也是对安全发展的延伸,安全不在是单纯的技术问题,而是将管理、技术、法律等问题相结合的产物。本专业培养能够从事计算机、通信、电子商务、电子政务、电子金融等领域的信息安全高级专门人才。