当前位置:文档之家› 软件工程自考复习资料-全

软件工程自考复习资料-全

第一章绪论

一、软件的基本概念

1. 软件是计算机系统中的程序及其文档。

2. 程序是计算机任务的处理对象和处理规则的描述;文档是为了理解程序所需的阐述性的文书和资料。

3. 文档一般主要面向管理人员、开发人员、用户、使用维护人员。

4. 文档在软件工程中的作用:(1)提高软件开发过程的能见度。(2)提高开发效率。(3)

作为开发人员阶段工作成果和结束标志。(4)记录开发过程有关信息便于使用和维护。

(5)提供软件运行、维护和培训等资料。(6)便于用户了解软件功能、性能。

5. 软件的生产经历了三个阶段:

* 程序设计时代:生产方式是个体手工劳动,使用工具是机器、汇编语言,主要通过汇编来实现,不注重程序设计方法。

* 程序系统时代:生产方式是作坊式小集团合作生产,生产工具是高级语言,开始提出结构化方法。

* 软件工程时代:生产方式是工程化生产,使用数据库、网络、先进的开发技术和方法。

6.软件既是知识性(逻辑性)工业产品,具有一些独特的特性是:

* 软件是逻辑产品,具无形性,通过计算机的执行才能体现它的功能和作用。

* 软件只会退化,不存在磨损和消耗问题。

* 成本主要体现在软件的开发和研制上,可进行大量的复制。

* 主要靠脑力劳动生产,开发和维护成本高。

7. 软件的主要结构和功能是在分析设计阶段决定的。

8. 软件的复杂性主要体现在程序的复杂性,即模块内程序的复杂性。直接关联到软件的

简单和可理解性、开发费用多少、开发周期长短和软件潜伏错误的多少。

二、软件危机

1. 软件危机是指在软件开发和维护时遇到的一系列难以控制的问题导致的供需矛盾。出

现在软件发展的第二阶段末期,随着第三代计算机的诞生之际。

2. 软件危机主要体现在:

* 软件发展速度跟不上硬件的发展和用户需求。

* 软件成本和开发进度不能预先预算,用户不满意。

* 软件产品质量差,成本高,可靠性没有保证。

* 软件可维护性差,产品没有配套文档。

3. 软件危机产生原因:(1)软件规模变大,结构更加复杂。(2)软件开发管理困难。(3)软件

开发技术和工具落后。(4)软件开发费用增加。(5)采用落后的个体

手工生产方式开发。

4. 解决途径:(1) 纠正对软件开发的错误观念。(2) 提高软件工程管理水平,重视文档重

要性。(3) 使

用好的软件开发工具,研究软件开发技术,规范软件开发流程,提高开

发效率。

5.为了克服软件危机,人们首先想到要用形式化方法来开发软件。

三、软件开发

1.软件开发的本质是实现问题空间的概念和处理逻辑到运行平台的概念和处理逻辑间的

映射。

2.软件开发基本途径:先通过需求建模,把问题域的概念和处理逻辑向需求(抽象)层次进

行映射,再把需求层的概念和处理逻辑向设计(抽象)层进行映射,依次进行,直到映射到运行平台这一抽象层为止。

3.软件开发涉及的技术:过程方向(即求解软件的开发逻辑)和过程途径(即求解软件的开发

手段,基本手段是问题建模)。

4.软件开发方法:是一种使用早已定义好的技术集及符号表示习惯来组织软件生产的过

程。

5.问题建模是指运用所掌握的知识,通过抽象,给出该问题的一个结构。建模手段有结构

化方法、面向对象方法和诸多面向数据结构的方法。

6.模型是待建系统的任意抽象,包括所有的基本能力、特性或其他一些方面,而没有任何

冗余的细节,是在特定意图下所确定的角度和抽象层次上对物理系统的描述,通常包含对该系统边界的描述、对系统内各模型元素以及它们之间关系的语义描述。

7.软件系统模型大体分为概念模型和软件模型,而软件模型进一步分为设计模型、实现模

型、部署模型。

四、软件开发环境

1.软件开发环境是相关的一组软件工具的集合,支持一定的软件开发方法或按照一定

的软件开发模型组织而成,与软件生存期、软件开发方法、软件处理模型密切相关。

●按解决问题分类:程序设计环境、系统合成环境、项目管理环境。

●按演变趋向分类:以语言为中心的环境、工具箱环境、基于方法的环境(分为支持

软件开发周期特定阶段的管理和开发过程管理。后者即项目计划和控制、任务管

理)。

2.软件开发环境是高度集成的一体化系统,主要目标是提高软件开发的生产率、降低

软件成本。

五、软件工具

1.软件工具是指为支持计算机软件的开发、维护、模拟、移植或管理而研制的程序系

统,是为了支持软件人员开发和维护活动而使用的软件。

2.软件工具由工具、工具接口、工具用户接口组成,主要目的是提高软件生产率和改

善软件质量。

3.发展特点:(1) 由单个工具到多个工具集成化方向发展。(2) 重视用户界面设计,

不断采用新理论技术。(3) 它的商品化推动软件产业的发展,进而增加了对软件工

具的需求,促进了软件工具的商品化过程。

4.分为6类:模拟工具、开发工具、测试和评估工具、运行和维护工具、性能测试工

具、程序设计支持工具。

六、软件工程

1.由于软件危机,产生了以软件开发技术(主要研究软件开发方法、过程、工具和环境)

和软件工程管理(主要研究软件管理学、心理学、经济学)为研究内容的软件工程学科,以达到软件开发工程化的最终目标。

2.软件工程是用科学知识、技术以及工程管理原则和方法来定义、开发、维护软件,按

预算和进度实现满足用户要求的软件产品的一门综合性的交叉学科。

3.软件工程是一种自顶向下分阶段实现的软件程序开发方法,着重于建造软件系统,要

用管理科学的方法和原理进行软件生产的管理。

4.软件工程的概念于1968年提出,涉及计算机科学、工程科学、管理科学、数学等领

域。

5.软件工程面临的问题有:软件费用、软件可靠性、软件可维护性、软件生产率和软件

重用。

6.软件工程过程是指规定了获取、供应、开发、操作、维护、管理、支持过程时,要实

施的过程、活动和任务。

7.软件工程的纵向分解是把软件生产分为几个阶段。

七、计算机辅助软件工程

1.计算机辅助软件工程(CASE),英文是Computer Aided Software Engineering,

是一组工具和方法的集合,可以辅助软件开发生命周期各阶段进行软件开发。

2.较早期的CASE是结构的基于图形的CASE。

3.CASE领域是一个应用、集成和综合的领域。它把软件开发技术、软件工具和软件

开发方法集成到一个统一而一致的框架,吸收了CAD、网络、软件工程、数据库、操作系统和许多其他计算机领域的原理和技术。

4.根据支持的范围,CASE工具可分为窄支持(支持单个过程任务的工具)、较宽支

持(工作台支持某一过程所有活动或某些活动)、一般支持(环境软件过程所有活

动或至少大部分活动)工具。另外还可根据支持过程和功能进行分类。

5.CASE生存期步骤:CASE需求、CASE剪裁、CASE引入、CASE操作、CASE

演化、CASE废弃。

6.CASE系统所涉及的技术有:支持软件开发过程本身的技术、支持软件开发过程管

理的技术。从CASE系统产生方式看还有一种生成CASE系统的生成器所采用的

技术:元-CASE技术。

7.集成化CASE的五级模型:

●平台集成:工具运行在相同的硬件/操作系统平台上。

●数据集成:不同软件工程能相互交换数据,工具使用共享数据模型来操作。分为三

个级别:共享文件、共享数据结构、共享仓库。

●表示集成:工具使用相同的用户界面。分为三个级别:窗口系统集成、命令集成、

交互集成。

●控制集成:工具激活后能控制其它工具的操作。

●过程集成:工具在一个过程模型和“过程机”的指导下使用。即CASE系统嵌入了关

于过程活动、阶段、约束和支持这些活动所需的工具的知识。

第二章软件需求和软件需求规约

一、可行性研究

1. 可行性研究是用最小的代价在尽可能短的时间内确定该软件项目是否能够开发,是否

值得开发,给出“行或不行”的回答。

实质是以较抽象的方式进行一次简化的、压缩了的需求分析、设计过程。它是系统方案实现的必要性。

2. 可行性研究任务:(1)先进行概要的分析研究,初步确定项目的规模和目标、约束和

