软件技术的发展与创新 .ppt
《软件技术的发展与创新 .ppt》由会员分享,可在线阅读,更多相关《软件技术的发展与创新 .ppt(80页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、软件技术的发展与创新软件技术的发展与创新蔡希尧蔡希尧2009.051 1内容内容一认识软件一认识软件一认识软件一认识软件二软件技术的发展和创新二软件技术的发展和创新二软件技术的发展和创新二软件技术的发展和创新三方法论的创新三方法论的创新三方法论的创新三方法论的创新四操作系统和中间件的新发展四操作系统和中间件的新发展四操作系统和中间件的新发展四操作系统和中间件的新发展五虚拟计算及其应用的创新五虚拟计算及其应用的创新五虚拟计算及其应用的创新五虚拟计算及其应用的创新六数据集成、安全、存储和管理的发展六数据集成、安全、存储和管理的发展六数据集成、安全、存储和管理的发展六数据集成、安全、存储和管理的发展
2、七软件安全性七软件安全性七软件安全性七软件安全性八多核处理器适用软件的发展八多核处理器适用软件的发展八多核处理器适用软件的发展八多核处理器适用软件的发展九软件即服务的冲击九软件即服务的冲击九软件即服务的冲击九软件即服务的冲击2 2一认识软件一认识软件 软件的重要性和巨大的影响力并软件的重要性和巨大的影响力并没有得到应有的认识,妨碍了它的作没有得到应有的认识,妨碍了它的作用的发挥。软件能够起什么作用?重用的发挥。软件能够起什么作用?重要性表现在哪里?以下的事实可以很要性表现在哪里?以下的事实可以很好地说明。好地说明。3 3一认识软件一认识软件 1软件存在于信息系统的各个层次,从软件存在于信息系统
3、的各个层次,从基础设施到高层应用,都有软件。信息系基础设施到高层应用,都有软件。信息系统是软件密集的系统。统是软件密集的系统。2系统是由实体组成的,实体具有某种系统是由实体组成的,实体具有某种功能,功能的执行表现为系统的行为。计功能,功能的执行表现为系统的行为。计算机信息系统中功能的实现可以用硬件,算机信息系统中功能的实现可以用硬件,也可以用软件,而以软件为主。也可以用软件,而以软件为主。4 4一认识软件一认识软件 3.环境和应用的需求经常变更,硬环境和应用的需求经常变更,硬件对需求变更的适应性差,变更硬件件对需求变更的适应性差,变更硬件的代价高,软件可以灵活地适应各种的代价高,软件可以灵活地
4、适应各种变更,而且可以反复重用,可以移植,变更,而且可以反复重用,可以移植,变更的成本低。变更的成本低。5 5一认识软件一认识软件 4每一个应用都有自己的特殊要求,每一个应用都有自己的特殊要求,传统的解决办法是生产专用设备来实现这传统的解决办法是生产专用设备来实现这些特定的应用要求,例如电话交换机是专些特定的应用要求,例如电话交换机是专门用于电话系统的设备。门用于电话系统的设备。可以利用计算机硬件的通用性,根据应可以利用计算机硬件的通用性,根据应用需求,用软件在通用的计算机硬件上实用需求,用软件在通用的计算机硬件上实现各种应用,使执行特定应用软件的通用现各种应用,使执行特定应用软件的通用计算机
5、成为一种专用机。更换软件而保持计算机成为一种专用机。更换软件而保持硬件不变,就成为另外一种专用机。硬件不变,就成为另外一种专用机。6 6一认识软件一认识软件 5信息系统的安全性是关键的性能,信息系统的安全性是关键的性能,传统的解决方案是采用密码加密,保护信传统的解决方案是采用密码加密,保护信息的安全,使存储的信息或传输中的信息息的安全,使存储的信息或传输中的信息不会被未经授权者使用、篡改或删除。不会被未经授权者使用、篡改或删除。但是,信息系统不仅仅只是存储信息或但是,信息系统不仅仅只是存储信息或传输信息,更加重要的是执行功能,以达传输信息,更加重要的是执行功能,以达到应用的目的,而功能的执行依
6、靠的是软到应用的目的,而功能的执行依靠的是软件,软件必须安全可靠,功能才能得到正件,软件必须安全可靠,功能才能得到正确的执行。确的执行。7 7一认识软件一认识软件 密码算法要编成程序才能够在计算机上密码算法要编成程序才能够在计算机上执行,可见利用密码保护信息系统的安全执行,可见利用密码保护信息系统的安全性要依靠软件的正确性。密码算法不能消性要依靠软件的正确性。密码算法不能消除病毒和木马,而软件能够,例如各种反除病毒和木马,而软件能够,例如各种反病毒软件。病毒软件。所以,信息系统的安全性,既有信息的所以,信息系统的安全性,既有信息的安全性,也有软件的安全性,自身安全的安全性,也有软件的安全性,自
7、身安全的软件,能够保护信息的安全。软件,能够保护信息的安全。软件的安全性更加重要。软件的安全性更加重要。8 8一认识软件一认识软件 6软件正在不断地扩充它的应用领域,软件正在不断地扩充它的应用领域,兴起新的革命浪潮。以各种价值链联系在兴起新的革命浪潮。以各种价值链联系在一起的信息系统,如电子商务系统,支持一起的信息系统,如电子商务系统,支持的基础是工作流技术,工作流的核心是服的基础是工作流技术,工作流的核心是服务引擎,服务引擎之间的互动形成价值链务引擎,服务引擎之间的互动形成价值链的运行,而服务引擎是一组软件。的运行,而服务引擎是一组软件。9 9一认识软件一认识软件 7软件正在进入人们的日常社
8、会生活,软件正在进入人们的日常社会生活,“社会软件社会软件”(Social software,或称,或称“社社交软件交软件”)在兴起。社会软件是基于)在兴起。社会软件是基于Web的的软件,用户可以用来进行互动、建立关系、软件,用户可以用来进行互动、建立关系、组织团体、共享数据,人际间的交往方式组织团体、共享数据,人际间的交往方式和社会的组织结构因此正在发生深刻的变和社会的组织结构因此正在发生深刻的变化。化。1010一认识软件一认识软件 8软件是绿色环境的重要支柱,创建软件是绿色环境的重要支柱,创建绿色环境需要节能减排。依靠软件的虚拟绿色环境需要节能减排。依靠软件的虚拟化技术,可以大幅度地减少信
9、息基础设施化技术,可以大幅度地减少信息基础设施的设备数量,降低能耗,提高利用率,改的设备数量,降低能耗,提高利用率,改善能源分配和调度,提高管理能力和效率。善能源分配和调度,提高管理能力和效率。1111一认识软件一认识软件 9软件是各种管理工作所依靠的基本软件是各种管理工作所依靠的基本技术,是提高各级领导治理能力的技术,技术,是提高各级领导治理能力的技术,是科学研究必备的工作手段,是促进经济是科学研究必备的工作手段,是促进经济发展和社会进步的技术力量。发展和社会进步的技术力量。1212一认识软件一认识软件 10软件是信息技术今后发展的主要依软件是信息技术今后发展的主要依靠力量。正在进行中的电信
10、和计算的大融靠力量。正在进行中的电信和计算的大融合,以软件为主导,引领这一潮流的是软合,以软件为主导,引领这一潮流的是软件产业及其大企业。件产业及其大企业。1313二软件技术的发展和创新二软件技术的发展和创新 近几年,软件技术发展迅速,有许近几年,软件技术发展迅速,有许多创新。多创新。1工程方法论的创新,包括:功工程方法论的创新,包括:功能抽取技术、模型驱动体系结构、基能抽取技术、模型驱动体系结构、基于模型的软件工程、基于搜索的软件于模型的软件工程、基于搜索的软件工程、面向方面的软件开发等。工程、面向方面的软件开发等。1414二软件技术的发展和创新二软件技术的发展和创新 2操作系统的新发展,中
11、间件被操作系统的新发展,中间件被认定是一类系统软件。认定是一类系统软件。3虚拟计算及其应用的创新。虚拟计算及其应用的创新。4数据集成、安全、管理和联网数据集成、安全、管理和联网存储的发展。存储的发展。5肯定了软件安全性是必要的软肯定了软件安全性是必要的软件需求。件需求。1515二软件技术的发展和创新二软件技术的发展和创新 6多核处理器适用软件的发展。多核处理器适用软件的发展。7软件即服务观念的树立及其巨软件即服务观念的树立及其巨大影响。大影响。这些发展与创新,开辟了新的软件这些发展与创新,开辟了新的软件发展的道路,大大地改变了软件工程发展的道路,大大地改变了软件工程的面貌。的面貌。1616三方
12、法论的创新三方法论的创新 1功能抽取技术功能抽取技术 卡内基梅隆大学软件工程研究院所倡导卡内基梅隆大学软件工程研究院所倡导的的“功能抽取功能抽取”(Function Extraction)技术,具有自动计算全部程序行为的能力,技术,具有自动计算全部程序行为的能力,是一项具有革命性的新技术,能够用更快是一项具有革命性的新技术,能够用更快和更正确的方法取代传统检查编码的人工和更正确的方法取代传统检查编码的人工方法,将大幅度地改变软件开发的过程和方法,将大幅度地改变软件开发的过程和方法,增强软件系统的可信度。方法,增强软件系统的可信度。1717三方法论的创新三方法论的创新 功能抽取技术以函数理论作为
13、基础,把功能抽取技术以函数理论作为基础,把程序看作是数学函数或关系的规则,以实程序看作是数学函数或关系的规则,以实现功能行为的自动化计算。现功能行为的自动化计算。它主要关注通用控制结构所产生的数据它主要关注通用控制结构所产生的数据的净效果,与计算的过程无关。的净效果,与计算的过程无关。通用的控制结构有三种:组合(序列)通用的控制结构有三种:组合(序列)控制结构、选择控制结构和迭代(循环)控制结构、选择控制结构和迭代(循环)控制结构。控制结构。1818三方法论的创新三方法论的创新 2模型驱动体系结构模型驱动体系结构 模型驱动体系结构(模型驱动体系结构(Model-driven architect
14、ure,MDA)是对象管理集团)是对象管理集团(OMG)于)于2001年发布的一种新的软年发布的一种新的软件开发方法。件开发方法。“模型驱动模型驱动”的意思是软件开发用的意思是软件开发用模型指导系统的理解、设计、实现、模型指导系统的理解、设计、实现、部署、操作、维护和修改,改变了长部署、操作、维护和修改,改变了长期以来软件开发的道路。期以来软件开发的道路。1919三方法论的创新三方法论的创新 MDA把软件和系统的模型以所选把软件和系统的模型以所选 择的平台来分类。因为在所有的软件择的平台来分类。因为在所有的软件和系统的开发中,都存在对基础设施、和系统的开发中,都存在对基础设施、语言、硬件、网络
15、拓扑、通信协议等语言、硬件、网络拓扑、通信协议等“平台元素平台元素”的选择问题。的选择问题。2020三方法论的创新三方法论的创新 MDA把工作的重点从程序设计转移到把工作的重点从程序设计转移到建立模型,有三个核心模型:建立模型,有三个核心模型:计算无关模型,描述系统的问题域及计算无关模型,描述系统的问题域及需求。需求。平台无关模型,描述与平台无关的系平台无关模型,描述与平台无关的系统功能和操作。统功能和操作。平台专用模型,描述系统使用一个或平台专用模型,描述系统使用一个或多个特定平台的操作。多个特定平台的操作。2121三方法论的创新三方法论的创新 MDA的软件开发使用传统的瀑布模型,的软件开发
16、使用传统的瀑布模型,它的生命周期如下图所示。它的生命周期如下图所示。2222三方法论的创新三方法论的创新 图中,域和环境用圆表示,圆中的方框图中,域和环境用圆表示,圆中的方框表示问题和目标系统。求解过程由实线表表示问题和目标系统。求解过程由实线表示,从问题指向系统。虚线表示行动或结示,从问题指向系统。虚线表示行动或结果。果。CIM:计算无关模型。:计算无关模型。PIM:平台无关模型。:平台无关模型。PSM:平台专用模型。:平台专用模型。ISM:实现专用模型,可有可无。:实现专用模型,可有可无。2323三方法论的创新三方法论的创新 3基于模型的软件工程基于模型的软件工程 基于模型的软件工程(基于
17、模型的软件工程(Model Based Software Engineering,MBSE)使用建模)使用建模技术,把软件的生产过程分成两个平行的技术,把软件的生产过程分成两个平行的工程过程,即域工程和应用工程,通过对工程过程,即域工程和应用工程,通过对产品族的属性和结构的形式理解,简化新产品族的属性和结构的形式理解,简化新产品族开发的可重用软件资源的开发,达产品族开发的可重用软件资源的开发,达到码的重用,改善产品质量和产品可维护到码的重用,改善产品质量和产品可维护性,缩短产品开发时间。性,缩短产品开发时间。2424三方法论的创新三方法论的创新 一个一个MBSE系统的主要组成成分是软件系统的主
18、要组成成分是软件资产、域工程和应用工程,它们的关系如资产、域工程和应用工程,它们的关系如下图所示:下图所示:2525三方法论的创新三方法论的创新 4基于搜索的软件工程基于搜索的软件工程 基于搜索的软件工程(基于搜索的软件工程(Search-based software engineering,SBSE)把软件工程)把软件工程的问题当做搜索问题处理,所使用的搜索的问题当做搜索问题处理,所使用的搜索技术取自元启发式(技术取自元启发式(Metaheuristic)搜索、)搜索、运筹学和进化计算等领域的通用算法,如运筹学和进化计算等领域的通用算法,如遗传算法、模拟退火算法等。遗传算法、模拟退火算法等。
19、2626三方法论的创新三方法论的创新 利用搜索算法,可以达到自动计算利用搜索算法,可以达到自动计算的目的,把软件工程从基于人的智力的目的,把软件工程从基于人的智力转移到基于机器的搜索。转移到基于机器的搜索。2727三方法论的创新三方法论的创新 5面向方面软件开发面向方面软件开发 “面向方面软件开发面向方面软件开发”(Aspect-oriented software development,AOSD)与)与“面向方面程序设计面向方面程序设计”(AOP)的概念是)的概念是在软件模块化的研究中逐步形成的。在软件模块化的研究中逐步形成的。AOSD能够在软件开发的需求、体系结能够在软件开发的需求、体系结
20、构、分析、设计、实现、测试、维护的整构、分析、设计、实现、测试、维护的整个生命周期中,支持软件系统的个生命周期中,支持软件系统的“穿插关穿插关注点注点”(Crosscutting Concerns)的模块)的模块化。化。2828三方法论的创新三方法论的创新 一个关注点(一个关注点(Concerns)就是一个特)就是一个特定的目标,一个需要关心的问题或区域。定的目标,一个需要关心的问题或区域。在多个模块中出现的关注点,叫做在多个模块中出现的关注点,叫做“穿插穿插关注点关注点”。穿插关注点使软件的理解、设。穿插关注点使软件的理解、设计、实现和演化变得困难。计、实现和演化变得困难。“方面方面”(As
21、pect)就是把多个穿插关)就是把多个穿插关注点加以分离,实现关注点的功能所得到注点加以分离,实现关注点的功能所得到的模块。的模块。2929三方法论的创新三方法论的创新 面向方面程序设计(面向方面程序设计(AOP)能够把穿插)能够把穿插关注点局部化,成为分离的、封装的模块,关注点局部化,成为分离的、封装的模块,对穿插关注点的模块化实现能够提供显式对穿插关注点的模块化实现能够提供显式的抽象,可以通过代码库提供自动组合模的抽象,可以通过代码库提供自动组合模块(方面)的机制。块(方面)的机制。3030四操作系统和中间件的新发展四操作系统和中间件的新发展 操作系统近几年来有许多新的改进,以操作系统近几
22、年来有许多新的改进,以Windows Vista为例,重大的改变有:为例,重大的改变有:(1)提高了安全性)提高了安全性 Microsoft在开发在开发Vista时,使用安全性开时,使用安全性开发生命周期,开发更安全的软件,通过平发生命周期,开发更安全的软件,通过平台技术的革新来提供层次化的防御,增加台技术的革新来提供层次化的防御,增加了许多安全属性以保护客户的计算机。了许多安全属性以保护客户的计算机。3131四操作系统和中间件的新发展四操作系统和中间件的新发展 Windows Vista现在能够提供的安全功能现在能够提供的安全功能包括:包括:用户账号控制。用户账号控制。内置口令和智能卡的认证
23、功能。内置口令和智能卡的认证功能。能够清除病毒、蠕虫、间谍软件等的入能够清除病毒、蠕虫、间谍软件等的入侵。侵。网络接入保护。网络接入保护。内置个人防火墙。内置个人防火墙。3232四操作系统和中间件的新发展四操作系统和中间件的新发展 强化了强化了Windows服务,在文件系统、服务,在文件系统、注册处、网络、以及其他容易被恶意攻击注册处、网络、以及其他容易被恶意攻击所利用的资源中,限制关键性服务的不正所利用的资源中,限制关键性服务的不正常活动。常活动。强化了强化了Windows浏览器,通过用户账号浏览器,通过用户账号控制,限制浏览器除了浏览控制,限制浏览器除了浏览Web以外,不能以外,不能修改用
24、户的文件,或者加入某些默认的设修改用户的文件,或者加入某些默认的设置。置。3333四操作系统和中间件的新发展四操作系统和中间件的新发展 数据保护。集成的权力管理客户软件,数据保护。集成的权力管理客户软件,允许一个组织可以执行文档使用策略,用允许一个组织可以执行文档使用策略,用户可以对文件和目录加密,在智能卡上存户可以对文件和目录加密,在智能卡上存储密钥。使用储密钥。使用BitLocker驱动器加密,提供驱动器加密,提供机器级的数据保护。利用可信平台模块机器级的数据保护。利用可信平台模块(TPM)芯片存储硬盘加密密钥。)芯片存储硬盘加密密钥。3434四操作系统和中间件的新发展四操作系统和中间件的
25、新发展 (2)加强了搜索功能,便于文件的定位)加强了搜索功能,便于文件的定位和组织。和组织。(3)有)有32位和位和64位两种版本,可以选择位两种版本,可以选择使用。使用。3535四操作系统和中间件的新发展四操作系统和中间件的新发展 中间件的地位得到提高,成为新的中间件的地位得到提高,成为新的一类系统软件,是操作系统、程序设一类系统软件,是操作系统、程序设计语言、和数据库管理系统等系统软计语言、和数据库管理系统等系统软件的重要补充。件的重要补充。3636四操作系统和中间件的新发展四操作系统和中间件的新发展 基于分布对象计算(基于分布对象计算(DOC)的中间)的中间件是使用最多的中间件,它的体系
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件技术的发展与创新 软件技术 发展 创新
限制150内