欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    面向对象分析与设计第一章.pptx

    • 资源ID:87116289       资源大小:3.54MB        全文页数:71页
    • 资源格式: PPTX        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    面向对象分析与设计第一章.pptx

    参考书籍第1页/共71页第2页/共71页第3页/共71页第4页/共71页第5页/共71页第6页/共71页第7页/共71页本书通篇都是以情景对话的形式,用多个小故事或编程示例来组织讲解GoF(设计模式的经典名著Design Patterns:Elements of Reusable Object-Oriented Software,中译本名为设计模式可复用面向对象软件的基础的四位作者Erich Gamma、Richard Helm、Ralph Johnson,以及John Vlissides,这四人常被称为Gang of Four,即四人组,简称GoF)总结的23个设计模式。本书共分为29章。其中,第1、3、4、5章着重讲解了面向对象的意义、好处以及几个重要的设计原则;第2章,以及第6到第28章详细讲解了23个设计模式;第29章是对设计模式的全面总结。第8页/共71页思考与作业请同学们用C+、Java、C#任意一种面向对象语言实现一个计算器控制台程序,要求输入两个数和运算符号,得到结果。第9页/共71页class computer static void Main(string args)Console.Write(请输入数字A:);string A=Console.ReadLine();Console.Write(请选择运算符号(+、-、*、/):);string B=Console.ReadLine();Console.Write(请输入数字B:);string C=Console.ReadLine();string D=;if(B=+)D=Convert.ToString(Convert.ToDouble(A)+Convert.ToDouble(C);if(B=-)D=Convert.ToString(Convert.ToDouble(A)-Convert.ToDouble(C);if(B=*)D=Convert.ToString(Convert.ToDouble(A)*Convert.ToDouble(C);if(O=/)D=Convert.ToString(Convert.ToDouble(A)/Convert.ToDouble(C);Console.WriteLine(结果是:+D);第10页/共71页引言(续)“话说三国时期,曹操带领百万大军攻打东吴,大军在长江赤壁驻扎,军船连成一片,眼看就要灭掉东吴,统一天下,曹操大悦,于是大宴众文武,在酒席间,曹操诗性大发,不觉吟道:喝酒唱歌,人生真爽。.众文武齐呼:丞相好诗!于是一臣子速命印刷工匠刻版印刷,以便流传天下。”第11页/共71页引言(续)“样张出来给曹操一看,曹操感觉不妥,说道:喝与唱,此话过俗,应改为对酒当歌较好!,于是此臣就命工匠重新来过。工匠眼看连夜刻版之工,彻底白费,心中叫苦不迭。只得照办。”第12页/共71页引言(续)“样张再次出来请曹操过目,曹操细细一品,觉得还是不好,说:人生真爽太过直接,应改问语才够意境,因此应改为对酒当歌,人生几何?.当臣转告工匠之时,工匠晕倒.!”第13页/共71页引言(续)这里面问题出在哪里?因为三国时期活字印刷还未发明,所以要改字的时候,就必须要整个刻板全部重新刻第14页/共71页活字印刷,面向对象 如果是有了活字印刷,则只需更改四个字就可,其余工作都未白做。岂不妙哉第15页/共71页活字印刷,面向对象 第一,要改,只需更改要改之字,此为可维护;第二,这些字并非用完这次就无用,完全可以在后来的印刷中重复使用,此乃可复用;第三,此诗若要加字,只需另刻字加入即可,这是可扩展;第四,字的排列其实可能是竖排可能是横排,此时只需将活字移动就可做到满足排列需求,此是灵活性好。”“而在活字印刷术出现之前,上面的四种特性都无法满足,要修改,必须重刻,要加字,必须重刻,要重新排列,必须重刻,印完这本书后,此版已无任何可再利用价值。”第16页/共71页活字印刷,面向对象从事软件开发几年后,同学也会经历太多的类似曹操这样的客户要改变需求,其实客观地说,客户的要求也并不过份,不就是改几个字吗,但面对已完成的程序代码,却是需要几乎重头来过的尴尬,这实在是痛苦不堪。原因就是因为我们原先所写的程序,不容易维护,灵活性差,不容易扩展,更谈不上复用,因此面对需求变化,对程序动大手术的那种无奈也就成了非常正常的事了。第17页/共71页活字印刷,面向对象学习了面向对象的分析与设计编程思想,开始考虑通过封装、继承、多态把程序的耦合度降低。传统印刷术的问题就在于所有的字都刻在同一版面上造成耦合度太高所致。如果使用设计模式使得程序更加的灵活,容易修改,并且易于复用。那就会感受到面向对象带来的好处。第18页/共71页第一章第一章 绪论绪论我们为什么要使用面向对象?我们应该怎样使用面向对象三大机制来实现“好的面向对象”?我们应该遵循什么样的面向对象设计原则?第19页/共71页第一章第一章 绪论(续)绪论(续)对象是什么?从概念层面讲,对象是某种拥有责任的抽象.从规格层面讲,对象是一系列可以被其他对象使用的公共接口从语言实现层面讲,对象封装了代码和数据.怎样才能设计好的面向对象遵循一定的面向对象设计原则熟悉一些典型的面向对象设计模式第20页/共71页第一章第一章 绪论(续)绪论(续)1.1 什么是面向对象(Object-Oriented)面向对象 不仅是一些具体的软件开发技术与策略,而且是一整套关于如何看待软件系统与现实世界的关系,以什么观点来研究问题并进行求解,以及如何进行系统构造的软件方法学。第21页/共71页面向对象是认识事物的一种方法 第22页/共71页第一章第一章 绪论(续)绪论(续)面向对象方法的基本思想是:从现实世界中客观存在的事物(对象)出发来构造软件系统,并在系统构造中尽可能运用人类的自然思维方式。结构化方法采用了许多符合人类思维习惯的原则和策略(如自顶向下、逐步求精)面向对象方法更加强调运用人类在日常逻辑思维中经常采用的思想方法和原则,如抽象、分类、继承、聚合、封装等等。第23页/共71页第一章第一章 绪论(续)绪论(续)面向对象方法有如下一些主要特点:从问题域中客观存在的事物出发来构造软件系统,用对象作为对这些事物的抽象表示,并以此作为系统的基本构成单位。事物的静态特征(即可用一些数据来表达特征)用对象的属性表示;事物的动态特征(即事物的行为)用对象的服务(操作)表示。对象的属性与操作结合为一体,成为一个独立的实体,对外屏蔽内部细节(称作封装)第24页/共71页第一章第一章 绪论(续)绪论(续)面向对象方法有如下一些主要特点:对事物进行分类。把具体有相同属性和相同操作的对象归为一类,类是这些对象的抽象描述,每个对象是它的类的一个实例。通过不同程度上运用抽象的原则(较多或较少的忽略事物之间的差异)可以得到一般的类和较特殊的类。特殊类继承一般类的属性和操作,面向对象方法支持这种继承关系的描述和实现,从而简化系统的构造过程及其文档。第25页/共71页第一章第一章 绪论(续)绪论(续)面向对象方法有如下一些主要特点:复杂的对象可以用简单的对象作为其构成部分(称作聚合)对象之间通过消息进行通信,以实现对象之间的动态联系。通过关联表达对象之间的静态关系第26页/共71页第一章第一章 绪论(续)绪论(续)面向对象的方法是一种运用对象、类、继承、封装、聚合、消息传送、多态性等概念来构造系统的软件开发方法。第27页/共71页第一章第一章 绪论(续)绪论(续)1.2 编程简史编程语言有许多发展阶段,面向对象编程语言是最新的一代。第28页/共71页第一章第一章 绪论(续)绪论(续)人们习惯用的自然语言和计算机能够理解和执行的编程语言之间存在着很大的差距。第29页/共71页第一章第一章 绪论(续)绪论(续)1.3 软件开发的方法学软件开发中的经典阶段需求分析设计规范实现测试部署维护第30页/共71页第一章第一章 绪论(续)绪论(续)瀑布模型1970年温斯顿罗伊斯(Winston Royce)提出了著名的“瀑布模型”第31页/共71页第一章第一章 绪论(续)绪论(续)1、瀑布模型有以下优点:1)为项目提供了按阶段划分的检查点。2)当前一阶段完成后,您只需要去关注后续阶段。3)可在迭代模型中应用瀑布模型第32页/共71页第一章第一章 绪论(续)绪论(续)2、瀑布模型有以下缺点:1)在项目各个阶段之间极少有反馈。2)只有在项目生命周期的后期才能看到结果。3)通过过多的强制完成日期和里程碑来跟踪各个项目阶段。第33页/共71页第一章第一章 绪论(续)绪论(续)第34页/共71页第一章第一章 绪论(续)绪论(续)螺旋模型1988年,巴利玻姆Barry Boehm正式发表了软件系统开发的“螺旋模型”,它将瀑布模型和快速原型模型结合起来,强调了其他模型所忽视的风险分析,特别适合于大型复杂的系统。第35页/共71页第一章第一章 绪论(续)绪论(续)螺旋模型的优点1)设计上的灵活性,可以在项目的各个阶段进行变更。2)以小的分段来构建大型系统,使成本计算变得简单容易。3)客户始终参与每个阶段的开发,保证了项目不偏离正确方向以及项目的可控性。4)随着项目推进,客户始终掌握项目的最新信息,从而他或她能够和管理层有效地交互。5)客户认可这种公司内部的开发方式带来的良好的沟通和高质量的产品。第36页/共71页第一章第一章 绪论(续)绪论(续)螺旋模型的缺点1)采用螺旋模型需要具有相当丰富的风险评估经验和专门知识,在风险较大的项目开发中,如果未能够及时标识风险,势必造成重大损失。2)过多的迭代次数会增加开发成本,延迟提交时间。经常遇到的问题用户需求不够充分、沟通不明、主观臆断、潜在的不一致、采用瀑布法开发、糟糕的测试和质量保证第37页/共71页第一章第一章 绪论(续)绪论(续)迭代模型第38页/共71页第一章第一章 绪论(续)绪论(续)迭代模型是RUP(Rational Unified Process,统一软件开发过程,统一软件过程)推荐的周期模型。在现代过程方法XP(eXtreme Programming,极限编程)、RUP无一例外地都推荐、主张采用能显著减少风险的迭代模型。第39页/共71页第一章第一章 绪论(续)绪论(续)迭代模型的选择使用条件1、在项目开发早期需求可能有所变化。2、分析设计人员对应用领域很熟悉。3、高风险项目。4、用户可不同程度地参与整个项目的开发过程。5、使用面向对象的语言或统一建模语言(Unified Modeling Language,UML)。6、使用CASE(Computer Aided Software Engineering,计算机辅助软件工程)工具,如Rose(Rose是非常受欢迎的物件软体开发工具。)。7、具有高素质的项目管理者和软件研发团队。第40页/共71页第一章第一章 绪论(续)绪论(续)递增模型第41页/共71页第一章第一章 绪论(续)绪论(续)第42页/共71页第一章第一章 绪论(续)绪论(续)合并方法学第43页/共71页第一章第一章 绪论(续)绪论(续)1.4 为什么需要OOA&OOD 传统的软件工程方法OO软件工程方法第44页/共71页第一章第一章 绪论(续)绪论(续)什么是OOA、OODOOA就是运用面向对象方法进行需求分析OOD就是运用面向对象方法进行系统设计第45页/共71页第一章第一章 绪论(续)绪论(续)OOA的基本任务是:运用面向对象的方法,对问题域和系统责任进行分析和理解,对其中的事物和它们之间的关系产生正确的认识,找出描述问题域及系统责任所需的类及对象,定义这些类和对象的属性和操作,以及它们之间所形成的结构、静态联系和动态联系。最终目的是产生一个符合用户需求,并能够直接反映问题域和系统责任的OOA模型及其详细说明第46页/共71页第一章第一章 绪论(续)绪论(续)分析面临的主要问题1、问题域和系统责任2、交流问题3、需求的不断变化4、软件复用的要求第47页/共71页1、问题域和系统责任问题域是指被开发系统的应用领域,即在现实世界中由这个系统进行处理的业务范围。系统责任是指所开发的系统应具备的职能二者有很大部分是重合的,但不一定完全相同。银行业务处理系统第48页/共71页2、交流问题人与人交流是分析工作所面临的另一个重要问题与用户与领域专家的交流分析人员之间的交流与设计人员的交流与管理人员的交流第49页/共71页3、需求的不断变化最为突出的一个问题是需求常常处于不断变化的状态。Coad和Yourdon曾对各种系统成分的易变性和稳定性进行过分析比较:功能(服务或操作):最易变外部接口:很易变属性:较易变对象:较稳定第50页/共71页3、需求的不断变化OOA之所以对变化比较有弹性,主要获益于其封装原则。它以最稳定的成分-对象作为构成系统的基本单位,而把最易变化的成分操作及属性封装在对象中,他们的变化主要影响到对象内部,只通过有限的对外接口(消息连接)对外部发生影响。有效的限制了一处修改处处牵连的“波动效应”。第51页/共71页4、软件复用的要求软件复用是提高软件开发效率,改善软件质量的重要途径。OOA,OOD,OOP能很好的解决软件的复用要求第52页/共71页分析方法综述分析方法综述1、功能分解法2、数据流法3、信息建模法4、OOA第53页/共71页 面向对象分析设计之前:功能分解功能分解是处理复杂问题的一种自然方法第54页/共71页第55页/共71页第56页/共71页第57页/共71页处理变化的需求第58页/共71页第59页/共71页第60页/共71页第61页/共71页第62页/共71页第63页/共71页第64页/共71页第65页/共71页分析方法的比较是否有利于对问题及系统责任的理解是否有利于人员之间的交流对需求变化的适应性是否支持软件复用功能分解法 差差差差数据流法较差差较差差信息建模法 较好较好略好略好OOA好好好好第66页/共71页的主要优点OOA的主要优点:加强了对问题域和系统责任的理解改进与分析有关的各类人员之间的交流对需求的变化具有较强的适应性支持软件复用第67页/共71页的主要优点贯穿软件生命周期全过程的一致性OOA使用了与问题域一致的概念、词汇、原则、表示方法,这种一致性保持到软件开发各个阶段第68页/共71页各种OOA方法Berard 方法Booch方法Coad-Yourdon方法Firesmith方法Jacobson方法(简称OOSE)Rumbaugh方法(简称OMT)Shlaer-Mellor方法Wirfs-Brock方法第69页/共71页英文中文简称Object Oriented面向对象OOObject Oriented Analysis面向对象分析OOAObject Oriented Design面向对象设计OODObject Oriented Programming面向对象的程序设计OOPUnified Modeling Language统一建模语言UMLActor活动者Use Case用例Class对象类、类Attribute属性Operation操作、方法Interface接口Component组件Package包Node结点Association关联Composition组合Aggregation聚合Generalization泛化Dependency依赖Realization实现Message消息State状态Comment 注释第70页/共71页感谢您的观看!第71页/共71页

    注意事项

    本文(面向对象分析与设计第一章.pptx)为本站会员(莉***)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开