- 1、本文档共59页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2 GIS软件工程--结构建模与分析 2.1 概述 结构建模关注软件系统中对象、类、接口、包或者子系统之间的关系,是一个非常重要的过程,贯穿于整个软件开发的生命周期。包括最初描述从问题域中识别出来对象,到逐步细化,进而建立新的模型,使结构模型中包含足够详细的信息,到实现整个系统。 2.2 本章的重点 ?描述并应用面向对象的基本概念 ?使用标准的UML表示法描述类及其属性 ?使用类模型进行建模 ?进行领域分析以开发领域类模型 2 GIS软件工程--结构建模与分析 2.3 对象 2.3.1 对象的含义 对象就是实体,具有完善的特征和行为。一个对象通常有很多状态(state),但在某一时刻只能处于一种状态。状态用属性来进行描述,在不同的状态下,对象可能表现出不同的行为。有的对象若要完全描述其状态比较复杂,但使用对象对系统进行建模,通常只关心对象的一部分状态。 对象的行为与对象的作用和反作用有关,对象的行为又被称为功能或者方法。行为由对象可执行的一组操作确定。 2.3.2 对象模型 ?物理对象和概念对象 2 GIS软件工程--结构建模与分析 可以广义地将对象划分为物理对象(Physical Object)和概念对象(Conceptual Object)。物理对象是有形的可接触的对象,如人、书籍、计算机、建筑物等。概念对象是无形的,比如银行账户和日程表等。在软件开发中,现实中的对象被自然映射为软件系统中的对象。 人们很容易混淆物理对象和概念对象,部分概念对象可能只在某个小的团队内部甚至是一组领域专家内部得到很好理解。对象设计人员需要与领域专家进行交谈,以获得必要的领域知识,以便在软件设计时可以使用在某个领域内工作人员熟知的对象、概念和术语。 2 GIS软件工程--结构建模与分析 ?领域对象和实现对象 从现实世界中识别出来的对象是领域对象(Domain Object),将所有与现实世界实体无关的对象统称为实现对象(Implementation)。例如各类井下矿工、巷道、无线定位基站和电子标签都是领域对象,井下人员位置的实时解算就是实现对象。 领域对象在整个开发生命周期内是稳定的,领域对象的规约不可能有大的改动,它们构成了软件系统的框架。实现对象则是伴随需求的变化而变化,在满足现实约束方面有更大的灵活性。 ?主动对象与被动对象 一个对象可以是主动对象(Active),也可以是被动对象(Passive)。 主动对象是可以改变自身状态的对象,一般使用进程或线程来实现主动对象,又称其为“有生命的对象”。被动对象其状态不会发生改变,除非它接收到消息。在实际软件开发中,绝大多数对象都是被动对象,一般自动假设所有对象均为被动对象。 2 GIS软件工程--结构建模与分析 2.4 类和实例 类(Class)是一组相似对象的通用定义,是对现实世界实体的抽象。对系统而言,要捕获并规定类的主要特性和行为,并隐藏那些无关的信息。类还确定了它的实例(Instance,对象)的结构和能力,因此可以将类理解为一类结构等同对象的模板或蓝图。对象是类的实例,类是模板,实例是模板塑造的对象。 在进行结构建模与分析时,理解类和实例之间的差别非常重要。类有方法和属性,而对象实例具有行为和状态。 2 GIS软件工程--结构建模与分析 上面的银行账户类规定了银行账户对象将name和balance作为私有属性(用符号-表示),credit和debit为公共操作(由符号+表示)。上例中两个对象的状态不同,通过调用公共操作,可以改变实例对象的状态。 1. 属性 属性(Property)是类的性质。属性有时又用性质、特征或数据成员表示。从人类理解的角度看,性质是描述对象的特征;从技术角度看,属性是对象保存自身状态信息的数据项。属性有名称、类型和具体取值。 2.操作 操作(Operation)是可以访问对象数据的函数或过程。操作由名称和参数两部分组成。操作对应于对象提供的某项服务(Service)。操作结合构成了对象的接口,为了调用某个对象提供的操作,其它对象只需要知道该对象的接口即可。 操作有时也被称为方法或成员函数。对程序员而言,操作就是函数或过程,返回值(Return Value)就是操作在结束时“带回来”的结果。 2 GIS软件工程--结构建模与分析 在程序设计语言中,类似于有参数和返回值的函数,例如在ATM银行系统中,储蓄账户类可以有以下操作: ?取款(withDraw) ?存款(deposit) ?查询余额(getBalance) 3.封装—消息隐藏 所谓封装(Encapsulati
您可能关注的文档
- 基于PICMG 2.1624端口千兆以太网交换模块.pdf
- 第8节 软件维护.ppt
- 第八章 测试练习题目.doc
- 会计信息化实务-供应链操作题介绍.doc
- 第四章 WLTP 全球法规发展动态 20120329 -c.pdf
- 多彩物质世界导学案.doc
- J2EEWeb开发技术(第3讲 Java面向对象编程)2011年1月.pdf
- 信息系统测试辅导及练习答案.doc
- 纳米二氧化硅改性LDPE膜对贡柑贮藏品质影响_宋慕波.pdf
- 大学物理(上)2008习题解教师用1_附件.pdf
- 初中生智能手机使用与家庭教育方式的关联研究教学研究课题报告.docx
- 基于自然语言处理的人工智能技术在中学生地理学习反思中的应用教学研究课题报告.docx
- 基于人工智能的小学阶段学生个性化学习困难诊断与辅导策略研究教学研究课题报告.docx
- 融合情感识别技术的初中历史智能学习环境情感交互设计研究教学研究课题报告.docx
- 6 农产品电商物流配送过程中的物流配送成本分析与控制教学研究课题报告.docx
- 金融行业金融科技风险防范与监管框架构建研究教学研究课题报告.docx
- 初中历史教师教学画像构建及教学反思工具应用探索教学研究课题报告.docx
- 环保教育在小学生健康教育中的应用与成效教学研究课题报告.docx
- 基于翻转课堂的初中数学逻辑思维能力培养的实证研究教学研究课题报告.docx
- 《数据仓库在环境监测与保护决策支持系统中的实施》教学研究课题报告.docx
文档评论(0)