当前位置:文档之家› 软件工程答案整理

软件工程答案整理

填空

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,它用于整个软件工程过程。其主要目标是:、、、。

55.SCM是一组管理整个软件生存期各阶段中的活动。

56.基线的作用是把各阶段的开发工作划分得更加明确,便于检查与确认阶段成果。因此,基线可以作为项目的一个。

2. 文档资料部结构测试用例程序错误缺陷

3. 输入数据输出数据

4. 动态测试静态测试

5. 运行程序测试用例黑盒测试白盒测试

6. 人工检测计算机辅助静态分析

7. 编码质量编码软件产品

8. 静态分析特性

9. 接口需求规格功能10. 部结构处理过程处理过程测试11. 结构源程序部逻辑12. 判定语句覆盖判定覆盖条件覆盖判定/条件覆盖条件组合覆盖路径覆盖13. 条件组合路径14. 循环循环次数15. 控制流程图环路基本路径16. 功能等价类划分边界值分析错误推测因果图17. 功能一句话一个短语等价类18. 边界边界值第一个最后一个19. 错误推测法20. 因果功能说明判定表判定表21. 测试黑盒白盒22. 软件配置测试配置测试工具23. 单元测试集成测试确认测试系统测试24. 单元测试编码详细设计25. 模块模块接口局部数据结构重要的执行路径错误处理边界条件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.标识变更控制变更确保变更正确地实现报告有关变更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个知识领域

软件工程过程 ( Software Engineering Process)

软件工程工具和方法 ( Software Engineering Tools and Methods )

软件需求(Software Requirement)l

软件设计 (Software Design )

软件构造 (Software Construction)

软件测试 (Software Testing)

软件维护 (Software Maintenance)

软件配置管理 (Software Configuration management)

软件工程管理 ( Software Engineering management )

软件质量 ( Software Quality)

5 软件工程的目标是什么,软件工程的三要素都是什么?

软件工程的目标:软件工程必须以有组织的质量保证为基础,进行全面质量管理,不断地过程改进使软件工程方法走向成熟。

软件工程的三要素包括:过程、方法和工具

过程为及时合理地开发出满足用户需求的计算机软件而进行一系列有组织的活动。过程定义了技术方法的采用、工程产品(包括模型、文档、数据、报告、表格等)的产生、里程碑的建立、质量的保证和变更的管理。

方法为软件开发提供“如何做”的技术,它涵盖了项目计划、需求分析、系统设计、程序实现、测试与维护等一系列的开发活动如何来做。开发方法经历了从面向结构、面向对象、面向组件到面向服务的发展工程。

工具为过程和方法提供自动的或半自动的支持。这些软件工具被集成起来,建立起一个支持软件开发的系统,称之为计算机辅助软件工程 (CASE ,Computer Aided Software Engineering)。

6 软件工程的七条基本原理

美国著名的软件工程专家巴利?玻姆(Barry Boehm)提出了软件工程的七条基本原理:

1.用分阶段的生命周期计划严格管理;

2.坚持进行阶段评审;

3.实行严格的产品控制;

4.采纳现代程序设计技术;

5.结果应能清楚地审查;

6.开发小组的人员应少而精;

7.承认不断改进软件工程实践的必要性。

7 简述软件过程的定义,软件过程又可以分为那几个类型?

软件过程(Software Procedure)是为获得软件产品,在软件工具支持下由软件工程师完成的一系列软件工程活动。

软件过程可概括为基本过程、支持过程和组织过程等三种类型。

其中,基本过程包括:获取过程、供应过程、开发过程、运作过程和维护过程。支持过程包括:文档编制过程、配置管理过程、质量保证过程、验证过程、确认过程、联合评审过程和问题解决过程等过程。组织过程包括:管理过程、基础设施过程、改进过程和培训过程。

8 里程碑( Mile Stone )思想

阶段工作的目标进行总结、评审、调整和部署下一个里程碑。目的:合理分配,细化管理“粒度”,降低项目风险。

9 基线思想

基线是指一个(或一组)配置项在项目生命周期的不同时间点的一种状态,各阶段有各阶段的基线:需求基线、设计基线、测试基线等。基线一旦建立后变化需要受控制。

10 简述软件生存周期的概念,说明软件生存周期划分为那几个主要时期?每个时期有包括哪些主要阶段?

软件生存周期是指软件产品从定义到开发、使用和维护,直到最终被弃用的时期,称为生存周期。

生存周期的可划分为计划时期、开发时期和运行时期等三个主要时期。

其中计划时期包括问题定义和可行性研究两个阶段。开发时期包括需求分析、总体设计、详细设计和实现等四个阶段。运行时期的又称为运行和维护阶段。

11 简述教材中介绍了那些软件开发模型?这些模型各有什么特点?

教材中重点介绍了瀑布、原型、增量、螺旋四个传统模型和RUP、XP两个现代模型。

其中,瀑布模型严格按照生存周期开发软件,每个阶段必须完成规定的、完整、准确的合格文档,前一阶段的输出文档就是后一阶段的输入文档。

其主要特点包括:①活动间具有顺序性和依赖性;②推迟实现的观点;③质量保证的观点;

快速原型模型法是开发人员在一个基本的需求的基础上快速开发出一个软件原型,然后由用户使用和评价原型、开发人员根据用户意见再修改原型,然后再使用评价再修改、直至将原型进化为最终产品。

快速原型模型的特点包括:①做出系统原型,及早向用户展示系统要实现的界面及功能,增强用户的合作信心;②直观化的表达,容易交流,消除理解上的歧义;③修改集中在前期的原型确认上,较大程度减少后期实施中的返工。④入手快,加快开发进度;

增量模型是一种演化模型,先完成一个系统子集的开发,再按同样的开发步骤增加子集,如此递增下去直至满足全部系统需求。每个增量可按快速原型法进行。

增量模型的特点包括:①无须等待获取完整需求就可入手,尽快见到成果,增强双方信心;②分步开发,降低复杂性和难度,减少技术风险,并可并行开发;③边开发边投入,可及早发现问题,减少投资风险;

④各个子集是逐渐并入已有的系统中,加入子集不能破坏已构造好的部分,这需要软件具备开放式的体系结构;⑤适用于需求不完整的软件开发,指的是需求逐渐摸清、逐步完善,并非随意改变,需求改变过大会导致整体性失控。后面要介绍的XP(极限编程)属于该模型。

螺旋模型(Spiral model)是一种融合了瀑布模型、快速原型模型和增量模型的演进模型,并引入风险分析机制。适合大型复杂的系统开发。

螺旋模型特点包括:①多种模型结合的一种演进模型,融合了瀑布模型、快速原型和增量模型的所有特点,融进了循环往复、迭代演进的思想;②增加风险分析,一旦风险成立,原方案应终止、修订,力求风险可控③客户始终参与每个阶段的开发,每个阶段的成果需客户确认,避免错误的积累。

统一过程RUP (Rational Unified Process)是由Rational 公司在推出统模语言UML后,推出的一个软件开发框架RUP,称为软件统一开发过程。

12 统一过程RUP定义了那几个主要阶段?

●初始阶段(Inception):主要完成商业需求,确定项目边界。里程碑是生命周期目标(Lifecycle

Objective),评价项目基本的生存能力。

●细化阶段(Elaboration):主要完成领域问题分析和软件设计。获取用户需求(功能和非功能需求),建

立需求模型;进一步确立体系结构和设计软件结构等工作。里程碑是生命周期结构(Lifecycle Architecture)。

●构造阶段(Construction):主要完成系统实现、测试,里程碑是初始功能(Initial Operational),产

品版本常被称为“beta”版。

●交付阶段(Transition):重点是确保软件对最终用户是可用的。里程碑:产品发布(Product Release)

13 统一过程RUP工作流

6个核心过程工作流(Core Process Workflows)

●商业建模(Business Modeling):弄清项目边界和约束,做出计划。

●需求(Requirements):描述系统应做什么,开发人员和用户达成需求基线。

●分析和设计(Analysis & Design):将需求转化成计算机可以实现的模型。

●实现(Implementation):用程序设计语言将设计模型组织成可执行的文件、数据。

●测试(Test):是发现软件中的错误,在实验环境下验证所有的需否被正确的实现。

●部署(Deployment):将软件分发给最终用户,安装在真实的环境下,由用户操作运行。

3个核心支持工作流(Core Supporting Workflows)是对核心过程工作流的配套支持和管理,保障核心过程工作流顺畅、高效运行。

●配置和变更管理:工作文档的管理,在版本更新、需求变更中做到各类文档及时、同步跟踪,

保证各文档容完整、一致。

●项目管理(Project Management):资源配置、评估监控、风险控制、计划调整等管理工作,目

的效益最大化。

●环境(Environment):软件开发环境,包括人员、设备、过程和工具,以及各种规、指导手册和

保障措施。

14 简述rup模型中基线与里程碑的概念,二者之间的关系。

基线,是软件文档或源码(或其它产出物)的一个稳定版本,它是进一步开发的基础,也可以理解成为一个阶段的起点并已经制定了相应的工作标准,并且只有经过授权后才能变更这个标准。

里程碑,是计划中确定的阶段性工作完成目标,要求提交阶段交付物,作为阶段评估的标准。

基线和里程牌的关系:基线是为了建立参照点,是阶段的起点;里程牌是建立阶段性目标,是阶段终点,最后的里程牌可能是一次迭代的终结。

15 简述软件计划的目标和主要工作.

软件计划的目标:研究项目的可行性,研究合理地运用软件项目开发所需的资源、经费,掌握开发进度,控制项目开发过程按此计划进行。

主要工作包括:确定项目实施围、定义递交的工作成果、评估实施过程中主要的风险、制定项目实施的时间计划、成本和预算计划、人力资源计划等。

16软件计划的活动有哪些?这些活动的容是什么?

软件计划主要活动包括:问题定义,可行性研究,项目计划。

这些活动的容是:

问题定义:确定项目实施围,回答项目“做什么?”的问题。

可行性研究:项目的必要性和可能性。

制定项目计划:编制项目开发计划。

17 简述问题定义的目的和主要任务。

问题定义的目的:弄清要计算机解决的根本问题所在(要解决的问题是什么?),确定新系统的作用域,以及项目所需的资源、工期和经费。

问题定义的主要任务:编写项目报告提交审查,作为可行性分析的依据。

18 简述可行性分析的目的、任务和容。

可行性分析的目的:确定项目的必要性和可能性。

可行性分析的任务包括:可行性分析;写可行性研究报告;编制开发计划。

可行性分析的容包括:技术、经济和社会三个方面的可行性:

19简述需求分析的目的、必要性和参与角色

需求分析的目的是:弄清用户对系统的细节要求,完整、准确、清晰、具体地回答目标系统“做什么”。准确地理解用户提出的软件功能、性能及其环境的要求。

需求分析的必要性:用户与开发者的知识领域不同,产生歧义;软件开发失败50%是需求不合理,早期错误易放大。

参与角色:开发方包括分析师、设计师和架构师。用户方包括领域专家、用户和部门负责人。

20 需求开发的任务有哪些?

需求开发的任务包括

需求获取:收集用户对目标软件系统在功能、性能、行为、设计约束等方面的期望。

需求分析:通过符号和文字说明描述系统模型,使用户和开发者间建立共同语言基础,消除理解上的歧义的过程。

需求说明:既编写需求文档,也称编写需求规格说明书。需求说明书是需求分析阶段的最终成果,也是需求分析阶段复审的依据;是用户领域专家、软件分析师、软件设计师共同交流的途径和媒介;是交付给用户文档的一部份;

需求验证:即需求评审。根据需求说明书,分析师、设计师、客户会审文档,对需求的正确性、一致性、完整性、无二义行进行评审、确认。

21 需求的层次

软件需求包括三个不同的层次:业务需求、用户需求、功能需求,也包括非功能需求。

