论述题(1-20).doc

  1. 1、本文档共16页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
论述题(1-20)

软件工程与方法复习 论述题(20题) 1.论述面向对象方法对传统方法的优势和问题 答:面向对象方法(Object-Oriented Method)是一种把面向对象的思想应用于软件开发过程中,指导开发活动的系统方法,简称OO (Object-Oriented)方法,是建立在对象概念基础上的方法学。所开发的程序是面向对象程序,直接描述客观世界的对象及其相互关系具有模块性、继承性和类比性可广泛支持对象的重用十分有利于开发过程的质量控制极大地减小了系统维护的复杂程度若缺乏整体系统设计划分,易造成系统结构不合理、各部分关系失调等问题只能在现有业务基础上进行分类整理,不能从科学管理角度进行理顺和优化需要一定的软件支持环境 答:面向对象开发过程就是指利用面向对象方法进行的软件开发的完整流程,主要分为四个阶段:分析、设计、编程、测试。面向对象分析包括需求分析和需求模型化两个部分。其主要作用是明确用户的需求,并用标准化的面向对象模型来规范地表达这一需求,最后形成面向对象的分析模型。它是系统设计的依据。面向对象设计的任务是把分析阶段得到的问题域需求转变成符合要求的、抽象的系统实现方案,主要分为两个阶段:系统设计和对象设计。要点设计好问题域子系统、人-机交互子系统、任务管理子系统、数据管理子系统、类中的服务和关联。编程和测试则分别是由开发人员编写程序具体代码并在系统代码开发完成后对系统整体性能和功能进行测试。 3 用覆盖的观点讨论面向对象的软件测试策略 答:软件测试覆盖包括分支覆盖,语句覆盖条件覆盖语句覆盖:它要求被测程序的每一可执行语句在测试中尽可能都检验过; 分支覆盖:要求程序中所有判定的分支尽可能得到检验; 条件覆盖:当判定式中含有多个条件时,要求每个条件的取值均得到检验只有对程序内部十分了解才能进行适度有效的测试。但是贯穿在程序内部的逻辑存在着不确定性和无穷性,尤其对于大规模复杂软件。因此我们不能穷举所有的逻辑路径,即使穷举也未必会带来好运(穷举不能查出程序逻辑规则错误,不能查出数据相关错误,不能查出程序遗漏的路径正确使用测试,就要先从代码分析入手,根据不同的代码逻辑规则、语句执行情况,选用适合的覆盖方法。任何一个高效的测试用例,都是针对具体测试场景的。逻辑测试不是片面的测试正确的结果或是测试错误的结果,而是尽可能全面地覆盖每一个逻辑路径 4 结合软件工程要素,论述面向对象方法的思想 答:软件工程的方法(开发方法)、工具(支持方法的工具)、过程(管理过程)称为软件工程的三要素方法支撑过程和工具过程和工具促进方法学的研究面向对象方法(Ohject--Oriented Method,OOM)是一种运用对象、类、消息传递、继承、封装、聚合、多态性等概念来构造软件系统的软件开发方法。所开发的程序是面向对象程序,直接描述客观世界的对象及其相互关系具有模块性、继承性和类比性可广泛支持对象的重用十分有利于开发过程的质量控制极大地减小了系统维护的复杂程度若缺乏整体系统设计划分,易造成系统结构不合理、各部分关系失调等问题只能在现有业务基础上进行分类整理,从科学管理角度进行理顺和优化需要一定的软件支持环境 5 论述需求工程过程,说明各阶段关系 答:需求工程过程包括需求开发和需求管理两个部分,需求开发的一般过程分为需求获取、需求分析、编写需求规格说明书(SRS)、需求验证四个阶段,需求管理则主要包括需求基线的建立、需求变更控制以及需求跟踪等活动。需求获取是通过与用户的交流,对现有系统的观察及对任务进行分析,从而开发、捕获和修订用户的需求;需求分析是通过之前需求获取所得到的信息,为最终用户所看到的系统建立一个概念模型,作为对需求的抽象描述;由需求模型构件生成精确的形式化的描述,即需求规格说明书,它将作为用户和开发者之间的一致协议;需求分析的结果应该通过评审、测试等手段验证它的正确性、完整性和一致性,这就是需求验证。贯穿于整个过程中,需求管理中最基本的任务则是明确需求,并使所有相关人员达成共识;建立需求跟踪能力联系链,确保所有用户需求被正确地应用,并且在需求发生变更时,能够完全地控制其影响范围,始终保持产品与需求的一致性。 6 什么是软件可维护性,讨论软件工程与可维护性关系 答:软件可维护性即维护人员对该软件进行维护的难易程度,具体包括理解、改正、改动和改进该软件的难易程度。软件工程是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。软件工程的目标是:在给定成本、进度的前提下,开发出具有适用性、有效性、可修改性、可靠性、可理解性、可维护性、可重用性、可移植性、可追踪性可互操作性和满足用户需求的软件产品。软件交付使用后,能够对它进行修改,以改正潜伏的错误,改进性能和其它属性,使软件产品适应环境的变化等。软件维护费用在软件开发费用中占有很大的比

文档评论(0)

yaobanwd + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档