软件技术的发展与创.ppt

上传人:牧羊曲112 文档编号:6441971 上传时间:2023-10-31 格式:PPT 页数:80 大小:224.51KB
返回 下载 相关 举报
软件技术的发展与创.ppt_第1页
第1页 / 共80页
软件技术的发展与创.ppt_第2页
第2页 / 共80页
软件技术的发展与创.ppt_第3页
第3页 / 共80页
软件技术的发展与创.ppt_第4页
第4页 / 共80页
软件技术的发展与创.ppt_第5页
第5页 / 共80页
点击查看更多>>
资源描述

《软件技术的发展与创.ppt》由会员分享,可在线阅读,更多相关《软件技术的发展与创.ppt(80页珍藏版)》请在三一办公上搜索。

1、1,软件技术的发展与创新,蔡希尧2009.05,2,内容,一认识软件二软件技术的发展和创新三方法论的创新四操作系统和中间件的新发展五虚拟计算及其应用的创新六数据集成、安全、存储和管理的发展七软件安全性八多核处理器适用软件的发展九软件即服务的冲击,3,一认识软件,软件的重要性和巨大的影响力并没有得到应有的认识,妨碍了它的作用的发挥。软件能够起什么作用?重要性表现在哪里?以下的事实可以很好地说明。,4,一认识软件,1软件存在于信息系统的各个层次,从基础设施到高层应用,都有软件。信息系统是软件密集的系统。2系统是由实体组成的,实体具有某种功能,功能的执行表现为系统的行为。计算机信息系统中功能的实现可

2、以用硬件,也可以用软件,而以软件为主。,5,一认识软件,3.环境和应用的需求经常变更,硬件对需求变更的适应性差,变更硬件的代价高,软件可以灵活地适应各种变更,而且可以反复重用,可以移植,变更的成本低。,6,一认识软件,4每一个应用都有自己的特殊要求,传统的解决办法是生产专用设备来实现这些特定的应用要求,例如电话交换机是专门用于电话系统的设备。可以利用计算机硬件的通用性,根据应用需求,用软件在通用的计算机硬件上实现各种应用,使执行特定应用软件的通用计算机成为一种专用机。更换软件而保持硬件不变,就成为另外一种专用机。,7,一认识软件,5信息系统的安全性是关键的性能,传统的解决方案是采用密码加密,保

3、护信息的安全,使存储的信息或传输中的信息不会被未经授权者使用、篡改或删除。但是,信息系统不仅仅只是存储信息或传输信息,更加重要的是执行功能,以达到应用的目的,而功能的执行依靠的是软件,软件必须安全可靠,功能才能得到正确的执行。,8,一认识软件,密码算法要编成程序才能够在计算机上执行,可见利用密码保护信息系统的安全性要依靠软件的正确性。密码算法不能消除病毒和木马,而软件能够,例如各种反病毒软件。所以,信息系统的安全性,既有信息的安全性,也有软件的安全性,自身安全的软件,能够保护信息的安全。软件的安全性更加重要。,9,一认识软件,6软件正在不断地扩充它的应用领域,兴起新的革命浪潮。以各种价值链联系

4、在一起的信息系统,如电子商务系统,支持的基础是工作流技术,工作流的核心是服务引擎,服务引擎之间的互动形成价值链的运行,而服务引擎是一组软件。,10,一认识软件,7软件正在进入人们的日常社会生活,“社会软件”(Social software,或称“社交软件”)在兴起。社会软件是基于Web的软件,用户可以用来进行互动、建立关系、组织团体、共享数据,人际间的交往方式和社会的组织结构因此正在发生深刻的变化。,11,一认识软件,8软件是绿色环境的重要支柱,创建绿色环境需要节能减排。依靠软件的虚拟化技术,可以大幅度地减少信息基础设施的设备数量,降低能耗,提高利用率,改善能源分配和调度,提高管理能力和效率。

