- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
学习引导 本章的目标是介绍运用UML进行面向对象软件设计,并了解系统实现时的问题。 主要内容: 理解一般的面向对象设计过程中最重要的活动; 理解用于记录面向对象设计的一些不同的模型; 知道设计模式的思想,以及如何将其用于设计知识和经验的复用; 了解实现软件时需要考虑的关键因素,包括软件复用和开源开发。 软件设计 软件设计和实现是软件工程过程中的一个阶段,在此阶段开发出可执行的软件系统。 对简单的系统来说,软件设计和实现就是软件过程的全部,其他的所有活动都融汇在这个过程中。 但是,对于大型的系统,软件设计和实现只是一系列软件工程过程(如需求工程、检验和有效性验证等)中的一个。 案例1:“野外气象站系统”面向对象的设计Wilderness weather station 野外气象站系统是一个数据收集系统,收集偏远地区的天气条件数据的实时系统。 野外气象站隶属于气象制图系统中的一个子系统。该系统自动地收集气象数据来生成气象图。 以“野外气象站系统”这个案例的设计部分来讲解面向对象的设计活动。 气象站子系统设计过程 气象制图系统是一个复杂的系统。以其中的气象站子系统的面向对象设计过程为例进行面向对象设计过程的说明。面向对象设计过程阶段如下: 1.了解并定义上下文和系统的外部交互 2.设计系统体系结构 3.识别出系统中的主要对象 4.开发设计模型 5.描述对象接口 step1 系统上下文建模型 目的:了解待开发软件和外部环境之间存在的关系,决定系统所需要具备的功能;决定系统的构成,以便它能有效地与环境进行通信。 采用从外部的观点描述应用——从系统的用户和操作员的观点进行描述。这样描述,就是在定义系统的上下文(Context)。 系统上下文的描述方法 使用关联模型表示系统的静态体系结构 用关联来表示实体之间的关系,只需用简单的方框图,就能描述系统总的体系结构。 用例模型实现对系统中的交互建模 使用UML中的用例模型可以实现对系统和环境的交互建模 用用例模型建立系统和环境间的交互模型。 气象站的用例模型给出了通过气象站与外部实体间的交互来开启和关闭、上报采集的数据、仪器测试和校准。 气象站系统的用例模型 用例图——能用简单的自然语言来描述的交互过程,这有助于识别系统中的对象和操作。 只有结合用例描述的用例图才能表达丰富的含义。见下页。 从这个报告用例中可以看出: 需要一个代表采集天气数据的仪器对象 需要一个代表对天气数据总结的对象 还需要两个操作——请求气象数据的操作和发送气象数据的操作。 step2 体系结构的设计 设计体系结构的前提条件 完成软件系统中的交互设计 完成系统环境的定义 具备有关体系结构设计的一般性知识和具体的领域知识。 如何考虑系统的非功能性需求? 用例与基于用例的模型主要注重的是功能性设计——在大多数面向对象方法中,都通过用例来获取系统的所需功能性需求。 用例设计之后是体系结构设计。 体系结构是确保满足非功能需求(如可维护性、效率和可靠性)的主要工具。 一个良好的设计,应该同时采用用例和其他获取功能性需求的方法,并通过使用构架产生一个符合非功能需求的设计。 气象站系统的高层体系结构非功能需求考虑 子系统之间的可靠的互联和通信 实时操作的支持 气象站系统的高层体系结构——分布式体系结构 数据采集系统体系结构 step3 对象类的识别 体系结构的设计过程,也是识别对象类的过程。 识别气象站系统中的对象类 一个气象站系统是一套用来控制一些设备的软件包,通过仪器收集气象数据,并进行数据处理、结果传输给气象系统以便进一步处理。 该仪器包括空中和地表温度计( thermometers ),风速计( anemometer ),风向标( wind vane ),气压计( barometer)。 数据定期收集。当发出一个命令传输气象数据,气象站的数据采集过程和总结。综述数据传输到计算机时,收到请求映射。 气象站系统中的对象类 step4 设计模型 设计模型是系统需求和系统实现之间的桥梁 描述系统中包含的对象或对象类,以及它们之间的不同类型关系。 对设计模型进行抽象,删去模型与系统需求之间的不必要的细节关联 消除相互冲突的需求——在不同细节层次开发不同的模型 。 为程序员提供充分的细节。 系统描述者、设计者和程序员之间存在直接或间接的联系。 设计的一个重要步骤是要决定需要什么样的设计模型和设计模型的细节层次——依赖所开发的系统类型。 顺序数据处理系统和嵌入式实时系统需要使用不同的设计模型。 减少模型使用的数量可降低设计的成本和完成设计过程所需要的时间。 两类设计模型 1.静态模型——通过系统对象类及其之间的关系来描述系统的静态结构。 在这一阶段需要记录的重要关系有泛化关系、使用/被使
文档评论(0)