各种构架结构应用案例分析

上传人:ap****ve 文档编号:120520816 上传时间:2020-02-07 格式:PPT 页数:56 大小:763.50KB
返回 下载 相关 举报
各种构架结构应用案例分析_第1页
第1页 / 共56页
各种构架结构应用案例分析_第2页
第2页 / 共56页
各种构架结构应用案例分析_第3页
第3页 / 共56页
各种构架结构应用案例分析_第4页
第4页 / 共56页
各种构架结构应用案例分析_第5页
第5页 / 共56页
点击查看更多>>
资源描述

《各种构架结构应用案例分析》由会员分享,可在线阅读,更多相关《各种构架结构应用案例分析(56页珍藏版)》请在金锄头文库上搜索。

1、第三章A 7E案例分析各种构架结构的运用 任课老师 黄武 提纲 A 7E项目背景简介A 7E项目的构架商业周期A 7E项目的构架3 1分解结构3 2使用结构3 3进程结构 1 A 7E项目背景简介 A 7E项目是美国海军研究实验室的降低软件成本项目 SoftwareCostReduction 由美国海军支持该项目开发人员想通过该软件的开发实际验证软件工程原理 比如信息隐藏 适用于高性能嵌入式实时系统 实际上该项目是一个飞机航空电子系统设计项目该项目于1977年开始 1987年终止 历时10年A 7E是一种单座 舰载攻击机 于20世纪60 70至80年代服役于美国海军 1 1A 7E舰载攻击机

2、A 7E海盗II型攻击机 A 7C A 7E的前身 是世界上最早正式生产并装备了计算机以辅助导航和投弹的机型之一 1 1 1航空母舰舰载机 A 7E是一种航空母舰舰载机 1 1 2航空电子设备图片 某种战斗机驾驶舱 通常而言 飞机上的计算机都采用专用的计算机设备A 7E装备的是IBM生产的专用计算机 1 1 3飞机上的瞄准设备 战斗机投弹瞄准装置 航空电子设备 1 1 4现代客机的航空电子设备 1 2A 7E项目的目的 Parnas的目的 通过该项目的开发证实其理论研究成果适用于需求灵活 内存占用少 开发时间短的实时软件系统项目指导思想 留下一个完整的工程模型 把相关的文档 设计方案 代码 方

3、法和原则都公之于众 供相关人员模仿使用 1 3A 7E项目的成果 获得了一个完整的需求文档 该文档在今天的实时 嵌入式软件系统的开发中仍然是适用的该项目在当时已经开创性地采用了很多先进的计算机软件工程方法 包括面向对象的设计方法 信息隐藏 使用域模型来处理系统未来变化的适应性 以及创建了一个标准的 可重用的参考构架 1 4A 7E项目研制获得的经验 信息隐藏是软件开发中可行的和明智的设计准则从实现系统质量指标的角度看 认真设计构架层次上的各种结构可以达到事半功倍的效果 2A 7E项目的构架商业周期 A 7E航空电子系统的构架商业周期 2 1A 7E需求与质量 A 7E项目的主要功能需求 读取各

4、种传感器的数据更新座舱中显示设备的显示内容辅助飞行员导航和正确投弹A 7E项目的主要质量需求实时性能针对期望变更的可修改性可靠性 2 1 1A 7E项目运行环境约束 采用IBM公司生产的小型专用计算机 内存大小为64K 没有编译器 使用汇编语言编写程序计算机将与飞机上装备的近24种航空电子设备进行通信 这些航空电子设备有可能更改 2 2A 7E主要数据来源的传感器 用于测量气压和风速的飞行探针可按方位角和仰角调整的前视雷达 该雷达能够计算飞机与目标之间的直线距离报告对地速度和偏航角的多普勒雷达惯性测量设备 IMS 该设备报告沿3个直角坐标的加速度能够报告机翼下6个炸弹托架的载弹情况的传感器能够

