您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 工程监理 > 软件工程--课后答案
第一章:1.1简述软件的定义、软件的特点和软件危机的表现。软件的定义:软件是由计算机程序、数据和文档组成的。软件的特点:1)抽象性,2)软件生产无明显的制造过程,3)无磨损性,4)对计算机系统的依赖性,5)软件的手工开发方式,6)软件本身复杂性,7)软件的高成本软件危机的表现:1)软件开发周期大大超过规定日期,2)软件开发成本严重超标,3)软件质量难于保证。1.2什么是软件工程和软件工程化?软件工程:软件工程化:把软件工程理论应用到软件开发组织中,以改进软件产品开发的时间(T)、质量(Q)、成本(C)和服务(S)。1.3简要说明软件工程三要素与质量关注点之间的关系。软件工程的三要素:方法、工具和过程。关系看P41.4如何构造软件过程?软件过程构造时首先应建立一个公共过程框架,其中定义了少量可用于所有项目的框架活动;再给出各个框架活动的任务集合,使得框架活动能够适合于项目的特点和项目组的需求;最后是保护性活动。1.5什么是软件生存周期?软件生存周期分为哪几个阶段?各阶段的任务是什么?软件生存周期:是软件产品或软件系统从设计、投入使用到被淘汰的全过程。软件生存周期:定义、开发、维护。1)定义:包括问题定义、可行性研究和需求分析。2)开发时期包括设计、编码和测试。3)维护时期包括维护阶段。1.6常用的软件工程方法和开发模型各有哪些?软件工程方法:生命周期法(又称传统方法或结构化方法)、面向对象方法和原型法。软件开发模型:瀑布模型、快速原型模型、演化模型、面向对象模型、形式化方法模型。1.7什么是软件工具、软件开发环境和软件工程环境?软件工具:是用来辅助软件开发、运行、维护、管理和支持等过程中活动的软件。1.8软件工程的基本原理:1)按软件生存期分为阶段制定计划并认真实施。2)坚持进行阶段评审。3)坚持严格的产品控制。4)使用现代程序设计技术。5)明确责任,使得工作结果能够得到清楚的审查。6)人员应少而精。7)不断改进开发过程。第二章:2.3软件文档可分为哪几类?各包括哪几类文档?软件文档可分3类。为1)开发文档,2)管理文档,3)用户文档。2.5软件质量的特性有哪些?各特性的含义是什么?软件质量的六大特性包括:功能性、可靠性、易使用性、效率、可维护性、可移植性。功能性:是一组功能及其指定的性质有关的一组属性。可靠性:是与在规定的一段时间和条件下,软件维持其性能水平的能力有关的一组属性。易使用性:是一组规定或潜在的用户为使用软件所需做出的努力和对这样的使用所作的评价有关的一组属性。效率:是与在规定的条件下,软件的性能水平与所使用资源量之间关系有关的一组属性。可维护性:是与进行指定的修改所需的努力有关的一组属性。可移植性:是与软件可从某一环境转移到另一环境的能力有关的一组属性。2.6什么是软件质量保证?软件质量保证:是确保软件产品从诞生到消亡为止的所有阶段的质量活动,即为确定、达到和维护需要的软件质量而进行的所有有计划、有系统的管理活动。2.8软件过程标准:为了能协调好开发项目的各个阶段和各个部分之间的联系和衔接问题,需要一系列的统一的约束和规定。2.9软件文档在产品的开发过程中起重要的作用:1)提高软件开发过程的能见度。2)实现对软件开发的工程管理。3)提高开发效率。4)便于协调以后的软件开发、使用和维护工作。2.11ISO系列标准的主导思想:1)强调质量并非在产品检验中得到,而是形成于生产的全过程。2)必须使影响产品质量的全部因素在生产全过程中始终处于受控状态。3)企业具有持续提供符合要求产品的能力。4)质量管理必须坚持进行质量改进。2.12软件过程工程化的实施步骤:总体上可分为1)实施前的准备工作,2)实施工作,3)实施结束与持续改进工作。第三章:3.1什么是项目和项目管理?项目:是指在一定的资源约束下完成既定目标的一次性任务。项目管理:是指通过项目经理和项目开发组织机构运用系统理论和方法对项目及其资源进行计划,组织,协调,控制,旨在实现项目的特定目标的管理方法体系。项目管理的三要素:目标、成本、进度。3.2软件项目管理的职责是什么?软件项目经理应具备什么能力?软件项目管理的职责:1)制定计划:规定要完成的任务和要求,安排资源,人员和进度等。2)建立组织:建立分工明确的实施计划的责任制机构,以保证任务的完成。3)配备人员:根据任务要求在各岗位上任用各种层次的技术人员和管理人员。4)协调或追踪与指导:时刻跟踪项目的进展情况,协调,指导和激励各种人员完成所分配的任务。5)控制或检验:对照计划和标准,监督和检验项目实施的情况。软件项目经理人员的能力要求:1)综合问题的能力。2)总结和表达问题。3)沟通能力。3.6软件配置管理的目的是什么?1)标识变更;2)控制变更;3)确保变更正确的实现;4)向其他有关的人报告变更。第四章:4.1什么是系统工程和需求工程?计算机系统工程:是一个问题求解活动,其目的是揭示,分析所有基于计算机的系统功能和性能等要求,并把它们分配到基于计算机系统的各个单独的系统元素中去,确定它们的约束条件和接口。需求工程:提供适当的机制以了解用户想要什么。分析需要,评价可行性,协调合理的解决方案,无歧义地规约解决方案,确认方案以及它们转换到可运行系统时对管理的需求。4.4需求获取方法有几种?各有什么优缺点?需求获取的方法:1)访谈和倾听,2)问卷调查,3)收集和研究现有文档,4)观察工作流程。1)访谈倾听方法的优点是可以通过当面沟通获得比较准确的需求;可以通过被访谈者的表情或形体获得一些难以表达得信息。其缺点是需要被访谈者有专门的时间,成本较高;也可能被被访谈者有所顾忌而有所保留2)问卷调查方法的优点是因为通常是匿名,意见比较充分;容易收取,列表和分析,因而成本低。时间短而调查氛围大。其缺点是反馈率可能会比较低,会损失一些难以表达的信息,没法收集模糊或不完整的回答,需要较长的准备时间,数据信息比较万元归纳。3)收集和研究文档的优点是成本很低和信息稳定;缺点是范围有限,可能找不到最有意义的文档,很大程度上存在分析员的个人偏见,难以获得新数据。4)观察方法的优点是高度可靠,准确地看到所发生的情况,也可以对工作进行实时测量,成本也相对低。其缺点是被观察时的工作状态可能与平时不同,难以观察到较大难度或需要长时间的工作,不易于做计划,经常会被中断。第五章:5.1可行性研究的任务是什么?1)识别用户需求2)设计并推荐系统实现方案3)评价系统可行性4)建立成本和进度限制5)编写文档并提交审查5.3什么是技术、法律、用户操作和经济可行性?①技术可行性:主要包括风险、资源和技术分析。②法律可行性:指的是侵权和责任问题,如是否违反专利法、著作权法和软件保护条例等法律,是否涉及信息安全和个人隐私等问题。③用户操作可行性:首先要分析用户类型,如外行型、熟练型或专家型,然后从操作习惯、使用单位计算机使用情况和相关的规章制度等方面进行分析,判断当系统交付使用后使用单位是否有能力保证系统的正常运行和使用。④经济可行性:目的是从经济角度评价开发一个新的系统是否可行。第六章:6.1需求分析任务、步骤、内容是什么?需求分析的任务:是准确地定义未来系统的目标,确定为了满足用户的需求系统必须做什么,用需求规格说明书规范的形式准确地表达用户的需求。需求分析的步骤:是问题分析,问题评估和方案综合、建模、规约和复审。需求分析的内容:获取的用户需求可分为功能性需求和非功能性需求。功能性需求定义系统做什么,描述系统必须支持的功能和过程;非功能性需求定义系统工作时的特性,描述操作环境和性能目标等。两类需求包括如下内容:功能需求,性能需求,环境需求,界面需求,用户或人的因素,文档需求,数据需求,资源需求,安全保密需求,软件成本消耗与开发进度需求,质量保证。6.2如何建立软件系统的逻辑模型?软件系统的逻辑模型:首先确定目标系统与当前系统的逻辑差别;然后将变化部分看作是新的处理步骤,对功能图及对象图进行调整;最后由外及里对变化的部分进行分析,推断其结构,获得目标系统的逻辑模型。通常用数据流图、数据字典和主要的处理算法描述这个逻辑模型6.3如何画数据流图?1)画顶层图:确定源和宿,确定加工,确定数据流,顶尘土通常没有文件。2)画出系统内部:分解、确定加工,确定数据流,确定文件,确定源和汇点。3)画出加工内部.4)重复第三步,直到每个加工都足够简单。6.4总体设计和详细设计的任务分别是什么?总体设计的任务:是确定软件的结构以及各组成成分之间的相互关系。详细设计的任务:是确定模块内部的算法和数据结构,产生描述各模块程序过程的详细文档6.6人机界面设计的过程是什么?为什么要遵循各种设计指南和原则?1)用户、任务和环境分析及建模;2)界面设计;3)界面构造和界面确认,包括在设计的早期要不定期进行评估,以便逐步完善。6.7需求规格说明书:是需求分析阶段要完成的文档。作为需求分析任务的成果,详细描述功能、性能、行为等目标系统的各种需求。第九章:9.1软件测试的目标和原则是什么?目标:为了发现错误而执行程序的活动过程。原则:必须伴有质量保证活动,软件测试是软件质量保证的关键活动,代表了规约、设计和编码的最终检查。9.2测试方法包括哪几类?分别有什么特点?测试方法可分为静态测试方法和动态测试方法。静态测试方法有计算机辅助静态分析和人工测试等方法;动态测试方法有白盒测试和黑盒测试等方法。9.3测试可分为哪几个步骤?它们的测试内容分别是什么?1)单元测试:又称为模块测试,检验每个模块能否单独工作。2)集成测试:可分为子系统和系统集成测试,以需求规格说明书为检验尺度。3)确认测试:可分为内部确认和验收测试,以需求规格书为检验尺度。4)系统测试:综合检验软件与整个计算机系统的测试。9.4如何用黑盒法中的等价划分法法、边界值分析法和错误推测法设计测试用例?等价划分法:把所有可能的输入或者输出数据(有效的和无效的)划分成若干个等价的子集,称为等价类,使得每个子集中的一个典型值在测试中的作用与这一子集中所有其他值的作用相同,可从每个子集中选取一组数据来测试程序。边界值分析法:软件错误分为两类:一类是计算错误;另一类是域错误。上述等价划分法是针对计算错误的测试方法,而针对域错误的测试方法称为便捷值分析法,用于测试域边界划定的正确性。错误推测法是根据经验来设计测试用例以找出可能存在但尚未发现错误的方法。9.5如何用白盒:法中的逻辑覆盖法、基本路径法和结构分析法设计测试用例?逻辑覆盖法主要考察使用测试数据运行被测程序时对程序逻辑的覆盖程度。通常希望选择最少的测试用例来满足所需的覆盖标准,主要的覆盖标准有语句覆盖,判定覆盖,条件覆盖,判定/条件覆盖,条件组合覆盖,路径覆盖,点覆盖和边覆盖。基本路径:首先根据程序或流程图画出控制流程图,并计算其区域数,然后确定一组独立的程序执行路径,最后为每一条基本路径设计一个测试用例。保证这些路径至少通过一次。结构分析设计分为判定结构分析和循环结构分析。结构分析设计法:第九章:10.1软件维护包括哪几类维护?1)改正性维护:约占20%。2)完善性维护:约占50%。3)适应性维护:约占25%。4)预防性维护:约占5%。10.2什么是再过程?再过程:是指在逆向过程中所获信息的基础上修改或重构已有的系统,产生系统的一个新版本。
本文标题:软件工程--课后答案
链接地址:https://www.777doc.com/doc-1990739 .html