5、,12,一认识软件,9软件是各种管理工作所依靠的基本技术,是提高各级领导治理能力的技术,是科学研究必备的工作手段,是促进经济发展和社会进步的技术力量。,13,一认识软件,10软件是信息技术今后发展的主要依靠力量。正在进行中的电信和计算的大融合,以软件为主导,引领这一潮流的是软件产业及其大企业。,14,二软件技术的发展和创新,近几年,软件技术发展迅速,有许多创新。1工程方法论的创新,包括:功能抽取技术、模型驱动体系结构、基于模型的软件工程、基于搜索的软件工程、面向方面的软件开发等。,15,二软件技术的发展和创新,2操作系统的新发展,中间件被认定是一类系统软件。3虚拟计算及其应用的创新。4数据集成

6、、安全、管理和联网存储的发展。5肯定了软件安全性是必要的软件需求。,16,二软件技术的发展和创新,6多核处理器适用软件的发展。7软件即服务观念的树立及其巨大影响。这些发展与创新,开辟了新的软件发展的道路,大大地改变了软件工程的面貌。,17,三方法论的创新,1功能抽取技术 卡内基梅隆大学软件工程研究院所倡导的“功能抽取”(Function Extraction)技术,具有自动计算全部程序行为的能力,是一项具有革命性的新技术,能够用更快和更正确的方法取代传统检查编码的人工方法,将大幅度地改变软件开发的过程和方法,增强软件系统的可信度。,18,三方法论的创新,功能抽取技术以函数理论作为基础,把程序看

7、作是数学函数或关系的规则,以实现功能行为的自动化计算。它主要关注通用控制结构所产生的数据的净效果,与计算的过程无关。通用的控制结构有三种:组合(序列)控制结构、选择控制结构和迭代(循环)控制结构。,19,三方法论的创新,2模型驱动体系结构 模型驱动体系结构(Model-driven architecture,MDA)是对象管理集团(OMG)于2001年发布的一种新的软件开发方法。“模型驱动”的意思是软件开发用模型指导系统的理解、设计、实现、部署、操作、维护和修改,改变了长期以来软件开发的道路。,20,三方法论的创新,MDA把软件和系统的模型以所选 择的平台来分类。因为在所有的软件和系统的开发中

8、,都存在对基础设施、语言、硬件、网络拓扑、通信协议等“平台元素”的选择问题。,21,三方法论的创新,MDA把工作的重点从程序设计转移到建立模型,有三个核心模型:计算无关模型,描述系统的问题域及需求。平台无关模型,描述与平台无关的系统功能和操作。平台专用模型,描述系统使用一个或多个特定平台的操作。,22,三方法论的创新,MDA的软件开发使用传统的瀑布模型,它的生命周期如下图所示。,23,三方法论的创新,图中,域和环境用圆表示,圆中的方框表示问题和目标系统。求解过程由实线表示,从问题指向系统。虚线表示行动或结果。CIM:计算无关模型。PIM:平台无关模型。PSM:平台专用模型。ISM:实现专用模型

9、,可有可无。,24,三方法论的创新,3基于模型的软件工程 基于模型的软件工程(Model Based Software Engineering,MBSE)使用建模技术,把软件的生产过程分成两个平行的工程过程,即域工程和应用工程,通过对产品族的属性和结构的形式理解,简化新产品族开发的可重用软件资源的开发,达到码的重用,改善产品质量和产品可维护性,缩短产品开发时间。,25,三方法论的创新,一个MBSE系统的主要组成成分是软件资产、域工程和应用工程,它们的关系如下图所示:,26,三方法论的创新,4基于搜索的软件工程 基于搜索的软件工程(Search-based software engineerin

10、g,SBSE)把软件工程的问题当做搜索问题处理,所使用的搜索技术取自元启发式(Metaheuristic)搜索、运筹学和进化计算等领域的通用算法,如遗传算法、模拟退火算法等。,27,三方法论的创新,利用搜索算法,可以达到自动计算的目的,把软件工程从基于人的智力转移到基于机器的搜索。,28,三方法论的创新,5面向方面软件开发“面向方面软件开发”(Aspect-oriented software development,AOSD)与“面向方面程序设计”(AOP)的概念是在软件模块化的研究中逐步形成的。AOSD能够在软件开发的需求、体系结构、分析、设计、实现、测试、维护的整个生命周期中,支持软件系统