限制,把它们清楚的列出来。(2)分析员进行简要的需求分析,抽象出项目逻辑结构,建立逻辑模型。(3)经压缩设计,探索出若干种可选的解决方法,对每种方法研究其

可行性。

3. 可行性研究主要考虑开发风险、资源有效性和技术等情况,具体分为:

技术可行性:指在现有条件下估算开发项目的技术风险。对项目的功能、性能、限制条件进行分析,要解决技术风险问题,研究硬件等开发资源的有效性。

研究内容为:成本-效益分析、公司经营长期策略、开发所需成本和资源、

潜在的市场前景。

经济可行性:指进行开发成本的估算及预期取得经济效益的评估。研究范围是效益分析。

社会可行性:涉及范围有合同、责任、侵权、用户组织的管理模式、规范及其他一些技术人员常不了解的陷阱。

4. 可行性研究步骤:(1)确定项目规模和目标。(2)研究正在运行的系统。(3)建立新

系统的高层逻辑模型。(4)导出和评价各种方案。(5)推荐可行的方案。(6)编写可行性研究报告。

5. 可行性研究报告的主要内容有:引言、可行性研究前提、对现有系统的分析、所建议

系统的技术可行性分析、所建议系统的经济可行性分析、社会因素可行性分析、其他可供选择的方案、结论意见。

6. 项目开发计划是一种管理性文档,内容包括:项目概述、实施计划、人员组织和分工、交付期限。

7. 与“可行性研究报告”、“项目开发计划”文档有关的人员是管理人员和开发人员。与“程序

维护手册”文档有关的人员是管理人员和维护人员。

8. 可行性分析中,系统流程图用于描述当前运行系统。

二、效益分析

1. 成本-效益分析首先估算开发系统的开发成本,再与可能取得的效益进行比较和权衡。

目的是从经济角度评价开发一个新的软件项目是否可行。

2. 效益分为有形效益(用货币的时间价值、投资回收期、纯收入等指标度量)和无形效

益(从性质和心理上衡量)。

纯收入:是软件生存周期内系统的累计经济效益和投资之差。

投资回收期:是累计的经济效益等于最初的投资费用所需的时间。

货币的时间价值:通常用利率表示货币的时间价值。设年利率为i,现存入P元,n年

后的价值为F=P*(1+n*i)。

3. 一个软件开发成本为5万元,寿命为3年。未来3年的每年收入预计为22000元、24000元、26620

元。银行年利率为10%。试对此项目进行成本效益分析,以决定其经济可行性。

解:3年后,5万的价值为50000*(1+3*10%)=65000元。

3年软件总获利为22000*(1+2*10%)+24000*(1+1*10%)+26620=79420

元>65000元,所以此项

目盈利,经济可行。

4. 系统的经济效益是因使用新的系统而增加的收入和使用新的系统可以节省的运行费用之和。

三、需求和需求分析

1. 软件需求以一种技术形式,描述了一个产品/系统应具有的功能、性能和其他性质。如

功能要求、环境需求、用户界面要求。

2. 需求的性质:必要的、无歧义的、可测的、可跟踪的、可测量的。

3. 需求分为:

功能需求:规约系统或系统构件必须执行的功能的一类需求,是整个需求的主体。

非功能需求:指软件产品为满足用户业务需求而必须具有的除功能需求以外的特性,包括性能需求、外部接口需求、设计约束需求和质量属性需求。

4. 需求分析是指开发人员要准确理解用户需求,进行细致的调查分析,将用户非形式的

需求转化成完整的需求定义,再由需求定义转化到相应的需求规格说明的过程。可概括成“理解,分解,表达”六字。

5. 需求分析是软件开发工作的基础,基本任务是准确定义新系统的目标,为满足用户的

需要,回答系统必须做什么的问题。首要任务是确定软件系统功能,定义需求并建立系统功能模型。

6. 需求分析阶段需编写的文档有:

需求规格说明书:是软件设计、验收的依据,双方对软件要做什么的共同理解,也是

需求分析的最终结果。内容包括对主要数据、功能、用户界面和运

行环境、软件性能的描述。一般伴随可行性分析报告产生。

初步用户使用手册、确认测试计划。

7. 需求分析之前要进行必要的可行性分析,研究对象是用户要求,用户和分析设计人员

双方确定对问题的功能需求、性能需求、环境需求、用户界面需求。此阶段建立原型的目的是确定系统的功能和性能需要求。

8. 需求分析的难点:(1)问题的复杂性。(2)交流障碍。(3)用户需求易变性。(4)用

户陈述的不一致性和不完备性。

解决途径:(1)与用户充分交流。(2)合同约束需求的变更。(3)选用适当的开发模

型。(4)用户参与需求评审。(5)需求规格说明由用户确认。(6)研究需求分析的方法和自动化工具(如CASE技术)。

9.各种需求分析方法都有共同适用的基本原则:(1)能表达和理解问题的数据域和功能域。

(2)可把一个复杂问题按功能分解并可逐层细化(描述软件主要处理的数据域,并给软件开发提供一种可转化为数据设计、结构设计、过程设计的数据与功能表示)。(3)建模。

10.需求分析阶段可用的工具有:数据流图、判定表、数据字典等。

11.需求分析阶段的工作:

对问题的识别和分解、分析和综合:(1)确定对系统的综合要求。(2)分析系统的数

据要求。(3)导出系统的逻辑模型。(4)修正系

统开发计划。

导出软件逻辑模型、制定规格说明书、需求分析评审。

12.初始需求发现技术:自悟、交谈、观察、小组会、提炼。

13.常用的软件需求分析方法有:结构化分析方法(SA)、功能分解法、信息建模法、面向对

象的分析方法(OOA)。

四、需求规约

1. 需求规约是一个系统/产品所有需求陈述的正式文档,它表达了一个系统/软件产品的概念模型。

2. 需求规约的性质:(1)重要性和稳定性程度。(2)可修改的。(3)完整的。(4)一致的。

3. 需求规约的三种表达风格:

非形式化的需求规约:以一种自然语言来表达。

半形式化的需求规约:以半形式化符号体系(包括术语表、标准化的表达格式等)表达。

形式化的需求规约:以一种基于良构数学概念的符号体系来编制。

4.需求规约和项目需求是两个不同的概念。需求规约是开发组织和用户之间一份事实上

的技术合同书,

关注产品需求,回答“交付给客户的产品/系统是什么”;而项目需求是客户和开发者之间对产品/系

统需求的理解,关注项目工作与管理,回答“开发组要做的是什么”。

5. 需求规约的内容包括:引言、信息描述、功能描述、行为描述、检验标准、参考书目和附录。

6. 需求规约的作用:

1)需求规约是软件开发组织和用户之间事实上的技术合同书,是产品功能及其环境的体现。

2)对于项目的其余大多数工作,需求规约是一个管理控制点。

3)对于产品/系统的设计,需求规约是一个正式的、受控的起始点。

4)需求规约是创建产品验收测试计划和用户指南的基础。

第三章结构化方法

一、结构化分析方法

1. 软件系统/产品的需求工作中的三大挑战:问题空间的理解、人与人之间的通信、需求

的变化性。

2. 在软件需求分析和设计工程的对象是数据和程序,按实施原则的处理是先数据后程序。

每一种分析方法必须能够表达和理解问题的数据域(包括数据流、数据内容、数据结构)和功能域(反映数据域的控制信息)。

3.结构化分析方法(SA)是面向数据流进行需求分析的方法。是一种建模活动,使用简

单易读符号,根

据软件内部数据传递、变更的关系,以“分解”和“抽象”为基本原则,以自顶向下逐层分解的分析策略,描绘满足功能要求的软件模型。

4.SA分析步骤:(1)了解当前系统的工作流程,活得当前系统的物理模型。(2)抽象出

当前系统的逻

辑模型。(3)建立目标系统的逻辑模型。(4)做进一步的补充和优化。

5.SA方法优点:适用于开发数据处理类型软件的需求分析,利用半形式化工具表达需求,

简明易懂。

缺点:(1)是一个静态模型,不反映处理顺序,不能控制模型,不适合描述实时控制系统。(2)只有和E-R图结合才能较完整描述用户对系统的需求。(3)只有和形式化方法结合才能精确描述软件需求。(4)不适合描述人机界面系统的要求。(5)要借助需求分析工具,提高需求分析质量和效率。

6.SA方法特征:(1)严格定义需求。(2)划分开发阶段。(3)制定规范文档。(4)分析

控制流程是其

主要特征。

7.SA是早期的软件工程方法,主要用于数据处理方面的问题。

