- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第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找出类与类之间的关系
要画出类图,不仅要识别出系统中的类,还要识别出类与类之间的关系。
表10.2系统中类的关系
关系 类 Project 涉及 Invoice Project 涉及 User
10.3 画出类图
类图主要描述系统中类、类与类之间的关系。前两节已经识别出了系统的类以及类与类之间的关系。l0.2可以看出,与Project类有关系的类是Invoice和User。一个项目有0或多张票据,一张票据Project类与Invoice类之fnq存在着一到0或多的双向关联;一个项目有一或多个报0或多个项目的报销人,因此Project类与User类之间存在着0或多到一或多的
现在可以画出类图,如图10.1所示。
图10.1系统类图
10.4找出类的属性
类的属性一般描述类的某个特征。在识别属性时,要从类的语义完整性角度来斟
文档评论(0)