软件体系结构交互动作精化研究_任洪敏

合集下载

《软件工程导论》张海潘第五版清华课后答案

《软件工程导论》张海潘第五版清华课后答案
第四章答案
了解结构化开发方法的核心概念和工具,提供 对练习问题的参考答案。
面向对象开发方法
第五章
深入探讨面向对象开发方法的理论和实践,学习如何设计和构建强大的面向 对象软件系统。
课后答案
第一章答案
掌握软件工程概述的关键知识点,提供练习题 的答案以加深理解。
第三章答案
学习需求分析和建模的实际应用,提供对课后 习题的详细解答。
第二章答案
了解软件生命周期的各个阶段,掌握解决实践 问题的方法和技巧。
《软件工程导论》张海潘 第五版清华课后答案
欢迎来到《软件工程导论》张海潘第五版清华课后答案的世界。让我们一起 探索这门令人兴奋的学科,并发现其中的奥秘和乐趣。
课本信息
书名:《软件工程导论》
作者:张海潘
版本:第五版
出版社:清华大学出版社
作者简介
张海潘
张海潘是一位资深的软件工程教授,拥有丰富的教学和研究经验。他对软件 开发过程和方法论有着深入的研究,并致力于培养下一代的软件工程师。
章节导引Biblioteka 1第二章:软件生命周期
2
深入研究软件项目的整个生命周期,了
解每个阶段的任务和活动。
3
第四章:结构化开发方法
4
介绍结构化开发方法的基本原理和技术, 帮助开发人员构建可靠和易维护的软件。
第一章:软件工程概述
了解软件工程的基本概念和原理,掌握 软件工程的核心思想和目标。
第三章:需求分析与建模
学习如何捕捉用户需求并进行有效的需 求分析和建模。

课题落实完成情况表

课题落实完成情况表

杨明伟 莫翔 普成龙 夏宾 曾泽伟 涂冬冬 李力 王聪 赵培东 王林武 董耀国 莫凡 何景凤 季天友 冯振宇 蒋权 吴亚风 田召 尤仲强 王耀辉 黄华清 李海冬 何林祥 李朝永 罗福均 庹鑫 陈金水 魏晓东 王熙 徐磊 黄铎 褚博文 于海涛
2708002017 可调速双磨头落地式砂带机设计 2708002029 基于地形图传感器网络定位算法仿真 2808003001 全向大转角并联转台底座驱动设计、运动学分析、 装配及调试
桁架可展开天线运动仿真分析 装甲车在线动态参数检测技术研究 涡流位移传感器中电子摆振问题的正向研究 基于物联网的实验教学平台系统搭建和实验设计 解耦型动感游戏运动平台原型样机设计 基于ARM架构的自主移动机器人控制器设计 基于人工神经网络的结构智能振动控制 芯片验证系统机箱结构设计 轻型陆空两栖车三维模拟设计 一种气动加载力控制系统的研究 板式水冷散热器中流体传热性能的研究 运动学实验开发设计 电动助力车智能控制器 精密激光焊接机控制研究及设计 行星减速器运动学仿真分析 基于ARM的电子点菜系统设计 高层结构抗风抗震分析 直线电机的电磁场分析及仿真 分布式机器蛇运动控制算法及实现
2808003002 自动拧螺栓机械手设计 2808003003 力学实验综合测量仪的研制 2808003004 2808003005 2808003006 2808003007 2808003008 2808003010 2808003011 2808003012 2808003013 2808003014 2808003015 2808003016 2808003017 2808003018 2808003019 2808003020 2808003021 2808003022 2808003024 2808003025 2808003027 2808003028 2808003029 2808003030 2808003031 2808003032 2808003033 2808003034 基于ARCInfo的地下管网三维空间信息显示及管网 优化系统开发 精密微细激光焊接机工作台的设计 半导体制冷器的结构设计与分析 基于AMESim的柴油发电机组建模与防治 气缸拉杆疲劳寿命预测研究 350km/h高速动车组车辆脱轨系数计算及分析 基于EMD的齿轮振动信号分析系统开发 温度控制系统的水箱设计与分析 基于单片机的电机控制系统设计与实现 基于比例强度模型的视情维修决策 回流焊温度场的分析及优化设计 电子封装QFP结构有限元分析 传热探针结构设计及优化 计算阶次分析实现与仿真 MATLAB 实现转速计算的难点和方法讨论 一维和多维转子模型建模 正交实验法在板式水冷散热器优化设计中的应用 “三线摆”法转动惯量测量精度提高方法的研究及 实现 基于自适应控制的气液联控系统柔顺力研究 轮对激振系统数据采集装置的设计 刚柔耦合机械手模态分析及动力学建模 一种用于井下工作电液控制器回路设计及分析 三臂机械手结构设计及动态特性分析 基于物联网的远程医疗传感系统的研究 弗德考曼阶次跟踪实现与分析 远程无线地基沉降监测仪结构设计 基于ARCInfo的地下管网管理信息系统开发

软件工程实践者教材--概述

软件工程实践者教材--概述
o 软件涉及各行各业的知识,这对软件工程师提出了很高要求。 o 软件不仅是一种在市场上推销的工业产品,也是与文学艺术作
品相似的精神作品。与体力劳动相比,精神活动过程的特点是 “不可见性”,这大大增加了组织管理上的困难。
软件工程实践者教材--概述
社会对软件的要求
o 用户的需求更高、涉及的领域更广 o 软件运行环境更加庞大 o 软件更新换代更加频繁
n 实现预期的软件功能,达到较好的软件性能,满足用户 的需求。
n 增强软件过程可见性和可控性,保证软件的质量。 n 提高软件的可维护性,降低维护费用。 n 提高软件开发生产率,及时交付使用。 n 合理预算开发成本,付出较低的开发费用。
软件工程实践者教材--概述
1.3 软件工程发展简史
o 1968年在德国格密斯(Garmish)举行的 学术会议上,北大西洋公约组织(NATO) 正式提出了“软件工程”这一术语。软件工 程作为工程学科家族中的新成员,对软件产 业的形成和发展起了决定性作用,它指导人 们科学地开发软件,有效地管理软件项目, 对提高软件质量具有重要作用。
软件工程实践者教材--概述
•别墅的设计—设计图纸、施工图纸
软件工程实践者教材--概述
•设计和施工说明
软件工程实践者教材--概述
其他管理性文件
o 项目计划书 o 施工质量计划书 o 建设标准和规范 o 施工手册 o ……
软件工程实践者教材--概述
典型helloworld程序—太简单! 不要设计
o 90年代后期,软件工程的一个重要进展就是基于组件的开发方 法。为了提高软件生产力,尽可能地利用可复用组件来组装成 新的应用软件系统。到目前为止,组件技术的研究和发展形成 了新一代软件工程,即第三代软件工程,也有不少人称之为组 件工程。

西安电子科技大学研究生入学考试科目主要参考书

西安电子科技大学研究生入学考试科目主要参考书
《毛泽东思想概论》
张静如
高等教育出版社
《邓小平理论概论》
田克勤
高等教育出版社
《辩证唯物主义历史唯物主义原理》
李秀林等
中国人民大学出版社
511信息技术综合基础知识
有关通信原理、计算机网络、随机信号分析、信息论等方面参考书
521电磁场理论
《电磁场与电磁波基础》
路宏敏等
科学出版社
522微波技术与天线
《微波技术基础》
张培基
上海外语教育出版社
《新编英语语法教程》
章振邦
上海外语教育出版社
《Approaches to Translation》
Peter Newmark
Pergamon Press
682哲学原理
《辩证唯物主义历史唯物主义原理》
李秀林等
中国人民大学出版社
683马克思主义理论基础
《政治经济学》
王书相等
高等教育出版社
572计算方法
《数值分析》(四版)
李庆扬
华中科技大学出版社
573常微分方程
《常微分方程》(三版)
王高维
高等教育出版社
574电动力学、电磁场与电磁波
《电动力学》(1-4章)
郭硕鸿
高等教育出版社
《电磁场与波》(1-7章)
冯恩信
西安交通大学出版社
《电磁场与电磁波》(1-5章)
谢处方
高等教育出版社
575光学
《管理学》
王益峰
西电科大出版社
《信息资源开发与管理》
马费成
电子工业出版社
《计算机网络教程》(四版)
吴功宜
电子工业出版社
566会计综合
《财务管理》
卢家仪

【国家社会科学基金】_现代信息技术_基金支持热词逐年推荐_【万方软件创新助手】_20140807

【国家社会科学基金】_现代信息技术_基金支持热词逐年推荐_【万方软件创新助手】_20140807

教育生态学 教育技术能力 教育技术培训 教材建设 教师培训 教师专业发展 教师 教学点 教学技能 政策与法规 政府管理 政府服务 政府创新 政府公共政策 改进 提高 探究性教学模式 技术任务匹配 戏剧 微格教学 影响 引文分析 开放教育 师资 差异化 少数民族 对策 对等网络 对等体认证 客户知识管理 实体关系抽取 学科整合 学习共同体 媒体资源 多信任域 复合量词 国有批发 国外政党 商业银行 咨询公司 咨询业 咨询 发展 原因 医学数据挖掘 功能模型 功能再造 创新扩散理论 创新 分离问题 军民融合 关键词筛选 关键词抽取 关系抽取方法
组织结构 组织创新 纵向关系 系统架构 精品课程 管理制度 符号 移动营销 移动广告 科研管理 科研机构 科技论文 科技奥运 科学哲学 社会网理论 社会性 研究方法 知识组织系统 知识组织 相关词共现 相似度 界面标准 电子商务 生物信息学 生态旅游 生态安全预誓 现代教育技术公共课 现代教育技术 现代媒介 现代农业 特殊品 物权 流通产业 流程再造 比较 残障用户 模糊概念 模式识别 检索系统 查询扩展 构件 条件随机场 机构知识库 机器翻译 有效策略 智能搜索 无障碍 数据库 数宁图书馆 数字奥运 数字化生存 教育技术中心 教育 教师专业成长
网络协作 绩效预算 绩效分析 统一检索过程 统一方法 统一提问式翻译和检索 终身教育 竞争 立法建议 移动服务 移动商务 科研信息环境 科学计量 科学知识图谱 社会认知论 社会文化 社会和经济 研究性学习 知识表示 知识经济 知识抽取机器学习 知识工程 知识共享 目录学 盈利能力 现代汉语 现代农业生物技术 物流批发 物流 混合培训模式 测评会议 概念检索 检索模型 校园网格 标准竞争 标准 查询扩展 权限管理 机辅标引 机构知识库 术语歧义 术语学服务 术语变体 本体演化 本体构造 未来 服务 有效教学 无障碍 文本挖掘 文本可视化 数字时代 数字图书馆 数字化