以表示被开发

的系统。

(2)画系统内部,即画下层数据流图。将层号从0号开始编号,采用自顶向下、由外向内德原则。画更下层数据流图时,则分解上层图中的加工,一般沿输

入流方向,凡数据流的组成或值发生变化的地方则设置一个加工,一直进行

到输出流。如果加工的内部还有数据流则继续分解,直到每个加工足够简单,

不能分解为止。不能分解的加工叫基本加工。

3. 注意问题:(1)命名:不能使用缺乏具体含义的名字,加工名应能反映处理的功能。

(2)画数据流而不是控制流:数据流名称只能是名词或名词短语,整个图中不反映加工的执行顺序。一般不画物质流。

(3)每个加工至少有一个输入数据流和一个输出数据流,反映出此加工的来源和结果。

(4)编号:某个加工分解成一张数据流图时,上层图为父图,下层图为子图。子图和其上的所有加工应编号,子图编号和父图编号相对应。

(5)父图和子图的平衡。子图的输入输出数据流同父图加工的输入输出数据流必须一致。

(6)当局部数据存储作为某些加工的数据接口或某些加工特定的输入输出时,就把它画下来,有助于实现信息隐蔽性。

(7)提高数据流图的易理解性。

四、数据流图的基本类型

1.数据流图一般分为变换型数据流图和事务型数据流图。两者的区别在于前者具有明显

变换特征的数据

流图,后者适用于具明显事物特征的数据流图。

2. 变换型数据流图是一个顺序结构,由输入、变换、输出三部分组成。工作过程分为:

取得数据、变换

数据、给出数据。

事务型数据流图是将它的输入流分离成许多发散的数据流,形成许多加工路径,并根据输入的值选择

其中一个路径来执行。

3.变换型数据流图设计步骤:(1)确定DFD的变换中心、逻辑输入和逻辑输出。(2)设

计软件结构的顶层和第一层:变换结构。(3)设计中、下层模块。(4)设计的优化。4.事务型数据流图设计步骤:(1)确定DFD的事务中心和加工路径。(2)设计软件结构

的顶层和第一层:事务结构。(3)设计中、下层模块、优化等工作,与变换型流程图设计一致。

五、结构化设计和总体设计

1. 软件设计是应用各种各样的技术和原理,定义一个系统或部件的框架、组成、接口或

其他特征的过程或“该过程的结果”,是将软件需求变换成软件表示的过程。

2. 模块在程序中是数据说明、可执行语句等程序对象的集合,或是单独命名和编址的元

素,在软件体系结构中,模块是可组合、分解和更换的单元。基本属性有接口、功能、逻辑(反映内部特性)、状态。

5.软件设计基本原理是:

抽象:即抽出事物本质的共同特性而暂不考虑细节和其它因素,能确定组成软件的过

程实体。

模块化:解决一个复杂问题时自顶向下逐层把软件系统划分为若干模块的过程。

信息隐藏:在设计和确定模块时,使一个模块内包含的信息,对于不需要这些信息的其他模块来说,是不能访问的。定义和实施对模块过程细节和局部数据结

构的存取限制。

模块独立性(最主要的原理):每个模块指完成系统要求的独立的子功能,且与其他模

块的联系最少且接口简单。

4. 软件设计基本任务:软件系统结构设计、数据结构和数据库设计、网络系统设计、软

件总体设计文档、评审。

5. 结构化设计(SD)又叫面向数据流的设计,是以需求分析阶段产生的数据流图为基础,

按一定步骤映射成软件结构。

6. 结构化设计分为总体设计和详细设计,它们是全局和局部的关系。主要任务是在需求分析的基础上,

定义满足需求要的结构,即针对给定的问题,给出该问题的软件解决方案,确定“怎么做”的问题。

7. 总体设计阶段的工具:模块结构图、层次图、HIPO图。

8. 总体设计基本步骤:先将系统DFD图转化成初始的模块结构图,再基于“高内聚低耦

合”软件设计原则,通过模块化,将初始的模块结构图转化为最终的、可供详细设计使用的模块结构图(MSD)。

9. 根据数据流的特性,将数据流图分为变换型数据流图和事务型数据流图。

变换流指DFD具有明显的输入、变换、输出界面。事务流指DFD中输入流被分离成许多数据流,形成

许多加工路径,并根据输入值选择其中一条路径来执行。

10. 模块结构图是软件系统的模块层次结构,反映整个系统的功能实现,用网状或树状结构

的图形表示。

形态特征:深度(模块的层数)、宽度(一层中最大的模块个数)、扇入(一个模块直接上属模块的个数)、扇出(一个模块直接调用下属模块的个数)。

画图注意事项:同一名字的模块在结构图中只出现一次;调用关系只能从上到下;模块调用次序一般从左到右。

11. 模块的控制域指这个模块本身以及所有直接或间接从属它的模块的集合。模块的作用域

是受该模块内一个判定所影响的所有模块的集合。当一个模块的作用域不在其控制域内,或把该模块移到上一层次,或把在作用域内但不在控制域内的模块移到控制域内,尽量使模块的作用域是其控制域的子集。

六、耦合性和内聚性

1.耦合性也叫块件关系,根据模块外部特征提出的,是对软件系统结构中各模块间相互联

系紧密程度的一种度量。按耦合程度由低到高分为:

●无直接耦合:两个模块间无直接关系,分别从属不同模块的控制和调用,不传递任

何信息。

●数据耦合:两个模块间有调用关系,传递简单数据值,相当于高级语言的值传递。

●标记耦合:两个模块间传递数据结构。

●控制耦合:传递控制变量,如开关、标志。

●公共耦合:传递在公共数据环境中的数据。

●内容耦合:传递的是一个模块的内部数据,往往出现在汇编语言中。

2.影响模块间耦合程度的最主要因素是模块间传递信息的复杂性,另外还受接口的复杂性

和调用方式的影响。模块间耦合性越强,联系越紧密,独立性越差。提高模块间独立性的措施有:

* 在耦合方式上降低模块间接口的复杂性:包括模块的接口方式、接口信息和参数个数。

* 在传递信息类型上尽量使用数据耦合,避免控制耦合,慎用或有控制地使用公共耦合。

3. 内聚性又叫块内联系,根据模块内部特征提出的指模块功能强度的度量,即一个模块内

部各个元素彼此结合的紧密程度的度量。按内聚程度由低到高分为:

●偶然内聚:一个模块内的各处理元素间没有任何联系。

●逻辑内聚:模块内执行的几个逻辑上相似的功能,通过参数确定该模块完成那一个

功能。

●时间内聚:需要同时执行的动作组合在一起形成的模型。

●通信内聚:都要在同一数据结构上操作,紧密相关于同一数据结构。

●顺序内聚:紧密相关于同一功能,且必须按顺序完成,某成分的输入是另一成分的

输出。

●功能内聚:共同完成同一功能,缺一不可,模块不可再分割。

3.影响内聚程度的最主要因素是模块内各成分之间相关于同一功能的紧密程度。模块内聚

性越高,独立性越强,有利于软件重用。

七、详细设计

1.详细设计主要确定每个模块具体执行过程和内部特性,也称过程设计。结果是基本决

定了最终程序代码的质量。

2.结构图(SC图)是总体设计和详细设计衔接的图形工具,主要内容有:模块、模块

的控制关系、模块的信息传递。

3.详细设计基本任务:为每个模块进行详细的算法设计;为模块内的数据结构进行设计;

对数据库进行物理设计;其他设计;编写详细设计说明书(内容包括引言、软件结构、模块设计说明);评审(针对处理过程的算法和数据库的物理结构)。

4.详细设计目标是逻辑上正确实现每个模块的功能,还应使设计出的处理过程通过结构

化程序设计清晰易读,指导开发出易于理解、易于验证的程序。

5.结构化程序设计是面向数据流的软件总体设计方法,主要强调的是程序的易读性。基

本要点有:(1)采用自顶向下,逐步求精的程序设计方法。(2)使用三种基本控制结构(共同点是只有单入口和单出口)构造程序。(3)采用工作方式为主程序员组的组织形式,突出了主程序员的领导(包括一个住程序员、后备程序员、程序管理员,一些专家和其他技术人员)。

6.详细设计的工具:图形(程序流程图、盒图N-S图、PAD图、IPO图)、表格(判定

表)、语言(类程序设计语言PDL,也叫伪码)。

7.流程图,是描述程序逻辑结构的工具。

优点是:直观清晰、易使用。

