软件工程习题及软件工程作业_第1页
软件工程习题及软件工程作业_第2页
软件工程习题及软件工程作业_第3页
软件工程习题及软件工程作业_第4页
软件工程习题及软件工程作业_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第一章1.填空(1)软件是计算机系统中的___程序(指令)__、数据及其__文档(+服务)___的总称。(2)软件的类型按功能可以分为___系统软件___、__支撑软件___和___应用软件__3中类型。(3)国家标准GB/T1147—1995《软件工程术语》对软件工程的定义是软件开发、运行、维护和引退________系统方法_______。(4)软件工程是指导计算机______软件开发和维护____的工程学科。(5)软件工程采用_____工程的概念、原理、技术和方法_____来开发与维护软件。(6)软件工程的目标是____实现软件的优质高产______。(7)软件工程的主要内容是_____软件开发技术 和软件工程管理_____。2.选择。(1)下面(B)不是软件的特征。A系统性与复制性B有形性与可控性C抽象性与智能性D依附性与泛域性(2)下面(D)不是系统软件。A.BIOS B.Windows C.设备驱动程序 D.办公软件(3)软件危机的主要原因(A)A软件本身特点与开发方法 B对软件的认识不够 C软件生产能力不足 D软件工具落后(4)下面(C)不属于软件工程学科所要研究的基本内容。A软件工程原理 B软件工程目标 C软件工程材料 D软件工程过程(5)下面(B)是正确的说法。A.20世纪50年代提出了软件工程的概念B.20世纪60年代提出了软件工程概念C.20世纪70年代出现了客户机/服务器技术D.20世纪80年代软件工程学科达到成熟.第二章1.填空(1)___软件可行性分析____的目的就是用最小的代价在尽可能短的时间内确定该软件项目是否能够开发,是否得去开发。(2)可行性分析的目的不是去开发一个软件项目,而是研究这个软件项目内容是否____值得去开发、其中的问题能否解决___。(3)可行性分析实质上是要进行一次简化,压缩了的___需求分析____和___设计____过程,要在较高层次上以较抽象的方式进行需求分析和设计过程。(4)可行性分析需要从___技术____可行性、___经济____可行性和___社会____可行性3个方面分析研究每种解决方法的可行性。(5)技术可行性是对要开发项目的___功能____、___性能____、___控制条件____进行分析,确定在现有的资源条件下,技术风险有多大,项目是否能实现。(6)技术可行性一般要考虑的情况包括___开发的风险____、___资源的有效性____、___技术____。(7)技术可行性的研究包括___成本—效益分析____、____公司经营长期策略___、__开发所需的成本和资源___、_潜在的市场前景_。(8)社会可行性所涉及的范围包括___合同____、___责任____、___侵权____、用户组织的管理模式、规范及其他一些技术人员常常不了解的陷阱等。(9)典型的可行性分析有这样的步骤:确定项目规模和目标、___研究正在运行的系统____、___建立新系统的高层逻辑模型____、导出和评价各种方案、推荐可行的方案和编写可行性分析报告。(10)一个可行性分析报告的主要内容有:引言、可行性分析的前提、对现有系统的分析、____所建议系统的技术可行性分析___、___系统的经济可行性分析____、____社会因素可行性分析___、其他可供选择的方案和结论意见。(11)成本—效益分析首先是估算将要开发的系统___开发成本___,然后与可能取得的效益进行____比较和权衡___。(12)效益分析有有形效益和无形效益两种。有形效益可以用____货币的时间价值___、____投资回收期___和____纯收入___等指标进行度量;无形效益主要从性质上、心理上进行衡量,很难直接进行量的比较。(13)____投资回收期___就是使累计的经济效益等于最初的投资费用所需要的时间。项目____纯收入___是指在整个生存周期之内的累计经济效益(折合现在值)与投资之差。(14)项目开发计划的主要内容有:项目概述、___实施计划____、___人员组织____和交付期限。(15)纯收入是软件生存周期内两项值之差,这两项是___经济效益____与___投资____。(16)软件工程有两种效益,它们是___无形效益____和___有形效益____。(17)可行性分析具体步骤的最后一步是___编写可行性报告____。(18)系统的经济效益等于___因使用新的系统而增加的收入____加上___使用新的系统可以节省的运行费用____。(19)成本—效益分析的目的是从___经济角度____评价开发一个新的软件项目是否可行。(20)可行性分析中描述系统高层物理模型的工具是____系统流程图___。(21)可行性分析实质上是进行一次简化、压缩了的___需求分析和设计____。(22)可行性分析的第一个具体步骤是___确定项目的规模和目标____。2.选择。(1)研究开发资源的有效性是进行(A)可行性分析的一个方面。A技术 B经济 C社会 D操作(2)在软件的可行性分析中,可以从不同的角度对软件进行研究,其中从软件的功能可行性角度考虑的是(B)A经济可行性 B技术可行性 C操作可行性 D法律可行性(3)在遵循软件工程原则开发软件过程中,计划阶段应该依次完成(B)。 A软件计划、需求分析、系统定义 B系统定义、软件计划、需求分析C需求分析、概率设计、软件计划D软件计划、需求分析、概率设计(4)技术可行性要解决(D)A存在侵权否 B成本—效益问题 C运行方式可行 D技术风险问题(5)在软件项目中,不随参与人数的增加而使软件的生产增加的主要问题是(D)A工作阶段间的等待时间 B生产原型的复杂性 C参与人员所需的工作站数 D参与人员之间的通信困难(6)制定软件计划的目的在于尽早对欲开发的软件进行合理估价,软件计划的任务是(D)。A组织与管理 B分析与估算 C设计与测试 D规划与调度(7)研究软硬件资源的有效性是进行(A)研究的一方面。A技术可行性 B经济可行性 C社会可行性 D操作可行性(8)可行性的分析要进行的需求分析和设计应是(A)。A详细的 B全面的 C简化的、压缩的 D砌底的第三章1.填空。(1)用于描述基本加工说明的3种描述工具是__结构化语言、判定表和判定树__。(2)数据字典中有4类条目,分别是__数据流、数据项、数据存储和基本加工__。(3)需求分析阶段产生的最重要的文档是__需求规格说明书__。(4)DFD利用图形符号表示系统的传统工具,它利用__信息流动__来表示系统中的各个元素。(5)DFD是描述系统的传统工具,它用__图形符号__来表示系统中的各个元素。2.选择。(1)软件质量必须从软件分析开始,在(D)加以保证。A开发之前 B开发之后 C可行性研究过程 D整个开发过程(2)SA方法的基本思想是(C)。A自底向上逐步抽象 B自底向上逐步分解 C自顶向下逐步分解 D自顶向下逐步抽象(3)DFD是常用的进行软件需求分析的图形工具,其基本符号是(C)。A输入、输出、外部实体和加工B变换、加工、数据流和存储C加工、数据流、数据存储和外实部体D变换、数据存储、加工个数据流(4)判断表和判断树是DFD中用以描述加工的工具,它通常描述的对象是(D)。A逻辑判断 B层次分解 C操作条目 D组合组件(5)系统流程图用于可行性分析中的(A)的描述。A当前运行系统 B当前逻辑模型 C目标系统 D新系统(6)系统流程图是描述(D)的工具。A逻辑系统 B程序系统 C体系系统 D物理系统(7)在程序的描述和分析中,用于指明数据来源、流向和处理的辅助图形是(B)。A数据结构图 B.DFD C业务结构图 D其他图(8)U/C矩阵是用来进行(C)的方法。A系统方法 B系统分析 C子系统划分 D系统规划(9)需求规格说明书的作用不应该包括(D)。A软件设计的依据 B用户与开发人员对软件要做什么的共同理解C软件验收的依据 D软件可行性研究的依据第四章1.填空。(1)总设计又叫做__概要设计__。(2)在设计阶段,要充分体现软件工程“__模块化__”、“抽象”“信息隐蔽”等基本原则。(3)系统详细设计阶段最后产生的文档是__详细设计说明书__。(4)浮动位置菜单又叫做__弹出式菜单__。(5)数据的显示形式主要包括字符显示和__图形显示__。2.选择。(1)以下(D)不属于系统设计。A总体设计 B详细设计 C过程设计 D需求设计(2)为了提高模块的独立性,模块之前最好是(C)。A公共耦合 B控制耦合 C数据耦合 D内容耦合(3)详细设计的任务上是确定每个模块的(B)。A外部特性 B算法和数据结构 C内部特性 D功能(4)数据库设计时的概念数据模型一般用(B)图表示。A.PAD B.E-R C.E-P D.HIPO(5)以下(C)不属于报告的布局。A快结构表 B列表报表 C栈结构表 D组结构表第五章1.填空。(1)在面向对象分析和面向对象设计中,通常把对象的操作称为__方法或服务__。(2)对象的抽象是__类__,类的实例化是__对象__。(3)面向对象的程序设计语言应具备对象方法所要求4个成分,它们是__类__、__对象__、__继承__、__消息通信__。(4)可能的潜在对象有7类,它们是__外部实体__、__事物__、__事件__、__角色__、__场所或位置__、__组织机构__、__结构__。(5)具有__相同特征和行为__的对象构成类。2.选择。(1)汽车有一个发动机,汽车和发动机之间的关系是__B__关系。A一般具体 B整体部分 C分类 D组装(2)在面向对象方法中,信息隐蔽是通过对象__C__来实现的。A分类性 B继承性 C封装性 D共享性(3)只有类的共有界面的成员才能成为使用类的操作,这是软件设计(C)的原则。A过程抽象 B功能抽象 C信息隐蔽 D共享性 E连通性(4)当且仅当一个操作对类实例的用户有用是,它才是类公共界面的一个成员,这是软件设计的(B)原则。A标准调用 B最小界面 C高耦合 D高效率 E可读性(5)每个派生类应该当做基类的特殊化来开发,而基类所具有的公共界面是派生类的共有界面的一个子集,这是软件设计的(E)原则。A动态联编 B异质表 C信息隐蔽 D多态性 E继承性第六章1.填空。(1)程序设计语言是人与__计算机__交流的__工具__。(2)从语言层次上,程序设计语言可以分为__面向机器的语言__和__面向问题的语言__两种类型。(3)___20世纪50_年代出现了模块化程序设计方法,__20世纪60__年代出现了结构化程序设计方法。(4)程序设计风格是指一个人编制程序时表现出来的__特点__、习惯和__逻辑__。(5)代码实现可以分为数据库、业务对象和用例实现,以及__自顶向下策略__和__自底向上策略__3种策略。2.选择。(1)下面(A)属于专用语言。A.LISP B.C C.PASCAL D.JAVA(2)不属于一般程序设计方法的是(B)。A模块化程序设计方法 B体系化程序设计方法 C结构化设计方法 D面向对象程序设计方法(3)下面不符合命名规范的表识符是(D)。A.sUmNmber B.SumNumber C.Sum_OfNumber D.SumC)fNumber(4)下面(C)不属于选择面对对象语言应该考虑的因素。A开发环境 B发展前景 C类库的可扩展性 D支持多继承(5)下面(C)是错误的说法。A中间版本是软件未完成前的版本 B.a版本是可以提交严格测试的软件版本 C.B版本是提交给测试一人员进行全面测试的软件版本 D发布版本是正式想社会发布,或想用户提交使用的软件版本第七章1.填空。(1)软件测试的目的是__发现软件的错误__。(2)单元测试一般以__白盒法__为主,测试的依据是__系统的模块功能规格说明__。(3)黑盒测试法是通过分析程序的__功能__来设计测试用例的方法。(4)软件测试用例主要由输入数据和__预期输出结果__两部分组成。(5)为适应软硬件环境变化而修改软件的过程是__适应性维护__。2.选择。(1)成功的测试是指运行测试用例后(B)。A未发现程序错误 B发现了程序错误 C证明程序正确 D改正了程序错误(2)白盒测试法是根据程序的(B)来设计测试用例的方法。A应用范围 B内部逻辑 C功能 D输入数据(3)检查软件产品是否符合需求定义的过程称为(C)。A组装测试 B单元测试 C系统测试 D确认测试(4)软件的继承测试工作最好由(D)承担,以提高继承测试的效果。A该软件的设计人员 B该软件开发组的负责人 C该软件的编程人员 D不属于该软件开发组的软件设计人员(5)(C)是决定软件维护成败和质量好坏的关键。A修改程序 B建立目标程序 C分析和理解程序 D重新验证程序第八章1.填空。(1)项目是为了创造一个唯一的__产品__或提供一个唯一的__服务__而进行的__临时性__的努力。(2)软件项目启动过程的主要的主要任务是确定项目的目标、__约束__和__自由度__,并进行__投资/效益__分析和可行性研究,如果符合企业的__商业目标__则确定立项。(3)软件项目估算的内容主要有软件__规模__估算、__工作量__估算、__成本__估算和__进度__估算。(4)风险就是损失的可能性。风险具有两大属性:__可能性__和__损失__。可能性是风险发生__概率__,损失是指预期与后果之间的___差异_。(5)项目监控就是为了保证项目能够按照预先设定的目标发展。监控是一个__反馈__过程,项目跟踪是项目控制的__前提和条件__,项目控制是项目跟踪的__目的和服务对象__。2.选择。B(1)项目管理通过一个____的、____的柔性组织,运用相关的知识、技术、____和手段,对项目进行高效率的计划、组织、指导和____,以油画项目目标的实现。A标准 长期 方法 管理 B临时性 专门 工具 控制C长期 专门 方法 工具 D标准 兼职 数据 设计B(2)从管理过程角度看,软件项目管理可分为项目启动、项目____、项目____、项目____、项目____5个项目。A需求分析 组织实施 监控 交付 B计划 组织实施 监控 收尾C运行 组织实施 监控 接受 D设计 实施 监控 运行B(3)软件项目启动过程的主要任务是确定项目的____、约束和自由度,并进行____分析和可行性研究,如果符合企业的____则确定立项。立项的____是正式下达项目任务书。A范围 可行性 利益 决策 B目标 投资/效益 商业目标 标志C目标 设计 利益 原则 D需求 需求 目标 标志D(4)关键路径上的活动称为____活动。如果能够缩短关键活动所需的时间,就可以____项目的完工时间。而缩短____路径上的各个活动所需要的时间,不能使项目完工____提前。A规范 交付 标准 签入 B规范 交付 非标准 时间C关键 缩短 标准 日期 D关键 缩短 非关键 时间C(5)在软件项目的开发过程中必须及时跟踪项目的质量计划完成情况,测定____是否达到要求的____。通过质量跟踪____来判断项目执行过程的质量情况,决定产品是否可以____,还是需要返工或者放弃。A文档 需求 标准 签入 B质量手册 原理 规范 交付C产品 质量标准 结果 接受 D软件 质量 数据 运行第九章1.填空(1)应用CMMI,评估机构__评估__软件组织的软件能力成熟度等级,软件采购方能够用来__考查__软件承包方软件项目开发能力,软件组织也可以用它来持续__改进__自身软件开发能力水平。(2)在RUP4+1视图中,__逻辑__视图是面向对象设计时的对象模型。__开发__视图描述软件在开发环境下的静态组织。___处理_视图描述系统的并发和同步方面的设计。___物理_视图描述软件映射到硬件方面的设计。__场景__视图描述构件间的关系。(3)MSF过程模型把__瀑布__模型中基于里程碑的规划优势与__螺旋__模型中增量迭代的长处结合在一起,形成构思、__计划__、开发、__稳定__和发布5个阶段迭代改进螺旋上升的流程。(4)形式话方法的本质是用__数学__方法来描述软件系统,不同的__形式化__方法其数学基础不同。在净室软件工程中,单元测试和调试被正确性__验证__和基于__统计__的测试所替代,这些活动使得净室方法与众不同。(5)敏捷宣言宣称:个体和交互胜过过程和__工具__,可以工作的软件胜过面面俱到的__文档__,客户合作胜过__合作谈判__,响应变化胜过__遵循计划__。2.选择B(1)如要达到CMMI某个____要求,就要达到该级别及其以下所有____的要求。如果要达到某个过程域某个____的要求,就需要证明该目标所有____都做到位了。A目标 过程域 实践 级别 B级别 过程域 目标 实践C过程域 实践 目标 原则 D需求 级别 目标 标志A(2)IBMRational软件工程体系以____和____而闻名,同时具有较为完善的软件工具集,支持____、设计与构造、软件质量、软件配置管理、过程与项目管理、____等软件工程各个阶段。A统一建模语言 统一过程 需求分析 部署管理B统一过程 统一建模语言 规范 需求分析 C产品 需求分析 同一过程 统一建模语言D需求分析 统一过程 统一建模语言 运行B(3)微软的软件开发团队实行____交叉管理,纵向垂直管理与汇报关系为:产品总经理→部门经理→小组长→组员。横向管理为产品特性____,产品特性项目组成员职能划分为5种____,各角色地位____。A对等 过程 组员 平凡 B矩阵式 项目组 角色 对等C产品 对等 项目组 崇高 D项目组 角色 语言 非凡D(4)敏捷过程模型是一个____开发过程,消除了开发中不必要的____和提交物。它把开发活动—分析、设计、编码和测试____在一起,全过程采用____开发、反馈修正和反复测试的策略。A迭代增量 过程 组织 平凡 B矩阵式 项目组 迭代 对等C产品 增量 增量 项目 D渐进型 步骤 结合 迭代增量C(5)在形式化方法中,规范描述采用数学的形式和____记法;分析推理采用数学方法对软件形式化____进行分析和推理;代码实现运行数学方法从____逐步推导出____的程序。A对等 规约 规约 一般 B符号 描述 文档 源代码C语义 规范 高层描述 可正确运行 D数学 文档 符号 汇编第1章概述1.什么叫软件危机?软件危机主要有哪几种表现?答:软件危机指的是软件开发和维护过程中遇到的一系列严重问题。软件危机包含下述两方面的问题:如何开发软件,怎样满足对软件日益增长的需求;如何维护数量不断膨胀的已有软件。软件危机主要有下列表现:①产品不符合用户的实际需要。②软件开发生产率提高的速度远远不能满足客观需要。③软件产品的质量差。④对软件开发成本和进度的估计常常不准确。⑤软件的可维护性差。⑥软件文档资料通常既不完整,也不合格。⑦软件的价格昂贵。2.什么叫软件工程?软件工程是如何克服软件危机的?答:软件工程是指导计算机软件开发和维护的一门学科。它采用工程的概念、原理、技术和方法,把经过时间考验而证明是正确的管理技术和当前能够得到的最好的技术方法结合起来,用于开发与维护软件。软件工程是这样克服软件危机的:①用分阶段的生存周期计划严格管理。②坚持进行阶段评审。③实行严格的产品控制。④采用现代程序设计技术。⑤应能清楚地审查结果。⑥合理安排软件开发小组的人员。3.软件工程的目标、原则和主要研究内容是什么?答:软件工程的目标是:①定义良好的方法学,面向计划、开发维护整个软件生存周期的方法学。②确定软件成分,记录软件生存周期每一步的软件文件资料,按步显示其轨迹。③可预测结果,在生存周期中,每隔一定时间可以进行复审。软件工程学的最终目的,是以较少的投资获得易维护、易理解、可靠、高效率的软件产品。软件工程的原则是:①分解。②抽象和信息隐蔽。③一致性。④确定性。软件工程的主要研究内容是:软件结构、软件设计与维护方法、软件工具与环境、软件工程标准与规范、软件开发技术与管理技术的相关理论。第2章可行性研究1.可行性研究的任务是什么?简述可行性研究的步骤。答:可行性研究的任务是:①经济可行性。②技术可行性。③运行可行性。④法律可行性。⑤开发方案可行性。可行性研究的步骤是:①复查系统规模和目标。②研究目前正在使用的系统。③导出新系统的高层逻辑模型。④重新定义问题。⑤导出和评价供选择的方案。⑥推荐一个方案并说明理由。⑦推荐行动方针。⑧书写计划任务书。⑨提交审查。第3章需求工程1.需求分析的任务是什么?怎样理解分析阶段的任务是决定“做什么”,而不是“怎样做”?答:需求分析的基本任务是分析与综合已收集到的需求信息,通过分析找出需求信息内在联系和可能的矛盾,通过综合找出解决问题的方法并建立系统的逻辑模型。具体地说,需求分析是提炼、分析和审查已收集到的需求信息,找出真正的和具体的需求,并确保所有相关人员都理解其含义。此外,通过建立软件系统的逻辑模型,发现和找出需求信息中存在的冲突、遗漏、错误或含糊的问题。①绘制系统关联图。②创建用户接口原型。③分析需求可行性。④确定需求的优先级。⑤为需求建立模型。⑥创建数据字典。⑦质量功能调配。我是这样理解分析阶段的任务是决定“做什么”,而不是“怎样做”:分析阶段主要是指用户对软件的功能与性能需求,也就是用户希望软件能够做什么事情,完成哪些功能,达到哪些性能等,而不是如何去实现软件的这些功能。2.需求规格说明书由哪些部分组成?各部分的关系是什么?答:需求规格说明书由下列部分组成:①引言。②任务概述。③数据描述。④功能要求。⑤性能需求。⑥运行需求。⑦其他要求。⑧附录。各部分的关系是:首先用户必须对软件功能和性能提出初步要求,并澄清一些模糊概念;然后软件分析人员认真了解用户的要求,细致地进行调查分析,把用户要求做什么的问题转换成一个完全的、精细的软件逻辑模型并写出软件的需求规格说明,准确地表达用户的要求。第4章概要设计1.结构化设计方法的基本思想是什么?它如何与SA方法相衔接?答:结构化设计方法的基本思想是:①系统分析员审查软件计划、软件需求分析提供的文档,提出候选的最佳推荐方案以及系统流程图、组成系统物理元素清单、成本效益分析和系统的进度计划供专家审定,审定后进入设计。②确定模块结构,划分功能模块,将软件功能需求分配给所划分的最小单元模块。确定模块间的联系,确定数据结构、文件结构、数据库模式,确定测试方法与策略。③编写概要设计说明书、用户手册、测试计划,选用相关的软件工具来描述软件结构,选择分解功能与划分模块的设计原则。它是这样与SA方法相衔接的:①设计系统方案。②选取一组合理的方案。③推荐最佳实施方案。④功能分解。⑤软件结构设计。⑥数据库设计与文件结构设计。⑦制订测试计划。⑧编写概要设计文档。⑨审查与复审概要设计文档。2.什么是模块独立性?用什么来度量?答:模块独立性是指软件系统中每个模块只涉及软件要求的具体子功能,而且与其他模块接口简单。模块独立的概念是模块化、抽象、信息隐蔽和局部化概念的直接结果。模块的独立程度可以由两个定性标准度量,这两个标准分别称为耦合和内聚。耦合衡量不同模块彼此间互相依赖的紧密程度;内聚衡量一个模块内部各个元素彼此结合的紧密程度。3.什么是自顶向下设计?为什么说它尤其适用于大型软件的开发?答:自顶向下设计:设计人员要对系统有一个全面的了解,然后从顶层开始,连续地逐层向下分解,直至系统的所有模块都小到便于掌握为止。对于大型软件的开发,如若采用自顶向下的方法进行设计,可以很好的把握整体系统,使得系统整体结构合理。第5章详细设计1.简述详细说明书的主要内容。怎样对它进行复审?答:详细说明书的主要内容是:①表示软件结构的图表。②对逐个模块的程序描述,包括算法和逻辑流程,输入/输出项与外部接口等。这样对它进行复审:详细设计复审的重点应该放在各个模块的具体设计上。例如,设计的模块能否满足其功能与性能要求,选择的算法与数据结构是否合理,是否符合编码语言的特点,设计描述是否简单而清晰等。2.说明详细设计的基本原则和任务。答:详细设计的基本原则是:①由于详细设计的蓝图是给人阅读的,是编码的基础,所以模块的逻辑描述要清晰易读、正确可靠。②采用结构化设计方法,改善控制结构,降低程序的复杂程度,从而提高程序的可读性、可测试性、可维护性。③选择恰当的描述工具来描述各模块算法。详细设计的任务是:为每一个模块确定使用的算法和相关的数据结构,并用选定的表达工具清晰地描述。这一阶段的主要任务如下:①为每个模块确定采用的算法,选择某种适当的工具表达算法的过程,写出模块的详细过程性描述。②确定每一模块使用的数据结构。③确定模块接口的细节。④要为每一个模块设计出一组测试用例,以便在编码阶段对模块代码(即程序)进行预定的测试。第6章面向对象设计1.什么是面向对象方法学?试阐述这种方法学的主要优点。答:面向对象软件开发方法是一种运用对象、类、继承、封装、聚合、消息传送、多态性等概念来构造系统的软件开发方法。面向对象方法的基本思想是从现实世界中客观存在的事物出发来构造软件系统,并在系统构造中尽可能运用人类的自然思维方式。面向对象方法学的主要优点:①从问题域中客观存在的事物出发来构造软件系统,用对象作为对这些事物的抽象表示,并以此作为系统的基本构成单位。②事物的静态特征是可以用一些数据来表达的特征,可以用对象的属性表示,事物的动态特征(即事物的行为)用对象的服务(或操作)表示。③对象的属性与服务结合为一个独立的实体,对外屏蔽其内部细节,称为封装。④把具有相同属性和相同服务的对象归为一类,类是这些对象的抽象描述,每个对象是它的类的一个实例。⑤通过在不同程度上运用抽象的原则,可以得到较一般的类和较特殊的类。特殊类继承一般类的属性和服务,面向对象方法支持对这种继承关系的描述与实现,从而简化系统的构造过程及其文档。⑥复杂的对象可以用简单的对象作为其构成部分,称为聚合。⑦对象之间通过消息进行通信,以实现对象之间的动态联系。⑧通过关联表达对象之间的静态关系。2.面向对象分析的过程、遵循的准则是什么?答:面向对象分析的过程:①发现对象、定义它们的类。②识别对象的内部特征。③识别对象的外部关系。④划分主题,建立主题图。⑤定义usecase,建立交互图。⑥建立详细说明。⑦原型开发。面向对象分析遵循的准则是:①抽象。②分类。③聚合。④关联。⑤消息通信。⑥粒度控制。⑦行为分析。3.为“火车站自动化售票系统”设计一个结构化模型。答:第7章编码1.评价、选择可用编程语言的准则是什么?答:(1)理想标准:①应该有理想的模块化机制,以及可读性好的控制结构和数据结构,以使程序容易测试和维护,同时减少软件生存周期的总成本。②应该使编译程序能够尽可能多地发现程序中的错误,以便于调试和提高软件的可靠性。③应该有良好的独立编译机制,以降低软件开发和维护的成本。(2)实践标准:①语言自身的功能。②系统用户的要求。③编码和维护成本。④软件的兼容性。⑤可以使用的软件工具。⑥软件可移植性。⑦开发系统的规模。⑧程序设计人员的知识水平。2.提高软件可靠性的技术有哪些?它们有什么不同?答:提高软件可靠性的技术有:一类是避开错误技术,另一类是容错技术。两者的不同是:避开错误技术是在开发的过程中不让差错潜入软件的技术;容错技术是对某些无法避开的差错,使其影响减至最小的技术。避开错误技术是进行质量管理,实现产品应有质量所不可少的技术,也就是软件工程中所讨论的先进的软件分析和开发技术和管理技术。但是,无论使用多么高水平的避开错误技术,也无法做到绝无错误,这就需要采用容错技术。实现容错的主要手段是冗余和防错程序设计。3.采用面向对象的程序设计方法时,基本步骤是什么?答:(1)建立软件系统的动态模型:①根据问题域和具体要求确定组成软件系统的对象及该对象所应具备的固有处理能力。②分析各对象之间的所有联系,并确定它们相互间的消息传递方式。③设计对象的消息模式,由消息模式和对象的处理能力共同构成对象的外部特性。(2)建立软件系统的静态模型:①分析各对象的外部属性,将具有相同外部属性的对象归为一类,进而确定不同的类别。②确定类间的继承关系,将具有公共性质的对象放在较上层的类中描述,并通过继承来共享公共性质。③根据以上两点设计各对象的外部属性和层次结构。(3)实现:①为每个对

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论