软件工程.ppt

上传人:p** 文档编号:165972 上传时间:2023-03-10 格式:PPT 页数:82 大小:2.35MB
下载 相关 举报
软件工程.ppt_第1页
第1页 / 共82页
软件工程.ppt_第2页
第2页 / 共82页
软件工程.ppt_第3页
第3页 / 共82页
软件工程.ppt_第4页
第4页 / 共82页
软件工程.ppt_第5页
第5页 / 共82页
软件工程.ppt_第6页
第6页 / 共82页
软件工程.ppt_第7页
第7页 / 共82页
软件工程.ppt_第8页
第8页 / 共82页
软件工程.ppt_第9页
第9页 / 共82页
软件工程.ppt_第10页
第10页 / 共82页
亲,该文档总共82页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《软件工程.ppt》由会员分享,可在线阅读,更多相关《软件工程.ppt(82页珍藏版)》请在第壹文秘上搜索。

1、2023-3-101第十章第十章 面向对象的设计方法面向对象的设计方法 o设计用例实现方案设计用例实现方案o设计技术支撑方案设计技术支撑方案o设计用户界面设计用户界面o精化设计模型精化设计模型2023-3-102面向对象的设计方法面向对象的设计方法o本章采用基于本章采用基于UML的面向对象设计方法将分析模的面向对象设计方法将分析模型转换为设计模型。型转换为设计模型。o面向对象的分析模型主要由顶层架构图、用例与面向对象的分析模型主要由顶层架构图、用例与用例图、领域概念模型构成。用例图、领域概念模型构成。o设计模型则包含以包图表示的软件体系结构图,设计模型则包含以包图表示的软件体系结构图,以交互图

2、表示的用例实现图,完整、精确的类图,以交互图表示的用例实现图,完整、精确的类图,以及针对复杂对象的状态图、用以描述流程化处以及针对复杂对象的状态图、用以描述流程化处理过程的活动图等。理过程的活动图等。第十章第十章 面向对象的设计方法面向对象的设计方法2023-3-103面向对象的设计方法面向对象的设计方法处理转换过程的任务处理转换过程的任务(1) 针对分析模型用例,设计用针对分析模型用例,设计用UML交互图表示的实交互图表示的实现方案。现方案。(2) 设计技术支撑设施。在大型软件项目中,往往需设计技术支撑设施。在大型软件项目中,往往需要一些技术支撑设施来帮助业务需求层面的类或要一些技术支撑设施

3、来帮助业务需求层面的类或子系统完成其功能。这些设施本身并非业务需求子系统完成其功能。这些设施本身并非业务需求的一部分,但却为多种业务需求的实现提供公共的一部分,但却为多种业务需求的实现提供公共服务,例如,数据的持久存储服务、安全控制服服务,例如,数据的持久存储服务、安全控制服务、远程访问服务等。在面向对象设计中,需要务、远程访问服务等。在面向对象设计中,需要研究这些技术支撑设施的实现方式以及它们与业研究这些技术支撑设施的实现方式以及它们与业务需求层面的类及子系统之间的关系。务需求层面的类及子系统之间的关系。第十章第十章 面向对象的设计方法面向对象的设计方法2023-3-104面向对象的设计方法

4、面向对象的设计方法(3) 设计用户界面。设计用户界面。(4) 针对分析模型中的领域概念模型,以及第针对分析模型中的领域概念模型,以及第(2)、第、第(3)两个步骤引进的新类,完整、精确地确定每个两个步骤引进的新类,完整、精确地确定每个类的属性、操作,完整地标示类之间的关系。类的属性、操作,完整地标示类之间的关系。 为了实现软件重用,为了实现强内聚、松耦合等为了实现软件重用,为了实现强内聚、松耦合等软件设计原则,还可以对前面形成的类图进行各软件设计原则,还可以对前面形成的类图进行各种微调,最终形成足以构成面向对象程序设计的种微调,最终形成足以构成面向对象程序设计的基础和依据的详尽类图。基础和依据