缺点是:(1)可随心所欲画出控制流程的流向,易造成非结构化的程序结构。(2)不易反映逐步求精过程,往往反映最后结果。(3)不易表示数据结构。(4)

对大型软件过于琐碎,不易阅读和修改。

结构化流程图由三种基本控制结构顺序组合和完整嵌套而成,不能相互交叉,克服流程图最大缺陷。

8.问题分析图(PAD图),描述的是算法,是由左往右展开的二维树形结构,控制流程

为自上而下,从左到右执行。

自考_软件工程复习资料

第一章 1软件生产率、软件质和量远远满足不了社会发展的需求,成为社会、经济发展的制约因素,人们通常把这一现象称为软件危机 2软件工程定义:软件工程是应用计算机科学理论和技术以及工程管理原则和方法,按预算和进度实现满足用户要求的软件产品工程,或以此为研究对象的学科 3软件开发的本质概括为:不同抽象层术语之间的“映射”,以及不同抽象层处理逻辑之间的“映射”两大类技术:过程方向、过程途径。基本途径:系统建模 4所谓模型,是待建系统的任意抽象,其中包括所有的基本能力、特性或其他一些方面,而没有任何冗余的细节。进一步说,模型是在特定意图下所确定的角度和抽象层次上对物理系统的描述,通常包含对该系统边界的描述、对系统内各模型元素以及它们之间关系的语义描述 5系统模型分为软件模型、概念模型软件模型分为设计模型、部署模型、实现模型 第二章软件需求与软件需求规约 6一个需求是有关一个“要与构造”的陈述,描述了待开发产品、系统功能上的能力、性能或者其他性质7需求性质:必要的、无歧义的、可测的、可跟踪的、可测量的 8需求分类:功能需求、非功能需求(性能、外部接口、设计约束、质量属性需求) 9功能需求规约了系统或系统构建必须执行的功能功能需求是整个需求的主体 10接口需求分为:用户接口、硬件接口、软件接口、通信接口、内存约束、运行、地点需求 11质量属性:可靠性存活性可维护性用户友好性 12需求发现技术:自悟交谈观察小组会提炼 13需求规约定义,是一个软件项/产品/系统所有需求陈述的正式文档,它表达了一个软件产品/系统概念模型性质:重要性和稳定性程度可修改的完整的一致的 14需求规约的作用:需求规约是软件开发组和用户之间一份事实上的技术合同书,是产品功能及其环境的体现对于项目的其余大多数工作,需求规约是一个管理控制点对于产品/系统的设计,需求规约是一个正式的、受控的起始点需求规约是创建产品验收测试计划和用户指南的基础,是基于需求规约一般还会产生另外两个文档(初始测试计划和用户系统操作描述) 第三章结构化方法 15需求工作挑战:问题空间理解人与人之间的通信需求的变化性 16好的需求技术具备特征:提供方便的通信机制鼓励需求分析人员使用问题空间的术语思考问题,编写文档提供定义系统边界的方法提供支持抽象的基本机制为需求分析人员提供多重可供选择的方案提供天特定的技术化、适应需求变化 17结构化方法:结构化分析方法结构化设计方案机构化程序设计方法 18数据流加工数据存储数据源和数据潭 19需求分析的首要任务是建立系统功能模型工具:数据流图DFD图是一种描述数据变化的图形工具20建模过程:建立系统环境图,确定系统语境自顶向下逐步求精,建立系统层次数据流图定义数据字典描述加工(结构化自然语言判定表判定树) 21需求阶段的主要任务是完整地定义问题,确定系统的功能和能力 22需求验证验证需求规格说明书的每一单一需求是否满足5个性质(必要性无歧义性可测性可跟踪型可测量性),需求沿着我难过规格说明属否满足4个性质(重要性和稳定性程度可修改型完整性一致性)23结构化设计的主要任务是在需求分析的基础上,定义满足需求所需要的结构,即针对给定的问题,给出该问题的软件解决方案,确定“怎么做”的问题 24结构化设计分为总体设计(目标,建立系统的模块结构)和详细设计 25模块指软件中具有特定标识的独立成分模块调用指模块之间的一种使用关系 26总体设计阶段的基本任务是把系统的功能需求分配到一个特定的软件体系结构中工具(Yourdon模块结构图层次图HIPO图)步骤:将系统的DFD图转化为初始的模块结构图,再基于高内聚低耦合的原

自考03173软件开发工具10月试题及答案

自考软件开发工具(2014.10)真题及答案 一单选 1.Dictionary/3000是() A.计划工具 B.分析工具 C.设计工具 D.集成化工具 正确答案 B 讲解 分析工具主要指用于分析的工具。例如:帮助人们编辑数据字典的、专用数据字典管理系统。 2.提出即插即用程序设计的基础是() A.结构化程序设计 B.面向对象程序设计 C.面向开源软件程序设计 D.C语言程序设计 正确答案 B 讲解 即插即用的程序设计是近年来软件界讨论的又一个热门话题,与它紧密相关的还有组件程序设计(component Programming),组合文件(Compound Document),宏观程序设计等。这是在面向对象的程序设计方法的基础上提出来的。 3.在大型软件开发中,项目负责人承担的工作是() A.验收模块 B.要求修改 C.交付检验 D.试运行 正确答案 A 讲解 分配子任务下次,最后检验各个模块完成。 4.一般认为,好的软件应该() A.速度快

B.正确实现要求的功能 C.程序简短 D.价格低廉 正确答案 B 讲解 软件的质量评价在于: 1)正确地实现所要求的功能,准确地给出预定的输出结果; 2)用户界面友好,符合实际用户的使用习惯与知识能力; 3)具有足够的速度(而不是越快越好),能在符合用户要求的时间限度内,给出所要求的处理结果; 4)具有足够的可靠性,能够在各种干扰下保持正常的工作; 5)程序易读。 5.在软件开发工具的概念模式中,着重描述模块间控制的是() A.实体联系图 B.结构图 C.系统流程图 D.数据流程图 正确答案 B 讲解 程序的结构分解成三种基本模块:处理单元,循环机制,二分决策机制。按照这种方法来构造程序,就可以把程序内容的各种相互影响有效地控制在模块内部,从而避免“水波效应”。这样一来,问题的关键就在于合理地划分模块,并保证模块符合“结构良好”的要求。 6.软件开发工具最重要的信息出口是() A.代码生成和图形处理 B.文档生成和报表生成 C.代码生成和联机查询 D.代码生成和文档生成 正确答案 D 讲解 只要人们规定了合理的存储模式和检索途径,就能在信息存储、检索以至一致性的保持上得到很大的帮助。至于像代码与文档的自动生成则可以在更大的程度上给人们帮助。

自考软件工程_02333(2006~2011含答案_完全整理)

