logo

您所在位置网站首页 > 海量文档  > 计算机 > 软件工程

软件工程导论课件(第六版)(张海潘编著)(1_13章).ppt 970页

本文档一共被下载: ,您可全文免费在线阅读后下载本文档。

  • 支付并下载
  • 收藏该文档
  • 百度一下本文档
  • 修改文档简介
全屏预览

下载提示

1.本站不保证该用户上传的文档完整性,不预览、不比对内容而直接下载产生的反悔问题本站不予受理。
2.该文档所得收入(下载+内容+预览三)归上传者、原创者。
3.登录后可充值,立即自动返金币,充值渠道很便利
* * * * * * * * * * * * * * * * * * * 1、行为者代表一种角色—例如,在自动售货机系统中,使用售货功能的人既可以是张三(买矿泉水)也可以是李四(买可乐),但是不能把张三或李四这样的个体对象称为行为者。 2、一个具体的人可以充当多种不同角色—例如,某个人既可以为售货机添加商品(执行供货功能),又可以把售货机中的钱取走(执行取货款功能)。 * * * * * * * * * * * * * * 几乎解决任何一个问题,都需要从客观世界实体及实体间相互关系抽象出极有价值的对象模型;当问题涉及交互作用和时序时(例如,用户界面及过程控制等),动态模型是重要的;解决运算量很大的问题(例如,高级语言编译、科学与工程计算等),则涉及重要的功能模型。动态模型和功能模型中都包含了对象模型中的操作(即服务或方法)。 * 几乎解决任何一个问题,都需要从客观世界实体及实体间相互关系抽象出极有价值的对象模型;当问题涉及交互作用和时序时(例如,用户界面及过程控制等),动态模型是重要的;解决运算量很大的问题(例如,高级语言编译、科学与工程计算等),则涉及重要的功能模型。动态模型和功能模型中都包含了对象模型中的操作(即服务或方法)。 * * * * * * * * 某银行拟开发一个自动取款机系统,它是一个由自动取款机、中央计算机、分行计算机及柜员终端组成的网络系统。ATM和中央计算机由总行投资购买。总行拥有多台ATM,分别设在全市各主要街道上。分行负责提供分行计算机和柜员终端。柜员终端设在分行营业厅及分行下属的各个储蓄所内。该系统的软件开发成本由各个分行分摊。 * * * * * * * * * 1、多态性:在C++语言中,多态性是通过虚函数来实现的。在类等级不同层次中可以说明名字、参数特征和返回值类型都相同的虚拟成员函数,而不同层次的类中的虚函数实现算法各不相同。虚函数机制使得程序员能在一个类等级中使用相同函数的多个不同版本,在运行时刻才根据接收消息的对象所属于的类,决定到底执行哪个特定的版本,这称为动态联编,也叫滞后联编。 2、重载:在C++语言中函数重载是通过静态联编(也叫先前联编)实现的,也就是在编译时根据函数变元的个数和类型,决定到底使用函数的哪个实现代码;对于重载的运算符,同样是在编译时根据被操作数的类型,决定使用该算符的哪种语义。 * * * * * * 类的名字应该是富于描述性的、简洁的而且无二义性的。 * * * * 1、关联---例如,作家使用计算机,人们就认为在作家和计算机之间存在某种语义连接,因此,在类图中应该在作家类和计算机类之间建立关联关系。 * * * 在上图中,查找一个文件的方法就是,首先定下目录,然后在该目录内查找指定的文件名。 * * * * 普通泛化与9.2.2节中讲过的继承基本相同。 * * 上图给出一个比较复杂的类图示例,这个例子综合应用了前面讲过的许多概念和图示符号。上图表明,一幅工程蓝图由许多图形组成,图形可以是直线、圆、多边形或组合图,而多边形由直线组成,组合图由各种线型混合而成。 * * * 依赖关系:例如,一个类使用另一个类的对象作为操作的参数,一个类用另一个类的对象作为它的数据成员,一个类向另一个类发消息等,这样的两个类之间都存在依赖关系。 * * * * * * * * * * 第一种做法很盲目,通常人们采用后3种做法。其中第4种做法称为软件再工程,这样的维护活动也就是本章8.1节中所说的预防性维护,而第3种做法实质上是局部的再工程。 * * * * * * * * * * * * * * 1、面向对象方法用对象分解取代了传统方法的功能分解。 2、每当建立该对象类的一个新实例时,就按照类中对数据的定义为这个新对象生成一组专用的数据,以便描述该对象独特的属性值。类中定义的方法,是允许施加于该类对象上的操作,是该类所有对象共享的,并不需要为每个对象都复制操作的代码。 3、在这种层次结构中,通常下层的派生类自动具有和上层的基类相同的特性(包括数据和方法),这种现象称为继承(inheritance)。但是,如果在派生类中对某些特性又做了重新描述,则在派生类中的这些特性将以新描述为准,也就是说,低层的特性将屏蔽高层的同名特性。 4、一切局部于该对象的私有信息,都被封装在该对象类的定义中,就好像装在一个不透明的黑盒子中一样,在外界是看不见的,更不能直接使用,这就是“封装性”。 * 1、传统的程序设计技术忽略了数据和操作之间的内在联系,用这种方法所设计出来的软件系统其解空间与问题空间并不一致,令人感到难于理解。 * 1、稳定性:传统的软件开发方法以算法为核心,开发过程基于功能分析和功能分解。用传统方法所建立起来的软件系统的结构紧密依赖于系统所要完成的功能,当功能需求发生变化时将引

发表评论

请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码: 点击我更换图片

“原创力文档”前称为“文档投稿赚钱网”,本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有【成交的100%(原创)】。原创力文档是网络服务平台方,若您的权利被侵害,侵权客服QQ:3005833200 电话:19940600175 欢迎举报,上传者QQ群:784321556