软件工程答案整理.docx

上传人:h**** 文档编号:142902 上传时间:2018-07-10 格式:DOCX 页数:21 大小:77.55KB
下载 相关 举报
软件工程答案整理.docx_第1页
第1页 / 共21页
软件工程答案整理.docx_第2页
第2页 / 共21页
软件工程答案整理.docx_第3页
第3页 / 共21页
软件工程答案整理.docx_第4页
第4页 / 共21页
软件工程答案整理.docx_第5页
第5页 / 共21页
点击查看更多>>
资源描述

1、填空 1软件测试的目的是尽可能多地发现软件中存在的 错误 ,将 测试结果 作为纠错的依据。 2测试阶段的基本任务是根据软件开发各阶段的和程序的,精心设计一组,利用这些实例执行,找出软件中潜在的各种和。 3测试用例由和预期的两部分组成。 4软件测试方法一般分为两大类:方法和方法。 5动态测试通过发现错误。根据的设计方法不同,动态测试又分为与两类。 6静态测试采用和的手段对程序进行检测。 7人工审查程序偏重于的检验,而软件审查除了审查还要对各阶段进行检验。 8计算机辅助静态分析利用工具对测试程序进行分析。 9黑盒法只在软件的处进行测试,依据说明书,检查程序是否满足要求。 10白盒法必须考虑程序的和

2、,以检查的细节为基础,对程序中尽可能多的逻辑路径进行。 11白盒测试是测试,被测对象是,以程序的为基础设计测试用例。 12逻辑覆盖是对程序内部有存在的逻辑结构设计测试用例,根据程序内部的逻辑覆盖程度又可分为、和 6 种覆盖技术。 13实际的逻辑 覆盖测试中,一般以覆盖为主设计测试用例,然后再补充部分用例,以达到覆盖测试标准。 14循环覆盖是对程序内部有存在的逻辑结构设计测试用例,它通过限制来测试。 15基本路径测试是在程序基础上,通过分析控制构造的复杂性,导出集合,从而设计测试用例。 16黑盒测试是测试,用黑盒技术设计测试用例有 4 种方法:、 和。 17等价类划分从程序的说明,找出一个输入条

3、件(通常是或),然后将每个输入条件划分成两个或多个。 18边界值分析是将测试情况作为重点目标,选取正好等于、刚刚大于或刚刚小于的测试数据。如果输入或输 出域是一个有序集合,则应选取集合的元素和元素作为测试用例。 19在测试程序时,根据经验或直觉推测程序中可能存在的各种错误,称为。 20因果图的基本原理是通过画图,把用自然语言描述的转换为,最后为每一列设计一个测试用例。 21测试的综合策略是在测试中,联合使用各种方法。通常先用法设计基本的测试用例,再用法补充一些必要的测试用例。 22软件测试过程中需要 3 类信息:、和。 23软件测试一般经过 4 个测试:、和。 24指对源程序中每一个程序单元进

4、行测试,检查各个模块是否正确实现规定的功能,从而发现模块在编码中或算法中的错误,它涉及和的文档。 25单元测试主要测试的 5 个基本特征:、和。 26在单元测试中,需要为被测模块设计模块和模块。用来模拟被测模块的上级调用模块,用来代替被测模块所调用的模块。 27集成测试指在测试基础上,将所有模块按照设计要求组装成一个完整的系统进行的测试。也称测试或测试。 28集成测试的方法有两种:和。 29渐增式测试有两种不同的组装模块的方法:和。 30自顶向下渐增式测试不需要编写模块,只需要编写模块,其步骤是从模块开始,沿着被测程序的的控制路径逐步向下测试,它有两种组合策略:和。 31自底向上渐增式测试不需

5、要编写模块,只需要编写模块。 32确认测试指检查软件的与是否与说明书中确定的指标相符合,又称测试。 33确认测试在模拟环境下运用测试方法,由和参加的测试。 34确认测试开始前需要制定计划,结束后要写出报告。其测试用例要选用的数据。 35软件配置审查的任务是检查软件的所有文档资料的和。 36调试也称,是在成功的测试之后才开始进行,其目的是确 定错误的和,并改正错误。 37调试技术包括、和。 38回溯法调试是从出发,而归纳法调试是从入手。 39被测试程序不在机器上运行,而是采用人工检测和计算机辅助分析检测的手段称为 测试。 40用等价类划分法设计一个测试用例时,使其覆盖尚未被覆盖的合理等价类。 4

