前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >吕云翔 软件工程课后题答案

吕云翔 软件工程课后题答案

作者头像
风骨散人Chiam
发布2021-09-06 15:22:57
4.6K0
发布2021-09-06 15:22:57
举报
文章被收录于专栏:CSDN旧文

1. 与计算机硬件相比,计算机软件有哪些特点?

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
  1. 计算机硬件是有形的设备,具有明显的可见性。但是人们却不能直接观察计算机软件的物理形态,只能通过他的实际运行情况来了解他的功能,特性和质量。
  2. 人们在分析,设计,开发,测试软件产品的过程中,以及在软件开发项目的管理过程中,渗透了大量的脑力劳动,人类的逻辑思维和智力活动和技术水平是生产软件产品的关键。
  3. 计算机软件不存在像硬件一样的磨损和老化现象,他不会受引起计算机硬件老化的环境因素的影响,但是软件却存在着缺陷维护和技术更新的问题。
  4. 软件开发和运行必须依赖特定的计算机系统环境。
  5. 软件具有可复用性

2. 为什么说软件工程的发展在一定程度上解决了软件危机的各种弊端?

因为软件工程提出是为了解决软件危机所带来的各种弊端。具体的讲,软件工程的目标主要包括以下几点。

  1. 使软件的开发成本控制在预计的合理范围之内。
  2. 使软件产品的各项功能和性能能够满足用户需求。
  3. 提高软件产品的质量。
  4. 提高软件产品的可靠性。
  5. 使生产出来的软件产品易于移植,维护,升级和使用。
  6. 使软件的开发周期能够控制在预计的合理时间范围内。

3. 简述软件工程的基本原则

1.== 将软件的生命周期划分为多个阶段,对各个阶段实行严格的项目管理。软件开发的生命周期可以划分为可行性研究,需求分析,软件设计,软件实现,软件测试,产品验收和交付手段。 2. 坚持阶段评审制度,以确保软件产品的质量。 3. 实施严格的产品控制,以适应软件规格的变更。在软件开发过程中,用户需求很可能不断发生变化。 4. 采用现代程序设计技术==。 5. 开发出来的软件产品应该能够清楚地被审查。 6. 合理的安排开发软件小组人员,并且开发小组人员要小而精。 7. 不断地改进软件工程实践。

4. 如何理解软件生命周期的内在特征?

答:软件产品的生命周期是指从设计该产品的构想开始,到软件需求的确定、软件设计、软件实现、产品测试与验收、投入使用以及产品版本的不断更新,到最终该产品被市场淘汰的全过程。软件生命周期这个概念从时间的角度将软件的开发和维护的复杂过程分解为了若干个阶段,每个阶段都完成特定的相对独立的任务。由于每个阶段的任务相对于总任务难度会大幅度降低,在资源分配、时间把握和项目管理上都会比较容易控制。合理地划分软件生命周期的各个阶段,使各个阶段之间既相互区别又相互联系,为每个阶段赋予特定的任务。

.

5. 请对比瀑布模型,原型模型,增量模型和螺旋模型

瀑布模型是出现得比较早的软件开发模型。在这种模型中,各阶段之间的组织方式就如同瀑布流水一样,逐级下落。开发人员必须在完成前一阶段的任务后,才能开始下一阶段的工作,各个阶段之间通常是按固定顺序连接的,前一-阶段的输出往往就是后- -阶段的输入。 根据瀑布模型的理论,这种模型具有以下几个特点。 (1)瀑布模型是一种线性的软件开发模型,回溯性很差。 (2)瀑布模型是一种基于里程碑的阶段过程模型。 (3)瀑布模型强调软件开发过程的阶段性,每个阶段完成特定的任务。瀑布模型适用于具有以下特征的软件开发项目。

代码语言:javascript
复制
     1) 在软件开发的过程中,需求不发生或很少发生变化,并且开发人员可以一次性获取到全部需求
     2) 软件开发人员具有==丰富的经验,对软件应用领域很熟悉。
     3)软件项目的风险较低。 瀑布模型不具有完善的风险控制机制。

 
 123
代码语言:javascript
复制
优缺点:  

 
 1

瀑布模型的优点是阶段性强,易于对项目进行管理,缺点是开发过程不灵活,不能适应环境的变化。如果后续阶段中发现前期工作的错误或需求发生了变更,会造成巨大的损失。