1.业务需求(business requirement)

业务需反映企业/组织对软件系统的高层次目标要求,即软件系统的建设目标。

业务需求通常是“问题定义”或“可行性研究”阶段获取的容;在需求规格说明书中反映在项目背景、系统目标或任务概述的描述中。

获取的主要对象是客户方的高管、专家、部门负责人。

2.用户需求(user requirement)

用户需求:用来描述用户使用产品必须要完成的任务;使用业务领域的术语描述,采用开发者与用户都能理解的语言和图形表达。用户需经过调查、归纳后双方认同的结果。

获取的主要对象是部门负责人、软件的操作者或称终端用户。

3. 功能需求(functional requirement)

功能需求定义了开发人员必须实现的软件功能,结果在需求规格说明书中;功能需求用软件行业术语表达:通常是需求建模的结果即目标系统的逻辑模型,如结构化的功能模型、数据模型、行为模型,面向对象的类模型等。

4. 非功能需求

特性是指一些非功能需求,是满足业务需求的性能要求。如界面的交互性、数据的安全性、数据的事务性、用户的并发性、响应的快速性、操作的实时性、错误与异常的恢复性、软件的容错性等等。项目的失败或拖延一般不是在功能上,而恰恰倒是在性能要求上,因为这些性能与软件的体系结构有关,与构成系统的网路与硬件环境等底层技术有关,往往超越一般开发人员的技术能力。

22 需求获取的一般方法

①需求获取方法以采访、观察、座谈、对先前的系统版本的测试等。必要时采用快速原型法。

②先集中在使用者对系统的观点上,以收集用户原始资料,数据、工作方式、工作流程、使用要求等为工作起点,深入到部门、车间、班组,做好原始纪录;

③然后根据对问题及环境的理解与开发经验,改正用户需求的模糊、歧义和不一致性要求,排除用户的不合理要求,挖掘用户尚未提出但具有价值的潜在需求,使用户需求逐步精确化、一致化和完全化;

④需求获取非一次完成:需要往复进行、逐步深化。

⑤需求获取的容:写进“需求规格说明书”,确认。

23需求获取的策略

①循序渐进的策略;

②确定优先级:先进行重点的需求调研,有助于识别出重大的风险,并为制定迭代计划提供指导;

③不要陷入技术:需求未明确,应回避对技术问题讨论。

④挖掘用户需求: “诱导式”就是挖掘用户需求。客户并非IT专业人士,需求的概念是模糊的、笼统的,而且尺度难以把握,预测潜在需求。

⑤区分不必要的需求:客户对有些需求提不出来,自然也会提出一些不必要的需求。

24 简述概要设计和详细设计的容。

软件设计包括概要设计和详细设计。概要设计又分为体系结构设计和领域问题结构设计。

体系结构设计:是支撑和管理软件运行的环境设计。由于现代的软件是处在操作系统、网络、各种服务器共同搭建的环境下运行,并且具有并发、安全、事务等多方面的管理,是软件设计优先考虑的问题。

领域问题结构设计:满足需求的软件功能设计,核心所在。将领域问题的分析模型细化成软件结构模型,也就是划分软件的模块结构及确定模块之间的关系。

②详细设计又分为如下三个部分:

●对模块部的过程和数据结构进行设计。也就是对模块进行算法分析和程序设计。

●人机交互界面的具体设计,还有与其它外部系统接口设计。

●完成对数据库的物理设计

概要设计是根据需求确定软件和数据的总体框架;详细设计是进一步精化成软件的算法和数据结构。

25

25 简述衡量软件模块独立性的度量标准有哪些?

模块独立性是指模块能够完成独立的功能;模块符合信息隐藏和信息局部化原则;模块间关连和依赖程度尽量小。

衡量软件模块独立性的度量标准的指标有取决于模块的部特征的指标聚度和取决于模块的外部特征的指标耦合度。

聚度:一个模块部各个元素间(语句和程序段)彼此的紧密程度的度量。

耦合度:指软件结构中各模块间相互联系紧密程度的一种度量。

26 简述聚度的七个等级?

聚度表示一个模块部各成分之间彼此结合的紧密程度。聚度按其高低程度可分为七级,高聚度模块独立性强,设计尽可能提高模块聚度。

①偶然性聚:是指一个模块各成分为完成一组功能而组合在一起,它们相互之间即使有关系,也很

松散。

②逻辑性聚:模块完成的诸任务逻辑上相关。该类聚的缺点是执行中要从模块外引入用作判断的开

关量,从而增加了块间偶合(控制偶合)。

③时间性聚:如果一个模块包含的诸任务必须在同一时间段执行,则称之为时间性聚

④过程性聚:模块的过程性聚度是指模块成份彼此相关,并且必须按特定的次序在本模块执行;

⑤通讯性聚:是指模块中各组成成分都将对某个数据结构的同一区域进行操作,以达到通信的目的。

⑥顺序性聚:一个模块的各处理成分均与同一功能相关,且这些处理必须顺序执行,通常,一个处

理成分的输出是另一个处理成分的输入。

⑦功能性聚:模块所有成分形成一个整体,完成单个功能,则称功能聚,功能聚是最高程度的聚形

式。

27耦合度的七个等级

耦合度是模块独立性最显著特征。耦合度按其高低程度可分为七级,松耦合是软件设计一直追求的目标。

①非直接耦合: 模块不依赖另一个模块能独立工作,这是最松的耦合。

②数据耦合: 两模块间通过参数交换数据信息,则称这两模块为数据耦合。

③特征耦合: 模块之间除传递关键数据外还附加公共数据。

④控制耦合: 如果两模块间通过参数交换信息,此时若传递的信息中含有控制信息,则为控制耦合。

⑤外部耦合: 当若干模块均与同一个外部环境关联,它们之间便存在外部耦合。

⑥公共耦合: 当若干模块通过全局的数据环境相互作用时,它们之间存在公共耦合。

⑦容耦合:当一个模块使用另一个模块部的数据或控制信息;一个模块直接转移到另一个模块部等,

模块间的耦合就是容耦合。

28 简述模块的作用域与控制域的概念及其相关设计原则。

模块的作用域:从功能方面考虑,受模块一个判定影响的所有模块的集合;

模块的控制域:从结构方面考虑,包括它自己及其所有下属模块的集合。

相关设计原则是:模块的作用域应在控制域之。

29详细设计的表达方式有哪些?

1.伪代码(Pseudocode):是一种算法描述语言,也称PDL语言(Program Design Language)。伪代码介于自然语言与编程语言之间,用伪代码描述的算法可以容易用任何一种编程语言实现。伪代码表达算法必须结构清晰、代码简单、可读性好。

2.程序流程图:用图形符号表达算法,直观表达循环、分支等复杂结构,是喜闻乐见的表现形式。

3.盒图(N-S) (Nassi和Shneiderman):也是一种图形符号表达方式,同样可以表达各种流向控制,但比程序流程图紧凑、功能域明确。

4.PAD图(PAD-Problem Analysis Diagram)[28]:同样是用图形符号表达算法,但它具有结构化的表达方式,因此结构十分清晰,很容易翻译成程序代码。PAD支持自顶向下,逐步求精方法的使用。判定表与判定树:对于规则较多,判定条件较复杂的情况,宜采用这两种方法表达。

5.判定表与判定树:对于规则较多,判定条件较复杂的情况,宜采用这两种方法表达。

30 简述面向数据流的结构化分析SA方法中,有哪些建模方法?

功能建模:数据流图DFD(Data Flow Diagram)+ 数据字典DD(Data Dictionary);

数据建模:实体关系图ERD(Entity Relation Diagram);

行为建模:状态转换图STD(State Transform Diagram);

加工说明PESPEC(Process SPECification)和判定表等辅助工具。

31 简述数据流图(DFD)的图形符号有哪些?

①数据流:表示数据流的名称和数据的流向(从加工出发或流向加工);

②外部实体:系统外与系统交互的人或实体;

③数据加工:数据处理;

④数据存储:数据进行持久保存的环节;

32简述数据字典的作用、容和组成元素有哪些?

数据流图描述了数据加工,但没有描述数据的容。数据流图必须与描述并组织数据条目的数据字典DD(Data Dictionary)配套使用。

数据字典描述的对象:描述数据流图中出现的所有数据和加工。这里的数据描述是概念性的,属数据结构的抽象描述;加工采用加工小说明进行概念性的描述。

数据字典的组成元素包括:数据流条目、数据存储条目、数据项条目;加工条目(也称为小说明);

33 简述面向对象的基本概念有哪些?

1.对象与面向对象

对象(Object):即表示客观世界中的某个具体的事物。面向对象(Object Oriented):是人类的活动,是人类认知、观察客观事物的方法论。

2.面向对象的抽象与分类

3.类的封装与对象的整体性

4.关联性与交互性

客观事物都不是孤立存在的,万物之间相互依存、相互交流。关联性表达客观事物的社会性、共存性、组织性,是静态的结构描述。消息机制是对象的交互性,表示对象生存环境的依赖性。

5.继承性

对事物的分类本身就体现继承性。软件开发利用继承性可对Object更好地分类,软件结构更严谨,代码的复用性更强。

6.多态性

对象在不同的条件下,同样的行为会表现不同的效果,这就是Object的多态(polymorphism)。

面向对象编程语言提供抽象类、接口、重载等技术支持多态的实现。

34面向对象的五大特性有哪些?

面向对象的特性有抽象性、封装性、继承性、多态性和消息机制等五大特性。

35 简述面向对象开发过程的容有哪些?

①需求获取:开发者以OO的观点(OOV)来观察客观世界的目标即获取需求,然后用自然语言写到需求规格说明(OOS)中,也就是对客观世界的最高层抽象。

②面向对象分析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.结构性好、复用性强

5.提高扩展性和维护性

37 简述UML中定义了那些图形符号?并简述起作用。

38 简述用例图中有哪些模型元素?并简述其含义?

①参与者:指存在于系统外部并与该系统发生交互的人或其他系统,代表系统的使用者或使用环境。

②用例(Use Case) ,用例用于表示系统提供的服务,它定义了系统是如何与参与者交互,描述了参与者与系统之间的交互过程。

③角色与用例间的关系关联,它表示参与者与系统中的哪些用例交互。

用例之间的关系:包含<>和扩充<>关系以及泛化关系。

参与者之间的泛化关系。

39 简述类图中有哪些模型元素?并简述其含义?

提示:一切可以出现在类图中的元素。

类:

类名、属性、方法(可见性、作用域)

特殊类:接口

类之间的关系的定义、表示和属性:

关联、依赖、聚合、组合、泛化、实现。

各种类关系之间的关系。

40 简述包图中有哪些模型元素?并简述其含义?

提示:一切可以出现在包图中的元素。

包和包之间的关系。

41简述活动图中有哪些构成元素?并简述这些元素的含义?

42 简述OOA模型的结构

OOA的核心任务是搞清用户需求,最终要建立起OOA模型。UML的OOA模型由“用例模型”和“概念模型”两大部分组成。

①用例模型,是将用自然语言描述的领域问题,转换成UML语言表达的模型,主要面向用户,反映用户需求。

完整的用例模型由用例图和业务场景描述两个部分组成,用例图表示功能的划分;

业务场景描述则对每个用例的事件流进行描述;

②概念模型(类模型/结构模型/静态模型)。

将用例模型映射成类模型:从用例模型中找出类,面向设计人员。

主要工作是:根据用例图进行类的划分与封装;描述类间的静态关系与结构;用交互图表达类对象间的消息传递。

43 对象间的可访问性

①属性可见性:B是A的一个属性(关联、聚合);

②参数可见性:B的对象是A的一个方法的参数;

③局部声明可见性:B的对象是在A的一个方法中声明的一个局部变量;

④全局可见性:B的对象在某种程度上全局可见;

