软件构件与中间件

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

高级软件工程
软件与软件开发 8/42
万物皆数?
我们可以对认识的任何一种东西进行编码 以产生它的一个具体“实例”
数据与代码: 从歌德尔定理到图灵不停机问题 静态代码分析!
高级软件工程
软件与软件开发 9/42
软件作为逻辑产品的特点:
劣势: 不易被理解 容易出错 找错、排错困难 优势: 易于变化,适应性强 复制成本低,适合规模经济
反映对象 开发基础 关注内容 运行方式 提交形式 开销比重
等 方面的重要发展
高级软件工程
软件与软件开发 13/42
软件反映对象的发展
从 以 个体计算过程 为反映对象 向 以 群体合作过程 为反映对象
例如: 电子商务 电子政务 虚拟企业 ……
的发展
电子服务
人们的合作过程是丰富多样的、不断调整的 因此,网络环境下的软件 更加 复杂、易变 构造性、演化性 更加突出
高级软件工程
软件与软件开发 14/42
软件开发基础的发展
从 以单个软件开发为主 向 以集成式开发为主 的发展
例如:业务流程重组 (BPR:Business Process Reengineering) 企业应用集成 (EAI:Enterprise Application Integration) 等 都需要开发组织具有 “继往开来” 的能力 在这样的背景下 符合标准规范的软件将更加受欢迎
高级软件工程
软件与软件开发 1/42
第一讲 软件与软件开发
高级软件工程
软件与软件开发 2/42
软件的复杂性 是其自身所固有的 抽象、分治、分类等思想 将在其中发挥极为关键的作用
高级软件工程
软件与软件开发 3/42


一、软件 二、软件开发 三、网络环境带来的影响
高级软件工程
软件与软件开发 4/42
高级软件工程
软件与软件开发 11/42
3、软件的发展特点
(1)软件应用范围将继续扩大,成为信息社会的物理设施
(2)遗留软件将继续发挥作用
(3)软件的可靠性与安全性日趋重要 (4)网络化软件将是发展重点
高级软件工程
软件与软件开发 12/42
4、软件的发展趋势
软件运行平台正在 从 单机环境 发展到 网络环境 这 将导致软件在
高级软件工程
软件与软件开发 18/42
软件开销比重的发展
从 开发为主要开销 向 开发、演化开销并重 的发展
最近一段时间 延长软件生命
维护、演化软件 等问题
同时受到了 学术界与产业界的双重关注
Biblioteka Baidu诸如 ASP模式、自适应技术 等 将得到重视
高级软件工程
软件与软件开发 19/42
二、软件开发
1、软件开发特点 2、软件开发模型 3、开发过程新进展 4、如何理解软件开发的困难
解读的力量:鲜花与饲料 , 微观量子态
高级软件工程
软件与软件开发 7/42
软件到底有什么奥妙?
人类自身的感官不能直接确定它的存在:
分子、原子 等对于人们总有一定的神秘性:感官距离很“遥远” 软件: 通常 存在于纸带、磁带、光盘等之中 运行起来 靠: 集成电路 发挥作用
显示器
显示状态
竟然还可以在 不同的载体 之间十分方便地跳跃! 显示出来后离我们又这么“近”! 如此有用!
高级软件工程
软件与软件开发 15/42
软件关注重点的发展
从 以正面功能为核心 向 兼顾侧面约束 的发展
近期出现的 面向 侧面 的编程 (AOP: Aspect Oriented Programming) 特征交互(FI: Feature Interaction) 等 与经典的 问题分离(SOC: Separation Of Concerns ) 等相呼应 有效地处理 交叉(cross cutting)特征 例如: 安全性、可靠性、 同步性 等 这一发展 将使 软件工程师容易地开发、维护应用系统
高级软件工程
软件与软件开发 16/42
软件运行方式的发展
从 大型机 集中方式 经 PC机的 分散方式 为主 向 “云”的集中模式 + 嵌入式的“端”分散模式 为主 发展 时代 大型机
计算机是少数人员的“计算”工具 软件运行在大型机上 PC机 时代 计算机是许多人的“信息处理”工具 PC 机上的软件是主流 “云”时代 计算资源有集中有分布,互相合作 软件运行在更多类型的计算资源(服务器、移动设备)上 提供服务
高级软件工程
软件与软件开发 17/42
软件提交形式的发展
从 以 产品 为中心 向 以 服务 为中心 的发展
例如:应用服务提供商 (ASP: Application Service Provider) “Web服务”(Web Services) SAAS, Cloud Computing 这一发展 将使 软件在 方便使用、安全可靠 等方面 更加人性化 等 皆体现了软件向服务发展的趋势
高级软件工程
软件与软件开发 6/42
软件 是脑力劳动的产物 是系统逻辑的体现 必须依附于一定的载体 例如:纸张、软盘、硬盘、光盘等 其它的物品呢?不需要载体? 老 子: 道德经: 第十一章: 三十辐共一毂(gǔ) ,当其无,有车之用。 埏(shān)埴(zhí )以为器,当其无,有器之用。 凿户牖(yǒu )以为室,当其无,有室之用。 故有之以为利,无之以为用。
一、软件
1、什么是软件 2、软件的发展现状 3、软件的发展特点 4、软件的发展趋势
高级软件工程
软件与软件开发 5/42
1、什么是软件
计算机软件一般指 计算机系统中的 程序 及 文档 程序 是 以计算机语言表达的软件系统 文档 是 以人类语言表达的软件系统 二者互相配合 共同构成了完整的软件系统 人类抽象的经验、知识正逐步由软件予以精确地体现
高级软件工程
软件与软件开发 20/42
1、软件开发特点
软件开发是典型的知识密集型活动 复杂度高 开发周期长 可靠性保证难 随着 软件应用范围的快速扩大 以及软件运行平台从单机向网络的转变 软件的 规模 越来越大 复杂度 越来越高 软件开发的 高、 长、 难 愈益突出
给我们的生活、学习等带来了巨大的变化
高级软件工程
软件与软件开发 10/42
2、软件的发展现状
(1)已经存在大量正在运行的软件 金融、电信、航空航天等 (2)软件的应用范围不断扩大 商务、交通、家电等,“计算机软件?” (3)软件的规模与复杂性持续增加 越来越多的知识正在由软件进行显式表达 (4)出现了大量与软件相关的标准 (3)的需求 (5)软件危机仍然存在(软件脱节) 1968-2012
相关文档
最新文档