华中师范大学教育技术学硕士研究生培养方案

华中师范大学教育技术学硕士研究生培养方案

教育技术学专业硕士研究生培养方案(学科专业代码078401或040110 授予理学/教育学硕士学位)一、培养目标本学科专业主要培养德、智、体全面发展的,适应社会主义现代化建设需要的教育技术学专业专门人才,其具体要求是:1.努力学习马列主义、毛泽东思想和邓小平理论;坚持党的基本路线、热爱祖国、遵纪守法;有好的品德,乐于为社会主义现代化建设服务。

2.在教育技术学科方面,掌握坚实的基础理论和较系统的专业知识,熟悉该学科国内外研究的历史、现状及发展趋势,较熟练地掌握一门外国语。

3.具备能独立地从事教育技术方面的科学研究与教学工作的能力。

4.热爱教师工作,具有健康的体格和良好的心理素质。

5.毕业生可在教育研究机构、行政事业单位等从事教育技术学的研究和相关管理工作,也可在高校、中小学从事相关教学及科研工作,在企业从事培训教学系统和资源的设计与制作,在从事教育软件与资源设计与开发的公司从事开发工作。

二、研究方向华中师范大学教育技术学科现有教授20人,副教授16人,形成教育技术基础理论、教育系统设计与绩效评估、教育信息化管理与政策、教育信息资源设计与开发、知识服务&智能教学系统、数字媒体技术、数字化学习平台技术等研究方向。

1.教育技术基本理论:教育技术学内涵、外延及研究范畴;教育技术学研究方法及方法论;技术、教育与社会的辩证关系及教育技术哲学思考;教育技术学发展史与学科发展趋势;信息技术对教育发展的革命性影响;技术引发学习方式变化与教学模式创新研究等。

2.教学设计与绩效技术:本方向主要研究教学系统设计的方法、策略、模式、评价等基本问题;新媒体支持下的教学系统设计基本方法;绩效技术基本理论及其在教育、企业或组织中的学习、培训或训练中的应用。

3.教育信息化管理与决策:本方向主要进行国内外教育信息化发展战略比较研究、教育信息化智能评测与决策系统研究、我国不同区域教育信息化发展趋势研究、教育信息资源配置的策略和机制研究、区域教育资源的共享模型和方法学研究、区域教育信息化中信息资源与组织体系等建设理论研究。

软件设计与体系结构课后习题答案(秦航)

软件设计与体系结构课后习题答案(秦航)
3
牡丹江师范学院--软件工程--朱有富 2015 年 6 月整理
第一章 1.什么是软件?软件的特点是什么?软件有那些分类? 计算机软件是由专业人员开发并长期维护的软件产品; 特点:
1)软件不是在传统意义上生产制造的,而是由设计开发的; 2)软件不会像硬件那样磨损和老化; 3)随着构件构造模式的发展,软件需要根据实际需求定制; 分类:计算机软件分为 7 个大类: ①系统软件②应用软件③嵌入式软件④科学和工程计 算软件⑤产品线软件⑥人工智能软件⑦Web 应用软件 2.软件设计应该包括哪些要素?软件设计在软件工程中所处的位置和重要性如何? 元素:①分析模型②数据/类设计③体系结构设计④接口设计⑤构件级设计 位置:软件需求分析->需求规格说明->软件设计->设计文档->软件编码…… 重要性: 软件设计是软件工程中形成质量的地方,设计为我们提供了质量评估的软件表示,设 计是我们能够将用户需求准确地转化为软件产品或系统的唯一方法。是所有软件工程 活动和随后的软件支持活动的基础。没有设计,就会有构造不稳定系统的风险。 3.请用自己的话说明软件体系结构。传统的建筑体系结构科学和软件体系结构有何相 似之处?有何不同之处? 软件体系结构是软件系统的基本组织,包含构件、构件之间、构件与环境之间的关系 ,以及相关的设计与演化原则等。 相似之处: 都是所构建系统的计划,都具有确保得到期望的特性,也是所构建系统的描述。 不同之处: 建筑师创建的是相对静止的静态描述而软件体系结构师创建的体系结构描述、代码在 以后将被执行多次,靠许多组件的交互来得到期望结果。
2垂直型设计是指运用面向体系结构的专用建模设计工具及其表达模型所进行的软件体系结构的设计一般来说这种专用工具针对软件体系结构的描述首先定义一种表达模型然后围绕该模型通过提供相应的设计工具来支持软件体系结构的设计

2017年度国家自然科学基金资助项目清单-G管理科学部-G01管理科学与工程

2017年度国家自然科学基金资助项目清单-G管理科学部-G01管理科学与工程

71771106 71771090 71771123 71771072 71771222 71771080 71771158 71771201 71771114 71771129 71771108 71771053 71771128 71771139 71771002 71771190 71771127 71771138 71771219 71771179 71771184 71771221 71771186 71771039 71771038 71771029 71771079 71771145 71771046 71771110 71771182 71771203 71771210 71771069 71771097 71771223 71771177 71771061 71771064 71771104 71771040 71771075 71771063 71771196 71771118 71771169 71771159 71771010 71771077 71771148 71771212 71771204 71771131
ห้องสมุดไป่ตู้
71771076 71771024 71771205 71771071 71771074 71771105 71771033 71771101 71771207 71771066 71771162 71771111 71771073 71771119 71771224 71771187 71771211 71771133 71771209 71771022 71771060 71771092 71771088 71771102 71771160 71771122 71771095 71771120 71771035 71771112 71771195 71771213 71771085 71771041 71771009 71771152 71771004 71771132 71771084 71771044 71771173 71771134 71771121 71771070 71771143 71771045 71771098 71771135 71771146 71771003

一种以软件体系结构为中心的网构软件开发方法

一种以软件体系结构为中心的网构软件开发方法

