[信息与通信]第9章系统设计技术课件

上传人:我*** 文档编号:142192767 上传时间:2020-08-17 格式:PPT 页数:88 大小:841KB
返回 下载 相关 举报
[信息与通信]第9章系统设计技术课件_第1页
第1页 / 共88页
[信息与通信]第9章系统设计技术课件_第2页
第2页 / 共88页
[信息与通信]第9章系统设计技术课件_第3页
第3页 / 共88页
[信息与通信]第9章系统设计技术课件_第4页
第4页 / 共88页
[信息与通信]第9章系统设计技术课件_第5页
第5页 / 共88页
点击查看更多>>
资源描述

《[信息与通信]第9章系统设计技术课件》由会员分享,可在线阅读,更多相关《[信息与通信]第9章系统设计技术课件(88页珍藏版)》请在金锄头文库上搜索。

1、第9章系统设计技术,9.1 引言 9.2 设计流程 9.3 系统设计的形式化方法 9.4 需求分析与规格说明 9.5 系统分析与体系结构设计 9.6 质量保证 思考与练习题,9.1 引 言,多数真正的嵌入式系统的设计实际上是很复杂的,其功能要求非常详细,且必须遵循许多其他要求,如成本、性能、功耗、质量、开发周期等。大多数嵌入式系统的复杂程度使得无法由个人设计和完成,而必须在一个开发团队中相互协作来完成。这样就使得开发人员必须遵循一定的设计过程,明确分工,相互交流并能达成一致。 设计过程还会受到内在和外在因素的影响而变化。外在影响包括如消费者的变化、需求的变化、产品的变化以及元器件的变化等。内在

2、影响包括如工作的改进、人员的变动等。,9.2 设 计 流 程,9.2.1 嵌入式系统的开发过程 嵌入式系统是专用的计算机系统,运行在特定的目标环境中,需要同时满足功能和性能等方面的要求。在嵌入式系统的开发过程中,要考虑到实时性、可靠性、稳定性、可维护性、可升级、可配置、易于操作、接口规范、抗干扰、物理尺寸、重量、功耗、成本、开发周期等多种因素。良好的设计方法在嵌入式系统的开发过程中是必不可少的。首先,好的方法有助于规划一个清晰的工作进度,避免遗漏重要的工作,例如性能的优化和可靠性测试对于一个合格的嵌入式产品而言是不可或缺的。其次,采用有效的方法可以将整个复杂的开发过程分解成若干可以控制的步骤,

3、通过现代一些先进计算机辅助设计工具的辅助,我们可以按部就班、有条不紊地完成整个项目。,图9-1 嵌入式系统开发的一般过程,1系统定义阶段 系统定义阶段需要确定系统开发最终实现的目标、实现目标的可行性、实现目标应采用的策略、估计完成系统开发所需的资源和成本、制定工程进度安排计划。这一阶段的工作主要包括了系统定义、可行性分析、需求分析和规格说明四方面的内容。其中,需求分析是指从用户那里搜集系统的非形式描述。以此为基础经过进一步提炼得到系统的规格说明,并以此来设计系统的体系结构和系统构件。,通常,用户仅了解和关心实际使用问题和需要具备的功能,但是往往不能完整、准确地表达这种需求,更不清楚怎样利用计算

4、机去实现所需的功能。为了对系统进行准确无误地定义,就要求开发人员和用户之间充分交流,开发人员需要详细考察,最终得出经用户确认的、明确的系统实现逻辑模型。 需求可分为功能部分和非功能部分。非功能性需求包括了性能、价格、物理尺寸和重量、功耗等方面的因素。,确认需求最好的方法是建立模型。模型可以使用原始数据来模拟功能,并可以在计算机上运行。模型还应让用户了解系统是如何工作的,以及用户如何与系统交互。通常,系统的非功能模型可以让用户了解系统的特性。 对一个大型的系统进行系统定义和需求分析是一件繁琐的工作,可以从先获取相对少量的、简单的信息入手。表9-1演示了一个简单的需求表格的样本。,表9-1 需求表

5、格样本,* 名称给项目取一个好的名称,可以使设计目的更加明确,也便于交流、讨论时使用。 * 目的用最精炼的语言来描述清楚系统需要满足的需求。 * 输入和输出系统的输入和输出包含了大量的细节,如数据类型,包括模拟信号、数字信号、机械输入等;数据特性,包括周期性或非周期性数据、用户的输入、数据位数等;I/O设备类型,包括按键、ADC、显示器等。 * 功能功能的描述可以从对输入到输出的分析中得出,如当系统接收到输入时,执行哪些动作?用户通过界面输入的数据如何对该功能产生影响?不同功能之间如何相互作用?,* 性能系统控制物理设备或者处理外界输入的数据都需要花费一定的时间。在大部分情况下,嵌入式系统在计