6、1用等价类划分法设计一个测试用例时,使其覆盖不合理等价类。 42在单元测试时,需要为被测模块设计。 43在集成测试时有两种测试方法,它们是。 44软件测试是为了而执行程序的过程。 45运行被测程序的方法称为测试。 46动态测试中,主 要测试软件功能的方法称为法。 47选择测试用例,使得被测程序中每个判定的每个分支至少执行一次,这种逻辑覆盖标准称为。 48要覆盖含循环结构的所有路径是不可能的,一般通过限制来测试。 49用等价类划分法设计测试用例时,如果被测程序的某个输入条件规定了取值范围,则可确定一个合理的等在和。 50凭经验或直觉推测程序中可能存在的错误而设计测试用例的方法是。 51集成测试中

7、的具体方法是。 52确认测试阶段的两项工作是。 53在单元测试中,测试一个模块时,需要设计。 54软件配置管理,简称 SCM,它用于整个软件工程过程。其主要目标是:、 、。 55 SCM 是一组管理整个软件生存期各阶段中的活动。 56基线的作用是把各阶段的开发工作划分得更加明确,便于检查与确认阶段成果。因此,基线可以作为项目的一个。 2. 文档资料内部结构测试用例程序错误缺陷 3. 输入数据输出数据 4. 动态测试静态测试 5. 运行程序测试用例黑盒测试白盒测试 6. 人工检测计算机辅助静态分析 7. 编码质量编码软件产品 8. 静态分析特性 9. 接口需求规格功能 10. 内部结构处理过程处

8、理过程测试 11. 结构源程序内部逻辑 12. 判定语 句覆盖判定覆盖条件覆盖判定 /条件覆盖条件组合覆盖路径覆盖 13. 条件组合路径 14. 循环循环次数 15. 控制流程图环路基本路径 16. 功能等价类划分边界值分析错误推测因果图 17. 功能一句话一个短语等价类 18. 边界边界值第一个最后一个 19. 错误推测法 20. 因果功能说明判定表判定表 21. 测试黑盒白盒 22. 软件配置测试配置测试工具 23. 单元测试集成测试确认测试系统测试 24. 单元测试编码详细设计 25. 模块模块接口局部数据结构重要的执行路径错误处理边界条件 26. 驱动桩驱动模块桩模块 27. 单元组装

9、 联合 28. 非渐增式测试渐增式测试 29. 自顶向下结合自底向上结合 30. 驱动桩顶层软件结构图深度优先策略宽度优先策略 31. 桩驱动32. 功能性能需求规格有效性 33. 黑盒专门测试人员用户 34. 测试测试分析实际运用 35. 完整性正确性 36. 纠错原因位置 37. 简单调试归纳法调试演绎法调试回溯法调试 38. 程序产生错误的地方测试结果发现的线索 39静态40尽可能多的 41一个 42驱动模块与桩模块 43渐增式和非渐增式 44发现错误 45动态测试 46黑盒法 47判定覆盖 48循环次数 49两个不合 理的等价类 50错误推测法 51渐增式和非渐增式测试方法 52进行确

10、认测试和软件配置审查 53驱动模块和桩模块 54标识变更 控制变更 确保变更正确地实现 报告有关变更 55变更 56检查点 1程序设计语言的特性主要有心理特性、工程特性和 技术特性 三个方面。 2程序语言的工程特性主要表现为可移植性、 开发工具的可利用性 、软件的可重用性和可维护性。 3为了提高程序的易读性,同时为减少错误,提高软件开发效率,编码时应注意养成良好的 程序设计风格 。 4程序加注释对理解程序提供了明确指导,根据作用不同注释分 序言性注释 和 功能性注释 。 5软件需求分析之后,软件的设计、编码、测试与语言的特性有很大的关系,这个特性主要是语言的 技术特性。 6语句构造的原则是 简

