第07章UML建模-3课件.pptVIP

  • 2
  • 0
  • 约5.61千字
  • 约 81页
  • 2017-08-25 发布于广东
  • 举报
徐 天 宇 7.1.3系统设计及实现 面向对象的分析是确定了某个特定问题域中的对象,以及各种各样的关系。 面向对象的设计是将分析阶段获得的模型变成抽象的系统实现方案的过程。 7.1.3系统设计及实现 在设计阶段对分析模型进行扩展并将模型进一步细化,同时还要考虑技术细节和各种限制条件。 设计的目的是开发出一个基于面向对象的可行的系统逻辑解决方案,以便编程人员能够很方便地将其转变成为程序代码。 系统的设计可以分为两个阶段: 系统总体设计阶段: 主要包括如何把整个系统划分为多个包(子系统)的策略,以及描述多个包之间的依赖性和通信机制等。 详细设计阶段: 主要是决定在实现过程中使用的类和关系的全部定义,以及用于实现操作的各种方法的算法和接口。 1.系统总体设计 对于一个复杂的软件系统,常需要进行体系结构的设计,系统总体设计就是这样一种高层的结构设计。 ⑴定义并且设计子系统 在进行系统总体设计时,通常的做法是将一个软件系统组织成若干个子系统,子系统内还可以继续划分子系统或包。 一个子系统是包含多个类、关系、操作、事件和约束的一个包。 子系统与其他子系统之间还应该确定关系。 ①划分各个子系统 这一步的主要任务是划分各个子系统、说明子系统之间的关系。具体如下: (1)划分各个子系统。 划分子系统的方式有: 可以按照功能划分 可以按照系统的物理布局划分 可以按照软件层次划分子系统 按照功能划分 三层体系结构 ②定义各子系统之间的关系 当划分了各子系统后,还要确定子系统之间的关系, 子系统之间的关系可以是“请求一服务”关系,也可以是平等的关系。 ②定义各子系统之间的关系 如果子系统的内容相互有联系,说明子系统之间的有依赖关系 在设计时,相关的子系统之间应该定义接口,依赖关系应该指向接口, ②定义各子系统之间的关系 如果两个子系统之间的关系过于密切,也就是说一个子系统的变化会导致另一个子系统的变化,这种子系统的理解和维护会比较困难。 解决子系统之间关系过于密切的办法: 重新划分子系统,将相互依赖的元素划归到同一个子系统之中。 ③定义子系统的接口 每个子系统提供的接口定义了一些对外部子系统提供的操作,体现了子系统的功能。 一个子系统可能与多个子系统发生依赖关系,依赖关系越多,接口就越复杂。 远程教育题库系统系统体系结构模型 ③定义子系统的接口 定义子系统接口,首先应命名子系统接口。 将类的构造型标记为Interface。 接着,描述拟建子系统的行为,即是定义操作集合。 子系统接口 子系统接口至少应当说明以下内容: 操作的名称。 操作使用的参数名称及类型。 操作的返回值含义及类型。 操作应该做什么(文字描述,包括关键的算法)。 “售书处理子系统包”的接口描述 ⑵划分包 根据实际情况,还可以划分更细的组织单元。 具体的作法是将模型元素分组放入特定的包中。 作为经验法则,每个包通常具有5—10 个类。 包内高内聚,包间低耦合 良好包结构的关键是包内高内聚,包间低耦合。 包应该包含一组紧密相关的类。 类通过继承最紧密相关,组合次之,然后是聚合,最后是依赖。 ②描述包之间的依赖关系 根据描述系统分析阶段获得的类图,可以获得分处于不同包的类之间关系,进而推断出相应包之间的依赖关系。 包之间的依赖关系 2.详细设计 系统详细设计阶段的主要任务是确保设计方案能够为后续实施活动提供详细明确的依据。 对类和类的相互关系进行详细的定义、以及如何用具体的算法和数据结构来表示和实现是此阶段的具体内容。 ⑴定义设计类 在设计阶段定义的类,称它们为设计类。 识别设计类可以从分析阶段定义的分析类入手,将它们初步定义为设计类。 从分析类到设计类 在设计阶段,要根据实现所采用的技术规范对系统分析类重新识别。 分析类+设计模式→设计类 设计模式的选择与应用 设计模型开发的第一步就是根据项目特点选择将要采用的设计模式。 设计模式的选择要考虑到该模式对应的语言和环境,以及模式的适用范围。 Model1和Model2 使用Java开发网站时,通常有两种设计模式,称为Model1和Model2。 Model1:通过一组JSP的结合制作出来的,是以JSP为中心的设计模式。 Model2:是采用MVC架构的设计模式。 Model1 Model1模式其实还可以再分为两种, 一种是完全使用JSP来开发, 另外一种则是使用JSP+JavaBean的设计, Model1-完全使用JSP开发系统 (1)完全使用JSP开发系统。 这种做法的优点是: l)开发时程缩短: 2)小幅度修改非常容易: Model1-完全使用JSP开发系统 但是该方式也有许多缺点,例如:

文档评论(0)

1亿VIP精品文档

相关文档