- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第9章 面向对象分析 9.1 分 析 过 程9.1.1 概述 面向对象分析就是抽取和整理用户需求并建立问题域精确模型的过程。 通常,面向对象分析过程从分析陈述用户需求的文件开始。可能由用户(包括出资开发该软件的业主代表及最终用户)单方面写出需求陈述,也可能由系统分析员配合用户,共同写出需求陈述。当软件项目采用招标方式确定开发单位时,“标书”往往可以作为初步的需求陈述。 需求陈述通常是不完整、不准确的,而且往往是非正式的。通过分析,可以发现和改正原始陈述中的二义性和不一致性,补充遗漏的内容,从而使需求陈述更完整、更准确。因此,不应该认为需求陈述是一成不变的,而应该把它作为细化和完善实际需求的基础。在分析需求陈述的过程中,系统分析员需要反复多次地与用户协商、讨论、交流信息,还应该调研,了解现有的类似的系统。正如以前多次讲过的,快速建立起一个可在计算机上运行的原型系统,非常有助于分析员和用户之间的交流和理解,从而能更正确地提炼出用户的需求。 接下来,系统分析员应该深入理解用户需求,抽象出目标系统的本质属性,并用模型准确地表示出来。用自然语言书写的需求陈述,通常是有二义性的,内容往往不完整、不一致。分析模型应该成为对问题的精确而又简洁的表示。后续的设计阶段将以分析模型为基础。通过建立分析模型,能够纠正在开发早期对问题域的误解。 在面向对象建模的过程中,系统分析员必须认真向领域专家学习,因为建模过程,尤其是分类工作往往有很大难度。继承关系的建立实质上是知识抽取的过程,它必须反映出一定深度的领域知识,这不是系统分析员单方面努力所能做到的,必须有领域专家的密切配合才能完成。 在面向对象建模的过程中,还应该仔细研究以前针对相同的或类似的问题域进行的面向对象分析所得到的结果。由于面向对象分析结果的稳定性和可重用性,这些结果在当前项目中往往有许多是可以重用的。 9.1.2 三个子模型与五个层次 面向对象建模得到的模型包含系统的三个要素,即静态结构(对象模型)、交互次序(动态模型)和数据变换(功能模型)。解决的问题不同,这三个子模型的重要程度也不同:几乎解决任何一个问题,都需要从客观世界实体及实体间的相互关系中抽象出极有价值的对象模型;当问题涉及交互作用和时序时(例如用户界面及过程控制等),动态模型是重要的;解决运算量很大的问题时(例如高级语言编译、科学与工程计算等),则涉及重要的功能模型。动态模型和功能模型中都包含了对象模型中的操作(即服务或方法)。 复杂问题(大型系统)的对象模型通常由下述五个层次组成:主题层(也称为范畴层)、类与对象层、结构层、属性层和服务层。 这五个层次很像叠在一起的五张透明塑料片,它们一层比一层显现出对象模型的更多细节。在概念上,这五个层次是整个模型的五张水平切片。 在本书前面章节中已经讲述了类与对象(即UML的“类”)、结构(即类或对象之间的关系)、属性和服务的概念,现在再简要地介绍一下主题(或范畴)的概念。主题是指导读者(包括系统分析员、软件设计人员、领域专家、管理人员、用户等,总之,“读者”泛指所有需要读懂系统模型的人)理解大型、复杂模型的一种机制。也就是说,通过划分主题,把一 个大型、复杂的对象模型分解成几个不同的概念范畴。心理研究表明,人类的短期记忆能力一般限于一次记忆5~9个对象,这就是著名的7±2原则。面向对象分析从下述两个方面来体现这条原则:控制可见性和指导读者的注意力。 首先,面向对象分析通过控制读者能见到的层次数目来控制可见性。其次,面向对象分析增加了一个主题层,它可以从一个相当高的层次描述总体模型,并对读者的注意力加以指导。 上述五个层次对应着在面向对象分析过程中建立对象模型的五项主要活动:找出类与对象;识别结构;识别主题;定义属性;定义服务。必须强调指出的是,我们说的是“五项活动”,而没有说五个步骤。事实上,这五项工作完全没有必要顺序完成,也无须彻底完成一项工作以后再开始另外一项工作。虽然这五项活动的抽象层次不同,但是在进行面向对象分析时并不需要严格遵守自顶向下的原则。人们往往喜欢先在一个较高的抽象层次上工作,如果在思考过程中突然想到一个具体事物,就会把注意力转移到深入分析发掘这个具体领域上,然后又返回到原先所在的较高的抽象层次。例如,分析员找出一个类与对象,想到在这个类中应该包含的一个服务,于是把这个服务的名字写在服务层,然后又返回到类与对象层,继续寻找问题域中的另一个类与对象。 通常在完整地定义每个类中的服务之前,需要先建立起动态模型和功能模型,通过对这两种模型的研究,能够更正确、更合理地确定每个类应该提供哪些服务。 综上所述,在概念上可以认为,面向对象分析大体上按照下列顺序进行:寻找类与对象、识别结构、识别主题、定义属性
您可能关注的文档
最近下载
- 植保无人机飞行作业服务设备维护及调试方案.doc VIP
- 海迪克新材料科技有限公司年产聚-3,4-乙烯二氧噻(PEDOT)精品 47.7 吨新建项目环评报告表.docx VIP
- 2025年西师版三年级上册数学全册教案(完整) .pdf VIP
- 急救技能—心肺复苏(2024版).pptx VIP
- T_ZNZ 094—2024(滨海盐碱地生物改良技术规范).pdf VIP
- 数学北师大课标版八年级上册综合与实践 创新作业设计模板.docx VIP
- 甲状腺危象病人的护理.pptx VIP
- 2021年咸阳经开城市发展集团有限公司招聘试题及答案解析.docx VIP
- 2024年人教版七年级英语上册单词 .pdf VIP
- 化工总控工培训.pptx VIP
文档评论(0)