44对象持久化对象持久化常用技术

实体类的实例称为数据对象,对象持久化主要用于数据对象的持久化,简称数据持久化。

一个数据对象的持久化就是保存到实体表中的一条记录,对实体对象的访问就是操作属性的值。

对象持久化常用技术

①对象的序列化

指将对象的相关信息(对象序列号、属性名、属性值等)转换为字节流,然后再把字节流写入数据流。可以把对象这些信息存储在本地的文件里,也可以把它通过网络传输到远程。通过对象反序列化,得到原对象完全相同的副本。

②对象持久化到数据库中

数据库可以是对象数据库或关系数据库。

③用XML(eXtensible Markup Language)存储。

45 “实体模型”到“关系模型”的OR映射

(1) 一个对象类可以映射为一个以上的库表,当类间有一对多的关系时,一个表也可以对应多个类。

(2) 对象关系(一对一、一对多、多对多)的映射可能有多种情况,但一般映射为一个表或多个表,在表间

定义相应的主键PK(Primary key)和外键 FK(Foreign key )建立实体间的关系。

(3) 单一继承的泛化关系可以对超类、子类分别映射表,也可以不定义父类表而让子类表拥有父类属性;反之,也可以不定义子类表而让父类表拥有全部子类属性。

(4) 对多重继承的超类和子类分别映射表,对多次多重继承的泛化关系也映射一个表。

(5) 对映射后的库表进行冗余控制调整,使其达到合理的关系式。

46软件测试的定义

软件测试是为了发现错误而运行程序的过程;软件测试的目的是发现程序中的错误,是为了证明程序有错, 而不是证明程序无错;测试对象不仅是程序,还应该包括开发过程中产生的所有产品,包括文档,其目的是为了尽早地、尽可能多的发现并排除软件中潜在的错误。

47软件测试的基本原则

① Who来测试?

测试工作应该由独立的、专业的软件测试机构来完成,设计人员和程序员要参与测试;对测试结果一定要有一个确认的过程,一般由角色A测试出来的错误,一定要有一个角色B来确认,严重的错误可以召开评审会进行讨论和分析;

②测试What?

程序员交付的模块、系统和文档;

③测试Extent?

设计测试用例,充分覆盖所有条件或所有语句即可;

④ When测试?

尽早和不断的测试,即将这种“测试”贯穿于软件开发的各个阶段,坚持各个阶段的技术评审,以便尽早地发现和预防错误;

⑤ How测试?

设计测试用例时不仅要考虑到合法的输入,还要考虑到不合法的输入以及各种边界条件;对发现错误较多的程序模块,应进行重点测试。

48软件缺陷,软件缺陷的属性:

从产品部看,缺陷是软件产品开发或维护过程中存在的错误、毛病等各种问题;从产品外部看,缺陷是系统所需要实现的某种功能的失效或违背。

软件缺陷的属性:

缺陷标识、缺陷类型、缺陷严重、程度缺陷、优先级、缺陷状态、缺陷起源、缺陷来源、缺陷根源等。

49 简述测试用例的概念

测试用例(Test Case)是关于具体测试步骤的文档,以判断被测软件的工作是否正常。

容包括:测试目标、测试环境、输入数据、测试步骤、预期结果等。从表现形式上看,测试用例可以是纯文本的文档,也可以是用程序设计语言编写的一段代码。

50简述基本测试方法的分类情况

51 简述软件测试过程的主要容。

1.需求与设计评审

2.单元测试 (Unit Testing)

3.集成测试

4. 功能测试

5. 系统测试

6. 验收测试

7. α与β测试

52 简述单元测试 (Unit Testing)的主要容。

单元测试又称模块测试,是针对软件设计的最小单位程序模块(函数、类等)进行正确性检验的测试工作。单元测试采用黑盒+白盒混合方式,采用黑盒测试为主为先,白盒测试为辅为后的策略。

1) 用黑盒进行模块接口测试

2)用黑盒进行模块边界条件的测试

3)用白盒进行模块局部数据结构和算法的测试

4)用白盒进行模块中独立路径的测试

5)模块中各条错误处理路径的测试

53 简述集成测试的主要容

集成测试也叫组装测试或联合测试。

集成测试是在单元测试基础上,再将单元按照概要设计规格说明的要求组装成更大的模块、子系统或系统。1)非渐增式集成测试

非渐增式集成测试又叫一次性集成测试,就是把所有经过单元测试的模块按照设计规格说明书一次性组装成系统,然后进行统一的测试。

2)渐增式集成测试

渐增式集成测试即把下一个要测试的模块同已经测试好的模块结合起来进行测试,测完后,再把下一个应该测试的模块结合进来测试。

54. 简述验收测试的概念

验收测试是软件交付之前的最后一个测试操作,验收测试的目的是确保软件准备就绪,并且可以让最终用户将其用于执行软件的既定功能和任务。

55. α与β测试

这两种测试是针对商用软件的系统测试。

商用软件与合同定制式软件不同,它面向的使用群体数量大、不确定,没用针对性的验收用户。因此在软件正式面市之前免费供用户试用,由用户在试用中发现问题,这就是β测试。

提供给用户的β版如果BUG太多,客户将无法试用和承受,因此首先软件开发组织部人员模拟各类用户对即将面市软件产品进行测试,此时称为α测试。

56简述软件维护的概念

软件维护是在软件交付使用之后,为了改正错误或满足新的需求而修改软件的过程。

57 软件维护的分类

纠错性维护(Corrective Maintenance)

纠错性维护是在软件交付后,纠正哪些在运行中发现的残留错误,也称改正性维护。

适应性维护(Adaptive Maintenance)

为适应软件运行环境(软件生态环境)的变化而修改软件的活动称为适应性维护。

完善性维护(Perfective Maintenance)

根据用户在软件使用过程中提出的建设性意见(需求变化)而进行的维护活动称为改善性维护。

预防性维护(Preventive Maintenance)

为了进一步改善软件的可靠性和易维护性,或者为将来的维护奠定更好的基础而对软件进行修改。

58 简述软件维护的副作用及困难有哪些?

1.维护的副作用

维护的副作用就是指由于维护或在维护过程中其他一些不期望的行为引入的错误。

引起副作用的维护修改可分三类:代码副作用;数据副作用;文档副作用。

2.维护工作面临的困难

周期长、难度大、费用高。维护费用高达开发费用的55% — 70%,而且逐年上涨。

维护中还可能引入新的潜在错误。分析设计的缺欠、非维护者开发、现场追踪等等。

59 简述软件配置项的概念和容。

软件配置项SCI(software Configuration Item)

软件生存周期各个阶段活动的产物经审批后即可称之为软件配置项。软件配置项包括:

与合同、过程、计划和产品有关的文档和资料;

源代码、目标代码和可执行代码;

相关产品,包括软件工具、库的可重用软件、外购软件及顾客提供的软件等。

60 简述结构化维护和非结构化软件维护的概念。

1.非结构化维护是指满足如下条件的维护

●软件的配置中只有源代码。

●由于没有分析和设计文档,无法对程序的功能进行反向追踪,理解别人的代码是很痛苦的事情。

●由于配置中没有测试文档,所以维护后的代码无法进行回归测试。因而导致程序的结构化被不断的破坏,维护的质量无法得到保证。

2.结构化维护是指满足如下条件的维护

●待维护的软件的配置是完整的。

●用户提出的维护申请用正向追踪很容易从分析设计文档追踪直至代码中,从而使维护人员很容易定位代码的维护点。所以这种维护不会破坏软件的结构。

●结构化维护不仅能减少维护的工作量,还能提高维护的质量。

软件配置文档的重要性。

1.为什么说软件测试是软件开发中不可缺少的重要一环,但不是软件质量保证的安全网?

2.软件测试的目的是什么?为什么把软件测试的目的定义为只是发现错误?

3.软件测试应当遵循什么原则?为什么要遵循这些原则?

4.软件测试的步骤是什么?这些测试与软件开发各阶段之间的关系?

5.软件测试的过程是什么?

6.单元测试、集成测试和确认测试各自主要目标是什么?它们之间有什么不同?相互有什么关系?7.什么是黑盒测试与白盒测试?它们都适应哪些测试?

8.简述软件测试与软件调试的区别。

9.软件配置管理的任务。

10.试述第三代界面的优点。

11.试述人机界面的设计过程。

1. ①软件测试是软件开发中不可缺少的重要一环,原因是:

·测试的工作量约占整个项目开发工作量的40%左右,几乎一半。如果是关系到人的生命安全的软件,测试的工作量还要成倍增加。

·软件测试代表了需求分析、设计、编码的最终复审。

②软件测试不是软件质量保证的安全网,因为软件测试只能发现错误,不能保证没有错误。

2. 软件测试的目的有:

①软件测试是为了发现错误而执行程序的过程。

②一个好的测试用例能够发现至今尚未发现的错误。

③一个成功的测试是发现了至今尚未发现的错误。

软件测试的目标定义为只是发现错误,原因是软件测试可以有两个目标,一个是预防错误,另一个是发现错误。由于软件开发是人的创造性劳动,人的活动不可能完美无缺,错误可能发生在任何一个阶段,因此预防错误这一目标几乎是不可实现的,所以软件测试的目标定义为只是发现错误。

3. 软件测试应当遵循原则如下:

①用例由输入数据和预期的输出数据两部分组成,因为这样便于对照检查,做到有的放矢。

②用例不仅选用合理的输入数据,还要选择不合理的输入数据。因为当以特殊方式使用程序时,会突然发现程序中有许多错误,故使用预期的不合理的输入数据进行程序测试,比用合理的输入数据收获要大,从而能更多地发现错误,提高程序可靠性。

③除了检查程序是否做了它应该做的事,还应该检查程序是否做了它不应该做的事,因为如果程序做了它不应该做的事,即使程序能做它应该做的事,程序也是错误的。

④应制定测试计划并严格执行,因为这样可以排除随意性。

⑤长期保留测试用例,因为测试用例的设计耗费很大的工作量,而修改后的程序可能有新的错误,需要进行回归测试,故必须将测试用例作为文档保存,使测试具有可重复性,同时测试用例是将来系统维护测试与确认的依据,保存测试用例也为以后的维护提供方便。

⑥对发现错误较多的程序段,应进行更深入的测试,因为发现错误较多的程序段,其质量较差,同时在修改错误过程中又容易引入新的错误。

⑦程序员避免测试自己设计的程序,因为测试目的是找错。从心理学角度讲,程序员大多对自己的程序存有偏见,总认为没有错误或错误不大,另外程序员对需求规格说明的理解而引入的错误则更难发现,应该由别人或另外的机构来测试会更客观、更有效。

4. ①软件测试的步骤如图7-3所示。

图7-3 软件测试的步骤

②这些测试与软件开发各阶段之间的关系如图7-2所示。因为系统测试已经超出了软件工程的围,所以图7-2中的系统测试不包括在。

5. 软件测试是一个规则的过程,包括测试设计、测试执行以及测试结果比较等。

①测试设计:根据软件开发各阶段的文档资料和程序的部结构,利用各种设计测试用例技术精心设计测试用例。

②测试执行:利用这些测试用例执行程序,得到测试结果。

③测试结果比较:将预期的结果与实际测试结果进行比较,如果二者不符合,对于出现的错误进行纠错,并修改相应文档。修改后的程序还要进行再次测试,直到满意为止。如果测试发现不了错误,可能由于测试配置考虑不周到,应考虑重新制定测试方案,设计测试用例。

6. 单元测试、集成测试和确认测试各自主要目标是:

①单元测试的主要目标是检查各个模块是否正确实现规定的功能,从而发现模块在编码中或算法中的错误。

②集成测试的主要目标是检查与设计相关的软件体系结构的有关问题。

③确认测试的主要目标是检查已实现的软件是否满足需求规格说明书中确定的各种需求。

