- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
 - 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
 - 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
 - 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
 - 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
 - 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
 - 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
 
                        查看更多
                        
                    
                第九章 面向对象方法学引论 传统方法学的缺点 软件工程的新途径 面向对象的基本概念 面向对象建模 对象模型 动态模型 功能模型 传统方法学的缺点 几十年的实践证明,传统的生命周期方法学不能消除软件危机,软件产业仍然存在以下问题: 生产率的提高仍然不能满足日益增长的软件需求。 软件重用程度很低。 软件维护十分艰难。 软件需求很难把握,目标系统往往不能真正满足用户的需求。 以上问题产生的原因 僵化的瀑布模型 某些类型的系统需求是模糊的 项目参与者之间存在通信鸿沟 预先定义的需求可能是过时的 结构化技术的缺点 系统稳定性差。SA、SD的本质是功能分解,它是围绕实现一个个处理功能的“过程”来构造系统的,而用户需求的变化大部分是针对功能的。所以,一旦需求稍有变化,就会引起系统结构的大变化。 难以修改和扩充。SA、SD技术清楚地定义了目标系统的边界,软件通过界面与客观世界通信。 数据和操作分离和模块化的任意性使得软件可重用性差。 软件工程的新途径 快速原型法 面向对象方法学 面向Agent的软件工程 快速原型法 两类不同的软件系统 全部需求能够预先精确定义的软件系统 需求难以预先定义的软件系统 原型法的基本思想 快速建立一个能够反映用户主要需求的原型系统,让用户评价是否符合其需求。如果满足需求,说明SRS正确、完备和一致;否则,对原型系统进行修改,再给用户评价。 用原型法开发软件的过程 抛弃原型法 演化原型法 基于原型系统的两种开发模型 Boehm提出的螺旋模型 分析,建原型,评价与修改; 设计,建原型,评价与修改; 程序设计,建原型,评价与修改 Gilb渐增模型 完成一部分分析工作 完成一部分设计工作 完成一部分程序分析工作 建原型并评价 重复上述过程 面向对象方法学 人们认识世界的三个构造法则 认识和区分对象及其属性,如一棵树和树的大小。 认识和区分整体对象及其组成部分,如区分一棵树和树枝。 认识和区分不同对象类的形成,如所有树的类和所有石头的类的形成和区分。 OO方法正好适应了以上法则 问题空间和解空间得到进一步的“拟合”,它们的结构十分一致; 对数据和操作封装而形成一个统一体; 解空间中的对象行为更丰富,削弱了“语义断层”。  What is Object-Oriented? Object orientation is an approach to software development that organizes both the problem and its solution as a collection of discrete objects; It is a kind of representation that describe object’s data structure and behavior. It is a kind of modeling technology. OO方法所具有的四个要点 对象 认为客观世界是由各种对象组成的,任何事物都是对象,复杂对象由简单对象以某种方式组成。 类 把所有对象按类划分形成对象类。 继承 整个系统由若干个对象类组成,类的等级形成系统的层次结构,子类可以继承父类的相同特性。 消息传递 对象之间只能通过消息传递实现相互的联系,实现对象的“封装”。 Characteristics of OO Representation  Identity—name, reference, handle Abstraction Classification Encapsulation Inheritance Polymorphism Persistence  The OO Development Process   Be consistency of  terminology and of the problem and the solution were described in same terms : classes, objects methods, attributes, and behaviors.  Be consistency of perspective Static views Dynamic views Restrictions   面向对象技术的优点 减弱“语义断层”,更好的刻画问题域,减少了映射误差 稳定性好,控制变化性(客观世界中,实体结构相对稳定) 便于复用 可维护性好,易于理解、测试、调试等。 消除或减少了软件开发各个阶段的鸿沟 OOA?OOD?OOP Tendency for Change when Using OO Paradigm  (Jacobson et al. 1995) 面向对象技术的一些概念 抽象性 Abstraction 对象 Object
                
原创力文档
                        

文档评论(0)