- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
UML建立类模型[精选]
第1 0章建立类模型——描述谁是满足用例的责任者
前一章已经建立了系统的用例模型,知道拟建系统做什么——系统应具备的功能。系统中的类则是
满足系统用例的责任者。
类模型是面向对象分析的核心,用类图来描述。类图主要描述系统中类、类与类之间的关系。
10.1找出类
像9.3节找系统中的用例一样,要找出系统中的类,也要首先掌握识别类的方法,然后再从系统中
把类一个一个找出来。
10.1.1 怎样找
识别类比识别用例要困难得多。虽然从理论上说,我们生活在一个实体世界中,周围的一切都是对
象,但是识别起来并非易事。因为长期以来,人们,特别是程序开发人员,在认识世界时总是从功能出
发,因而反映在头脑里的往往是功能而不是实体对象。
识别类的方法不止一种,但通常使用的识别方法是名词识别方法。下面,简单介绍一下名词识别方法。
一般来说,描述问题域实体都用名词或名词短语。应用名词识别方法时,要从系统描述中找出名词、
名词短语或名词性代词,它们往往对应着对象(类)。其中单数名词可以识别为对象,而复数名词则可
以识别为类。但是要注意,并不是每个名词都对应着一个对象(类),可能有的名词只是其他对象的一
个属性,也可能几个名词对应着一个对象(类)。
找出的名词是否都应该成为系统的对象(类),有一个简单的判断方法:考察其是否有与该对象(类)
相关的身份和行为,如果有,那么它就是系统中的一个对象(类)。身份指的是一个对象的唯一标识,
正如人的身份证唯一地代表一个人一样。
另外,也可以运用自己的开发经验来识别系统中的类。在传统的数据库设计中,E.R图中的实体表
示系统中的持久的元素,要映射为数据库中的数据表。UML中的实体也表示系统中的持久的元素。两
者的区别在于,UML中的实体除表示系统中的持久的元素外,还具有行为特性——操作。因此,如果
UML初学者识别类时开始有困难,不妨首先找出系统中E—R图中的实体,即系统中的持久的元素,然
后参照E.R图中的实体去定义UML中的实体。
10.1.2找出类
现在,采用名词识别方法来识别系统实例中的类。
第一步,从系统描述中找出用来描述问题域实体的名词。根据9.1节对系统的描述,可以得到以下
一些名词:
企业、家用电器、市场竞争力、公司、创新基金、产品、管理部门、决策信息、创新基金管理信息
系统、新系统、票据、人工处理方式、开发计划、研究项目、财务室、项目开支的经费、报销人、公司
财务报销规定、汽油票金额、发票的金额、飞机票、项目经费总额、招待费、财务档案、用户、报表、
系统资源、公司领导。
第二步,从候选对象(类)中筛选去掉一部分名词。
企业、公司意义相近或相同,并且对于系统来说,只有一个,没有身份,不能识别为系统中的实体,
因此去掉。
市场竞争力对于系统来说,不需要持久保存,不能识别为系统中的实体,因此去掉。
家用电器、产品意义相近或相同,并且对于系统来说,不需要持久保存,不能识别为系统中的实体,
因此去掉。
创新基金对于系统来说,只有一个,没有身份,不能识别为系统中的实体,因此去掉。
创新基金管理信息系统、新系统意义相近或相同,并且对于系统来说,只有一个,没有身份,不能
识别为系统中的实体,因此去掉。
票据是系统中的实体,可以识别为一个类“票据”。
决策信息、人工处理方式、开发计划对于系统来说,不需要持久保存,不能识别为系统中的实体,
因此去掉。
研究项目是系统中的实体,可以识别为一个类“项目”。
汽油票金额、发票的金额是项目开支的经费的一种,它们可以识别为类“项目”的属性“报销金额”。
报销人、审核人、用户、公司领导是系统中的实体,可以识别为一个类,保留名称“用户”。
财务室是管理部门中的一个,而管理部门又是部门中的一个类别。因此,将“部门”识别为“用户”
类的一个属性。
公司财务报销规定虽然需要持久保存,但不是一个实体。
飞机票是票据的一种,因此它只是类“票据”的一个对象。
项目经费总额可以识别为类“项目”的属性“项目经费”。
招待费是票据报销内容的一种,因此可以为类“票据”识别一个属性“报销内容”。
财务档案对于系统来说,只有一个,没有身份,不能识别为系统中的实体,因此去掉。
报表、系统资源对于系统来说,不需要持久保存,不能识别为系统中的实体,因此去掉。
经过上面的筛选,初步得到如表l0.1所示的一些类。
表10.1系统中的类
类 含义 Project 项目 Invoice 票据 User 用户
10.2找出类与类之间的关系
要画出类图,不仅要识
文档评论(0)