1100 中国科学E辑信息科学 2006, 36(10): 1100~1126一种以软件体系结构为中心的网构软件开发方法*梅宏**黄罡赵海燕焦文品(北京大学信息科学技术学院软件研究所, 北京 100871)摘要作为Internet环境下的一种新型的软件形态, 网构软件对传统的软件开发理论、方法与技术提出了一系列的挑战. 作为一种以软件复用为核心思想、以软件构件为基本实体、以软件体系结构为中心、以软件中间件为运行支撑的软件开发方法学, ABC(architecture based component composition)方法能够有力支持网构软件的开发. 其中, 基于特征的领域建模以及特定应用的特征模型剪裁方法和技术, 反映了网构软件在问题空间实现自底向上、从“无序”到“有序”的构造过程; 基于自适应软件体系结构的分析与设计方法, 支持自适应网构软件的开发; 具有反射机制、支持自主构件的中间件平台则为网构软件的运行, 尤其是网构软件结构的自适应和实体的自适应提供支撑机制.关键词网构软件构件软件体系结构特征模型反射式软件中间件自主构件Internet的发展为信息技术的应用开启了新的篇章, 同时也带来了诸多的技术挑战, 并由此产生了多个信息技术研究与实践的热点领域. 这些领域往往从某种侧面或层次对信息技术提出一种新型模式或理念, 如, 网格计算从资源共享与管理的角度探讨未来网络系统的应用与构造模式; 普适计算从“人机交互”的角度研究未来网络系统的应用模式; 服务计算从“软件即服务”的理念出发, 提出了一种新型的软件形态并着重探讨软件的协同性和动态性; 模型驱动的开发以特定于领域的代码自动生成为基础, 探讨基于中间件的软件系统的开发方法与技术. 基于类似的出发点, 网构软件从软件形态的角度考察开放、动态、多变的Internet收稿日期: 2006-05-08; 接受日期: 2006-06-21*国家重点基础研究发展计划(批准号: 2002CB31200003)、国家自然科学基金(批准号: 60233010, 90612011, 90412011, 60403030, 60303004)和北京市自然科学基金(批准号: 4052018)资助项目** E-mail: meih@第10期 梅宏等: 一种以软件体系结构为中心的网构软件开发方法1101环境对软件理论、方法和技术的挑战. 作为传统软件结构的自然延伸, 网构软件具有区别于传统软件形态的独有的基本特征, 包括自主性、演化性、协同性、多态性和反应性等[1]. 从网构软件的角度来考察当今有代表性的软件工程方法学, 可以发现传统的软件工程方法学体系由于其本质上是一种静态和封闭的框架体系, 难以支持由开放、动态、多变的Internet环境衍生的网构软件的开发.从技术的角度看, 网构软件在Internet上展现为一种与当前的信息Web类似的Software Web[1]. 以软件构件等技术支持的软件实体将以开放、自主的方式存在于Internet的各个节点之上, 任何一个软件实体可在开放的环境下通过某种方式加以发布, 并以各种协同方式与其他软件实体进行跨网络的互连、互通、协作和联盟. 由于Internet的开放、动态和多变, 以及用户使用方式的个性化要求, 决定了网构软件的开发不同于传统软件开发的“一次成型”式, 具体表现为, 网构软件在发布之后, 能够感知外部网络环境的动态变化, 并随着这种变化按照功能指标、性能指标和可信性指标等进行静态的调整和动态的演化, 以使系统具有尽可能高的用户满意度, 而且, 由于用户需求的多样化和个性化以及投资回收等因素, 一个软件系统往往存在时间较长, 因此, 网构软件的演化过程也在长时间内持续不断. 显然, 开发具有上述技术特点的网构软件面临着开发过程、开发方法以及支持技术3个方面的挑战.在软件开发过程方面, 传统软件系统的开发因所基于的平台相对封闭、静态、稳定, 基本采用自顶向下的途径, 确定系统的范围(即scoping)总是建立需求的第一步, 然后通过分解而实施分而治之的策略, 整个开发过程处于有序控制之下. 而网构软件系统的开发所基于的平台是一个有丰富基础软件资源但同时又是开放、动态和多变的框架, 开发活动呈现为通过将原本“无序”的基础软件资源组合为“有序”的基本系统, 随着时间推移, 这些系统和资源在功能、质量、数量上的变化导致它们再次呈现出“无序”的状态, 这种由“无序”到“有序”的过程往复循环, 基本上是一种自底向上、由内向外的螺旋方式. 此外, 在传统的软件工程体系中, 软件生命周期概念所强调的是从问题提出到软件交付的整个开发过程的重要性, 而对于交付之后的软件变化过程往往只采用“软件维护”加以简单概括. 这样一种软件生命周期概念对处于静态封闭环境下的软件系统的开发是合适的, 但对处于Internet开放、动态和多变环境下网构软件系统的开发则有明显的局限性. 首先, 新的软件实体往往通过已有的软件实体组装而成, 由于这些实体彼此独立、自主运行, 不受任何机构或组织的统一控制, 因此, 在系统交付运行之前, 很难由这些被组装的软件实体准确无误地推演出目标系统的功能和质量. 其次, 环境的开放、动态和多变决定了软件实体及其之间的协同均面临着诸多变化, 不论这些变化能否在运行前准确预知, 运行系统都不得不进行持续的适应性调整. 第3, 网构软件既服务于处在不同时区的用户也服务于随时到达的其他网构软件1102中国科学E辑信息科学第36卷的请求, 而且, 一个网构软件系统本身往往由散布在Internet上的其他软件组成, 因此, 一个网构软件系统一旦交付使用, 往往就不能完全停机. 这意味着改错、优化、增加新功能等活动均需在线执行, 这些活动也需要经历分析、设计、实现、测试、部署, 而传统软件生存周期中的维护期难以准确刻画这些活动.在软件开发方法方面, 对于网构软件所具备的自主性、演化性、协同性、多态性和反应性, 传统的开发方法考虑不多、支持远远不够. 首先, 网构软件自主性是指软件实体具有相对独立性、主动性和自适应性. 从技术角度看, 网构软件实体一般都是独立开发和管理的, 它们可能在不同的网络节点上独立运行. 它们的目标和所提供的服务由其所有者来决定, 其行为受自身的目标驱动, 而并非单纯地被动用于组装或部署. 它们在运行过程中可能实时收集环境的各种变化信息, 并根据预先设定好的策略, 在必要时自动调整自身的行为以适应环境的变化; 其次, 协同性是指网构软件系统中软件实体与软件实体之间可按多种静态连接和动态合作方式在开放的网络环境下加以互连、互通、协作和联盟. 从技术角度看, 传统软件系统在封闭集中环境下往往采用单一静态的连接模式, 而网构软件则支持连接模式的适应性调整, 如, 不同互操作协议的切换, 连接安全级别的升降, 同步异步的转变, 消息传递可靠性的调整等; 第3, 反应性是指网构软件具有感知外部运行和使用环境并对系统演化提供有用信息的能力. 从技术角度看, 网构软件的外部环境由其他网构软件以及底层支撑平台组成, 因此, 反应性既要求网构软件能够以某种方式暴露自身的状态和行为信息, 也要求网构软件支撑平台能够开放底层实现细节及运行状态; 第4, 演化性是指网构软件结构可根据应用需求和网络环境变化而发生动态演化, 主要表现在其实体元素数目的可变性, 结构关系的可调节性和结构形态的动态可配置性. 从技术角度看, 演化性要求软件体系结构具备动态调整能力; 最后, 多态性是指网构软件系统的效果体现出相容的多目标性, 它可根据某些基本协同原则, 在动态变化的网络环境下, 满足多种相容的目标形态. 从技术角度看, 多态性既要求系统开发过程中需要支持多目标建模, 又要求系统运行时能够基于环境变化进行动态目标的适应性选择. 基于上述分析, 网构软件诸多特性在技术上的主要共性可归结为自适应性, 具体表现为软件实体的自适应性和软件结构的自适应性, 即, 网构软件在运行过程中能够在合适的时刻、合适的场合、准确捕捉变化并进行合理的适应性调整, 以满足功能和质量的需求. 人在网构软件适应过程中的参与程度决定了网构软件自适应能力的高低. 因此, 如何开发出具有这种自适应能力的软件系统, 并尽可能减少运行过程中人的参与, 是网构软件开发方法的关键挑战.在软件运行支撑技术方面, 传统的软件开发工具往往针对软件交付前的分析、设计、实现、测试中的一个或几个阶段, 而软件交付后则部署在运行平台上, 并利用各种管理工具进行维护. 而基于上述分析, 网构软件的开发已经不仅仅局第10期 梅宏等: 一种以软件体系结构为中心的网构软件开发方法1103限于软件交付之前, 软件开发的重心从交付前逐渐转移到运行过程中, 而网构软件自动或手动的调整往往依赖于软件生存周期各个阶段的活动与制品. 因此, 网构软件开发工具不仅要覆盖整个软件生存周期, 还有必要与运行平台融合, 从而支持软件运行中持续不断的开发活动. 另一方面, 网构软件的诸多特性对运行平台提出了极大的挑战, 首先, 运行平台不仅要具备实时显示自身运行状态和行为的能力, 还应协助实现上层软件实体内部状态和行为的实时展现, 其次, 运行平台必须支持网构软件实体与结构的动态调整, 否则, 自适应很难甚至在某些情况下无法实现.综上所述, 网构软件的开发在过程方面, 需要遵循自底向上、从“无序”到“有序”的新型构造途径, 开发重心由系统交付前向系统运行时转移; 在开发方法方面, 需要重点考虑软件实体和结构的自适应性; 在支持技术方面, 需要整合开发工具和运行平台以支持跨整个软件生存周期的开发, 而运行平台应提供软件实体和结构自适应所需的基本机制.本文针对网构软件需求, 考虑网构软件更关注实体组合的特点, 提出一种以软件体系结构为中心的网构软件开发方法, 该方法采用ABC(architecture based component composition)方法[2]框架, 即以构件组装为基本手段, 使用软件体系结构的理论与概念来指导软件开发, 以提高系统开发的效率和质量. 考虑网构软件的特性, 该方法重点关注3个问题: (1)Internet上“无序”软件资源的有效建模、组织和管理, (2)网构软件自适应建模, (3)支持网构软件特征的支持工具和运行平台.1 ABC方法概览ABC方法于2000年正式提出, 从支持软件复用的角度来看, 是软件体系结构(SA)研究和基于构件的软件开发(CBSD)途径的结合. SA研究提供了一种自顶向下实现基于构件的复用的途径, 即通过体系结构描述语言(ADL, architecture description language)在较高抽象层次上描述构件接口的语法和语义、系统中的构件和连接子以及它们之间的交互关系、构件的非功能属性、以及构件间协议, 从而建立系统的体系结构模型. 但是, 当前的SA研究大都局限于体系结构描述和一些高层的性质验证, 对体系结构求精和实现的支持能力明显不足. 另一方面, CBSD提供了一种通过使用现存的中间件基础设施自底向上地实现基于构件的软件复用的途径, 强调使用已经开发好的构件来构造软件系统. 但是, 当前CBSD 讨论的重点主要局限于COM, CORBA和EJB等二进制构件, 这些中间件技术仅仅提供了在实现层次上支持构件交互的基础机制, 缺少指导CBSD过程的系统化的方法学, 特别是对高抽象层次的构件组装无能为力. 作为一种自然的解决方案, ABC方法有机组合了这两种途径, 以支持有效的基于构件的复用.ABC方法的核心思想是将软件体系结构引入到软件开发的各个阶段, 作为1104中国科学E辑信息科学第36卷系统开发的蓝图, 利用工具支持的自动转换机制缩小从高层设计到实现的距离, 而后在构件运行平台(软件中间件)的支持下实现自动的系统组装生成. ABC方法过程模型如图1所示:图1 ABC方法过程模型■ 需求分析阶段(需求视图): ABC为了在高层指导以构件组装为基本手段的软件开发, 在需求分析阶段引入了软件体系结构的概念, 以结构化的方式来组织问题空间和用户需求[3]. 在此阶段, 软件需求以特征的形式表示, 需求间的关系则由相应特征间的关系来刻画, 即以特征作为需求空间内的一阶实体, 通过显式地描述特征间的静态和动态依赖关系对需求进行分割和组织, 形成被称为特征模型的分析模型. 为了描述一类相似或相近的软件系统的共性和变化性需求, ABC在领域特征模型中引入了变化性的表示机制; 为了有效地刻画需求空间中各个需求间的关系, 特征模型中定义了特征间的4种重要关系: 精化关系、约束关系、影响关系和交互关系[3, 4], 分别描述特征间的静态和动态依赖关系. 在后继的复用阶段, 通过对领域特征模型的定制产生适应于特定软件系统的需求模型, 在领域特征模型中记录的特征间的约束关系信息为具体软件系统特征模型信息完整性和一致性的检查提供了依据[5]. 在此基础上, ABC的特征建模方法通过对需求责任的识别以及需求间相互依赖关系的深入分析, 设计出软件系统的高层体系结构[6], 作为后续设计、组装和维护的指南.■ 体系设计阶段(设计视图): ABC方法在设计阶段主要进行SA建模, 真正意义上的SA模型在本阶段首次成型. 在本阶段, 设计者通过研究软件系统的需求规约, 制定相应的全局设计决策, 进一步细化问题域空间中的构件和连接子, 创建必须的构件和连接子, 建立静态和动态的SA模型(包括类型图、实例图和过程图等), 建立需求规约与SA的映射关系[2,7]. 为了提高目标系统的软件复用率, 设计者应考虑资产池中可复用的构件和连接子. 值得一提的是, ABC方法并不排斥其他的软件开发泛型, 如面向对象分析与设计产生的高层设计或概要设计也可视为一种SA, 只要将这种面向对象的SA中的基本组成元素从对象封装为构件第10期 梅宏等: 一种以软件体系结构为中心的网构软件开发方法1105(如, 将一组对象封装为一个构件的常见原则包括对象来源、功能类别、用况、通信频繁程度、并发和分布情况一般-特殊结构、整体-部分结构、关联、包的关系密集程度等), 就可以将这种构件化的SA直接作为本阶段的设计结果, 或进行一定程度的精化.■ 组装阶段(实现视图): ABC方法中, 基于SA的组装阶段实际上是软件系统的实现阶段. 在该阶段中, 根据设计得到的SA模型, 选取、鉴定、适配资产池中已有的实现体, 通过一致性校验后, 把整个系统组装成可发布的软件包[2,8]. 在实际应用中, 始终存在一些无法复用的构件, 此时, ABC可将这些构件描述转换成UML模型或C++和Java代码框架, 开发者完成构件制作并将之存入资产池, 最终组装到目标系统.■ 部署阶段(部署视图): 基于构件的软件系统往往运行于特定的中间件平台, 如CORBA/CCM(common object request broker architecture / CORBA component model), J2EE/EJB(Java 2 platform enterprise edition / enterprise javaBeans), COM(component object model)或Web services等, 这些系统运行之前, 必须经过部署才能正常运行. 而部署所需的相关信息繁杂, 往往需要部署人员手工填写. 其实, 大部分部署信息在系统设计与实现阶段已经存在, 经过转换或融合可以复用. 为此, ABC方法定义了SA部署视图, 该视图包含了大量由设计视图与实现视图派生出来的部署信息, 支持以直观的图形方式添加少量的信息, 并实时显示目标环境的资源与负载情况, 从而实现自动化的部署[9].■ 维护与演化阶段(运行视图): 从某种意义上来说, ABC软件开发方法可以看成SA视图连续、迭代的细化、映射和转换, 在每一次细化和转换后, 软件体系结构的语法和语义信息变得更加精确与完整. 到了维护与演化阶段, 运行视图刻画了系统在运行时刻的实际状态, 因而具有系统最精确和完整的信息. 该视图即为运行时软件体系结构(runtime software architecture, RSA). 在反射式软件中间件的支持下, RSA不仅积累了设计、组装和部署阶段的信息, 还实时地反映出系统运行时刻的真实状态, 并且, 通过对RSA的操作, 可以对软件系统进行在线维护与演化[10,11].为了支持上述过程, ABC方法实现了特征建模工具、软件体系结构建模工具和作为构件运行支撑平台的软件中间件. 特别地, 软件体系结构建模工具支持可视化的软件体系结构设计、构件组装、应用部署、在线维护与演化. 目前, ABC 方法已在北京2008奥运会信息系统建模、某商业银行信贷风险管理系统开发等得到实际应用.尽管ABC的初始目标是传统软件系统, 但网构软件是传统软件的自然延伸, 且ABC从2002年开始逐步考虑对网构软件主要特征的支持, 因此, ABC方法能有效支持网构软件的开发. 具体而言, (1) 网构软件从“无序”资源成为“有序”系统1106中国科学E辑信息科学第36卷就是一种典型的、甚至是理想的软件复用模式, 仍然需要软件复用相关技术的支持, 这些复用技术也是ABC方法的关键并得到了较好的支持. 当然, 网构软件的复用具有与传统软件复用不同的显著特点, 如, 可复用资源散布在Internet上, 缺乏统一的管理, 实体具有自主性等等; (2) 网构软件强调实体的自主性, 但这种自主性仍应受到一定程度的控制, 才能实现网构软件的“有序”化, 而软件体系结构恰恰是一种对独立实体进行有序控制的有效手段, 因此, 网构软件仍需要显式的体系结构进行合理的全局控制. 当然, 网构软件的体系结构与传统软件也有一些不同之处, 如, 体系结构的基本实体可变, 实体之间的连接可变等等; (3)与传统软件不同, 网构软件强调软件交付后的持续演化, 软件的开发和运行需要贯穿起来并具备统一的工具和平台支撑. 针对这一特点, ABC方法以软件体系结构为中心将设计、实现、部署、维护与演化贯穿并提供了统一的工具. 综上所述, ABC 方法在理念、主旨、过程上与网构软件的开发是匹配的, 而ABC方法转型为一种网构软件开发方法的关键在于对网构软件主要特性的支持. 结合前面对网构软件开发挑战的分析, ABC方法重点开展了3个方面的研究: 在开发过程方面, 基于特征的需求建模支持网构软件自底向上、从“无序”到“有序”的构造过程中“无序”资源实体的建模及其组织和管理, 以软件体系结构为中心的设计、实现、部署、维护与演化充分支持网构软件交付后的持续开发; 在开发方法方面, 自适应软件体系结构设计能够开发出具备结构自适应性的网构软件, 该设计方法也能导出自适应软件实体必须支持的功能与质量目标; 在支持技术方面, ABC软件体系结构建模工具支持可视化的设计、实现、部署、维护和演化, ABC运行平台在支持EJB, Web services等主流构件模型的基础上, 还提供实时显示与操纵底层平台与上层构件运行状态和行为的反射式框架, 以及基于规则的构件自主运行机制.2基于特征的网构软件需求建模如前所述, 网构软件系统的开发基于一个具有丰富基础软件资源的平台, 相应的开发活动基本呈现为一种自底向上的方式, 即由基础软件资源根据用户的需求进行组合以形成新的应用系统. 另一方面, 网构软件系统开发所基于的平台又是一个兼具开放、动态和多变的框架, 其中的软件资源大多为分布、异构的无序构件或构件群, 基本呈“无序”的状态. 如何整合这些无序的资源使之在开发的过程中处于“有序”的控制之下, 以便开发者在构建网构软件时可以采用成熟的软件开发方法, 诸如传统的自顶向下、逐步精化开发方法, 是网构软件开发面临的一大挑战.作为系统化生产可复用软件资产的领域工程是在对一类具有相似需求的若干领域成员系统进行分析的基础上, 考虑领域预期的需求变化、技术演化、经济利益、限制条件等因素, 进而确定领域的范围, 识别领域中的共性和变化性, 获第10期 梅宏等: 一种以软件体系结构为中心的网构软件开发方法1107取一组具有足够可复用性的领域需求, 并对其进行抽象形成领域模型. 在某种意义上, 领域工程的分析阶段就是一个自底向上、对各个成员系统进行分析、抽象, 构建领域需求模型的过程. 所以ABC采用领域工程方法和手段对网构软件所基于的平台资源进行有序化的整合, 通过对底层的各站点资源的抽象和梳理, 使之成为一组有序可控的资源群, 以作为搭建网构软件、完成特定业务目标的有机构成成分. 如图2所示, 首先通过领域边界的确定和领域分析活动, 把分散在Internet各处的无序资源(站点元素)组织成具有变化性表示机制的领域模型, 体现一类网构软件系统的高层目标; 再根据具体的需求经过需求分析对领域模型加以剪裁和扩充, 定制生成新的网构应用. 这些新的应用可能进一步作为服务散布在Internet的某处, 随着时间的推移而成为新的“无序”资源. 这些新的“无序”资源又可经过新一轮的领域分析迭代加入领域模型, 从而形成网构软件资源“无序”到“有序”的往复循环过程. 因此, ABC的面向特征的领域模型及建模方法FODM[3~6]可为网构软件平台资源的有序化提供一种有效手段.图2 通过领域工程整合网构平台的底层资源FODM的特征模型是一种以特征、特征之间的依赖关系为核心元素的特征模型结构框架, 支持对领域需求的系统化建模. 特征之间的关系包括精化、约束、影响和交互四种. 精化和约束对于建模需求的共性和变化性具有重要作用. 其中, 精化刻画了不同抽象层次和粒度的特征之间的静态结构关系. 通过精化关系, 特征模型形成了易于理解的层次式结构. 约束则刻画了特征在绑定状态上的依赖关系. 约束关系的显式建模保证了特征模型的易定制性以便于复用. 影响和交互关系对于基于特征模型的领域设计具有重要作用. 其中, 影响刻画了特征在程序规约层次上的依赖关系. 交互则刻画了特征在运行时刻的动态依赖关系. 图3给出了FODM特征模型的具体形式. 该特征模型除了记录系统具有的服务、功能、行为特点、用例等特征外, 还显式记录了系统具有的质量特征以及特征之间存在。

