admin 管理员组文章数量: 887032
2024年1月26日发(作者:库里绝杀被吹走步)
4基于陨悦韵晕陨载面向对象过程的嵌入式软件设计方法基于陨悦韵晕陨载面向对象过程的嵌入式软件设计方法耘皂遭藻凿凿藻凿杂燥枣贼憎葬则藻阅藻泽蚤早灶酝藻贼澡燥凿月葬泽藻凿燥灶陨悦韵晕陨载韵遭躁藻糟贼原燥则蚤藻灶贼藻凿孕则燥糟藻泽泽郭策王兴起渊杭州电子科技大学计算机学院袁浙江杭州猿员园园员愿冤摘要院软件方法学为构建大型的尧复杂的软件系统提供了指导原则和方法体系袁设计良好的系统模型要比直接编码更具决定性意义遥陨悦韵晕陨载面向对象过程是模型驱动设计方法的一个体现袁帮助人们快速实现健壮可靠的软件产品遥在嵌入式领域袁多数应用软件缺乏有效的设计袁导致功能扩展和后期维护都非常棘手遥陨悦韵晕陨载面向对象过程与嵌入式领域结合袁展现了一种嵌入式软件的设计方法遥关键词院软件方法学袁模型驱动设计袁陨悦韵晕陨载袁嵌入式软件粤遭泽贼则葬糟贼押陨悦韵晕陨载燥遭躁藻糟贼原燥则蚤藻灶贼藻凿责则燥糟藻泽泽蚤泽葬则藻枣造藻糟贼蚤燥灶燥枣皂燥凿藻造原凿则蚤增藻灶凿藻泽蚤早灶皂藻贼澡燥凿泽贼燥澡藻造责责藻燥责造藻择怎蚤糟噪造赠葬糟澡蚤藻增藻则燥遭怎泽贼葬灶凿则藻造蚤葬遭造藻泽燥枣贼憎葬则藻责则燥凿怎糟贼泽援陨灶贼澡藻藻皂遭藻凿凿藻凿枣蚤藻造凿熏皂燥泽贼葬责责造蚤糟葬贼蚤燥灶泽造葬糟噪葬增葬造蚤凿凿藻泽蚤早灶熏则藻泽怎造贼蚤灶早蚤灶枣怎灶糟贼蚤燥灶葬造藻曾鄄责葬灶泽蚤燥灶葬灶凿责燥泽贼原皂葬蚤灶贼藻灶葬灶糟藻葬则藻增藻则赠凿蚤枣枣蚤糟怎造贼援栽澡蚤泽责葬责藻则糟燥皂遭蚤灶藻泽陨悦韵晕陨载燥遭躁藻糟贼原燥则蚤藻灶贼藻凿责则燥糟藻泽泽憎蚤贼澡藻皂遭藻凿凿藻凿凿燥鄄皂葬蚤灶熏葬灶凿责则藻泽藻灶贼泽葬凿藻泽蚤早灶皂藻贼澡燥凿燥枣藻皂遭藻凿凿藻凿泽燥枣贼憎葬则藻援运藻赠憎燥则凿泽押泽燥枣贼憎葬则藻皂藻贼澡燥凿燥造燥早赠熏皂燥凿藻造原凿则蚤增藻灶凿藻泽蚤早灶熏陨悦韵晕陨载熏藻皂遭藻凿凿藻凿泽燥枣贼憎葬则藻软件系统开发是一项系统工程袁必须按工程学的方法来组织软件生产遥只有在分析和设计阶段建立的可靠的系统模型袁才有可能保证工程的正确实施遥统一建模语言渊哉灶蚤枣蚤藻凿酝燥凿藻造鄄蚤灶早蕴葬灶早怎蚤葬早藻袁哉酝蕴冤是软件密集型系统的通用建模语言遥它是图形化的语言袁可对目标系统的结构和行为两方面进行建模遥当前袁关于在嵌入式系统中使用面向对象语言设计的软件产品不多袁而使用哉酝蕴进行模型驱动开发的软件产品更是屈指可数遥因此袁将模型驱动的面向对象设计方法融入到嵌入式领域是一种新颖的嵌入式软件开发方案遥员陨悦韵晕陨载面向对象过程员援员陨悦韵晕陨载过程要点哉酝蕴的每一个方面都是非常有用的袁但在实践中从来没有足够的时间使用哉酝蕴的各个方面来建模尧分析和设计遥来自管理层的压力迫使人们过早开始编码袁因为软件项目的进度往往通过代码量多少来衡量遥而陨悦韵晕陨载过程是一个使用了极简主义的袁流线型的方法袁侧重于用例到代码之间的部分咱圆暂遥图员表示了陨悦韵晕陨载过程的目标遥么遥可以使用用例图捕获目标系统的需求遥领域模型是类图的原型遥建立领域模型时袁首先确定真实世界中的抽象袁即系统中将涉及的主要概念性对象遥简单来说袁就是从需求中提取和系统紧密相关的专业名词以及它们之间的关系遥领域模型可以构建系统术语表袁它可以确保参与项目中的每个人对于问题空间内的名词有统一的认识袁这样可以减少歧义的产生咱猿暂遥形成的领域模型随着过程的进展可以升级成类图遥员援猿健壮性分析这个阶段的要点就是针对每一个用例进行健壮性分析遥健壮性分析对改进用例文本和发现需要的渊而领域模型中没有的冤对象很有帮助遥在陨悦韵晕陨载过程中袁这种简单但很有用的技术在分析和设计之间架起了一座至关重要的桥梁袁如图圆所示遥图圆图员陨悦韵晕陨载过程重点关注的部分健壮性分析的作用下面简要介绍如何使用陨悦韵晕陨载过程进行软件设计遥员援圆需求分析阶段这个阶段的工作有收集需求袁建立领域模型和用例模型遥需求是系统的设计特征尧特性或行为遥陈述系统的需求袁相当于陈述系统外部的事物与系统之间建立的一份合约袁该合约声明了希望系统做什么事遥此时并不关心系统怎么做袁只关心它做什该图对软件开发过程通常很难的原因作出了解释袁即如何从需求级视图开始渊此时袁关注用户使用系统来干什么袁而没有考虑实现细节冤袁然后推动这种系统视图向前发展袁成为完全关注于设计的东西遥此时袁顺序图可以说明系统运行时对象实例是如何彼此交互的遥健壮性分析正是一种帮助人们完成这项工作的技术遥在健壮性图中使用三种图标来表示三种不同的对象院边界对象渊遭燥怎灶凿葬则赠燥遭躁藻糟贼冤院参与者使用它来同系统交互曰实体对象渊藻灶贼蚤贼赠燥遭躁藻糟贼冤院通常是来自领域模型中的对象曰控制对象
叶工业控制计算机曳圆园员苑年第猿园卷第员圆期渊糟燥灶贼则燥造对用燥遭躁藻糟贼例进行冤院健将壮边性界分对析象的和实体方法是对院仔细象关检联起查用来例遥文本袁每次检查一个句子袁并绘制参与者尧边界对象尧实体对象和控制对象以及图中不同元素之间的关系遥最好在一个图中指出基本流程和所有的分支流程遥关于健壮性图的规则有源条院参与者只同边界对象交互曰边界对象只能同控制对象和参与者交互曰实体对象只能同控制对象交互曰控制对象可同边界对象尧实体对象以及其他控制对象交互袁但不能同参与者交互遥简单来说袁边界对象和实体对象是名词袁而控制对象是动词遥名词和名词之间不能交互袁但动词可同名词或动词交互遥健壮性分析结束后袁或许会发现一些新的领域对象袁将其加入到领域模型中遥有些和需求相关的专业名词更适合作为对象的属性而非单独的对象袁因此需要整理结构模型的冗余部分遥最后袁由于参与者尧边界对象尧实体对象和控制对象的交互袁部分域模型新增对象属性来支持信息传递袁完成域模型的更新工作遥员援源分配行为绘制好健壮性图之后袁就可以进行详细设计了遥健壮性分析旨在发现对象和更新域模型袁而详细设计则主要是关于分配行为院将确定的行为分配给发现的一组对象遥这部分重点介绍顺序图袁它是详细设计阶段的核心元素遥在交互建模期间袁主要实现三个目标院员冤在边界对象尧实体对象和控制对象之间分配行为遥在健壮性分析期间袁我们可以确定实现用例指定的行为所需的一组对象遥同时将行为分解为离散的单元袁并为每一个单元创建了占位符控制对象遥现在袁需要决定哪些对象负责哪些行为遥如果此时还不清楚相关的边界对象尧实体对象和控制对象是什么袁则此时考虑如何分配行为还为时过早袁需要返回到健壮性分析袁对此进行确定曰圆冤列出用例涉及的对象之间随时间的变化进行的详细交互遥在运行阶段袁对象是通过彼此发送消息来进行交互的曰猿冤最终确定类间的操作分配遥完成健壮性分析后袁静态模型中必须定义了大部分渊可能是苑缘豫耀愿园豫冤属性遥进入交互建模袁我们已经有足够的信息在操作分配方面做出几乎正确的设计决策遥因此袁当在顺序图上展示对象的详细行为时袁需要将更新扩展到结构模型遥以陨悦韵晕陨载方式绘制顺序图时需要完成的猿个步骤院员冤加入健壮性图中的实体对象遥这些对象都是表示结构模型中类图的类实例遥绘制顺序图时袁可能发现遗漏的属性遥一定要将其加入到结构模型中袁这是编码前的最后一步了曰圆冤加入健壮性图中的边界对象和参与者遥边界对象尧参与者和域对象共同构成了解决方案空间遥在顺序图中需要综合在一起考虑曰猿冤将方法分配给类时袁需要将健壮性图中的控制对象渊每次一个冤转换为一个或者多个执行所需行为的方法渊有时候袁可能将控制对象转换成一个真正的领域对象冤遥在此过程中袁需要将健壮性图作为核对清单袁以确保顺序图考虑了要求的所有系统行为遥通过前面几个阶段袁能够保证用例文本和健壮性图是一致的袁并且健壮性图和顺序图是一致的袁从而得出所做的设计满足了需求遥员援缘编码实现阶段如果很好地完成了分析与设计过程袁只要继续严密关注于用户的需求袁编码将会变得非常简单遥由于编码问题趋向于语言甚至是编译器有关的袁并非是陨悦韵晕陨载过程所关注的重点部分袁5这里不再讨论遥陨悦韵晕陨载的整个过程如图猿所示遥图猿陨悦韵晕陨载完整过程圆嵌入式应用软件设计圆援员无人机飞行控制软件介绍无人机飞行控制软件是整个无人机飞行控制平台的核心控制单元袁是确保其安全飞行并完成预设飞行任务的关键部分袁是协调尧管理和控制无人机各个硬件系统的综合控制器咱源暂统时钟约束下袁周期性地执行相关操作袁完成相应飞行任遥务它遥在系一般无人机飞控系统根据功能被划分为若干个模块院遥控接收模块尧主控模块尧传感器管理模块尧航姿参考系统模块尧电机控制模块等咱缘暂块根据不同的遥功模能块划之分间又通可以分为多过信道信息个子模的传递块进行袁每一通信个子模遥每个模块可以看成是一个具体的任务遥这里以遥控接收模块为例袁使用藻灶贼藻则责则蚤泽藻葬则糟澡蚤贼藻糟贼建模工具袁结合陨悦韵晕陨载过程进行初步的面向对象分析与设计遥圆援圆遥控接收模块遥控接收模块负责处理用户发送过来的俯仰尧滚转尧偏航尧油门和飞行模式信号遥这些信号由飞控端硬件接收器获取后产生俯仰孕宰酝值尧滚转孕宰酝值尧偏航孕宰酝值尧油门孕宰酝值和飞行模式孕宰酝值遥孕宰酝值需要计算转换成俯仰角度值尧滚转角度值尧偏航角度值尧油门控制值和飞行模式值遥这些数值需要提供给飞控其他模块控制使用遥俯仰尧滚转和偏航涉及无人机的姿态袁油门与无人机维持飞行有关遥俯仰和滚转的角度不能超过源缘毅袁否则造成无人机飞行不稳定遥油门孕宰酝信号不能低于系统默认值袁否则不能够持续维持无人机在空中的高度遥该系统默认值可以由用户在起飞前设定遥油门孕宰酝信号超过猿园皂泽低于系统默认值袁进入故障保护状态渊将飞行模式设置成特定值袁比如降落模式等袁特定值也可以由用户在起飞前设定冤遥任务调度系统渊属于主控模块冤负责每隔员园皂泽来调用遥控输入模块进行读取任务袁如果持续缘园园皂泽接收不到新的孕宰酝值袁同样需要进入故障保护状态遥根据设计要求袁建立领域模型和用例模型袁如图源和图缘所示遥图源领域模型图
6以输入飞行信号为例袁进行用例简单描述遥用例名称院输入飞行信号遥参与者院用户遥正常情况院淤用户通过遥于控务曰盂无器人向将机无油进人门行机孕宰酝读输入信号取值信曰转号换任为油门控制值曰榆将飞行模式图缘用例图孕宰酝虞滚将转俯仰值转角度值孕宰酝换为飞曰舆将值行模式偏转航换为值孕宰酝俯仰曰值角转度换值为曰愚偏将航滚角转度孕宰酝值曰余值约转束换俯仰为和滚转的角度袁使之不能超过源缘毅遥异常情况院淤无人机超过缘园园皂泽没有接收到遥控发射端的信号袁进入故障保护状态曰于油门孕宰酝值超过猿园皂泽低于系统默认值袁进入故障保护状态遥圆援猿健壮性分析由于俯仰孕宰酝值尧滚转孕宰酝值尧偏航孕宰酝值尧俯仰角度值尧滚转角度值和偏航角度值仅仅是数值袁因此这些数据可以作为姿态信息对象的属性来保存遥同样油门孕宰酝值和油门控制值可以作为电机控制器对象的属性袁飞行模式孕宰酝信号和飞行模式值作为飞行模式对象的属性遥故障保护状态只是整个无人所处的一种状态袁可以用特定的飞行模式进行标识遥因此袁在领域模型中可以适当新增姿态信息尧电机控制器渊后期可以归入电机控制模块里面冤尧飞行模式三个域对象遥在健壮性分析时袁需要以需求级用例文本为基础袁并做出一些初步设计方面的假设遥如图远所示遥图远健壮性分析图健壮性图上对象之间的连接线表示逻辑关联遥用户向接收端硬件发送数据包袁任务调度系统命令接收端硬件产生孕宰酝值遥检查收到的数据包是否是缘园园皂泽以内的袁如果是将孕宰酝数值转化为姿态信息对象需要的数值袁飞行模式对象需要的数值和油门控制器对象需要的数值遥姿态信息对象对角度值进行约束遥检查电机控制器对象的孕宰酝信号值是否超过猿园皂泽低于默认值袁如果是设定飞行模式为降落遥如果用户发送过来的数据包超过缘园园皂泽还没有接收到袁设定飞行模式为降落模式遥健壮性分析的结果满足用例描述并且进行了细化补充遥图苑表示更新后的领域模型遥圆援源行为分配完成领域建模和健壮性分析后袁已经找到了大部分满足设计要求的领域对象袁并且给它们分配了一些属性遥这一步可按照基于陨悦韵晕陨载面向对象过程的嵌入式软件设计方法图苑增加了属性值的领域模型描述的方法完成交互建模袁并及时更新领域模型袁将其升级为最终的类图袁如图愿和图怨所示遥图愿顺序图图怨更新后的类图最后可根据硬件平台特性袁参照类图和顺序图来实现遥控接收模块袁编码过程不再赘述遥猿结束语哉酝蕴是对软件系统进行建模的强有力的标准语言遥对于大多数问题来说袁只需使用圆园豫的哉酝蕴袁就可以完成愿园豫的建模工作遥哉酝蕴的发明者并没有指出使用哪圆园豫的内容袁因此基于模型驱动的面向对象分析与设计的方法不胜枚举遥陨悦韵晕陨载过程并不像其他方法存在于软件生命周期的各个阶段袁相反袁它是轻渊下转第愿页冤
8据源遥陨耘悦远园愿苑园原缘原员园源协议的虚拟程序使用中油龙慧公司自主研发的虚拟工业控制通信网关遥在逻辑计算机部署虚拟采集设备时袁将模拟仿真程序及加载的配置文件做成批处理文件袁并设置成开机自启动袁即可完成采集设备的测试环境搭建遥同一协议的虚拟机采集设备环境袁只需要搭建一台袁其余通过拷贝到相应路径的方式即可完成新环境的部署遥源虚拟化技术在杂悦粤阅粤系统软件测试中的实施案例使用虚拟化技术进行杂悦粤阅粤系统软件高性能测试环境搭建时袁利用虚拟化管理软件袁将一个已经完成虚拟采集设备部署的环境进行快速复制袁只需修改陨孕地址就完成了新环境的部署遥基于此袁用户要求在现场进行的测试验证工程袁可以在实验室中进行工程设计和环境搭建袁调试通过后再到现场进行部署袁既提高了环境部署效率袁又降低了实施成本遥表员中列出虚拟化技术在杂悦粤阅粤系统软件测试中的两个案例遥表员案例详细信息表虚拟化技术在油气管道杂悦粤阅粤系统软件测试的应用图员案例员实验室虚拟机上设备部署图圆案例圆实验室虚拟机上设备部署咱员暂韩彤援匀赠责藻则原灾虚拟化技术的研究与应用咱允暂援信息技术与信息化袁咱圆暂王春海援灾酝憎葬则藻虚拟机实用宝典咱酝暂援北京院中国铁道出版社袁圆园园苑咱猿暂鲁松援计算机虚拟化技术及应用咱酝暂援北京院机械工业出版社袁圆园园苑咱缘暂李昆霖援浅析性能测试咱允暂援科技信息袁圆园员圆渊怨冤院源缘远原源缘苑发展袁圆园员员渊远冤咱源暂崔泽永袁赵会群援基于运灾酝的虚拟化研究及应用咱允暂援计算机技术与咱远暂马均飞援软件测试设计咱酝暂援北京院电子工业出版社袁圆园员员社袁圆园园远圆园员员渊源冤院苑源原苑缘参考文献天然气杂悦粤阅粤系统升级改造项目环境部署如图员所示曰燃气计量系统项目环境部署如图圆所示遥缘结束语利用虚拟化技术部署大型调控中心控制系统测试环境袁进行高性能指标验证的方案袁已经在实验室和工程现场测试中得到验证袁方案具有较高的可行性遥除此之外袁利用虚拟化技术搭建测试环境还有如下优点院淤提高了环境部署的效率袁特别是对一些相同的环境袁采用虚拟技术袁创建好一台虚拟机环境袁其他虚拟机环境通过拷贝就可以完全实现曰于在同一台虚拟服务器上可以搭建多个不同操作系统的环境袁如蕴蚤灶怎曾尧宰蚤灶凿燥憎泽等曰盂节约成本袁一台虚拟服务器上可以搭建几十个虚拟机袁既方便快捷又节约了设备成本袁同时机器本身也得到了充分的利用袁避免资源浪费遥渊上接第远页冤咱苑暂段念援软件性能测试过程详解与案例剖析咱酝暂援北京院清华大学出版咱愿暂周粉慧援杂悦粤阅粤系统在成品油输油管道自动控制中的应用咱允暂援广东咱怨暂张洋援杂悦粤阅粤系统在油田中的应用研究咱允暂援中国管理信息化袁圆园员缘袁咱员园暂杨立娟援浅析杂悦粤阅粤煤气调度监控系统咱允暂援城市公用事业袁圆园园愿渊猿冤院缘远原缘愿咱收稿日期院圆园员苑援员园援员圆暂杂贼藻责澡藻灶泽援哉泽藻悦葬泽藻阅则蚤增藻灶韵遭躁藻糟贼员愿渊员远冤院愿怨化工袁圆园员远袁源猿渊员员冤院圆圆怨原圆猿园袁圆圆愿量级的袁可以单独使用也可以与某些软件过程相结合袁成为其一个子过程遥由于该过程的便捷性袁可以与嵌入式软件项目结合袁快速实现满足要求的产品遥参考文献咱圆暂阅燥怎早咱猿暂谭云杰援大象院栽澡蚤灶噪蚤灶早蚤灶哉酝蕴咱酝暂援圆版援北京院中国水利水电出版咱源暂悦燥造蚤灶宰葬造造泽援耘皂遭藻凿凿藻凿杂燥枣贼憎葬则藻押栽澡藻宰燥则噪泽熏杂藻糟燥灶凿耘凿蚤贼蚤燥灶咱缘暂吴勇袁罗国富袁刘旭辉袁等援四轴飞行器阅陨再院基于杂栽酝猿圆微控制器咱酝暂援北京院北京航空航天大学出版社袁圆园员远咱收稿日期院圆园员苑援怨援员远暂眼酝演援圆灶凿藻贼援晕藻憎灶藻泽熏圆园员圆社袁圆园员圆酝燥凿藻造蚤灶早憎蚤贼澡哉酝蕴栽澡藻燥则赠葬灶凿孕则葬糟贼蚤糟藻眼酝演援粤责则藻泽泽熏圆园园苑砸燥泽藻灶遭藻则早熏酝葬贼贼咱员暂郧则葬凿赠月燥燥糟澡熏允葬皂藻泽砸怎皂遭葬怎早澡熏陨增葬则允葬糟燥遭泽燥灶援栽澡藻哉灶蚤枣蚤藻凿酝燥凿藻造蚤灶早蕴葬灶早怎葬早藻哉泽藻则郧怎蚤凿藻眼酝演援圆灶凿藻凿援粤凿凿蚤泽燥灶原宰藻泽造藻赠熏圆园园缘
版权声明:本文标题:基于ICONIX面向对象过程的嵌入式软件设计方法 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1706281962h505148.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论