单元测试、集成测试和确认测试之间的不同如下:

①测试容不同:单元测试集中于单个模块的功能和结构检验,其测试容主要包括模块接口、局部数据结构、重要的执行路径、错误处理和边界测试;集成测试集中于模块组合的功能和软件结构检验,其测试容主要包括模块组装中可能出现的问题,即数据穿过接口可能丢失、一个模块可能破坏另一个模块的容、子功能组装可能不等于主功能、全程数据结构问题、误差累积问题;确认测试集中于论证软件需求的可追溯性,主要包括测试软件功能和性能是否与软件需求一致、测试软件配置的所有程序与文档是否正确完整而且一致。

②测试的方法不同:单元测试总是使用白盒测试法,为被测模块设计驱动模块和桩模块;集成测试使用渐增式测试和非渐增式测试,渐增式测试又有分为自顶向下结合法和自底向上结合法;确认测试总是使用黑盒测试法。

③发现的错误不同:单元测试发现的错误主要是在编码阶段产生的错误,集成测试发现的错误主要是在设计阶段产生的错误,确认测试发现的错误主要是在需求分析阶段产生的错误。

④涉及的文档不同:单元测试涉及编码和详细设计文档,集成测试涉及详细设计文档和概要设计文档,确认测试涉及软件需求规格说明书和用户手册。

三者相互关系是:单元测试、集成测试和确认测试是顺序实现的。首先单元测试对各个模块进行测试,然后集成测试以单元测试为基础,将所有已测模块按照设计要求组装成一个完整的系统,对模块组合的功能和软件结构检验进行测试,最后确认测试是以集成测试为基础,测试集成的软件是否满足需求规格说明书中确定的各种需求。

7. ①黑盒测试指把测试对象看成一个黑盒子,测试人员完全不考虑程序的部结构和处理过程,只在软件的接口处进行测试,依据需求规格说明书,检查程序是否满足功能要求,又称为功能测试或数据驱动测试。

②白盒测试指把测试对象看成一个打开的盒子,测试人员需了解程序的部结构和处理过程,以检查处理过

程的细节为基础,对程序中尽可能多的逻辑路径进行测试,检验部控制结构和数据结构是否有错,实际的运行状态与预期的状态是否一致。

③白盒测试适应的测试有单元测试、逻辑覆盖(按逻辑覆盖程度不同,有语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖和路径覆盖。)、循环覆盖(限制循环次数,有单循环和嵌套循环)和基本路径测试。

④黑盒测试适应的测试有:确认测试、等价类划分、边界值分析、错误推测和因果图。

8. 软件测试与软件调试在目的、技术和方法等方面存在很大的区别,主要表现在:

①测试从一个侧面证明程序员的失败,而调试是为了证明程序员的正确。

②测试从已知条件开始,使用预先定义的程序,且有预知的结果,不可预见的只是程序是否通过测试。调试一般以不可知的部条件开始,除统计性调试外,结果是不可预见的。

③测试是有计划的,并要进行测试设计,而调试是不受时间约束的。

④测试是一个发现错误、改正错误、重新测试的过程,而调试是一个推理过程。

⑤测试的执行是有规程的,而调试的执行往往要求程序员进行必要的推理及知觉的飞跃。

⑥测试经常由独立的测试组在不了解软件设计的前提下完成,而调试必须由了解详细设计的程序员完成。

⑦大多数测试的执行和设计可由工具支持,而调试时,程序员能利用的工具主要是调试器。

1、程序语言有哪些共同特征?

答:程序语言的共同特征(似为特性更符合题意)是指程序设计语言的语言特性,包括心理特性、工程特性和技术特性三个方面。语言的心理特性对人机通信的质量有主要的影响;语言的工程特性对软件开发成功一否有重要的影响,此外,语言的技术特性也会影响软件设计的质量。

2、在项目开发时选择程序设计语言通常考虑哪些因素?

答:通常要考虑的因素有:项目的应用领域、软件开发的方法、软件执行的环境、算法和数据结构的复杂性以及软件开发人员的知识等。

3、第4代语言(4GL)有哪些主要特征?

答:4GL的主要特征是:(1)友好的用户界面 (2)兼有过程性和非过程性双重特性 (3)高效的程序代码 (4)完备的数据库 (5)应用程序生成器

4、举例说明各种程序设计语言的特点及适用围?

答:以常见的一些编程语言为例:

FORTRAN语言,它不仅面向科学计算,数据处理能力也极强。适用于科学工程计算

Pascal语言,具有很强的数据和过程结构化能力,它语言简明,数据类型丰富,程序结构严谨。它是第一个体现结构化编程思想的语言。用于描述结构化算法和科学计算,操作系统的编写

C语言:功能强大,支持复杂的数据结构,可大量运用指针,具有丰富灵活的操作运算符及数据处理操作符,它还具有汇编语言的某些特征,使程序运行效率高。可用于许多领域,特别是在操作系统等方面有较大优势。

Coble语言,它具有极强的数据定义能力,程序说明与硬件环境说明分开、数据描述与算法描述分开。结构严谨层次分明,广泛用于商业数据处理。

SQL:结构化查询语言,用于对数据库进行存取管理。

汇编语言和Ada语言,主要用于实时处理和编写系统软件。

Prolog、Lisp语言。Lisp是一种函数型语言,特别适用于组合问题中符号运算和表处理,用于定理证明、树的搜索和其他问题的求解。Prolog是一种逻辑型语言,它提供了支持知识表示的特性,每一个程序由一组表示事实、规则和推理的句子组成,比较接近与自然语言。这两种语言主要用于人工智能系统开发。

C++、Java语言,是面向对象的设计语言,用于面向对象的方开发软件。

5、什么是程序设计风格?为了具有良好的设计风格,应注意哪些方面的问题?

答:程序设计风格是指一个人编制程序时所表现出来的特点、习惯、逻辑思路等。

要形成良好的程序设计风格,应从源程序文档化、数据说明、语句构造、输入输出和追求效率几个方面加

以注意。

1、面向对象方法的优点是什么?

答:(1)将现实世界问题向面向对象解空间直接映射,实现对现实世界的直接模拟。

(2)以数据为中心,而不是基于对功能的分解,使得软件结构相对稳定,软件的重用性、可靠性、可维护等特性都较好。

2、可视化开发方法的优点有哪些?

答:(1)简化了图形用户界面的设计和编码工作,将开发的注意力主要集中在程序的执行逻辑和工作流程上。

(2)软件开发简单,易学、易上手。

(3)专业或非专业人员都能参与软件开发活动。

1、瀑布模型的优点有哪些?

答:1、强迫开发人员采用规的技术方法;

2、严格地规定了每个阶段必须提交的文档;

3、每个阶段结束前必须正式进行严格的技术审查和管理复审。

2、瀑布模型的缺点是什么?

答:1、在软件开发的初期阶段就要求做出正确、全面、完整的需求分析对许多应用软件来说是极其困难的。

2、在需求分析阶段,当需求确定后,无法及时验证需否正确、完整。

3、作为整体开发的瀑布模型,由于不支持产品的演化,缺乏灵活性,对开发过程中很难发现的错误,

只有在最终产品运行时才能暴露出来,从而使软件产品难以维护。

3、原型模型适应什么场合?

答:原型模型比瀑布模型更符合人们认识事物的过程和规律,是一种较实用的开发框架。它适合于那些不能预先确切定义需求的软件系统的开发,更适合于那些项目组成员(包括分析员、设计员、程序员和用户)不能很好交流或通信有困难的情况。

1、什么是里程碑?

答:在制定项目进度计划时,在进度时间表上设立一些重要的时间检查点,这样一来,就可以在项目执行过程中利用这些重要的时间检查点来对项目的进程进行检查和控制。这些重要的时间检查点被称作项目的里程碑(Milestone)。

2、请扼要描述Boehm的十大风险事项。

答:Personnel shortfalls人员短缺

Unrealistic schedules and budgets不现实的进度和预算

Developing the wrong functions开发了错误功能

Developing the wrong user interfaces开发了错误的用户界面

Gold-plating华而不实

Continuing stream of requirements changes不断的需求改变

Shortfalls in externally-performed tasks外部执行的任务不符合要求

Shortfalls in externally-furnished components外部提供的组件不符合要求

Real-time performance shortfalls实时性能不符合要求

Straining computer science capabilities超出了计算机科学的能力

3、如何成功管理风险?

答:建立恰当的机制

选择有效的识别方法

选择有效评估发生可能性方法

选择有效评估风险影响方法

建立预防措施

开发风险应对措施

确定紧迫性

确定风险的责任人

4、什么是项目管理?

答:两种含义

管理活动:一种有意识地按照项目管理的特点和规律,对项目进行组织管理的活动

管理学科:以项目管理活动为研究对象的一门学科,它是探索项目活动科学组织管理的理论与方法。

5、什么是软件项目管理?

答:软件项目管理是为了使软件项目能够按照预定的成本、进度、质量顺利完成,而对成本、人员、进度、质量、风险等进行分析和管理的活动。

软件项目管理的对象是软件工程项目,他所涉及的围覆盖了整个软件工程过程。

1、IEEE在软件工程标准词汇表中的需求定义是什么?

答:⑴用户解决问题或达到目标所需的条件或权能(Capability)。

⑵系统或系统部件要满足合同、标准、规或其它正式规定文档所需具有的条件或权能。

⑶一种反映上面(1)或(2)所描述的条件或权能的文档说明

2、需求分析的目标是什么?

答:构造一个完全地、精致地目标系统逻辑模型;

确定设计约束和定义软件有效性要求。

3、需求分析的任务是什么?

答:需求分析阶段研究的对象是软件项目的用户要求,其任务是借助当前系统的逻辑模型,调查研究、分析综合,并通过抽象思维、逻辑推理导出目标系统的逻辑模型,解决系统“做什么”的问题,并将结果准确表达。

4、请你扼要描述需求分析的实现步骤。

答:(1)分析现实世界,充分理解当前系统,并用一个具体模型描述,获得当前系统的物理模型。

(2)在理解当前系统“怎么做”的基础上,抽取“作什么”的本质,抽象出系统的逻辑模型。

(3)分析目标系统与当前系统逻辑上的差别,导出目标系统的逻辑模型。

(4)对目标系统逻辑模型进行补充,以求完整地描述

5、需求规格书明书的主体容包括哪些?

答:1)概述:软件需求的简要说明

2)界面描述:软件系统的实现环境

3)模型分析:系统模型的形式规定、限制和说明

4)质量评审要求

5)其他

6、需求规格说明书的基本要什么?

答:1)完整:考虑细致

2)一致:前后容一致

3)精确:数据、任务要精确

4)无二义性:不提模棱两可的问题

5)符合标准:按国家、国际标准书写

6)易维护:应便于修改

1、满足质量属性有哪7个方面?

答:可修改性、性能、安全性、可靠性、健壮性、易使用性、商业目标

2、体系结构模式有哪6种?---P161

答:理解系统

复用以前系统元素

展示构建系统蓝图

推测系统将会如何演变

分析依赖关系

为管理决策提供支持

3、造成设计崩溃的原因有哪些?

答:缺少具体的设计方案

缺少设计过程的元方案

问题优先级选择不合理

在定义解决方案时,难以考虑所有的约束

难以在脑海中用多个步骤或多个用例对设计进行模拟

难以跟踪和报告解决方案已经推迟的子问题

难以从子问题进行扩展,以形成完整的解决方法

1、模块耦合有哪6种类型?

答:容耦合公共耦合控制耦合标记耦合数据耦合非直接耦合

2、模块聚有哪7种类型?

答:巧合聚:部分各不相关。

逻辑聚:只通过代码的逻辑结构关联。

时态聚:设计被划分成几个用来表示不同执行状态的模块:初始化、读写输入、计算、打印输出,在一个任务中被使用而形成聚。