5、的详尽类图。 第十章第十章 面向对象的设计方法面向对象的设计方法2023-3-105面向对象的软件设计过程面向对象的软件设计过程第十章第十章 面向对象的设计方法面向对象的设计方法2023-3-106 10.1 设计用例实现方案设计用例实现方案本节介绍本节介绍UML交互图的语言机制和用例实现方案的交互图的语言机制和用例实现方案的设计方法。设计方法。oUML的交互图包括顺序图和协作图,适于用例实的交互图包括顺序图和协作图,适于用例实现方案的表示。现方案的表示。o用例实现方案的设计方法有三个步骤:用例实现方案的设计方法有三个步骤: (1) 提取边界类、实体类和控制类;提取边界类、实体类和控制类; (

6、2) 构造交互图;构造交互图; (3) 根据交互图精化类图。根据交互图精化类图。第十章第十章 面向对象的设计方法面向对象的设计方法2023-3-10710.1.1 顺序图顺序图10.1设计用例实现方案设计用例实现方案2023-3-108UML四种类型四种类型的的消息消息(1) 简单消息简单消息(Simple Message) 以一种简单、抽象的函数表示对象之间的信息传以一种简单、抽象的函数表示对象之间的信息传递,不考虑通信过程的内部细节。简单消息在递,不考虑通信过程的内部细节。简单消息在UML顺序图中用普通的有向箭头表示。顺序图中用普通的有向箭头表示。(2) 同步消息同步消息(Synchron

7、ous Message) 消息源发出消息后必须等待消息处理过程完毕并返消息源发出消息后必须等待消息处理过程完毕并返回处理结果后,消息源才可继续执行后续操作。回处理结果后,消息源才可继续执行后续操作。前面所述的自调用消息应该是同步的。同步消息前面所述的自调用消息应该是同步的。同步消息的表示图元与简单消息相同,这表明的表示图元与简单消息相同,这表明UML在缺省在缺省情形下认为简单消息即为同步消息。情形下认为简单消息即为同步消息。10.1设计用例实现方案设计用例实现方案2023-3-109UML四种类型的消息四种类型的消息(3) 异步消息异步消息(Asynchronous Message) 表示,消

8、息源发出消息表示,消息源发出消息后不必等待消息处理过程的返回,即可继续执行自己的后后不必等待消息处理过程的返回,即可继续执行自己的后续操作。异步消息主要用于描述实时系统中的并发行为。续操作。异步消息主要用于描述实时系统中的并发行为。异步消息在异步消息在UML顺序图中用一种特别的单向箭头表示,见顺序图中用一种特别的单向箭头表示,见图图10.2中的中的“msg1”。(4) 返回消息返回消息(Return message) 表示前面发送的消息的处理过程表示前面发送的消息的处理过程完结之后的返回结果。返回消息应该是同步的。在许多情完结之后的返回结果。返回消息应该是同步的。在许多情况下,可以隐藏返回消息

9、,但也可显式标出返回消息以示况下,可以隐藏返回消息,但也可显式标出返回消息以示强调。返回消息用虚线有向箭头表示,见图强调。返回消息用虚线有向箭头表示,见图10.2中的中的“msg6”。一个对象可以通过发送标准消息一个对象可以通过发送标准消息“new”来创建另一个对象。当来创建另一个对象。当一个对象被删除或自我删除时,该对象的生命线上的相应一个对象被删除或自我删除时,该对象的生命线上的相应时间点应该用叉号时间点应该用叉号(对象生命线终结符对象生命线终结符)标识。标识。10.1设计用例实现方案设计用例实现方案2023-3-101010.1.2 协作图协作图协作图用于描述相互合作的对象间的交互关系和

10、链接协作图用于描述相互合作的对象间的交互关系和链接关系。虽然顺序图和协作图都用来描述对象间的关系。虽然顺序图和协作图都用来描述对象间的交互关系,但它们的侧重点不一样。顺序图强调交互关系,但它们的侧重点不一样。顺序图强调消息交互的时间序,协作图则强调交互对象间的消息交互的时间序,协作图则强调交互对象间的静态链接关系。静态链接关系。从外观看,协作图并不采用单独的维度来表示时间推从外观看,协作图并不采用单独的维度来表示时间推移,因此,协作图中的对象可以在二维平面中自移,因此,协作图中的对象可以在二维平面中自由占位。对象之间的链接用于表示消息传递通道,由占位。对象之间的链接用于表示消息传递通道,消息标

11、示于链接之上,消息的箭头指明消息的传消息标示于链接之上,消息的箭头指明消息的传递方向。在协作图中,消息的描述内容包含名称、递方向。在协作图中,消息的描述内容包含名称、参数、返回值以及序列号,返回值和序列号是可参数、返回值以及序列号,返回值和序列号是可选的。选的。10.1设计用例实现方案设计用例实现方案2023-3-1011协作图协作图 虽然协作图不强调消息传递的时间序,但借助于虽然协作图不强调消息传递的时间序,但借助于序列号可以表达时间序,序列号较大的消息发生序列号可以表达时间序,序列号较大的消息发生较晚。较晚。 消息序列号可以采用线性编号,但采用适当的多消息序列号可以采用线性编号,但采用适当