基于敏捷技术的敏捷开发辨析与应用研究

基于敏捷技术的敏捷开发辨析与应用研究
敏捷 开发是 由 1 5个 科 学 家 共 同 提 出来 的 ,其 中包 括 来 自思特 沃 克公 司 ( T  ̄u g h t wo r k s ) 著 名 的 软 件 大 师 马
丁 ・ 福勒 ( Ma r t i n ̄w l e r ) 。敏 捷 开 发 即 一 种 全 新 而 快
开 发 团队 的每个开 发人 员能 够独立 地进 行 系统模块 开发 是 敏 捷开发 能 否成功 的关键 因素 。而 以 往 的传 统 开发 技 术 , 并 没有将 系统 模块 化 , 整 个 系统 的耦合性 较 高 ,依 赖性 较 强 ,使用 传统 的开 发技术 并不 能实 施敏捷 开发 方法 ,使 得 敏捷 开发 提倡 的系统各模 块 之 间并 行开 发成 为空想 。简 单 三 层却 为这 一要求 提供 了可行 性 。 三层 架构 由底 层至上 层分 为数 据访 问层 ( D a t a A c c e s s
戴洪蕾 ,等 :基于敏捷技术 的敏捷开发辨析与应用研究
前 沿 理 论
基 于 敏 捷 技 术 的 敏 捷 开 发 辨 析 与 应 用 研 究
戴洪 蕾 ,王建国
( 内蒙古工业大 学,内蒙古 呼和 浩特
[ 摘
0 1 0 0 5 1 )
要 ] 高效便 捷 的轻 量型软 件 开发模 式是 管理信 息 系统 开发 的新 方法和 新 思路 ,作 为敏 捷 开发 模 式基 石 的 面向
2 敏 捷技 术 的重 要性
从 目前 敏捷 开发 的研 究现 状 中 ,我们 可 以看 到在任 何

个 软 件 的开发 过程 中 ,任 何 的一种 模式 都 不是 能解决 所
有 问题 的万 能钥 匙 ,所 以在 软件 开发 过程 中应 全 面考虑 所

《软件技术基础》教学改革探析

《软件技术基础》教学改革探析

【 中图分类号】 G 4 2 0
1引 言
【 文献标识码 】 A 【 文章编号】 2 0 9 5 — 3 0 8 9 ( 2 0 1 4 ) 9— 0 0 9 5 — 0 1
以《 软件技术基础》 课 程 理论 为基 础 , 结合《 c语 言 》 课程 . 开 发和 设 计 了本课 程 的教 学辅助 系统 。 本 系统研 究 主要 内容 包括软 件 工程 、 数据 结 构和 数 据处 理 三大模 块 。软 件 工程 主要 包括 需 求 分析 、 总体设 计 和软 件检 验 等部 分 。 需求分 析 主要 根据 案例 进 行 演示 说 明 , 并在 演 示过程 中 , 引 出相 关概 念 : 总体 设 计主 要是 通 过 演示 各种 设 计 方法 来对 比讲 解 ; 软件 检 验主 要侧 重 于动 画 显 示软 件 检 验步 骤 流程 。数 据 结构 主要 包括 线性表 、 栈、 队列、 树和 图等 部 分 。对 各种 数 据 结构 ,本教 学辅助 系统要 能 够显 示其 概 念 、 重 点、 难点、 实现 算 法 以及 可 动 态 的模 拟跟 踪 算 法 的 运算 过 程 和 结 果 。数 据 处理 主要 涉及排 序 和查 找 , 对相 关 算 法的运 算过 程 和 结 果进 行 动 态演 示 , 并 能够 进行 算 法分析 和 课后 操 作 练 习。本 教 学 辅助 系统 的使 用 不仅 改善 了枯 燥 的教 学方 式 , 还 激发 学 生的 学 习 积极 性 , 实现教 学 方 法的 改革 , 推进 教 学手 段 的进 步 。 3 ) 强化 实践教 学 要 进 一 步加 强 实践环 节的 建设 , 改 善 实验 条 件 和规 模 . 加 大 实践 场 所 的开放 程 度 , 为 学生 实践 能力 及创 新 能 力的培 养 奠定 更