过程聚:按照每个确定的顺序执行一系列的功能。

通信聚:某些功能操作或生成同一个数据集。

功能聚:一个模块中包含了所有必须的元素,每个处理元素对于执行单个功能来说都是必须的。

信息聚:在功能聚的基础上,将其调整为数据抽象化和基于对象的设计。

软件工程试题含答案案.docx

软件工程期末试题(1) 一, 判断题(正确的在括号内打上"√",错误的打上"×".每题1.5分,共15分) Warnier方法也是一种面向数据结构的设计方法,其逻辑更严格.(×) PAD图在设置了五种基本控制结构后,还允许递归调用. (×) 你为了加快软件维护作业的进度,应尽可能增加维护人员的数目.(×) 当验收测试通过,软件开发就完成了.(×) 完成测试作业后,为了缩短源程序的长度应删除程序中的注解.(×) 系统结构图是精确表达程序结构的图形表示法.因此,有时也可以将系统结构图当作系统流程图使用.(×) 在程序调试时,找出错误的位置和性质比改正该错误更难.(√) 以对象,类,继承和通信为基础的面向对象设计方法(OOD)也是常见的软件概要设计方法之一.(√) 二,单项选择题(每小题2分,共10分) 试判断下列叙述中,哪个(些)是正确的(D) a,软件系统中所有的信息流都可以认为是事务流 b,软件系统中所有的信息流都可以认为是变换流 c,事务分析和变换分析的设计步骤是基本相似的 A,a B,b C,c D,b和c 进行需求分析可使用多种工具,但(B)是不适用的. A,数据流图B,PAD图C,判定表D,数据词典 在详细设计阶段,经常采用的工具有(A).

A,PAD B,SA C,SC D,DFD 详细设计的结果基本决定了最终程序的(C) A,代码的规模B,运行速度C,质量D,可维护性 使用白盒测试方法时,确定测试数据应根据(A)和指定的覆盖标准. A,程序的内部逻辑B,程序的复杂程度 C,该软件的编辑人员D,程序的功能 三,多项选择题(每题2分,共10分.注:正确得2分,漏选得1分,多选,错选不得分.) (ABCD)可以作为模块. A,子程序B,函数C,过程D,编译文件 下面哪些测试属于黑盒测试(BCD). A,路径测试B,等价类划分C,边界值分析D,错误推测E,循环测试下列属于度量效益方法的是(ABCD). A,货币的时间价值B,投资回收期C,收入D,投资回报率 软件维护的策略包括(BCD). A,定期检测维护B,改正性维护C,适应性维护D,完善性维护 下列属于软件测试过程的是(ABE). A,单元测试B,组装测试C,内核测试D,法律验证E,确认测试 四,简答题(每题6分,共24分) 1、耦合性和内聚性有几种类型其耦合度,内聚强度的顺序如何答案:低:非直接耦合,数据耦合,标记耦合,控制耦合,外部耦合,公共耦合,内容耦合:高

软件工程问题整理版

1、软件危机定义、发生原因、常见表现,如避免软件危机? (1)软件危机定义:课本Page 8(开发和维护过程) (2)发生原因、常见表现:课本Page 8-9,练习册Page 1 (3)如避免:Page 10 (采用软件工程的法) 答案(由于大部分答案参考ppt,故仅供参考,下同) 软件危机定义:是指在计算机软件的开发和维护过程中所遇到的一系列重问题。 表现在: (1)对于软件开发的成本和进度的估计很不准确。 (2)开发的软件产品不能完全满足用户要求,用户对已完成的软件系统不满意的现象常常发生。 (3)开发的软件可靠性差。 (4)软件通常没有适当的文档。 (5)软件的可维护性差。 (6)软件开发生产率提高的速度,远远跟不上计算机应用普及深入的趋势。 原因: (1)软件的规模愈发庞大; (2)软件开发的管理困难。 (3)成功的软件开发经验没被很好地应用。 (4)软件开发和维护中千金错误认识和法的形成可以归结与计算机发展早期软件开发的个体化特点。 (5)软件开发技术落后。 (6)生产式落后。 (7)开发工具落后,生产率提高缓慢。 如避免(参考,可以自己总结): 从软件开发的工程化法入手,即用现代工程的概念原理、技术和法去指导软件的开发、管理和维护,这就是软件工程思想和法。具体措施: (1)使用好的软件开发技术和法; (2)要有良好的组织、密的管理,各类人员协同配合,共同完成任务; (3)使用好的软件开发工具,提高软件生产率; (4)建立格的文档资料,重视软件开发过程的阶段评审。 2、软件生命期模型(软件生命期?)的组成,每个阶段的容? (1)组成:Page 21 (2)容:Page 22—25) 答案: 软件生存期定义: 一个软件从定义到开发、使用和维护,直到最终被弃用,要经历一个漫长的时期,通常把软件经历的这个漫长的时期称为生存期。 软件生存期一般可分为以下阶段: (1)问题定义(2)可行性研究(3)需求分析(4)概要设计(总体设计) (5)详细设计(6)编码(7)测试(8)维护 也可以分为四个大的阶段:软件分析、软件设计、编码与测试、运行与维护

软件工程期末试题(含答案)解析

填空题(每空 1 分,共25 分) 1.软件生存周期一般可以划分为,问题定义、可行性研究、需求分析、设计、编码、测试 和运行和维护。 2.基于软件的功能划分,软件可以划分成___系统软件_、支撑软件、应用软件__三种。 3.可行性研究,应从经济可行性、技术可行性、运行可行性、法律可行性和开放方案 可行性等方面研究。 4.系统流程图是描绘物理系统的传统工具。它的基本思想是用图形符号以黑盒子形式 描绘系统里面的每个部件 5.数据流图的基本四种成分:数据输入的源点和数据输出汇点、加工、数据流和数据 存储文件。 6.结构化分析方法是面向_数据流_进行需求分析的方法。结构化分析方法使用_数据 流图DFD_与_ 数据字典_来描述。 7.继承性是自动地共享类、子类和对象中的方法和数据的机制。 8.软件详细设计工具可分为 3 类,即_图示工具_、_设计语言_和_表格工具_。 9.为了在软件开发过程中保证软件的质量,主要采取下述措施:_审查__、复查和管理复审、___ 测试_。 10.大型软件测试包括单元测试、集成测试、确认测试和系统测试四个步骤。单项选 择题(每小题2分,共20 分) 1.软件设计中划分模块的一个准则是( C )。 A、低内聚低耦合 B.低内聚高耦合 C.高内聚低耦合 D. 高内聚高耦合 2.Jackson 设计方法是由英国的M. Jackson 提出的,它是一种面向( C )的软件设计方法。 A 、对象 B.数据流 C.数据结构 D.控制结构 3.试判断下列叙述中,哪个(些)是正确的( C )。 a、软件系统中所有的信息流都可以认为是事务流 b、软件系统中所有的信息流都可以认为是变换流 c、事务分析和变换分析的设计步骤是基本相似的 A、a B 、b C 、c D 、 b 和 c 4.( A )是用户和设计交换最频繁的方法。 A 、原型化方法B、瀑布模型方法 C. 螺旋模型方法D、构件组装模型 5.软件工程方法学的目的是:使软件生产规范化和工程化,而软件工程方法得以实施的主 要保证是( C )。 A 、硬件环境 B 、软件开发的环境 C. 软件开发工具和软件开发的环境D 、开发人员的素质 6.20 世纪50 年代以来,出现了许多不同的程序设计语言,下列语言中哪个语言是低级语言 ( D )。 A、PASCAL B、VISUAL BASIC C. C++ D、汇编语言 7.软件测试的目的是?( D ) A 、证明软件的正确性 B. 找出软件系统中存在的所有错误 C.证明软件系统中存在错 误 D. 尽可能多的发现软件系统中的错误 8.使用白盒测试方法时,确定测试数据应根据( A )和指定的覆盖标准。A、程序的内 部逻辑 B 、程序的复杂程度 C、该软件的编辑人员 D、程序的功能 9.软件维护工作的最主要部分是( C )。

软件工程试题与答案整理版

软件工程试题 一、简述题(4 * 10 = 40) 1 简述生命周期方法学及其特点。 2 什么是软件过程?简述RUP及其特点。 3 简述面向对象的基本思想。 4 简述控制软件复杂性的基本方法。 二、判断题(判断命题正确与否,如错误,请改正)(10 * 2 = 20) 1 ()在建立了设计模型之后,就可以开始制定测试计划。 2 ()耦合是指一个模块内各个元素彼此结合的紧密程度。 3 ()数据流程图是描绘物理系统的传统工具。 4 ()软件工程标准有5个不同的级别层次:国际标准、国家标准、行业标准、企业规范、项目规范。 5 ()软件重用是指在软件开发过程中重复使用相同或相似软件元素的过程。 6 ()模块的独立程度可以由两个定性标准度量,这两个标准分别称为内聚和耦合。 7 ()如果测试数据满足条件覆盖,则必然满足判定覆盖。 8 ()软件开发模型是跨越整个软件生命周期的系统开发、运作、维护所实施的全部工作和任务的结构框架。 9 ()能力成熟度模型是评价程序员程序设计能力的一种全面而客观的评审依据。 10()好的测试具有较高的发现错误的可能性。 三、选择题(将正确的答案代号填入括号中,每小题2分,共20分) 1.需求分析阶段最重要的技术文档是() A.设计说明书 B.需求规格说明书 C.可行性分析报告 D.用户手册 2.所谓软件过程的里程碑,通常是指()。 A.一定的时间间隔 B.每个项目活动 C.基线 D.开发项目月报 3.耦合度最高的是()耦合。 A.环境 B.内容 C.控制 D.数据 4.软件工程学中除重视软件开发的研究外,另一个重要的组成内容是软件的()。 A.成本核算 B.项目管理 C.工具开发 D.人员培训 5.下列不属于软件工程方法学三要素的是()。 A.方法 B.工具 C.过程 D.操作 6.()分批地逐步向用户提交产品,每次提交一个满足用户需求子集的可运行的产品。 A.增量模型 B.喷泉模型 C.变换模型 D.螺旋模型 7.软件测试方法中的()属于静态测试方法。 A.人工检测 B.路径覆盖 C.黑盒法 D.边界值法 8.在数据流程图中,符号“□”用来表示()。 A.处理 B.外部实体 C.数据存储 D.数据源点 9.()是基于形式化规格说明语言及程序变换的软件开发模型。 A.增量模型 B.喷泉模型 C.变换模型 D.螺旋模型 10.对象类之间的归纳关系就是()关系。 A.一般-特殊 B.整体-部分 C.相互依赖 D.层次关系 四、填空题(每小题10分,共20分) 1. 信息系统是一个复杂的人机系统,系统内外环境以及各种人为的、机器的因素都在不断地变化。为了使系统能够适应这种变化,充分发挥软件的作用,产生良好的社会效益和经济效益,就要进行系统的维护工作。系统的维护对于延长系统的生命周期具有决定意义,请列出系统开发中能够提高系统可维护性的要求。 ① ② ③ ④ ⑤ 2. 软件质量是软件与明确地叙述的功能和性能需求、文档中明确描述的开发标准以及任何专业开发的软件产品都应该具有的隐含特征相一致的程度。请列出软件开发过程中软件质量保证的主要措施。 ① ② ③

工程资料整理要求