11、的“穿插关注点”(Crosscutting Concerns)的模块化。,29,三方法论的创新,一个关注点(Concerns)就是一个特定的目标,一个需要关心的问题或区域。在多个模块中出现的关注点,叫做“穿插关注点”。穿插关注点使软件的理解、设计、实现和演化变得困难。“方面”(Aspect)就是把多个穿插关注点加以分离,实现关注点的功能所得到的模块。,30,三方法论的创新,面向方面程序设计(AOP)能够把穿插关注点局部化,成为分离的、封装的模块,对穿插关注点的模块化实现能够提供显式的抽象,可以通过代码库提供自动组合模块(方面)的机制。,31,四操作系统和中间件的新发展,操作系统近几年来有许多新

12、的改进,以Windows Vista为例,重大的改变有:(1)提高了安全性 Microsoft在开发Vista时,使用安全性开发生命周期,开发更安全的软件,通过平台技术的革新来提供层次化的防御,增加了许多安全属性以保护客户的计算机。,32,四操作系统和中间件的新发展,Windows Vista现在能够提供的安全功能包括:用户账号控制。内置口令和智能卡的认证功能。能够清除病毒、蠕虫、间谍软件等的入侵。网络接入保护。内置个人防火墙。,33,四操作系统和中间件的新发展,强化了Windows服务,在文件系统、注册处、网络、以及其他容易被恶意攻击所利用的资源中,限制关键性服务的不正常活动。强化了Wind

13、ows浏览器,通过用户账号控制,限制浏览器除了浏览Web以外,不能修改用户的文件,或者加入某些默认的设置。,34,四操作系统和中间件的新发展,数据保护。集成的权力管理客户软件,允许一个组织可以执行文档使用策略,用户可以对文件和目录加密,在智能卡上存储密钥。使用BitLocker驱动器加密,提供机器级的数据保护。利用可信平台模块(TPM)芯片存储硬盘加密密钥。,35,四操作系统和中间件的新发展,(2)加强了搜索功能,便于文件的定位和组织。(3)有32位和64位两种版本,可以选择使用。,36,四操作系统和中间件的新发展,中间件的地位得到提高,成为新的一类系统软件,是操作系统、程序设计语言、和数据库

14、管理系统等系统软件的重要补充。,37,四操作系统和中间件的新发展,基于分布对象计算(DOC)的中间件是使用最多的中间件,它的体系结构由具有一定自治能力的软件对象组成,对象可以在大范围互联的网络上分布配置,客户可以调用施加于目标对象的操作以实现互动,或者调用需要完成应用目标的功能。,38,四操作系统和中间件的新发展,DOC中间件可以分成多个层次,包括特定域中间件、通用中间件、分布中间件和主机基础设施中间件。“主机基础设施中间件”和操作系统及通信协议紧密关联,其主要功能是为更高层次及应用生成一个网络环境。,39,四操作系统和中间件的新发展,40,五虚拟计算及其应用的创新,虚拟化是为真实资源创建替代

15、品的过程,这些替代品与真实资源具有等效的功能和外部接口,但它们的属性(例如尺寸、性能和成本)不同。这些替代品被称为虚拟资源,而它们的用户通常不会察觉到替代过程。,41,五虚拟计算及其应用的创新,虚拟化具有很强的通用性,是赋予能力的技术,不论机构大小,都能适用,而得益巨大。据IBM公布的数据,基础设施的虚拟化,可以节省80的能量和85的机房空间,大幅度地提高了服务器的利用率。,42,五虚拟计算及其应用的创新,企业面临的许多问题,如服务器的低利用率,扩充基础设施但缺乏场地,缺乏资金购买新的硬件,缺乏备份和恢复能力,控制能耗和冷却费用等等,虚拟化都可以解决或者缓解这些问题。,43,五虚拟计算及其应用

