欢迎来到天天文库
浏览记录
ID:29475996
大小:92.23 KB
页数:13页
时间:2018-12-20
《转发基于组件的软件工程》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、转发基于组件的软件工程摘要:基于组件的软件工程的主要任务是从事把部件(组件)集成为系统的开发,这种开发中部件作为可重用实体,系统的维护和更新是通过定制和替换这些部件来实现的。这需要贯穿于组件和系统整个生命周期的确定的方法体系和工具的支持,包括技术、组织、市场、法律等其他方面。传统的软件工程学科需要新的方法学支持基于组件的开发。IVICACRNKOVIC对出现的这种技术面临的挑战进行了评价,并讨论了它在软件开发过程中的应用。关键词:组件软件工程系统开发UML软件开发面临的挑战我们目睹了软件在商业、
2、工业、管理和研究领域日益膨胀的应用。软件已不再处于技术体系的边缘,已成为许多应用领域中的重要因素。软件的功能而不是其他特性的系统特征,在竞争中日渐成为市场上的决定性因素,如在汽车行业、服务行业和教育领域等。日益增长的软件用户并不都是专家,这些趋势对软件提出了新的要求。可用性、稳健性、易于安装和集成性正变为软件最为重要的特征。由于软件可用性涉及领域很广,不同领域中对集成的要求呈现增长趋势。我们把在不同管理层次的数据和过程集成方式称为垂直统一管理,把来于不同领域的相类似的数据类型和过程的集成称为横向
3、结合。例如,在工业自动化处理中,采自管理的最低层面(田疃管理)中处理过程的数据被直接控制,然后在车间层面(加工管理)被综合,最后进行更进一步的处理。这种处理主要是分析和结合市场提供的数据进行整合,最后在网络上发布(商务管理)。这一系列变动导致了软件变得越来越庞大和复杂。传统上,软件开发致力于处理日益增长的复杂性和作为一个系统对外部软件、交付期限和资金预算的依赖,往往忽略了系统进化或升级方面的要求。这已导致了一系列的问题:大多数项目不能在交付期限内完成,超出了预算,不能达到质量要求和持续增长的软件
4、维护费用。为了应对这样的挑战,软件开发应该能够处理软件的复杂性,并能迅速的接受新的挑战。如果新的软件产品在开始开发时就是乱写(没有规划和分析),那么他们肯定达不到最后的目标。解决这类问题的关键是可重用性。从这个角度上看,基于组件的软件开发(CBD)应该是最好的解决途径。这包括对软件复杂性更有效率的管理,快速地推向市场,更高的生产力(开发效率),提高的质量,更为连贯的一致性和更为广泛的可用性。但是在使用基于组件的开发中有几个危及其成功的不利因素:·开发组件所需要的时间和精力。在所有阻碍可重用组件开
5、发的因素中,比较重要的是对时间和精力增长的需求。构建一个可重用的组件需要三至五倍于开发满足特定需要组件的时间和精力。·不确定和模糊的需求。通常,需求管理是开发过程中一个重要的方面。其主要目的是定义一个一致和完整的组件需求。可重用组件被定义,然后应用在项目中,其中一些应用和需求难以预见,包括功能性和非功能性的。·可用性和可重用性的冲突。为了更为广泛的应用,一个组件必须足够的全面综合、可升级和易于维护,这导致了组件更为复杂(给使用也带来了一定的难度),对计算资源更多的消耗需求(使用所需要的花费也上升
6、了)。对可重用性的需求可能导致转向其他的开发途径,如采用一个新的较为抽象的开发层次,这会减少弹性和可微调性,但更好的实现了简洁性。·组件维护所需的花销。应用软件维护所需要的花费可能会很低,但组件维护所需要的花费会很高。这是因为组件必须和在不同环境下的不同应用的不同需求相一致,这包括不同的可依赖性的需求和可能需要不同级别维护支持的需求。·可靠性和对挑战的灵敏性。由于组件和应用软件有独立的生命周期和不同种类的需求,所以存在组件不能完全满足应用软件需求或可能具有某些应用软件开发者也不确定的隐藏特征的风
7、险。在介绍应用程序级别的挑战中(比如操作系统的更新,其他组件的更新,应用软件的挑战等等),以上介绍的挑战可能导致系统崩溃的风险。为了充分利用他的优点并努力避免风险和问题,我们需要一个系统化途径去实现在不同处理过程和技术层次中基于组件的软件开发。基于组件的软件工程通过组件开发软件的这个观念并不是新出现的。对一个复杂软件系统的传统设计总是从定义组成子系统的部件和模块等开始的,其中包括更低层次的模块,类,过程等等。软件开发中的重用机制已经被使用了很多年了。但是,最近出现的基于组件开发的新技术已进一步地
8、增加了利用可重用组件来构建系统和应用软件的可能性。客户和供应商都对CBD(基于组件开发)开发模式有很高的期望,但他们的期望并不总是得到满足。经验证明,基于组件的软件开发需要一个系统性方法,需要致力于软件开发中的组件方面。传统的软件工程学科必须要适应这种新的方法,新的处理过程也必须得以开发。基于组件的软件工程已作为一个新的软件工程子学科受到认可。基于组件的软件工程的主要的目的是对软件开发所提供的支持,这种开发将系统作为组件集成体,将组件作为可重用实体来看待,通过定制和更换组件来实现维护和更新。系统
此文档下载收益归作者所有