12、的多级编号会使消息之间的结构关系更清晰。级编号会使消息之间的结构关系更清晰。 如果一个对象在消息的交互过程中被创建,则可如果一个对象在消息的交互过程中被创建,则可在对象名称之后标以在对象名称之后标以new。类似地类似地,如果一个对象如果一个对象在交互期间被删除,则可在对象名称之后标以在交互期间被删除,则可在对象名称之后标以destroy。10.1设计用例实现方案设计用例实现方案2023-3-1012 典型的协作图典型的协作图例例 o“1.1 msg2”表明表明msg2是是“对象对象1”为为了处理了处理“1. msg1”而而发送的第一条消息发送的第一条消息o“1.2 msg4”是是“对对象象1”

13、为了处理为了处理“1. msg1”而发送的第二而发送的第二条消息条消息o“1.1.1 msg3”表明表明msg3是是“对象对象2”为为了处理了处理“1.1 msg2”而发送的第一条消息,而发送的第一条消息,依此类推。依此类推。10.1设计用例实现方案设计用例实现方案2023-3-1013协作图的两种等价表示协作图的两种等价表示10.1设计用例实现方案设计用例实现方案2023-3-101410.1.3 提取边界类、实体类和控制类提取边界类、实体类和控制类边界类描述目标软件系统与外部环境的交互,主要任务:边界类描述目标软件系统与外部环境的交互,主要任务:(1) 界面控制:包括输入数据的格式及内容转

14、换,输出结果的界面控制:包括输入数据的格式及内容转换,输出结果的呈现,软件运行过程中界面的变化与切换等。呈现,软件运行过程中界面的变化与切换等。(2) 外部接口:实现目标软件系统与外部系统或外部设备之间外部接口:实现目标软件系统与外部系统或外部设备之间的信息交流和互操作。主要关注跨越目标软件系统边界的的信息交流和互操作。主要关注跨越目标软件系统边界的通信协议。通信协议。(3) 环境隔离:将目标软件系统与操作系统、数据库管理系统、环境隔离:将目标软件系统与操作系统、数据库管理系统、应用服务器中间件等环境软件进行交互的功能与特性封装应用服务器中间件等环境软件进行交互的功能与特性封装于边界类之中,使

15、目标软件系统的其余部分尽可能地独立于边界类之中,使目标软件系统的其余部分尽可能地独立于环境软件。于环境软件。在在UML类图中,边界类往往附加类图中,边界类往往附加UML构造型构造型boundary作作为特别标识。为特别标识。10.1设计用例实现方案设计用例实现方案2023-3-1015提取边界类、实体类和控制类提取边界类、实体类和控制类例如,例如,“家庭保安系统家庭保安系统”中的边界类有中的边界类有“输入键盘接输入键盘接口类口类”、“传感器接口类传感器接口类”、“警报器接口类警报器接口类”、“报警电话接口类报警电话接口类”和和“显示面板接口类显示面板接口类”。实体类表示目标软件系统中具有持久意

16、义的信息项及实体类表示目标软件系统中具有持久意义的信息项及其操作。实体类的操作具有其操作。实体类的操作具有“内向收敛内向收敛”特征,特征,它们仅向目标软件系统的其余部分提供读、写信它们仅向目标软件系统的其余部分提供读、写信息项内容的必要的操作接口,并不涉及业务逻辑息项内容的必要的操作接口,并不涉及业务逻辑处理。实体类的处理。实体类的UML构造型为构造型为entity。例如,例如,“家庭保安系统家庭保安系统”中的中的“异常事件异常事件”为实体类。为实体类。10.1设计用例实现方案设计用例实现方案2023-3-1016提取边界类、实体类和控制类提取边界类、实体类和控制类控制类作为完成用例任务的责任承担者,协调、控制控制类作为完成用例任务的责任承担者,协调、控制其他类共同完成用例规定的功能或行为。对于比其他类共同完成用例规定的功能或行为。对于比较复杂的用例,控制类通常并不处理具体的任务较复杂的用例,控制类通常并不处理具体的任务细节,但是它应知道如何分解任务,如何将子任细节,但是它应知道如何分解任务,如何将子任务分派给适当的辅助类,如何在辅助类之间进行务分派给适当的辅助类,如何在辅助类之间进行

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机 > 软件测试

copyright@ 2008-2023 1wenmi网站版权所有

经营许可证编号:宁ICP备2022001189号-1

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。第壹文秘仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知第壹文秘网,我们立即给予删除!