16、的创新,典型的应用领域:信息资源优化。存储虚拟化。应用虚拟化。业务的连续性和灾难恢复。测试和开发。,44,六数据集成、安全、存储和管理的发展,1数据集成 数据集成是把不同来源的数据聚集在一起,以便于数据共享,支持一个组织全局的信息管理。对于合作的信息系统,必须对应用加以集成,应用集成的重点是业务过程的集成,业务过程的集成的主要工作是数据集成,没有数据集成,就没有过程集成,也没有应用集成。,45,六数据集成、安全、存储和管理的发展,使用中间件集成是主要的集成模式。中间件有以下几种形式:远程过程调用(RPC)交易处理(TP)监控器 面向消息的中间件(MOM)对象请求中介(ORB)数据请求中介(DR

17、B)包装集成,46,六数据集成、安全、存储和管理的发展,2数据安全保护 数据安全保护的范围很广,抵制形形色色的数据泄漏事件,都属于数据保护工作。缓解和预防数据泄漏的技术措施:数据加密 加密数据的监控 密钥的存储和管理 存储数据的保护,47,六数据集成、安全、存储和管理的发展,数据备份和恢复 数据匹配 反病毒、反间谍、反钓鱼 保护等级标记 应用代理防火墙 建立SSL隧道 建立信誉系统 托管服务,48,六数据集成、安全、存储和管理的发展,3数据联网存储 近几年,数字数据迅速增加,操作维护的费用急剧上升,对存储系统的关注重点在转移。IDC于2008年发布的一份研究报告指出,包括图像、视频、电子邮件、

18、Web页面、即时消息、电话呼叫等的数字数据,每天都在增加。,49,六数据集成、安全、存储和管理的发展,IDC估计,2007年全球生成的数字信息达到161 exabytes。2007年整个数字世界的容量估计为281 exabytes,平均每人42 gigabytes。联网存储是适应当前的发展情况的数据存储的主要发展方向。,50,六数据集成、安全、存储和管理的发展,有两种主要的联网存储(Networked Storage)类型。(1)存储区网络(SAN):是连接存储设备和服务器的专用网络。存储设备包括磁盘阵列、磁带库等,联网的存储设备可以共享,集中管理控制,不属于某个服务器。存储设备和服务器是SA

19、N的节点,连接方式可以是网状的,或任意两者的连接。,51,六数据集成、安全、存储和管理的发展,(2)网络连接存储(NAS):使用特殊设备把存储设备直接连接到网络,这些设备有指定的IP地址,客户可以通过服务器接入。有的场合,客户可以直接接入设备,不需要经过中介。NAS和SAN不同,NAS是连接到网络的文件级存储,使用基于文件的协议。,52,六数据集成、安全、存储和管理的发展,NAS具有可扩充性,可以加入另外的NAS设备,扩充有效存储空间。NAS为网络增加了容错的层次。在通常的情况下,当服务器不工作时,这个服务器所持有的数据不能再使用,但在NAS中,数据是联网的,客户仍然可以使用。,53,六数据集

20、成、安全、存储和管理的发展,(3)IP存储:IP是使用最普遍的网络,存储系统自然可以考虑利用IP联网。IETF的存储工作组定义了一个IP存储(SoIP)框架,它是一个开放的、基于标准的体系结构,用于部署IP存储解决方案,使用的存储标准包括iSCSI、iFCP(Internet Fibre Channel Protocol)和iSNS(Internet Storage Name Service)等。,54,六数据集成、安全、存储和管理的发展,4.数据管理 数据管理是对计划、策略、程序开发、执行和监管,以控制、保护、发放及加强数据和信息资产的价值。数据管理的工作是多方面的,包括:设计数据体系结构,