全国2006年10月高等教育自学考试 软件工程试题 课程代码:02333 一、单项选择题(本大题共20小题,每小题1分,共20分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。 1.软件开发环境按解决的问题分类包含() A.程序设计环境B.工具箱环境 C.基于方法的环境D.以语言为中心的环境 2.为了提高软件产品的质量和可靠性,对某些无法避开的差错,使其影响减至最小程度所采用的技术是() A.容错技术B.避开错误技术 C.检测技术D.排错技术 3.软件复杂性的常用度量方法包括() A.BOEHM度量法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.循环覆盖调试 1 软件工程自学考试试题

软件工程自学考试试题 2 C .边界值分析调试 D .集成测试调试 10.在软件测试中,首先对每个模块分别进行单元测试,然后再把所有的模块按设计要求组装在一起测试,称为( ) A .确认测试 B .系统测试 C .渐增式测试 D .非渐增式测试 11.源代码的可维护性表现了程序设计语言的( ) A .心理特性 B .工程特性 C .技术特性 D .传统特性 12.至今已有好几百种不同的高级语言,它们有的是用于数值计算,有的是用于商业管理,有的是用于编写系统软件。以下语言中较适用于数值计算的语言是( ) A .BASIC B .SQL C .LISP D .FORTRAN 13.在JSP 方法中解决结构冲突的具体办法是( ) A .引入中间数据结构或中间文件 B .删除某个输入数据结构 C .删除某个输出数据结构 D .增加某个输入或输出数据结构 14.模块的内聚性可以按照内聚程度的高低进行排序,以下排列中属于从低到高....的正确次序是( ) A .偶然内聚,时间内聚,逻辑内聚 B .通信内聚,时间内聚,逻辑内聚 C .逻辑内聚,通信内聚,顺序内聚 D .功能内聚,通信内聚,时间内聚 15.以下软件生存周期的活动中,要进行软件结构设计的是( ) A .测试用例设计 B .概要设计 C .程序设计 D .详细设计 16.能够清楚地表示复杂的条件组合与应做的动作之间的对应关系的工具是( ) A .结构化语言 B .PAD 图 C .判定表 D .程序流程图 17.需求分析方法必须能够表达和理解问题的数据域和( ) A .数据流 B .用户类型 C .功能域 D .应用领域 18.以用户需求为动力,以对象作为驱动的模型是( ) A .瀑布模型 B .基于知识的模型 C .喷泉模型 D .增量模型 19.把软件生产的全过程人为地划分为若干阶段使得软件人员能根据每一阶段的不同特点更好地组织和管

(全新整理)1月全国软件工程自考试题及答案解析

全国2018年1月高等教育自学考试 软件工程试题 课程代码:02333 一、单项选择题(本大题共20小题,每小题1分,共20分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。 l.以下哪一项不.是软件产品所具有的特性() A.软件是逻辑产品 B.软件产品不会用坏,不存在磨损、消耗问题 C.随着技术的提高,软件开发的费用不断降低 D.软件产品的成本主要体现在软件的开发与研制上 2.“确定软件系统必须做什么”是哪个阶段的任务() A.可行性分析和项目开发计划B.需求分析 C.概要设计D.详细设计 3.以下哪一项不.是软件测试时需要的信息() A.软件配置B.软件结构 C.测试工具D.测试配置 4.结构化分析方法的分析策略是() A.自底向上的抽象B.自顶向下的分解 C.用DFD建模D.用DD描述数据需求 5.一组语句在程序中多处出现,为了节省存储,将这些语句组成一个新的模块,该模块的内聚性为() A.功能内聚B.顺序内聚 C.偶然内聚D.逻辑内聚 6.系统流程图是描绘以下哪一项的工具() A.软件结构B.逻辑系统 C.物理系统D.软件功能 7.数据库的设计一般要进行三个方面的设计:概念设计、逻辑设计和物理设计,其中逻辑设计对应于系统开发的什么部分() A.可行性分析B.需求分析 1

C.概要设计D.详细设计 8.以下哪种语言可用于描述模块算法设计和处理细节() A.UML语言B.过程设计语言 C.FORTRAN语言D.Pascal语言 9.软件维护是软件生命周期中的固有阶段,一般认为,以下哪种软件维护在整个维护活动中所占的比例最小() A.校正性维护B.适应性维护 C.预防性维护D.完善性维护 10.软件测试方法中,黑盒、白盒测试法是常用的方法,其中白盒测试主要用于测试()A.结构合理性B.软件外部功能 C.程序正确性D.程序内部逻辑 11.使用Jackson方法可以得到() A.程序流程图B.具体的语言程序 C.模块结构图及模块的功能说明书D.分层数据流图 12.以下哪种测试的任务是检查软件的功能与性能是否与需求规格说明书中确定的指标相 符合() A.集成测试B.确认测试 C.单元测试D.系统测试 l3.与编程风格有关的因素不.包括() A.源程序文档化B.语句构造 C.输入输出D.模块间耦合性 14.对于构造原型的建议,下面说法错误 ..的是() A. 暂不考虑速度、空间等性能效率方面的要求。 B.暂不考虑错误恢复和处理。 C.可降低可靠性和软件质量标准。 D.原型界面部分的设计,暂不考虑与最终系统的界面相容。 l5.有关软件项目进度安排的叙述,错误 ..的是() A.Gantt图常用水平线段来描述把任务分解成子任务,以及每个子任务的进度安排。B.Gantt图中线段的长度表示完成子任务所需要的时间。 C.工程网络图是一种有向图,用圆表示事件,用有向弧或箭头表示任务,有向弧或箭头 2

自考本科-《项目管理》:《项目成本管理》笔记整理

项目成本管理 第一章项目成本管理导论 1.管理会计学认为:成本是为达到一个特定的目标而牺牲或放弃的资源。而财务会计学则认为,成本是取得资产的 代价。马克思主义政治经济学原理:成本是商品价值的重要组成部分,其实质是以货币表现的、为生产产品所耗费的物化劳动的转移价值和活劳动的转移价值之和。 2.我们定义:成本就是为达到一定目标所耗费资源的货币体现。 3.项目成本:是围绕项目发送的资源耗费的货币表现,包括项目生命周期各阶段的资源耗费。 4.成本:C+V,造价:C+V+M(C物化劳动的价值,C活劳动的价值,M劳动者创造的价值) 5.造价是成本、税金和利润的之和。项目组织更关心如何降低成本,而投资者更关心的是造价。 6.项目成本与项目造价的共同点:主要体现在两者的构成上有相同之处,及两者均影响项目的利润。成本和造价均 包括:C+V,造价与成本的差额觉得项目的利润空间。 7.投资:通过投入一定的资金、土地、设备、技术等要素,以便在未来获得一定的收益。 8.建设项目的成本一般称为项目投资:是指工程项目从筹建开始到项目全部建成并投产为止所发生的的全部支出。 9.项目成本管理:在整个项目的实施过程中,为确保项目在批准的成本预算内尽可能好的完成而对所需的各个过程

进行管理。两个任务:①确保项目在批准的成本预算内尽可能好的完成②提供衡量项目管理绩效的客观标尺。10.项目成本管理的原则:①全生命周期成本最低原则;②全面成本管理原则;③成本责任制原则;④成本管理有效 化原则;⑤成本管理科学化原则。 11.考虑项目从启动到结束,再到项目产的寿命期结束的整个周期的成本最低,是项目经济性评价的合理期限。 12.项目成本管理一般过程: 1)《项目管理知识体系指南》:资源计划编制——成本估算——成本预算——成本控制。 2)我国的项目成本管理通常包括的过程如下:成本预测——成本计划——成本控制——成本核算——成本分析 ——成本考核。 成本核算:是对项目实施过程中所发生的耗费进行如实反映的过程,也是对各种耗费的发生进行监督的过程。 3)本书体系:资源计划编制——成本估算——成本预算——成本核算——成本控制——成本决算。 资源计划编制:确定完成项目活动需要物质资源的种类以及每种资源的需要量; 成本估算:作为一个为完成项目各活动所需资源成本的估算; 成本预算:将总成本估算分配到各单项工作上。 成本核算:在项目执行过程中对成本进行记录、统计和分析,为成本控制提供依据。 成本控制:控制项目预算的变更,以保证预算目标的实现。 成本决算:确定项目从筹划开始到项目结束交付使用为止的全部实际费用。 第二章资源计划于资源单价 13.项目对工程师的需求在项目高级开发阶段达到最高点,项目对非专业人员的需求在项目详细设计和生产两个阶段 到达最高点,项目对材料的需求在详细设计和生产两个阶段达到最高点。 第二节项目资源计划编制的依据 14.资源库描述:是对资源存量的说明,是资源计划编制的重要依据,通过对资源库的分析可确定资源的供给方式。 成本估算必须考虑所有在项目上支出的资源,并应当随着项目的进展进行调整和修正,以便具体、详细地反映项目的新情况。 15.定额:定就是规定,额就是数量,定额就是规定在产品生产中人力、物力或资金消耗的标准额度。定额具有时效 性,他代表某个时期社会平均劳动水平。 16.定额的种类:按定额的物质内容和用途分:劳动消耗定额(时间定额&产量定额),材料消耗定额,机械台班定额

自考软件工程试卷及答案