11、单直接 ,不能为了追求效率而使代码复杂化。 7 FORTRAN 语言上世界上第一个被正式推广应用的计算机语言,它不仅面向科学计算,数据处理能力也极强。 8 汇编语言 是面向机器的,可以完成高级语言无法满足要求的特殊功能,如与外部设备之间的一些接口操作。 9为了使数据定义更容易理解和维护,一个语句说明多个变量时,各变量名按 字典 排列。 10 编码 是将详细设 计得到的处理过程的描述转换为基于某种计算机语言的程序。 1软件原来没有帮助信息,使用不方便,现在要增加帮助信息。这种维护性活动称之为 完善性维护 。 2 调试也称 纠错 ,是在成功的测试之后才开始进行,其目的是确定错误的 原因 和 位置

12、,并改正错误。 3 调试技术包括 简单调试 、 归纳法调试 、 演绎法调试 和 回溯法调试 。 4 回溯法调试是从 程序产生错误的地方 出发,而归纳法调试是从 测试结果发现的线索 入手。 简答题 1 简述 1983 年 IEEE 为软件下的定义。 5822926 计算机程序、方法、规则、相关的文档资料以及在计算机上运行程序时所必需的数据。 2 简述软件危机的表现有哪些?以及解决软件危机的途径有哪些? 软件危机的主要表现包括: (1) 软件开发进度难以预测,开发成本难以控制,导致超预算、超时; (2) 产品功能难以满足用户需求; (3) 软件产品质量无法保证; (4) 软件缺少适当的文档资料,维

13、护困难; (5) 软件成本超过硬件成本; (6) 软件开发生产率的提高速度跟不上计算机应用普及深入的趋势; 解决软件危机的途径有: 1管理措施:项目管理、配置管理、过 程管理、质量控制 2技术措施:开发过程、开发技术与方法和开发工具 3 软件工程的定义 1993 年 IEEE 给出的定义:软件工程是: 系统的、规范的、可度量的途径应用于软件开发、运行和维护过程,也就是把工程应用于软件; 研究中提到的途径。 ” 软件工程是围绕软件开发的一门交叉学科: 软件工程 =计算机科学 +工程学 +管理学 4 软件工程的 10个知识领域 软件工程过程 ( Software Engineering Proce

14、ss) 软件工程工具和方法 ( Software Engineering Tools and Methods ) 软件需求 (Software Requirement)l 软件设计 (Software Design ) 软件构造 (Software Construction) 软件测试 (Software Testing) 软件维护 (Software Maintenance) 软件配置管理 (Software Configuration management) 软件工程管理 ( Software Engineering management ) 软件质量 ( Software Quality

15、) 5 软件工程的目标是什么,软件工程的三要素都是什么? 软件工程的目标:软件工程必须以有组织的质量保证为基础,进行全面质量管理,不断地过程改进使软件工程方法走向成熟。 软件工程的三要素包括:过程、方法和工具 过程为及时合理地开发出满足用户需求的计算机软件而进行一系列有组织的活动。过程定义了技术方法的采用、工程产品 (包括模型、文档、数据、报告、表格等 )的产生、里程碑的建立、质量的保证和变更的管理。 方法为软件开发提供“如何做”的技术,它涵盖了项目计划、需求分析、系统设计、程序实现、测试与维护等 一系列的开发活动如何来做。开发方法经历了从面向结构、面向对象、面向组件到面向服务的发展工程。 工