6、算时间上都有要求,因此从系统定义和需求分析开始,这种性能的要求就必须明确,并在执行过程中加以认真考虑,以便随时检查系统能否满足其性能要求。系统的处理速度通常又是系统实用性和成本的主要决定因素。在大多数情况下,软件的性能在很大程度上决定了系统的性能。,* 生产成本产品的成本会影响其价格。成本包含两个主要部分:生成成本,包括购买构件以及组装费用等;不可再生的工程成本,包括人力成本以及设计费用等。生产成本主要包括的是硬件成本。通过对硬件成本的估计,可以大略估计产品形成后的价格;或者,基于产品最终的粗略价格来计算构建系统可以使用的硬件构件,因为价格最终会影响系统的体系结构。 * 功耗由电池供电的系统必

7、须对功耗问题认真考虑。而系统的功耗需要在设计开始时就要至少有一个粗略的了解。通常,基于这种了解可以使开发者决定系统是采用电池供电还是采用市电。,* 物理尺寸和重量产品的物理尺寸和重量因使用领域的不同而不同。例如,对飞机上的电子设备,其重量应严格限制。又如,手持设备对系统的物理尺寸和重量都有严格限制。对系统的物理尺寸和重量有一定的了解有助于系统体系结构的设计。 需求分析需要对其内部一致性进行检查。规格说明可以使设计者花费最少的时间和精力创建一个工作系统。规格说明应该足够明晰,以便别人可以验证它是否符合系统需求并且完全满足客户的期望;亦不能有歧义,设计者应知道什么是他们需要构造的。设计者可能碰到各

8、种不同类型的由于不明确的规格说明而导致的问题。如果在某个特定的状况下的某些特性在规格说明中不明确,那么设计者就可能设计出错误的功能。,2总体设计阶段 总体设计是设计的第一步,其目的是描述系统如何实现由系统定义规定的那些功能。它需要解决嵌入式系统的总体构架,从功能实现上对软硬件进行划分;在此基础上,选定处理器和基本接口器件;根据系统的复杂程度确定是否使用操作系统,以及选择哪种操作系统;此外,还需要选择系统的开发环境。,本阶段应提供系统总体设计报告,推荐一个基本的软硬件配置方案,包括系统中各模块间的接口关系。确立总体方案时,要使用系统流程图或其他工具,描述每一种可能的系统组成,估计每一种方案的成本

9、和效益,最终使总体方案建立在充分权衡各种方案利弊的基础上。总体设计中对系统体系结构的描述必须同时满足功能上和非功能上的需求。一般地,功能约束在构建系统总体框图时集中考虑,而非功能约束在构建硬件和软件体系结构时考虑。在构建体系结构时对非功能约束的估算部分来源于经验,而建造一个简化的模型往往有助于做出更精确的估算。,3构件设计阶段 构件通常包括硬件和软件两部分。构件设计使得构件、体系结构和规格说明相一致。 一些构件是标准的,可以直接使用,如CPU和存储器。如果采用标准数据库,我们就可以用标准例程对该数据库进行访问。这些数据库中的数据不仅使用预定义的格式,而且被高度压缩以节省存储空间。在这些访问函数

10、中使用标准软件不仅节约设计时间,而且有可能较快地实现像数据解压缩这样的专用函数。,在大部分情况下,我们必须自己设计一些构件,如使用集成电路设计PCB、做大量定制的编程等。在设计期间,我们经常会利用一些计算机辅助设计工具和开发平台,并且对每个构件都需要进行功能和性能等方面的测试。嵌入式系统的设计还要求有较高的设计技能,在设计软件时要非常小心地读/写存储器以减小功耗。由于存储器访问是主要的功耗来源,因此存储器事务必须精心安排以避免多次读取同样的数据。,4系统集成阶段 系统集成阶段的工作包括将测试完成的软件系统装入制作好的硬件系统中,进行系统综合测试,验证系统功能是否能够准确无误地实现,各方面指标是

11、否符合设计要求,最后将正确无误的软件固化在目标硬件中。在系统集成阶段通常会发现错误。按阶段构建系统并正确运行选好的测试,可以更容易地找出这些错误。如果每次只对一部分模块排错,则可以更容易地发现和识别较简单的错误。也只有在早期修正这些简单的错误,才能发现那些只有在系统高负荷时才能确定的、较复杂、较含混的错误。因此,我们必须确保在体系结构和构件设计阶段尽可能容易地按阶段组装系统和相对独立地测试系统功能。,9.2.2 设计流程 设计流程是指在系统设计期间应遵遁的一系列步骤,其中的一些步骤可以由工具软件完成,如编译程序或者CAD系统;其他的步骤只可用手工完成。本节将讲述设计流程的基本特性。 1瀑布模型