原型模型是开发人员为了快速而准确地获取需求经常采用的方法。在初步获取需求后,开发人员会快速地开发一个原型系统。通过对原型系统进行模拟操作,开发人员可以更直观、更全面和更准确地了解用户对待开发系统的各项要求,同时还能挖掘到隐藏的需求。如果开发人员对将采用的开发技术把握不大,也可以采用原型模型进行技术上的尝试,以降低后续开发的风险。原型模型具有以下特点。 (1)原型模型主要用于挖掘需求,或是进行某种技术或开发方法的可行性研究。 (2)原型系统通常针对软件 开发系统的子功能模块,所以功能相对不完善。 (3)由于原型系统功能的局部性以及存在阶段的局部性,在软件开发的实践中,原型模型通常结合其他的软件开发模型共同使用,发挥作用。

原型模型适用于具有以下特征的软件开发项目。

代码语言:javascript
复制
    (I)对现有的软件系统进行产品升级或功能完善。
    (2)开发人员与用户之间交流受限,需求获取困难。
    (3)开发人员对将要采用的技术手段不熟悉或把握性不大。
    (4)具备快速开发的工具。

 
 1234
代码语言:javascript
复制
优缺点

 
 1

原型模型的优点是简单和快速,缺点是需要花费一些额外的成本来构造原型,并且不利于创新。

增量模型是把待开发的软件系统模块化,将每个模块作为一个增量组件,从而分批次地分析、设计、编码和测试这些增量组件。运用增量模型的软件开发过程是递增式的过程。相对于瀑布模型而言,采用增量模型进行开发,开发人员不需要一次性地把整个软件产品提交给用户,而是可以分批次进行提交。增量模型的最大特点就是将待开发的软件系统模块化和组件化。基于这个特点,增量模型具有以下优点。

(1)将待开发的软件系统模块化,可以分批次地提交软件产品,使用户可以及时了解软件项目的进展。 (2)以组件为单位进行开发降低了软件开发的风险。-一个开发周期内的错误不会影响到整个软件系统。 (3)开发顺序灵活。

增量模型的缺点是要求待开发的软件系统可以被模块化。如果待开发的软件系统很难被模块化,那么将会给增量开发带来很多麻烦。

增量模型适用于具有以下特征的软件开发项目。 (1)软件产品可以分批次地进行交付。 (2)待开发的软件系统能够被模块化。 (3)软件开发人员对应用领域不熟悉,难以一-次性地进行系统开发。 (4)项目管理人员把握全局的水平较高。

螺旋模型是一种用于风险较大的大型软件项目开发的过程模型。它把开发过程分为制定计划、风险分析、实施工程和客户评估4种活动。制定计划就是要确定软件系统的目标,了 解各种资源限制,并选定合适的开发方案。风险分析旨在对所选方案进行评价,识别潜在的风险,并制定消除风险的机制。实施工程的活动中渗透了瀑布模型的各个阶段,开发人员对下一版本的软件产品进行开发和验证。客户评估是获取客户意见的重要活动。 螺旋模型适应于风险较大的大型软件项目的开发。它的优点是将风险分析扩展到各个阶段中,大幅度降低了软件开发的风险。但是这种模型的控制和管理较为复杂,可操作性不强,对项目管理人员的要求较高。

6. 在统一软件开发过程模型中,核心工作流程包括哪些?

核心工作流程有业务建模,需求分析,分析设计,实现,测试和部署

1.可行性研究的内容有哪些?

答:可行性研究主要是从技术、经济和社会三个方面对软件项目的可行性进行分析。技术可行性研究是对技术解决方案的实用性、技术资源的可用性和设备条件做出评估。经济可行性研究要对项目的开发总成本与开发系统将带来的经济效益之间的差值进行度量,从经济的角度去判断是否值得为软件开发项目进行投资。社会可行性研究从政策、法律和制度等社会因素方面考虑项目开发的合理性和意义。

2.如何理解需求分析的作用和重要性。

答:一般情况下,用户并不熟悉计算机的相关知识,而软件开发人员对相关的业务领域也不甚了解,用户与开发人员之间对同一问题理解的差异和习惯用语的不同往往会为需求分析带来很人的困难。所以,开发人员和用户之间充分和有效的沟通在需求分析的过程中至关重要。

3.常用的需求获取的方法有哪些?对比各种方法的优缺点。

答:获取需求的方法有很多种,比如,问卷调查、访谈、实地操作、建立原型和研究资料等。

问卷调查法是采用调查问卷的形式来进行需求分析的一种方法。通过对用户填写的调查问卷进行汇总、统计和分析,开发人员便可以得到-一些有用的信息。一般在设计调查问卷时,要合理地控制开放式问题和封闭式问题的比例。开放式问题的回答不受限制,自由灵活,能够激发用户的思维,使他们能尽可能地阐述白己的真实想法。但是,对开放式问题进行汇总和分析的工作会比较复杂。封闭式问题的答案是预先设定的,用户从若干答案中进行选择。封闭式问题便于对问卷信息进行归纳与整理,但是会限制用户的思维。 访谈通过开发人员与特定的用户代表进行座谈,进而了解到用户的意见,是最直接的需求获取方法。由于被访谈的用户身份可能多种多样,开发人员要根据用户的身份特点,进行提问,给予启发。当然,进行详细的记录也是访谈过程中必不可少的工作。 亲身实践可以更直接地体会现有系统的弊端以及新系统应该解决的问题,这种需求获取方法就是实地操作。通过实地操作得到的信息会更加准确和真实,但是这种方法会比较费时间。 当用户本身对需求的了解不太清晰的时候,开发人员通常采用建立原型系统的方法对用户需求进行挖掘。通过对原型系统进行模拟操作,开发人员能及时获得用户的意见,从而对需求进行明确。

4.如何理解结构化需求分析方法的基本思想。

答:结构化需求分析是一种面向数据流的需求分析方法。它基于==“分解”和“抽象”的基本思想,逐步建立目标系统的逻辑模型,进而描绘出满足用户要求的软件系统。 **“分解”**是指对于一个复杂的系统,为了将复杂性降低到可以掌握的程度,可以把大问题分解为若干个小问题,然后再分别解决。 最顶层描述了整个目标系统,中间层将目标系统划分为若千个模块,每个模块完成一定的功能,而最底层是对每个模块实现方法的细节性描述。可见,在逐层分解的过程中,起初并不考虑细节性的问题,而是先关注问题最本质的属性,随着分解自顶向下进行,才逐渐考虑越来越具体的细节。这种用最本质的属性表示一个软件系统的方法就是“抽象”==。

5.请阐述面向对象的基本概念。

答:。面向对象的基本概念包括对象、类、封装、继承和多态。对象可以是客观世界中存在的事物,也可以是概念化的实体,它由一组属性和操作组成。属性是用来描述对象静态特征的数据项,是对客观世界实体所具有性质的抽象。操作是用来描述对象动态特征。是对对象的抽象,是对具有相同属性和相同操作的一组相似对象的定义。封装是指把对象的属性和操作结合在一起,组成一个独立的单元。继承表示类之间的层次关系,它使得某类对象可以自动拥有另外一个或多个对象的全部属性和操作。多态是一种使父类中定义的属性或操作被子类继承后,可以有不同的实现的机制。

6.对比面向对象需求分析方法和结构化需求分析方法。

答:结构化需求分析方法基于==“分解”和“抽象”==的基本思想,逐步建立目标系统的逻辑模型,进而描绘出满足用户要求的软件系统。常用的结构化需求分析工具有数据流图、数据字典和ER图。数据流图把软件系统看成是由数据流联系的各种功能的组合,可以用来建立目标系统的逻辑模型。数据字典用于定义数据流图中各个图元的具体内容,为数据流图中出现的图形元素做出确切的解释。E-R图可以用于描述应用系统的概念结构数据模型,它采用实体、联系和属性这三个基本概念来进行建模。

面向对象需求分析方法主要基于面向对象的思想,以用例模型为基础进行需求分析。面向对象的概念中主要涉及了对象、类、封装、继承和多态等概念。因为面向对象的软件工程方法更符合人类的思维习惯,稳定性好,而且可复用性好,所以在目前的软件开发领域中最为流行。

1.比较概要设计和详细设计的目标,并分别阐述概要设计和详细设计的内容。

答:概要设计,得到软件系统的基本框架。它以需求规格说明书为基础,概要地说明软件系统的实现方案,包括目标系统的总体架构、每个模块的功能描述、数据接口描述及模块之间的调用关系、数据库、数据定义和数据结构等。 详细设计,明确系统内部的实现细节。在进行详细设计的过程中,设计人员的工作涉及的内容有过程、数据和接口等。过程设计主要是指描述系统中每个模块的实现算法和细节。数据设计是对各模块所用到的数据结构的进一步细化。接口设计针对的是软件系统各模块之间的关系或通信方式以及目标系统与外部系统之间的联系。

2.为什么说“高内聚、低耦合”的设计有利于提高系统的独立性?

答:内聚和耦合往往密切相关,模块的高内聚通常意味着低耦合。低耦合因为模块之间的耦合程度越低,相互影响就越小,发生异常后产生连锁反应的概率就越低;在修改一个模块时,低耦合的系统可以把修改范围尽量控制在最小的范围内;对一个模块进行维护时,其他模块的内部程序的正常运行不会受到较大的影响。

4.对基于面向对象思想的设计而言,有哪些方法或机制可以实现信息隐藏?

答:通常,模块的信息隐藏可以通过接口来实现。模块通过接口与外部进行通信,而把模块的具体实现细节(如数据结构、算法等内部信息)隐藏起来。一般来说,一个模块具有有限个接口,外部模块通过调用相应的接口来实现对目标模块的操作。

6.如果要求两个正整数的最小公倍数,请用程序流程图,N-S图和PAD图分别表示出求解该问题的算法

在这里插入图片描述
在这里插入图片描述

7.比较结构化软件设计方法和面向对象软件设计方法。

答*:结构化软件设计方法面向对象软件设计方法是两种主流的软件设计方法。 结构化软件设计方法更关注于系统的功能,采用自顶向下、逐步求精的设计过程,以模块为中心来解决问题,按照工程标准和严格的规范将目标系统划分为若功能模块。面向数据流的方法面向数据结构的方法是两种常用的结构化软件设计方法。面向数据流的设计方法多在概要设计阶段使用,它借助于数据流图来进行设计工作,而面向数据结构的设计方法通常在详细设计阶段*使用,它按输入、输出以及计算机内部存储信息的数据结构进行软件结构的设计,从而把对数据结构的描述转换为对软件结构的描述。常用的结构化软件设工具有流程图、N S图和PAD图等。

与结构化软件设计方法相比,面向对象软件设计方法的使用范围更广。与传统的软件工程方法不同的是,面向对象的方法不强调需求分析和软件设计的严格区分。从分析到设计的过渡,是一个逐渐扩充、细化和完善分析阶段所得到的各种模型的过程。面向对象的设计可以分为系统设计和对象设计两个阶段。系统设计关注于确定实现系统的策略和目标系统的高层结构,而对象设计是对需求分析阶段得到的对象模型的进一步完善、细化或扩充。

2.在选择编程语言时,通常要考虑哪些因素?答:在选择编程语言时,通常需考虑以下因素。

(1)待开发系统的应用领域,即项目的应用范围。 (2)用户的要求。 (3)软件开发人员的喜好和能力。 (4)系统的可移植性要求。 (5)算法和数据结构的复杂性。

3.对标识符命名时,要注意哪些原则?

答:对标识符进行命名时,要注意以下几点。 (1)按照标识符的实际意义命名,使其名称具有直观性,能够体现标识符的语义。这样可以帮助开发人员对标识符进行理解和记忆。 (2)遵循一定的命名规则,比如缩写的使用,字母大小写的选择,对常量和变量命名的区分等。一般不推荐使用单词缩写进行命名,因为使用缩写在阅读时容易产生歧义。 (3)变量名不要过于相似,这样容易引起误解。 (4)在定义变量时,最好对其含义和用途做出注释。

4.为什么要对源程序进行注释?

答:注释是软件开发人员之间以及开发人员和用户之间进行交流的重要途径,它阐述了程序的细节,有利于日后的维护工作。经常对较难理解、逻辑性强或比较重要的代码进行解释,从而提高代码的可理解性。

1.简述静态测试和动态测试的区别。

答:按照执行测试时是否需要运行程序,软件测试可以划分为静态测试和动态测试。

静态测试以人工测试为主,通过测试人员认真阅读文档和代码,仔细分析其正确性、一致性及逻辑结构的正确性,从而找出软件产品中的错误或缺陷。静态测试对自动化工具的依赖性较小,通过人脑的思考和逻辑判断来查找错误,因而可以更好地发挥人的主观能动性。