1、归档工程文件组卷分类必须清楚,将不同的文件资料分开装订、同类型的资料装订成册,并按工程进度依次编制流水编号。 2、移交资料类别必须齐全,内容完整。 3、归档的工程文件原则上为原件。没有原件时,复印件要清晰,并注明原件存放位置。 4、归档文件应字迹清楚、签字盖章手续完备。 5、工程资料统一采用A4纸规格,不符合标准的原始资料要通过折叠和粘贴的方式达到A4幅面(297mm×210mm)规格,图标栏露在外面。由政府及专业检测机构编制的装订成册的文件材料(如勘察报告)除外。 6、工程资料尽量使用计算机打印(签名和日期除外),不得使用涂改液修改;签字和盖章程序要完备,不得使用圆珠笔、铅笔、复写纸等易褪色的书写材料。 7、工程文件的纸张应采用能够长期保存的韧性大、耐久性强的纸张。图纸一般采用蓝晒图,竣工图应是新蓝图,不能使用二底图。计算机出图必须清晰,不得使用计算机出图的复印件。 8、所有竣工图均应加盖竣工图章和设计出图专用章。竣工图的折叠方式要符合档案馆的要求(一般情况下是折成手风琴的样式,见下图1)竣工图章的基本内容应包括:“竣工图”字样、施工单位、编制人、审核人、技术负责人、编制日期、监理单位、现场监理、总监。 作为资料员的你,知道工程移交资料要求吗?_2 竣工图章应使用不褪色的红印泥,应盖在图标栏上方空白处。(图章示例见下图2)作为资料员的你,知道工程移交资料要求吗?_3 9、凡施工图结构、工艺、平面布置等有重大改变,或变更部分超过图面1/3的,应当重新绘制竣工图,并在图标上方或旁边以文字注明变更修改依据。 10、制作竣工图只能以图纸会审、设计变更、工程洽商单三种为修改依据。

软件工程重点整理

软件工程重点 (吐血整理——林新发) 红色的是重点中的重点 前面数字是课本页码 第一章概论 1 什么是计算机软件 计算机软件指计算机系统中的程序及其文档 3软件的特点 (1)软件是一种逻辑实体,而不是有形的系统元件,其开发成本和进度难以准确地估算 (2)软件是被开发的或被设计的,它没有明显的制造过程,一旦开发成功,只需复制即可,但其维护的工作量大 (3)软件的使用没有硬件那样的机械磨损和老化问题 4软件的分类 (1)系统软件(如操作系统、编译程序等)、 (2)支持软件(如数据库管理系统、网络软件、软件开发环境等)、 (3)应用软件(如实时软件、嵌入式软件、科学和工程计算软件、事务处理软件、人工智能软件等) 6软件工程定义 软件工程是应用计算机科学、数学及管理科学等原理,以工程化的原则和方法制作软件的工程 7生存周期 软件有一个孕育、诞生、成长、成熟、衰亡的生存过程。这个过程即为计算机软件的生存周期 软件生存周期大体可分为如下几个活动:计算机系统工程、需求分析、设计、编码、测试、运行和维护 12能力成熟度模型CMM(了解一下) 初始级、可重复级、已定义级、已管理级、优化级 18瀑布模型(重) 系统工程、需求分析与规约、设计与规约、编码与单元测试、集成测试系统测试、运行与维护 第二章系统工程 41系统工程的任务 (1)识别用户的要求,确定待开发软件的总体要求和范围,

(2)系统建模和模拟 (3)进行成本估算,做出进度安排 (4)进行可行性分析,即从经济、技术、法律等方面分析待开发的软件是否有可行的解决方案,并在若干个可行的解决方案中作出选择。 (5)生成系统规格说明书 42可行性分析 (1)经济可行性(成本、效益、货币的时间价值、投资回收期、纯收入) (2)技术可行性(风险分析、资源分析、技术分析) (3)法律可行性 第三章需求工程 48软件需求 指用户对目标软件系统在功能、行为、性能、设计约束等方面的期望。 包括:功能需求、性能需求、用户或人的需求、环境需求、界面需求、文档需求、数据需求、资源使用需求、安全保密要求、可靠性需求、软件成本消耗与开发进度需求、其他非功能需求 50需求获取方法与策略(重) 建立顺畅的通信途径、访谈与调查、观察用户操作流程、组成联合小组、用况 51 图3.2 53 创建用况模型的主要步骤 (1)确定谁会直接使用该系统,即参与者(Actor) (2)选取其中一个参与者 (3)定义该参与者希望系统做什么,参与者希望系统作的每件事将成为一个用况 (4)对每件事来说,何时参与者会使用系统,通常会发生什么,这就是用况的基本过程 (5)描述该用况的基本过程 54需求分析原则(重) 1.必须能够表示和理解问题的信息域 2.必须能够定义软件将完成的功能 3.必须能够表示软件的行为(作为外部事件的结果) 4.必须划分描述数据、功能和行为的模型,从而可以分层次地揭示细节

软件工程导论-期末题库(完整版)

1.填空题 1.一般来说,可以从__一致性__、_完整性___、_现实性____和_有效性___四个方面验证软件需求的正确性。 2.IPO图是_输入、处理和输出图_的简称,它是美国IBM公司发展完善起来的一种图形工具。 3.系统流程图是描述__物理模型__的传统工具,用图形符号表达了系统中各种元素之间的_____信息流动_____情况。 4.数据流图中的箭头表示数据流,椭圆或圆形表示数据处理,矩形表示数据的源点/终点。 5.软件测试的步骤按顺序分别是:___单元测试_____、子系统测试、系统测试(子系统和系统测试通常称为集成测试)、__确认测试__和_____系统测试(集成测试) ____ 6.软件生命周期一般可分为_问题定义_、可行性研究、_需求分析_、设计编码、_测试_、运行与维护阶段。 7.可行性研究主要集中在以下四个方面_经济可行性_、__技术可行性____、__法律可行性___和抉择。 8.在结构化设计中,HIPO图应用在总体设计阶段,由IPO图和_层次图_两部分组成。 9.复杂问题的对象模型通常由下述五个层次组成:主题层、___类与对象_层、__结构___层、_属性_层和__服务_层。 10.实施精化设计的目标是基于模块的“高内聚低耦合”的原则,提高模块的_独立性。 11.软件生命周期一般可分为___问题定义_、可行性研究、__需求分析__、概要设计__、详细设计、编码、__软件测试_、运行与维护阶段。 12.面向对象的数据存储管理模式分为__文件__、_关系数据库__和__面向对象数据库___三种。 13.单元测试一般以_白盒_测试为主,__黑盒__测试为辅。

软件工程习题及详细答案

个人收集整理勿做商业用途 软件工程习题及答案 一、选择题: 1. 为了提高测试的效率,应该。 A、随机地选取测试数据 B、取一切可能的输入数据作为测试数据 C、在完成编码后制定软件的测试计划 D、选择发现错误可能性大的数据作为测试数据 2. 与设计测试数据无关的文档是。 A、需求说明书 B、设计说明书 C、源程序 D、工程开发设计 3. 结构设计是一种应用最广泛的系统设计方法,是以为基础、自顶向下、逐步求精和模块化的过程。 A、数据流 B、数据流图 C、数据库 D、数据结构 4. 概要设计的结果是提供一份。 A、模块说明书 B、框图 C、程序 D、数据结构 5. 需求分析是由分析员经了解用户的要求,认真细致地调研、分析,最终应建立目标系统的逻辑模型并写出。 A、模块说明书 B、软件规格说明书 C、工程开发计划 D、合同文档 6. 注释是提高程序可读性的有效手段,好的程序注释占到程序总量的。 A、1/6 B、1/5 C、1/4 D、1/3 7. 变换型和事务型是程序结构的标准形式。从某处获得数据,再对这些数据作处理,然后将结果送出是属于。 A、变换型 B、事务型 8. PAD(Problem Analysis Diagram)图是一种工具。 A、系统描述 B、详细设计 C、测试 D、编程辅助 9. 分层数据流图是一种比较严格又易于理解的描述方式,它的顶层描绘了系统的。 A、总貌 B、细节 C、抽象 D、软件的作者 10. 数据流图中,当数据流向或流自文件时,。 A、数据流要命名,文件不必命名 B、数据流不必命名,有文件名就足够了 C、数据流和文件均要命名,因为流出和流进数据流是不同的 D、数据流和文件均不要命名,通过加工可自然反映出

(完整)工程资料管理制度

(完整)工程资料管理制度 编辑整理: 尊敬的读者朋友们: 这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望((完整)工程资料管理制度)的内容能够给您的工作和学习带来便利。同时也真诚的希望收到您的建议和反馈,这将是我们进步的源泉,前进的动力。 本文可编辑可修改,如果觉得对您有帮助请收藏以便随时查阅,最后祝您生活愉快业绩进步,以下为(完整)工程资料管理制度的全部内容。

工程资料管理制度 1目的 1。1为了建立健全集团公司开发项目工程资料管理,完整、准确、系统地管理好工程资料档案,充分发挥工程资料档案在投资、开发工作中的重要作用,为公司提高工程管理和投资效益提供更好的服务。 1。2工程资料是指整个建设项目从前期、开工、施工、竣工及验收、备案全过程中形成的有归档保存价值的文件资料,包括在此过程中形成的文字材料、图纸、图表、声像材料和其它载体. 2工程资料的归档范围 2.1对与工程建设有关的重要活动、记载工程建设主要过程和现状、具有保存价值的各种载体的资料,均应收集齐全,整理立卷后归档。 2.2工程资料的具体归档范围应符合《建设工程文件归档范围和保管期限表》的要求。 3工程文件材料的质量要求 3.1工程资料应字迹清楚、图样清晰、图表整洁、签字盖章手续完备(不能代签或打印)。 3。2复印、打印文件材料及照片的字迹、线条和影像的清晰及牢固度应符合规定的质量要求. 3。3工程资料应为原件,复印件必须注明原件的存放地,经办人并加盖原件存放单位的公章。

3。4工程资料的内容及其深度必须符合国家有关工程勘察、设计、施工、监理等方面的技术规范、标准和规程. 3。5工程资料的内容必须真实、准确,与工程实际相符合. 4工程施工过程中的资料检查: 工程部资料员在工程施工过程中不定期检查(每月必检一次)施工单位、监理单位的质量验收和安全资料,及时检查资料是否按国家质量/安全验收规范、地方主管部门相关文件要求编制,与施工现场是否同步,原材料、试件等是否按规范留置、送检,发现有缺漏的,列出缺漏清单,督促施工、监理单位及时补齐. 必须检查的施工阶段:项目开工前;基础、主体等各分部工程验收前;竣工验收前二个月. 5工程资料的接收: 5.1递件单位提供给工程部的工程资料(工程技术文件、来文、图纸、资料)由部门资料员统一接收,并应填写《工程资料接收记录》和《收文登记表》。 5.2工程部或其它部门从外单位带回或通过其它途径收到的工程文件,一律交资料员,并应登记。 5.3对接收的工程资料,必须进行数量和外观质量检查,发现问题应及时通知寄发单位补发。 5。4对接收的工程资料应及时建立工程资料接收总登记台账和分类台账(簿式台帐和电子台帐)。 5。5对各单位提供的不符合规定的档案资料文件,资料室有权退回归档单位,归档单位应按资料室的有关要求进行整改,直至提交符合规定要求的归档资料。 5.6凡因工程文件材料归档不完整,不符合有关归档规定者,不能进行工程决算、工程款支付,各项工程款的付款必须由资料室对竣工资料签收合格后支付。 5。7工程档案在工程项目竣工验收后一个半月内由施工单位向建设方提交完整、准确、并经各参建方有关负责人签章的工程技术档案资料。 5。8施工方要按合同约定的份数移交工程竣工资料到公司资料室,在取得资料室

软件工程知识点汇总

