第7章软件设计与实现.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第7章 软件设计与实现 面向对象设计 实现中有关问题 开源开发 嵌入式系统的设计与实现 软件设计和实现是软件工程过程中的一个阶段。设计和实现活动是交叉进行的。 设计是创造性活动,基于客户的需求识别出系统组件及其关系,实现将设计转变为程序。 设计的细节层次取决于待开发系统的类型以及是否使用计划驱动或敏捷开发方法。 本章主要介绍如何使用面向对象方法进行设计以及实现中的有关重要问题。 嵌入式软件不一般的特性也是软件设计涉及到的一个重要方面。 7.1 面向对象设计 面向对象设计将面向对象分析创建的分析模型变换为设计模型,它将作为软件实现的蓝图。但由于面向对象分析与设计活动是一个迭代与演化的过程,概念与表示方法的一致性使得分析与设计阶段平滑过渡。 传统的设计方法将问题域分解成一系列功能模块来完成,这些模块形成过程式软件的基本结构。面向对象方法把问题域分解为一系列相互作用的对象,在此基础上构造出基于对象及其交互的软件系统结构。 本教材作者Sommerville认为面向对象设计的一般过程应有以下几个阶段: (1)了解并定义系统上下文和与系统的外部交互 (2)设计系统体系结构 (3)识别出系统中的主要对象 (4)开发设计模型 (5)定义对象接口 上述活动交替进行,彼此影响,不断精化。 以下通过一个例子介绍面向对象的设计过程。 7.1.1 系统上下文与交互 例:气象站系统:气象站部署在远程的区域,每个气象站记录当地的气象信息,并通过卫星将这些信息定期传输给气象信息系统。 软件设计首先了解待开发系统与外部环境之间的关系,帮助确定系统提供哪些功能以便有效地与外部环境进行通信。 有两个模型可以表达系统与环境之间的关系: ? 系统上下文模型,是结构模型,描述系统环境中的实体及其关联。上下文模型可用关联(ER)图来表示,方框表示系统或子系统。也可用UML的包图来表示。下图说明了每个气象站所在环境中都包含一个气象信息系统,一个机载卫星系统和一个控制系统。 ? 交互模型,描述系统与外部角色有哪些交互。UML的用例模型是使用抽象方法表示系统与外部角色之间的交互。 7.1.2 体系结构设计 系统与环境间交互的定义可以作为系统体系结构设计的基础,还要结合业务知识和设计的一般知识进行体系结构的设计。 首先识别出系统的主要组件及它们之间的关系,然后运用一种体系结构模式来组织这些组件。 气象站系统运用了广播模型。 7.1.3 对象识别 面向对象分析识别问题域的对象,面向对象设计是识别求解域的对象。求解域的对象一部分来自于问题域,一部分来自于与设计相关的系统描述。 如何识别对象?方法同面向对象分析. 根据以上思想识别出的对象见下图。 气象站类提供与环境之间的接口,它的操作反映了用例模型中给出的交互。 气象数据类负责处理报告气象数据指令,它的相关操作包括对数据的收集和汇总,源数据是不同仪器采集到的。 其他三个类与系统中的仪器直接对应,操作就是对这些硬件的控制。这些对象以某些特定频率自动采集数据并在本地存储,在得到请求时将数据传输给“气象数据”对象。 7.1.4 开发设计模型 设计模型包含了对象类以及它们之间不同类型的关系,是系统需求和系统实现之间的桥梁。 设计过程中的一个重要活动是决定需要什么样的设计模型和设计模型的细节层次,依赖所开发的系统类型。 不一定为系统建立所有的模型. 一般要进行两类模型的设计: ? 静态模型 描述系统的静态结构(如气象站系统的类图) ? 动态模型 描述系统的动态结构(交互、状态变化)。 本教材作者认为有以下3个模型有助于为用例和体系结构模型增加细节: ? 子系统模型:给出系统的逻辑分组,每个分组构成一个子系统,可使用包图来表示。子系统模型说明如何能将设计组织成逻辑上相关的对象群。 ? 时序模型:说明对象交互的时序,使用时序图或协作图来表示。 ? 状态机模型:说明某个对象如何响应事件来改变它们的状态,使用状态图来表示。 下图给出了气象站系统包图以及关系。包图加上类图描述了系统的逻辑分组。 时序图用来对一组对象的交互行为建模,状态机模型表示某个对象对不同事件的响应行为。 下图是气象站对象的状态图,给出了该对象如何响应各种不同服务的请求。 7.1.5 接口描述 接口提供了一种方法,把组件基于操作的功能说明与具体实现区分开来,使

文档评论(0)

xxj1658888 + 关注
实名认证
文档贡献者

教师资格证持证人

该用户很懒,什么也没介绍

领域认证该用户于2024年04月12日上传了教师资格证

1亿VIP精品文档

相关文档