软件工程 面向对象设计分解
- 格式:ppt
- 大小:1.89 MB
- 文档页数:92


1/6十万种考研考证电子书、题库视频学习平台圣才电子书第11章面向对象设计一、选择题1.()是不需要接收消息就能主动执行的服务。A.内部服务B.外部服务C.内嵌服务D.上层服务【答案】B【解析】主动服务是不需要接收消息就能主动执行的服务,它在程序实现中是一个主动的程序成分,而外部服务属于主动服务,所以答案选B项。2.火车是一种陆上交通工具,火车和陆上交通工具之间的关系是()关系。A.组装B.整体与部分C.hasaD.一般与具体【答案】D【解析】火车是一种陆上交通工具,而陆上交通工具不一定是火车,还可以是汽车、自行车等,说明火车是陆上交通工具的具体化,而陆上交通工具是火车的一般化,所以它们之间的关系是一般与具体的关系。
2/6十万种考研考证电子书、题库视频学习平台圣才电子书3.()只供对象内部的其他服务使用,不对外提供。A.外部服务B.内部服务C.内嵌服务D.上层服务【答案】B【解析】对象的服务分为外部服务和内部服务两种,其中,内部服务只供内部的其它服务使用,不对外提供,外部服务只供对象外部的其它服务使用,不对内提供。4.对象标识是分配给每个对象的永久性标识(又称作“柄”),它不符合下述条件()。A.在一定的范围或领域(例如一个应用系统)中是唯一的B.与对象实例的特征、状态及分类(可能是动态的)无关C.在对象存在期间保持一致D.在对象存在之后保持一致【答案】D【解析】对象标识符合如下几个条件:①在一定的范围或领域中是唯一的;②与对象实例的特征、状态及分类无关;③在对象期间保持一致。5.对象或者类的整体行为(例如响应消息)的某些规则所不能适应的(对象或类的)()。
3/6十万种考研考证电子书、题库视频学习平台圣才电子书A.状况B.情态C.条件D.问题【答案】D【解析】对象或者类的整体行为(例如响应消息)的某些规则所能适应的(对象或类的)状况、情况、条件、形式或生存周期阶段。二、填空题1.对象的服务可分为_____、_____。【答案】外部服务;内部服务2._____不同取值所构成的组合都可看作对象的一种新的状态。【答案】对象的每个属性3.如果在一个服务中包括了多项可独立定义的功能,则它是_____,应尝试把它分解为多个服务。【答案】低内聚的4._____应尽可能准确地反映该服务的职能。【答案】服务名
软件工程中几种常用软件设计方法的概述研究
软件工程中的设计是软件开发过程中最重要的一个环节,软件设计方法的选择直接关系到软件的质量和开发效率。本文将概述几种软件设计方法的特点、优缺点和应用场景,以期为软件工程师提供参考。
1. 面向对象设计方法(OOD)
面向对象设计方法是一种基于对象的软件设计方法,它将软件系统看做由对象组成的复杂结构,并根据对象间的关系定义系统的行为。其主要特点是将数据和操作封装在对象中,通过继承、多态等机制实现软件的灵活性和可重用性。该方法可以有效提高软件的可维护性和可扩展性,是现代软件开发中最为流行的设计方法之一。
优点:
(1)软件模块化程度高,易于维护和扩展。
(2)避免了代码冗余和重复造轮子的情况。
(3)可重用性强,能够更快地开发出质量更高的软件。
缺点:
(1)需要程序员具备一定的面向对象编程能力。
(2)代码量较大,通用性相对较低。 (3)设计时需要谨慎考虑类的继承和组合关系。
应用场景:
(1)复杂系统的开发。
(2)多人协作开发时,能够提高代码可维护性。
(3)需要频繁改动、扩展的系统。
2. 结构化设计方法(SD)
结构化设计方法是一种基于模块化设计的软件设计方法,主要精神是将复杂系统分解为多个模块,每个模块都能够独立完成一定的功能。该方法主要依靠模块之间的接口来实现信息传递和控制流程。它比较适合处理结构简单的系统,可以有效提高代码的可读性和可维护性。
优点:
(1)模块化程度高,能够更好地将代码分层处理。
(2)代码可读性强,有利于其他开发人员进行代码的维护和调试。
(3)适用于处理过程化的系统。
缺点:
(1)系统难以处理复杂的逻辑结构。
(2)代码可重用性较低,效率较低。
(3)不适用于需要频繁扩展的系统。 应用场景:
(1)针对简单的系统开发。
(2)流程化的系统开发。
(3)需要对程序模块进行分层管理的系统。
3. 基于面向对象的分析与设计方法(OOAD)
第 1 章
面向对象程序设计概述
1.什么是结构化程序设计方法?这种方法有哪些优点和缺点?
【解答】结构化程序设计方法是指20世纪60年代开始出现的高级语言程序设计方法,由于采用了数据结构化、语句结构化、数据抽象和过程抽象等概念,使程序设计在符合客观事物与逻辑的基础上更进了一步。结构化程序设计的思路是:自顶向下、逐步求精。程序结构由具有一定功能的若干独立的基本模块(单元)组成,各模块之间形成一个树状结构,模块之间的关系比较简单,其功能相对独立,模块化通过子程序的方式实现。结构化程序设计方法使高级语言程序设计开始变得普及,并促进了计算机技术的深入应用。
虽然结构化程序设计方法采用了功能抽象、模块分解与组合,以及自顶向下、逐步求精的方法,能有效地将各种复杂的任务分解为一系列相对容易实现的子任务,有利于软件开发和维护;但与面向对象程序设计方法相比,结构化程序设计存在的主要问题是,程序的数据和对数据的操作相互分离,若数据结构改变,程序的大部分甚至所有相关的处理过程都要进行修改。因此,对于开发大型程序具有一定的难度,软件的可重用性差,维护工作量大,不完全符合人类认识世界的客观规律。
2.面向对象程序设计有哪些重要特点?
【解答】软件设计的目的是为了解决日常生活中存在的各种实际问题,面向对象程序设计与以往各种程序设计方法的根本区别是程序设计的思维方法的不同。它主要具有如下重要特点:
(1)面向对象程序设计实现了较直接地描述客观世界中存在的事物(即对象)及事物之间的相互关系,它所强调的基本原则是直接面对客观事物本身进行抽象,并在此基础上进行软件开发,将人类的思维方式与表达方式直接应用在软件设计中。
(2)面向对象的程序设计将客观事物看作具有属性和行为的对象,通过对客观事物进行抽象来寻找同一类对象的共同属性(静态特征)和行为(动态特征),并在此基础上形成类。
(3)面向对象的程序设计将数据和对数据的操作封装在一起,提高了数据的安全性和隐蔽性。 第1章 面向对象程序设计概述 3
基于面向对象的软件工程开发研究
张海飞 西北民族大学甘肃 兰州 7 30124
【摘要】利用旱已定义好的方法集和符号表示习惯来组织软件生产的过程是软件工程的开发方法。根据用户需求在规定的时间和投资内开发出高 质量的软件是软件开发的目标,然而计算机软件开发生产效率却远远跟不上计算机应用的要求,软件成本逐步上升,质量没有可靠的保证,而软件 的维修与保护却需要花费很大的代价,软件已经成为约束计算机系统发展的关键因素。为解决软件开发与维护的问题,一门新兴的工程学一软件工 程逐渐发展起来。软件工程从技术和管理两个方面研究怎样更好地维护,开发计算机软件的问题,很好地解了软件产业中的一系列问题。 【关键词】软件工程开发面向对象技术软件开发 中图分类号:TP311.5文献标识码:B文章编号:1009—4067(2014)01.78.01
软件工程是一门指导计算机软件维护和开发的工程学科,许多软件 工程的方法学的出现是软件工程出现的结果。要开发出高质量的软件并
有效地进行维护,需要利用工程的概念、原理、方法和技术,并且把经
过时间考验而证明过的正确有效的管理技术和当前能够得到的最好的方 法技术有机地结合起来。
为了达到降低成本、提高质量的目的,软件工程需要使用管理学、
数学和计算机科学的原理,并参照传统工程的技术方法、原则来开发软 件。其中,计算机科学和数学用来建立模型与算法,管理科学用来计划
资源质量和成本等的管理。
方法、工具和过程是软件工程方法学的三个要点。方法是指为了完
成软件开发的各项任务所利用的技术方法;工具是为方法的实现所提供 的硬件支持;过程是指为了得到高质量的软件产品而所需完成的一系列
的任务框架。
因为面向对象技术增强软件系统的稳定性、可重用性和可修改性,
并且把面向对象分析和设计、编程集成到软件存活周期的对应阶段,还 具有方法的连续性、唯一性的特性,所以说面向对象技术(O0)是一种非
常实用的软件开发技术。面向对象的软件工程(OOSE)从始到终、从上至