软件工程技术发展趋势分析论文,软件工程在未来的发展

1,软件工程在未来的发展发展空间很大,主要是智能化方面的开发 。【软件工程技术发展趋势分析论文,软件工程在未来的发展】
2,软件工程的未来行势现在在中国有很多 软件工程师只要你能在这么多的人群中脱颖而出那么你就有很好的前途在中国软件学校多之又多 但是 培养出来的水平 几乎都在那一个水平徘徊 目前中国已经知道的软件工程师有40多万 但是 高水平的 也就说精英中的精英 也只有2,3万左右再说 软件开发是个很繁琐 很复杂的东西要有足够的耐心和精力去完成 因为付出的多 所以 得到的很多 也就是说 薪水方面也相对高点 呵呵 不知道 你想学的是什么我学的是cisco网络工程 我觉得这个很有兴趣 你不行的话去看看当然这只是我的建议 。它未来肯定成为人类的最共同应用的程序
3 , 软件开发前景软件开发是根据用户要求建造出软件系统或者系统中的软件部分的过程 。软件开发是一项包括需求捕捉、需求分析、设计、实现和测试的系统工程 。软件一般是用某种程序设计语言来实现的 。通常采用软件开发工具可以进行开发 。软件分为系统软件和应用软件 , 并不只是包括可以在计算机上运行的程序,与这些程序相关的文件一般也被认为是软件的一部分 。软件设计思路和方法的一般过程 , 包括设计软件的功能和实现的算法和方法、软件的总体结构设计和模块设计、编程和调试、程序联调和测试以及编写、提交程序 。我国的软件行业规模不是很大,有些软件企业在软件制作上,也只是采用了一些软件工程的思想,距离大规模的工业化大生产比较还是有一定的差距;原因有管理体制的问题 , 市场问题,政策问题,也有软件工程理论不全面和不完善的问题 。所以软件工程的研究和应用,以及我国软件行业的进一步发展 , 都需要一定的既有软件工程的理论基础和研究能力,又有一定的实践经验的软件工程科学技术人员来推动 。软件工程的前途是光明的 。软件开发专业学生毕业后可以从事各级各类企事业单位的办公自动化处理、计算机安装与维护、网页制作、计算机网络和专业服务器的维护管理和开发工作、动态商务网站开发与管理、软件测试与开发及计算机相关设备的商品贸易等方面的有关工作 。目前,全世界的软件行业正处于成长期向成熟期转变的阶段 , 而我国的软件行业正处于高速发展的成长期 。因此,软件开发的就业前景非常广阔,有很大的发展空间 。
4,软件开发的薪金现状和未来发展趋势查看文章软件工程未来发展趋势2009-07-16 10:22本文的意图是讨论软件工程的未来发展趋势,但是软件工程的发展不可能是孤立的,所以我们首先需要思考一下计算模型和软件开发本身的变化和趋势 , 再由此推测软件工程的发展趋势 。从计算模型而言,应该来讲,传统的冯.诺依曼仍然被沿用;但从计算能力上来将 , 我们注意到了三个变化: ●CPU的运算能力按摩尔定律快速提升;但提升单颗CPU的计算能力已经越来越困难; ●并行运算技术以及多核多线程技术使服务器的处理能力飞速提升;服务器的处理能力不再是瓶颈 , 从而造成计算能力大量向服务器端迁移,C/S结构被无情抛弃,薄客户端(B/S结构)成为大势所趋; ●互联网的快速普及使得云计算成为可能,通过互联网相连的服务器集群在服务器端提供了更强大的计算能力; 基于上述计算能力的变化 , 从软件开发模式而言,我们注意到以下六个相关的趋势: ●由于计算能力向服务器端的快速集中,提供高并行计算能力和可用性的中间件技术被广泛采用,甚至已经成为构建大型软件系统的必选项; ● 因为采用了中间件技术,软件开发团队可以更集中关注于业务逻辑,而可以将许多细节交给中间件来管理 , 从而大大减少了需要编写的代码行数 , 也直接导致了软件开发团队的规模变得越来越?。?但角色变得越来越专业化(如了解行业的需求分析员,了解中间件技术和领域构架的架构师等); ●计算能力的增强,使软件越来越易用,从而使软件变得无处不在 , 需要的软件开发人员数量急剧增长(组织形态是大量的小规模开发团队);在这一因素以及降低成本的压力下 , 开发外包变得非常普及; ●为了使分布在互联网上系统能够互相协作,SOA成为一个热点; ●互联网的普及,将原来分散开发人员聚合在一起,只要有一个合适的基础和好的框架 , 他们就可以开发出产品级的工具软件(以Eclipse,JBoss,MySQL,Subversion为例) , 从而开源成为了一种趋势; ●B/S结构的系统非常容易升级 , 这使得软件交付和升级的速度大大加快了(从以年月为单位 , 到以周天为单位); 软件开发网 回到正题 , 那么在这些大的趋势的作用下,软件工程会如何发展呢?我觉得在未来几年我们会看到如下的趋势: ●需求工程,渐成热点: 专业化的角色 , 日益复杂的业务创新,全球分布的团队以及互联网级的交付速度,这些都对需求获取的正确性和有效性提出了更高的要求;我预计需求工程的研究和 实施会成为近期的热点,其中Use Case技术会被更广泛而正确的应用,而相关工具的研发也会成为热点(如IBM Rational Requirements Composer, , Ravenflow等 。用例的优势在于它天生是黑盒的 , 它用自然语言抽象了用户和目标系统的交互,避免了混入分析、设计和实现细节,以保证用例可以被不懂具体技术的业务及测试人 员所真正理解 。同时,需求分析员又可以方便地通过用例分析(use case analysis)(即用分析类来试图在理想方式下实现用例) , 将需求体系精华成分析模型 。在这一过程中,需求分析员可以更进一步地完善基于用例的需求体 系,而不必担心分析模型会污染需求 , 从而实现需求与分析的分离及有效互动 。●DSSA和MDD,老树新花(基 于领域的构架(DSSA)与模型驱动的开发(MDD)):随着软件应用的日益普及,软件已经超出了将手动流程自动化的范畴,而开始成为业务创新的主要推动 力 。因此 , 引入捕获特定领域内最先进需求及其实现架构的DSSA成为行业客户的热点之一 。而且,DSSA的引入将MDD门槛大大降低了,也使基于DSSA 的MDD支撑工具成为可能 , 从而可以极大地提高开发效率并保证软件质量(例如 , Telelogic的Rhapsody就是一个成功的基于实时嵌入式系统构 架的MDD工具) 。●迭代/敏捷,渐成标准:随着软件交付周期的日益加快 , 迭代化开发 已经成为大多数软件开发团队的必选项 。但是迭代对整个团队的需求、架构、协同及测试能力都提出了更高的要求,现在许多开发团队都在试图导入迭代化开发的过 程中,敏捷可是被看成迭代化开发的一种导入方式,这不过敏捷的范围其实比迭代化开发更大一些 。敏捷的三个要素是迭代开发、坦诚合作和自适应性 。坦诚合作其实才是敏捷的精髓,如Ivar所说,敏捷其实是有关Social Engineering的 。敏捷的主要贡献在于他更多地思考了如何去激发开发人员的工作热情,这是在软件工程几十年的发展过程中相对被忽略的领域 。●持续集成,蓄势待发:持 续集成是保证迭代化开发质量的主要方式,通过持续集成可以利用自动化的方式来尽量自动地、尽早保证代码质量 。随着迭代和敏捷的流行,持续集成相关的工具成 为现在市场上的新热点(如持续集成框架IBM Rational BuildForge, 开源软件CruiseControl,代码静态分析工具Klocwork Insight,IBM Rational Software Analyzer等) 。持续集成是一个复杂的系统工程 , 组织需要首先将现有的配置管理/变更管理工具与Build环境紧密集成并完成自动化Build过程,在根据企业/项目/产 品的现状,定义如何自动化地检测软件质量(代码静态分析、单元测试或冒烟测试) , 并定义需要自动化生成的管理报表 。●基于实践的过程框架 , 方兴未艾:开 发角色的专业化的和分布的全球化都要求软件开发过程更加规范,而敏捷又要求过程必须紧密贴合项目的实际需要,因此传统的大一统的过程无法符合这一需求 。新 一代的过程将是以实践为核心的,项目可以通过组装所需的不同实践来获得贴近项目要求的过程 。IJI(Ivar Jacobson International)的EssWork和IBM Rational的RMC都是新一代的基于实践的过程框架 。依据过程专家长时间的经验,他(她)们很小心、很仔细地将一个完整的开发过程组件化,从开发过程抽象出一个个可以被单独导入又可以被组装到一起的实践 , 从 而使逐步求精式的过程改进成为可能 。对于一个软件组织而言,如果已经建立一个比较成熟的软件开发流程,但觉得这一流程并不适合所有项目的实际需要,那么目 前可以考虑的是用实践的方式去重新梳理现有流程,以使项目组能够以实践为单位来组装出切合项目实际的流程;另外,该组织也可以将适用于本组织的业界流行的 实践导入到现有流程当中,IJI公司的专家从业界最佳经验中抽取了八个实践,有关信息可访问( http://www.esslab.net:4040 /ngp/) 。●配置管理 , 昨日黄花:随着开发团 队规模的日益减小,配置管理的复杂性大大降低了,我们注意到越来越多的用户转向使用开源的配置管理工具(如 Subeverison,JIRA,hosted-projects等等);未来的配置管理工具更多的以一种全生命周期管理平台(Application Lifecycle Management)的方式出现 , 弱化了单项的配置管理能力而强调了全流程的整合(如Microsoft VisualStudio Team System和IBM Rational Team Concert等) 。即便配置管理的复杂性降低了,但它仍然是开发项目管理的最重要的支撑平台之一 。目前的重点应该是加强对项目经理进行有关配置管理知识的培训,让他(她)们 理解到配置管理能力(如并行开发、基线回退等等)能够如何帮助项目开发过程的,从而使配置管理工具/环境的价值能够得到充分的发挥 。作为结语,软件工程对软件开发的重要性我无须赘言了 。虽然,我上面列出了一些软件工程的热点,但读者一定要仔细分析组织自身特点以确定软件工程的改进步骤,扎扎实实的逐步改进,而不应该盲目地追求热点!5,软件工程的现状论文摘要:软件是一种特殊的产品,随着其规模和复杂性的提高、使用范围的扩大,需要从技术和管理两方面对软件的开发过程进行控制 。从软件工程这门学科和技术出现的背景出发,回顾了软件工程在近40年来理论、方法和实践中的成果 。最后结合Internet技术和平台的挑战,初步讨论了软件工程需要面对的新挑战 。论文关键词:软件危机;构件;体系结构;软件项目管理;中间件1软件工程的出现1.1软件危机20世纪中期,计算机刚被从军用领域转向民用领域使用 , 那时编写程序的工作被视同为艺术家的创作 。当时的计算机硬件非常昂贵 , 编程人员追求的是如何在有限的处理器能力和存储器空间约束下,编写出执行速度快、体积小的程序 。程序中充满了各种各样让人迷惑的技巧 。这时的软件生产非常依赖于开发人员的聪明才智 。到了20世纪60年代,计算机的应用范围得到较大扩展,对软件系统的需求和软件自身的复杂度急剧上升,传统的开发方法无法适应用户在质量、效率等方面对软件的需求 。这就是所谓的“软件危机” 。为解决这个问题 , 1968年NATO会议上首次提出“软件工程”(SotfwraeEngineeirng)的概念,提出把软件开发从“艺术”和“个体行为”向“工程”和“群体协同工作”转化 。其基本思想是应用计算机科学理论和技术以及工程管理原则和方法,按照预算和进度,实现满用户要求的软件产品的定义、开发、发布和维护的工程 。从此也诞生了一门新的学科——软件工程 。迄今为之,为了达到最初设定的目标 , 软件工程界已经提出了一系列的理论、方法、语言和工具,解决了软件开发过程中的若干问题 。但是,由于软件固有的复杂性、易变性和不可见性,软件开发周期长、代价高和质量低的问题依然存在 。IEEE在2002年发表的报告指出,即使是IT产业最发达的美国,在2001年美国本土公司开发的软件产品中平均每1000行代码中有0.37个错误 , 对于美国之外的其他国家,这个比例更高 。1.2软件与其他产品的差异软件是一种特殊的产品 , 人们通常看到的是它的载体,而真正具有意义的是载体上的计算机或信息 。软件既不同于通常的精神产品,也不同于常见的物质产品 。作家的作品是一种精神产品,它没有使用价值却可以供人阅读欣赏 。若把软件也看成是一种作品,却发现其价值在于供人们使用,无人喜欢读它的源代码 。软件也与传统的工业产品不同 。工业产品在设计好之后,主要的成本是原材料成本、生产过程的开销等 , 但生产任何软件的主要成本是设计、实现软件时的成本,以及软件投入使用后的维护成本,在生产线上制造软件的成本非常低 。用户购买某种商品后,就拥有了该商品的所有权和使用权 。可是用户买来的软件却只拥有它的有限“使用权” 。工业产品会随着使用而磨损、报废,但软件在使用过程不会有任何磨损,在相同的硬件条件下用户1年前使用的软件和5年后使用该软件无任何差别 。传统的工业产品在车间里生产,生产过程可见、可触摸,也容易衡量生产过程中的消耗和进展 。可是软件的开发过程在人的大脑里,很难度量其进度 。所谓的“软件工程”就是要这种过程“可视化”、“定量化” , 把看不见的思维活动变成看得见的“文档”或者其他看得见的东西 。2软件工程方法和技术30多年来 , 软件工程的研究和实践取得了长足的进展,尽管目前离彻底解决“软件危机”还有相当的差距(对是否能彻底解决目前也存在争议),但软件工程的方法对软件产业的发展还是起到了很大的推动作用 。从20世纪60年代以来,陆续出现了结构化程序设计技术、计算机辅助软件工程(CASE)、面向对象语言和方法、软件过程及软件过程改善研究等一系列成果,并应用到实践中 。目前软件工程中主要使用的方法和技术可以分成技术和管理两类 。2.1技术的角度主要包括:软件开发范型、软件设计方法 。软件开发范型关注软件工程的方向,即如何才是正确的编写满足需求的软件;软件设计方法关注软件工程的“途径”,即研究怎样完成从高层概念模型到低层概念模型的映射 。软件工程理论在实践中应用时重点放在软件复用上 。参考目前成熟的工业产品的开发模式,软件复用可以在软件开发中避免重复劳动,它以已有的成果为基础 , 充分利用过去开发应用系统中积累的知识和经验,将开发的重点集中于新应用的特有构成成分上 。通过使用软件复用技术,开发应用系统时可以充分利用已有的开发成果,消除软件生命周期中的许多重复劳动 , 提高软件开发的效率 。同时,复用高质量的已有成果,可以避免重新开发时引入的错误,从而提高软件质量 。实现软件复用的关键技术包括软件构件技术(softwarecomponenttechnology)、领域工程(domainen—gineering)、软件体系结构(softwarearchitecture)等 。软件构件是指应用系统中可以明确辨识的构成成分,可复用构件是指具有相对独立功能和可复用价值的构件 。目前,构件的概念即包括源代码,也包括需求、需求规约、系统和软件的体系结构、文档、测试计划、测试用例和数据以及其他对开发活动有用的信息,这些信息都可以称为可复用软件构件 。软件构件技术是支持软件复用的核心技术,其主要研究内容包括:如何有目的的进行构件生产和从已有系统中挖掘提取构件;构件的本质特征及构件间的关系是什么样的;如何描述构件;如何对构件进行分类、组织及检索等 。研究实践表明 , 由于某个特定领域需要的软件具有相似的需求,因此软件复用在特定领域内更容易获得成功,由此出现了领域工程 。领域工程是为一组相似或相近系统的应用工程建立基本能力和必备基础的过程,它涵盖了建立可复用软件构件的所有活动 。包括美国卡内基?梅隆大学软件工程研究所(CMU/SEI)在内的许多研究机构已经提出了一些领域分析方法 。如果软件复用仅停留在代码阶段 , 开发人员得到的好处是有限的 。软件体系结构技术使软件复用从代码复用发展到设计复用和过程复用 。在建筑工程领域人们用体系结构表达建筑的整体结构,软件工程研究中引人体系结构这个术语,其核心内容是软件系统的结构,它包括如下一些实体:构件、构件之间的交互关系、限制、构件和连接件构成的拓扑结构、设计原则与指导方针 。2.2工程管理的角度参考其他成熟工程领域中的做法,软件工程也研究管理学理论在软件工程中的应用 。软件项目管理方法抛弃了以前个人的作坊式开发方式,根据管理科学的理论,结合软件产品开发的实际,保证工程化系统开发方法的顺利实施 。为了使软件项目能够按照预定的成本、进度、质量顺利完成,软件管理方法对成本、人员、进度、质量、风险、文档等进行分析管理和控制 。进行软件项目管理有利于将开发人员的个人开发能力转化成企业的开发能力,企业的软件开发能力越高,表明这个企业的软件生产越趋向于成熟,其开发风险也越小 。软件项目管理已经是公认的软件开发企业的核心竞争力之一 。根据在前面提到的软件与其他产品的区别 , 软件项目管理具有一些与其他项目管理不同的特性软件项目管理中遵循着一些原则,例如:软件项目中需要平衡需求、资源、工期、质量这四个要素之间的关系;大规模的项目要拆分成几个小项目,从而减小项目的管理风险,并且使目标具体明确;依靠一套规范的过程来实时控制项目进度,并确保项目经理能够及时发现问题、解决问题 , 保证项目具有很高的可见度;针对不同项目的特点,制订不同的项目管理的方针政策;合理控制项目组的规模控制原则;有效的积累知识,做到人员的专业化培养 。目前在软件项目管理方面有国际标准化组织专门为软件行业定制的ISO9003标准,它给出了衡量软件质量的准则;美国卡内基?梅隆大学软件工程研究所提出的CMM(CapabilityMaturityModel,能力成熟度模型)则提供了一整套较为完善的软件研发项目管理的方法 。3软件工程的新发展20世纪末开始流行的Internet给人们提供了一种全球范围的信息基础设施,形成了一个资源丰富的计算平台,未来如何在Internet平台上进一步整合资源,形成巨型的、高效的、可信的虚拟环境,使所有资源能够高效、可信地为所有用户服务,成为软件技术的研究热点 。Internet平台具有一些传统软件平台不具备的特征:分布性、节点的高度自治性、开放性、异构性、不可预测性、连接环境的多样性等 。这对软件工程的发展提出了新的问题 。软件工程需要新的理论、方法和技术和平台来应对这个问题 。目前投入很大精力研究的中间件技术就是这方面的典型代表 。综上所述 , Internet及其上应用的快速发展与普及 , 使计算机软件所面临的环境开始从静态封闭逐步走向开放、动态和多变 。软件系统为了适应这样一种发展趋势,将会逐步呈现出柔性、多目标、连续反应式的网构软件系统的形态 。面对这种新型的软件形态,传统的软件理论、方法、技术和平台面临了一系列挑战 。从宏观上看,这种挑战为我们研究软件理论、方法和技术提供了难得的机遇 , 使我们有可能建立一套适合于Internet开放、动态和多变环境的新型软件理论、方法和技术体系 。从微观的角度来看,Internet的发展将使系统软件和支撑平台的研究重点开始从操作系统等转向新型中间件平台,而网构软件的理论、方法和技术的突破必将导致在建立新型中间件平台创新技术方面的突破 。it2009年目标要求软件专业人才达到80万人,软件人才现状,软件企业从业人员50多万,软件开发人员25万人,2009年软件开发专业人才需要量更大,你觉得好不好找工作?更何况,从未来的职业发展道理来看,学软件的技术能力发展空间更大 。未来职业提升空间,相对工资和收入提升空间都要更大 。而且待遇也不一般,你可以选择试试,给你个不错的学校参考一下:南京(软件开发)校区地址:南京市白下区建邺路66号3层 (张府园地铁3号出口) 你可以先去他们的网站看看再决定!

    推荐阅读