什么是软件工程师软件工程是到底是干什么的?怎样才成为软件工程师...
从事软件工程的技术人员是软件工程师. 什么是软件工程 .软件工程(SoftWare Engineering)的框架可概括为:目标、过程和原则。
(1)软件工程目标:生产具有正确性、可用性以及开销合宜的产品。
正确性指软件产品达到预期功能的程度。
可用性指软件基本结构、实现及文档为用户可用的程度。
开销合宜是指软件开发、运行的整个开销满足用户要求的程度。
这些目标的实现不论在理论上还是在实践中均存在很多待解决的问题,它们形成了对过程、过程模型及工程方法选取的约束。
(2)软件工程过程:生产一个最终能满足需求且达到工程目标的软件产品所需要的步骤。
软件工程过程主要包括开发过程、运作过程、维护过程。
它们覆盖了需求、设计、实现、确认以及维护等活动。
需求活动包括问题分析和需求分析。
问题分析获取需求定义,又称软件需求规约。
需求分析生成功能规约。
设计活动一般包括概要设计和详细设计。
概要设计建立整个软件系统结构,包括子系统、模块以及相关层次的说明、每一模块的接口定义。
详细设计产生程序员可用的模块说明,包括每一模块中数据结构说明及加工描述。
实现活动把设计结果转换为可执行的程序代码。
确认活动贯穿于整个开发过程,实现完成后的确认,保证最终产品满足用户的要求。
维护活动包括使用过程中的扩充、修改与完善。
伴随以上过程,还有管理过程、支持过程、培训过程等。
(3)软件工程的原则是指围绕工程设计、工程支持以及工程管理在软件开发过程中必须遵循的原则。
软件工程师职业规划怎么写
一.***大学毕业后的十年规划 (2005年-2015年,20岁至30岁) 美好愿望:事业有成,家庭幸福 方 向:企业高级管理人员 总体目标:完成硕士、博士的学习,进入**著名外资企业,成为高层管理者。
已进行情况:读完硕士,进入一家外资企业,想继续攻读博士学位。
二.社会环境规划和职业分析(十年规划) 1、社会一般环境: 中国政治稳定,经济持续发展。
在全球经济一体化环境中的重要角色。
经济发展有强劲的势头,加入WTO后,会有大批的外国企业进入中国市场,中国的企业也将走出国门。
2、管理职业特殊社会环境: 由于中国的管理科学发展较晚,管理知识大部分源于国外,中国的企业管理还有许多不完善的地方。
中国急需管理人才,尤其是经过系统培训的高级管理人才。
因此企业管理职业市场广阔。
要在中国发展企业,必须要适合中国的国情,这就要求管理的科学性与艺术性和环境动态适应相结合。
因此,受中国市场吸引进入的大批外资企业都面临 着本土化改造的任务。
这就为准备去外企做管理工作的人员提供了很多机会。
三.行业环境分析和企业分析 1、行业分析: 本人所在**公司为跨国性会计事务所。
属管理咨询类企业。
由于中国加入WTO,商务运作逐渐全球化,国内企业经营也逐步与国际惯例接轨,因此这类企业在近年来引进中国后得到迅猛的发展。
2、企业分析: **公司是全球四大会计事务所,属股份制企业,企业领导层风格稳健,公司以“诚信、稳健、服务、创新”为核心价值观,十年来稳步在全球推广业务,目前在全球10余个国家、地区设有分支机构。
公司2000年进入中国,同年在上海设立分支机构。
经营中稳健拓展业务的同时重点推行公司运作理念,力求与发展中的共同进步。
本人十分认同公司的企业文化和发展战略,但公司事务性工作太过繁忙,无暇进行个人自我培训,而且提升空间有限。
但总体而言,作为第一份工作可以接触到行业顶尖企业的经营模式是十分幸运的,本人可能在本企业实现部分职业生涯目标。
四.个人分析与角色建议 1.个人分析: (1)自身现状: 英语水平出众,能流利沟通;法律专业扎实,精通经贸知识;具有较强的人际沟通能力;思维敏捷,表达流畅;在大学期间长期担任学生干部,有较强的组织协调能力;有很强的学习愿望和能力。
(2)测评结果(略) 2.角色建议: 父亲:“要不断学习,能力要强”;“工作要努力,有发展,要在大城市,方便我们退休后搬来一起居住生活。
” 母亲:工作要上进 ,婚姻不要误。
老师:“聪明、有上进心、单纯、乖巧”,缺乏社会经验” 同学:“有较强的工作能力”,“适合做白领”。
…… 五.职业目标分解与组合 职业目标:著名外资企业高级管理人员。
1.2005-2008年: 成果目标;通过实践学习,总结出适合当代中国国情的企业管理理论 学历目标:硕士研究生毕业,取得硕士学位;取得律师从业资格、通过GRE和英语高级口译考试 职务目标:外企企业商务助理 能力目标:具备在经济领域从事具体法律工作的理论基础,通过实习具有一定的实践经验;接触了解涉外商务活动;英语应用能力具备权威资格认证;有一定的科研能力,发表5篇以上论文。
经济目标:在校期间兼职,年收入1万元;商务助理年薪5万 2.2005年-2010年: 学历目标:通过注册会计师考试 职务目标:外资企业部门经理 能力目标:熟练处理本职务工作,工作业绩在同级同事中居于突出地位;熟悉外资企业运作机制及企业文化,能与公司上层进行无阻碍地沟通。
经济目标:年薪10万 3.2005年-2010年: 学历目标:攻读并取得博士学位 职务目标:著名外资企业高级管理人员,大学的外聘讲师 能力目标:科研能力突出,在国外权威刊物发表论文; 形成自己的管理理念,有很高的演讲水平,具备组织、领导一个团队的能力;与公司决策层有直接流畅的沟通;具备应付突发事件的心理素质和能力;有广泛的社交范围,在业界有一定的知名度。
经济目标:年薪25万 六.成功标准 我的成功标准是个人事务、职业生涯、家庭生活的协调发展。
只要自己尽心尽力,能力也得到了发挥,每个阶段都有了切实的自我提高,即使目标没有实现(特别是收入目标)我也不会觉得失败,给自己太多的压力本身就是一件失败的事情。
为了家庭牺牲职业目标的实现,我认为是可以理解的。
在28岁之前一定要有自己的家庭。
七.职业生涯规划实施方案 差距:1、跨国企业先进的管理理念和丰富的管理经验;2、作为高级职业经理人所必备的技能、创新能力;3、快速适应能力欠缺;4、身体适应能力有差距。
5、社交圈太窄。
八、缩小差距的方法: 1.教育培训方法 (1)充分利用硕士研究生毕业前在校学习的时间,为自己补充所需的知识和技能。
包括参与社会团体活动、广泛阅读相关书籍、选修、旁听相关课程、报考技能资格证书等。
时间:2008年7月以前。
(2)充分利用公司给员工提供的培训机会,争取更多的培训机会。
时间:长期 (3)攻读管理学博士学位。
时间:五年以内 2.讨论交流方法 (1)在校期间多和老师、同学讨论交流,毕业后选择和其中某些人经常进行交流。
(2)在工作中积极与直接上司沟通、加深了解;利用校友...
学什么编程可以成为软件工程师
软件工程师是一个认证考试,具体地说是从事软件职业的人员的一种职业能力的认证,通过它说明具备了工程师的资格。
软件工程师是从事软件开发相关工作的人员的统称。
它是一个广义的概念,包括软件设计人员、软件架构人员、软件工程管理人员、程序员等一系列岗位,工作内容都与软件开发生产相关。
软件工程师的技术要求是比较全面的,除了最基础的编程语言(C语言/C++/JAVA等)、数据库技术(SQL/ORACLE/DB2等)等,还有诸多如JAVA SCRIPT、AJAX、HIBERNATE、SPRING等前沿技术。
此外,关于网络工程和软件测试的其他技术也要有所涉猎。
如何成为软件工程师?
1. 需求分析能力对于软件工程师而言,理解需求就可以完成合格的代码,但是对于研发项目的组织和管理者,他们不但要理解客户需求,更多时候还要自行制定一些需求。
2. 项目设计方法和流程处理能力软件开发工程师必须能够掌握不少于两到三种的项目设计方法,并能够根据项目需求和资源搭配来选择合适的设计方法进行项目的整体设计。
3. 复用设计和模块化分解能力作为一个从事模块任务的软件开发工程师,他需要对他所面对的特定功能模块的复用性进行考虑,而作为一个系统分析人员,他要面对的问题复杂的多,需要对整体系统按照一种模块化的分析能力分解为很多可复用的功能模块和函数,并针对每一模块形成一个独立的设计需求。
4. 整体项目评估能力作为系统设计人员,必须能够从全局出发,对项目又整体的清醒认识,比如公司的资源配置是否合理和到位,比如工程进度安排是否能最大化体现效率又不至于无法按期完成。
5. 团队组织管理能力完成一个项目工程,需要团队的齐心协力,下面为大家介绍一些技术性的指标和因素:(1)工作的量化没有量化就很难做到合适的绩效考核,而程序量化又不是简单的代码行数可以计算的,因此要求技术管理人员需要能真正评估一个模块的复杂性和工作量。
(2)对团队协作模式的调整一个优秀的软件开发工程师应该能够根据程序员之间的能力水平差距,以及根据项目研发的需求,选择合适的组队方式,并能将责权和成员的工作任务紧密结合,这样才能最大发挥组队的效率。
由此可见,想要成为一名优秀的软件开发工程师,除了具备专业素质之外,还要有一定的管理能力,所以,在学习的时候一定要注重全面发展。
...
怎样才能成为软件工程师啊?
一:软实力:(1)为了以后在技术的道路上走的更加长远,无障碍,要账务必备的文化基础知识,有为重要掌握数学和英语。
(2)要有不断创新的的意识,发现问题的意识,并且有解决为题的思路和方法。
二:硬实力:(1)要学一门计算机语言。
即会和计算机交流。
(2)计算机专业要掌握的必备的课程,比如说大学中的数据结构和算法。
(3)在上面2条都掌握情况下进行软件工程知识的各个阶段的系统学习。
比如:需求分析,需求确定,概要设计,编码,测试。
等。
。
在小学期间着重加强软实力的培养(基础知识和逻辑思维能力)此阶段尽可能的让孩子了解计算机;中学阶段可以尝试大量的一些关于计算机的书,掌握一门语言更好,尽量的用这门语言展示自己的想法。
大学阶段可以深入的学习。
成为软件工程师需要掌握哪些知识
首先C语言你得会,然后是数据结构,然后你学C++,VC++最好也学了(C++跟VC++有些不同),然后再学XML,数据库你学My SQL、SQL Server,Oracle有条件的话就学。
接下来有两个方向,一个是微软方向的,一个是JAVA方向的,看你自己想选哪个方向。
如果选微软方向你就学C#、.NET、网页三剑客(flash、Dreamweaver、Fireworks),其中网页三剑客是做界面用的。
如果你选JAVA方向就学JAVA,Unix操作系统,Linux操作系统。
最后这些学完了你就学个软件工程,然后再进行实际项目的开发练习。
这样应该就可以了。
再补充点:网络方面的内容也很重要,你最好多找找网络方面的书看看,毕竟你是想成为优秀的软件工程师么~多掌握点知识总是有好处的。
还有就是你英文水平最好是良好,最好就是能看英文原版的专业书籍。
当然不能也没关系,我是说尽量达到这个水平。
最重要的还是实践,能不能做出项目来是考核你的很重要的标准。
最后祝你早日成为一名优秀的软件工程师!
怎样在软件工程出人头地?如何成为一名优秀的软件工程师?
跟着学校开的课程学下去,毕业之后或者你认为你可以挑战一下的时候,去考职称,软件工程类分三级:助理软件工程师、初级软件工程师、高级软件工程师,每年统考四次,时间为4月、6月、10月和12月。
具体考试日期、地点、方式,由考生所在地的考试机构或培训机构另行通知。
你们学校应该能解决这个问题。
这三级可以一口气考下去,只要你有能力,比如说你4月考完助理,5月获得资格证,那么6月你就可以考初级,同理10月就可以考高级。
不过考试费可不便宜,没有绝对把握建议你不要去浪费钱:助理软件工程师:报名费10元、认证费130元、考试费200元,培训费1280元。
合计1620元。
软件工程师:报名费10元、认证费160元、考试费240元、论文评审费200元,培训费1580元。
合计2190。
高级软件工程师:报名费10元、认证费260元、考试费400元、论文指导与答辩费700元,培训费1980元。
合计3350元。
既然你家里经济并不宽裕,建议你往这方面培养,而不是高学历,相比之下,职称更有实际价值,当然如果你家里能够承受的话,学历、职称双赢更好。
除此之外,你就不要浪费钱去学什么思科之类的了,从性价比来说对你不实惠。
希望能对你有点帮助。
如何成为一个杰出的程序员或软件工程师
程序员的七种武器 信息技术的发展时间虽然不长,但其爆炸式的发展速度使信息技术迅速覆盖社会和人类生活的各个角落。
程序员们是这场信息化浪潮的见证者之一,更是其中的主要参与者,这是时代赋予每个程序员的机会和责任。
信息技术的更新速度是惊人的,程序员的职业生涯则是一个要求不断学习的过程,永远不能固步自封。
本人在工作期间曾看见过很多程序员只要有闲暇时间就浏览一些没有太大作用的网页,在网上聊天,打游戏,浪费了大量的时间,十分不可取。
而另外一种情况是,IT技术的日新月异使很多程序员眼花缭乱,什么都想学,却又不知从何学起,今天看看这个,明天学学那个,贪多不熟。
虽然IT技术发展迅速,但很多技术都是有规律可循,一些基本的概念、原理和方法还很通用,可以举一反三。
本人根据自己的体会和经验,向那些刚刚踏入IT行业的新程序员们或正在迷茫的程序员们推荐程序员必须掌握的七种武器,有了这七种武器,虽不敢说笑傲江湖,但将自己立于不败之地还是可以的。
第一种武器:开发工具 至少熟练掌握两到三种开发工具的使用,这是程序员的立身之本,其中C/C++和JAVA是我重点推荐的开发工具,C/C++以其高效率和高度的灵活性成为开发工具中的利器,很多系统级的软件还是用C/C++编写。
而JAVA的跨平台和与WEB很好的结合是JAVA的优势所在,而本人对SUN公司的“网络即计算机”的概念相当欣赏,并相信JAVA即其相关的技术集JAVA One会成为未来的主流开发工具之一。
其次,如果能掌握一种简便的可视化开发工具,如VB,PowerBuilder,Delphi,C++ Builder,则更好,这些开发工具减小了开发难度,并能够强化程序员对象模型的概念。
另外,需要掌握基本的脚本语言,如shell,perl等,至少能读懂这些脚本代码。
第二种武器:数据库 为什么数据库是如此重要?很多应用程序都是以数据库的数据为中心,而数据库的产品也有不少,其中关系型数据库仍是主流形式,所以程序员至少熟练掌握一两种数据库,对关系型数据库的关键元素要非常清楚,要熟练掌握SQL的基本语法。
虽然很多数据库产品提供了可视化的数据库管理工具,但SQL是基础,是通用的数据库操作方法。
如果没有机会接触商业数据库系统,可以使用免费的数据库产品是一个不错的选择,如mySQL, Postgres等。
第三种武器:操作系统 当前主流的操作系统是Windows,Linux/Unix,熟练地使用这些操作系统是必须的,但只有这些还远远不够。
要想成为一个真正的编程高手,需要深入了解操作系统,了解它的内存管理机制、进程/线程调度、信号、内核对象、系统调用、协议栈实现等。
Linux作为开发源码的操作系统,是一个很好的学习平台,Linux几乎具备了所有现代操作系统的特征。
虽然Windows系统的内核实现机制的资料较少,但通过互联网还是能获取不少资料。
只有对操作系统有一定的了解后,你会发现自己上了一个新的台阶。
第四种武器:网络协议TCP/IP 在互联网如此普及的今天,如果您还没有对互联网的支撑协议TCP/IP协议栈有很好的掌握,就需要迅速补上这一课,网络技术已改变了软件运行的模式,从最早的客户/服务器结构,到今天的WEB Services,再到未来的网格计算,这一切都离不开以TCP/IP协议栈为基础的网络协议支持,所以,深入掌握TCP/IP协议是非常必要的。
至少,你需要了解ISO七层协议模型,IP/UDP/TCP/HTTP等常用协议的原理和三次握手机制。
第五种武器:DCOM/CORBA/XML/WEB Services 随着技术的发展,软件与网络的无缝结合是必然趋势,软件系统的位置无关性是未来计算模式的重要特征之一,DCOM/CORBA是当前两大主流的分布计算的中间件平台,DCOM是微软COM(组件对象模型)的扩展,而CORBA是OMG支持的规范。
程序员需要做的不仅仅是利用商业的开发平台来开发软件,而是要理解这些技术的初衷,即为什么需要这项技术,如果你能理解了这一点,再回头看这些技术的具体实现,就如庖丁解牛,迎刃而解。
XML/WebServices重要性不言而喻,XML以其结构化的表示方法和超强的表达能力被喻为互联网上的“世界语”,是分布计算的基石之一。
第六种武器:软件工程与CMM 现代大型软件系统的开发中,工程化的开发控制取代个人英雄主义,成为软件系统成功的保证,一个编程高手并不一定是一个优秀的程序员,一个优秀的程序员是将出色的编程能力和开发技巧同严格的软件工程思想有机结合,编程只是软件生命周期中的其中一环,优秀的程序员应该掌握软件开发各个阶段的基本技能,如市场分析,可行性分析,需求分析,结构设计,详细设计,软件测试等。
一句话可以概括我的看法:“创意无限,流程保证”。
第七种武器:强烈的好奇心 什么才是一个程序员的终极武器呢,那就是强烈的好奇心和学习精神。
没有比强烈的好奇心和学习精神更好的武器了,它是程序员们永攀高峰的源泉和动力所在。
转载请注明出处51数据库 » 成为软件工程师的计划