软件体系结构交互动作精化研究

软件体系结构交互动作精化研究
第4 2卷 第 1 期 2 0 1 3 年1 月
电 子 科 技 大 学 学 报
J o u r n a l o f Un i v e r s i t y o f E l e e t r o n i c S c i e n c e a n d T e c h n o l o g y o f Ch i n a
Re s e a r c h o n I n t e r a c t i v e Ac t i o n Re in f e me n t o f S o f t wa r e Ar c h i t e c t u r e
P EN Ho n g - mi n a n d L I U J i n
( De p a r t me n t o f C o mp u t e r S c i e n c e a n d T e c h n o l o g y , S h a n g h a i Ma r i t i me U n i v e r s i t y P u d o n g S h ng a h a i 2 0 0 1 3 5 )
mo d e l s a t d i f e r e n t a b s t r a c t i o n l e v e l s . Th i s p a p e r r e v i e ws c u r r e n t r e s e rc a h e s o n s o f t wa re rc a h i t e c ur t e r e i f n e me n t . na a l y z e s he t i r i n a d e q u a c i e s ,a n d he t n p r o p o s e s a n e w c o n c e p t o f i n t e r a c t i v e a c t i o n r e f me ' me n t o f s o f t wa re rc a h i t e c ur t e b a s e d o n 7 c ADL rc a h i t e c ur t e d e s c r i p t i o n l ng a u a g e .d e f me ' s he t f o r ma l s p e c i f i c a t i o n me t h o d nd a p r nc i i p l e s o f i n t e r a c t i v e a c t i o n r e f ne i me n t ,d e v e l o p s a r e f me ' me n t r e a s o n ng i a l g o r i t h m,wh i c h c a n p r e s e r v e he t h i g h e r - l e v e l a r c h i t e c ur t a l b e h a v i o r p r o p e r t i e s a c r o s s r e f ne i me n t h i e r rc a h i e s nd a g e n e r a t e s l o we r - l e v e l a r c h i t e e ur t e s a u t o ma t i c a l l y . I n t e r a c t i v e a c t i o n r e f ne i me n t C n a e f f e e t i v e l y e l i mi na t e he t mi s ma t c h e s o f a b s t r a c t i o n l e v e l s b e we t e n c o mp o n e n t s nd a t I l e i r nt i e r a c t i v e a c t i o n s t l l t a o c c u r n i he t rc a h i t e c t u r a l r e f me ' me n t p r o c e s s . A c a s e s ud t y s h o ws t h e v a l i d i t y o f he t p r o p o s e d me ho t d . Ke y wo r d s 7 c c a l c u l u s ; a rc h i t e c ur t e r e f ne i me n t ; i nt e r a c t i v e a c t i o n ; s o t f wa r e a r c h i t e c ur t e

软件工程与人机交互技术研究

软件工程与人机交互技术研究

软件工程与人机交互技术研究在当今数字化的时代,软件工程和人机交互技术发展迅速,已经在各个领域广泛应用。

软件工程是一门关注软件开发过程、质量和维护的学科。

人机交互技术是一门关注如何设计易用、易学、容错和满足用户需求的计算机系统的学科。

本文将探讨软件工程与人机交互技术的研究和应用。

软件工程是一项复杂的任务。

软件开发需要采用严谨的方法和流程,以确保开发的软件可靠、高质量、易于维护和升级。

在软件开发过程中,软件开发者需要考虑并设计软件的结构、功能、性能、可靠性和安全性等方面。

此外,软件质量还需要考虑不断变化的需求和环境因素。

因此,软件工程需要采用多种技术和工具来帮助开发人员处理上述问题。

为了满足用户需求,软件工程师需要通过一系列活动来分析和确定软件的需求。

这包括对需求的理解、分析、文档化、验证和管理。

软件需求分析是软件开发过程中非常重要的一环,因为这直接关系到软件是否能够满足用户需求,以及软件是否能够在结果中良好运行。

在软件需求分析阶段,人机交互技术可以支持软件开发人员理解和分析用户需求。

同时,人机交互技术还可以提供相关工具和技术来支持开发团队进行设计和实现。

例如,用户界面设计在人机交互技术方面有很大的重要性。

通过设计出一个良好的用户界面,软件开发人员可以提供用户友好的界面,促进软件的易用性和易学性。

随着计算机处理速度和存储容量的不断提高,越来越多的应用程序开始将数据可视化作为一种重要的交互方式。

数据可视化技术是一种创新的人机交互技术,利用图表、曲线、散点图、柱状图等视觉元素展示数据,使繁杂的数据变得更加易于理解和分析。

在软件工程领域,数据可视化技术正在被广泛应用于用户界面设计、数据分析和可视化测试等方面。

软件测试是软件工程过程中最重要的环节之一。

测试可以帮助开发者检测出隐藏在软件中的错误和缺陷,从而提高软件的质量。

在测试软件时,开发人员还需要考虑用户的期望和需要,这就需要结合人机交互技术来进行测试活动。

软件工程与人机交互技术的融合应用研究

软件工程与人机交互技术的融合应用研究

软件工程与人机交互技术的融合应用研究随着信息技术的高速发展,软件工程和人机交互技术的融合已经成为一个重要的话题。

软件工程是一门科学,它研究人们如何开发和维护高质量的软件系统,而人机交互技术则关注于设计和开发用户友好的软件界面和交互方式。

将这两者结合起来,可以为用户提供更好的软件体验,并提高软件的可靠性、鲁棒性和高效性。

软件工程和人机交互技术的融合应用主要是通过人机交互界面实现的。

人机交互界面是用户与软件系统之间的交互平台,同时也是软件系统的门面和窗口。

人机交互界面应该尽可能地简化用户的操作,提供清晰、直观和易于理解的界面,让用户能够轻松地找到所需的功能,同时也要提高用户对软件的信任和满意度。

然而,实现一个好的人机交互界面并不是一件容易的事情。

设计人员必须考虑到不同用户群体的需求、习惯和心理特点,还要遵循设计风格、界面规范和标准化的原则。

在实践中,人机交互界面设计师通常采用原型设计、用户测试、迭代设计和UI规范等方法,以确保设计的人机交互界面能够符合用户的需求和期望。

在软件工程和人机交互技术的融合应用研究中,人机交互界面的优化往往是最重要的一环。

现代软件系统通常非常复杂,需要涉及到多个模块和功能,而这些模块和功能之间往往存在复杂的交互和依赖关系。

为了满足不同用户的需求,界面设计过程中必须考虑到软件系统的可扩展性、灵活性和可操作性,同时也要遵循关注重点和功能比例等原则,以便让软件系统的功能更加有序和明确。

除此之外,在软件工程和人机交互技术的融合应用研究中,还有很多其他的关键问题需要解决。

比如,如何有效地调整软件系统中不同模块的功能,使用户能够更加快速、简单地完成任务?如何有效地处理用户的反馈和意见,以便及时优化和改进软件系统?如何保护用户隐私和信息的安全,避免用户信息被不法分子盗用和泄漏?总之,软件工程和人机交互技术的融合应用研究是一个广阔而有前景的领域。