21、保证数据和信息的兼容性。文档和记录管理 数据库管理,55,六数据集成、安全、存储和管理的发展,主数据和数据引用管理 数据安全管理 数据质量管理 数据仓库和业务智能管理 元数据管理 数据查询和接入管理。多源分布数据、多媒体数据和网络环境下使用数据的管理。,56,七软件安全性,信息系统安全的重要性及其格局的 变化,把软件安全性推到关键位置。当代信息系统都是软件密集系统,一个可以共享的关键性元素是软件,它决定系统的运作行为。软件问题常常会导致现实世界中许多不同类型的失败,甚至可能导致一个企业的死亡。,57,七软件安全性,因为不论用什么方法,软件总存在着缺陷和漏洞。自身的缺陷在某种执行条件下将引发失效

22、,无法提供正确的功能。恶意攻击者可以利用软件的漏洞入侵系统,而软件复杂度的不断增长进一步加剧了这种入侵的可能性。恶意的入侵可能引发系统的灾难性的失效,以至于整个企业运行的中断。,58,七软件安全性,信息安全性的风险从网络转移到应用,又从应用转移到软件,正在引起业务思路和技术的变更。许多组织和个人开始认识到信息系统的安全性风险大部分来自软件,如果业务所运行的软件缺乏安全性,也就不能保护企业的安全性。,59,七软件安全性,软件自身安全性现在被称为“软件系统安全性”(Software System Safety),是指在软件系统的需求规范、设计、实现中存在的漏洞可能引发的安全问题。,60,七软件安全

23、性,由于软件的自然特性不同于硬件,有 许多独特的不安全的原因,如数学模型应用的困难、事故模型和失效模式的特殊性、系统行为的突发性、实体之间的互动引发不安全问题、软件质量难以测量等,实现软件系统安全性的难度大,需要有良好的安全性管理,开发过程中要做好软件安全性分析,形式方法的应用,良好的安全性设计,包括危险处理的设计,最后要做好安全性验证。,61,七软件安全性,软件在使用过程中,会受到恶意的攻击,因此要设法保护软件的安全性,抵制外来攻击,在发生事故以后能够恢复,或者在恶意攻击下仍然能够保持正常的工作。,62,七软件安全性,软件容易被攻击主要原因是由于存在可以被攻击者利用的漏洞,因此,除了在设计和

24、实现中尽可能避免漏洞的存在以外,还要求能够抵制利用漏洞所实施的大多数攻击,或者在被攻击时能容忍差错,并且迅速恢复,保持系统的正常运作。,63,七软件安全性,经验表明,增强对软件安全性的保护,需要在软件开发生命周期中的各个阶段加以考虑,懂得常见的威胁(包括基于语言的缺陷),把安全性列入设计的必须内容,对软件成品进行客观的风险分析和测试。,64,七软件安全性,要做好漏洞管理工作,必须完成三项基本的任务:连续地评估信息系统的安全状况,以认定威胁和不服从策略的事件。自动补救所发生的问题。生成适当的报告。,65,八多核处理器适用软件的发展,多核处理器是两个或更多个独立的核(通常是处理器)组合在一个芯片上

