来赋资料网 传媒

软件开发行业的现状和前景4篇

发布时间: 2024-05-27 10:49:34
下载文档

OOSE可较好的描述系统与其用户之间的信息交换机制,即用于向软件系统提出需求后,软件系统完成这项需求的过程。

OOSE方法遵循瀑布式的软件开发过程,首先是描述与系统交互有关的用户视图,然后建立分析模型,最后的构造过程则完成交互设计、实现和测试.

OOSE方法的最大特点是面向用例。

用例(use case)代表某些用户可见的功能,实现一个具体的用户目标.用例代表一类功能而不是使用该功能的某一具体实例.用例是精确描述需求的重要工具,贯穿于整个软件开发过程,包括对系统的测试和验证过程.基于组件的软件工程(CBSE)

如何更好地实现软件重用一直是软件工程的重要研究课题。

OO技术的出现是软件开发技术的巨大进步,但怎样实现大粒度的重用以提高软件的可维护性和可扩展性仍是一个难题,CBSE的发展从根本上解决这一问题:由于COM/DCOM、JavaBeans/EJB等组件标准的出现,CBSE趋向实用。

1990年开始在基于面向对象技术的基础上发展了组件技术,它丰富了重用手段和方法,逐渐成为研究的热点。

组件(Component)是可用来构成软件系统的即插即用(plug and play)的软件成分,是可以独立地制造、分发、销售、装配的二进制软件单元。

CBSE是指用装配可重用软件组件的方法来构造应用程序。

它包含了系统分析、构造、维护和扩展的各个方面,在这些方面中都是以组件方法为核心的.面向服务的软件工程(SOSE)

面对市场需求的快速变化,要求企业系统具有敏捷服务、快速重构、资源重用及自由扩充等特点。

这样就应运而生了面向服务的架构(Service Oriented Architecture,SOA).

它定义了构成系统的服务,通过描述服务之间的交互提供特定的功能特性,并且将服务映射为具体的某种实现技术。

SOA的核心概念是服务,即把软件的某些功能独立出来,使之能独立运行,并且在逻辑关系上和运行的应用系统成为一个层次。

它接受来自所有授权对象的请求,使得服务可以同时为多个应用程序提供相同的功能,大大增大软件复用程度,减少开发和维护成本.一个服务是服务提供者为实现服务请求而执行的一个工作单元(应用程序),是一些良定义的操作,也就是说,一个服务实现了一个应用的功能,它是一个粗粒度的、可发现的软件实体,通过一组松散耦合和基于消息的模型与其它的应用或服务交互.

三:软件工程未来发展趋势

1.需求工程,渐成热点:专业化的角色,日益复杂的业务创新,全球分布的团队以及互联网级的交付速度,这些都对需求获取的正确性和有效性提出了更高的要求;我预计需求工程的研究和实施会成为近期的热点,其中Use Case技术会被更广泛而正确的应用,而相关工具的研发也会成为热点(如IBM Rational RequiementsComposer、Ravenflow等).用例的优势在于它天生是黑盒的,它用自然语言抽象了用户和目标系统的交互,避免了混入分析、设计和实现细节,以保证用例可以被不懂具体技术的业务及测试人员所真正理解。

2.DSSA和MDD,老树新花(基于领域的构架[DSSA]与模型驱动的开发[MDD]):随着软件应用的日益普及,软件已经超出了将手动流程自动化的范畴,而开始成为业务创新的主要推动力.因此,引入捕获特定领域内最先进需求及其实现架构的DSSA成为行业客户的热点之一。

而且,DSSA的引入将MDD门槛大大降低了,也使基于DSSA的MDD支撑工具成为可能,从而可以极大地提高开发效率并保证软件质量(例如,.]elelogic的Rhapsody就是一个成功的基于实时嵌入式系统构架的MDD工具)。

3.迭代/敏捷,渐成标准:随着软件交付周期的日益加快,迭代化开发已经成为大多数软件开发团队的必选项。

但是迭代对整个团队的需求、架构、协同及测试能力都提出了更高的要求,现在许多开发团队都在试图导入迭代化开发的过程中,敏捷可以是被看成迭代化开发的一种导入方式,只不过敏捷的范围其实比迭代化开发更大一些。