通过不断地研究和探索,我们可以不断优化和提高软件系统的质量和性能,同时也可以为用户提供更好的软件体验。

探究计算机体系结构软件模拟技术

探究计算机体系结构软件模拟技术

随 着计 算 机 越 来越 融 . ,  ̄A 4 f l 生 活 中的 每 个 角 落 ,计 算 机 果 来 判 断模 拟 器程 序 是 否是 正确 的 。还 有 一 种 是 采 取 取 样 的 方 式 . 运 用统 计 采 样 来 实 现 , 通过 对 指 令 的 有 效 选 择 。 从 而 选 系统 性 能 已不 能 满足 人 们 的 发展 需要 。 因此性 能 飞速 提 高。 由 于 计 算机 系统 中有 许 多不 同的 运 行 方 式 ,在 制 造 与 设 计 中浪 择 出合 适 的 运行 指令 。这 种 选择 方 式主 要 是 在 指 令 选 择 之 后 并 在 模 拟 器 中 实施 的 , 对 整 个程 序 进 行 推 算 , 执 行。 费 许 多的 资金 和 人 力资 源 。 所 以, 加 大对 计 算 机体 系结 构软 件 实现 输 入 ,
1 计算机体系结构的软 件模拟 技术概述
计 算 机 体 系 结构 的软 件 模 拟 技 术 也 就 是 通 常 人 们 所 说 的 仿 真 。 因为 对研 发 处 理 器 时 , 需要 设 计 多个 处 理 器 样 本 , 得 消
间。 在 标 准 化 性 能 测 试程 序 运 行 中 , 输入 参 数 值 保 持 有 效 的 降 低, 在 这 过 程 中要 保 证 两 方 面 : ① 改 变参 数 值 数 量 的 改 变 ; ②
保 证 测 试 程 序 实现 的标 准 化 。依 据 这 种 模 拟 的 运行 结果 , 进 一
耗 大 量 的精 力和 金 钱 、 时间 . 从 实 际测 试 中选 择 性 能 最 佳 的 处 理 器版 本 。 但 是 这 样 为 了提 高 效
【 关键词 】 探 究: 计算机体系 : 结构软 件; 模拟技术 【 中图分类号 】 T P 3 9 1 . 9 【 文献标识码 】 A 【 文章编号 】 1 0 0 6 — 4 2 2 2 ( 2 0 1 6 ) 2 2 — 0 0 7 9 — 0 1

新技术与软件体系结构

新技术与软件体系结构