25、。在单一包装的芯片上,多个处理器可以共享一个高速缓存,或者各自有高速缓存。,66,八多核处理器适用软件的发展,过去,处理器生产商一直认为只有通过主频的提高才能提高处理器的性能,但是,Intel奔腾系列的主频达到4G以后,再也无法提高了,于是不得不另外寻找其他的途径,来提高CPU的性能,多核就是找到的解决方案。,67,八多核处理器适用软件的发展,AMD(Advanced Micro Devices)在2005年首先推出双核处理器。Intel在2006年推出双核和四核处理器。2009年2月9日,在“国际固态电路会议”(International Solid-State Circuits Confe

26、rence,ISSCC)上,Intel宣布新的8核、16线程、45纳米线宽的Xeon处理器。,68,八多核处理器适用软件的发展,下图是AMD双核处理器的结构。,69,八多核处理器适用软件的发展,多核处理器需要多线程的程序。操作系统也必须把多线程运行作为正规的模式。一个具有n个核的系统必须有n个或更多个线程才发挥其效能。大多数应用软件不使用并发多线程,因为多线程程序设计比较困难。常见的多线程应用设计模式以一个线程为主,其他线程为辅。这样,使用多核体系结构的应用就没有多少好处。,70,八多核处理器适用软件的发展,真正的多线程程序设计需要对多个线程进行复杂的协调,但由于处理多个线程共享数据的互相交织

27、,使得这种多线程的程序排错很困难。,71,八多核处理器适用软件的发展,多核芯片的性能与工作负载的类型相关,据IDC的统计,与单核芯片相比,最好可提高80,有的应用只能提高30。许多服务器已经使用多核芯片。PC机和笔记本计算机也将大量使用多核处理器。,72,九软件即服务的冲击,“软件即服务”(Software-as-a-Service,SaaS)是一种新的软件部署模式,在互联网上以托管的方式给客户提供应用服务。客户可以预定,而不是买许可证的方式,得到基于Web的应用服务。,73,九软件即服务的冲击,这种新的业务模式,改变了软件供应商、服务提供商和最终用户的角色和责任。SaaS要求传统的软件和服务

28、商家改变它们的市场竞争策略。,74,九软件即服务的冲击,在SaaS模式中,应用驻留在数据中心,由服务提供商维护数据、服务器及相关硬件。终端用户通过互联网浏览器或者后台Web服务器,接入应用。所以,SaaS是“一对多”的交付模型,多个客户共享一个应用,应用的定制化程度低,以避免过大的实现和集成开销。,75,九软件即服务的冲击,SaaS的一个关键前提是服务提供商代替客户投资技术、硬件和服务。客户按照预定内容及“服务等级协议”(Service Level Agreement,SLA)付费,SLA保证客户能够得到的服务性能和可用的等级,客户和SaaS提供商共同承担风险。SaaS使得客户部署应用的时间大

29、大缩短,需要的资源少,投资少,操作、维护和升级的费用低。总体成本低。,76,九软件即服务的冲击,SaaS提供商需要前期投入,但有长期 的收益,比卖许可证更容易建立一个稳定的、连续的收入,能够更好地保护自己的知识产权。通过提高自动化水平,优化过程,SaaS能够帮助提供商减少进入新市场的障碍。不断扩充的功能和远距离应用接入,能够较好地保留客户。,77,九软件即服务的冲击,对于经费有限的客户和季节性雇用人员的机构,SaaS可以让他们更好地调节开销。许多客户实际上缺少时间去完全实现自己安装的解决方案,难以利用自备的资源来保持对IT的变更,利用SaaS使他们容易应对变更,保持竞争力。SaaS展现了客户和

30、服务提供商双赢的格局。,78,九软件即服务的冲击,“软件加服务”(Software+Services,S+S)是继“软件即服务”之后,由微软公司提出的新概念。微软认为,未来的应用将是本地软件和互联网服务的结合,两者彼此互动。软件使服务更好,服务使软件更好,把两者的最好方面结合在一起,将使客户有最好的选择,最大的灵活性和最强的能力。,79,九软件即服务的冲击,微软还认为,在互联网服务方面,用户可以买前试用,按需支付;而本地软件,用户可以自行定制、一次性支付、想用多久就用多久,有完全的控制权。在软件与服务两个方面,如果用户只选择其中的一方,那就把另一方的优势放弃了,只有两方兼备,才能够得到最大的效益。,80,谢谢大家,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号