版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第15讲软件与软件思维(1)软件定义一切与软件服务第十五章软件与软件思维__________主题1、软件定义一切主题2、软件服务思维主题3、软件构造思维主题4、软件演化与生态思维15.1软件定义一切最初,软件是硬件的附庸;后来,软件一个独立工具现在,软件已经成为我们学习、生活、工作必不可少的部分——我们借助软件:从全球各地搜索知识,管理物理世界和虚拟世界,获得各种各样的服务——我们在软件的世界中成长,然后进一步创造新的软件,让这个世界发生了改变——我们通过软件改变世界的同时,软件也在改变我们软件正在拥有改变世界的力量!__________软件有个“好胃口”
软件创造软件的速度
超过
使用软件的速度
软件定义一切(SDX),跨界融合,一切皆服务(XaaS)…
开源开放开发,低代码编程,分布式远程办公软件正在吃掉世界……软件正在吃掉软件……软件正在吃掉码农?软件定义一切!(SoftwareDefinedEveryting,SDX)软件定义网络软件定义硬件软件定义数据中心软件定义IT价值软件定义一切!!《软件和信息技术服务业发展规划(2016-2020年)》提出,以数据驱动的“软件定义”正在成为融合应用的显著特征,通过软件定义硬件、软件定义存储、软件定义网络、软件定义系统等,带来更多的新产品、服务和模式创新,催生新的业态和经济增长点。思考什么是软件定义?怎样实现软件定义?为什么需要软件定义?思考:为什么出现智能锁?怎样实现智能锁?智能门锁指纹开锁密码开锁密码远程更新报警……?软件?硬件?普通门锁【你的宿舍】使用普通锁?使用智能锁?【全家老小】使用普通锁?使用智能锁?【智能民宿】使用普通锁?使用智能锁?15.1.1软件定义与硬件定义【硬件定义】是指设备/设施/产品的功能全部由机械装置、元器件、电路、芯片等硬件实现。【软件定义】是指除了最基本的硬件,用软件去定义系统的功能,用软件给硬件赋能,实现系统效率和能力的最大化。产品功能设计刚性需求适应性需求必须实现的基础必备需求根据产品定位选择不同途径实现的需求测练题:下列哪些产品是硬件定义的?智能密码门锁第一台电子计算机ENIACAB提交齿轮变速箱C依靠电瓶驱动的自行车D多选题1分测练题:下列哪些产品是软件定义的?智能穿戴手表2G时代的手机AB提交共享电动自行车C教室的日光灯D多选题1分从“硬件定义”到“软件定义”硬件定义软件基于CPU构建的庞大软件生态,这可以算作是“硬件定义软件”:先有CPU硬件,再有编译器,再有OS、应用等站在软件的角度,所有的系统实现均可以通过编程实现。软件更新换代很快,新的热点技术层出不穷。硬件的迭代周期过长,无法跟上软件迭代的节奏CPU通过指令系统,“完美”实现了软件和硬件的标准化解耦。因此,可以认为,在这个时候,不存在硬件定义软件或软件定义硬件,软件和硬件各自并行不悖的快速发展软件和硬件并行发展软件定义系统15.1.1软件定义与硬件定义软件定义网络
SDN(SoftwareDefinedNetwork)硬件定义网络——经过几十年的发展,网络芯片已经演进到了完全ASIC的实现,这意味着基于ASIC芯片的网络设备其功能是确定的,用户只能根据厂家实现的确定功能来使用网络设备基于设备可配置、但不可编程的部署与实施(上架、配置、测试)传统网络面临的挑战多元应用与业务层出不穷相对稳定的规划与部署赶不上快速变化的应用与业务需求分布式的架构、部署与管理厂商和设备的多样性业务弹性响应“捉襟见肘”“应接不暇”软件定义网络
SDN(SoftwareDefinedNetwork)问题的根源何在?!传统网络的只可配置、不可编程数据平面和控制平面的紧耦合解决问题的出路新的网络架构、新的网络设计能够弹性响应上层应用的网络可编程网络设备数据平面和控制平面的解耦软件定义网络
SDN(SoftwareDefinedNetwork)需求之难:一幅漫画带来的思考用户需求描述项目经理的理解系统分析员设计程序员编码商业顾问的诠释安装程序如此简洁实际需求。。。15.1.2为什么需要软件定义功能雾里看花——需求说不清:客户(用户)对需求只有朦胧的感觉隔靴搔痒——需求说不准:分析人员或客户(用户)理解有误刻舟求剑——需求说不全:需求自身经常变动15.1.2为什么需要软件定义功能软件定义是应对多样化需求的关键通用功能远不能满足现今多样化、个性化的需求;硬件迭代更新周期过长、升级维护成本高;软件迭代更新周期短、功能升级维护成本低廉、可面向多样化的需求。如汽车、手机、电视……软件定义的本质是基于软件编程的方式实现定制化功能在硬件资源数字化、标准化的基础上,通过软件编程去实现虚拟化、灵活、多样和定制化的功能,对外专用智能化、定制化的服务,实现应用软件与硬件的分层解耦与功能融合软件定义的泰迪熊眼部安装视频传感器、耳部安装麦克风、口部安装扬声器、体内安装三轴陀螺仪和压力传感器等软件系统对各个硬件进行控制泰迪熊+:更多功能应对多元化需求从硬件定义到软件定义15.1.3实现软件定义的基本途径软硬件解耦、分层设计、应用编程接口(API)和中间件、虚拟化设计思考:从普通锁
软件定义的智能锁?软件定义门锁指纹开锁密码开锁密码远程更新报警……?软件硬件软硬件解耦、分层设计、应用编程接口(API)和中间件……软件定义途径之一:软硬件解耦软硬件解耦耦合两个或两个以上的软(硬)件系统之间存在相互关联、相互依赖、相互影响的作用解除系统之间的相互作用全硬件的计算机是不可编程的,是完全的硬件定义,性能较高但完全没有灵活性,只能实现固定的功能通过软硬件解耦,将硬件资源抽象成标准化构件等形式,由软件可实现任意丰富的功能,提供满足用户需求的智能化、定制化的服务软件和硬件之间的耦合关系电子化数字化软件化(a)软件(钥匙-锁芯)与硬件(锁体-锁舌)紧密耦合,不可改变(b)软件(密码-锁芯)可改变,开锁方式较单一(c)软件(App-锁芯)和硬件部分解耦,可通过蓝牙连接开锁(d)软件(App-锁芯)和硬件完全解耦,可实现多种方式开锁。通过软件设计,还能够增加更多功能,如获知家庭成员回家信息、家庭内外监控、布控防盗、公寓门禁管理网络化智能化软硬件取舍(1)软硬件的关系:软硬件实现在功能上等效理论上,有两种极端实现方法:全硬件机器,包括操作系统、应用程序等全部用硬件实现硬件只有1位加法和分支操作,其他都用软件实现关键问题:性能与价格比软件硬件最少硬件不可编程软硬件比例软硬件分界的标志是指令系统。设置一条指令,就必须有相应的硬件支持。计算机系统结构设计者主要任务就是设计指令系统,确定软硬件的分界,确定软件、硬件和固件的功能分配软件兼容性,即软件可移植性软件向后兼容:在某一时间生产的机器上运行的目标软件能够直接运行于更晚生产的机器上向上兼容:在低档机器上运行的目标软件能够直接运行于高档机器上其中向后兼容最重要,必须做到软硬件取舍(2)
软件与硬件实现的特点硬件实现:速度快、灵活性差、占用内存少软件实现:速度慢、灵活性好、占用内存多成本年代软件硬件(3)发展趋势硬件集成度原来越高,成本不断降低,软件应用增多,越来越复杂,成本越来越高软件与硬件之间、系统软件与应用软件之间的功能边界更柔性化从处理器平台看软硬件耦合程度CPU(CentralProcessingUnit)GPU(GraphicsProcessingUnit)FPGA(Field-ProgrammableGateArray)ASIC(ApplicationSpecificIntegratedCircuit)灵活性多任务,有指令系统,易编程有指令系统,可编程无指令系统,可硬件编程无指令系统,不可编程,不可变更定制化通用通用半定制化全定制化能耗高
低设计成本低
高算力性能低
高开发周期短
长用途70%晶体管用来构建Cache,ALU少,适合逻辑控制运算80%以上晶体管是ALU,适合大规模并行计算适合大规模并行计算,但不适合大量浮点运算为专门目的而设计、制造。体积小、可靠性高、保密性强代表企业Intel,AMD,龙芯NVIDIA,Intel,景嘉微,华为海思Xilinx,Intel,Microsemi,安路科技Google(TPU),Intel(VPU),寒武纪(NPU),地平线(BPU)WSE-2实践:从普通锁
软件定义的智能锁指纹开锁密码开锁密码远程更新报警……解耦软件:密码验证、指纹验证、信息传输、报警、电压监测……硬件:触摸按键、把手、指纹感应器、蜂鸣器、时钟、无线模块、电池……进一步思考:软件定义的共享电动自行车?分层是一种复杂问题“分而治之”解决思想的应用各层“各司其职”,只要层间接口不变,各层可以分开设计实现,高层可以不必知道低层的细节分层是解耦合的基础,增加了设计和实现的灵活性操作系统互联网数据库软件定义途径之二:软件分层“机器语言”——————————>“汇编语言”——————————>“高级语言”打孔卡(punchcard)分层是复杂问题的
“分而治之”方法实践:从普通锁
软件定义的智能锁指纹开锁密码开锁密码远程更新报警……分层前端硬件层:触摸按键、把手、指纹感应器、蜂鸣器、时钟、无线模块、电池……前端软件层:控制开关锁、控制蜂鸣器、数据通信、电压监测……后端硬件层:应用服务器、数据服务器……后端软件层:密码与权限验证、开锁数据统计分析……进一步思考:软件定义的共享电动自行车?软件定义途径之三:API与中间件应用程序接口(ApplicationProgramInterface,API)是一组定义、程序及协议的集合,通过API接口实现计算机软件之间的相互通信调用API函数进行开发,可减轻编程任务中间件(Middleware)位于各类应用/服务与操作系统/数据库系统以及其他系统软件之间,主要解决分布式环境下/不同应用程序之间的数据传输、数据访问、应用调度、系统构建和系统集成、流程管理等问题将软件、硬件进行分离,对下层资源进行抽象、利用,对上层软件提供服务接口中间件将软件、硬件进行分离:对下层硬件资源进行抽象、利用,对芯片进行驱动并优化操作系统,对上层软件提供服务接口,为不同算法提供不同类型的插件。中间件解决数据传输、应用调度、系统集成和流程管理等问题,可大幅提升应用层软件的开发效率纵向层次:中间件位于各类应用/服务与操作系统/数据库系统以及其他系统软件之间,解决数据传输、数据访问、应用调度等问题,实现系统之间的互联互通中间件(Middleware),是一种应用于分布式系统的基础软件,在中间件出现之前,系统软件是直接基于操作系统开发,导致软硬件高度耦合。中间件:实现应用软件与操作系统的解耦软件定义途径之三:API与中间件应用程序组件的接口组件--接口的实现InterfaceMInterfaceN对象C对象A对象BInterfaceBInterfaceA调用OtherInterfaceA调用组件/构件:可独立发布的机器程序文件;将若干对象及内部关系进行封装所形成的一个可执行程序文件。软件中的构件/组件【接口与实现分离】---“接口”是对象或者组件的通信协议;---“实现”是对象或者组件的内部构造细节。【解耦】尽可能地消除软件不同部分之间的联系软件定义途径之三:API与中间件应用程序InterfaceCInterfaceD对象C对象A对象BInterfaceBInterfaceA调用OtherInterfaceA调用管理并运行组件的容器---中间件,如Apache的Tomcat、IBM的websphere、BEA的WebLogic等组件的接口组件--接口的实现基于复用的软件开发==用可重复使用的软件组件开发应用程序面向复用的软件开发==开发可重复使用的软件组件支持软件组件/构件运行的中间件软件定义途径之三:API与中间件实践:从普通锁
软件定义的智能锁指纹开锁密码开锁密码远程更新报警……API/中间件进一步思考:软件定义的共享电动自行车?前端软件手机APP中间件:分布式环境下的信息集成平台数据传输、数据集成、流程管理验权服务密码验证服务报警服务统计分析服务虚拟化(Virtualization)技术:将计算机的各种实体资源,如服务器、网络、内存及存储等,予以抽象、转换,打破实体结构间的不可切割的障碍,使用户可以比原本的组态更好的方式来应用这些资源虚拟机技术:通过运行在物理服务器和操作系统之间的中间层软件——虚拟机监视器(hypervisor),使得多个操作系统和应用软件透明地共享一套基础物理硬件Hypervisor的逻辑服务器本质:由物理服务器上一个个文件组成,相对物理服务器,天生具备分区、隔离、封装和相对硬件独立等特征物理机CPU、内存、I/O、硬盘等硬件资源操作系统应程软件物理机CPU、内存、I/O、硬盘等硬件资源操作系统应程软件物理机CPU、内存、I/O、硬盘等硬件资源操作系统应程软件CPI、内存、I/O、硬盘等硬件资源虚拟机监视器(Hypervisor)虚拟机操作系统GuestOS应程软件虚拟CPU、内存、I/O、硬盘等资源虚拟机操作系统GuestOS应程软件虚拟CPU、内存、I/O、硬盘等资源虚拟机操作系统GuestOS应程软件虚拟CPU、内存、I/O、硬盘等资源软件定义途径之四:虚拟化计算虚拟化、存储虚拟化、网络虚拟化、软件虚拟化、桌面虚拟化、服务虚拟化软件定义汽车
(SoftwareDefinedVehicle,SDV)东风悦享联合武大计算机学院,推出的东风Sharing-VAN1.0Plus“樱花号”,在武大校园内正式启动无人驾驶展示,成为了赏樱路上的靓丽风景线Sharing-VAN1.0Plus是自主研发的L4级5G自动驾驶汽车,具备一键招车、动态限速、环岛通行、动态避障、多车编队、自动泊车等13项功能车辆搭载了5G通信技术,在车联网和北斗系统的加持下,能够实现远程遥控驾驶,如遇紧急情况,可通过远程遥控接管车辆【扩展阅读】软件定义汽车
未来汽车的创新功能主要来自于软件。软件成本已占到汽车成本的40%以上未来自动驾驶汽车60%的价值将源于软件车控软件:通过ECU(电子控制单元)直接向执行机构发送指令,以控制车辆转向机构、制动机构等关键部件协同工作,属于复杂测控系统。OSEK/VDX和AUTOSAR两个标准汽车操作系统:微软的WindowsEmbeddedAutomotive、黑莓的QNX、诸多基于Linux的定制操作系统以及众多基于Android开源项目(AOSP)的操作系统自动驾驶软件:自动驾驶核心软件和应用软件车载娱乐信息系统:如仪表,娱乐音响、导航系统、抬头显示、车载通信、无线上网等等,这类系统不直接参与汽车行驶的控制决策,不会对车辆行驶性能和安全产生影响(SoftwareDefinedVehicle,SDV)【扩展阅读】咖啡与服务:从设计“物”到设计“事”
星巴克不是只卖咖啡的,它更是提供工作、生活之外社交聚会服务的地方:
25元/杯的咖啡=咖啡5元
+体验轻松氛围20元
15.2软件服务思维古朴的室内环境、现代的家具、咖啡机发出滋滋声音、散发着浓香的咖啡所有的这一切都是被精心的组织在一起的体验是企业以服务为舞台、以商品为道具,环绕着消费者,创造出值得消费者回忆的活动。体验经济的表象似乎是出售产品,但其本质则是出售与消费者一齐度过的时光软件=程序+文档什么是程序?程序=算法+数据
=算法+数据+文档
什么是算法?算法是用计算装置能够理解的语言描述的一组有穷的规则,这些规则给出了求解特定问题的运算序列算法的5个特征:输入、输出、确定性、能行性、有限性算法的执行者:计算装置算法的执行过程:计算过程3815.2软件服务思维从开发者角度看软件软件是硬件的附庸软件是单独的产品软件是服务!软件是许可证3915.2软件服务思维从用户角度看软件40“对用户而言,真正需要的不是软件本身,而是软件所提供的服务。只要能满足需求、能支撑企业业务运转就行,而不在乎是否拥有代码和程序”——MarcBenioff,CEOofSalesforce服务定义了软件的价值服务定义了软件的价值服务的收费方式风险小,灵活选择模块,备份,维护,安全,升级让客户更专注核心业务灵活启用和暂停,随时随地都可使用按需定购,选择更加自由产品更新速度加快市场空间增大有效降低营
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年网络设备安全运维规范测试题及答案
- 2026年社区工作者中级综合能力试题带答案
- 2026年河南省邓州市高一化学上册期末考试试卷附参考答案(培优A卷)
- 2026年河北省深州市高三生物下册期末考试模拟检测卷(含答案)
- 2026年吉林省延吉市高一历史上册期末考试试卷附完整答案【夺冠系列】
- 2026年河南省禹州市高一历史下册期末考试测试卷附答案(预热题)
- 2026年河南省登封市高三物理下册期末考试模拟试卷(含答案)
- 2026年安徽省宁国市高三生物下册期末考试模拟考试卷及答案
- 2026年江苏省宜兴市高三历史上册期末考试模拟卷及参考答案(精练)
- 2026年河南省灵宝市高一化学上册期末考试模拟检测卷(满分必刷)附答案
- 2026年广东省考评员培训考试题库及参考答案
- 2026年中国融通资产管理集团有限公司人员招聘笔试参考试题及答案详解
- 2026年事业单位招聘考试综合知识冲刺押题试卷
- 2026秋国家开放大学网课《形势与政策》大作业答案
- 2026年新兴污染物的识别与监测
- 2026解放军新闻传播中心社会招聘47人笔试参考题库及答案详解
- 对于产品质量投诉的整改回复函7篇
- 2026年人教版七年级上册语文期中测试题
- 2026年国际贸易托收考试题库及答案
- 2025年山西省全省工程系列建设工程专业高级工程师评审(建筑工程)训练题及答案
- 水库调度规程编制导则
评论
0/150
提交评论