16、具为过程和方法提供自动的或半自动的支持。这些软件工具被集成起来,建立起一个支持软件开发的系统,称之为计算机辅助软件工程 (CASE , Computer Aided Software Engineering)。 6 软件工程的七条基本原理 美国著名的软件工程专家巴利 玻姆 (Barry Boehm)提出了软件工程的七条基本原理: 1用分阶段的生命周期计划严格管理; 2坚持进行阶段评审; 3实行严格的产品控制; 4采纳现代程序设计技术; 5结果应能清楚地审查; 6开发小组的人员应少而精; 7承认不断改进软件工程实践的必要性。 7 简述软件过程的定义,软件过程又可以分为那几个类型? 软件过程 (S

17、oftware Procedure)是为获得软件产品,在软件工具支持下由软件工程师完成的一系列软件工程活动。 软件过程可概括为基本过程、支持过程和组织过程等三种类型。 其中, 基本过程包括:获取过程、供应过程、开发过程、运作过程和维护过程。支持过程包括:文档编制过程、配置管理过程、质量保证过程、验证过程、确认过程、联合评审过程和问题解决过程等过程。组织过程包括:管理过程、基础设施过程、改进过程和培训过程。 8 里程碑 ( Mile Stone )思想 阶段工作的目标进行总结、评审、调整和部署下一个里程碑。目的:合理分配,细化管理“粒度”,降低项目风险。 9 基线思想 基线是指一个 (或一组 )

18、配置项在项目生命周期的不同时间点的一种状态,各阶段有各阶段的基线:需求基线、设计基线、测试基线等。基线一旦建立后变化需要受控制。 10 简述软件生存周期的概念,说明软件生存周期划分为那几个主要时期?每个时期有包括哪些主要阶段? 软件生存周期是指软件产品从定义到开发、使用和维护,直到最终被弃用的时期,称为生存周期。 生存周期的可划分为计划时期、开发时期和运行时期等三个主要时期。 其中计划时期包括问题定义和可行性研究两个阶段。开发时期包括需求分析、总体设计、详细设计和实现等四个阶段。运行时期的又称为运行和维护阶 段。 11 简述教材中介绍了那些软件开发模型?这些模型各有什么特点? 教材中重点介绍了

19、瀑布、原型、增量、螺旋四个传统模型和 RUP、 XP两个现代模型。 其中,瀑布模型严格按照生存周期开发软件,每个阶段必须完成规定的、完整、准确的合格文档,前一阶段的输出文档就是后一阶段的输入文档。 其主要特点包括:活动间具有顺序性和依赖性;推迟实现的观点;质量保证的观点; 快速原型模型法是开发人员在一个基本的需求的基础上快速开发出一个软件原型,然后由用户使用和评价原型、开发人员根据用户意见再修改原型,然后再使用评价再修改、直至将原型进化为最终产品。 快速原型模型的特点包括: 做出系统原型,及早向用户展示系统要实现的界面及功能,增强用户的合作信心; 直观化的表达,容易交流,消除理解上的歧义; 修

20、改集中在前期的原型确认上,较大程度减少后期实施中的返工。 入手快,加快开发进度; 增量模型是一种演化模型,先完成一个系统子集的开发,再按同样的开发步骤增加子集 ,如此递增下去直至满足全部系统需求。每个增量可按快速原型法进行。 增量模型的特点包括: 无须等待获取完整需求就可入手,尽快见到成果,增强双方信心; 分步开发,降低复杂性和难度,减少技术风险,并可并行开发; 边开发边投入,可及早发现问题,减少投资风险; 各个子集是逐渐并入已有的系统中,加入子集不能破坏已构造好的部分,这需要软件具备开放式的体系结构; 适用于需求不完整的软件开发,指的是需求逐渐摸清、逐步完善,并非随意改变,需求改变过大会导致

21、整体性失控。后面要介绍的 XP(极限编程)属于该模型。 螺旋模型 (Spiral model)是一种 融合了瀑布模型、快速原型模型和增量模型的演进模型,并引入风险分析机制。适合大型复杂的系统开发。 螺旋模型特点包括:多种模型结合的一种演进模型,融合了瀑布模型、快速原型和增量模型的所有特点,融进了循环往复、迭代演进的思想; 增加风险分析,一旦风险成立,原方案应终止、修订,力求风险可控 客户始终参与每个阶段的开发 ,每个阶段的成果需客户确认,避免错误的积累。 统一过程 RUP (Rational Unified Process)是由 Rational 公司在推出统一建模语言 UML 后,推出的 一

