软件工程专业发展前景
软件工程专业是计算机科学下的热门方向,未来软件工程专业的发展前景如何呢?下文是软件工程专业发展前景,欢迎阅读!
软件工程专业发展前景分析
美国《金钱》杂志公布的从约250种职业中评选出的全美“50大好差事”。结果软件工程师力压“群芳”,荣膺“全美最佳差事”。软件工程师之所以在评选中脱颖而出,主要是由于软件业本身具有较强的加薪前景和晋升潜力,8.05万美元的平均年薪——几乎是美国平均工资的两倍。
就读软件工程专业将来的职业发展定位基本上就是电脑软件工程师(其它还包括软件开发人员,软件系统分析人员,高级程序员,系统程序员,数据库管理者),根据美国劳工部预计,从2008年到2018年,美国软件工程师的就业市场将扩大百分之31,远远超过美国就业增长的平均预期。在这10年时间里,预计该行业将增加295,000就业机会。而就2011年而言,美国总共有大约130万个电脑软件工程师。其中大约有514,800名应用软件工程师,394,800名系统软件工程师。另外还有426,700名电脑编程师。
软件工程是一个很好的方向,很适合将来在美国就业立足。比如说,如果你作一个关于测试理论或者开发方法的论文,接触一些软件开发和测试过程中的问题,找工作面试的时候,你可以拿你的论文项目当成经验来说,容易跟别人谈的来。而且,由于很多软件工程的研究项目适用于各个领域,找工作局限性小。所以不管是EMC这样的存储公司,还是CISCO这样的网络公司,或者是ORACLE这样的数据库软件开发商,你都可以兜售自己的项目,都可以说你自己似如何在开发的过程中用什么样的方法开发,问题何在,用什么样的方法测试,coverage如何。
软件工程就业发展薪资
以美国为例,结合美国劳工统计局公布的数据软件工程典型的从业职业及其薪水如下:
-- 程序员(Computer Programmers): ,260
-- 程序开发师(Software Developers, Applications): ,280
-- 系统开发师(Software Developers, Systems Software): 2,550
-- 网络开发师(Web Developers): ,100
-- 数据库管理员(Database Administrators): ,120
-- 网络及计算机系统管理员(Network and Computer Systems Administrators): ,320
-- 网络架构师(Computer Network Architects): ,000
-- 系统分析员(Computer Systems Analysts): ,800
-- 信息安全分析员(Information Security Analysts): ,290
软件工程需求
业务需求(Business requirement)表示组织或客户高层次的目标。业务需求通常来自项目投资人、购买产品的客户、实际用户的管理者、市场营销部门或产品策划部门。业务需求描述了组织为什么要开发一个系统,即组织希望达到的目标。使用前景和范围( vision and scope )文档来记录业务需求,这份文档有时也被称作项目轮廓图或市场需求( project charter 或 market requirement )文档。
用户需求(user requirement)描述的是用户的目标,或用户要求系统必须能完成的任务。用例、场景描述和事件――响应表都是表达用户需求的有效途径。也就是说用户需求描述了用户能使用系统来做些什么。
功能需求(functional requirement)规定开发人员必须在产品中实现的软件功能,用户利用这些功能来完成任务,满足业务需求。功能需求有时也被称作行为需求( behavioral requirement ),因为习惯上总是用“应该”对其进行描述:“系统应该发送电子邮件来通知用户已接受其预定”。功能需求描述是开发人员需要实现什么。
系统需求(system requirement)用于描述包含多个子系统的产品(即系统)的顶级需求。系统可以只包含软件系统,也可以既包含软件又包含硬件子系统。人也可以是系统的一部分,因此某些系统功能可能要由人来承担。
业务规则包括企业方针、政府条例、工业标准、会计准则和计算方法等。业务规划本身并非软件需求,因为它们不属于任何特定软件系统的范围。然而,业务规则常常会限制谁能够执行某些特定用例,或者规定系统为符合相关规则必须实现某些特定功能。有时,功能中特定的质量属性(通过功能实现)也源于业务规则。所以,对某些功能需求进行追溯时,会发现其来源正是一条特定的业务规则。
功能需求记录在软件需求说明书( SRS )中。 SRS 完整地描述了软件系统的预期特性。 SRS 我们一般把它当作文档,其实, SRS 还可以是包含需求信息的数据库或电子表格;或者是存储在商业需求管理工具中的信息;而对于小型项目,甚至可能是一叠索引卡片。开发、测试、质量保证、项目管理和其他相关的项目功能都要用到 SRS 。
猜你感兴趣: