




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
填空
1.软件测试的目的是尽可能多地发现软件中存在的错误,将测试结果作为纠错的依据。
2.测试阶段的基本任务是根据软件开发各阶段的和程序的,精心设计一组,利用这些实例执行,找出软件
中潜在的各种和.
3.测试用例山和预期的两部分组成。
4.软件测试方法一般分为两天类:方法和方法.
5.动态测试通过发现借误。根据的设计方法不同,动态测试又分为与两类。
6.静态测试采用和的手段对程序进行检测.
7.人工审查程序偏重于的检验,而软件审查除了审查还要对各阶段进行检验.
8.计算机辅助静态分析利用工具对测试程序进行分析.
9.黑盒法只在软件的处进行测试,依据说明书,检查程序是否满足要求。
10.白盒法必须考虑程序的和,以检查的细节为基础,对程序中尽可能多的逻辑路径进行。
11.白盒测试是测试,被测对象是,以程序的为基础设计测试用例.
12.逻辑覆盖是对程序内部有存在的逻辑结构设计测试用例,根据程序内部的逻辑法盖程度又可分为、、、、
和6种覆盖技术。
13.实际的逻辑覆盖测试中,一般以覆盖为主设计测试用例,然后再补充部分用例,以达到覆盖测试标准.
14.循环漫盖是对程序内部有存在的逻辑结构设计测试用例,它通过限制来测试。
15.基本路径测试是在程序基础上,通过分析控制构造的笈杂性,导出集合,从而设计测试用例.
16.黑盒测试是测试,用黑盒技术设计测试用例有4种方法:、、
和.
17.等价类划分从程序的说明,找出一个输入条件(通常是或),然后将每个输入条件划分成两个或多个。
18.边界值分析是将测试情况作为重点目标,选取正好等于、刚刚大于或刚刚小于的测试数据.如果输入或
输出域是一个有序集合,则应选取集合的元素和元素作为测试用例,
19.在测试程序时,根据经验或直觉推测程序中可能存在的各种错误,称为。
20.因果图的基本原理是通过画图,把用自然语言描述的转换为,最后为每一列设计一个测试用例。
21.测试的综合策略是在测试中,联合使用各种方法。通常先用法设计基本的测试用例,再用法补充一些
必要的测试用例.
22.软件测试过程中筋要3类信息:、和。
23.软件测试一般经过4个测试:、、和。
24.指对源程序中每•个程序单元进行测试,检查各个模块是否正确实现规定的功能,从而发现模块在编
码中或算法中的错误,它涉及和的文档。
25.单元测试主要测试的5个基本特征:、、、和.
26.在单元测试中,需要为被测模块设计模块和模块。用来模拟被测模块的上级调用模块,用来代替被测模块
所调用的模块.
27.集成测试指在测试基础上将所有模块按照设计要求组装成一个完整的系统进行的测试。也称测试或测
试。
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.确认测试阶段的两项工作是。
53.在单元测试中,测试一个模块时,需要设计.
54.软件配置管理,简称SCM,它用于整个软件工程过程。其主要目标是:、、
、O
55.SCM是一组管理整个软件生存期各阶段中的活动。
56.基线的作用是把各阶段的开发工作划分得更加明确,便于检查与确认阶段成果。因此,基线可以作为项
目的一个。
2。义档资料内部结构测试用例程序错误缺陷3。扬入数据愉出数据4。动态测试静念测试5。运行程
序测试用例黑盒测试白盒测试6.人工检测计算机辅助静态分析7。编码质量编码软件产刘8。静态分析
特性9.接口需求规格功能10.内部结构处理过程处理过程测试11.结构源程序内部逻辑12.判定语句覆盖
判定覆盖条件覆盖判定/条件潼盖条件组合覆盖路径祷盖13。条件组合路径14。循环循环次数15e控
制流程图环路基本路径16.功能等价类划分边界值分析错误推测因果图17.功能一句话一个短语等价类18.
边界边界值第一个最后一个19.错误推测法20.因果功能说明判定表判定表21。测试黑盒白盒22。软件
配置测试配置测试工具23.单元测试集成测试确认测试系统测试24„单元测试编码详细设计25.模块模
块接口局部数据结构市要的执行路径错误处理边界条件26。驱动桩驱动模块桩模块27。单元组装联合
28。非渐增式测试渐增式测试29。自顶向下结合自底向上结合30。驱动桩顶层软件结构图深度优先策
略宽度优先策略31o桩驱动32.功能性能需求规格有效性33.黑盒专门测试人员用户34.测试测试分析
实际运用35。完整性正确性36。纠错原因位置
37.简单调试归纳法调试演绎法调试回溯法调试38.程序产生错误的地方测试结果发现的线索39.静态
40.尽可能多的41.一个42.驱动模块与桩模块43.渐增式和非浙增式44.发现错误45.动态测试年•黑
盒法47.判定覆盖48.循环次数49.两个不合理的等价类50.错误推测法51.渐增式和非渐增式测试方
法52.进行确认测试和软件配置审查53.驱动模块和桩模块54.标识变更控制变更确保变更匚确地
实现报告有关变更55.变更56.检查点
1.程序设计语言的特性主要有心理特性、工程特性和技术特性三个方面.
2.程序语言的工程特性主要&现为可移植性、开发工具的可利注性、软件的可重用性和可维护性。
3.为了提高程序的易读性,同时为减少错误,提高软件开发效率,编码时应注意养成良好的程序设计风格。
4.程序加注释对理解程序提仗了明确指导,根据作用不同注释分序言性注释和功能性注释。
5.软件需求分析之后,软件的设计、编码、测试与语言的特性有很大的关系,这个特性主要是语言的技术
特性。
6.语句构造的原则是简单直接,不能为了追求效率而使代码复杂化.
7.FORTRAN语言上世界上第一个被正式推广应用的计算机运言,它不仅面向科学计算,数据处理能力
也极强。
8.汇编语言是面向机器的,可以完成恁级语言无法满足要求的冬殊功能,如与外部设备之间的一些接口操
作.
9.为了使数据定义更容易理解和维护,一个语句说明多个变量时,备变量名按
字典排列.
10.里屿是将详细设计得到的处理过程的描述转换为基于某种计算机语言的程序.
1.软件原来没有帮助信息,使用不方便,现在要增加帮助信息.这种维护性活动称之为完善性维护.
2.调试也称纠借,是在成功的测试之后才开始进行,其目的是确定错误的原因和位置,并改正错误,
3.调试技术包括简单调试、归纳法调试、演绎法调试和回溯法调试。
4.回溯法调试是从程序产生错误的地方出发,而归纳法调试是从测试结果发现的线索入手。
简答题
1简述1983年IEEE为软件下的定义.5822926
计算机程序、方法、规则、相关的文档资料以及在计算机上运行程序时所必需的数据.
2简述软件危机的表现有哪些?以及解决软件危机的途径有哪些?
软件危机的主要表现包括:
(1)软件开发进度难以预测,开发成本难以控制,导致超预算、超时;
(2)产品功能难以满足用户需求;
(3)软件产品质量无法保证;
(4)软件缺少适当的文档资料,维护困难;
(5)软件成本超过硬件成本;
(6)软件开发生产率的提高速度跟不上”•算机应用普及深入的趋势;
解决软件危机的途径有:
1管理措施:项目管理、配置管理、过程管理、质量控制
2技术措施:开发过程、开发技术与方法和开发工具
3软件工程的定义
1993年IEEE给出的定义:软件工程是:
①系统的、规范的、可度量的途径应用于软件开发、运行和维护过程,也就是把匚程应用于•软件:
②研究①中提到的途径。”
软件工程是围绕软件开发的一门交叉学科:软件工程=计算机科学+工程学+管理学
4软件工程的10个知识领域
软件工程过程(SoftwareEngineeringProcess)
软件工程工具和方法(SoftwareEngineeringToolsandMethods)
软件需求(SoftwareRequirement)1
软件设计(SoftwareDesign)
软件构造(SoftwareConstruction)
软件测试(SoftwareTesting)
软件维护(SoftwareMaintenance)
软件配置管理<Softwareigurationmanagement)
软件工程管理(SoftwareEngineeringmanagement)
软件质量(SoftwareQuality)
5软件工程的目标是什么,软件工程的三要素都是什么?
软件工程的目标:软件工程必须以有组织的质量保证为基础,进行全面质量管理,不断地过程改进使软件
工程方法走向成熟。
软件工程的三要素包括:过程、方法和工具
过程为及时合理地开发出满足用户需求的计算机软件而进行•系列有组织的活动。过程定义r技术方法的
采用、工程产品(包括模型、文档、数据、报告、表格等)的产生、里程碑的建立、质量的保证和变更的管
理.
方法为软件开发提供“如何做”的技术,它涵盖了项目计划、需求分析、系统设计、程序实现、测试与维护
等一系列的开发活动如何来做。开发方法经历了从面向结构、面向对象、面向组件到面向服务的发展工程。
工具为过程和方法提供自动的或半自动的支持。这些软件工具被集成起来,建立起一个支持软件开发的系
统,称之为计算机辅助软件工程(CASE,ComputerAidedSoftwareEngineering)o
6软件工程的七条基本原理
美国著名的软件工程专家巴利•玻姆(Bar"Boehm)提出了软件工程的七条基本原理:
1.用分阶段的生命周期计划严格管理:
2.坚持进行阶段评审:
3.实行严格的产品控制;
4.采纳现代程序设计技犬;
5.结果应能清楚地审查:
6.开发小组的人员应少而精;
7.承认不断改进软件工程实践的必要性.
7简述软件过程的定义,软件过程又可以分为那几个类型?
软件过程(SoftwareProcedure)是为获得软件产品,在软件工具支持卜由软件工程师完成的一系列软件工
程活动.
软件过程可概括为基本过程、支持过程和组织过程等三种类型。
其中,基本过程包括:获取过程、供应过程、开发过程、运作过程和维护过程。支持过程包括:义档编制过
程、配置管理过程、质量保证过程、验证过程、确认过程、联合评审过程和问题解决过程等过程。组织过
程包括:管理过程、基础设施过程、改进过程和培训过程。
8里程碑(MileStone)思想
阶段工作的目标进行总结、评审、调整和部署卜一个里程碑。目的:合理分配,细化管理“粒度”,降低项
目风险。
9基线思想
基线是指一个(或一组)配置顼在项目生命周期的不同时间点的一种状态,各阶段有各阶段的基线:需求基
线、设计基线、测试基线等.基线一旦建立后变化需要受控制。
10简述软件生存周期的概念,说明软件生存周期划分为那几个主要时期?每个时期有包括哪些主要阶
段?
软件生存周期是指软件产品从定义到开发、使用和维护,直到最终被弃用的时期,称为生存周期。
生存周期的可划分为计划时期、开发时期和运行时期等三个主要时期。
其中计划时期包括问题定义和可行性研究两个阶段.开发时期包括需求分析、总体设计、详细设计和实现等
四个阶段。运行时期的乂称为运行和维护阶段。
11简述教材中介绍了那些软件开发模型?这些模型各有什么特点?
教材中重点介绍了瀑布、原型、增量、螺旋四个传统模型和RUP、XP两个现代模型.
其中,瀑布模型严格按照生存周期开发软件,每个阶段必须完成规定的、完整、准确的合格文档,前•阶段
的输出文档就是后一阶段的愉入文档。
其主要特点包括:①活动间具有顺序性和依赖性:②推迟实现的观点:③质量保证的观点;
快速原型模型法是开发人员在一个基本的需求的基础上快速开发出一个软件原型,然后由用户使用和评价
原型、开发人员根据用户意见再修改原型,然后再使用评价再修改、直至将原型进化为最终产品.
快速原型模型的特点包括:①做出系统原型,及早向用户展示系统要实现的界面及功能,增强用户的合作
信心;②直观化的表达,容易交流,消除理解上的岐义:③修改集中在前期的原型确认上,较大程度减
少后期实施中的返工.④入手快,加快开发进度;
增量模型是一种演化模型,先完成一个系统子集的开发,再按同样的开发步骤增加子集,如此递增卜.去直至
满足全部系统需求.每个增量可按快速原型法进行.
增量模型的特点包括:①无纪等待获取完整需求就可入手,尽快见到成果,增强双方信心:②分步开发,
降低复杂性和难度,减少技术风险,并可并行开发:③边开发边投入,可及早发现问题,减少投资风险;
④各个子集是逐渐并入已有的系统中,加入子集不能破坏已构造好的部分,这需要软件具备开放式的体系
结构;⑤适用于需求不完整的软件开发,指的是需求逐渐摸清、逐步完善,并非随意改变,需求改变过大会
导致整体性失控。后面要介绍的XP(极限编程)属于该模型。
螺旋模型(Spiralmodel)是一种融合了瀑布模型、快速原型模型和增量模型的演进模型,并引入风险分
析机制。适合大型复杂的系统开发。
螺旋模型特点包括:①多种模型结合的一种演进模型,融合了瀑布模型、快速原型和增量模型的所有特点,
融进了循环往发、迭代演进的思想;②增加风险分析,一旦风险成立,原方案应终止、修订,力求风险可
控③客户始终参与每个阶段的开发,每个阶段的成果需客户确认,避免错误的枳累.
统一过程RIP(RationalUnifiedProcess)是由Rational公司在推出统一建模语言UML后,推出的一
个软件开发框架RUP,称为软件统一开发过程。
12统一过程RUP定义了那几个主要阶段?
•初始阶段(Inception):主要完成商业需求,确定项目边界。里程碑是生命周期目标(Lifecycle
Objective),评价项目基本的生存能力。
•细化阶段(Elaboration):主要完成领域问题分析和软件设计。获取用户需求(功能和非功能需求),
建立需求模型:进一步确立体系结构和设计软件结构等工作。里程碑是生命周期结构(Lifecycle
Architecture)0
■构造阶段(Construction):主要完成系统实现、测试,里程碑是初始功能(InitialOperational),
产品版本常被称为“beta”版.
•交付阶段(Transition):重点是确保软件对最终用户是可用的。里程碑:产品发布(ProductRelease)
13统一过程RUP工作流
6个核心过程工作流(CoreProcessWorkflows)
•商业建模(BusinessModeling):弄清项目边界和约束,做出计划。
•需求(Rcquircmenls):描述系统应做什么,开发人员和用户达成需求基线.
•分析和设计(Analysis&Design):将需求转化成计算机可以实现的模型。
•实现(Implementation):用程序设计语言将设计模型狙织成可执行的文件、数据.
•测试(Test):是发现软件中的错误,在实验环境下验证所有的需求是否被正确的实现。
•部署(Deployment):将软件分发给最终用户,安装在真实的环境卜.,由用户操作运行。
3个核心支持工作流(CoreSupportingWorkflows)是对核心过程工作流的配套支持和管理,保障核心过
程工作流顺畅、高效运行。
•配置和变更管理.:工作文档的管理,在版本更新、需求变更中做到各类文档及时、同步跟踪,保
证各文档内容完整、一致。
•项目管理(ProjectVanagemenl):资源配置、评估监控、风险控制、计划调整等管理工作,目
的效益最大化。
•环境(Environment):软件开发环境,包括人员、设备、过程和工具,以及各种规范、指导手册
和保障措施.
14简述rup模型中基线与里程碑的概念,二者之间的关系。
基线,是软件文档或源码(或其它产出物)的一个稳定版本,它是进一步开发的基础,也可以理解成为一个
阶段的起点并已经制定了相应的工作标准,并且只有经过授权后才能变更这个标准。
里程碑,是计划中确定的阶段性工作完成目标,要求提交阶段交付物,作为阶段评估的标准。
基线和里程牌的关系:基线是为了建立参照点,是阶段的起点;里程牌是建立阶段性目标,是阶段终点,最
后的里程牌可能是一次迭代的终结。
15简述软件计划的目标和主要工作.
软件计划的目标:研究项目的可行性,研究合理地运用软件项目开发所需的资源、经费,掌握开发进度,
控制项目开发过程按此计划进行.
主要工作包括:确定项目实施范围、定义递交的工作成果、评估实施过程中主要的风险、制定项目实施的时
间计划、成本和预算计划、人力资源计划等.
16软件计划的活动有哪些?这些活动的内容是什么?
软件计划主要活动包括:问题定义,可行性研究,项目计划。
这些活动的内容是:
问题定义:确定项目实施范围,回答项目“做什么?”的问题.
可行性研究:项目的必要性和可能性。
制定项目计划:编制项目开发计划。
17简述问题定义的目的和主要任务。
问题定义的目的:弄清要计算机解决的根本问题所在(要解决的何题是什么?),确定新系统的作用域,以
及项目所需的资源、工期和经费。
问题定义的主要任务:编写项目报告提交审查,作为可行性分析侬依据。
18简述可行性分析的目的、任务和内容。
可行性分析的目的:确定项目的必要性和可能性。
可行性分析的任务包括:可行性分析;写可行性研究报告;编制开发计划。
可行性分析的内容包括:技术、经济和社会三个方面的可行性:
19简述需求分析的目的、必要性和参与角色
需求分析的目的是:弄清用户对系统的细节要求,完整、准确、清晰、具体地问答目标系统“做什么”。准
确地理解用户提出的软件功能、性能及其环境的要求.
需求分析的必要性:用户与开发者的知识领域不同,产生歧义;软件开发失败50%是需求不合理,早期错误
易放大。
参与角色:开发方包括分析师、设计师和架构师。用户方包括领域专家、用户和部门负责人。
20需求开发的任务有哪些?
需求开发的任务包括
需求获取:收集用户对目标软件系统在功能、性能、行为、设计约束等方面的期望。
需求分析:通过符号和文字说明描述系统模型,使用户和开发者间建立共同语言基础,消除理解上的歧义的
过程。
需求说明:既编写需求文档,也称编写需求规格说明书.需求说明书是需求分析阶段的最终成果,也是需求
分析阶段复审的依据:是用户领域专家、软件分析师、软件设计师共同交流的途径和媒介;是交付给用户
文档的一部份;
需求验证:即需求评审。根据需求说明书,分析师、设计师、客户会审文档,对需求的正确性、一致性、完
整性、无二义行进行评审、确认。
21需求的层次
软件需求包括三个不同的层次:业务需求、用户需求、功能需求,也包括非功能需求.
1.业务需求(businessrequirement)
业务需求是反映企业/组织对软件系统的高层次目标要求,即软件系统的建设目标.
业务需求通常是“问题定义”或“可行性研究”阶段获取的内容;在需求规格说明书中反映在项目背毋、
系统目标或任务概述的描述中。
获取的主要对象是客户方的高管、专家、部门负责人.
2.用户需求(userrequirement)
用户需求,用来描述用户使用产品必须要完成的任务:使用业务领域的术语描述,采用JT•发者与用户都能
理解的语言和图形表达。用户需求是经过调查、归纳后双方认同的结果。
获取的主要对象是部门负责人、软件的操作者或称终端用户。
3。功能需求(functionalrequirement)
功能需求定义了开发人员必须实现的软件功能,结果在需求规格说明书中:功能需求用软件行业术语表达:
通常是需求建模的结果即目标系统的逻辑模型,如结构化的功能模型、数据模型、行为模型,面向对象的类
模型等。
4。非功能需求
特性是指一些非功能需求,是满足业务需求的性能要求。如界面的交互性、数据的安全性、数据的事务性、
用户的并发性、响应的快速性、操作的实时性、错误与异常的恢芟性、软件的容错性等等。项目的失败或
拖延一般不是在功能上,而恰恰倒是在性能要求上,因为这些性能与软件的体系结构有关,与构成系统的网
路与硬件环境等底层技术有关,往往超越一般开发人员的技术能力。
22需求获取的一般方法
①需求获取方法以采访、观察、座谈、对先前的系统版本的测试等。必要时采用快速原型法。
②先集中在使用者对系统的观点上,以收集用户原始资料,数据、工作方式、工作流程、使用要求等为
工作起点,深入到部门、车间、班组,做好原始纪录:
③然后根据对问题及环境的理解与开发经验,改正用户需求的模糊、歧义和不一致性要求,排除月户的
不合理要求,挖掘用户尚未提出但具有价值的潜在需求,使用户需求逐步精确化、一致化和完全化;
④需求获取非一次完成:需要往更进行、逐步深化。
⑤筋求获取的内容:写进“希求规格说明书”,确认。
23需求获取的策略
①循序渐进的策略;
②确定优先级:先进行重点的需求调研,有助于识别出重大的风险,并为制定迭代计划提供指导:
③不要陷入技术:需求未明确,应回避对技术问题讨论。
④挖掘用户需求:“诱导式”就是挖掘用户需求。客户并非IT专业人士,需求的概念是模糊的、笼统的,
而且尺度难以把握,预测潜在需求.
⑤区分不必要的需求:客户对有些需求提不出来,自然也会提出一些不必要的筋求。
24简述概要设计和详细设计的内容.
软件设计包括概要设计和详细设计.概要设计又分为体系结构设计和领域问题结构设计。
体系结构设计:是支撑和管理软件运行的环境设计。由于现代的软件是处在操作系统、网络、各种服务器共
同搭建的环境下运行,并且具有并发、安全、事务等多方面的管理,是软件设计优先考虑的问题。
领域问题结构设计:满足需求的软件功能设计,核心所在。将领域问题的分析模型细化成软件结构模型,也
就是划分软件的模块结构及确定模块之间的关系。
②详细设计又分为如下三个部分:
•对模块内部的过程和数据结构进行设计。也就是对模块内进行算法分析和程序设计。
•人机交互界面的具体设计,还有与其它外部系统接口设计。
•完成对数据库的物理设计
概要设计是根据需求确定软件和数据的总体框架;详细设计是进一步精化成软件的算法和数据结构。
25
25简述衡量软件模块独立性的度量标准有哪些?
模块独立性是指模块能够完成独立的功能:模块符合信息隐藏和信息局部化原则;模块间关连和依赖程度尽
量小。
衡量软件模块独立性的度量标准的指标有取决于模块的内部特征的指标内聚度和取决于模块的外部特征的
指标耦合度。
内策度:一个模块内部各个元素间(语句和程序段)彼此的紫密程度的度量.
耦合度:指软件结构中各模块间相互联系紧密程度的一种度量。
26简述内聚度的七个等级?
内聚度表示一个模块内部各成分之间彼此结合的紧密程度.内聚度按其高低程度可分为七级,高内聚度模块
独立性强,设计尽可能提高模块内聚度。
①偶然性内聚:是指一个模块内各成分为完成-•组功能而组合在一•起,它们相互之间即使有关系,也
很松散。
②逻辑性内聚:模块内完成的诸任务逻辑上相关。该类内聚的缺点是执行中要从模块外引入用作判
断的开关量,从而增加了块间偶合(控制偶合)。
③时间性内聚:如果一个模块包含的诸任务必须在同一时间段内执行,则称之为时间性内聚
④过程性内聚:模块的过程性内聚度是指模块内成份彼此相关,并且必须按特定的次序在木模块内执
行:
⑤通讯性内聚:是指模块中各组成成分都将对某个数据结构的同一区域进行操作,以达到通信的目
的。
⑥顺序性内聚:一个模块内的各处理成分均与同一功能相关,且这些处理必须顺序执行,通常,一个
处理成分的输出是另一个处理成分的输入.
⑦功能性内聚:模块内所有成分形成一个整体,完成单个功能,则称功能内聚,功能内聚是最高程度
的内聚形式。
27耦合度的七个等级
耦合度是模块独立性最显著特征。耦合度按其高低程度可分为七级,松耦合是软件设计一直追求的目标。
①非直接耦合:模块不依赖另一个模块能独立工作,这是最松的耦合。
②数据耦合:两模块间通过参数交换数据信息,则称这两模块为数据耦合。
③特征耦合:模块之间除传递关健数据外还附加公共数据。
④控制耦合:如果两模块间通过参数交换信息,此时若传递的信息中含有控制信息,则为控
制耦合。
⑤外部耦合:当若干模块均与同一个外部环境关爱,它们之间便存在外部耦合。
⑥公共耦合:当若干模块通过全局的数据环境相互作用时,它们之间存在公共耦合.
⑦内容耦合:当一个模块使用另一个模块内部的数据或控制信息;一个模块直接转移到另一
个模块内部等,模块间的耦合就是内容耦合.
28简述模块的作用域与控制域的概念及其相关设计原则.
模块的作用域:从功能方面考虑,受模块内一个判定影响的所有模块的集合:
模块的控制域:从结构方面考虑,包括它自己及其所有下属模块的集合。
相关设计原则是:模块的作用域应在控制域之内。
29详细设计的表达方式有哪些?
1.伪代码(Pseudocode):是一种算法描述语言,也称PDL语言(ProgramDesignLanguage).伪代码介于自
然语言与编程语言之间,用伪代码描述的算法可以容易用任何种编程语言实现。伪代码表达算法必须结
构清晰、代码简单、可读性好。
2.程序流程图:用图形符号表达算法,直观表达循环、分支等复杂结构,是喜闻乐见的表现形式。
3.盒图(N-S)(NassifflShneiderman):也是一种图形符号表达方式,同样可以表达各种流向控制,但比
程序流程图紧凑、功能域明确。
4.PAD图(PAD-ProblemAnalysisDiagram)[28]:同样是用图形符号表达算法,但它具有结构化的表达方
式,因此结构十分清晰,很容易翻译成程序代码。PAD支持自顶向下,逐步求精方法的使用。判定表与判定
树:对于规则较多,判定条件较复杂的情况,宜采用这两种方法表达.
5。判定表与判定树:对于规则较多,判定条件较复杂的情况,宜采用这两种方法表达。
30简述面向数据流的结构化分析SA方法中,有哪些建模方法?
功能建模:数据流图DFD(DataFlowDiagram)+数据字典DD(DalaDictionary):
数据建模:实体关系图ERD(EnlityRelationDiagram);
行为建模:状态转换图STD(StateTransformDiagram):
加工说明PESPEC(ProcessSPECification)和判定表等辅助工具.
31简述数据流图(DFD)的图形符号有哪些?
①数据流:表示数据流的名称和数据的流向(从加工出发或流向加工);
②外部实体:系统外与系统交互的人或实体;
③数据加工:数据处理:
④数据存储;数据进行持久保存的环节;
32简述数据字典的作用、内容和组成元素有哪些?
数据流图描述了数据加工,但没有描述数据的内容。数据流图必须与描述并组织数据条目的数据字典
DD(DataDictionary)配套使月。
数据字典描述的对象:描述数据流图中出现的所有数据和加工.这里的数据描述是概念性的,属数据结构的
抽象描述;加工采用加工小说明进行概念性的描述。
数据字典的组成元素包括:数据流条目、数据存储条目、数据项条目:加工条目(也称为小说明):
33简述面向对象的基本概念有哪些?
1.对象与面向对象
对象(Object):即表示客观世界中的某个具体的事物。面向对象(ObjectOriented):是人类的活动,是
人类认知、观察客观事物的方法论。
2.面向对象的抽象与分类
3.类的封装与对象的整体性
4.关联性与交互性
客观事物都不是孤立存在的,万物之间相互依存、相互交流。关联性表达客观事物的社会性、共存性、组
织性,是静态的结构描述。消息机制是对象的交互性,表示对象生存环境的依赖性。
5.继承性
对事物的分类本身就体现继承性.软件开发利用继承性可对Object更好地分类,软件结构更严谨,代码的
复用性更强。
6.多态性
对象在不同的条件卜,同样的行为会表现不同的效果,这就是Object的多态(polymorphism).
面向对象编程语言提供抽象类、接口、重载等技术支持多态的实现.
34面向对象的五大特性有哪些?
面向对象的特性有抽象性、封装性、继承性、多态性和消息机制等五大特性。
35简述面向对象开发过程的内容有哪些?
①需求获取:开发者以00的观点(00V)来观察客观世界的目标即获取需求,然后用自然语言写到需求规格
说明(005)中,也就是对客观世界的最高层抽象。
②面向对象分析OOA(ObjectOrientedAnalysis)与面向对象设计00D(ObjectOrientedDesign),
③面向对象编程ObjectOrientedProgram(OOP)与面向对象测试ObjectOrientedTesting(00T)是代
码实现过程,它依赖于•编程语言和工具。
④软件维护ObjectOrientedSoftwareMaintenance(OOSM).
36与传统的软件开发方法相比较,面向对象开发的主要优点有哪些?
1.自然性即客观性
2.操作数据对象而非数据实体
3.阶段衔接平滑
4.结构性好、复用性强
5.提高扩展性和维护性
37简述UML中定义了那些图形符号?并简述起作用。
用例图(UseCase)描述系统参与者与领域问题的功能
类图(Class)描述系统的逻辑结构,类、接口及它们的协作关系
包图(Package)描述类的复用组织一分组
对象图(Object)描述类的实例在某时刻的关系
构件图(Component)描述系统按构件组成上的关系
配置图(Deployment)描述系统运行环境的配置.情况
时序图(Sequence)描述某些对象共同合作完成某项功能而按时间顺序进行的消息传递
协作图(Collaboration)描述某些对象共同合作完成某项功能的依赖关系
活动图(.Activity)描述杲个用例按事件流转所经历的的活动,即业务流程
状态图(Statechart)描述某个业务流程按事件流转所经历的状态,即状态机
38简述用例图中有哪些模型元素?并简述其含义?
①参与者:指存在于系统外部并与该系统发生交互的人或其他系统,代表系统的使用者或使用环境。
②用例(UseCase),用例用于表示系统提供的服务,它定义了系统是如何与参与者交互,描述了参与者与
系统之间的交互过程。
③角色与用例间的关系关联,它表示参与者与系统中的哪些用例交互。
用例之间的关系:包含((include,、和扩充《(extend〉〉关系以及泛化关系。
参与者之间的泛化关系。
39简述类图中有哪些模型元素?并简述其含义?
提示:一切可以出现在类图中的元素。
类:
类名、属性、方法(可见性、作用域)
特殊类:接口
类之间的关系的定义、表示和属性:
关联、依赖、聚合、组合、泛化、实现.
各种类关系之间的关系。
40简述包图中有哪些模型元素?并简述其含义?
提示:一切可以出现在包图中的元素。
包和包之间的关系。
41简述活动图中有哪些构成元素?并简述这些元素的含义?
42简述OOA模型的结构
00A的核心任务是搞清用户需求,最终要建立起OOA模型。UML的OOA模型由“用例模型”和“概念模型”
两大部分组成。
①用例模型,是将用自然语言描述的领域问题,转换成UML语言表达的模型,主要面向用户,反映用户需
求.
完整的用例模型由用例图和业务场景描述两个部分组成,用例图表示功能的划分;
业务场景描述则对每个用例的事件流进行描述;
②概念模型(类模型/结构模型/静态模型)。
将用例模型映射成类模型:从用例模型中找出类,面向设计人员,
主要工作是:根据用例图进行类的划分与封装:描述类间的静态关系与结构:用交互图表达类对象间的消
息传递。
43对象间的可访问性
①属性可见性:B是A的一个属性(关联、聚合);
②参数可见性:B的对象是A的一个方法的参数;
③局部声明可见性:B的对象是在A的一个方法中声明的一个局部变量:
④全局可见性:B的对象在某种程度上全局可见;
44对象持久化对象持久化常用技术
实体类的实例称为数据对象,对象持久化主要用于数据对象的持久化,简称数据持久化。
一个数据对象的持久化就是保存到实体表中的一条记录,对实体对象的访问就是操作属性的值。
对象持久化常用技术
①对象的序列化
指将对象的相关信息(对象序列号、属性名、属性值等)转换为字节流,然后再把字节流写入数据流。可以
把对象这些信息存循在本地的义件里,也可以把它通过网络传输到远程。通过对象反序列化,得到原对象完
全相同的副木。
②对象持久化到数据库中
数据库可以是对象数据库或关系数据库。
③用XML(extensibleMarkupLanguage)存储。
45"实体模型〃到“关系模型”的OR映射
(1)一个对象类可以映射为一个以上的库表,当类间有一对多的关系时.,一个表也可以对应多个类。
(2)对象关系(一对一、一对多、多对多)的映射可能有多种情况,但一般映射为一个表或多个表,在表间
定义相应的主键PK(Primarykey)和外键FK(Foreignkey)建立实体间的关系。
(3)单一继承的泛化关系可以对超类、子类分别映射表,也可以不定义父类表而让子类表拥有父类属性;反
之,也可以不定义子类表而让父类式拥有全部子类属性。
(4)对多重继承的超类和子类分别映射表,对多次多重继承的泛化关系也映射一个表。
(5)对映射后的库表进行冗余控制调整,使其达到合理的关系范式。
46软件测试的定义
软件测试是为了发现错误而运行程序的过程;软件测试的目的是发现程序中的错误,是为了证明程序有错,
而不是证明程序无错:测试对象不仅是程序,还应该包括开发过程中产生的所有产品,包括文档,其目的
是为了尽早地、尽可能多的发现并排除软件中潜在的错误。
47软件测试的基本原则
①Who来测试?
测试工作应该由独立的、专业的软件测试机构来完成,设计人员和程序员要参与测试;对测试结果一定要
有一个确认的过程,一般由角色A测试出来的错误,一定要有一个角色B来确认,严重的错误可以召开评审
会进行讨论和分析:
②测试What?
程序员交付的模块、系统和文档;
③测试Extent?
设计测试用例.充分覆盖所有条件或所有语句即可:
④When测试?
尽早和不断的测试,即将这种“测试”贯穿于软件开发的各个阶段,坚持各个阶段的技术评审,以便尽早地
发现和预防错误;
⑤How测试?
设计测试用例时不仅要考虑到合法的输入,还要考虑到不合法的输入以及各种边界条件;对发现错误较多
的程序模块,应进行重点测试。
48软件缺陷,软件缺陷的属性:
从产品内部看,缺陷是软件产品开发或维护过程中存在的错误、毛病等各种问题:从产品外部看,缺陷是
系统所需要实现的某种功能的失效或违背。
软件缺陷的属性:
缺陷标识、缺陷类型、缺陷严重、程度缺陷、优先级、缺陷状态、缺陷起源、缺陷来源、缺陷根源等。
49简述测试用例的概念
测试用例(TestCase)是关F具体测试步骤的文档,以判断被测软件的工作是否正常。
内容包括:测试目标、测试环境、输入数据、测试步骤、预期结果等。从表现形式上看,测试用例可以是纯
文本的文档,也nJ■以是用程序设计语言编写的一段代码。
50简述基本测试方法的分类情况
测试方法分类内容
走查
静态测试
评审
语句覆盖语句覆盖是最简单、最弱覆盖。它只覆盖可执行语句至少执行一次。
判定覆盖判定覆盖又叫分支覆盖,是对每个判定式取真、假各一次,使每个判定的
每个分支都至少执行一次,同时满足语句覆盖。
逻条件覆盖条件覆盖是把程序中每个判断的每个条件为真和假各取值一次.条件覆盖
动白
辑深入到判定中的每个条件,但不一定满足判定覆盖的要求.
态念
覆判定/条件覆判定/条件覆盖能同时满足判定、条件两种漫盖标准的取值.就是使得判定中
测厕
盖盖每个条件的所有可能取值至少执行一次,同时每个判定本身所有取值至少
试试
注执行一次.
条件组合覆条件组合覆盖.是按每个判断的所有条件取值进行组合。这是5种覆盖中最
盖强的范盖。它不但可覆盖所有条件,还可覆盖所有判断的可取分支。
基本路径覆盖法基本路径测试步骤:
①导出程序流程图的拓扑结构一流图(控制流程图):
②计算流图G的环路复杂性V(G);
③确定只包含独立路径的基本路径集;
④设计测试用例;
等价类划分法对测试数据进行区间划分,从这些区间中选取典型值作为用例代表,认为
黑
测试等价类中的一个代表值的结果就等于对该类其它值的测试.
盒
边界值分析法边界值分析法就是对输入或输出的边界值进行测试的一种方法.
测
错误推测法
试
因果图法
51简述软件测试过程的主要内容。
1.需求与设计评审
2.单元测试(UnitTesting)
3.集成测试
4.功能测试
5.系统测试
6。验收测试
7.a与B测试
52简述单元测试(UnitTesting)的主要内容。
单元测试又称模块测试,是针对软件设计的最小单位程序模块(函数、类等)进行正确性检验的测试工作。
单元测试采用黑盒+白盒混合万式,采用黑盒测试为主为先,白盒测试为辅为后的策略。
1)用黑盒进行模块接口测试
2)用黑盒进行模块边界条件的测试
3)用白盒进行模块局部数据结构和算法的测试
4)用白盒进行模块中独立路径的测试
5)模块中各条错误处理路径的测试
53简述集成测试的主要内容
集成测试也叫组装测试或联合测试。
集成测试是在单元测试基础上,再将单元按照概要设计规格说明的要求组装成更大的模块、子系统或系统。
1)非渐增式集成测试
非渐增式集成测试又叫•次性集成测试,就是把所有经过单元测试的模块按照设计规格说明书•次性组装
成系统,然后进行统一的测试。
2)渐增式集成测试
渐增式集成测试即把下一个要测试的模块同已经测试好的模块结合起来进行测试,测完后,再把下一个应
该测试的模块结合进来测试.
54。简述验收测试的概念
验收测试是软件交付之前的最后一个测试操作,验收测试的目的是确保软件准备就绪,并且可以让最终用
户将其用于执行软件的既定功能和任务.
55.a与B测试
这两种测试是针对商用软件的系统测试。
商用软件与合同定制式软件不同,它面向的使用群体数量大、不确定,没用针对性的验收用户。因此在软件
正式面市之前免费供用户试用,由用户在试用中发现问题,这就是3测试。
提供给用户的B版如果BUG太多,客户将无法试用和承受,因此首先软件开发组织内部人员模拟各类用户
对即将面市软件产品进行测试,此时称为。测试。
56简述软件维护的概念
软件维护是在软件交付使用之后,为了改正错误或满足新的需求而修改软件的过程。
57软件维护的分类
纠错性维护(CorrectiveMaintenance)
纠错性维护是在软件交付后,纠正哪些在运行中发现的残留错误,也称改正性维护。
适应性维护(AdaptiveMaintenance)
为适应软件运行环境(软件生态环境)的变化而修改软件的活动称为适应性维护。
完善性维护(PerfectiveMaintenance)
根据用户在软件使用过程中提出的建设性意见(需求变化)而进行的维护活动称为改善性维护.
预防性维护(PreventiveMaintenance)
为了进一步改善软件的可靠性和易维护性,或者为将来的维护奠定更好的基础而对软件进行修改.
58简述软件维护的副作用及困难有哪些?
1.维护的副作用
维护的副作用就是指由于维护或在维护过程中其他•些不期望的行为引入的错误。
引起副作用的维护修改可分三类:代码副作用;数据副作用;文档副作用。
2.维护工作面临的困难
周期长、难度大、费用高.维拉费用高达开发费用的55%-70%,而且逐年上涨.
维护中还可能引入新的潜在错误。分析设计的缺欠、非维扩■者开发、现场追踪等等。
59简述软件配置项的概念和内容.
软件配置项SCI(softwareConfigurationItem)
软件生存周期各个阶段活动的产物经审批后即可称之为软件配置项。软件配置项包括:
与合同、过程、计划和产品有关的文档和资料;
源代码、目标代码和可执行代码:
相关产品,包括软件工具、库内的可重用软件、外购软件及顾客提供的软件等。
60简述结构化维护和非结构化软件维护的概念.
1.非结构化维护是指满足如下条件的维护
•软件的配置中只行源代码.
•由于没有分析和设计文档,无法对程序的功能进行反向追踪,理解别人的代码是很痛苦的事情。
•由于配置中没有测试文档,所以维护后的代码无法进行回归测试。因而导致程序的结构化被不断的破坏,
维护的质量无法得到保证。
2.结构化维护是指满足如卜.芸件的维护
•待维护的软件的配置是完整的。
•用户提出的维护申请用正向追踪很容易从分析设计文档追踪直至代码中,从而使维护人员很容易定位代
码的维护点。所以这种维护不会破坏软件的结构。
•结构化维护不仅能减少维护的工作量,还能提高维护的质量。
软件配置文档的重要性.
1.为什么说软件测试是软件开发中不可缺少的重要•环,但不是软件质量保证的安全网?
2.软件测试的目的是什么?为什么把软件测试的目的定义为只是发现错误?
3.软件测试应当遵循什么原则?为什么要遵循这些原则?
4.软件测试的步骤是什么?这些测试与软件开发各阶段之间的关系?
5.软件测试的过程是什么?
6.单元测试、集成测试和确认测试各自主要目标是什么?它们之间有什么不同?相互有什么关系?
7.什么是黑盒测试与R盒测试?它们都适应哪些测试?
8.简述软件测试与软件调试的区别.
9.软件配置管理的任务。
10.试述第三代界面的优点.
11.试述人机界面的设计过程。
lo①软件测试是软件开发中不可缺少的重要一环,原因是:
•测试的工作量约占整个项目开发工作量的40%左右,几乎一半。如果是关系到人的生命安全的软件,
测试的工作量还要成倍增加。
•软件测试代表了需求分析、设计、编码的最终复审。
②软件测试不是软件质量保证的安全网,因为软件测试只能发现错误,不能保证没有错误。
2.软件测试的目的有:
①软件测试是为了发现错误而执行程序的过程。
②一个好的测试用例能够发现至今尚未发现的错误。
③一个成功的测试是发现了至今尚未发现的错误。
软件测试的目标定义为只是发现错误,原因是软件测试可以有两个目标,一个是预防错误,另一个是发
现错误.由于软件开发是人的创造性劳动,人的活动不可能完美无跳,错误可能发生在任何一个阶段,因此预
防错误这一目标几乎是不可实现的,所以软件测试的目标定义为只是发现错误.
3.软件测试应当遵循原则如下:
①用例由输入数据和预期的输出数据两部分组成,因为这样便于对照检查,做到有的放矢。
②用例不仅选用合理的输入数据,还要选择不合理的输入数据.因为当以特殊方式使用程序时,会突然发现
程序中有许多错误,故使用预期的不合理的输入数据进行程序测试,比用合理的输入数据收获要大,从而能
更多地发现错误,提高程序可靠性。
③除了检查程序是否做了它应该做的事,还应该检查程序是否做了它不应该做的事,因为如果程序做了它不
应该做的事,即使程序能做它应该做的事,程序也是错误的。
④应制定测试计划并严格执行,因为这样可以排除随意性。
⑤长期保留测试用例,因为测试用例的设计耗费很大的工作量,而修改后的程序可能有新的错误,需要进行
回归测试,故必须将测试用例作为文档保存,使测试具有可重复性,同时测试用例是将来系统维护测试叮确
认的依据,保存测J试用例也为以后的维护提供方便。
⑥对发现错误较多的程序段,应进行更深入的测试,因为发现错误较多的程序段,其质量较差,同町在修
改错误过程中又容易引入新的错误。
⑦程序员避免测试自己设计的程序,因为测试目的是找错。从心理学角度讲,程序员大多对自己的程序存有
偏见,总认为没有错误或错误不大,另外程序员对需求规格说明的理解而引入的错误则更难发现,应该由别
人或另外的机构来测试会更客观、更有效。
4.①软件测试的步骤如图7-3所示。
1^17-3软件测试的步骤
②这些测试与软件开发各阶段之间的关系如图7—2所示。因为系统测试已经超出了软件工程的范围,所以
图7-2中的系统测试不包括在内。
5.软件测试是一个规则的过程,包括测试设计、测试执行以及测试结果比较等。
①测试设计:根据软件开发各阶段的文档资料和程序的内部结构,利用各种设计测试用例技术精心设计测
试用例。
②测试执行:利用这些测试用例执行程序,得到测试结果.
③测试结果比较:将预期的结果与实际测试结果进行比较,如果二者不符合,对于出现的错误进行纠错,并修
改相应文档。修改后的程序还要进行再次测试,直到满意为止。如果测试发现不了错误,可能由于测试配置
考虑不周到,应考虑重新制定测试方案,设计测试用例。
6。单元测试、集成测试和确认测试各自主要目标是:
①单元测试的主要目标是检查各个模块是否正确实现规定的功能,从而发现模块在编码中或算法中的错误.
②集成测试的生要目标是检查与设计相关的软件体系结构的有关问题。
③确认测试的主要目标是检查已实现的软件是否满足需求规格说明书中确定的各种需求。
单元测试、集成测试和确认测试之间的不同如下:
①测试内容不同:单元测试集中于单个模块的功能和结构检验,其则试内容主要包括模块接口、局部数据结
构、重要的执行路径、错误处理和边界测试:集成测试集中于模块组合的功能和软件结构检验,其测试内
容主要包括模块组装中可能出现的问题,即数据穿过接口可能丢失、一个模块可能破坏另一个模块的内容、
子功能组装可能不等于主功能、全程数据结构问题、误差累积问题;确认测试集中于论证软件需求的可追
溯性,主要包括测试软件功能和性能是否与软件需求一致、测试软件配置的所有程序与文档是否正确完整
而且一致.
②测试的方法不同:单元测试总是使用白盒测试法,为被测模块没计驱动模块和桩模块:集成测试使用渐
增式测试和非渐增式测试,渐增式测试又有分为自顶向下结合法和自底向上结合法;确认测试总是使用黑
盒测试法。
③发现的错误不同:单元测试发现的错误主要是在编码阶段产生的错误,集成测试发现的错误主要是在设
计阶段产生的错误,确认测试发现的错误主要是在需求分析阶段产生的错误。
④涉及的文档不同:单元测试涉及编码和详细设计文档,集成测试涉及详细设计文档和概要设计文档,确
认测试涉及软件需求规格说明出和用户手册.
三者相互关系是:单元测试、集成测试和确认测试是顺序实现的.首先单元测试对各个模块进行测试,然后集
成测试以单元测试为基础,将所有已测模块按照设计要求组装成一个完整的系统,对模块组合的功能和软件
结构检验进行测试,最后确认测试是以集成测试为基础,测试集成的软件是否满足需求规格说明书中确定的
各种需求。
7=①黑盒测试指把测试对象看成一个黑盒子,测试人员完全不考虑程序的内部结构和处理过程,只在软件的
接口处进行测试,依据需求规格说明书,检查程序是否满足功能要求,又称为功能测试或数据驱动测试,
②白盒测试指把测试对象看成一个打开的盒子,测试人员需了解程序的内部结构和处理过程,以检查处理过
程的细节为基础,对程序中尽可能多的逻辑路径进行测试,检验内部控制结构和数据结构是否有错,实际的
运行状态与预期的状态是否一致。
③白盒测试适应的测试有单元测试、逻辑覆盖(按逻辑覆盖程度大同,有语句覆盖、判定覆盖、条件覆盖、
判定/条件覆盖、条件组合覆卷和路径停盖循环覆盖(限制循环次数,存单循环和嵌套循环)和基本路
径测试。
④黑盒测试适应的测试有:确认测试、等价类划分、边界值分析、错误推测和因果图。
8e软件测试与软件调试在目的、技术和方法等方面存在很大的区别,主要表现在:
①测试从一个侧面证明程序员的失败,而调试是为了证明程序员的正确.
②测试从已知条件开始,使用预先定义的程序,且有预知的结果,不可预见的只是程序是否通过测试。调试
一般以不可知的内部条件开始,除统计性调试外,结果是不可预见的.
③测试是有计划的,并要进行测试设计,而调试是不受时间约束的。
④测试姑一个发现错误、改正错误、重新测试的过程,而调试是一个推理过程。
⑤测试的执行是有规程的,而调试的执行往往要求程序员进行必要的推理及知觉的飞跃。
⑥测试经常由独立的测试组在不r解软件设计的前提下完成,而调试必须由r解详细设计的程序员完成。
⑦大多数测试的执行和设计可由工具支持,而调试时,程序员能利用的工具主要是调试器。
1、程序语言有哪些共同特征?
答:程序语m的共同特征(似为特性更符合题意)是指程序设计语旨的语旨特性,包括心理特性、工程特性
和技术特性三个方面。语言的心理特性对人机通信的质量有主要的影响;语言的工程特性对软件开发成功一
否有重要的影响,此外,语言的技术特性也会影响软件设计的质量.
2、在项目开发时选择程序设计语言通常考虑哪些因素?
答:通常要考虑的因素有:项目的应用领域、软件开发的方法、软件执行的环境、算法和数据结构的复杂性
以及软件开发人员的知识等。
3、第4代语言(4GL)有哪些主要特征?
答:4GL的主要特征是:(1)友好的用户界面(2)兼有过程性和非过程性双重特性(3)高效的程序代码(4)
完备的数据库(5)应用程序生成器
4、举例说明各种程序设计语可的特点及适用范围?
答:以常见的一些编程语言为例:
FORTRAN语言,它不仅面向科学计算,数据处理能力也极强。适用于科学工程计算
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025届吉林省长春市九台区第四中学物理高二下期末检测模拟试题含解析
- 2025年陕西师范大学附中物理高二第二学期期末联考试题含解析
- 云南省普洱市景东彝族自治县一中2025年物理高二下期末达标测试试题含解析
- 2025届河南省南阳一中高一物理第二学期期末考试试题含解析
- 2025届江苏南京市、盐城市物理高二第二学期期末统考试题含解析
- 客舱服务说课课件
- 2025届江西省浮梁一中高二物理第二学期期末统考模拟试题含解析
- 二零二五年度工业仓库场地租赁及配套设施合同
- 二零二五版企业班组安全生产合作协议范本
- 二零二五年度残疾人特殊教育机构服务协议
- 2025届单一概念材料作文“被讨厌的勇气”审题指导高考语文写作技巧实战分析与素材运用
- 工程债权转让合同模板
- 人教版初三化学必考知识点总结
- 历史人教部编版八年级(上册)第13课五四运动课件(23张)2024版新教材
- DB42∕T 2234-2024 装配型附着式升降脚手架安全技术规程
- 美国技术服务合同英文翻译
- 企业数字化生存指南
- 医院医疗器械临床试验项目资料备案清单
- YDT 5206-2023宽带光纤接入工程技术规范
- 新疆警察学院面试问题及答案
- 小学三到六年级全册单词默写(素材)-2023-2024学年译林版(三起)小学英语
评论
0/150
提交评论