5、测量距离地面高度的雷达高度计 2 3座舱显示设备与交互设备 地图显示设备正面显示器小键盘和3个小型的字母数字显示窗口各种指示灯 仪表盘和声音信号 2 4A 7E航电系统对飞行员的支持 软件在正面显示器上显示导航信息和操作指导 指引飞机飞向指定的方位系统提供20多种导航模式供飞行员选择该软件至少有5种不同的方法计算飞机的飞行高度 有20多种实时 40ms 计算的投弹方式 2 5五种飞行高度的计算方法 关键数据的可靠性实施策略 2 6A 7E的质量目标 A 7E软件所满足的质量目标包括 实时性软件系统每秒钟显示内容的更新次数和武器投放的计算速度针对期望更改的可修改性对武器 平台 显示屏上符号的变更

6、 以及通过键盘输入新的内容容易更改 3A 7E项目的构架 一个系统的构架由一个或多个结构构成为了实现A 7E系统的功能及质量目标 系统确定了构架层次上的3个主要结构 3 1A 7E项目的构架结构说明 在构架中 每个结构由元素及元素之间的关系构成A 7E项目的三种结构及其元素 3 2分解结构 分解结构将系统的功能划分为可以独立实现的模块一个模块可能是一个整体 也可能包括若干个子模块 直到每个模块容易实现信息隐藏的原则要求各个模块仅通过某个确定的公共参数集合进行通信 每个模块提供了一组可以由系统中其他模块调用的访问过程 3 2 1模块划分的具体目标原则 每个模块结构应足够简单 能够被充分理解应该能

7、够在无需了解其他模块的具体实现 并且不影响其它模块的行为的情况下修改某个模块的实现对设计进行修改的容易程度应该与该修改可能发生的程度有合理的对应关系应该能够把要对软件系统做的比较大的改动分解成对各个模块的一组独立的修改分解结构的文档被称为模块指南 3 2 2分解结构对质量目标的支持 A 7E系统分解结构承载了系统可修改性的质量目标 3 2 3系统可能发生的改动原因 软件与之交互的硬件发生了变化所要求的外部可见行为发生了变化完全由该项目软件设计人员做出的某个决定发生了变化这些变化是构架设计时考虑的因素 直接影响着系统模块的划分 3 2 4A 7E项目的一级分解结构 A 7E系统分解结构的第一级模

8、块划分 3 2 4 1分解结构 硬件隐藏模块 硬件隐藏模块包括当硬件的任何一部分被具有不同的软 硬件接口但具有相同能力的单元代替时需要修改的过程该模块实现了虚拟硬件该模块的一个子模块是扩展的计算机模块 该模块隐藏了处理器的细节 1 硬件隐藏模块的3级分解结构 2 详细的硬件隐藏模块 3 2 4 2分解结构 行为隐藏模块 行为隐藏模块包括当影响系统行为的需求发生变化时需要修改的过程 比如增加了一种导航模式 飞向员需要对此模式进行选择该模块应主要实现系统的需求隐藏 这些过程决定了应发送给由硬件隐藏模块提供的虚拟输出设备的数据 1 行为隐藏模块的三级结构 2 详细的行为隐藏模块 3 2 4 3分解结

9、构 软件决策模块 软件决策模块将基于数学定理 物理事实 编程思想的软件设计决策隐藏起来该模块所隐藏的信息在系统需求描述中是没有记载的这些模块的修改很可能是由于外部因素的变化而希望提高该模块的性能或精度 1 软件决策模块的二级分解结构 软件决策模块二级分解结构 2 软件决策模块部分三级分解结构 软件决策模块的部分三级划分 3 应用数据类型模块 应用数据类型模块是对硬件隐藏模块中计算机扩展子模块的补充应用数据类型模块提供了适用于航空电子系统应用的数据类型 例如飞行高度 角度等应用数据类型模块所隐藏的是变量及用于实现对这些变量操作过程中的数据表示 比如数据单位这个表示内容隐藏在该模块中 4 数据银行

