- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
软件工程基础与实例分析第九章面向对象的分析设计与实现
第9章 面向对象的分析设计与实现 主要学习内容: 传统方法学的缺点 面向对象的基本概念 面向对象分析 面向对象设计 面向对象实现 9.1 传统方法学存在的缺点 1、存在的问题 生产率提高的幅度远不能满足需要。传统的软件工程方法需要的人力,物力都比较多,流程比较长,所以它的生产率的提高并不快 软件重用程度很低。作为结构化软件设计,程序设计,分析技术等,都是针对问题空间提出的解决方案,而没有考虑提出一些能适用于另外一个程序的模块 软件仍然很难维护个软件项目。虽然有很多方法为软件提供功能,性能的维护,但当软件运行时,仍然有很多困难,所以不得不找到原来的开发人员。 软件往往不能真正满足用户需要。需求分析之后,后面的人就跟用户没关系了,直到验收测试时才请用户过来,这时用户说,这段时间为什么不找我,我们单位里面有些变化,所以不能真正满足用户需要。 9.2 面向对象的基本概念 9.2.1 基本概念 1.对象 对象是系统中描述客观事物的一个实体,它是构成系统的一个基本单位,由一组属性和对这组属性进行操作的一组服务组成。属性是用来描述对象静态特征的一个数据项 2.类 类是具有相同属性和服务的一组对象的集合,它为属于该类的全部对象提供了统一的抽象描述,其内部包括属性和服务两个主要部分 9.2.1 基本概念 3.类对象 类对象指的是类和类中的对象,其符号表示如图9-2所示,类分3个区域,对象用围绕着类的三个区域的虚框表示,在表示类的3个区域内,标出类对象的名称、属性及服务,这是具有对象的类,是一种具体类。 4.消息 消息是对象发出的服务请求,一般包含提供服务的对象标识、服务标识、输入和应答等信息。 5.封装性 封装性是把对象的属性和服务结合成一个独立的系统单位。 6.继承性 继承性是指子类可以自动拥有 父类的全部属性和服务 7.多态性 不同层次中的类可以共享或共用一个行为(方法)的名子,但在不同层次中,每个类却可以各自按自己的需要来实现这个行为,并且得到不同的结果。 8.事件 事件是建立动态模型时常用的术语,是指某一时刻引发对象状态改变的控制信息。现实世界中,各对象之间相互触发,一个触发行为就称作是一个事件。 9.状态 状态也是建立动态模型时常用的术语,是对象所具有的属性值的一种抽象,按照影响对象显著行为的性质将值集中归并到一个状态中去。 10.行为 行为也是建立动态模型时常用的术语,是对象要达到某种状态时所做的操作 9.2.2 面向对象建模 1、 对象模型对象模型是用来描述系统数据结构。 2.动态模型 动态模型是用来描述系统控制结构,描述对象在遇到某些事件时它的响应,意味着每个对象实际上有自已的状态,并且这个状态是可保持的 事件 :引发对象状态改变的控制信息(瞬时) 状态: 即对象的 attributes 所处的情形(可持续) 行为:对象要达到某种 status 所做的操作(耗时) 3.功能模型 功能模型是用来描述系统功能。要考虑整个软件系统是一个整体,具有什么样的功能。在面向对象里面,对象模型确定了发生操作的客体,动态模型确定操作什么时候发生,功能模型指出发生了什么操作,所以功能模型是操作的一个实体,由多张数据流图组成,数据流图说明数据流是如何从外部输入,经过操作和内部存储输出到外部的。 9.3 面向对象分析 9.3.1 面向对象分析的特点 1.有利于对问题及系统责任的理解 2.有利于对人员之间的交流 3.对需求变化有较强的适应性 4.支持软件重用 9.3.2 需求陈述 需求陈述包括问题范围、功能需求、性能要求、应用环境、假设条件等五个方面。如一个远程教育学院,想做一个学位查询系统,就可以发个招标公告向社会去招标,某公司想去应标,要根据招标书上的要求,写出相应的应标书,应标书上有相当一大部分内容是需求陈述,要写出关于开发出的这个学位查询系统所能具备的功能、性能、可靠性、接口和应用环境等方面的内容,同时给出当某些特殊情况存在时的解决方案等等。 9.3.3 建立对象模型 1.确定类--对象 (1) 列出所有候选对象。 跟据需求陈述里面的名词列出所有候选对象,这些对象可能是物理实体,也可以是人或组织或要处理的事件,也可以是对象间的活动,如上面提到的远程教育学院学位查询系统中,可以确定以下类--对象,分别是学生,系统,服务器,客户机,教师,网络,成绩,科目,软件,类别,院,系,班级,学年,家庭住址,联系电话,及格,账户,事务,学校,学士,性别,分数,学制,信息,密码,类型,访问,校园网。 (2)去粗取精。 把以上所有
文档评论(0)