2016年4月高等教育 选择题部分 一、单项选择题(本大题共l5小题,每小题2分,共30分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其选出并将“答题纸”的相应代码涂黑。错涂、多涂或未涂均不得分。1.提出软件工程概念的目的是倡导以工程的原理、原则和方法进行软件开发,以期解决出现的 (p15) A.软件矛盾B.软件危机 C.软件制约D.软件滞留 2.用于描述待开发产品/系统功能上的能力、性能参数或其他性质的是(p23) A.程序 B.需求 C.设计D.规约 3.在初始发现需求的常用技术中,需求人员通过提出问题/用户回答这一方式,直接询问用户需要的技术是 (p26) A.询问B.问答 C.交谈D.审问 4.在结构化分析方法中,数据流的归宿地是 (p37) A.数据潭B.数据源 C.数据项D.数据字典 5.一个模块调用另一个模块时,模块之间通过参数来传递数据,则模块间的关系为 (p57) A.公共耦合B.控制耦合

C.标记耦合D.数据耦合 6.在一个软件结构中,同一个层次上模块总数的最大值是指模块的 (p60) A.宽度B.深度 C.扇入D.扇出 7.在UML中,一种可以表达系统功能模型的图形化工具是 (p103) A.用况图B.状态图 C.类图D.对象图 8.UML的图形化工具分为两类:结构图和 (p101) A.类图B.状态图 C.行为图D.部署图 9.下列选项,属于RUP突出特点的是 (p123) A.以面向对象为中心B.以体系结构为中心 C.以分析模型为中心D.以设计模型为中心 10.关于调试,下列说法错误的是 (p175) A.调试是为了证明程序员的正确B.调试的结果一般是不可预见的C.调试是不受时间约束的D.调试是一个发现错误、改正错误的过程 11.假设某课程的成绩输入范围为0-100,则根据黑盒测试中的等价类划分技术,下列划分正确的是 (p187) A.可划分为2个有效等价类,2个无效等价类 B.可划分为1个有效等价类,2个无效等价类 C.可划分为2个有效等价类,1个无效等价类

高等教育自学考试软件工程试题及答案

全国2013年1月高等教育自学考试 软件工程试题 课程代码:02333 请考生按规定用笔将所有试题的答案涂、写在答题纸上。 选择题部分 注意事项: 1.答题前,考生务必将自己的考试课程名称、姓名、准考证号用黑色字迹的签字笔或钢笔填写在答题纸规定的位置上。 2.每小题选出答案后,用2B铅笔把答题纸上对应题目的答案标号涂黑。如需改动,用橡皮擦干净后,再选涂其他答案标号。不能答在试题卷上。 一、单项选择题(本大题共l5小题,每小题2分,共30分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其选出并将“答题纸”的相应代码涂黑。错涂、多涂或未涂均不得分。 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.UML表达关系的术语中,表达“整体/部分”关系的是 A.细化 B.依赖 C.继承 D.聚合 7.UML提供的图形化工具中,用于概念模型和软件模型的动态结构的是 A.用况图 B.部署图

C.对象图 D.构件图 8.根据RUP测试活动,输入为测试用况,活动为实现测试,则输出为 A.测试计划 B.测试构件 C.测试评价 D.测试过程 9.下列选项中,属于白盒测试技术的是 A.因果图 B.等价类划分 C.边界值分析 D.路径测试 10.假设月收入≤3500元者免税,现用3500元和3501元作为测试数据,所采用的是 A.边界值分析 B.等价类划分 C.条件覆盖 D.因果图 11.一般来说,单元测试往往采用 A.等价类测试 B.因果图测试 C.白盒测试 D.黑盒测试 12.相对于螺旋模型,演化模型缺少 A.制定计划 B.客户评估 C.实施工程 D.风险分析 13.支持面向对象技术的软件生存周期模型是 A.喷泉模型 B.螺旋模型 C.增量模型 D.瀑布模型 14.按照《ISO/IEC软件生存周期过程12207—1995》中,可归于基本过程的是 A.文档过程 B.验证过程 C.维护过程 D.管理过程 15.CMMI成熟度等级中的第四级为 A.已定义级 B.已定量管理级 C.持续优化级 D.已管理级 非选择题部分 注意事项: 用黑色字迹的签字笔或钢笔将答案写在答题纸上,不能答在试题卷上。 二、填空题(本大题共20空,每空1分,共20分) 16.软件开发的本质,即实现问题空间的概念和处理逻辑到解空间的概念和处理逻辑之间的映射,实现这一映射的基本途径是_过程途径_______。 l7.需求发现的常用技术中,可能被用户抵触的是__观察______。 18.需求阶段的主要任务一般包括需求发现、需求分析和_需求验证_______,最终形成系统的软件需求规格说明书。 19.实施精化设计的目标是基于模块的“高内聚低耦合”的原则,提高模块的___耦合性_____。

自考信息资源管理整理资料(精简版)word版本

第一章 1.材料、能源、信息是支配人类社会发展的三大基本要素。P15 2.信息技术(Information Technology,简称IT)是应用信息科学的原理和方法研究信息产生、传递、处理的技术,具体包括有关信息的产生、收集、交换、存储、传输、显示、识别、提取、控制、加工和利用等方面的技术。P16 3.现代信息技术主要包括计算机技术、通信技术、传感技术和控制技术。P16 4.以微电子技术为基础的现代信息技术的发展与应用的特点:小型化、网络化、智能化、系统化P16 5.3C革命:计算机(Computer)、通信(Communication)和自动控制(Control)P16 6.3A革命:工厂自动化(FA)、办公自动化(OA)、家庭自动化(HA) 7.因为信息技术发展而导致的社会变革称为信息革命 8.信息革命具有技术科学化、群体化、智能化、高新性等特征。 9.“高”特征:高驱动、高增值、高智力、高战略、高风险、高时效。 10.国家信息基础设施行动计划(NII,national Information infrastructure:agenda for action) 11.信息化特指一个具体组织实体应用信息技术提高信息

资源开发和利用效率的过程与活动。P19 12.信息化的特点:非物质性、超时空性、可扩展性。P20 13.信息资源管理(Information resources management,简称IRM)是以管理科学、信息科学与技术、数学等为基础,研究和探索人类信息管理活动的基本规律和一般科学方法,具有综合性和实践性强的特点。P20 14.信息的性质:普遍的和无限的、信息依附于媒体且可以独立与原事物、信息可以共享、信息可以变换、信息可以传递但不增值、信息是动态且有时效的、信息具体而可以被感知和处理的P26 15.信息的功能:信息是生存与发展的必要资源、信息是知识和智能的源泉。P30 16.信息的生命周期:信息收集、组织、存储、检索、传输、加工和利用P31 17.资源是指在自然界和人类社会生活中一种可以用来创造物质财富和精神财富,并且具有一定量积累的客观存在形式。P32 18.资源的内在属性:需求性、稀缺性和可选择性。P32 19.狭义信息资源指人类社会经济活动中经过加工处理有序化并大量积累的有用信息的集合。P34 20.广义信息资源包括信息及其生产者、信息技术的集合,包括人类社会经济活动中经过加工处理有序化并大量积累的有用信息的集合,为某种目的而生产有用信息的信息生产者集合,

最新软件工程自考历年真题答案

全国20XX年1月自学考试软件工程试题(含答案) 课程代码:02333 一、单项选择题(本大题共20小题,每小题1分,共20分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。 1.软件生存周期中,准确地确定软件系统必须做什么的阶段是(B) A.可行性分析和项目开发计划B.需求分析 C.概要设计D.详细设计 2.把瀑布模型和专家系统结合在一起的软件生存周期模型是(B) A.增量模型B.基于知识的模型 C.螺旋模型D.喷泉模型 3.以下不.属于项目开发计划主要内容的是(C) A.实施计划B.交付期限 C.测试用例D.人员组织及分工 4.使用数据流图来表示系统逻辑模型的是(D) A.Jackson B.VDM C.OOA D.SA 5.用于描述结构化分析中数据流加工逻辑的是(A) A.判定树B.ER图 C.状态图D.用例图 6.若一个模块中各个处理元素都密切相关于同一功能且必须顺序执行,前一功能元素的输出就是下一功能元素的输入,则该模块的内聚性类型是(C) A.时间内聚B.偶然内聚 C.顺序内聚D.功能内聚 7.下列几种耦合类型,耦合性最高的是(A) A.公共耦合B.控制耦合 C.标记耦合D.数据耦合 8.程序流程图的优点不包括 ...(B) A.历史最悠久,使用最广泛B.容易表示逐步求精的过程 C.支持程序的三种基本控制结构D.直观清晰,易于使用 9.第一个体现结构化编程思想的程序设计语言是(C) A.Cobol语言B.C语言 C.Pascal语言D.FORTRAN语言 10.确认测试也称为(A)

A.有效性测试B.无效性测试 C.静态测试D.动态测试 11.黑盒测试技术不包括 ...(B) A.等价类划分B.路径覆盖 C.边界值分析D.错误推测 ?12.为了增加软件功能和性能、提高软件运行效率而进行的维护活动称为(C) A.校正性维护B.适应性维护 C.完善性维护D.预防性维护 13.瀑布模型与增量模型之间的本质区别是(B) A.瀑布模型属于非整体开发模型,增量模型属于整体开发模型 B.瀑布模型属于整体开发模型,增量模型属于非整体开发模型 C.瀑布模型容易适应需求变化,增量模型不容易适应需求变化 D.瀑布模型减少技术、应用风险,增量模型增大技术、应用风险 ?14.面向对象分析中,对象模型描述了系统的(A) A.静态结构B.动态结构 C.控制结构D.顺序结构 15.面向对象设计中存在三种内聚,分别是(D) A.属性内聚、操作内聚、类内聚B.操作内聚、类内聚、整体-部分内聚 C.属性内聚、操作内聚、对象内聚D.操作内聚、类内聚、一般-具体内聚16.McCall质量度量模型中,与“软件系统对非授权人访问软件或数据行为的控制程度”所对应的软件质量特性是(B) A.正确性B.完整性 C.可维护性D.可用性 17.软件工程标准中,JIS属于(B) A.国际标准B.国家标准 C.行业标准D.企业规范 18.与“程序维护手册”文档有关的人员是(B) A.管理人员和开发人员B.管理人员和维护人员 C.维护人员和用户D.管理人员和用户 19.软件工具“代码生成程序”属于(C) A.需求追踪工具B.质量保证工具 C.设计工具D.文档工具 20.软件复杂性度量的参数中,能反映“软件总共的指令数,或源程序行数”的是(A) A.规模B.难度 C.结构D.智能度 二、填空题(本大题共10小题,每小题2分,共20分)

郑州大学自考软件工程参考真题

郑州大学自考软件工程参考真题 一、单项选择题(本大题共20 小题,每小题1 分,共20 分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。 1.软件工程管理的具体内容不包括对_________管理。() A.开发人员B.组织机构 C.控制D.设备 2.在McCall 软件质量度量模型中,_________属于面向软件产品操作。() 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.JSP 方法是一种面向_________的设计方法。() A.控制结构B.对象 C.数据流D.数据结构 11.当一个模块直接使用另一个模块的内部数据,这种模块之间的耦合为() A.数据耦合B.公共耦合 C.标记耦合D.内容耦合 12.软件设计的方法有多种,_________方法不属于面向数据流的设计方法。() A.基于Jackson 图的设计B.基于IDEF0 图的设计 C.交换分析设计D.事务分析设计

2019自考本科01336软件项目管理

一、单项选择题 1.下面给出的选项中不是项目基本特性的是(B) A.独特性B.重复性C.组织性D.目标冲突性2.在IT项目管理的基本表述方法中,根据指定的网络顺序、逻辑关系和单一的历时估算,计算每一活动的单一、确定的最早开始和最迟结束时间的是(D) A.工作分解结构B.甘特图C.计划评审技术D.关键路径法3.在做项目投资分析时,当预计的回收期超出企业能接受的回收期时,预计应当( A) A.放弃B.接受C.修改D.保留4.IT软件项目计划管理,管理的对象是IT项目的C A.任务和评审B.运作和评审C.运作和活动D.任务和活动5.在一个大型的IT项目中,通常要同时采用几种成本估算方法,如果不同方法得到的结果大相径庭,应该(A) A.继续设法获取更多的成本信息B.改变成本估算方法 C.增加成本估算方法D.减少成本估算方法 6.制定软件项目质量计划的目的主要是确保项目的( B ) A.用户需求能够满足B.质量标准能够满意地执行 C.功能模块能够全部实现D.进度计划能够顺利完成7.评审是一种质量保证机制,它是借助一组人员来检查软件系统或相关文档并发现错误的一个过程。评审的类型有:设计或程序检查、管理评审(A ) A.质量评审B.专家评审C.风险评估D.成本决算 8.要有效地进行配置管理,需要建立一个配置管理库存放软件( D ) A.活动B.任务C.里程碑D.基线 9.项目经理是整个软件研发活动的负责人,在配置管理活动中,其主要工作是根据软件配置控制委员会的建议,批准配置管理的各项活动并( B ) A.参与这些活动B.控制它们的进程C.指导工作D.监督整个开发过程 10.下面给出的四个选项中与其他选项不属于同一概念的是( A ) A.结构测试B.黑盒测试法C.功能测试D.数据驱动测试 11.如果是委托开发,则以任务委托书或开发协议(合同)方式进行说明的是( B ) A.项目设计报告B.项目开发立项报告C.程序设计报告D.项目测试报告12.在进行IT项目风险分析时,对不确定性因素的不确定性程度和每个风险的损失程度需要(C) A.分析B.统计C.量化D.控制 13.进行风险管理的前提是( B ) A.风险不利后果小于风险管理付出的代价 B.风险不利后果超过风险管理付出的代价 C.风险不利后果不超过风险管理付出的代价 D.风险不利后果不小于风险管理付出的代价

自考软件工程试题及答案

2017年10月高等教育自学考试全国统一命题考试 软件工程试卷 (课程代码02333) 本试卷共4页,满分100分,考试时间150分钟。 考生答题注意事项: 1.本卷所有试题必须在答题卡上作答。答在试卷上无效,试卷空白处和背面均可作草稿纸。2.第一部分为选择题。必须对应试卷上的题号使用2B铅笔将“答题卡”的相应代码涂黑。3.第二部分为非选择题。必须注明大、小题号,使用0.5毫米黑色字迹签字笔作答。4.合理安排答题空间,超出答题区域无效。 第一部分选择题 一、单项选择题:本大题共15小题,每小题2分。共30分,在每小题列出的备选项中只有一项是最符合题目要求的,请将其选出。 1.软件工程在20世纪80年代以来获得的主要成果有 A.瀑布模型 B.CASE产品 C.过程式语言 D.结构化方法 2.在销售管理系统需求文档中出现下列描述,属于外部接口需求范畴的是 A.系统应能产生月销售报表 B.系统应在5分钟内计算出给定季度的总销售税 C.对要构建的账户接收系统,必须为月财务状况系统提供更新信息 D.任取1秒钟,一个特定应用所消耗的可用计算能力平均不超过50% 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.RU的设计方法给出用于表达设计模型中基本成分的术语,包括子系统、设计类、接口和 A.构件 B.用况细化 C.体系结构描述 D.部署模型 10.关于调试,下列说法正确的是 A.从一个侧面证明程序员的失败 B.受时间约束的 C.一个推理过程 D.由独立的测试组完成

《软件工程》复习资料

1,什么是软件,软件的性质 软件是完成某类问题求解的程序和数据以及为维护程序必须提供的一系列文档组成的集合。软件=程序+数据+文档。 软件的内在性质是:软件具有高度的抽象性和严密的逻辑性。 软件的外在性质是:软件是一种逻辑信息产品,是用文字、符号表达的智力产物。 2,什么是工程化工程化的软件开发方法与早期的程序设计方法的不同点在哪里? 将成熟工程领域的方法应用于软件开发。工程化的方法包括如下四个方面: ⑴.具有相应的理论与技术⑵.具备实现工程化的工具和环境 ⑶.具备统一的工程规范⑷.管理和控制 3,软件工程研究的内容 软件项目的管理 软件工程的知识体系包括如下内容 过程:软件开发的步骤。方法:软件开发各步骤所用到的技术。管理:控制软件开发按照过程和方法顺利完成的技术和措施。工具:辅助人们贯彻过程和方法,并实施管理 1,可行性分析包含哪些内容,它们的含义是什么? 答:⑴.经济上可行性:论证系统有没有经济效益或社会效益?多长时间能回收成本? ⑵.技术上可行性:实现新系统需要哪些技术,现有技术能否解决,难点?建议采用的技术先进程度怎样?新技术的应用是否存在风险?是否能够找到胜任该系统的熟练的技术人员?等等⑶.操作上可行性:系统的操作方式在用户所在的组织内是否可行,特别是对原有系统扩展会不会引起矛盾。⑷.法律上可行性:会不会引起侵权、会不会引起其他的社会问题。 2,下列哪些工作中需要估算软件成本? I)软件可行性研究II)软件计划III)软件需求分析IV)软件运行和维护 三 1,结构化分析方法的三种描述手段 数据流图,掌握数据流图中的基本符号,大题要求给出一个需求能够画出多层数据流图 数据字典 加工说明的三种描述工具是:结构化语言、判定树和判定表来表示 2,结构化方法的特点:自顶向下,逐层分解,抽象和分解 3,用户需求: ?某学校需要开发一套基于Web的研究生招生管理系统,用户需求如下: –考生可以登录系统提交报名信息,报名信息经过格式确认存入数据库;信息提交成功后能够网上在线支付报名费并记录交费信息;交费成功的考生可以打印 报名表。 –各院系教务员能够查看和审核考生提交的报名信息,确定信息是否准确有效,最后给出审核是否通过的标志。教务员还能够打印报名考生清单。 –招生办公室管理员能够查询有效的报名考生信息和打印统计报表;能够生成报名考生数据文件上报到上级单位(教育部)。 题目要求: ?请用SA方法对它进行分析,画出分层数据流图。(只要求数据流图,不要求数据字典和 报名信息库

自考软件开发发工具试题真题与答案

全国2012年1月高等教育自学考试 软件开发发工具试题 课程代码:03173 一、单项选择题(本大题共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.系统测试阶段 6.在软件开发工具的跨周期管理中,知识库和专家系统一般应用于( ) A.需求分析阶段B.分析设计阶段 C .编码测试阶段D.系统维护阶段 7.自行开发软件开发工具不具有 ...的优点是( ) A.切实符合自己的需要-B.集成化容易 C.便于进一步扩充和升级D.可以商品化 8.以下几种较有代表性的语言及其开发工具中支持面向对象最好的是( ) A.VB B.PB C.C++ Builder/Delphi D.JA V A

9.以下几种较有代表性的语言及其开发工具中结果代码执行效率最高的是( ) A.VB B.VC C.PB D.JA V A 10.2008年,美国电气与电子工程师协会的权威刊物《软件》的九月/十月号,以“软件开发工具”(Software Development Tools)为题的一期专刊中概括了40年来软件开发工具的发展轨迹,指出抽象程度最高的软件开发工具是( ) A .XMF Mosaic B.Eclipse C.Turbo Oascal D .Smalltalk 11.较早期的软件开发工具的特点是( ) A.代码版本管理的支持较好 B.对于软件开发过程中涉及的交互支持较好 C.文档管理支持较好 D.基于某一种计算机语言的 12.为创建一个C Project,在C Project窗口选择C语言相关属性后,单击的按钮是( ) A.Back B.Next C.Finish D.Cancel 13.Eclipse 提供了从变量的任意引用位置直接定位到变量定义行的多种方法。方法之一是将光标定位到编辑器中相应的变量位置,点击菜单栏上的浏览“Navigate”菜单,使用快捷键( ) A.F3 B.F4 C.F5 D.F6 14.在Eclipse中,从历史记录中恢复已删除文件的操作按钮是( ) A.Rename B .Replace(替换历史版本) C.Restore D.Reset 15.在安装CVS的页面中,继续安装应选择的按钮是( ) A .Install B.Open C.Modify D.Repair 16.在Eclipse插件清单编辑器中,从整体上显示当前插件可用扩展点的页面是( ) A.概述页面B.扩展点页面 C.扩展页面D.运行时页面

《软件工程》自考02333-重点难点汇集

《软件工程》串讲讲义应考指导 一、课程介绍 1、课程性质 《软件工程》是全国高等教育自学考试计算机及应用(独立本科段)的一门专业课。 软件工程是研究软件开发的一门课程,其主要容包括:软件开发所需要的过程、活动和任务,以及这些活动和任务的组织、实施和管理。 2、指定教材 本课程指定教材为《软件工程》,全国高等教育自学考试指导委员会组编,王立福主编,机械工业出版,2011年版。 新版教材与2000年版相比,无论是容还是容的组织,都有了很大的变化。整个知识体系、章节安排、容选取都不一样,这是考生一定要注意的。新版教材的容组织特点主要体现在:基于对软件开发本质的认识,讲解软件工程的两大技术问题:一是开发逻辑,二是开发途径。 开发逻辑涉及软件生存周期过程、软件生存周期模型(有关过程、活动和任务的组织框架)以及项目软件生存周期的规划与监控。 开发途径涉及结构化方法和面向对象方法,以及支持软件评估所需要的软件测试技术等。 3、章节体系 本课程共有8章: 第1章:回答什么是软件开发的本质 第2章:软件需求与软件需求规约 第3章:结构化方法 第4章:面向对象方法-UML 第5章:面向对象方法-RUP 第6章:软件测试。 第7章:软件生存周期过程及管理 第8章:集成化能力成熟度模型CMMI 二、考情分析 1.历年真题的分布情况

由于教材刚刚经过改版,新教材刚经过2011年10月、2012年01月、2012年10月三次考试。通过对2011年10月、2012年01月这两次真题的分析,各章所占分值的分布情况如下表所示: 25%左右。第1章和第8章的考核知识点相对较少。 2.题型分析 本课程的考试题型分为: (1)单项选择题,共15小题,每小题2分,共30分 (2)填空题,共20个空,每空1分,共20分 (3)简答题,共6小题,每小题5分,共30分 (4)综合应用题,共2题,每题10分,共20分 3.复习方法 (1)以教学大纲为准绳。自学考试的原则是:考试围既不超出大纲又不超出教材围。所以考生一定根据教学大纲规定的考试容和考核要求,认真学习教材,要全面、系统了解教材中的基本概念、基本知识。 (2)有的放矢。在学习的过程中,为了达到“事半功倍”,要学会“舍”。要用有限的时间去抓重点,对重点容要进行深入细致的学习。 (3)注意学习方法,理论联系实际,注重理解

软件工程自考复习资料.doc

软件工程自考复习资料 第1章 软件:计算机程序及说明程序的各种文档。 “程序〃是计算任务的处理対象和处理规则的描述; “文档〃是有关计算机程序功能、设计、编制、使川的文字或图形资料。 软件生产的发展:程序设计时代,程序系统时代,软件工程时代。 软件工程:用科学知识和技术原理來定义、开发、维护软件的一门学科。 软件工程性质:它涉及计算机科学、工程科学、管理科学、数学等领域,计算机科学着重于原理和理论,而软件工程着重于如何建造一个软件系统。软件工程要川工程科学中的观点來进行费川估算、制定进度、制定计划和方案。软件工程要用管理科学屮的方法和原理进行软件生产的管理。软件工程要用数学的方法建立软件开发中的各种模型和各种算法,如可靠性模型,说明用户需求的形式化模型等。软件工程研究的主要内容是软件开发技术和软件开发管理两个方血在软件开发技术屮,主要研究软件开发方法、软件开发过程、软件开发工具和环境。在软件开发管理中,主要是研究软件管理学、软件经济学、软件心理学等。 软件工程面临的问题:软件费用;软件可靠性;软件维护;软件生产率;软件重用。 软件工程过程:获取过程;供应过程;开发过程;操作过程;维护过程;管理过程;支持过程。 软件牛存周期:可行性分析和项目开发计划;需求分析;概要设计;详细设计;编码;测试; 维护。软件生存周期模型是描述软件开发过程屮各种活动如何执行的模型。 瀑布模型是将软件牛存周期各个活动规定为依线性顺序连接的若干阶段的模型。 增量模型是一种非整体开发的模型。瀑布模型是一种整体开发的模型 螺旋模型将瀑布模型与增量模型结合起來,加入了风险分析,用于复杂的大型软件开发;分为儿个螺旋周期:第一,制定计划;第二,风险分析;第三,开发实施;第四,用户评估。 喷泉模型是一种以用户需求为动力,以对象作为驱动的模型,适合于血向对象的开发方法。喷泉模型使开发过程具冇迭代性和无间隙性。 基本知识的模型又称智能模型,它把瀑布模型和专家系统结合在一起。 变换模型是一种适合于形式化开发方法的模型。从软件需求形式化说明开始,经过一系列变换,最终得到系统的目标程序。 软件开发方法: 结构化方法由结构化分析、结构化设计、结构化程序设计构成。它是一种面向数据流的开发方法。结构化方法总的指导思想是白顶向下、逐步求精。它的基木原则是功能的分解与抽象, 它是软件工程中最早出现的开发方法,特别适合于数据处理领域的问题。 Jackson方法是一种而向数据结构的开发方法。 维也纳开发方法(VDM)是一种形式化的开发方法,软件的需求用严格的形式语言描述。面向对象的开发方法包括面向对象分析、面向对象设计、面向对象实现。面向对象开发方法有Booch方法、Coad 方法 笫2章 软件可行性研究的冃的就是用最小的代价在尽町能短的时间內确定该软件项H是否能够开发,是否值得去开发。注意,可行性研究的目的不是去开发一个软件项目,而是研究这个软件项冃是否值得去开发,其中的问提能否解决。可行性研究实质上是要进行一次简化、压缩了的需求分析、设计过程,耍在较高层次上以较抽象的方式进行需求分析和设计过程。可行性研究的任务

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