- 1、本文档共37页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
物理研究中软件框架的开发与应用 中国科学技术大学近代物理系 虞孝麒 金 革 王 坚 周永钊 苏春晓 梁昊 物理研究中软件框架的开发与应用 一、软件开发中重用(Reuse)技术 二、面向对象的软件框架 三、大天区面积多目标光纤光谱天文望远镜(LAMOST)中观测控制系统(OCS)软件框架的开发 四、ROOT系统及其应用介绍 一、软件开发中重用(Reuse)技术 重用技术在软件开发中重要性 IT产业: 减小开发的工作量 缩短软件开发周期,产品及早投入市场 可靠性和可维护性得到保证 增强市场竞争力 一、软件开发中重用(Reuse)技术 重用技术在软件开发中重要性 科研领域 长生命期的设施特别 要求软件的灵活性、健壮性和可扩充性 ,重用技术是保证软件这些特性的关键之一 “The risk associated with complex control systems can be great, and there have been recent examples where the utility of scientific facilities has been limited by inflexible system architectures.” 一、软件开发中重用(Reuse)技术 重用技术的发展 程序和函数库-传统的面向过程 类库(Class Libraries) -面向对象,代码级的重用 框架(Framework) -面向对象,不仅代码级的重用,而且分析和设计的重用 二、面向对象的软件框架 面向对象的框架定义及其与类库的主要差别 定义:在给定问题领域范围内建立起可重用解决设计问题而互相间协作的一组类的集合(它典型包括了具备缺省行为的大量对象) 类库与框架的主要差别: 行为相对于协议 “不是访问我们,而是我们访问你” 实现相对于设计 二、面向对象的软件框架1.框架与类库的主要差别 1)行为相对于协议 类库是待开发程序中要访问的一个个行为的集合; 行为的集合 框架不仅仅是行为的集合,而且包括了支配着把这些行为组合在一起方法的一组规则,或称为协议。 行为的集合+组合方法的规则 二、面向对象的软件框架1.框架与类库的主要差别 2) “不是访问我们,而是我们访问你” 使用类库时,用代码产生对象实例并访问它们的成员函数,建立对象实例之间的联系,保证它们协调一起工作 。 用框架开发应用软件,编写用来划分软件各部分之间承担任务的程序,不用规定不同部分应该如何协调一起工作,由框架访问该程序就完成了应用软件的开发。 二、面向对象的软件框架1.框架与类库的主要差别 3) 实现相对于设计 类库只重用实现,而框架同时重用设计 框架包含了一组相互关联类一起工作的方法,在一个给定领域范围中,解决了大量具体问题通用的设计 二、面向对象的软件框架 框架的主要优点 减少编程的代码 增加代码的可靠性和健壮性 更能保证一致性和模块化 提供了通用领域的问题(如用户接口,图形界面或网络操作等等)服务 二、面向对象的软件框架 框架的开发过程 领域分析 需求捕获和分析阶段 设计阶段 实现阶段 验证和确认阶段 二、面向对象的软件框架3.框架的开发过程 领域分析 在给定的领域范围内,确定所有应用程序公共的类和对象 建立描述人们在领域中所用概念的领域模型,提供二个文本: 领域规模-能使开发者清楚地了解哪些需求在 领域范围之内 静态模型-确定领域中最重要的对象和类 二、面向对象的软件框架 3.框架的开发过程 需求捕获和分析阶段 目的 :捕获所有真实的需求,描绘出满足这些需求的理想系统的轮廓 活动 :捕获和分析 产生 : 需求模型-规定了加在系统上的需求,提出对系统的约束或者是系统应提供的服务,产生需求规范和用例(use case)模型 静态对象模型-由真实世界的抽象、高级抽象和这些对象之间关系组成 数据流模型 -建立数据流图 二、面向对象的软件框架 3.框架的开发过程 设计阶段 分析模型是从概念角度来评述系统,不考虑实现系统的环境,用它作为编写源代码的基础是不合适的,因而在分析阶段之后,进入设计阶段,在设计阶段中,为了给实现提供坚实的基础,必须改进对象,扩展模型。 包括两个子阶段 结构设计-定义对象和它们的相互协作 详细设计-更详细地描述类和它们的方法 二、面向对象的软件框架 3.框架的开发过程 实现阶段 框架的实现是为框架重用者提供所要开发的应用软件公共部分 框架的实现是用执行语言来确定和描述带有属性和方法的所有类,完成在设计阶段中确认的对象、关系和它们的互
文档评论(0)