软件工程知识点汇总 1 软件工程、软件工程方法学:三要素 1.1 软件工程:○1应用系统化的、规范化的、可度量的方法来开发、运行和维护软件,即将工 程应用到软件;○2对○1的各种方法的研究 1.2 软件工程是一门研究用工程化方法构建和维护有效的实用的和高质量的软件的学科 1.3 软件工程三要素是:方法、工具、过程 软件工程的方法:是指完成软件开发各项任务的技术方法 软件工具:是指为软件工程方法的运用提供自动半自动的软件支撑环境 软件工程过程:是指将软件工程方法和工具综合起来以达到合理、及时地进行计算机软件开发这一目的 2 软件工程的原则包括:模块化原则、信息隐蔽原则、抽象化原则、模块独立原则(内聚、耦合)、 依赖倒转原则、开闭原则等 2.1 模块化原则:指解决一个复杂问题时自顶向下逐层把软件系统划分为若干模块的过程。模 块是程序中相对独立的成分,一个独立的编程单位,应有良好的编程接口,模块的大小要 适中,模块过大会使模块内部的复杂性增加不利于模块的理解和修改,模块过小会导致整 个系统表示过于复杂,不利于控制系统的复杂性。 2.2 信息隐蔽原则:采用封装技术,将程序模块的实现细节隐藏起来,使模块接口尽量简单。 2.3 抽象化原则:抽取事物最基本的特性和行为,忽略非本质细节,采用分层次抽象,自顶向 下,逐层细化的办法控制软件开发过程的复杂性。 2.4 模块独立原则:是指每个模块只完成系统要求的独立子功能,并且与其他模块的联系最少 且接口简单。要求在一个物理模块内集中逻辑上相互关联的计算机资源,保证模块间由松 散的偶合关系,模块内部有较强的内聚性,这有助于控制系统的复杂性。(即:高内聚低 耦合) 2.5 依赖倒转原则:抽象不应该依赖于细节,细节应该依赖于抽象。 2.6 开闭原则:软件实体应该是可扩展的,但是不可以修改。即对于扩展是开放的,对于更改 是封闭的。 3 软件开发模型:瀑布模型;快速原型;喷泉模型;各种模型的工作原理、阶段、每阶段任务、 特点、示意图; 软件开发模型(也称为软件过程模型):是从软件项目需求定义开始直至软件经使用后废弃为止,跨 越整个生命周期的系统开发、运行和维护所实施的全部过程、活动和任务的结构框架 3.1 瀑布模型(又称线性模型): 3.1.1工作原理:规定了它们自上而下、相互衔接的固定次序,如同瀑布流水,逐级下落。 前一阶段的工作成果是后一阶段工作开始的基础.所以,每个阶段都必须交出合格的文档,必须对前阶段的工作进行评审,前一阶段的工作完成后才可以开始后一阶段的工作 3.1.2 阶段: 计划时期:问题定义、可行性研究 开发时期:需求分析、设计、编码、测试 运行时期:运行和维护 3.1.3 各阶段任务: 1.需求分析和定义 在软件项目进行过程中,需求分析是从软件定义到软件开发的关键步骤,是今后软件,开发的基本依据,同时也是用户对软件产品进行验收的基本依据。需求分析和定义是以用

期末软件工程资料整理

1.软件工程的基本原理? 答:基本原理包括3要素:方法,工具,过程;其中,方法是完成软件开发任务的技术方法回答怎样做的问题;工具是为运用方法提供自动半自动的软件工程支撑环境;过程是为了获得高质量的软件所需要完成的一系列任务的框架,他是完成各任务的工作步骤。 2.RUP中有9个工作流,前6个为过程工作流,后3个为核心支持工作流程。 3.问答:P.32第2题 4.简述结构化范型和面向对象范型的要点,分析优缺点。 5.电话号码有几类:校内电话号码由4位数字组成,第1位不是0;校外电话分本市电话和外地电话,拨校外电话需先拨0,本市电话则再接着拨8位数字(第1位不是0),外地电话则拨3位区码再拨8位电话号码(第1位不是0)。 答案: 电话号码=[校内电话号码|校外电话号码] 校内电话号码=非零数字+3位数字 校外电话号码=[本市号码|外地号码] 本市号码=数字零+8位数字 外地号码=数字零+3位数字+8位数字 非零数字=[1|2|3|4|5|6|7|8|9] 数字零=0 3位数字=3{数字}3 8位数字=非零数字+7位数字 7位数字=7{数字}7 数字=[0|1|2|3|4|5|6|7|8|9] 6.名词解释:第一范式,第二范式,第三范式 答:第一范式:每个属性都必须是原子值,仅仅是一个简单的值而不能含内部结构。 第二范式:满足第一范式条件,且每个关键字属性都由整个关键字决定。 第三范式:符合第二范式条件,每个关键字属性都仅由关键字决定,且一个费关键字属性不能仅仅是对另一个非关键字属性的进一步描述。 7.储蓄系统:储户填写的存款单或取款单由业务员输入系统,是存款则系统记录存款人姓名、住址(或电话号码)、身份证号码、存款类型、存款日期、到期日期、利率及密码(可选)等信息,并印出存单给储户;是取款而且存款时留有密码,则系统首先核对储户密码,若密码正确或存款时未留密码,则系统计算利息并印出利息清单给储户。 试用数据流图描绘下述系统的功能,并用实体-联系图描绘系统中的数据对象。 答案: 系统的数据流图如下图所示:

软件工程期末复习知识点整理

复习整理 、绪论 1. 软件的定义 软件是能够完成预定功能和性能的可执行的计算机程序,包括使程序正常执行所需要的数据,以及有关描述程序操作和使用的文档。(软件=程序+文档) 2.软件工程的定义 是指导计算机软件开发和维护的一门工程学科;采用工程化的原理与方法对软件进行计划、开发和维护;把证明正 确的管理技术和最好技术综合运用到软件开发中;研究经济地开发岀高质量的软件方法和技术;研究有效维护软件 的方法和技术。 3.软件危机的概念,及出现的原因 软件开发技术的进步未能满足发展的要求。在软件开发中遇到的问题找不到解决的办法,问题积累起来,形态尖锐的矛盾,导致了软件危机。 产生原因: ⑴软件规模越来越大,结构越来越复杂 ⑵软件开发管理困难而复杂。 ⑶软件开发费用不断增加。 ⑷软件开发技术落后。 ⑸生产方式落后,仍采用手工方式。 ⑹开发工具落后,生产率提高缓慢。 4.三种编程范型的特点 (1)过程式编程范型:把程序理解为一组被动的数据和一组能动的过程所构成;程序=数据结构 +算法;着眼于程序的过程和基本控制结构,粒度最小 (2)面向对象编程范型:数据及其操作被封装在对象中;程序=对象+消息;着眼于程序中的对 象,粒度比较大 (3)基于构件技术的编程范型:构件是通用的、可复用的对象类;程序=构件+架构;眼于适合 整个领域的类对象,粒度最大 二、软件生存周期与软件过程 1、软件生存周期的定义,把生存周期划分为若干阶段的目的是什么,有哪几个主要活动 定义:一个软件从开始立项起,到废弃不用止,统称为软件的生存周期 目的:软件生存周期划分为计划、开发和运行3个时期;把整个生存周期划分为较小的阶段, 给每个阶段赋予确定而有限的任务,就能够化简每一步的工作内容,使因为软件规模而增长而大大增加了软件复杂性变得较易控制和管理。 主要活动:需求分析、软件分析、软件设计、编码、软件测试、运行维护( P19) 2、软件生命周期划分为哪几个阶段 软件生命周期分为三个时期八个阶段: 软件定义:问题定义、可行性研究; 软件开发:需求分析、概要设计、详细设计、编码、测试; 软件运行:软件维护

软件工程期末考试复习资料1

版权声明:本文版权归05112114、05112125 所 有,未经许可,任何任何媒体均不得改变其形 式,进行转载或摘录,违者必究! 软件工程期末考试复习资料一 (仅参考) 拟订人:超越吉他手、朱古力、哖_少オ輕狂第一章:软件工程的产生和发展有关复习资料 一、软件工程的定义: 1、软件危机的产生:软件危机的出现是由于软件的规模越来越大,复杂度不断增加,软件需求量增大。 2、软件危机主要表现:两个方面:①软件产品质量低劣,甚至开发过程就夭折 ②软件生产率低,不能满足需要 3、软件工程的三要素:①方法:完成软件开发各项任务的技术方法 ②工具:研究支撑软件开发方法的工具 ③过程:为开发高质量软件所规定的各项任务的工作步骤 4、软件工程研究的标准及目标: 标准:分为4个层次,国际标准、行业标准、企业规划、项目规划 目标:以较少的投资获取高质量的软件。有易于维护、低的开发成本、高性能、缩短开发期 5、软件工程研究的主要内容:以下两个方面:①软件开发方法、技术;软件开发工具及环境 ②软件管理技术、软件规范(国际规范) 7、软件工程学的目的:①以较少的投资获取高质量的软件 ②运用科学的方法和工程化的规范管理来指导软件开发 ③克服软件危机 8、软件工程的基本原则:如下4条基本原则 ①必须认识软件需求的变动性,采取适当措施来保证结果产品能忠实地满足用户需求 ②稳妥的设计方法大大地方便了软件开发,以达到软件工程的目标 ③软件工程项目的质量与经济开销直接取决于对它所提供的支撑的质量与效用 ④有效的软件工程只有在对软件过程进行有效管理的情况下才能实现 9、软件工程过程及特性:是指在软件工具的支持下,所进行的一系列软件工程活动 包括4类基本过程:1)软件规格说明书2)软件开发3)软件确认4)软件演进 特性:可理解性、可见性、可靠性、可支持性、可维护性、可接受性、开发效率和健壮性等。 二、软件与软件生存周期 1、软件的概念和特点 1)概念:软件是程序以及开发使用维护程序所需的所有文档 2)软件的构成:由应用程序、系统程序、面向用户的文档及面向开发者的文档4部分构成即:软件=程序+文档 3)特点:①软件是一种逻辑实体,不是具体的物理实体

《软件工程》试题及参考答案(第1套)