22、个软件开发框架 RUP,称为软件统一开发过程。 12 统一过程 RUP 定义了那几个主要阶段? 初始阶段 (Inception):主要完成商业需求,确定项目边界。里程碑是生命周期目标 (Lifecycle Objective),评价项目基本的生存能力。 细化阶段 (Elaboration):主要完成领域问题分析和软件设计。获取用户需求(功能和非功能需求),建立需求模型;进一步确立体系结构和设计软件结构等工作。里程碑是生命周期结构 (Lifecycle Architecture)。 构造阶段 (Construction):主要完成系统实现、测试,里程碑是初始功能 (Initial Operati

23、onal),产品版本常被称为“ beta” 版。 交付阶段 (Transition):重点是确保软件对最终用户是可用的。里程碑:产品发布 (Product Release) 13 统一过程 RUP 工作流 6个核心过程工作流 (Core Process Workflows) 商业建模 (Business Modeling):弄清项目边界和约束,做出计划。 需求 (Requirements):描述系统应做什么,开发人员和用户达成需求基线。 分析和设计 (Analysis 功能需求用软件行业术语表达:通常是需求建模的结果即目标系统的逻辑模型,如结构化的功能模型、数据模型、行为模型,面向对象的类模型

24、等。 4. 非功能需求 特性是指一些非功能需求,是满足业务需求的性能要求。如界面的交互性、数据的安全性、数据的事务性、用户的并发性、响应的快速性、操作的实时性、错误与异常的恢复性、软件的容错性等等。项目的失败或拖延一般不是在功能上,而恰恰倒是在性能要求上,因为这些性能与软件的体系结构有关,与构成系统的网路与硬件环境等底层技术有关 ,往往超越一般开发人员的技术能力。 22 需求获取的一般方法 需求获取方法以采访、观察、座谈、对先前的系统版本的测试等。必要时采用快速原型法。 先集中在使用者对系统的观点上,以收集用户原始资料,数据、工作方式、工作流程、使用要求等为工作起点,深入到部门、车间、班组,做

25、好原始纪录; 然后根据对问题及环境的理解与开发经验,改正用户需求的模糊、歧义和不一致性要求,排除用户的不合理要求,挖掘用户尚未提出但具有价值的潜在需求,使用户需求逐步精确化、一致化和完全化; 需求获取非一次完成:需要往复进行、逐步深化。 需求获取的内容:写进“需求规格说明书”,确认。 23需求获取的策略 循序渐进的策略; 确定优先级:先进行重点的需求调研,有助于识别出重大的风险,并为制定迭代计划提供指导; 不要陷入技术:需求未明确,应回避对技术问题讨论。 挖掘用户需求 : “ 诱导式”就是挖掘用户需求。客户并非 IT专业人士,需求的概念是模糊的、笼统的,而且尺度难以把握,预测潜在需求。 区分不

26、必要的需求:客户对有些需求提不出来,自然也会提出一些不必要的需求。 24 简述概要设计和详细设计的内容。 软件设计包括概要设计和详细设计。概要设计又分为体系结构设计和领域问题结构设计。 体系结构设计:是支撑和管理软件运行的环境设计。由于现代的软件是处在操作系统、网络、各种服务器共同搭建的环境下运行,并且具有并发、安全、事务等多方面的管理,是软件设计优先考虑的问题。 领域问题结构设计:满足需求的软件功能设计,核心所在。将领域问题的分析模型细化成软件结构模型,也就是划分软件的模块结构及确定模块之间的关系。 详细设计又分为如下三个部分: 对模块内部的过程和数据结构进行设计。也就是对模 块内进行算法分

27、析和程序设计。 人机交互界面的具体设计,还有与其它外部系统接口设计。 完成对数据库的物理设计 概要设计是根据需求确定软件和数据的总体框架;详细设计是进一步精化成软件的算法和数据结构。 25 25 简述衡量软件模块独立性的度量标准有哪些? 模块独立性是指模块能够完成独立的功能;模块符合信息隐藏和信息局部化原则;模块间关连和依赖程度尽量小。 衡量软件模块独立性的度量标准的指标有取决于模块的内部特征的指标内聚度和取决于模块的外部特征的指标耦合度。 内聚度:一个模块内部各个元素间 (语句和程序段 )彼此 的紧密程度的度量。 耦合度:指软件结构中各模块间相互联系紧密程度的一种度量。 26 简述内聚度的七

28、个等级? 内聚度表示一个模块内部各成分之间彼此结合的紧密程度。内聚度按其高低程度可分为七级,高内聚度模块独立性强,设计尽可能提高模块内聚度。 偶然性内聚:是指一个模块内各成分为完成一组功能而组合在一起,它们相互之间即使有关系,也很松散。 逻辑性内聚:模块内完成的诸任务逻辑上相关。该类内聚的缺点是执行中要从模块外引入用 作判断的开关量 ,从而 增加了块间偶合 (控制偶合 )。 时间性内聚:如果一个模块包含的诸任务必须在同一时间段内执行,则称之为时间性内聚 过程性内聚:模块的过程性内聚度是指模块内成份彼此相关,并且必须按特定的次序在本模块内执行; 通讯性内聚:是指模块中各组成成分都将对某个数据结构

29、的同一区域进行操作,以达到通信的目的。 顺序性内聚:一个模块内的各处理成分均与同一功能相关,且这些处理必须顺序执行,通常,一个处理成分的输出是另一个处理成分的输入。 功能性内聚:模块内所有成分形成一个整体,完成单个功能,则称功能内聚,功能内聚是最高程度的内聚形式。 27耦合度的七个等级 耦合度是模块独立性最显著特征。耦合度按其高低程度可分为七级,松耦合是软件设计一直追求的目标。 非直接耦合 : 模块不依赖另一个模块能独立工作,这是最松的耦合。 数据耦合 : 两模块间通过参数交换数据信息,则称这两模块为数据耦合。 特征耦合 :模块之间除传递关键数据外还附加公共数据。 控制耦合 : 如果两模块间通

30、过参数交换信息,此时若传递的信息中含有控制信息,则为控制耦合。 外部耦合 : 当若干模块均与同一个外部环境关联,它们之间便存在外部耦合。 公共耦合 : 当若干模块通过全局的数据环境相互作用时,它 们之间存在公共耦合。 内容耦合 :当一个模块使用另一个模块内部的数据或控制信息;一个模块直接转移到另一个模块内部等 ,模块间的耦合就是内容耦合。 28 简述模块的作用域与控制域的概念及其相关设计原则。 模块的作用域:从功能方面考虑,受模块内一个判定影响的所有模块的集合; 模块的控制域:从结构方面考虑,包括它自己及其所有下属模块的集合。 相关设计原则是:模块的作用域应在控制域之内。 29详细设计的表达方

31、式有哪些? 1.伪代码 (Pseudocode):是一种算法描述语言,也称 PDL 语言 (Program Design Language)。伪代码介于自然语言与编程语言之间,用伪代码描述的算法可以容易用任何一种编程语言实现。伪代码表达算法必须结构清晰、代码简单、可读性好。 2.程序流程图:用图形符号表达算法,直观表达循环、分支等复杂结构,是喜闻乐见的表现形式。 3.盒图 (N-S) (Nassi 和 Shneiderman):也是一种图形符号表达方式,同样可以表达各种流向控制,但比程序流程图紧凑、功能域明确。 4.PAD 图 (PAD-Problem Analysis Diagram)28:

32、同样是用图形符号表达算法,但它具有结 构化的表达方式,因此结构十分清晰,很容易翻译成程序代码。 PAD 支持自顶向下,逐步求精方法的使用。判定表与判定树:对于规则较多,判定条件较复杂的情况,宜采用这两种方法表达。 5.判定表与判定树:对于规则较多,判定条件较复杂的情况,宜采用这两种方法表达。 30 简述面向数据流的结构化分析 SA方法中,有哪些建模方法? 功能建模 :数据流图 DFD(Data Flow Diagram)+ 数据字典 DD(Data Dictionary); 数据建模 :实体关系图 ERD(Entity Relation Diagram); 行为建模 :状态转换图 STD(St

33、ate Transform Diagram); 加工说明 PESPEC(Process SPECification)和判定表等辅助工具。 31 简述数据流图( DFD)的图形符号有哪些? 数据流:表示数据流的名称和数据的流向 (从加工出发或流向加工 ); 外部实体:系统外与系统交互的人或实体; 数据加工:数据处理; 数据存储:数据进行持久保存的环节; 32简述数据字典的作用、内容和组成元素有哪些? 数据流图描述了数据加工,但没有描述数据的内容。数据流图必须与描述并组织数据条目的数据字典DD(Data Dictionary)配套使用。 数据字典描述的对象:描述数据流图中出现的所有数据和加工。这里

34、的数据描述是概念性的,属数据结构的抽象描述;加工采用加工小说明进行概念性的描述。 数据字典的组成元素包括:数据流条目、 数据存储条目、数据项条目;加工条目 (也称为小说明 ); 33 简述面向对象的基本概念有哪些? 1对象与面向对象 对象( Object):即表示客观世界中的某个具体的事物。面向对象( Object Oriented):是人类的活动,是人类认知、观察客观事物的方法论。 2面向对象的抽象与分类 3类的封装与对象的整体性 4关联性与交互性 客观事物都不是孤立存在的,万物之间相互依存、相互交流。关联性表达客观事物的社会性、共存性、组织性,是静态的结构描述。消息机制是对象的交互性,表示

35、对象生存环境的依赖性。 5继承性 对事物的分类本身就体现继承性。软件开发利用继承性可对 Object 更好地分类,软件结构更严谨,代码的复用性更强。 6多态性 对象在不同的条件下,同样的行为会表现不同的效果,这就是 Object 的多态 (polymorphism)。 面向对象编程语言提供抽象类、接口、重载等技术支持多态的实现。 34面向对象的五大特性有哪些? 面向对象的特性有抽象性、封装性、继承性、多态性和消息机制等五大特性。 35 简述面向对象开发过程的内容有哪些? 需求获取:开发者以 OO 的观点 (OOV)来观察客观世界的目标即获取需求,然后用自然语言写到需求规格说明 (OOS)中,也

36、就是对客观世界的最高层抽象。 面向对象分析 OOA (Object Oriented Analysis)与面向对象设计 OOD(Object Oriented Design)。 面向对象编程 Object Oriented Program(OOP)与面向对象测试 Object Oriented Testing (OOT)是代码实现过程,它依赖于编程语言和工具。 软件维护 Object Oriented Software Maintenance(OOSM)。 36 与传统的软件开发方法相比较,面向对象开发的主要优点有哪些? 1自然性即客观性 2操作数据对象而非数据实体 3阶段衔接平滑 4结构性好

37、、复用性强 5提高扩展性和维护性 37 简述 UML 中定义了那些图形符号?并简述起作用。 38 简述用例图中有哪些模型元素?并简述其含义? 参与者:指存在于系统外部并与该系统发生交互的人或其他系统,代表系统的使用者或使用环境。 用例 (Use Case) ,用例用于表示系统提供的服务,它定义了系统是如何与参与者交互,描述了参与者与系统之间的交互过程。 角色与用例间的关系关联,它表示参与者与系统中的哪些用例交互。 用例之间的关系:包含 和扩充 关系以及泛化关系。 参与者之间的泛化关系。 39 简述类图中有哪些模型元素?并简述其含义? 提示:一切可以出现在类图中的元素。 类: 类名、属性、方法(

38、可见性、作用域) 特殊类:接口 用例图 (Use Case) 描述 系统参与者与 领域问题的功能 类图 (Class) 描述系统的逻辑结构, 类、接口及它们的协作关系 包图 (Package ) 描述类的复用组织 分组 对象图 (Object) 描述类的实例在某时刻 的关系 构件图 (Component) 描述系统按构件组成上的关系 配置图 (Deployment) 描述系统运行环境的配置情况 时序图 (Sequence) 描述某些对象共同合作完成某项功能而按时间顺序进行的消息传递 协作图 (Collaboration) 描述某些对象共同合作完成某项功能的依赖关系 活动图 (Activity) 描述 某个 用例按 事件流转所经历的的活动,即业务流程 状态图 (State chart) 描述某个 业务流程按 事件流转所经历的状态,即状态机

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育教学资料库 > 参考答案

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。