软件与软件开发精编版_第1页
软件与软件开发精编版_第2页
软件与软件开发精编版_第3页
软件与软件开发精编版_第4页
软件与软件开发精编版_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、软件的复杂性是其自身所固有的抽象、分治、分类等思想将在其中发挥极为关键的作用内 容 一、软件二、软件开发三、网络环境带来的影响一、软件1、什么是软件2、软件的发展现状3、软件的发展特点4、软件的本质特性5、软件的发展趋势1、什么是软件计算机软件一般指计算机系统中的程序 及 文档程序 是以计算机语言表达的软件系统文档 是以人类语言表达的软件系统二者互相配合 共同构成了完整的软件系统人类抽象的经验、知识正逐步由软件予以精确地体现老 子: 道德经: 第十一章: 三十辐共一毂(g) ,当其无,有车之用。 埏(shn)埴(zh)以为器,当其无,有器之用。 凿户牖(yu )以为室,当其无,有室之用。 故有

2、之以为利,无之以为用。解读的力量! 鲜花与饲料软件 是脑力劳动的产物是系统逻辑的体现 必须依附于一定的载体例如:纸张、软盘、硬盘、光盘等其它的物品呢?不需要载体?软件到底有什么奥妙?人类自身的感官不能直接确定它的存在:分子、原子 等对于人们总有一定的神秘性:感官距离很“遥远”软件:通常 存在于纸带、磁带、光盘等之中运行起来 靠:集成电路 发挥作用显示器 显示状态竟然还可以在 不同的载体 之间十分方便地跳跃!显示出来后离我们又这么“近”!如此有用!万物皆数?我们可以对认识的任何一种东西进行编码 以产生它的一个具体“实例” 数据与代码: 从歌德尔定理到图灵不停机问题 静态代码分析!软件作为逻辑产品

3、的特点:劣势:不易被理解容易出错找错、排错困难优势:易于变化,适应性强复制成本低,适合规模经济给我们的生活、学习等带来了巨大的变化 (1)已经存在大量正在运行的软件 金融、电信、航空航天等 (2)软件的应用范围不断扩大商务、交通、家电等,“计算机软件?” (3)软件的规模与复杂性持续增加越来越多的知识正在由软件进行显式表达 (4)出现了大量与软件相关的标准(3)的需求 (5)软件危机仍然存在(软件脱节)1968-2011 四十三年!2、软件的发展现状软件工程四十年:软件工程、构件、中间件3、软件的发展特点(1)软件应用范围将继续扩大,成为信息社会的物理设施(2)遗留软件将继续发挥作用(3)软件

4、的可靠性与安全性日趋重要(4)网络化软件将是发展重点构造性演化性其它特点:知识密集、逻辑产物4、软件的本质特性软件的构造性软件 是 典型的知识产品 是 客观世界中 问题空间的具体描述 软件 是有结构的 构造性 是软件的本质特性传统的软件开发 是 个体作坊式的只 解决功能问题未 考虑结构问题造成 软件 复杂度高 维护难度 大软件 是 客观事物的一种反映 是 知识的提炼 知识的体现知识的固化软件的演化性客观世界不断发展不断发生变化软件系统不可能一成不变 新需求、新技术不断出现 软件系统要不断升级软件运行平台正在 从 单机环境 发展到 网络环境这 将导致软件在 反映对象 开发基础 关注内容运行方式

5、提交形式 开销比重等 方面的重要发展5、软件的发展趋势软件反映对象的发展人们的合作过程是丰富多样的、不断调整的 因此,网络环境下的软件 更加 复杂、易变 构造性、演化性 更加突出例如: 电子商务 电子政务 电子服务 虚拟企业 从 以 个体计算过程 为反映对象向 以 群体合作过程 为反映对象的发展例如:业务流程重组(BPR:Business Process Reengineering)企业应用集成(EAI:Enterprise Application Integration) 等都需要开发组织具有 “继往开来” 的能力在这样的背景下符合标准规范的软件将更加受欢迎从 以单个软件开发为主向 以集成式

6、开发为主 的发展软件关注重点的发展从 以正面功能为核心向 兼顾侧面约束 的发展近期出现的 面向 侧面 的编程 (AOP: Aspect Oriented Programming) 特征交互(FI: Feature Interaction) 等与经典的 问题分离(SOC: Separation Of Concerns ) 等相呼应 有效地处理 交叉(cross cutting)特征 例如: 安全性、可靠性、 同步性 等 这一发展 将使 软件工程师容易地开发、维护应用系统软件运行方式的发展从 大型机 集中方式经 PC机的 分散方式 为主向 “云”的集中模式 + 嵌入式的“端”分散模式 为主 发展大