10、家模块 应在何时更新数据项的值是由数据使用者的属性 如数据的精度要求 和数据生产者的属性 如数据更新的频率 决定的数据银行家模块存在于数据生产者和消费者之间 起到中间缓冲的作用 5 过滤器行为模块 过滤器行为模块包含实际过滤器的数字化模型 它们被其它过程使用 来对可能的噪声数据进行过滤该模块隐藏的是在对基于采样数据的值进行估计和对错误进行估计所采用的模型比如 得到了各种不同的飞行高度数据 如何选择正确的高度数据 6 物理模型模块 物理模型模块主要实现对物理模型及其计算机实现的隐藏物理模型是对不能直接测量但可根据观测值使用数学模型估算值的抽象 比如对于估算投弹到命中目标的时间 7 软件实用程序模

11、块 软件实用程序模块包含原本要由多个程序员编写的实用例程 公共函数库 这些例程包括数学函数 资源监视程序和所有模块都已完成加电初始化时发出信号的过程 8 系统生成模块 系统生成模块主要隐藏直到系统生成时才作出的决策 晚绑定 这些决策包括系统生成参数值的确定和对某一模块不同实现方案的选择该模块的过程并不在机载计算机上运行 而是在为此机载系统生成代码的计算机上运行 3 3使用结构 使用关系使用结构的思想是建立在使用关系的基础上的 如果过程A的运行必须以过程B的正确运行为前提 则我们说过程A使用过程B使用关系和调用关系并不完全相同1 B过程是错误处理模块 不是使用关系2 A过程依赖B过程的结果 是使

12、用关系 3 3 1使用结构实现的质量目标 3 3 2使用结构的模块调用关系 3 3 3模块使用结构说明 扩展计算机模块中的所有过程都不使用其它任何模块中的过程 其他模块则都可使用计算机扩展模块应用数据类型模块中的过程仅能使用扩展计算机模块中的过程设备接口模块中的过程仅使用扩展计算机模块 应用类型模块和物理模型模块中的过程功能驱动模块和共享服务模块的过程可以使用数据银行家模块 扩展计算机模块 应用数据类型模块和设备接口模块的过程任何过程都不得使用功能驱动模模块中任何过程只有功能驱动模块的过程可以使用共享服务模块的过程 3 3 4使用结构 分层图 3 3 5使用结构和分层结构的关系 分层结构是使用

13、结构的归纳 但是它不能取代使用结构 因为在分层结构中并没有表示可能有哪些子集 而使用结构规定了特定的子集以子集的方式进行系统设计的好处是 可以交付由不同子集构成的系统 便于系统的增量开发 3 4进程结构 A 7E系统的扩展计算机模块采用了支持多处理能力的虚拟编程接口该软件系统是以一组协同顺序进程来实现的 这些协同顺序进程保持同步关系 以协调对共享资源的使用进行结构支持了高性能的质量属性 3 4 1进程结构支持的质量目标 3 4 2编写进程结构的目的 让功能驱动模块计算该航空电子软件的输出结果 然后定时更新正面显示器用进程作为一种隐蔽机制来实现某些访问过程 比如在后台进行大量的运算 3 4 2

14、1定时模块进程 Periodicprocess processper40ms 调用其他模块的访问过程 收集所有相关输入的数据 计算应输出的结果值 调用某个相应的设备接口过程 将输出结果发送出去Endperiodicprocess 3 4 2 2命令模块进程 Demandprocess accordingtoneed 等待触发事件 计算应输出的结果 调用某个相应的设备接口过程 触发某个事件EndDemandprocess 3 4 2 3后台计算模块进程 Calculateprocess per100ms 收集计算所需的输入数据 计算 将结果保存在most recent变量中EndCalculat

15、eprocessProcedureget value pl getneedvalue p1 most recent returnEndProcedure 3 4 3进程结构收集的信息 进程结构收集两类信息每个进程中使用到哪些过程哪些进程不能同时执行 实际的互斥临界区只有在进程代码编写完成后最终确定 3 5A 7E系统的数据流图 飞行员 外部世界 传感器输入 要显示的值 存储的值 计算的值 传感器输入 推断出的值 过滤掉的值 作业 假设需要开发A 7E软件的新版本 该版本用于教练机上使用 教练及本身不携带任何武器 但要求能够让飞行员学会如何使用机载航空电子系统进行飞机导航和投弹训练 则所给构架中的哪些结构需要修改 如何修改 请从网上搜集A 7E项目的需求文档

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号