文件名称:软件架构-卢浮宫博物馆人员疏散模型
文件大小:8.67MB
文件格式:PDF
更新时间:2024-06-29 08:17:08
软考
3。4.5 面向对象系统设计 面向对象的系统设计阶段对分析阶段给出的问题域模型,用面向对象方法设计出软 件基础架构(概要设计)和完整的类结构(详细设计),以实现业务功能。设计阶段主要 包括用例设计、类设计和子系统设计等。 1.用倒设计 用例设计的主要目的如下。 (1)利用交互改进用例实现。 (2)调整对设计类的操作需求。 (3)调整对于系统和(或)它们的接口的操作需求。 (4)调整对封装体的操作需求。 一个系统的行为可以用许多方法来说明,包括协作或者交互的方法。用例设计通常 使用交互(特别是序列图)来说明系统的行为。当系统或者子系统的行为主要通过同步 消息传递来说明时,序列图非常有用。由于消息序列通常没有严格的定义,因此,尤其 是在事件驱动系统中,异步消息传递更容易利用状态机和协作来进行说明。 2.类设计 类是设计工作的核心,系统的实际工作其实也是由类执行的。子系统、包、封装体 以及协作关系等其他设计元素只是说明了类的组合方式或协同操作方式。 类谩计的主要目的如下。 (1)确保类可为用例实现提供必需的行为。 (2)确保提供充足的信息来明确无误地实施类。 (3)处理和类有关的非功能性需求。 (4)包含用于类的设计机制。 3.子系统设计 子系统是一种模型元素,它具有包(可包含其他模型元素)和类(具有行为)的语 义。子系统的行为由它所包含的类或其他子系统提供。予系统实现一个或多个接口,这 些接口定义子系统可以执行的行为。子系统设计的主要目的如下。 (l)用所包含类的协作来定义在于系统接口中指定的行为。 (2)记录于系统的内部结构。 (3)定义子系统接口和包含类之间的实现关系。 (4)确定对其他子系统的依赖关系。 子系统的外部行为是通过它所实现的接口定义的。子系统实现了某个接口时,就意 味着它支持该接口定义的每一个操作。 3.5 软件架构 3.5.1 软件架构定义 在软件工程发展的初期,人们把软件设计的重点放在数据结构和算法的选择上。随 着软件系统规模越来越大、越来越复杂,整个系统的结构设计和规范说明显得越来越重 要,人们逐步认识到了软件架构的重要性。 软件总是有架构的,不存在没有架构的软件。将软件系统划分成多个模块,明确各 模块之间的相互作用,组合起来实现系统的全部特性,就是系统的架构。通常将一些经 过实践证明的、可重复使用的软件架构设计策略总结成架构模式,以便与他人交流、供 他人学习。软件架构借鉴了计算机架构和网络架构的许多思想和方法,近年来得到了极 大的发展。