7、型机 时代 计算机是少数人员的“计算”工具 软件运行在大型机上PC机 时代 计算机是许多人的“信息处理”工具 PC 机上的软件是主流“云”时代 计算资源有集中有分布,互相合作 软件运行在更多类型的计算资源上 提供服务软件提交形式的发展从 以 产品 为中心向 以 服务 为中心 的发展例如:应用服务提供商 (ASP: Application Service Provider)“Web服务”(Web Services) 等 皆体现了软件向服务发展的趋势 SAAS, Cloud Computing 这一发展 将使 软件在 方便使用、安全可靠 等方面更加人性化从 开发为主要开销向 开发、演化开销并重 的

8、发展最近一段时间延长软件生命维护、演化软件 等问题同时受到了 学术界与产业界的双重关注诸如 ASP模式、自适应技术 等 将得到重视二、软件开发1、软件开发特点2、软件开发模型3、开发过程新进展4、如何理解软件开发的困难 软件开发是典型的知识密集型活动复杂度高开发周期长可靠性保证难 随着 软件应用范围的快速扩大 以及软件运行平台从单机向网络的转变软件的规模越来越大复杂度越来越高 软件开发的 高、 长、 难 愈益突出1、软件开发特点软件开发目标:好、快、省最终用户认为“好”怎么叫“好”?正确、健壮、快速、安全、怎么才能好?编程人员开发“快”“好”前提下的“快”,二者是一对对立体怎么才能快? 复用?

9、开发运行成本“省”时间成本、人力成本、硬件资源成本、能耗、瀑布模型 (waterfall model)螺旋模型 (spiral model)喷泉模型 (fountain model) 演化模型 (evolutionary model)2、软件开发模型各自特点回顾:画图说明!RUP敏捷开发方法(XP)从 CMM 到 CMMI基于构件的软件开发基于侧面的软件开发测试驱动的软件开发用例驱动的软件开发3、开发方法进展3.2 计算机科学与技术3.2.1 艾级高性能计算机技术 针对普惠、绿色、两化融合的战略需求,研究高效易用的高性能计算机(尤其是数据中心计算机)的新原理和核心技术,并研制原理样机。支持科学

10、工程计算与互联网服务(云计算服务)两类应用负载,科学工程计算性能达到艾级(即每秒10*18次运算),系统功耗控制在10 MW之内,系统软件复杂度控制在1000万行源码,原理样机实际速度达到每秒百万亿次(1014次)运算。3.2.2 面向网络计算的软件方法与技术 针对新型网络化基础平台、新型泛在化与网络化应用模式,以及大规模和融合化的应用系统对软件方法与技术,研究软件模型、编程语言、系统软件、使用模式、开发方法、支撑工具等,实现核心模型基本属性的高可信与适应性、使用模式的服务化与自然化、基础方法的主体化与协同化、开发模型的自治性与成长式、开发方式的复用化与自动化,建立一套新型的面向网络计算的软件

11、方法与技术体系,发展面向网络的中文信息处理和中文数据资源建设技术。3.2.3 未来互联网与安全 研究:()可信可管可扩展的泛在未来网络原理、协议、体系结构;()试验平台、基准服务、测试数据,用于研究和检验功能、质量、安全隐私保障、能耗指标;()能够为数亿用户服务的统一的通用计算账号,独立于任何客户端设备、任何网络、任何资源、任何地点、任何厂商;()支持上亿用户,平均用户实际上网速度超过100 Mbps;()发展智能网络与语义网络技术,提升网络服务的效率与易用性。不同方法的量化评估困难1)实验数据获取困难 “测试”到“代码分析”:获取数据相对容易 “过程”、“设计”与“需求获取”:量化难2)涉及

12、人的因素太多 评估的客观性(尤其是开发过程) 3)应用领域过于广泛 不同的方法适用于不同的领域(对比困难)4)软件开发 的特殊性 软件开发 相当于 传统行业(例如 制造) 的设计?l写小说?l生产PC?搭积木?l演节目?l拍电影/电视?!4、如何理解软件开发的困难拍电影前期:剧本创作、投资拍摄:场地、演员、道具后期:剪接、音效l分析:需求、用户l设计实现:结构、编码l测试:减少缺陷其他共性:拷贝、版本、版权;美国、印度不同:维护、交互工程?三、网络环境带来的影响共享性开放性并发性可伸缩性容错性透明性网络环境的特点:(1) 共享性一旦授权,可以访问环境中的任何资源:硬件、软件、数据资源管理器控制资源的访问 提供命名机制 并 控制并发访问使得: 不同组织之间的软件可以灵活的交互SOA(2) 开放性环境扩展与改进的需要导致:软件开发社区社区开发方法开放源代码开源软件的开发(3) 可伸缩性利用网络环境可以:为更多的用户服务响应更快通常通过增加 更多/更快的处理机 更可靠、更完善的服务实现典型例子:GOOGLE:4-5 万台 PCQQ:上万台 PC(4) 容错性硬件、软件、网络发生错误的不可避免性网络环境必须维护可用性容错的实现途径:恢复(recovery)冗余(redundancy)“911”的启示

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论