- 1、本文档共47页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第7章 发现对象、建立对象类 7.1 对象、主动对象以及它们的类 7.2 表示法 7.3 研究问题域和用户需求 7.4 发现对象 7.5 对象分类,建立类图的对象层 7.6 电梯例子 分析和研究问题域及用户要求,认识其中的对象,从而确定系统中应该设立哪些对象类是OOA的核心工作。 7.1 对象、主动对象以及它们的类 本节主要介绍对象以及主动对象的相关概念。 对象 :对象是对问题域中某个实体的抽象,这种抽象反映了系统保存有关这个实体的信息或与它交互的能力。 类:类是对具有相同属性和行为的一个或多个对象的描述,通常在这种描述中也包括对怎样创建该类的新对象的说明。 在面向对象的编程语言中,对象和类是两种不同的语法成分。前者是后者的实例,后者是前者的定义模板。 主动对象 :主动对象是至少有一个服务不需要接收消息就能主动执行的对象。不需要接收消息就能主动执行的服务可称为主动服务,在编程时它将对应一个并发执行的程序单位。 关于在OOA中运用主动对象,有两点认识: (1)不提倡脱离系统开发的实际需要漫无目标地去发掘每个对象的主动行为。 (2)往往由设计决策决定是否应该把一个对象定义为主动对象,设计者可以为提高或减低系统的并发难度而人为的增加或减少主动对象的种类与数量。 7.2 表示法 普通对象(包括被动对象和尚未认定的主动对象)由图7-1所示的类符号表示。 主动对象的类符号如图7-2所示。它与普通对象的类符号之区别是,在类名之前增加一个主动标记“@” 。 7.3 研究问题域和用户需求 OOA的基本出发点是问题域和用户要求,分析员的主要工作就是:通过不断地研究问题域,建立一个能满足用户需求的系统模型。 需求陈述通常是不完整、不准确的,而且往往是非正式的。通过分析,可以发现和改正原始陈述中的二义性和不一致性,补充遗漏的内容,从而使需求陈述更完整、更准确。 7.3.1 研究用户需求,明确系统责任 系统的需求包括四个不同的层次: (1)业务需求 (2)用户需求 (3)功能需求 (4)非功能性需求 需求获取就是根据系统业务需求去获得系统用户需求,然后通过需求分析得到系统的功能需求和非功能需求。 作为一种实用的分析技术,OOA应该从当前的现实出发来设定工作的起点。它的工作起点是,能得到一份正确地表达用户需求、符合某种标准(如国家标准、行业标准或企业内部规范)的需求文档。 研究用户需求包括以下活动: (1)阅读有关文档 (2)与用户交流 (3)进行实地调查 (4)记录所得认识 (5)整理相关资料 7.3.2 研究问题域 认真听取问题域专家的见解 亲临现场,通过直接观察掌握第一手材料 阅读领域相关资料 借鉴他人经验 7.3.3 确定系统边界 确定系统边界,就是明确系统是什么以及系统的环境是什么,划出被开发的系统和与该系统打交道的人或物之间的明确界限,并确定它们之间的接口。 认识系统边界的目的是为了明确系统的范围以及与外部世界的接口。系统边界以内的事物,由系统中的对象来表达;边界以外的活动者通过经它们和系统的接口与系统交互;边界以外不与系统交互的事物统统不必考虑。 同时,在定义用例时系统边界是作为观察活动者与系统交互的着眼点。 7.4 发现对象 面向对象方法经过多年的发展和完善,已经有人总结出一些规律性的对象发现方法,本节对这些方法予以介绍。 7.4.1 发现对象技术概要 利用面向对象软件设计技术可以显著地提高软件开发的质量和生产效率。对于一个给定的应用领域,一个合适的对象集合能够确保软件的可重用性、提高可扩充性,并能借助面向对象的开发模式,提高软件开发的质量和生产效率。 7.4.2 正确地运用抽象原则 在OOA中运用抽象原则,先要舍弃与系统责任无关的事物,保留与系统责任有关的事物。 其次,还要舍弃与系统责任有关的事物中与系统责任无关的特征。 正确地进行抽象还需要考虑将问题论域中的事物映射为什么对象以及如何对这些对象进行分类的问题。 7.4.3 策略与启发 考虑问题域。可以启发分析员发现对象的因素包括:人员、组织、设备、物品、事件、表格、结构等。 (1)人员:大多数系统的问题域都涉及各种各样的人员。 (2)组织:在系统中发挥一定作用的组织结构。 (3)设备:是指在系统中动态地运行,由系统进行监控或者供系统使用的各种设备、仪表、机器以及运输工具。 (4)物品:是指那些需要由系统管理的各种物品。 (5)事件:指那些需要由系统长期记忆的事件。 (6)表格:这里“表格”的概念是广义的。无节制地设立许多表格对象往往会产生一个臃肿的、畸型的系统。正确的策略是:不要急于考虑从表格发现对
文档评论(0)