




已阅读5页,还剩51页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第三章A 7E案例分析各种构架结构的运用 任课老师 黄武 1 提纲 A 7E项目背景简介A 7E项目的构架商业周期A 7E项目的构架3 1分解结构3 2使用结构3 3进程结构 2 1 A 7E项目背景简介 A 7E项目是美国海军研究实验室的降低软件成本项目 SoftwareCostReduction 由美国海军支持该项目开发人员想通过该软件的开发实际验证软件工程原理 比如信息隐藏 适用于高性能嵌入式实时系统 实际上该项目是一个飞机航空电子系统设计项目该项目于1977年开始 1987年终止 历时10年A 7E是一种单座 舰载攻击机 于20世纪60 70至80年代服役于美国海军 3 1 1A 7E舰载攻击机 A 7E海盗II型攻击机 A 7C A 7E的前身 是世界上最早正式生产并装备了计算机以辅助导航和投弹的机型之一 4 1 1 1航空母舰舰载机 A 7E是一种航空母舰舰载机 5 1 1 2航空电子设备图片 某种战斗机驾驶舱 通常而言 飞机上的计算机都采用专用的计算机设备A 7E装备的是IBM生产的专用计算机 6 1 1 3飞机上的瞄准设备 战斗机投弹瞄准装置 7 航空电子设备 1 1 4现代客机的航空电子设备 8 1 2A 7E项目的目的 Parnas的目的 通过该项目的开发证实其理论研究成果适用于需求灵活 内存占用少 开发时间短的实时软件系统项目指导思想 留下一个完整的工程模型 把相关的文档 设计方案 代码 方法和原则都公之于众 供相关人员模仿使用 9 1 3A 7E项目的成果 获得了一个完整的需求文档 该文档在今天的实时 嵌入式软件系统的开发中仍然是适用的该项目在当时已经开创性地采用了很多先进的计算机软件工程方法 包括面向对象的设计方法 信息隐藏 使用域模型来处理系统未来变化的适应性 以及创建了一个标准的 可重用的参考构架 10 1 4A 7E项目研制获得的经验 信息隐藏是软件开发中可行的和明智的设计准则从实现系统质量指标的角度看 认真设计构架层次上的各种结构可以达到事半功倍的效果 11 2A 7E项目的构架商业周期 A 7E航空电子系统的构架商业周期 12 2 1A 7E需求与质量 A 7E项目的主要功能需求 读取各种传感器的数据更新座舱中显示设备的显示内容辅助飞行员导航和正确投弹A 7E项目的主要质量需求实时性能针对期望变更的可修改性可靠性 13 2 1 1A 7E项目运行环境约束 采用IBM公司生产的小型专用计算机 内存大小为64K 没有编译器 使用汇编语言编写程序计算机将与飞机上装备的近24种航空电子设备进行通信 这些航空电子设备有可能更改 14 2 2A 7E主要数据来源的传感器 用于测量气压和风速的飞行探针可按方位角和仰角调整的前视雷达 该雷达能够计算飞机与目标之间的直线距离报告对地速度和偏航角的多普勒雷达惯性测量设备 IMS 该设备报告沿3个直角坐标的加速度能够报告机翼下6个炸弹托架的载弹情况的传感器能够测量距离地面高度的雷达高度计 15 2 3座舱显示设备与交互设备 地图显示设备正面显示器小键盘和3个小型的字母数字显示窗口各种指示灯 仪表盘和声音信号 16 2 4A 7E航电系统对飞行员的支持 软件在正面显示器上显示导航信息和操作指导 指引飞机飞向指定的方位系统提供20多种导航模式供飞行员选择该软件至少有5种不同的方法计算飞机的飞行高度 有20多种实时 40ms 计算的投弹方式 17 2 5五种飞行高度的计算方法 关键数据的可靠性实施策略 18 2 6A 7E的质量目标 A 7E软件所满足的质量目标包括 实时性软件系统每秒钟显示内容的更新次数和武器投放的计算速度针对期望更改的可修改性对武器 平台 显示屏上符号的变更 以及通过键盘输入新的内容容易更改 19 3A 7E项目的构架 一个系统的构架由一个或多个结构构成为了实现A 7E系统的功能及质量目标 系统确定了构架层次上的3个主要结构 20 3 1A 7E项目的构架结构说明 在构架中 每个结构由元素及元素之间的关系构成A 7E项目的三种结构及其元素 21 3 2分解结构 分解结构将系统的功能划分为可以独立实现的模块一个模块可能是一个整体 也可能包括若干个子模块 直到每个模块容易实现信息隐藏的原则要求各个模块仅通过某个确定的公共参数集合进行通信 每个模块提供了一组可以由系统中其他模块调用的访问过程 22 3 2 1模块划分的具体目标原则 每个模块结构应足够简单 能够被充分理解应该能够在无需了解其他模块的具体实现 并且不影响其它模块的行为的情况下修改某个模块的实现对设计进行修改的容易程度应该与该修改可能发生的程度有合理的对应关系应该能够把要对软件系统做的比较大的改动分解成对各个模块的一组独立的修改分解结构的文档被称为模块指南 23 3 2 2分解结构对质量目标的支持 A 7E系统分解结构承载了系统可修改性的质量目标 24 3 2 3系统可能发生的改动原因 软件与之交互的硬件发生了变化所要求的外部可见行为发生了变化完全由该项目软件设计人员做出的某个决定发生了变化这些变化是构架设计时考虑的因素 直接影响着系统模块的划分 25 3 2 4A 7E项目的一级分解结构 A 7E系统分解结构的第一级模块划分 26 3 2 4 1分解结构 硬件隐藏模块 硬件隐藏模块包括当硬件的任何一部分被具有不同的软 硬件接口但具有相同能力的单元代替时需要修改的过程该模块实现了虚拟硬件该模块的一个子模块是扩展的计算机模块 该模块隐藏了处理器的细节 27 1 硬件隐藏模块的3级分解结构 28 2 详细的硬件隐藏模块 29 3 2 4 2分解结构 行为隐藏模块 行为隐藏模块包括当影响系统行为的需求发生变化时需要修改的过程 比如增加了一种导航模式 飞向员需要对此模式进行选择该模块应主要实现系统的需求隐藏 这些过程决定了应发送给由硬件隐藏模块提供的虚拟输出设备的数据 30 1 行为隐藏模块的三级结构 31 2 详细的行为隐藏模块 32 3 2 4 3分解结构 软件决策模块 软件决策模块将基于数学定理 物理事实 编程思想的软件设计决策隐藏起来该模块所隐藏的信息在系统需求描述中是没有记载的这些模块的修改很可能是由于外部因素的变化而希望提高该模块的性能或精度 33 1 软件决策模块的二级分解结构 软件决策模块二级分解结构 34 2 软件决策模块部分三级分解结构 软件决策模块的部分三级划分 35 3 应用数据类型模块 应用数据类型模块是对硬件隐藏模块中计算机扩展子模块的补充应用数据类型模块提供了适用于航空电子系统应用的数据类型 例如飞行高度 角度等应用数据类型模块所隐藏的是变量及用于实现对这些变量操作过程中的数据表示 比如数据单位这个表示内容隐藏在该模块中 36 4 数据银行家模块 应在何时更新数据项的值是由数据使用者的属性 如数据的精度要求 和数据生产者的属性 如数据更新的频率 决定的数据银行家模块存在于数据生产者和消费者之间 起到中间缓冲的作用 37 5 过滤器行为模块 过滤器行为模块包含实际过滤器的数字化模型 它们被其它过程使用 来对可能的噪声数据进行过滤该模块隐藏的是在对基于采样数据的值进行估计和对错误进行估计所采用的模型比如 得到了各种不同的飞行高度数据 如何选择正确的高度数据 38 6 物理模型模块 物理模型模块主要实现对物理模型及其计算机实现的隐藏物理模型是对不能直接测量但可根据观测值使用数学模型估算值的抽象 比如对于估算投弹到命中目标的时间 39 7 软件实用程序模块 软件实用程序模块包含原本要由多个程序员编写的实用例程 公共函数库 这些例程包括数学函数 资源监视程序和所有模块都已完成加电初始化时发出信号的过程 40 8 系统生成模块 系统生成模块主要隐藏直到系统生成时才作出的决策 晚绑定 这些决策包括系统生成参数值的确定和对某一模块不同实现方案的选择该模块的过程并不在机载计算机上运行 而是在为此机载系统生成代码的计算机上运行 41 3 3使用结构 使用关系使用结构的思想是建立在使用关系的基础上的 如果过程A的运行必须以过程B的正确运行为前提 则我们说过程A使用过程B使用关系和调用关系并不完全相同1 B过程是错误处理模块 不是使用关系2 A过程依赖B过程的结果 是使用关系 42 3 3 1使用结构实现的质量目标 43 3 3 2使用结构的模块调用关系 44 3 3 3模块使用结构说明 扩展计算机模块中的所有过程都不使用其它任何模块中的过程 其他模块则都可使用计算机扩展模块应用数据类型模块中的过程仅能使用扩展计算机模块中的过程设备接口模块中的过程仅使用扩展计算机模块 应用类型模块和物理模型模块中的过程功能驱动模块和共享服务模块的过程可以使用数据银行家模块 扩展计算机模块 应用数据类型模块和设备接口模块的过程任何过程都不得使用功能驱动模模块中任何过程只有功能驱动模块的过程可以使用共享服务模块的过程 45 3 3 4使用结构 分层图 46 3 3 5使用结构和分层结构的关系 分层结构是使用结构的归纳 但是它不能取代使用结构 因为在分层结构中并没有表示可能有哪些子集 而使用结构规定了特定的子集以子集的方式进行系统设计的好处是 可以交付由不同子集构成的系统 便于系统的增量开发 47 3 4进程结构 A 7E系统的扩展计算机模块采用了支持多处理能力的虚拟编程接口该软件系统是以一组协同顺序进程来实现的 这些协同顺序进程保持同步关系 以协调对共享资源的使用进行结构支持了高性能的质量属性 48 3 4 1进程结构支持的质量目标 49 3 4 2编写进程结构的目的 让功能驱动模块计算该航空电子软件的输出结果 然后定时更新正面显示器用进程作为一种隐蔽机制来实现某些访问过程 比如在后台进行大量的运算 50 3 4 2 1定时模块进程 Periodicprocess processper40ms 调用其他模块的访问过程 收集所有相关输入的数据 计算应输出的结果值 调用某个相应的设备接口过程 将输出结果发送出去Endperiodicprocess 51 3 4 2 2命令模块进程 Demandprocess accordingtoneed 等待触发事件 计算应输出的结果 调用某个相应的设备接口过程 触发某个事件EndDemandprocess 52 3 4 2 3后台计算模块进程 Calculateprocess per100ms 收集计算所需的输入数据 计算 将结果保存在most recent变量中EndCalculateprocessProcedureget value pl getneedvalue p1 most recent returnEndProcedure 53 3 4 3进程结构收集的信息 进程结构收集两类信息每个进程中
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 水环境治理应急处理方案
- 大学毕业论文致谢词合集10篇
- 毕业设计致谢6篇
- 2025合同履行所需设备与专业技术能力承诺书范本
- 工业固废分类回收技术方案
- 8.3《摩擦力》(第2课时)说课稿-2023-2024学年人教版八年级物理下学期
- 养猪场通风系统设计与实施
- 职业学院图书馆数字化技术应用方案
- 港口装卸设备智能化改造实施计划
- Unit6 Section A How do you spend your school day?说课稿 2024-2025学年人教版七年级英语上册
- 德州市禹城市事业单位引进青年人才笔试真题2024
- 新版人教版八年级上册生物全册教案教学设计含教学反思
- 2025年陪诊师资格证考试题库(附答案)
- 2025年人教版音乐四年级上册教学计划(含进度表)
- 2025山西晋中昔阳县文化旅游发展有限责任公司社会招聘15人笔试备考题库及答案解析
- 解读《医务人员职业道德准则(2025年版)》(含准则全文)
- 2025 - 2026学年教科版科学三年级上册教学计划
- 销售话术培训方案
- 23G409先张法预应力混凝土管桩
- 人教PEP版(一起)(2024)一年级上册英语全册教案(单元整体教学设计)
- 铁工电〔2023〕54号国铁集团关于印发《普速铁路工务安全规则》的通知
评论
0/150
提交评论