与静态测试不同的是,动态测试需要通过实际运行被测程序来发现问题。测试人员可以输入一系列的测试用例,通过观察测试用例的输出结果是否与预期相符来检验系统内潜在的问题或缺陷。

2.现有一段判定三角形类型的程序,可以根据输入的三角形的三边长来判定可构成的三角形是否为等腰三角形。请用等价类划分法来为此段代码设计测试用例。

答:画出该问题的等价类表,并为每个等价类进行编号:

在这里插入图片描述
在这里插入图片描述

3.为什么软件开发人员不能同时完成测试工作?

答:开发工作和测试工作不能由同一部分人来完成。如果开发人员对程序的功能要求理解错了,就很容易按照错误的思路来设计测试用例。如果开发人员同时完成测试工作,那么测试工作就很难取得成功。

4.软件测试的常用模型有哪些?请简述它们的优缺点。

答:常用的软件测试模型有V模型、W模型和H模型。每种模型都有各自的优缺点。

V模型的价值在于非常明确地标明了测试过程中存在的不同级别,并且清楚地描述了这些测试阶段和开发过程各阶段的对应关系。在V模型中,测试工作在编码之后才能进行,所以在软件开发早期各个阶段引入的错误不能及时被发现。尤其是需求阶段的错误只有等到最后的验收测试才能被识别。对分析、设计阶段产生的错误不能及时发现并改正的缺点会对后期的修复工作带来诸多不便,造成更多资源的浪费和时间的延迟。 在V模型的基础上,增加开发阶段的同步测试,就是W模型。W模型的最大优势在于,测试活动可以与开发活动并行进行,这样有利于及早地发现错误,但是W模型也有一定的局限性。在W模型中,需求、设计、编码等活动依然是依次进行的,只有上一阶段完全结束,才有可能开始下一阶段的工作。与迭代的开发模型相比,这种线性的开发模型在灵活性和对环境的适应性上有很大差距。 在H模型中,软件测试过程的活动完全独立,贯穿于整个软件产品的生命周期,与其他流程并行进行。当软件测试人员认为测试准备完成,即某个测试点准备就绪时,就可以从测试准备阶段进入到测试执行阶段。

5.已知有如下一段代码:

代码语言:javascript
复制
      int a,b, c;
      if(a<1 and b>0)
         c=5;
      else if (b<-3)
         c=4;
      else
         c= 3;

 
 1234567

请画出这段代码的程序流程图,并分别采用语句覆盖、分支覆盖、条件覆盖、分支一条件覆盖、条件组合覆盖和路径覆盖的方法设计测试用例。 答:程序流程图:

在这里插入图片描述
在这里插入图片描述

语句覆盖

在这里插入图片描述
在这里插入图片描述

分支覆盖

在这里插入图片描述
在这里插入图片描述

条件覆盖

在这里插入图片描述
在这里插入图片描述

分支----条件覆盖

在这里插入图片描述
在这里插入图片描述

条件组合覆盖

在这里插入图片描述
在这里插入图片描述

路径覆盖

在这里插入图片描述
在这里插入图片描述

1.为什么要进行软件维护?软件维护的作用有哪些?

答:软件维护是软件产品生命周期的最后一个阶段。在产品交付并且投入使用之后,为了解决在使用过程中不断发现的各种问题,保证系统正常运行,同时使系统功能随着用户需求的更新而不断升级,软件维护的工作是非常必要的。概括地说,软件维护就是指在软件产品交付给用户之后,为了改正软件测试阶段未发现的缺陷,改进软件产品的性能,补充软件产品的新功能等,所进行的修改软件的过程。

2.什么是软件的可维护性?软件的可维护性与哪些因素有关?

答**:软件的可维护性**是用来衡量对软件产品进行维护的难易程度的标准,它是软件质量的主要特征之一。影响软件可维护性的因素有很多,如可理解性、可测试性、可修改性等。

3.请简述McCall对软件质量的定义。

答: MCall软件质量特性模型中的每种特性的定义如下。

正确性:系统在预定的环境下,正确完成系统预期功能的程度。效率:完成预期功能所需的时间、人力、计算机资源等指标。

可靠性:在规定的时间和条件下,软件维持其性能水平能力的属性的组合。可用性:衡量软件产品在运行中使用灵活、方便的程度。

完整性:保存必要的数据,使之免受偶然或有意的破坏、改动或遗失的能力。

