《嵌入式原理嵌入式系统设计优秀PPT.ppt》由会员分享,可在线阅读,更多相关《嵌入式原理嵌入式系统设计优秀PPT.ppt(55页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、嵌入式原理嵌入式系统设计嵌入式原理嵌入式系统设计你现在浏览的是第一页,共55页3-1 设计方法论设计方法论采用方法论有以下采用方法论有以下三个重要理由三个重要理由:1确认所做的每一件事情都是必须要做的。确认所做的每一件事情都是必须要做的。2根据设计方法论可以发展出根据设计方法论可以发展出计算机辅助工具计算机辅助工具或是或是累积设累积设计经验计经验。汲取每一次产品开发的经验,再经过量化之后,可以发展出一套工汲取每一次产品开发的经验,再经过量化之后,可以发展出一套工具或是方法,让往后的产品设计步入具或是方法,让往后的产品设计步入自动化自动化。3遵循同一套方法论,可以让团队成员更容易遵循同一套方法论
2、,可以让团队成员更容易彼此沟通彼此沟通。每个人都能在短时间内了解整体过程中将经历哪些过程,需要何种每个人都能在短时间内了解整体过程中将经历哪些过程,需要何种支持与接收到何种结果。支持与接收到何种结果。不要画蛇添足!也不不要画蛇添足!也不要只扫门前雪!要只扫门前雪!熟能生巧!熟能生巧!项目经理总揽全局!项目经理总揽全局!你现在浏览的是第二页,共55页3-1 设计方法论设计方法论设计方法论(设计方法论(Design Methodology)3-1-1 设计过程设计过程3-1-2 设计流程的方法设计流程的方法你现在浏览的是第三页,共55页3-1-1 设计过程设计过程设计过程的目标是做出一个有用且具有
3、卖点的产品设计过程的目标是做出一个有用且具有卖点的产品。一个一个产品的典型规格产品的典型规格包含功能性、制造成本、性能表现、省电包含功能性、制造成本、性能表现、省电考虑和其他特性。考虑和其他特性。【例例】一台个人数字助理一台个人数字助理PDA必需具有个人辅助信息的软件和有趣的应用程序(必需具有个人辅助信息的软件和有趣的应用程序(功能性功能性)制造成本制造成本大概需要在大概需要在3、4千元以下千元以下必需具备开机速度快,操作上不能有意外的延迟现象等性能(必需具备开机速度快,操作上不能有意外的延迟现象等性能(性能性能表现表现)电力电力要能够维持一个星期以上要能够维持一个星期以上你现在浏览的是第四页
4、,共55页3-1-1 设计过程设计过程一般产品的设计过程的目标至少必须符合三种需求一般产品的设计过程的目标至少必须符合三种需求上市时间上市时间顾客总是想要一些新的功能,如果能够顾客总是想要一些新的功能,如果能够抢先上市抢先上市及时供应给顾客的及时供应给顾客的话,销售数量自然会比其他同型产品来得高。话,销售数量自然会比其他同型产品来得高。引领时尚潮流!引领时尚潮流!设计成本设计成本许多消费性产品对于价格非常敏感,所以产品厂商对于成本一般总许多消费性产品对于价格非常敏感,所以产品厂商对于成本一般总是斤斤计较的。是斤斤计较的。质量质量在设计之初,就必须考虑到在设计之初,就必须考虑到可靠性可靠性和和实
5、用性实用性。iPhone4的天线!的天线!你现在浏览的是第五页,共55页3-1-1 设计过程设计过程设计过程中的几个重要步骤设计过程中的几个重要步骤自上至下的设计自上至下的设计需求和规格都对产品做比较详细的描述。规需求和规格都对产品做比较详细的描述。规格只是描述格只是描述产品的功能行为产品的功能行为,并不说明如何,并不说明如何建立系统。系统内部的建立方式是从架构建立系统。系统内部的建立方式是从架构设计开始建立,并且开始规划系统内应该设计开始建立,并且开始规划系统内应该有哪些组件。组件设计与实现包括软件模有哪些组件。组件设计与实现包括软件模块与硬件模块。最后将这些组件加以集成,块与硬件模块。最后
6、将这些组件加以集成,得到一个完整的系统。得到一个完整的系统。自下至上的设计自下至上的设计在不清楚系统设计的情况下采用,特别是没有建立这类系统在不清楚系统设计的情况下采用,特别是没有建立这类系统的经验。采用由下至上设计的方式来的经验。采用由下至上设计的方式来边做边学边做边学,最后再通过,最后再通过这些经验重新调整系统,完成目标。这些经验重新调整系统,完成目标。你现在浏览的是第六页,共55页3-1-1 设计过程设计过程一些重要的问题一些重要的问题 制造成本、性能要求、省电因素与用户接口。制造成本、性能要求、省电因素与用户接口。在设计过程中,考虑如下问题:在设计过程中,考虑如下问题:分析设计的每个步
7、骤以决定应该符合哪些规格。分析设计的每个步骤以决定应该符合哪些规格。加入更详细的内容来加强设计。加入更详细的内容来加强设计。确认设计符合整体系统的目标,如价格、速度等。确认设计符合整体系统的目标,如价格、速度等。一个好的设计方法论可以让一个系统更快完成,而不至于受到一个好的设计方法论可以让一个系统更快完成,而不至于受到外部和内部因素影响。外部和内部因素影响。一个好的系统也不该有一个好的系统也不该有臭虫(臭虫(bug)的存在。的存在。你现在浏览的是第七页,共55页实例实例 火星气象卫星的失事原因火星气象卫星的失事原因 1999年,美国所发射的一台火星气象卫星,没有在正确的时间年,美国所发射的一台
8、火星气象卫星,没有在正确的时间点燃维持轨道的引擎,导致与火星距离太近而失事。点燃维持轨道的引擎,导致与火星距离太近而失事。原因之一:美国原因之一:美国JPL与与Lockheed Martin的工程师使用的计算的工程师使用的计算单位不一样。单位不一样。JPL用的是牛顿,用的是牛顿,Lockheed Martin用的是磅,双方都以为用的是磅,双方都以为和对方用的是一样的单位。和对方用的是一样的单位。计算出来的结果与真正的轨道差距计算出来的结果与真正的轨道差距4.45倍。倍。你现在浏览的是第八页,共55页3-1-2 设计流程的方法设计流程的方法设计流程(设计流程(Deign Flow)指的是设计过程
9、中所经历的过程步骤。指的是设计过程中所经历的过程步骤。常用的设计流程的方法常用的设计流程的方法瀑布模型(瀑布模型(Waterfall Model)螺旋模型(螺旋模型(Spiral Model)连续改进(连续改进(Successive Refinement)设计方法)设计方法 层次结构式设计流程层次结构式设计流程你现在浏览的是第九页,共55页瀑布模型瀑布模型(用户)需求(用户)需求通过分析确定产品的基本特性通过分析确定产品的基本特性(技术)规格(技术)规格架构架构系系统组统组成成将每个功能面细分成许多组件将每个功能面细分成许多组件(软件)编程硬件制作(软件)编程硬件制作把这些小单元实现出来并且集
10、成把这些小单元实现出来并且集成测试测试找出臭虫找出臭虫维护维护产品发布、臭虫修正以及升级等产品发布、臭虫修正以及升级等一旦某个阶段出现问题,可能需一旦某个阶段出现问题,可能需要逐级向上寻找要逐级向上寻找bug。你现在浏览的是第十页,共55页螺旋模型螺旋模型在每一个设计层次,设计者都在每一个设计层次,设计者都会经历需求分析、构建与测会经历需求分析、构建与测试阶段试阶段。在设计过程中,在设计过程中,不断加进前一不断加进前一设计周期所得的经验设计周期所得的经验,逐渐,逐渐构建构建更完善的系统更完善的系统。特点特点多重反复的方式多重反复的方式会在复杂会在复杂系统里加入足够的细节系统里加入足够的细节花费
11、太长的时间。花费太长的时间。在时间因素影响产品成败时,在时间因素影响产品成败时,螺旋模型便不太适用。螺旋模型便不太适用。由点到面!由浅入深!逐步推进!由点到面!由浅入深!逐步推进!你现在浏览的是第十一页,共55页连续改进设计方法连续改进设计方法连续改进设计方法论是假设系统会建立好几次,最初的系统会是一种连续改进设计方法论是假设系统会建立好几次,最初的系统会是一种粗略的雏形,经过连续的方式不断改进。粗略的雏形,经过连续的方式不断改进。通过反复建立好几个越来越复杂的系统,可以帮助设计者检验架通过反复建立好几个越来越复杂的系统,可以帮助设计者检验架构和技术,也可以帮助设计者避免错误。构和技术,也可以
12、帮助设计者避免错误。连续改进设计方式对于打算连续改进设计方式对于打算建立一种不熟悉的系统建立一种不熟悉的系统的设计者来说比较的设计者来说比较有意义。有意义。你现在浏览的是第十二页,共55页简易硬件与软件的同步设计流程简易硬件与软件的同步设计流程初期阶段的需求与规格设计初期阶段的需求与规格设计必须要同时考虑硬件与软件必须要同时考虑硬件与软件两方面。两方面。最后的阶段需要集成与测试整最后的阶段需要集成与测试整体系统。体系统。中间阶段采用独立分开方式设中间阶段采用独立分开方式设计。计。你现在浏览的是第十三页,共55页层次结构式设计流程层次结构式设计流程你现在浏览的是第十四页,共55页同步工程(同步工
13、程(Concurrent Engineering)问题:当越多人同时进行一个项目的时候,就越容易失去完整问题:当越多人同时进行一个项目的时候,就越容易失去完整设计流程的轨迹。每个小型系统的设计者容易局限在自己的设设计流程的轨迹。每个小型系统的设计者容易局限在自己的设计流程里。计流程里。同步工程的目的同步工程的目的采用一个较广泛的看法让整体流程最佳化。采用一个较广泛的看法让整体流程最佳化。消除每个小型系统设计者之间的障碍消除每个小型系统设计者之间的障碍,以免设计者局限在自己的看,以免设计者局限在自己的看法而无法与其他设计者进行沟通,造成反复或冲突的情况不断发生。法而无法与其他设计者进行沟通,造成
14、反复或冲突的情况不断发生。设计过程中整个设计团队交流与沟通至关重要!设计过程中整个设计团队交流与沟通至关重要!你现在浏览的是第十五页,共55页设计设计设计什么?如何设计?设计什么?如何设计?收集客户所描述的消息,整理成收集客户所描述的消息,整理成需求需求列表。列表。把这些需求进一步萃取之后,形成系统架构把这些需求进一步萃取之后,形成系统架构设计的数据设计的数据技术规格技术规格。你现在浏览的是第十六页,共55页3-2 需求分析需求分析需求与规格需求与规格需求分析需求分析证实需求证实需求简易需求表简易需求表你现在浏览的是第十七页,共55页需求与规格需求与规格将将客户的需求理念捕捉出来,并且以正规的
15、方式描述(客户的需求理念捕捉出来,并且以正规的方式描述(用户需用户需求分析求分析),同时将客户描述的方式转换成系统设计者的描述方),同时将客户描述的方式转换成系统设计者的描述方式(式(技术规格技术规格)。需求与规格描述系统所呈现的行为,而不是内部结构。需求与规格描述系统所呈现的行为,而不是内部结构。需求需求是顾客想要什么样产品的信息描述。是顾客想要什么样产品的信息描述。规格规格是更详细、更精确的描述系统的功能。是更详细、更精确的描述系统的功能。你现在浏览的是第十八页,共55页需求分析需求分析需求分析需要设计者与顾客详细沟通需求分析需要设计者与顾客详细沟通设计者需要了解顾客所预期的产品是什么设计
16、者需要了解顾客所预期的产品是什么顾客也必须了解他们到底可以得到什么样的产品顾客也必须了解他们到底可以得到什么样的产品需求的种类需求的种类功能性需求功能性需求是指系统必须要有哪些功能。是指系统必须要有哪些功能。非功能性需求非功能性需求实体大小与重量、价格、设计时间、电力消耗、实体大小与重量、价格、设计时间、电力消耗、。想要什么?得到什么?想要什么?得到什么?你现在浏览的是第十九页,共55页证实需求证实需求确认列出来的需求是真的为客户所需要确认列出来的需求是真的为客户所需要。怎样确认?怎样确认?仿真系统仿真系统用一些事先准备的数据来模拟一些功能,当用一些事先准备的数据来模拟一些功能,当作一个作一个
17、有功能限制的展示系统有功能限制的展示系统。给客户一个实际看得到的。给客户一个实际看得到的模型来说明实际做出来的系统将如何运行。模型来说明实际做出来的系统将如何运行。样机、测试版、概念车样机、测试版、概念车你现在浏览的是第二十页,共55页简易需求表简易需求表名称目的输入输出功能性能要求制造成本电源实体大小与重量你现在浏览的是第二十一页,共55页需求分析需求分析需求文件的特性需求文件的特性正确性正确性:既不可误解顾客所需,也不可描述不需要的需求。:既不可误解顾客所需,也不可描述不需要的需求。精确性精确性:需求文件应该做清楚的描述,而不是笼统的说明。:需求文件应该做清楚的描述,而不是笼统的说明。完整
18、性完整性:所有的需求都应该记录。:所有的需求都应该记录。可证明性可证明性:所有的需求都应该有方式可以证明是合理的。:所有的需求都应该有方式可以证明是合理的。一致性一致性:某项需求不应该和其他需求相互冲突。:某项需求不应该和其他需求相互冲突。可修改性可修改性:既然可以建立需求,当然也可以修改需求,而且不:既然可以建立需求,当然也可以修改需求,而且不会违反上述的特性。会违反上述的特性。可追踪性可追踪性:每份文件都应该可以追踪。包括为什么会有这样的:每份文件都应该可以追踪。包括为什么会有这样的需求,彼此需求间的相关性,这些需求是否可能实现,以及最需求,彼此需求间的相关性,这些需求是否可能实现,以及最
19、后是否满足这些需求。后是否满足这些需求。你现在浏览的是第二十二页,共55页如何决定需求呢如何决定需求呢?销售部门销售部门会帮忙反映市场的需要,或是去询问顾客,然后将这会帮忙反映市场的需要,或是去询问顾客,然后将这些意见汇总进行分析。如果是顾客直接找上门,就需要和顾客些意见汇总进行分析。如果是顾客直接找上门,就需要和顾客进行访谈,以了解他们的期望。进行访谈,以了解他们的期望。如果顾客能够给如果顾客能够给设计者设计者一个简单的样品,将可以帮助设计者更一个简单的样品,将可以帮助设计者更清楚应该要设计出什么样的产品。清楚应该要设计出什么样的产品。设计者先做出一个雏形,请销售部门进行展示或是意见调查,设
20、计者先做出一个雏形,请销售部门进行展示或是意见调查,然后再将结果进行分析来决定需求的内容。然后再将结果进行分析来决定需求的内容。你现在浏览的是第二十三页,共55页3-3 规格规格客户与架构设计团队之间的契约客户与架构设计团队之间的契约 统一建模语言统一建模语言SDL语言语言状态图状态图AND/OR表表你现在浏览的是第二十四页,共55页统一建模语言统一建模语言UML是一种描述规格的语言,通过对系统正规化的表述,使是一种描述规格的语言,通过对系统正规化的表述,使所有看过规格的人,尤其是设计团队里的成员充分了解所描述所有看过规格的人,尤其是设计团队里的成员充分了解所描述的产品是什么。的产品是什么。你
21、现在浏览的是第二十五页,共55页阅读资料:阅读资料:UML你现在浏览的是第二十六页,共55页SDL语言语言SDL包含了状态、动作和每个状态之间的转换条件。包含了状态、动作和每个状态之间的转换条件。SDL是一种以事件为对是一种以事件为对象的状态机器模型。内部或是外部事件的不同,使得状态之间相互转换。象的状态机器模型。内部或是外部事件的不同,使得状态之间相互转换。你现在浏览的是第二十七页,共55页状态图(状态图(State Charts)状态图用来消除状态图用来消除以状态为基础的规格以状态为基础的规格中杂乱的部分,澄清其中中杂乱的部分,澄清其中重要的结构。状态图使用在重要的结构。状态图使用在事件驱
22、动模型事件驱动模型中,让事件可以中,让事件可以归类归类在一起并且显示共通的规格部分。在一起并且显示共通的规格部分。两种归类方法:两种归类方法:OR与与AND。你现在浏览的是第二十八页,共55页传统图解与传统图解与OR状态图状态图你现在浏览的是第二十九页,共55页传统图解与传统图解与AND状态图状态图你现在浏览的是第三十页,共55页AND/OR表表以以AND/OR表来表示一个布尔表达式。每一列标记表达式里的基本变表来表示一个布尔表达式。每一列标记表达式里的基本变量,每一行则对应到每一表达式项目。量,每一行则对应到每一表达式项目。你现在浏览的是第三十一页,共55页3-4 系统分析与架构设计系统分析
23、与架构设计规格只是对事项做了描述,并没有说明系统规格只是对事项做了描述,并没有说明系统如何做如何做到被要求的到被要求的事项。事项。当规格制订完成之后,接下来就是将规格转变为当规格制订完成之后,接下来就是将规格转变为架构设计架构设计。架构是对整体系统结构的计划,说明利用哪些组件来构建架构是对整体系统结构的计划,说明利用哪些组件来构建系统。系统。你现在浏览的是第三十二页,共55页3-4 系统分析与架构设计系统分析与架构设计3-4-1 方框图(方框图(Block Diagram)3-4-2 CRC卡片卡片你现在浏览的是第三十三页,共55页3-4-1 方框图方框图方框图描述系统架构,显示系统有哪些主要
24、方框图描述系统架构,显示系统有哪些主要组件组件。方框图可能非常抽象,没办法使用这些方框来直接实现,不过方框图可能非常抽象,没办法使用这些方框来直接实现,不过这些方块可以告诉接下来的工作方向是什么。可以依据方框图这些方块可以告诉接下来的工作方向是什么。可以依据方框图所描述的工作项目进行所描述的工作项目进行分工分工,做出,做出能够完成更详细的功能的、描述能够完成更详细的功能的、描述更多细节的更多细节的方块图。方块图。GPS的地图显示功能的地图显示功能 你现在浏览的是第三十四页,共55页方框图细化应用举例方框图细化应用举例硬件与软件的架构方块图硬件与软件的架构方块图 采用细化方框图的方式更精确的描述
25、每一个方采用细化方框图的方式更精确的描述每一个方块该有的架构,最后经过几次的重新锤炼与整块该有的架构,最后经过几次的重新锤炼与整理,完成系统架构设计。理,完成系统架构设计。软件方块图更清楚的描述每一个功能之软件方块图更清楚的描述每一个功能之间的相互关系。间的相互关系。硬件方块图还描述了应该要搭配的某些外围设备。硬件方块图还描述了应该要搭配的某些外围设备。你现在浏览的是第三十五页,共55页方框图方框图架构设计必须同时满足功能性与非功能性的需求架构设计必须同时满足功能性与非功能性的需求。不仅要符合所有需要的功能,也必须符合成本、速度、电不仅要符合所有需要的功能,也必须符合成本、速度、电力与其他非功
26、能性需要,因此做架构设计的时候,除了注力与其他非功能性需要,因此做架构设计的时候,除了注意功能单元之外,还要想到软件与硬件限制的部分。意功能单元之外,还要想到软件与硬件限制的部分。如何知道实际上软件与硬件的限制到什么程度呢如何知道实际上软件与硬件的限制到什么程度呢?在设计系统架构的每一个方块时,大概就需要估计方块图在设计系统架构的每一个方块时,大概就需要估计方块图里每一个组件的特性。里每一个组件的特性。例如:用户界面的显示速度或是数据库的查找速度。例如:用户界面的显示速度或是数据库的查找速度。要估计这些组件的特性,必须依靠设计者的经验,这项工作考验设要估计这些组件的特性,必须依靠设计者的经验,
27、这项工作考验设计者对于该系统的熟悉程度,如果不能做准确估计,产品的架构设计者对于该系统的熟悉程度,如果不能做准确估计,产品的架构设计就不会理想。计就不会理想。你现在浏览的是第三十六页,共55页3-4-2 CRC卡片卡片CRC系统分析模型系统分析模型将相关信息写在一张包括了类、责任与合作对象等信息的将相关信息写在一张包括了类、责任与合作对象等信息的索引卡片上,并且相互讨论与更新这些卡片数据,直到讨索引卡片上,并且相互讨论与更新这些卡片数据,直到讨论出结果为止。论出结果为止。类(类(Classes):定义数据与功能的逻辑归类。):定义数据与功能的逻辑归类。责任(责任(Responsibilitie
28、s):定义每个类该做些什么。):定义每个类该做些什么。合作对象(合作对象(Collaborators):定义其他类所做的工作。):定义其他类所做的工作。你现在浏览的是第三十七页,共55页CRC卡片卡片把某些功能封装起来便称为一个把某些功能封装起来便称为一个类类。一个类可以描述一个真实对象或是一个系统的某个环节。一个类可以描述一个真实对象或是一个系统的某个环节。一个类存在自己的一个类存在自己的内部状态内部状态与与对外接口对外接口。对外的接口就是。对外的接口就是这个对象所表现出来的功能。这个对象所表现出来的功能。责任责任就是就是类的接口类的接口。责任的作用在于描述。责任的作用在于描述类的功能接口类
29、的功能接口,而不,而不是内部的运行与实现方式。是内部的运行与实现方式。合作对象合作对象是指该类究竟和哪些类互相沟通,以及该类使用了其是指该类究竟和哪些类互相沟通,以及该类使用了其他类的哪些功能或是其他类交付了什么样的工作。他类的哪些功能或是其他类交付了什么样的工作。你现在浏览的是第三十八页,共55页3-5 设计硬件与软件组件设计硬件与软件组件组件组件设计就是遵照架构与规格建立嵌入设计就是遵照架构与规格建立嵌入式系统式系统你现在浏览的是第三十九页,共55页3-5 设计硬件与软件组件设计硬件与软件组件标准组件:标准组件:已经制造好了的组件已经制造好了的组件微处理器等几乎是一种标准的硬件,通过这些微
30、处理器等几乎是一种标准的硬件,通过这些标准组件标准组件的的组合,可以节省很多精力。组合,可以节省很多精力。选择选择标准组件标准组件(例如数据库功能),使用现成的(例如数据库功能),使用现成的函数库函数库,节省设计与实现的时间。节省设计与实现的时间。定制组件定制组件:设计者设计的属于自己的组件:设计者设计的属于自己的组件要设计出要设计出电路板电路板来连接微处理器或存储器等标准组件,或来连接微处理器或存储器等标准组件,或是做很多是做很多客户特别要求客户特别要求的部分。的部分。将标准软件模块移植嵌入式系统上,使之在现有的硬件上将标准软件模块移植嵌入式系统上,使之在现有的硬件上实时实时运行。运行。你现
31、在浏览的是第四十页,共55页3-6 系统集成系统集成把设计的组件组成一个完整的系统把设计的组件组成一个完整的系统 你现在浏览的是第四十一页,共55页3-6 系统集成系统集成通常会在系统集成阶段找到很多通常会在系统集成阶段找到很多臭虫臭虫好的规划可以帮助很快找到臭虫好的规划可以帮助很快找到臭虫比如,比如,足够的测试案例足够的测试案例或是进行集成的时候先将几个模块放在一起,或是进行集成的时候先将几个模块放在一起,确认臭虫是否存在。确认臭虫是否存在。不要在组合到复杂系统后才开始确认臭虫,那时已经很难识别这些不要在组合到复杂系统后才开始确认臭虫,那时已经很难识别这些臭虫的来源了。臭虫的来源了。在系统架
32、构与组件设计时,需要考虑将来如何确认臭虫,是否可以在系统架构与组件设计时,需要考虑将来如何确认臭虫,是否可以将这些组件功能的关系互相独立,以方便确认。将这些组件功能的关系互相独立,以方便确认。系统集成是非常困难的系统集成是非常困难的到这个阶段已经很难确认问题究竟是出在哪一个部分,而且嵌入式到这个阶段已经很难确认问题究竟是出在哪一个部分,而且嵌入式系统的调试工具与接口通常都很有限,比台式机更难找出问题所在。系统的调试工具与接口通常都很有限,比台式机更难找出问题所在。你现在浏览的是第四十二页,共55页3-7 质量保证质量保证质量保证质量保证的过程是维持一个高质量产品的过程是维持一个高质量产品必需的
33、过程必需的过程 3-7-1 质量保证技术质量保证技术3-7-2 确认需求与规范确认需求与规范3-7-3 设计复审设计复审3-7-4 衡量驱动质量保证衡量驱动质量保证你现在浏览的是第四十三页,共55页3-7-1 质量保证技术质量保证技术国际标准组织(国际标准组织(International Standards Organization,ISO)建)建立了一套知名的质量标准,称为立了一套知名的质量标准,称为ISO9000。人工执行人工执行确认系统设计以及保证质量确认系统设计以及保证质量设计复审设计复审依靠依靠工具工具的确认方式帮助管理较复杂的系统里所产生出的大量的确认方式帮助管理较复杂的系统里所产
34、生出的大量信息。信息。测试产生程序测试产生程序可以自动地取代令人烦闷的测试问题可以自动地取代令人烦闷的测试问题追踪工具追踪工具可以帮助人们找出每个步骤的进行方式可以帮助人们找出每个步骤的进行方式设计流程工具设计流程工具则可以自动地处理设计运行数据则可以自动地处理设计运行数据不需要太高深的管理技巧与复杂的程序,不需要太高深的管理技巧与复杂的程序,源代码版本控制源代码版本控制就可以达到很好的质量管理。就可以达到很好的质量管理。你现在浏览的是第四十四页,共55页质量保证技术质量保证技术CMM能力成熟模型能力成熟模型提供一个模型来判断一个组织的质量成熟程度提供一个模型来判断一个组织的质量成熟程度1初始
35、(初始(Initial)阶段:只有少量定义完备的程序,项目的)阶段:只有少量定义完备的程序,项目的成功依赖的是个人的努力,而不是组织的力量。成功依赖的是个人的努力,而不是组织的力量。2可重复的(可重复的(Repeatable)阶段:具有基本的追踪机制,可)阶段:具有基本的追踪机制,可供管理成本、计划进度,可以让系统发展符合预期目标。供管理成本、计划进度,可以让系统发展符合预期目标。3己定义(己定义(Defined)阶段:所有管理与工程进行的过程都)阶段:所有管理与工程进行的过程都已经利用文件记录并且标准化,所有的项目也都使用文件已经利用文件记录并且标准化,所有的项目也都使用文件建立,且符合标准
36、方式。建立,且符合标准方式。4己管制(己管制(Managed)阶段:这个程度可以通过仔细衡量,)阶段:这个程度可以通过仔细衡量,完成开发程序与产品质量的保证。完成开发程序与产品质量的保证。5最佳化(最佳化(Optimizing)阶段:在最高级阶段里,可以通过)阶段:在最高级阶段里,可以通过仔细的衡量取得改进建议,并且持续改善组织内的程序。仔细的衡量取得改进建议,并且持续改善组织内的程序。你现在浏览的是第四十五页,共55页3-7-2 确认需求与规范确认需求与规范如果不能找出需求与规范中的臭虫,对如果不能找出需求与规范中的臭虫,对于未来系统的发展将会衍生出更多的错于未来系统的发展将会衍生出更多的错
37、误,而且极可能无法修正。误,而且极可能无法修正。如果一开始就存在臭虫,时间愈往后,如果一开始就存在臭虫,时间愈往后,将会付出愈昂贵的代价。将会付出愈昂贵的代价。一个程序设计中所产生的臭虫,可能一个程序设计中所产生的臭虫,可能在产品卖出去之后,还需要付出不少在产品卖出去之后,还需要付出不少费用回厂检修。费用回厂检修。如果一开始设计规范就出现错误,而如果一开始设计规范就出现错误,而且不能及时发现的话,整个产品或是且不能及时发现的话,整个产品或是项目就必须从头开始。项目就必须从头开始。早期发现需求或是规范里的臭虫,可早期发现需求或是规范里的臭虫,可以避免提供顾客有瑕疵的产品、降低以避免提供顾客有瑕疵
38、的产品、降低设计成本以及缩短设计时间。设计成本以及缩短设计时间。存在越久的臭虫,修正成本越高存在越久的臭虫,修正成本越高 你现在浏览的是第四十六页,共55页需求确认需求确认雏形产品(雏形产品(Prototypes):样机、测试版:样机、测试版一个雏形产品可以帮助产品用户在功能面与非功能面给予一个雏形产品可以帮助产品用户在功能面与非功能面给予意见。意见。已有的系统已有的系统以前已经做好的系统也可以用来帮助产品用户了解他们的以前已经做好的系统也可以用来帮助产品用户了解他们的需求,特别是用户不喜欢之前做好的系统。想要得到一些需求,特别是用户不喜欢之前做好的系统。想要得到一些新的产品,可以从以前的经验
39、里进行需求确认。新的产品,可以从以前的经验里进行需求确认。有时需要在已有系统的基础上构建出一个新的雏形产品来有时需要在已有系统的基础上构建出一个新的雏形产品来进行需求确认。进行需求确认。你现在浏览的是第四十七页,共55页规范确认规范确认雏形产品(雏形产品(Prototypes):样机、测试版:样机、测试版案例情景(案例情景(Usage Scenarios)正规化技术(正规化技术(Formal Techniques)你现在浏览的是第四十八页,共55页3-7-3 设计复审(设计复审(Design Review)设计复审可以在设计过程中以最简单而且最经济的方式找出臭设计复审可以在设计过程中以最简单而
40、且最经济的方式找出臭虫所在。虫所在。设计复审通常是设计成员开一个会,重新审视系统设计的每一设计复审通常是设计成员开一个会,重新审视系统设计的每一个组件。个组件。有些臭虫可以在准备开会前就被找出来。有些臭虫可以在准备开会前就被找出来。因为这样的方式会强迫设计者更仔细的思考所有的细节,否则开会因为这样的方式会强迫设计者更仔细的思考所有的细节,否则开会的时候就会被钉在台上下不来。的时候就会被钉在台上下不来。有些臭虫会在会议进行的时候被找出来。有些臭虫会在会议进行的时候被找出来。因为一个人的能力是有限的,通过集思广益的方式可以找出设计者因为一个人的能力是有限的,通过集思广益的方式可以找出设计者的设计缺
41、陷。的设计缺陷。越早找出臭虫,不让有问题的设计进入实现阶段,越能节省成越早找出臭虫,不让有问题的设计进入实现阶段,越能节省成本以及工作时间。本以及工作时间。你现在浏览的是第四十九页,共55页设计复审设计复审一般可以自行建立一个能够清楚表达设计复审的重点的一般可以自行建立一个能够清楚表达设计复审的重点的设计复设计复审格式审格式,帮助在会议中审视系统里特定的组件。,帮助在会议中审视系统里特定的组件。一个设计复审团队的成员一个设计复审团队的成员设计者(设计者(Designer):设计者自己最清楚所设计的组件,在):设计者自己最清楚所设计的组件,在审视的过程中,报告与解释为什么需要这样的设计规格。审视
42、的过程中,报告与解释为什么需要这样的设计规格。包括需求、接口描述以及与系统的关系。包括需求、接口描述以及与系统的关系。复审主席(复审主席(Review Leader):协调会议之前的准备工作、会):协调会议之前的准备工作、会议进行以及会后的追踪工作,确保会议顺利进行。议进行以及会后的追踪工作,确保会议顺利进行。复审记录(复审记录(Review Scribe):记录所有的讨论,让设计者知):记录所有的讨论,让设计者知道究竟有哪些问题需要修正。道究竟有哪些问题需要修正。复审员(复审员(Review Audience):负责研读各项组件。):负责研读各项组件。你现在浏览的是第五十页,共55页设计复审
43、设计复审设计复审的工作是从会议准备前开始的,设计复审的工作是从会议准备前开始的,设计团队设计团队应该要准备应该要准备许多文件,包括程序代码列表、流程图、规格等来描述设计组许多文件,包括程序代码列表、流程图、规格等来描述设计组件。这些文件最好在开会前就递交给其他会议成员,让他们有件。这些文件最好在开会前就递交给其他会议成员,让他们有足够的时间进行了解。足够的时间进行了解。复审员审视每一个设计并且发现可能的问题:复审员审视每一个设计并且发现可能的问题:组件的设计规格是否和整体系统规范之间互有冲突,或是组件的设计规格是否和整体系统规范之间互有冲突,或是设计者误解了某些事情设计者误解了某些事情?接口规
44、范是否正确接口规范是否正确?组件的内部架构是否正确组件的内部架构是否正确?是否有编写错误的状况发生是否有编写错误的状况发生?测试策略是否合理测试策略是否合理?你现在浏览的是第五十一页,共55页设计复审设计复审设计者必须在会后进行修正,其他成员也必须注意设计者是否设计者必须在会后进行修正,其他成员也必须注意设计者是否按照会议记录进行修正,特别是主席必须要进行追踪的工作。按照会议记录进行修正,特别是主席必须要进行追踪的工作。如果发现错误因素是来自于主要组件的话,在重新设计之后,如果发现错误因素是来自于主要组件的话,在重新设计之后,可能会和其他组件有新的接口,这时候就必须要可能会和其他组件有新的接口
45、,这时候就必须要重新召开复审重新召开复审会议会议。你现在浏览的是第五十二页,共55页3-7-4 衡量驱动质量保证衡量驱动质量保证衡量驱动质量保证(衡量驱动质量保证(Measurement-Driven Quality Assurance)软件质量评估(软件质量评估(Software Quality Evaluation,SQE)持续追踪顾客认定的缺陷,并且也追踪内部数据复审时发持续追踪顾客认定的缺陷,并且也追踪内部数据复审时发现的臭虫,预测这些臭虫的数量来推测相似的产品可能出现的臭虫,预测这些臭虫的数量来推测相似的产品可能出现的问题,同时也分析有哪些测试可以用在这些产品上。现的问题,同时也分析
46、有哪些测试可以用在这些产品上。你现在浏览的是第五十三页,共55页3-8 总结总结讨论了系统设计的过程,并且针对嵌入系统讨论了系统设计的过程,并且针对嵌入系统指出指出设计过程的困难与挑战设计过程的困难与挑战。为了使设计过程更为顺利,采用方法论为了使设计过程更为顺利,采用方法论的方式提升设计过程的质量,从需求分的方式提升设计过程的质量,从需求分析、规格分析、架构设计,到软件与硬析、规格分析、架构设计,到软件与硬件的实现、系统集成,以及如何进行质件的实现、系统集成,以及如何进行质量保证,都是整个方法论的重点。量保证,都是整个方法论的重点。你现在浏览的是第五十四页,共55页习题习题你现在浏览的是第五十五页,共55页