4.持续集成,蓄势待发:持续集成是保证迭代化开发质量的主要方式,通过持续集成可以利用自动化的方式来尽量自动地、尽早保证代码质量.随着迭代和敏捷的流行,持续集成相关的工具成为现在市场上的新热点(如持续集成框架IBM Rational BuildForge,开源软件CruiseControl,代码静态分析工具Klocwork Insigtlt,IBM Rational Software Analyzer等)。

5.基于实践的过程框架,方兴未艾:开发角色的专业化的和分布的全球化都要求软件开发过程更加规范,而敏捷又要求过程必须紧密贴合项目的实际需要,因此传统的大一统的过程无法符合这一需求.新一代的过程将是以实践为核心的,项目可以通过组装所需的不同实践来获得贴近项目要求的过程.lJI(Ivar Jacobson International)的EssWork框架和IBMRational的RMC都是新一代的基于实践的过程框架。

6.配置管理,昨日黄花:随着开发团队规模的日益减小,配置管理的复杂性大大降低了,我们注意到越来越多的用户转向使用开源的配置管理工具(如Subeverison,JIRA,hosted—proiects等等);未来的配置管理工具更多的以一种全生命周期管理平台(Application LifecycleManagement)的方式出现,弱化了单项的配置管理能力而强调了全流程的整合。

7.全球化软件协作交付:全球化的世界必然带来全球化的软件交付模式.根据Forrester的数据,目前87%的开发团队是分布式的,56%有两个以上的开发地点,同时企业的合并和收购趋势不断产生众多新的分布式开发团队,企业为了提供全球化的24×7支持和开发能力,也在不断加强全球化软件协作交付能力。

软件开发行业的现状和前景2

前言:软件开发工程是指结合用户需求,进行软件程序或软件系统一部分的设计,通过程序设计语言来实现。

在信息技术迅猛发展背景下,软件开发工具、程序设计语言更为多元,软件开发工程不断创新。

关于软件开发工程现状与前景的分析,能够丰富软件开发工程师的理论,为用户提供更优质的软件服务。

1.软件开发工程现状

1.1分层软件开发

在软件开发工程中,分层技术为关键技术,技术核心为论述计算机软件内部各个结构件的关系,梳理计算机系统结构,为软件程序开发奠定基础。

在计算机软件开发中,分层技术的应用,可完善计算机软件的功能,实现用户需求的有效满足,提升软件系统的智能化程度,保障软件系统的长期可靠应用。

同时,分层技术可使计算机软件表现出更多的层次,强化软件系统的性能。

例如,在双层技术应用中,软件开发工程师需对接计算机软件系统的逻辑处理需求及信息处理能力,将软件的客户端和服务器端为基础,同时进行软件开发,理清计算机软件各部件与程序间的逻辑关系,使软件开发更为规范有序,实现计算机软件的流畅运行,双层技术适用于服务器端软硬件较为优异的工程;在三层技术应用中,软件开发工程师可根据用户需求,合理设计视图层、控制层与数据库层,使软件程序的逻辑性更强,实现软件层次的合理分工,减少软件荷载,提高软件运行效率。

1.2嵌入式软件开发

嵌入式软件开发在软件开发工程中应用较为广泛,软件开发工程师需结合用户对软件系统的需求,设计针对性程序与功能,选择C语言作为开发语言,完成软件系统的开发,并做好测试,保障软件开发工程的质量。

在该过程中,为保障软件开发工程的效率,建议软件工程师采用组件的嵌入式软件开发方式。

以某智能气象站的嵌入式软件开发工程为例,软件开发工程师结合用户需求,将系统划分为传感器硬件模块、传感器软件模块、串口通信器、ZigBee通信器、ISOS接口、存储器、状态模块、主控单元及日志模块等部分,选择Qt跨平台C++开发环境,应用moc元对象编译器开展软件开发,使软件系统顺利通过客户的验收。

1.3 B/S架构软件开发

订单
查询
我们采用的作品包括内容和图片全部来源于网络用户投稿,我们不确定投稿用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的权利,请联系我站将及时删除。
内容侵权、违法和不良信息举报QQ:2751653207 举报邮箱:2751653207@qq.com
Copyright @ 2016 - 2024 来赋资料网 All Rights Reserved 版权所有. 湘ICP备2024075482号-1.