第一部分选择题 一、单项选择题(本大题共20小题,每小题1分,共20分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。 1.经济可行性研究的范围包括() A.资源有效性 B.管理制度 C.效益分析 D.开发风险 2.结构化设计方法在软件开发中用于()。 A、概要设计 B、详细设计 C、程序设计 D、测试用例设计3.程序的三种基本控制结构是() A.过程、子程序和分程序 B.顺序、选择和重复 C.递归、堆栈和队列 D.调用、返回和转移 4.软件测试中,白盒法是通过分析程序的()来设计测试用例的。 A、应用范围 B、内部逻辑 C、功能 D、输入数据 5.软件维护费用高的主要原因是()。 A、人员少 B、人员多 C、生产率低 D、生产率高 7.确认测试主要涉及的文档是()。 A、需求规格说明书 B、概要设计说明书 C、详细设计说明书 D、源程序 8.模块的内聚性最高的是( ) A.逻辑内聚 B.时间内聚 C.偶然内聚 D.功能内聚 9.软件开发过程中,抽取和整理用户需求并建立问题域精确模型的过程叫( ) A.生存期 B.面向对象设计 C.面向对象程序设计 D.面向对象分析 10.原型化方法是用户和设计者之间执行的一种交互构成,适用于( )系统。 A.需求不确定性高的 B.需求确定的 C.管理信息D.实时 12、()是软件生存期中的一系列相关软件工程活动的集合,它由软件规格说明、软件设计与开发、软件确认、软件改进等活动组成。 A 软件过程 B 软件工具 C 质量保证 D 软件工程 13.下列关于瀑布模型的描述正确的是( )。 A.利用瀑布模型,如果发现问题修改的代价很低

软件工程期末复习知识点整理

复习整理 一、绪论 1.软件的定义 软件是能够完成预定功能和性能的可执行的计算机程序,包括使程序正常执行所需要的数据,以及有关描述程序操作和使用的文档。(软件=程序+文档) 2.软件工程的定义 ●是指导计算机软件开发和维护的一门工程学科; ●采用工程化的原理及方法对软件进行计划、开发和维护; ●把证明正确的管理技术和最好技术综合运用到软件开发中; ●研究经济地开发出高质量的软件方法和技术; ●研究有效维护软件的方法和技术。 3.软件危机的概念,及出现的原因 软件开发技术的进步未能满足发展的要求。在软件开发中遇到的问题找不到解决的办法,问题积累起来,形态尖锐的矛盾,导致了软件危机。 产生原因: ⑴软件规模越来越大,结构越来越复杂 ⑵软件开发管理困难而复杂。 ⑶软件开发费用不断增加。 ⑷软件开发技术落后。 ⑸生产方式落后,仍采用手工方式。

⑹开发工具落后,生产率提高缓慢。 4.三种编程范型的特点 (1) 过程式编程范型:把程序理解为一组被动的数据和一组能 动的过程所构成;程序=数据结构+算法;着眼于程序的过程和基本控制结构,粒度最小 (2) 面向对象编程范型:数据及其操作被封装在对象中;程序 =对象+消息;着眼于程序中的对象,粒度比较大 (3) 基于构件技术的编程范型:构件是通用的、可复用的对象 类;程序=构件+架构;眼于适合整个领域的类对象,粒度最大 二、软件生存周期及软件过程 1、软件生存周期的定义,把生存周期划分为若干阶段的目的是什么, 有哪几个主要活动 ●定义:一个软件从开始立项起,到废弃不用止,统称为软件的 生存周期 ●目的:软件生存周期划分为计划、开发和运行3个时期;把整 个生存周期划分为较小的阶段,给每个阶段赋予确定而有限的 任务,就能够化简每一步的工作内容,使因为软件规模而增长 而大大增加了软件复杂性变得较易控制和管理。 ●主要活动:需求分析、软件分析、软件设计、编码、软件测试、 运行维护(P19) 2、软件生命周期划分为哪几个阶段

公路资料整理范本填写

XX 高速公路 工 程 资 料 整 理 范 本 (附填写内容) XX高速公路总监理工程师办公室二○○七年六月制

目录 第一章交桩和复测报告 第一节交桩 (1) 第二节复测报告 (4) 第二章开工报告 (9) 第三章原材料出厂质量证明和工地试验报告 第一节原材料出场质量证明 (19) 第二节工地原材料抽检试验报告 (19) 第四章路基工程施工资料 第一节路基检验记录整理顺序 (21) 第二节路基排水资料整理顺序 (53) 第三节挡土墙、防护工程资料整理顺序 (61) 第四节小桥和涵洞资料整理顺序 (69) 第五章路面工程施工资料 第一节水泥稳定粒料基层(底基层)资料整理顺序 (89) 第二节沥青混凝土面层资料整理顺序 (97) 第三节水泥混凝土面层资料整理顺序 (102) 第四节路缘石资料整理顺序 (107) 第五节路肩资料整理顺序 (110) 第六章桥涵工程施工资料 第一节施工试验报告 (112) 第二节施工检验资料整理顺序 (117) 一、基础及下部构造资料整理顺序 (117) 二、上部构造预制和安装资料整理顺序 (157) 三、总体、桥面系和附属工程资料整理顺序 (175) 第七章施工检验结果汇总表 第一节施工抽检试验结果汇总表 (200) 第二节施工检验结果汇总表 (204) 第八章监理资料 第一节监理行政管理文件 (210) 第二节合同管理文件 (215) 第三节进度管理文件 (225) 第四节质量管理文件 (230) 第五节计量支付文件 (252) 第六节监理原始资料 (252)

编制说明 为规范XX高速公路施工资料的编制和归档工作,准确、全面记录施工中各种信息,XX高速公路总监办特制定《XX高速公路工程资料整理范本》。针对本《范本》内容,特做以下几点说明: 1、本《范本》中表格适用于施工单位和监理单位整理工程资料,工序自抽检表格相同,自检资料填写“自检说明”,抽检资料填写“监理评语”,可填写“符合规范及设计要求”。 2、所有资料表头处填写的单位名称,均应是该单位全称,如“唐山公路建设总公司”,编号在确定分项工程划分后正式填写。 3、监理抽检资料最下一行签字分别为:监理员、专业监理工程师、日期。 4、表格中的分项工程名称、分部工程名称均应严格按照《公路工程质量检验评定标准》附录A及总监办批准的工程划分填写。 5、评定表中规定值或允许偏差按设计图纸填写具体数据,如砼强度的“在合格标准内”填写设计标号等; “实测项目”的检测项目得分为合格率×100,合计得分为各项得分×权值累加之和除以权值的合计值(具体计算可参与质量评定标准);改成合格率×权值,增加“加权得分”一栏(详见第25页)。 “实测值”栏若单项数据太多,可填写“见###分项工程实测项目汇总表”; 外观鉴定严格按《公路工程质量检验评定标准》认真填写; 质量保证资料填写“齐全”、“基本齐全”、“不齐全”,工程质量等级评定“合格”或“不合格”。 6、中间交验必须是在该分项工程的所有检测项目都合格后方可签字,日期不能提前也不能推后,以确保资料能及时返回,不影响下道工序的施工。 7、资料要填写清楚工整,不得涂改,签字要工整、齐全。表格中空白处如无需填写应填“/”。 8、各施工、监理单位要对内业资料的管理高度重视,建立台账备查。已完工序自抽检资料要及时归档,做到“边施工、边整理、边归档”。 9、对于《范本》中表格格式或顺序中存在的任何问题都要及时上报总监办,由总监办统一制定或修改,不得私自更改。 10、试验检测、计量支付分别采用“公路工程试验检测管理信息系统”和“HCS 公路项目建设管理系统”中的格式。 11、交通工程、房建工程、机电工程等资料的整理要求另行制定。

软件工程整理

第一章 软件工程研究的主要内容:为了在有限的资金、资源和时间条件下开发满足客户要求的高质量软件,需要研究与软件开发和管理相关的模型、方法、技术等。 在《计算机科学技术百科全书》中,对计算机软件作出如下定义:计算机软件指计算机系统中的程序及其文档。程序是计算任务的处理对象和处理规则的描述。任何以计算机为处理工具的任务都是计算任务。处理对象是数据或信息。处理规则一般指处理的动作和步骤。文档是为了便于了解程序所需的阐述性资料。 软件工程的定义:⑴IEEE在软件工程术语汇编中的定义:①软件工程是将系统化的的方法用于软件的开发、运行和维护,即将工程化应用于软件;②在①中所述方法的研究⑵软件工程是应用计算机科学等原理,开发软件的工程。软件工程借鉴传统工程的原则、方法,以提高质量、降低成本为目的。其中,计算机科学、数学用于构造模型与算法,工程科学用于制定规范、设计范型、评估成本及确定权衡,管理科学用于计划、资源等管理。 软件工程的框架:目标,过程和原则 软件工程目标是指生产具有正确性、可用性、和开销合宜的产品。正确性指软件产品达到预期功能的程度。可用性指软件基本结构、实现及文档为用户可用的程度。开销合宜指软件开发、运行的整个开销满足用户要求的程度。 软件工程原则包括围绕工程设计、工程支付和工程管理所提出的以下4条基本原则 (1)选取适宜的开发模型(2)采用合适的设计方法(3)提供高质量的工程支撑 (4)重视软件工程的管理 软件生存周期是指软件产品或软件系统从产生、投入使用到被淘汰的全过程。 软件生存周期分为6个阶段:计算机系统工程、需求分析、设计、编码、测试、运行和维护 软件过程是生产一个最终满足需求且达到工程目标的软件产品所需的步骤。 软件过程是软件生存周期中的一系列相关的过程。过程是活动的集合,活动是任务的集合。软件过程有3层含义:一是个体含义,即指软件产品或系统在生存周期中的某一类活动的集合;二是整体含义,即指软件产品或系统在所有上述含义下的软件过程的总体;三是工程含义,即指解决软件过程的工程,应用软件工程的原则、方法来构造软件过程模型、并结合软件产品的具体要求进行实例化,以及在用户环境,并结合软件产品的具体要求进行实例化,以及在用户环境下运作,以此进一步提高软件生产率,降低成本。 软件过程模型也称软件开发模型,是软件开发全部过程、活动和任务的结构框架。典型的软件过程模型有:瀑布模型、演化模型(如增量模型、原型模型、螺旋模型)、喷泉模型、基于构件的开发模型和形式方法模型等。 瀑布模型是1970年由W.Royce提出的,它给出了软件生存周期活动的固定顺序,上一阶段的活动完成后向下一阶段的活动过渡,最终得到所开发的软件产品。其特征是:接受上一阶段活动的结果作为本阶段活动的输入 依据上一阶段活动的结果实施本阶段应完成的活动 对本阶段的活动进行评审 将本阶段活动的结果作为输出,传递给下一阶段 瀑布模型也逐渐暴露出它的不足(1)不少软件的需求存在着不确定性,(2)如果发现不满足客户需求的问题,那么修改软件的代价是巨大的 演化模型,是从构造初始的原型出发,逐步将其演化成最终软件产品的过程。演化模型适用于对软件需求缺乏准确认识的情况。典型的演化模型有:增量模型、原型模型、螺旋模型 增量模型将软件的开发过程分成若干个日程时间交错的线性序列,每个线性序列产生软件的一个可发布的“增量”版本,后一个版本是对前一个版本的修改和补充,重复增量发布的过程,直至产生最终的完善产品。 增量模型融合了瀑布模型的基本成分和演化模型的迭代特征,强调每一次增量都发布一个可运行的产品。特征:(1)适用于需求经常发生变化的软件开发(2)在市场急需而开发人员和资金不能在设定的市场期限之前实现一个完善的产品,此时也适宜用增量模型进行开发(3)能有计划的管理技术风险

软件工程期末复习资料非常全

1、下列哪一模型是软件的基础模型 A.瀑布模型 B.快速原型 C.增量模型 D.螺旋模型 2、划分软件生存周期的阶段时所应遵循的基本原则是 A.各阶段的任务尽可能相对独立 B.各阶段的任务在时间上连续 C.各阶段的任务尽可能相关性 D.各阶段的任务在时间上相对独立 3、下列哪个办法不属于解决软件危机的途径之一 A.采用软件工程的解决途径 B.研制新一代智能计算机 C.采用面向对象的软件设计方法 D.大力扶持软件企业 4、下列哪个不属于软件工程的内涵之一 A.扶持培养软件高手的学院 B.开发既可靠又能有效运行的软件 C.应用完善的科学与工程原理 D.经济地开发软件 5.造成大型软件开发困难的根本原因在于 A.开发人员缺乏足够的开发经验 B.项目开发进度不合理 C.软件系统的复杂性 D.对软件开发的资金投入不足 6.软件会逐渐退化而不会磨损,其原因在于 A.软件备件很难订购 B.不断的变更使组件接口之间引起错误

C.软件错误在经常使用之后会逐渐增加 D.软件通常暴露在恶劣的环境下 7.下面说法正确的是 A.大多数软件系统是不容易修改的,除非它们在设计时考虑了变化 B.由于软件是产品,因此可以应用其他工程制品所用的技术进行生产 C.一般来说,软件只有在其行为与开发者的目标一致的情况下才能成功 D.购买大多数计算机系统所需的硬件比软件更昂贵 8.Ariane 5火箭发射失败的事例告诉我们 A.(2)软件后备系统可以通过复制生成 B.(3)软件重用必须重新进行系统论证和系统测试 C. 选项(1)和(3) D.(1)系统环境的变化可能影响软件采集数据的精度、范围和对系统的控制 9.软件危机的主要原因是 A.软件本身的特点及开发方法。 B.软件工具落后。 C.软件生产能力不足。 D.对软件的认识不够。 10.下面的描述正确的是 A.软件质量是在开发过程中逐渐构建起来的。

相关主题
文本预览
相关文档 最新文档