软件工程理论及应用 教学课件 作者 周屹 第7章.pptVIP

软件工程理论及应用 教学课件 作者 周屹 第7章.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
7.3.4定义主题和子系统 在一个复杂系统的分析模型中,可能涉及到成百上千个类(对象)。由于受到人的思维能力的限制,可能会造成理解上的混乱。为此,有必要定义一种简洁的表示,对类(对象)作进一步的抽象处理,为此,OOA引进主题词机制。 7.4 对象---关系模型 对象是人们要进行研究的任何事物,从最简单的整数到复杂的飞机等均可看做对象,它不仅能表示具体的事物,还能表示抽象的规则、计划或事件。我们所指的对象是计算机中的对象,是对现实中对象的模拟,它抽象出现实世界中对象的特征和行为,分别用数据和函数刻画,并封装成一个整体。模拟后的计算机对象既能体现现实世界事物的状态,也具有相应的行为。 7.5 对象---行为模型 对象具有状态,一个对象用数据值来描述它的状态。对象还有操作,用于改变对象的状态。对象及其操作就是对象的行为。对象实现了数据和操作的结合,使数据和操作封装于对象的统一体中。对象-行为图用于描述对象的动态行为,通常由:对象状态转换图:描述对象可能具有的状态以及引起状态变化的事件。对象的状态是对象属性的一组值。当发生某个事件后,对象的属性值可能会发生变化,即对象的状态发生变化。事件轨迹图:是考虑整个系统的状态的改变,描述一个事件如何引起从一个对象到另一个对象的转变的事件轨迹(Event Trace)。它表示了导致行为从对象流向对象的关键对象和事件。事件流图:是用于标记所有流入和流出某对象的事件。在确定事件轨迹后,所有事件可以汇总成输入对象的事件集和从对象输出的事件集。 本章小结 面向对象的分析OOA(Object—OrientedAnalysis)是面向对象方法从编程领域向分析领域延伸的产物,充分体现了面向对象的概念与原则。面向对象的分析方法,强调从问题域中的实际事物及与系统责任有关的概念出发,来构造系统模型、与问题域具有一致的概念和术语,同时尽可能使用符合人类的思维方式来认识和描述问题域,有利于对问题及系统责任的理解以及人员之间的交流。再加上面向对象本身的封装、继承和多态等特征,OOA对需求变化有较强的适应性,并且很好地支持了软件复用。 在本章中,首先介绍了面向对象的基本概念、OOA模型,然后概述了领域分析和OOA过程,最后详细讲述了对象—关系模型的和对象行为模型的建立过程。 习题 1.简述对象模型的特征,并举一个现实的实例,给出它的一般化关系、聚集关系的描述。 2.面向对象分析模型的用途是什么? 3.简述对象建模过程。 4.简述面向对象分析的一般步骤?   5.简述类、对象、多态性、抽象的基本概念。   6.简述动态模型的特征,说明事件、事件跟踪图、状态、状态图的含义。 软件工程自70年代以来,有力地推动了软件能力的解决。自顶向下的分析和设计方法、软件项目的工程化管理、软件工具和开发环境和软件的质量保证体系都是重要的进展。传统的软件工程技术的基点是:有确定不变的应用需求并能够准确地描述;软件开发人员负责设计、实现和维护,由最终用户来使用。这种模式对数据处理和事务处理的应用还是基本适应的,但还不能适应90年代以来的新型应用。传统软件工程都是从零开始开发软件的,软件的“重用”没有得到很好的解决,软件开发的抽象程度不高。这些都是传统软件工程的局限性。传统开发方法存在的主要问题: 1.软件重用性差 重用性是指同一事物不经修改或稍加修改就可多次重复使用的性质。传统的程序设计通过库函数的方式来实现重用。实践表明,标准函数库缺乏灵活性,往往难以适应不同应用场合的不同要求。对于用户自己设计的功能模块,对它的重用也有限制:一方面要保证功能完全相同,否则需要进行修改;另一方面,过程和数据是相互依赖的,功能的变化往往涉及数据结构的改变,如果新的应用中的数据与原来模块中的数据不同,那么在对数据进行修改的同时,功能模块也需要修改。 2.软件可维护性差 软件工程强调软件的可维护性,强调文档资料的重要性,规定最终的软件产品应该由完整、一致的配置成分组成。在软件开发过程中,始终强调软件的可读性、可修改性和可测试性是软件重要的质量指标。实践证明,用传统方法开发出来的软件,维护时其费用和成本仍然很高,其原因是可修改性差,维护困难,导致可维护性差。 开发出的软件不能满足用户需要 面向对象分析的一般步骤是: (1)在客户和软件工程师之间沟通基本的用户需求,获取客户对系统的需求,包括标识场景(Scenario)和用例(Use Case),以及建造需求模型。 (2)以基本的需求为指南来选择和标识类与对象(包括定义其属性和操作)。 (3)定义类的结构和层次。 (4)表示类(对象)之间的关系,建立对象--关系模型。 (5)建立对象---行为模型。 (6)利用用例/场景来复审分析模型,递进地重复任务(1)~(5)

您可能关注的文档

文档评论(0)

带头大哥 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档