12、 图9-2演示了瀑布模型,这是一个为软件开发过程提出的模型。,图9-2 软件开发的瀑布模型,瀑布开发模型由五个主要阶段构成:需求分析,确定目标系统的基本特点;体系结构设计,将系统的功能分解为主要的构件;编码,编写程序段并将其集成;测试,检测错误;维护,修改软件以适应环境变化,并改正错误,进行系统升级。各阶段的工作和信息总是由高级的抽象到较详细的设计步骤单向流动(只有少量的到高一级的反馈)。 自顶向下的设计可以使得在早期设计阶段就对要完成的系统有很好的预见,但大多数的设计者并没有完全遵循这种自顶向下的设计顺序。很多的设计项目要进行试验和更改,就需要有从下到上的回溯。瀑布模型对于理解其他设计流程对

13、它的改进是很重要的。,图9-3 软件设计的螺旋模型,2螺旋模型 图9-3演示了螺旋模型。,3逐步求精,图9-4 逐步求精开发模型,4分层设计流程 许多复杂的嵌入式系统自身是由更多的小设计组成的。完整的系统可能需要有效的软件构件、专用的集成电路(ASIC)等,而且这些部件反过来可能由尚需设计的更小的部件组成。从最抽象的完整系统设计到为个别部件的设计,设计流程随着系统中的抽象层次而变化。流程的实现阶段从规格说明到测试,本身是一个完整的流程。在一个大项目中,每一个流程可能会由单独的人或小组来完成,每个组必须依靠其他组的结果。各个分组从上级小组获得要求,同时上级小组依靠各个分组的设计质量和测试性能。充

14、分交流在这样的大项目中非常重要。其设计流程如图9-5所示。,图9-5 嵌入式系统分层设计工作流程,5并行工程 当众多的设计者一起设计一个大系统时,非常容易偏离完整的设计流程,导致每个设计者对自己在设计流程中的角色产生狭隘的看法。并行工程试图采用一种更宽的方法,使整个流程优化。对于并行工程而言,缩减设计时间是一个重要的目标,它为设计流程的很多方面提供了捷径,例如,可靠性、性能、功耗等。特别需要指出的是,要从并行工程中获得最多收益通常需要删除设计和制造之间的隔阂。为了获得最优结果,需要注意以下几点: (1) 交叉功能组应包括来自不同学科的成员,包括制造业、硬件/软件设计和市场营销等。,(2) 并行

15、产品实现过程的活动是并行工程的中心。同时做几件事,例如同时设计几个不同的子系统,减少设计时间是关键性的。 (3) 递增的信息共享和使用将有助于减少并行产品的实现导致意外的可能性。 一旦新的信息可用,它就被共享并且集成到设计中。交叉功能组对于及时和高效的信息共享是很重要的。 (4) 综合的工程管理保证有人对整个工程负责,而且这种职责决不能在工程的某一方面一旦完成就放弃。 (5) 提供商尽早地和不间断地参与有助于充分利用提供商的能力。 (6) 客户尽早地和不间断地关注有助于确保产品能最好地满足其需要。,6其他 软件工程的方法直接影响到设计流程。目前,软件开发过程结合了面向对象的方法和第四代工具。该

16、方法针对嵌入式系统还在不断完善。 在基于面向对象的开发过程中,开发组成员可以遵循并行过程的方法,并发地设计组件。例如,一个小组设计设备驱动程序,另一个小组设计错误处理程序,还有一个小组设计应用程序。 第四代软件工具能够根据较高级的设计规范生成代码,例如,自动报表生成、自动高级图形生成、创建数据库查询以及在创建网站时自动生成HTML代码等。,9.3 系统设计的形式化方法,9.3.1 UML简介,面向对象的规格说明可以看成互补的两个方面: (1) 面向对象的规格说明允许用精确地模拟真实世界的对象和它们之间的交互方式来描述系统。 (2) 面向对象的规格说明提供一个基本的原语集,可以用特殊属性来描述系统,而不管系统构件和真实世界对象的关系如何。,1UML基本元素 UML最基本的元素是对象和类,对象是类的实例。另外,对象和类之间可能存在着各种不同的关系。类具有属性和行为。活跃类是能实现独立控制线程的类。对象可能有被赋予特定的值的属性。匿名对象属于某一个类但没有标识名。程序包是系统的组织单元,可能包括类定义、对象等。状态在状态图中描述行为。物理处理器是硬件部件。构件是实现一组接口的系统的物理组

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

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

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