版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、软件的变化性与对策初探,王千祥 2002.12.31 于 北京大学语言所,内 容,现状与根源 现有的对策 其它相关的问题,一、现状与根源,软件的变化性 特点 类别 根源,1、什么是软件的变化性?,需求变化导致的软件变化 排除错误 适应环境 从输入到输出的变化: 可接受的输入集 所响应的输出集 反应过程(时间、吞吐量等),2、变化性的特点,持续时间长 开发阶段 开发之后 开销比重大 认识不足 具体差别大,3、变化的类别,时间 同一软件在不同时间点上的变化 体现为:维护、演化等 空间 由单个软件演化出其它不同的软件 往往发生在同一个领域内,4、变化的根源,软件的起源 与硬件结合发挥作用的工具 易于
2、调整(From John Mauchly to von Neuman) 今天的软件 运行平台、模拟对象、关注重点、提交形式等发生变化 规模、复杂性越来越大 越来越难以变化!,4、变化的根源(续),变化的起因 增加新特性 以 吸引客户 业务流程重组(BPR) 以 提高效率 改变数据库表 以 适应功能调整 调整界面 以 方便人机交互 提高可靠性、安全性 等等,二、现有的对策,基本思路 具体方案 面向对象 面向领域 设计良好的体系结构 运用支持变化性的设计模式 区分系统的不同侧面 进行变化性管理,基本思路,系统化分析 将变化点作为设计依据 将变化点追踪到实现阶段,认清:“只有变化是不变的” 努力:“
3、以不变应万变” 管理:“变化”,1、面向对象,封装(抽象) 将变化性进行隔离 继承 将变化性分别实现为不同的子类,2、面向领域(程序家族),领域工程 对领域中的系统进行分析 识别这些应用的共同特征和可变特征 对刻划这些特征的对象和操作进行选择和抽象 设计出领域中应用共同具有的构架 并以此为基础识别、开发和组织可复用构件,2、面向领域(续),2、面向领域(续),领域分析:,3、设计良好的体系结构,体系结构 是对软件系统结构的总体说明 关注三方面问题:构件、构件间关系、关系约束 构件: 软件系统由哪些部分构成 例如:数据库、服务器等 构件间的关系: 这些部分之间的交互关系是什么 例如:RPC、共享
4、内存等 关系的约束: 这些关系有什么约束 例如:互斥、依赖、安全性等 将它们分别与可能的变化点相结合!,4、运用支持变化性的设计模式,设计模式 描述了一个通用的设计结构 该结构 能被用来构造可复用的面向对象设计 确定了所包含的类、实例 以及它们的角色、协作方式,4、运用支持变化性的设计模式(续),策略模式(Strategy),目的:将可以选择的算法封装起来,作为一个可以互相替换的类 途径:定义支持各个具体算法的抽象策略 结构:,4、运用支持变化性的设计模式(续),修饰模式(Decorator),目的:方便地给对象添加功能 途径:在对象结果中引入修饰对象 结构:,4、运用支持变化性的设计模式(续
5、),桥接模式(Bridge),目的:将系统的抽象部分与实现部分进行分离 使它们可以对立地演化 途径:在二者之间建立抽象与实现的桥接 结构:,5、区分系统的不同侧面,在目前的程序设计技术框架下 一些重要的需求和设计决策,比如安全、日志等,难以用清晰的、模块化的代码实现 它们具有一种“贯穿特性”(crosscutting concerns) 最后的结果经常是: 代码散布(code scattering) 代码交织(code tangling) 开发出来的程序非常难于理解和维护,5、区分系统的不同侧面(续),功能构件,Aspect Oriented Programming:,6、进行变化性管理(技术之外),版本管理 受控的变化 一致性
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 素养导向的高考数学新题型2课件-2025届高三数学二轮复习
- 税务局考试申论题目及答案
- 2026二年级数学下册 数学广角自主学习
- 2026五年级数学上册 小数乘法的价值引领
- 2026五年级数学上册 小数乘法的文化传承
- 2026九年级上语文孤独之旅人物形象分析
- 供应商质量追责制度
- 管理评审程序试题及答案
- 人格权合理使用制度
- 造价咨询考核奖惩制度
- 学校食堂员工培训课件
- DB11∕T 1448-2024 城市轨道交通工程资料管理规程
- 房屋测绘单位管理制度
- 热电厂中水供水工程可行性研究报告
- 2025年中考数学压轴专题汇编(江苏专用)压轴专题09定角定高模型(原卷版+解析)
- 开票提额合同协议
- 2025年中考语文一轮复习:民俗类散文阅读 讲义(含练习题及答案)
- 口腔门诊全套制度
- 电工技能实训课件 单元 1 电的基本认识与安全用电
- (北京科电)GEX-2000技术使用说明(出版)
- 婚姻家庭与法律知到智慧树章节测试课后答案2024年秋延边大学
评论
0/150
提交评论