可维护性:当系统的使用环境发生变化、用户提出新的需求或者系统在运行中产生了错误时,对潜在的错误或缺陷进行定位并修改或对原系统的结构进行变更的难易程度。可测试性:测试软件系统,使之能够完成预期功能的难易程度。

灵活性:对一个已投入运行使用的软件系统进行修改时所需工作量多少的度量。

可移植性:反映了把软件系统从一种计算机环境移植到另一种计算机环境所需要的工作量的多少。互连性:将一个软件系统与其他软件系统相连接的难易程度。可复用性:软件系统在其他场合下被再次使用的程度。

4.请简述配置管理的基本过程

答:配置管理包含4个基本过程:标识配置项、进行配置控制、记录配置状态、执行配置审计。

6.什么是程序的正确性证明?它的意义在哪里?

答:程序的正确性证明指采用某种方法对软件系统运行的正确性进行证明。软件测试有一条重要原则是:测试可以发现程序中的错误,但是不能证明程序中没有错误。可见,软件测试并不能完全证明程序的正确性和可靠性。如果能对程序的正确性进行证明,那么软件产品的质量将更有保证。

9.软件工程文档可以分为哪几类?每类中具体包含的文档有哪些?

答:总体上说,软件工程文档可以分为用户文档、开发文档和管理文档三类,用户文档包括用户手、操作手册、修改维护建议和用户需求报告,开发文档包括软件需求规格说明书、数据要求说明书、概要设计说明书、详细设计说明书、可行性研究报告、项目开发计划,管理文档项目开发计划、测试计划、测试分析报告、开发进度月报和开发总结报告。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021/01/05 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 与计算机硬件相比,计算机软件有哪些特点?
  • 2. 为什么说软件工程的发展在一定程度上解决了软件危机的各种弊端?
  • 3. 简述软件工程的基本原则
  • 4. 如何理解软件生命周期的内在特征?
  • 5. 请对比瀑布模型,原型模型,增量模型和螺旋模型
  • 6. 在统一软件开发过程模型中,核心工作流程包括哪些?
  • 1.可行性研究的内容有哪些?
  • 2.如何理解需求分析的作用和重要性。
  • 3.常用的需求获取的方法有哪些?对比各种方法的优缺点。
  • 4.如何理解结构化需求分析方法的基本思想。
  • 5.请阐述面向对象的基本概念。
  • 6.对比面向对象需求分析方法和结构化需求分析方法。
  • 1.比较概要设计和详细设计的目标,并分别阐述概要设计和详细设计的内容。
  • 2.为什么说“高内聚、低耦合”的设计有利于提高系统的独立性?
  • 4.对基于面向对象思想的设计而言,有哪些方法或机制可以实现信息隐藏?
  • 6.如果要求两个正整数的最小公倍数,请用程序流程图,N-S图和PAD图分别表示出求解该问题的算法
  • 7.比较结构化软件设计方法和面向对象软件设计方法。
  • 2.在选择编程语言时,通常要考虑哪些因素?答:在选择编程语言时,通常需考虑以下因素。
  • 3.对标识符命名时,要注意哪些原则?
  • 4.为什么要对源程序进行注释?
  • 1.简述静态测试和动态测试的区别。
  • 2.现有一段判定三角形类型的程序,可以根据输入的三角形的三边长来判定可构成的三角形是否为等腰三角形。请用等价类划分法来为此段代码设计测试用例。
  • 3.为什么软件开发人员不能同时完成测试工作?
  • 4.软件测试的常用模型有哪些?请简述它们的优缺点。
  • 5.已知有如下一段代码:
  • 1.为什么要进行软件维护?软件维护的作用有哪些?
  • 2.什么是软件的可维护性?软件的可维护性与哪些因素有关?
  • 3.请简述McCall对软件质量的定义。
  • 4.请简述配置管理的基本过程
  • 6.什么是程序的正确性证明?它的意义在哪里?
  • 9.软件工程文档可以分为哪几类?每类中具体包含的文档有哪些?
相关产品与服务
项目管理
CODING 项目管理(CODING Project Management,CODING-PM)工具包含迭代管理、需求管理、任务管理、缺陷管理、文件/wiki 等功能,适用于研发团队进行项目管理或敏捷开发实践。结合敏捷研发理念,帮助您对产品进行迭代规划,让每个迭代中的需求、任务、缺陷无障碍沟通流转, 让项目开发过程风险可控,达到可持续性快速迭代。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档