- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第10章 面向对象的设计方法 本章内容 先导案例 概述 10.1 面向对象设计——分析和程序设计的桥梁 10.2 设计类和设计类图 10.3 交互图——实现用例和定义方法 10.4 用顺序图设计 10.5 用协作图设计 10.6 更新设计类图 10.7 包图——将主要部分结构化 10.8 三层设计的实现问题 要点回顾 阅读章节要求 先导案例 NEW CAPlTAL BANK 概述 开发OO设计模型,程序员要用其为系统编码。 开发设计类图和交互图(顺序图和协作图)。 为域层、可视层和数据访问层开发设计类图。 将类关联到包图中,并说明其中的联系和依赖。 优秀的设计准则,以及应用这些准则的方法。 10.1 OO设计—分析和程序设计的桥梁 OO设计是一个建立一系列OO设计模型的过程,程序员利用这些模型对系统进行编码和测试。 在软件设计中,细节设计规范主要是由软件设计专家完成的,用户只是偶尔参与——主要是为了对设计进行纠正。 10.1 OO设计—分析和程序设计的桥梁 10.1.1 OO程序设计概述 10.1.2 OO设计过程和模型 10.1.1 OO程序设计概述 1. OO程序如何工作 2. 谁在控制 3. 模块的实例化 4. OO设计目标 5. 简化设计类例 1. OO程序如何工作 OO程序是由一系列协同完成某一任务的程序对象组成。 每个程序对象有程序逻辑和一些必要的属性,这些逻辑和属性封装在一个单元中。 对象之间通过互相传递消息来协调工作,它们共同工作来完成主程序的功能。 OO事件驱动程序流 程序包括输入窗口对象,用来输入学生ID及其他信息。 当学生输入ID后,窗口对象会发消息(消息2)给学生类,程序会产生一个新的学生对象(实例),同时也转到DB中取得学生信息并把这些信息组成一个对象(消息3)。 执行后新的学生对象给窗口对象返回一个消息并显示在屏幕上。 职员此时会输入个人信息的更改(消息4)。 2. 谁在控制 没有模块能进行控制。 有一个启动程序,但一旦程序开始执行,就没有哪个模块或对象来控制了。(与结构化程序不同,没有主控模块) 结构化程序←→主机-终端(指令) OO程序←→计算机网络(中心任务) 3. 模块的实例化 OO系统由一系列计算对象组成。每个对象都封装了它自身的数据和程序逻辑。 分析员通过一个类来定义程序逻辑的结构和数据字段。类定义描述一个执行对象的结构或模板。 只有当程序开始执行时,对象才能存在。该过程称为类模块的实例化,或基于类定义所提供的模板生成对象实例。 实例化:根据类定义所提供的模板创建对象。 4. OO设计目标 识别并确定所有对象,并生成每个用例,比如用户界面对象、问题域对象及DB访问对象。 用足够的细节说明每个类,使程序员能理解对象是如何协同工作以生成用例,并可为每一个类编写OO的代码。 例:学生注册系统,用程序语言实现部分类的定义。分别用Java和Visual Basic.NET实现类的定义。 Java VB 5. 简化设计类例 OO设计的主要部分是设计类图、交互图,还要设计有些类的状态图。 如:一个设计类说明帮助定义属性和方法。 通过代码可以帮助了解设计和编程实现之间的联系。 Student类的简化设计类 10.1.2 OO设计过程和模型 1. 设计过程 2. 输入的模型 3. 用例的实现 1. 设计过程-步骤 ⑴创建设计类图的基础版本,或初步模型:包含属性名称等基本信息,以便用来设计交互图。 ⑵开发交互图,即为每一个用例产生一个交互图:其决定哪些对象一起工作,及怎样协同工作。 (系统设计的核心)。 ⑶根据开发交互图时得到的信息,返回设计类图并开发方法名称(可视化和特征信息是在设计类图的迭代中被修改的)。 ⑷用包图将设计类图分割成相关的功能。 带有各自输入模型的设计模型 2. 输入的模型 交互图:用例图、用例描述、活动图、系统顺序图、设计类图 设计类图:域模型类图、交互图 包图:设计类图 3. 用例的实现 称设计模型的最终开发结果为用例的实现。 术语实现指的是对每个用例的详细系统过程进行说明,而不是实现用例,换言之,是制定了软件的蓝图。 OO的设计也是用例驱动的(设计是由一个用例接着一个用例完成的)。 用例的实现:对每个用例的详细系统过程的说明。 10.2 设计类和设计类图 10.2.0 设计类图与域模型类图 10.2.1 设计类图符号 10.2.2 设计类符号 10.2.3 一些基本的设计准则 10.2.4 开发初步设计类图 10.2.0 设计类图与域模型类图 设计类图和详细交互图均使用对方作为设计时的输入,二者的开发过程是平行的
文档评论(0)