新技术与软件体系结构5ComputerEraNo.52006新技术与软件体系结构刘真'.任长明'.王国艳(1.天津大学电子信息工程学院,天津300072;2.北京市建筑材料工业学校)摘要:软件体系结构是软件工程学科中一个重要的研究领域,它是大型软件系统与软件产品线开发中的关键技术之一.文章从多个方面阐述了软件体系结构的定义,特点,应用以及与目前新技术的结合情况.关键词:软件体系结构;基于体系结构的软件开发;复用;构建;面向对象;组件技术O引言随着软件系统规模越来越大,越来越复杂,其总体的系统结构设计和规格说明显得尤为重要.软件系统的模块化和复用技术的发展,使软件体系结构的概念和研究越来越深入,目前已经成为软件工程研究和实践的主要领域.1软件体系结构定义尽管软件体系结构技术已在软件开发过程中发挥着越来越大的作用,但由于它仍处于新兴发展之中,因此到目前为止,软件体系结构仍没有一个被大家所公认的,统一的定义.软件体系结构的大多数定义都包括以下几个部分:(1)构件构件是具有某种功能可重用的软件模板单元,表示了系统中主要的计算元素的数据存储.构件有两种:复合构件和原子构件.(2)接口接口是一种特殊的体系结构元素,它定义了—组构件间的交互点.定义良好的接口可保证构件之问本质的关系.(3)约束(规则)构件与其关系之间所必须满足的条件和限制.约束把体系结构与系统需求联系起来.(4)角色连接作为建模软件体系结构的主要实体,同样也有接口,连接的接口由一组角色组成.连接的每一个角色定义了该连接表示的交互的参与者.2基于体系结构的软件开发软件体系结构的提出源于程序复用的概念,可以说体系结构的复用是最高级别的复用形式.本质上,软件体系结构是对软件需求的一种抽象解决方案.在引入了体系结构的软件开发之后,应用系统的构造过程变为"问题定义一软件需求—软件体系结构一软件设计一软件实现",可以认为软件体系结构架起了软件需求与软件设计之间的一座桥梁.如图l所示.<墨竺至)卜_—叫墨塑卜——(,塑壅一,)图l基于软件体系结构的开发方法2,1复用为了加快软件开发进度,提高软件质量和生产率,在软件开发过程中,尽可能重复使用已有的软件元素(通常称为"构件", 包括源代码,设计,规约,体系结构等),即所谓的软件复用(reuse)(5(.称软件重用)技术,可以大大减少软件开发所需的费用和时间,且有利于提高软件的可维护性和可靠性.基于体系结构的软件设计不仅可以实现组件的重用,还可以通过对通用范型的识别,实现系统框架的复用,因此可以说, 基于体系结构的软件设计可以支持不同层次的复用.软件体系结构提高了软件复用的抽象层次和复用粒度,为高层次,大粒度的软件复用提供了有力的支持.软件体系结构支持多级复用,既支持较大构件的复用,如子系统的复用,也支持构件集成框架复用.在基于构件与体系结构的软件开发时代,软件复用是软件体系结构研究的主要目标之一.2-2构建按照一定的描述方法,用体系结构描述语言对体系结构进行说明的结果称为体系结构的表示,而将描述体系结构的过程称为体系结构的构造.由Kruchten提出的"4+1"模型是当前软件体系结构描述的一个经典范例,如图2所示.最终用户:功能需求编程人员:软件管理系统集成员:性能可扩充性,吞吐量等系统工程人员:系统拓扑,安装,通信等图2"4+1"模型体系结构设计过程的本质在于:将系统分解成相应的组成成分(如构件连接件),并将这些成分重新组装成一个系统.具体说来,体系结构设计有两大类方法:过程驱动方法和检查列表驱动方法.基于过程驱动的体系结构设计方法适用范围广,包括:(1)面向对象方法,与OOA/OOD相似,但更侧重接口与交互;(2)"4+1"模型方法;(3)基于场景的迭代方法.应该说,体系结构设计研究的重点内容之一就是体系结构风格或者说是体系结构模式.体系结构模式在本质上反映了一些特定的元素按照特定的方式组成一个特定的结构,该结构应有利于上下文环境下的特定问题的解决.软件体系结构清晰地表明了系统的模块构成及各模块之间的依赖关系,从而为系统的实现提供了一个总体蓝图.2.3管理与发展对体系结构的清晰理解,为明确需求,选择实现策略,评价潜在风险等,提供了技术和管理的基础.同时明晰的体系结构可以帮助系统管理员根据系统运行情况评价系统改进的途径及其代价.计算机时代2006年第5期?6'3软件体系结构和面向对象技术面向对象技术(简称oo技术)是一种与传统软件工程的功能方法完全不同的,以对象为中心的方法,它不仅是一种程序设计技术,更重要的是体现了一种思维方法.随着面向对象技术的成熟,出现了更为简炼的面向对象的系统模型,如图3所示.其中,系统内核对象中封装的是能为用户界面对象和所有应用对象共享的数据及相应的操作;用户界面对象中封装的是用户界面数据及相应的操作;应用对象中封装的是应用数据及相应的操作.所有这些对象通过相互问的通讯协调来完成指定的功能.从系统构成的角度来说,这类模型的结构是无中心的,系统由各对象实体构成,各对象实体具有平等的地位,这与以数据为中心和以执行为中心的模型不同.面向对象的系统模型的主要优点在于:数据和功能的合理封装降低了由于数据和功能的集中管理所带来的通讯上的开销和操作上的复杂性;另外,系统的无中心结构也使系统的构成变得更加灵活.从整体上看,面向对象的系统模型无论其开放性还是其有效性都要优于以数据为中心的和以执行为中心的两类模型.图3面向对象的系统模型面向对象模型比以往的模型有了很大的进步,但仍有不足:对象之间的联系是一种点对点的直接联系,当系统中对象数目增加时,通讯链接数将以平方级激增;同时,为支持通讯, 每个对象实体都要维护一个包含所有对象实体功能服务信息的功能服务信息库,这部分信息不但重复,而且还要保证其一致性.这些开销都损害了系统的效率.更大的问题还在于:对象的接口没有一致的标准,造成向系统中扩充对象时的随意与不规范,不利于系统的维护以及对象的复用.4软件体系结构与组件技术面向对象研究改变了传统软件系统的结构,这种结构可使软件用组合构造的方法生成.以面向对象为基础的构件和中问件技术的逐渐成熟,为应用软件系统的建模引入了新的思想, 产生了基于总线的系统模型,如图4所示.图4基于总线的系统模型4.1基于组件的软件开发基于组件的软件开发已成为一个热门研究领域,获得商业界的关注,并产生了几个组件互操作性模型,如CORBA,Ac—tiveX,JavaBeaJ1s,这些模型能帮助实践者处理越来越复杂的软件系统.体系结构使开发者将注意力集中在所开发系统的整体上,并采用基于组件的开发方法,而不是从头开始创建一个系统.为此,体系结构显式给出软件系统的结构,将系统中的组件计算与它们之问的交互分离开来,在任何改变影响实现之前,提供了可供管理和分析系统的高级模型.在理论上,软件体系结构和基于组件的开发是很理想的匹配,软件体系结构关注的是组件的高层次设计,交互及配置,而基于组件开发的核心是可重用组件的实现与定义.它们是用已有的组件来开发复杂系统的两个不同方面.软件体系结构是可重用软件组件的一种自然补充,已有的组件中间件技术以组件为中心,着重对外部组件属性进行标准化;软件体系结构以系统为中心,更强调连接和作为一个整体的系统的属性.4.2使用已有组件中间件技术实现用体系结构技术建模的系统已有的组件中间件技术,如CORBA,ActiveX和JavaBe~s,是以组件为中心的,主要关注标准化外部组件属性: 接口,封装,绑定机制,组件内通信协议及关于运行时环境的期望.相反,软件体系结构及其风格以系统为中心,集中定义黑盒组件通信的系统,分析最后得到的系统的属性,产生/胶水0代码绑定系统组件.组件中间件技术和软件体系结构都是基于组件的软件开发的关键因素,然而在这两个领域之问存在着惊人的有限的交互.使用已有的组件中间件技术来实现用体系结构技术建模的系统,在无缝过渡之前必须克服几个关键技术的挑战:(1)将已有的体系结构模型与组件中间件技术结合起来的共享模型;(2) 将体系结构实体映射到实现组件;(3)建模底层结构服务.利用已有的组件中问件技术构造的复杂系统中的组件交互只提供了系统的部分模型,这是因为组件通常对中间件底层结构和操作系统提供的服务进行了扩充.这对于理解系统也是很关键的.这些服务应该也在体系结构级上进行表示.这些技术挑战非常重要,也很复杂,但这些方法不能保证成功的软件组件的应用.4.3两种开发技术的结合途径将软件体系结构与基于组件的开发结合起来,其中一种途径是从系统的体系结构设计开始,以体系结构定义为基础,直到能选择或创建已有的组件时才细化体系结构,这些组件应根据体系结构进行连接.在这种情况下,设计系统体系结构也就是定义,"填充"组件即是实现.但是,当我们没有组件的概念而首先完成了软件体系结构设计时,真正重用的机会就非常小. 另一种途径是利用已有的组件创建系统,用ADL描述这个系统的体系结构,这种描述还可用于分析.5结束语随着软件系统规模的不断扩大,软件体系结构的设计显得越来越重要.由于软件体系结构研究刚刚起步,现有的研究成果不能满足工程需要.总体来说,有以下几个方面需要进一步研究:(1)软件体系结构的基础理论研究.主要研究形式化建模方法,软件体系结构分析方法,软件体系结构行为检测.(2)现有软件体系结构描述语言已有十几种,(下转第63I)63ComputerEraNo.52006这种不足之处在开放实验教学模式下就不复存在了,学生的自主权明显提高,学习不再被动,这样才能培养具有创新意识,创新思维,创新能力的新一代大学生.2.4网络在开放实验教学模式中的作用实验室开放期间,专业的教师和指导人员不可能时时刻刻在学生身边,因此网络是一个很好的载体,学生可以下载各种学习资料,把自己的想法通过网络告诉教师,还可以跟教师进行在线交流.因此网络化跟开放式相结合是一个比较适合现代大学生的实验教学模式.3开放实验模式中的网站建设实验室网络化是信息时代的必然产物,实验室网络化的建设必将引起实验教学和实验室建设的重大变革,使传统的实验教学产生一个质的突破.实验室网络化建设的产物——网上实验室具有旺盛的生命力和发展潜力,在理,工,农,医,生物等各学科专业的实验教学领域中都有广泛的应用价值和良好的发展前景.网络化实验室的最大特点是以学生为中心,学生可以随时进行实验预习,可以通过网络向教师提交实验报告,可以就实验中的疑难问题进行相互交流,充分发挥现代化教学资源的优势.因此,实验室网络化建设对实验教学内容的改革,培养创新型人才都具有十分重要的意义.3.1网站用户分类教师可以申请注册一个用户.功能包括:上传课件,教学大纲,复习资料等;对学生进行管理,包括在线点名,对学生进行打分,提出意见;在线跟学生进行交流,讨论问题,并针对某些学生提出意见和建议.学生用自己的真实姓名注册一个用户.功能包括:下载各种资料;上传作业(上传的时候可以选择教师);向实验室负责人员提出预约实验的申请;在线跟教师进行交流讨论,在线咨询问题;提出自己在学习方面的想法.管理员对用户进行管理,有权删除一些非法用户;对各种资料进行管理,在仔细审核的情况下有权增加,删除;对交流讨论内容进行管理,发现不健康的言语和无关信息及时删除.3.2网站基本模块.网站的基本模块及相应功能如表1所示.(上接第6页)但各自风格和描述手段不尽相同,建立一种具有普遍意义的体系结构描述语言将是一件有意义的工作.(3)软件体系结构设计研究,包括体系结构设计方法,体系结构风格,体系结构设计空间等.(4)动态体系结构研究.研究软件系统由于特殊需要必须在连续运营情况下的体系结构变化与支撑平台.(5)基于体系结构的软件开发研究.引入体系结构后的软件开发过程,体系结构开发与中间技术集成及程序框架自动生成技术等.参考文献:【1】张世琨,王立福,扬芙睛.基于体系结构的款件开发模式.世界科技研究与发展,1999.21(3).表1网站的基本模块及相应功能学习课件大纲要求学习资源演示文稿往年考试题目学生管理实教师模块作业管理验通知室上传作业网下载资料站学生模块预约实验查看通知等建议交流模块问题讨论4实践情况网络化开放实验模式在我校已经开始尝试,现今我们已经成立了一个实验室网站,基本上实现以上介绍的模式,且已经开展使用.学生交实验报告不用再全部打印出来,可以通过网络交给教师,实现了实验报告的无纸化,学生和教师反映良好.相当一部分学生认为,自己有能力独立完成自己选定的实验,指导老师放手大大提高了他们的责任感,自信心,更激发了他们的创造力.觉得这种教学模式不仅培养理论基础知识和实验基本技能的灵活应用能力,更提高了他们的科研开发综合素质.5结束语实验教学的改革在于抛弃传统的教学模式,向创新性,综合性,设计性的实验教学模式转变.在于充分尊重学生在实验教学中的主体地位,做到"以生为本",允许学生按照教学要求自行设计实验方案,根据自己的时间通过网络下载所需资源,不明白的地方可以随时在线跟教师交流.网络化开放实验模式充分发挥了学生在实验教学中的想象力和创造力,教学质量取得了明显的提高.参考文献:【1】郭宏.基础课实验室管理与实验教学改革.实验技术与管理,2005(5). [2l罗志勇.在实验教学中实施创新教育实验技术与管理,2005(5).【3】郭伟强开放式实验教学模式的新探索.实验室研究与探索, 2003.22(5).鄹[2】DavidGarlan.softwareArchitecture:ARoadmap.In:International ConferenceonsoftwareEngineering,2000.【3】陈戏墨.面向对象技术在投件体系结构中的应用.微机发展,2002(2). 【4】舒忠梅,左亚尧.投件体系结构与组件技术.微机发展,2002(4).【5】孙昌爱,全茂忠,刘趋.投件体系结构研究综述.投件,2002.13 (7).【6】曹曼,王燕燕,吴耿锋.可重用的投件体系结构描述方法.计算机工程与应用.2005(15).【7】钟治初.基于构件的投件体系结构.贵阳金藏太学,2004.56~4). [81张友生.投件体系结构.睛华大学出版社,2004.蜀田。

教、学、做一体化的《软件工程与UML》教学设计与实施

教、学、做一体化的《软件工程与UML》教学设计与实施

教、学、做一体化的《软件工程与UML》教学设计与实施柳伟;霍红颖;王淑一;湛邵斌【摘要】针对《软件工程与UML》教学过程中存在理论抽象、知识点繁杂的问题,改变传统“先学后用”的教学模式,按照软件开发的职业过程和能力要求,设计教、学、做一体化的教学模式.在实施过程中,结合项目训练学生的UML理解能力和软件开发能力,随着项目的逐渐深入,学生的应用能力呈螺旋式上升.教学实践证明,一体化教学能提高学生的参与度,达到理论教学与工作实践的融合.【期刊名称】《职业技术教育》【年(卷),期】2012(033)023【总页数】3页(P35-37)【关键词】软件工程;UML;教、学、做一体化;教学设计;教学实施【作者】柳伟;霍红颖;王淑一;湛邵斌【作者单位】深圳信息职业技术学院,广东深圳 518172;深圳信息职业技术学院,广东深圳 518172;深圳信息职业技术学院,广东深圳 518172;深圳信息职业技术学院,广东深圳 518172【正文语种】中文【中图分类】G712一、提出背景《软件工程与UML》是软件技术专业的核心专业基础课。

讲授的内容主要包括软件工程与UML(Unified Modeling Language,统一建模语言)的概念、类图、对象图、包图、用例图、交互图、活动图、状态机图、构件图、部署图和建模工具ROSE等。

在教学实践中发现,该课程理论较为抽象、所需关联知识较多,很多知识点实践性较强,对于高职学生而言,理解和灵活运用有一定的难度。

现有的教学资源和教学方法并没有从根本上解决这些问题,如果采用“先学后用”的传统教学方法,先讲授新概念、定义,然后学生用实验验证,则很难达到满意的教学效果。

其原因在于理论课和实践课是分离的,学生对知识点的领悟没有融会贯通,遇到工程实践问题不能学以致用。

笔者按照实践为重、理论够用的原则进行教学设计,引入大量的工程实例,把真实的工作情境搬进课堂,在实践教学环节中融入相关理论知识,突出理论源于实践、指导实践的作用。

面向体系结构的构件接口模型及其形式化规约

面向体系结构的构件接口模型及其形式化规约

面向体系结构的构件接口模型及其形式化规约
任洪敏;张敬周;钱乐秋
【期刊名称】《计算机工程》
【年(卷),期】2005(031)023
【摘要】借鉴软件体系结构的思想,提出了面向体系结构的构件接口模型,它既能表达体系结构设计的高层抽象构件,又能表达底层代码级别的实现构件.同时基于该模型,运用顺序通信进程,提出了两级构件接口行为协议规约方法,能够有效规约大粒度复杂软件构件的行为交互协议.
【总页数】3页(P67-69)
【作者】任洪敏;张敬周;钱乐秋
【作者单位】上海海事大学计算机系,上海,200135;复旦大学计算机科学系软件工程实验室,上海,200433;复旦大学计算机科学系软件工程实验室,上海,200433【正文语种】中文
【中图分类】TP311
【相关文献】
1.软件体系结构的形式化与面向状态的形式化风格 [J], 胡劲松;郭荷清;郑启伦
2.构件式体系结构模型映射的形式化语义 [J], 侯金奎;万建成;杨潇;王海洋
3.一种基于形式化规约生成软件体系结构模型的方法 [J], 祝义;黄志球;曹子宁;周航;刘亚萍
4.以体系结构为中心的构件模型的形式化语义 [J], 楚旺;钱德沛
5.面向对象软件体系结构的形式化模型 [J], 眭鸿飞;陈松乔
因版权原因,仅展示原文概要,查看原文内容请购买。

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

构形式化精化过程。文献[16]基于演算讨论了构件 和连接化行为的求精,指出构件的行为求精应符合 进程观察弱模拟关系、连接件的行为求精应符合进 程分支弱模拟关系。文献[17]基于UML描述软件体 系结构,讨论了体系结构的构件分解、行为精化和 数据精化问题。 现有体系结构的精化研究工作主要基于各种不 同形式化方法,针对体系结构风格、构件、连接件 等大粒度元素展开其结构求精、行为求精等方面的 研究工作,但鲜有针对构件间、构件与连接件间交 互动作这一细粒度元素展开精化研究。 本文在ADL 体系结构精化的研究基础上,展开交互动作精化研 究的概念、规则与算法研究。
第 42 卷 第 1 期 2013年1月
电 子 科 技 大 学 学 报 Journal of University of Electronic Science and Technology of China
Vol.42 No.1 Jan. 2013
软件体系结构交互动作精化研究
任洪敏,刘 晋
(上海海事大学计算机系 上海 浦东新区 200135)
_internalCompute.Cp_request. Cp_putation 0
客户构件Client具有一个端口Cp。端口Cp执行 两个交互动作:启动行为 request 和观察行为 reply 。 它的交互行为协议如下:先发出服务请求 request , 收到回答 reply 后,内部、非确定地选择继续执行进 程Cp或决定结束服务请求而执行进程0。Client的计 算 行 为 是 进 程 Computation , 首 先 进 行 内 部 计 算 _internalCompute , 然后通过端口 Cp 发出服务请求
【摘要】分析了当前体系结构精化的研究工作,基于体系结构形式化描述语言ADL,提出了体系结构交互动作精化的概 念,定义了交互动作精化的规约方法,给出了交互动作精化遵循的法则,有效地解决体系结构精化过程中构件与其交互动作 的抽象层次不匹配的问题。开发了体系结构交互动作精化的推导算法,确保精化过程中高层体系结构的行为特性得到保持, 并自动生成低层体系结构。实例研究表明了该方法的可行性。 关 键 词 演算; 体系结构精化; 交互动作; 软件体系结构 中图分类号 TP311 文献标志码 A doi:10.3969/j.issn.1001-0548.2013.01.028
Abstract Refinement of software architecture deals with mapping and transformation between architectural models at different abstraction levels. This paper reviews current researches on software architecture refinement, analyzes their inadequacies, and then proposes a new concept of interactive action refinement of software architecture based on ADL architecture description language, defines the formal specification method and principles of interactive action refinement, develops a refinement reasoning algorithm, which can preserve the higher-level architectural behavior properties across refinement hierarchies and generates lower-level architectures automatically. Interactive action refinement can effectively eliminate the mismatches of abstraction levels between components and their interactive actions that occur in the architectural refinement process. A case study shows the validity of the proposed method. Key words calculus; architecture refinement; interactive action; software architecture 软件体系结构(software architecture)是软件系统 的高层抽象结构,是控制软件复杂性、提高软件质 量、支持软件复用的关键因素。大型复杂软件系统 体系结构的开发是个复杂和艰巨的任务,但通过逐 步和层次化的开发方法,能够让问题变得简单并易 于控制[1]。因此,体系结构设计师经常运用层次化 方法,在不同的抽象层次对复杂系统的体系结构进 行建模。 高层抽象的体系结构能简化系统整体分析、 帮助开发人员理解系统和相互之间的沟通和交流, 而低层具体的体系结构因为提供更多信息,能进行 更严格的检测、分析或仿真执行。因此,软件体系 结构精化(architecture refinement)成为体系结构的重 要研究课题[2-3]。 软件体系结构精化是指上层抽象体系结构与下 层具体体系结构之间建立一种形式上的抽象映射, 用于将软件系统的上层“抽象结构”变换为更具体、 更接近于实现的下层“精化结构” 。软件体系结构精 化的难点在于如何提供相应的机制和规则,以保证 不同抽象体系结构层之间的语义一致性。当前软件 体系结构研究侧重于软件体系结构的形式化理论、 建模方法与实现支持的研究, 注重体系结构的设计、 分析和实践运用,对软件体系结构的求精和实现的 支持能力明显不足[4]。 演算是90年代计算机并行理论领域最重要的并 发计算模型,能够描述结构不断变化的并发系统[5]。 基于演算, 本文提出了软件体系结构形式化描述语 [6] 言ADL ,展开了软件构件、连接件、端口等软件 体系结构基本元素及其行为协议(behavior protocol) 的精化研究工作[7-8],行为协议是构件、连接件交互 动作(interactive action)的正确使用时序和其间存在
收稿日期:2011 07 22 ; 修回日期:2012 03 06 基金项目:上海市自然科学基金(10ZR1413700);上海市教委科研创新项目(12ZZ157) 作者简介:任洪敏(1969 ),男,博士,副教授,主要从事软件体系结构、基于构件的软件工程、形式化方法等方面的研究.
1
相关研究
软件体系结构精化研究工作最早出现于20世纪 90年代,是程序求精思想在软件体系结构领域的应 用和发展。目前的体系结构研究工作和体系结构描 2 ADL、交互动作与交互协议 述语言对体系结构精化支持甚少[4],文献[9]等都不 支持体系结构的精化。 ADL基于多元演算[5] (polyadic -calculus)描 述软件体系结构,遵循文献[9]描述软件体系结构的 文献 [10] 基于高阶类型化 π 演算定义了一个体 系结构精化语言(architecture refinement language, 框架,独立描述构件、连接件、端口、角色和系统 配置。交互动作(interactive action)是构件、连接件发 ARL),并开发了支持工具,通过描述体系结构的 精化活动,运用重写逻辑方法,支持体系结构的逐 生交互时所执行的行为动作,行为协议 (behavior 步精化。 文献[11]运用体系结构风格定义平台相关的 protocol) 是构件、连接件执行交互动作的时序。 技术模型,基于图变换技术在面向业务的体系结构 ADL运用演算的名字建模端口、 角色的交互动作, 运用进程描述端口、 角色的交互协议。ADL关注行 (business-oriented architectures)与面向服务的体系结 构(service-oriented architecture)之间建立精化关系, 为的控制属性,运用输出名字对构件、连接件主动 执行、具有控制权力的启动行为建模,用输入名字 以支持系统的动态重配置。文献[12]运用非传递无干 对构件和连接件被动执行、不具控制权力的观察行 扰理论, 描述构件与构件之间的信息流,研究了体系 为建模。ADL给演算语法元素赋予了体系结构级 结构不同精化层级间信息流完整性的保持策略。 的语义[6]。 国内众多学者展开了基于构件的软件体系结构 精化研究工作,文献[13]应用I/O行为状态机给出了 ADL的具体语法和建模方法参见文献[6],下 一个分布式软件构件精化的方法与步骤。文献[14] 面通过对客户 服务器体系结构风格中客户构件的 描述, 简要说明ADL描述体系结构元素的方法。 等基于时序逻辑语言XYZ/E的软件构件精化方法和 其 实例。 文献[15]定义了一种基于上下文相关文法的形 中 为ADL引入的简便标记,表示非确定选择, 式化的求精文法,并据此给出了基于构件的体系结 其语义为 P Q .P .Q ,则有: Component Client Port Cp= request.reply.Cp 0 Computation =
ADL支持构件、连接件和端口的精化工作, 支持构件、 连接件和端口在各抽象层次的分解与复 [7-8] 合 。基于ADL的现有精化机制,在构件、连接
第1期任洪敏,等: Nhomakorabea软件体系结构交互动作精化研究
139
件和端口精化所形成的各抽象层次结构中,底层实 现构件的交互动作经过端口复合与绑定,逐级成为 高层复合构件的交互动作,逐级皆保持相同。即在 一个N层的精化层次结构中, 最顶层复合构件的交互 动作与第N层实现构件的交互动作完全相同, 因而都 具有相同的抽象层级和功能粒度。而在体系结构的 精化层次中,顶层复合构件与第N 层的一个实现构 件,其在抽象级别和功能粒度上相差很大,于是造 成了构件的抽象层次与其交互动作的抽象层次不匹 配的问题,从而不能有效地支持体系结构的精化。 实际上高层抽象构件的一个交互动作,通常对应到 低层抽象构件的数个交互动作。 如战场模拟仿真程序当中,Soldier构件具有端 口Fight,不停地执行战斗功能。该端口的基本行为 动 作 包 括 : 查 找 敌 人 SearchEnemy 、 攻 击 敌 人 AttachEnemy、汇报战果ReportVictory。Fight端口行 为的ADL描述如下: Component SoldierPort Fight= SearchEnemy.AttachEnemy.ReportVictory.Fight Soldier 构 件 进 行 精 化 时 , 其 交 互 动 作 SearchEnemy可能包括走上高地ClimbMountain、取 出望远镜TakeGlass、进行瞭望LookOut等3个具体的 动作。 据此,借鉴深化构件精化、连接件精化、端口 精化的概念[7-8],本文提出交互动作精化的概念,即 一个高层抽象构件由多个低层构件组装而成,一个 高层抽象构件的交互动作同样由低层构件的多个交
相关文档
最新文档