计算机二级考试复习软件工程基础

合集下载

计算机二级软件工程

计算机二级软件工程

计算机二级软件工程我们生活在一个数字化时代,计算机技术已经深入到各个领域。

而软件工程则是实现和开发这些计算机软件的学科。

软件工程的目标是通过使用系统化、规范化的方法来开发和维护高质量的软件。

计算机二级软件工程是计算机软件工程领域的一级职称认证。

这一级别的软件工程师通常具备较高的计算机技术和软件开发经验,能够独立完成软件需求分析、系统设计、编码实现、测试和部署等工作。

以下将详细介绍计算机二级软件工程的相关内容。

首先,计算机二级软件工程的基本知识包括计算机科学与技术、离散数学、数据结构、操作系统、数据库原理、编程语言和软件工程原理等。

软件工程师需要掌握这些基础知识,才能够理解软件的工作原理,设计和实现高效可靠的软件系统。

其次,软件需求分析是软件工程开发过程的第一步。

软件需求分析的目标是详细了解用户的需求和期望,然后将其转化为可实现的软件功能。

在软件需求分析阶段,软件工程师需要与客户进行沟通,梳理和整理需求,然后编写需求规格说明书。

然后,系统设计是软件工程开发过程的第二步。

系统设计的目标是将需求规格转化为可执行的系统设计方案。

在系统设计阶段,软件工程师需要选择合适的架构和技术方案,并在设计文档中详细描述系统的结构和功能。

接下来,编码实现是软件工程开发过程的第三步。

编码实现的目标是根据系统设计方案,使用编程语言实现软件功能。

在编码实现阶段,软件工程师需要按照编码规范和设计文档进行编码,同时进行单元测试和调试。

然后,测试是软件工程开发过程的第四步。

测试的目标是验证软件是否符合设计和需求,并发现和修复软件中的问题。

在测试阶段,软件工程师需要进行不同层次的测试,包括单元测试、集成测试和系统测试等。

最后,部署是软件工程开发过程的最后一步。

部署的目标是将已经测试通过的软件交付到用户手中。

在部署阶段,软件工程师需要进行软件的安装、配置和培训等工作,确保用户能够顺利使用软件。

除了以上几个阶段,软件工程师还需要具备良好的团队合作能力和项目管理能力。

计算机二级考试软件工程题库及答案

计算机二级考试软件工程题库及答案

计算机二级考试软件工程题库及答案一、选择题1. 下列哪个不是软件工程的基本特征?A. 可靠性B. 可维护性C. 可重复性D. 可移植性答案:C2. 软件需求分析的目的是什么?A. 建立软件体系结构B. 确定软件需求C. 设计软件模块D. 编写软件代码答案:B3. 下列哪个不是软件开发生命周期的阶段?A. 需求分析B. 设计C. 测试D. 销售答案:D二、填空题1. 软件工程的目标是提高软件的_________。

答案:质量2. 软件需求分析阶段的主要任务是对用户的需求进行_________。

答案:分析3. 软件测试的目的是为了发现软件中的_________。

答案:缺陷三、简答题1. 什么是软件开发生命周期?请简要描述各个阶段的主要任务。

答案:软件开发生命周期指的是软件从开始开发到结束的整个过程。

主要阶段包括需求分析、设计、编码、测试和维护。

需求分析阶段的主要任务是确定用户的需求;设计阶段的主要任务是根据需求设计软件的结构和模块;编码阶段的主要任务是根据设计编写软件代码;测试阶段的主要任务是发现并修复软件中的缺陷;维护阶段的主要任务是对软件进行更新和修复。

2. 请简要说明软件工程的重要性。

答案:软件工程的重要性体现在以下几个方面。

首先,软件工程可以提高软件的质量,确保软件能够满足用户的需求。

其次,软件工程可以提高软件的可维护性,使得软件可以持续更新和修复。

最后,软件工程可以提高软件的开发效率,节省时间和资源。

以上是计算机二级考试软件工程题库及答案的内容。

希望对您有所帮助!。

计算机二级考试软件工程题库及答案

计算机二级考试软件工程题库及答案

计算机二级考试软件工程题库及答案为了帮助考生更好地备考计算机二级考试,我们精心整理了一份软件工程题库及答案,涵盖了大量实际问题与案例分析,旨在帮助考生深入理解软件工程的基本概念、原理和技术。

以下是题库的部分内容。

一、选择题1. 软件工程的主要目标是()A. 提高软件开发效率B. 确保软件质量C. 降低软件开发成本D. 提高软件的可维护性答案:B2. 下列关于软件需求分析的说法中,错误的是()A. 需求分析是软件开发过程中的重要环节B. 需求分析的主要任务是确定用户需求C. 需求分析的结果是软件需求规格说明书D. 需求分析应在软件设计之前完成答案:C3. 在软件开发过程中,项目管理的主要任务不包括()A. 人员组织与协调B. 进度控制C. 质量控制D. 软件测试答案:D4. 下列关于结构化分析方法的描述中,错误的是()A. 结构化分析方法是一种面向数据的分析方法B. 结构化分析方法主要包括数据流图、实体关系图等工具C. 结构化分析方法适用于大型复杂系统的分析D. 结构化分析方法不适用于小型系统的分析答案:D5. 在软件测试过程中,下列说法正确的是()A. 测试应贯穿整个软件开发过程B. 测试的目的是发现并修复软件缺陷C. 测试过程应遵循逐步细化、逐步展开的原则D. 测试用例的设计应考虑输入条件、操作步骤和预期结果答案:D二、填空题1. 软件工程的三级生命周期模型包括________、________和________。

答案:需求分析、设计、实现与维护2. 软件需求规格说明书是________阶段的成果,其主要作用是________。

答案:需求分析;描述软件的功能、性能和约束条件3. 结构化分析方法的核心思想是________,其基本工具包括________和________。

答案:模块化;数据流图、实体关系图4. 软件测试的过程分为________、________、________和________四个阶段。

计算机二级【公共基础知识】软件工程基础课件

计算机二级【公共基础知识】软件工程基础课件
结构化设计方法的步骤
包括自顶向下设计和逐步细化设计两 个步骤,通过逐步分解系统,将复杂 问题分解为简单问题,便于开发人员 理解和实现。
面向对象设计方法
面向对象设计方法的概念
面向对象设计方法是一种基于对象的设计技术,将数据和操 作封装在对象中,通过对象之间的交互实现系统的功能。
面向对象设计方法的步骤
需求分析
需求分类
对获取的需求进行分类,明确哪些是功能性需求,哪些是非功能性 需求。
需求优先级排序
根据项目目标和利益相关者的关注点,对需求进行优先级排序,确 定哪些需求是必须满足的,哪些是可协商的。
建立需求模型
通过建立数据流图、实体关系图等模型,对需求进行详细分析和描 述。
需求规格说明书
编写需求规格说明书
测试执行是按照测试计划和测试用例执行测试的过程,而测试报告是记录测试结果和提供决策依据的重要文档。
在测试执行过程中,应按照测试计划和测试用例的要求,对软件系统进行逐项测试,并记录测试结果和发现的问题。测试报 告应详细记录测试过程、方法、结果和结论,并提供决策依据和建议。同时,测试报告还应包括问题跟踪和管理,以确保所 有发现的问题得到及时解决和验证。
迭代模型
在开发过程中不断迭代,逐步完善软件功能,逐步进行测试 和维护。
螺旋模型
强调风险分析,将瀑布模型和迭代模型相结合,逐步完善软 件功能。
敏捷开发方法
概念
敏捷开发是一种以人为核心、迭代、循序渐进的软件开发方法,强调团队合作和灵活性。
常见方法
Scrum、极限编程等。
特点
快速响应变化,快速交付价值,持续改进和团队成员的高度协作。
软件工程的重要性
提高软件质量
通过采用工程化的方法和技术, 可以减少软件缺陷和漏洞,提高

计算机等级考试二级公共基础知识-3软件工程

计算机等级考试二级公共基础知识-3软件工程

3.1 基本概念
3.软件旳分类
根据应用目旳旳不同,软件可分应用软件、系统软 件和支撑软件(或工具软件)。
(1)应用软件。它是在特定领域内开发,为特定 目旳服务旳一类软件。
(2)系统软件。它能与计算机硬件紧密配合在 一起,使计算机系统各个部分、有关旳软件和数据 协调、高效旳工作旳软件。例如:操作系统、数据 库管理系统。
4) 局部化:确保模块间具有涣散旳耦合关系,模块内部有较强旳内聚性。 5) 拟定性:软件开发过程中全部概念旳体现应是拟定、无歧义且规范旳。 6) 一致性:程序内外部接口应保持一致,系统规格阐明与系统行为应保持一致。 7) 完备性:软件系统不丢失任何主要成份,完全实现系统所需旳功能。
6. 软件工程旳目旳
3.2 构造化分析措施
基本思想
将系统分析看成工程项目,有计划、有环节地进行工作。
开发策略
自顶向下,逐层分解
分析成果
一套分层旳数据流图(DFD):用来描述数据流从输入到输出旳 变换流程
一种数据字典(DD):用来描述DFD中旳每个数据流、文件以 及构成数据流或文件旳数据项
一组小阐明(加工逻辑阐明):用来描述每个基本加工旳加 工逻辑
在给定旳成本、进度旳前提下,开发出具有有效性、 可靠性、可了解性、可维护性、可适应性、可移植性、 可追踪性和可互操作性且满足顾客需求旳产品
软件工程鼓励研制和采用多种先进旳软件开发措施、 工具和环境
7. 软件工具和软件开发环境
软件工具(CASE):用来辅助软件开、运营、维护、管理、 支持等过程中旳活动旳软件
编码:编程。高级程序员和程序员产生源程序清单
测试:由另一部门旳高级程序员或系统分析员产生 软件测试计划和软件测试报告
运营维护

计算机二级【公共基础知识】软件工程基础

计算机二级【公共基础知识】软件工程基础
5)软件复杂性高,成本昂贵; 6)软件开发涉及诸多的社会因素。
3.软件的分类
根据应用目标的不同,软件可分应用软件、系 统软件和支撑软件(或工具软件)。
(1)应用软件。它是在特定领域内开发,为特定目 的服务的一类软件。
(2)系统软件。它能与计算机硬件紧密配合在一起, 使计算机系统各个部分、相关的软件和数据协调、 高效的工作的软件。例如:操作系统、数据库管理 系统。
3.4软件测试
软件测试的指用人工或自动手段来运行或测定
某个系统的过程,其目的在于检验它是否满足 规定的需求或是弄清预期结果与实际结果之间
的差别。简单地说,软件测试的目的是尽可能 多地发现程序中的错误。
考点2:软件测试方法
按是否要执行被测试软件的角度分为:静态测 试和动态测试。
静态测试包括代码检查、静态结构分析、代码 质量度量。不实际运行软件,主要通过人工进 行。
1. 详细设计为软件结构图中的每一个模块确定
实现算法和局部数据结构,用某种选定的表 达工具表示算法和数据结构的细节。
详细设计常用工具:
1. 图形工具(程序流程图、 PAD图 、N-S图、 HIPO图)
2. 表格工具(判定表)
3. 语言工具(PDL )
开始 输入R S=3.14 * R*R
输出S
结束
答案:D
例题:
软件工程的出现是由于 A)程序设计方法学的影响 B)软件产业化的需要 C)软件危机的出现 D)计算机的发展
答案:C
例题:
软件设计中,有利于提高模块独立性的一个准 则是
A)低内聚低耦合 B)低内聚高耦合 C)高内聚低耦合 D)高内聚高耦合
答案:C
例题:
下列不属于结构化分析的常用工具的是 A)数据流图 B)数据字典 C)判定树 D)PAD图

计算机二级软件工程

计算机二级软件工程
这些软件工具按照一定的方法或模式组合起来,支持软件生命周期 内的各个阶段和各项任务的完成。
计算机辅助软件工程(CASE Computer Aided Software Engineering)是当前软件开发环境中富有特 色的研究工作和发展方向。
2 结构化分析方法
需求分析与需求分析方法 结构化分析方法 软件需求规格说明书
效性、可靠性、可理解性、可维护性、可重用性、可适应性、可移 植性、可追踪性和可互操作性且满足用户需求的产品。
软件工程的原则:
抽象、信息隐蔽、模块化、局部化、确定性、一致性、完备性、可 验证性
软件开发工具与软件开发环境
软件开发工具:为软件工程方法提供了自动的或半自动的软件
支撑环境。
软件开发环境:是全面支持软件开发全过程的软件工具集合。
详细设计
PDL(Procedure Design Language) PDL是一种用于描述功能模块的算法设计和
加工细节的语言,称为过程设计语言。它是一 种混合语言,采用英语的词汇和结构化程序设 计语言的语法,类似编程语言。
4 软件测试
软件测试的目的 软件测试的准则 软件测试技术与方法 软件测试的实施
软件工程基础
1 软件工程的基本概念 2 结构化分析方法 3 结构化设计方法 4 软件测试 5 程序的调试
1 软件工程基本概念
软件定义与软件特点 软件危机与软件工程 软件工程过程与软件生命周期 软件工程的目标与原则 软件开发工具与开发环境
软件定义
软件定义:软件是计算机系统中与硬件相互依存的另一部分, 是包括程序、数据及其相关文档组成的完整集合。 软件=程序+数据+文档
白盒测试又称为结构测试或逻辑驱动测试。
白盒测试主要对程序模块进行如下的检查: 对程序模块的所有独立的执行路径至少测试一次; 对所有的逻辑判定,取“真”与取“假”的两种情况都至少测试一 次; 在循环的边界和运行界限内执行循环体; 测试内部数据结构的有效性等。

软件开发计算机二级

软件开发计算机二级

软件开发计算机二级在现今数字化时代,软件开发成为了一个热门且前景广阔的行业。

作为IT从业人员,掌握软件开发技能不仅能够提升个人竞争力,还能为企业创造更大的价值。

因此,参加软件开发计算机二级考试是成为一名合格软件开发人员的必经之路。

本文将探讨软件开发计算机二级考试的相关内容,包括考试大纲、考试形式以及备考策略等,以帮助考生更好地备考和顺利通过考试。

一、考试大纲软件开发计算机二级考试的考试大纲主要包括以下几个方面的内容:1. 软件工程基础知识:包括软件开发生命周期、软件需求分析、软件设计原则等。

2. 编程语言与开发:主要包括C语言、Java语言、面向对象编程等。

3. 数据库与SQL:包括数据库基本概念、SQL语句的编写、数据库设计等。

4. 网络与Web开发:包括计算机网络基础知识、HTTP协议、HTML/CSS基础等。

二、考试形式软件开发计算机二级考试采用计算机考试和机器评阅的形式,具体考试形式包括选择题和操作题。

1. 选择题:考生需要在规定时间内完成一系列选择题,选择题主要考查考生对软件开发基础知识的理解和掌握程度。

2. 操作题:考生需要在电脑上进行一系列软件开发相关的实际操作,操作题主要考察考生的编程能力和问题解决能力。

三、备考策略要顺利通过软件开发计算机二级考试,考生可以采取以下备考策略:1. 熟悉考试大纲:详细了解考试大纲中的各个知识点,对重点和难点进行重点复习。

2. 多做真题:通过做更多的软件开发计算机二级考试真题,熟悉考试题型和难度,掌握解题技巧。

3. 实践操作:通过实际操作、编程练习等方式提升自己的编程能力,熟悉各种开发工具和环境。

4. 合理规划复习时间:根据自己的时间安排,合理规划每天的复习时间,确保能够充分复习每个知识点。

5. 寻求帮助:如果在备考过程中遇到问题,可以向老师、同学或者相关论坛求助,寻求解答和指导。

四、总结软件开发计算机二级考试是考察考生软件开发能力的重要考试,通过此考试能够证明个人的专业水平和能力,在就业和职业发展中起到重要作用。

计算机二级(软件工程基础)

计算机二级(软件工程基础)

公共基础知识
历年真题 从工程管理角度,软件设计一般分为两步 完成,它们是()。(2006.09)
概要设计与详细设计 数据设计与接口设计 软件结构设计与数据设计 过程设计与数据设计
公共基础知识
历年真题 两个或两个以上模块之间关联的紧密程度 称为()。(2006.04)
耦合度 内聚度 复杂度 数据传输特性
集成测试
• 集成测试是测试和组装软件的过程
确认测试
• 任务是用户根据合同进行,确定系统功能和性能的可接受性
系统测试
• 将软件系统与硬件、外设或其他元素结合在一起,对整个软件 系统进行测试。
公共基础知识
历年真题 下列叙述中正确的是()。(2007.04)
软件测试的主要目的是发现程序中的错误 软件测试的主要目的是确认程序中错误的位置 为了提高软件测试的效率,最好由程序编制者 自己来完成软件测试的工作 软件测试是证明软件没有错误
公共基础知识
在两种基本测试方法中,( )测试的原则之一 是保证所测模块中每一个独立路径至少要执行一 次。(2007.09) 程序测试分为静态分析和动态测试。其中( ) 是指不执行程序,而只是对程序文本进行检查, 通过阅读和讨论,分析和发现程序中的错误。 (2006.04) 再进行模块测试是,要为每个被测试的模块另外 设计两类模块:驱动模块和承接模块(桩模块)。 其中( )的作用是将测试数据传送给被测试的 模块,并显示被测试模块所产生的结果。 (2005.09)
软件生命周期可分为多个阶段,一般分为 定义阶段、开发阶段和维护阶段。编码和 测试属于()阶段。(2007.04)
公共基础知识
考点2:结构化分析方法 需求分析和需求分析方法
需求分析

二级公共基础知识--软件基础

二级公共基础知识--软件基础

软件工程目标与原则


软件工程的目标是在给定成本、进度的前提下,开发 出具有有效性、可靠性、可理解性、可维护性、可重 用性、可适应性、可移植性、可追踪性和可互操作性 且满足用户需求的软件产品。 为达到上述目标,在软件开发的过程中,必须遵循软 件工程的基本原则:

抽象 信息隐蔽 模块化 局部化 确定性 一致性 完备性 可验证性

数据流图(DFD):描述数据在系统中如何被传送或变换以及 描述如何对数据流进行变换的功能,用于功能建模。 数据字典 判定树 判定表
数据流图


数据流图是描述数据处理过程的工具,它从数 据传递和加工的角度,来刻画数据流从输入系 统到从系统输入的移动变换过程。 数据流图的基本元素

测试技术与方法综述


按照功能划分,可将软件测试分为黑盒测试和白盒测 试。 黑盒测试将测试对象看作一个黑盒,不考虑程序内部 的逻辑结构和内部特性,只依据程序的需求规格说明, 检查程序的功能是否符合它的功能说明。这种测试又 称为功能测试或数据驱动测试。 白盒测试把测试对象看作一个透明的盒子,利用程序 内部的逻辑机构及有关信息,设计或选择测试用例, 对程序的所有逻辑路径进行测试。通过在不同点检查 程序的状态,确定实际的状态是否与预期的一致。这 种测试又称为结构测试或逻辑驱动测试。
程序设计风格

除了程序设计设计方法和技术之外,程 序风格也是非常重要的。良好的程序设 计风格概括起来包括以下及格方面:



源程序文档化 数据说明的方法 语句的结构 输入和输出
程序设计风格

源程序文档化

标识符的命名 程序的注释

计算机2级公共基础知识课件-软件工程

计算机2级公共基础知识课件-软件工程
程序调试的任务是诊断和改正程序中的错误, 主要在开发阶段进行。 软件调试 静态调试主要是指通过人的思维来分析源程 序代码和排错,是主要的设计手段。 动态调试是辅助静态调试。主要调试方法有: (1)强行排错法; (2)回溯法; (3)原因排除法。
第25页
软件工程方面的考题:
(1) 下面叙述中错误的是 A A)软件测试的目的是发现错误并改正错误 B)对被调试的程序进行“错误定位”是程序调试的必要步骤 C)程序调试通常也称为Debug D)软件测试应严格执行测试计划,排除测试的随意性 (2) 软件测试可分为白盒测试和黑盒测试。基本路径测试属于【白盒】 测试。 单元 测试之后进行。 (3) 按照软件测试的一般步骤,集成测试应在_____
确定开发目标和总的要求,给出功能、可靠性 等可能方案,制定实施计划. 对软件需求进行分析并给出详细定义,编写软件 规格说明书及初步的用户手册,提交评审。 给出软件的结构、模块和功能的划分等,确定算法。 编写概要设计、详细设计说明书和测试计划初稿。 源程序编码,把软件设计转换成计算机 可以接受的程序代码。编写用户手册、 操作手册和单元测试计划。 设计测试用例,检验软件各 个组成部分。编写测试分析 报告。 将已交付的软件投入运行, 并在运行使用中不断地维护, 根据新提出的需求进行必要 而且可能的扩充和删改。
第5页
软件危机 (Software
Crisis)
落后的软件生产方式无法满足迅速增长的计算机软件 需求,从而导致软件开发与维护过程中出现一系列严 重问题的现象。 软件危机主要表现在: 软件开发费用和进度失控。费用超支、进度拖延的 情况屡屡发生。有时为了赶进度或压成本不得不采 取一些权宜之计,这样又往往严重损害了软件产品 的质量。 软件的可靠性差。尽管耗费了大量的人力物力,而 系统的正确性却越来越难以保证,出错率大大增加 ,由于软件错误而造成的损失十分惊人。 第6页 ……

计算机等级考试--二级Java、C语言的知识点大全

计算机等级考试--二级Java、C语言的知识点大全

计算机等级考试--二级Java、C语言的知识点大全第一章数据结构与算法【考点1】算法的基本概念1、算法:是指一组有穷的指令集,是解题方案的准确而完整的描述。

算法不等于程序,也不等于计算方法。

2、算法的基本特征:1)确定性,算法中每一步骤都必须有明确定义,不允许有多义性;2)有穷性,算法必须能在有限的时间内做完,即能在执行有限个步骤后终止;3)可行性,算法原则上能够精确地执行;4)拥有足够的情报。

3、算法的组成要素:一个算法由数据对象的运算和操作以及其控制结构这两部分组成。

4、算法的基本运算和操作:算术运算,逻辑运算,关系运算,数据传输。

5、算法的基本控制结构:顺序,选择,循环。

6、算法基本设计方法:列举法、归纳法、递推、递归、减半递推技术。

【考点2】算法的复杂度1、算法效率的度量——算法的复杂度:时间复杂度和空间复杂度。

1)算法时间复杂度:指执行算法所需要的计算工作量。

通常,一个算法所用的时间包括编译时间和运行时间。

2)算法空间复杂度:指执行这个算法所需要的内存空间。

包括算法程序所占的空间,输入的初始数据所占的空间,算法执行过程中所需的额外空间。

空间复杂度和时间复杂度并不相关。

【考点3】数据结构的基本概念数据:数据是客观事物的符号表示,是能输入到计算机中并被计算程序识别和处理的符号的总称,如文档,声音,视频等。

数据元素:数据元素是数据的基本单位。

数据对象:数据对象是性质相同的数据元素的集合。

数据结构:是指由某一数据对象中所有数据成员之间的关系组成的集合。

【考点4】逻辑结构和存储结构1、数据结构可分为数据的逻辑结构和存储结构。

1)数据的逻辑结构是对数据元素之间的逻辑关系的描述,与数据的存储无关,是面向问题的,是独立于计算机的。

它包括数据对象和数据对象之间的关系。

2)数据的存储结构也称为数据的物理结构,是数据在计算机中的存放的方式,是面向计算机的,它包括数据元素的存储方式和关系的存储方式。

2、存储结构和逻辑结构的关系:一种数据的逻辑结构可以表示成多种存储结构即数据的逻辑结构和存储结构不一定一一对应。

计算机二级(JAVA)软件工程基础章节练习试卷2(题后含答案及解析)

计算机二级(JAVA)软件工程基础章节练习试卷2(题后含答案及解析)

计算机二级(JA V A)软件工程基础章节练习试卷2(题后含答案及解
析)
全部题型 2. 填空题
填空题(每空2分,共30分)请将每一个空的正确答案写在答题卡上。

注意:以命令关键字填空的必须拼写完整。

1.若按功能划分,软件测试的方法通常分为白盒测试方法和______测试方法。

正确答案:黑盒涉及知识点:软件工程基础
2.软件的调试方法主要有:强行排错法、______和原因排除法。

正确答案:回溯法涉及知识点:软件工程基础
3.软件需求分析阶段的工作可以概括为4个方面:______、需求分析、编写需求规格说明书和需求评审。

正确答案:需求获取涉及知识点:软件工程基础
4.软件工程研究的内容主要包括:______技术和软件工程管理。

正确答案:软件开发涉及知识点:软件工程基础
5.在面向对象方法中,信息隐蔽是通过对象的______性来实现的。

正确答案:封装涉及知识点:软件工程基础
6.一个类可以直接或间接地从祖先中继承所有属性和方法。

采用这个方法提高了软件的______。

正确答案:可重用性涉及知识点:软件工程基础
7.软件维护活动包括以下几类:改正性维护、适应性维护、______维护和预防性维护。

正确答案:完善性涉及知识点:软件工程基础
8.测试的目的是暴露错误,评价程序的可靠性;而______的目的是发现错误的位置并改正错误。

正确答案:调试涉及知识点:软件工程基础
9.耦合和内聚是评价模块独立性的两个主要标准,其中______反映了模块内各成分之间的联系。

正确答案:内聚涉及知识点:软件工程基础。

计算机二级考试msoffice知识积累:软件工程基础优选份

计算机二级考试msoffice知识积累:软件工程基础优选份

计算机二级考试msoffice知识积累:软件工程基础优选份计算机二级考试msoffice知识积累:软件工程基础 11.软件的定义与特点(1)定义:软件是指与计算机系统的操作有关的计算机程序、规程、规则,以及可能有的文件、文档和数据。

(2)特点。

-是逻辑实体,有抽象性。

-生产没有明显的制作过程。

-运行使用期间不存在磨损、老化问题。

-开发、运行对计算机系统有依赖性,受计算机系统的限制,导致了软件移植问题。

-复杂性较高,成本昂贵。

-开发涉及诸多社会因素。

2.软件的分类软件可分应用软件、系统软件和支撑软件3类。

(1)应用软件是特定应用领域内专用的软件。

(2)系统软件居于计算机系统中最靠近硬件的一层,是计算机管理自身资源,提高计算机使用效率并为计算机用户提供各种服务的软件。

(3)支撑软件介于系统软件和应用软件之间,是支援其它软件的开发与维护的软件。

3.软件危机与软件工程软件危机指在计算机软件的开发和维护中遇到的一系列严重问题。

软件工程是应用于计算机软件的定义、开发和维护的一整套方法、工具、文档、实践标准和工序,包括软件开发技术和软件工程管理。

4.软件生命周期软件产品从提出、实现、使用维护到停止使用的过程称为软件生命周期。

在国家标准中,软件生命周期划分为8个阶段①软件定义期:包括问题定义、可行性研究和需求分析3个阶段。

②软件开发期:包括概要设计、详细设计、实现和测试4个阶段。

③运行维护期:即运行维护阶段。

5.软件工程的原则软件工程的原则包括:抽象、信息隐蔽、模块化、局部化、确定性、一致性、完备性和可验证性。

3.2结构化分析方法需求分析的任务是发现需求、求精、建模和定义需求的过程,可概括为:需求获取、需求分析、编写需求规格说明书和需求评审。

1.常用的分析方法-结构化分析方法:其实质着眼于数据流,自顶向下,逐层分解,建立系统的处理流程。

-面向对象分析方法。

2.结构化分析常用工具结构化分析常用工具包括数据流图、数字字典(核心方法)、判断树和判断表。

国家计算机二级-软件设计基础

国家计算机二级-软件设计基础

软件设计基础第一节软件工程基础一.1.软件是指在计算机上运行的程序,数据,相关文档的集合2.软件经历三个阶段程序设计阶段,软件设计阶段,软件工程阶段3.软件危机:落后的软件生产方式和迅速增长的计算机软件需求之间的矛盾4.软件工程三要素;方法,工具,过程5.软件工程目标;在给定成本,进度的前提下,开发出具有有效性,可靠性,可理解性,可维护性,可重用性,可适应性,可移植性,可追踪性和可互操作性且满足用户需求的产品6.软件工程研究的内容:软件开发技术和软件工程管理7.软件开发技术遵循原则:抽象,信息隐蔽,模块化,局部化,确定性,一致性,完备性和可验证性8.软件生命周期:3个时期:软件计划时期,软件开发时期,软件维护时期时期阶段任务文档软件计划问题定义理解用户需求,进行项目定义计划任务书可行性分析可行性方案及代价需求分析确定新系统的功能及目标需求规格说明书概要设计划分仔细统计功能模块概要设计说明书详细设计模块设计详细设计说明书软件开发软件编码编写程序代码程序设计相关资料系统测试完成各种测试测试方案及结果软件维护系统维护运行与维护运行及维护记录模型:瀑布模型,增量模型,快速原型模型,螺旋模型,喷泉模型,交换模型,面向对象生存期模型9.软件开发工具是为支持软件人员开发和维护活动而使用的软件软件开发(工程)环境是为全面支持软件开发全过程的软件工程集合二结构化方法(软件生命周期法)1.开发三阶段:软件计划,软件开发,软件运行和维护2.结构化分析法是一种面向数据流,自顶向下,逐步求精进行需求分析的方法结构化分析法常用工具:数据流图(DFD),数据字典(DD),判定树和判定表符号表达含义○加工(转换)→数据流= 存储文件(数据源)源,潭是系统和环境的接口,属系统之外的实体□3.模块独立性耦合性:是模块间互相连接的紧密程度的度量(低耦合)好内聚性;是一个模块内部各元素间彼此结合的紧密程度的度量(高内聚)4.软件结构两种方法:以变换为中心——变换型软件结构以事物为中心——事务性软件结构5.软件详细设计的常用工具:程序流程图(→控制流),N-S图,PAD 图,过程设计语言(PDL)6.软件测试:尽可能的发现软件中存在的错误软件测试方法:静态测试和动态测试(1)静态测试包括代码检查,静态结构分析,代码质量度量(2)静态测试不实际运行软件,主要通过人工进行(3)动态测试是为了发现错误而执行程序的过程白盒测试:跟综测试。

计算机二级考试复习----软件工程基础

计算机二级考试复习----软件工程基础

计算机二级考试复习—-软件工程基础随着时代的不断发展,计算机已经成为现代社会的重要工具。

在这个过程中,软件工程已经成为一个非常重要的领域。

软件工程基础是计算机专业学习的一项必修课程,涵盖了软件工程的基本概念、模型和基本工程方法等知识点。

计算机二级考试中也常常会有软件工程基础相关的考题。

本文将会详细讲解软件工程基础这一重要课程,以及备考计算机二级考试中有关软件工程基础考题的注意事项和学习方法。

软件工程基础软件工程概述软件工程是将工程的原则和方法应用于软件开发的过程。

它包括软件开发的管理、过程、工具、方法和质量控制,目的是以更加系统化和效率化的方式进行软件开发,并最终产出高质量、可靠、易维护、易扩展的软件系统。

软件开发生命周期软件开发生命周期指的是软件产品从开始开发到交付、运行和维护的全部过程。

常见的软件开发生命周期有“瀑布模型”、“原型模型”、“螺旋模型”、“敏捷开发模型”等。

其中,“瀑布模型”是最常见的软件开发模型,它将软件开发过程分成需求分析、设计、编程、测试和维护等阶段。

在软件开发生命周期中,测试是非常重要的一个环节。

软件质量与测试软件质量是衡量软件是否为用户提供满意服务的标准。

对于软件工程师来说,要想开发出高质量的软件,就需要关注软件的可靠性、可维护性、可扩展性、可重用性和易用性等方面。

其中,软件测试是保证软件质量的最有效手段。

测试的目的是为了发现软件中存在的问题,并且帮助解决问题。

软件工程项目管理软件工程项目管理是软件工程师在软件开发过程中非常重要的一项工作。

它主要包括项目计划、风险管理、进度控制、资源分配、成本管理和质量管理等方面。

通过合理的项目管理,可以提高软件开发的效率和质量。

计算机二级考试备考指南针对软件工程基础考点的复习建议软件工程基础作为计算机二级考试的一部分,其考点较为明确。

在备考时,需要着重掌握软件开发生命周期、软件质量与测试、软件工程项目管理等基本原理以及实际操作技能。

计算机等级考试二级公共基础知识第三章

计算机等级考试二级公共基础知识第三章

第三章软件工程基础一、教学目标1、了解软件工程的基本概念。

2、理解结构化分析方法。

3、理解结构化设计方法。

4、了解软件测设的目的准则方法等基础知识。

5、了解程序调试的基本概念与方法。

二、教学方法1、重点内容与常考内容重点讲解。

2、以实例如真题来讲解程序设计中的重点与难点。

三、重点内容1、软件定义与特点。

2、软件工程与软件生命周期。

3、软件的需求分析与需求分析方法。

4、结构化分析方法及其常用的工具。

5、软件设计的基本原理。

6、概要设计与详细设计。

7、软件测试目的、原则、方法与实施。

8、程序调试的目的。

四、教学内容3.1 软件工程基本概念3.1.1 软件定义与软件特点1、软件的定义计算机软件是计算机系统中与硬件相互依存的另一部分,是包括程序、数据及相关文档的完整集合。

2、软件的特点【了解】(1)抽象性;(2)没有明显的制作过程;(3)软件在运行、使用期间不存在磨损、老化问题;(4)软件的开发、运行对计算机系统具有依赖性;(5)软件复杂性高,成本昂贵;(6)软件开发涉及诸多的社会因素。

3.1.2 软件危机与软件工程1、软件危机的主要表现:(了解)(1)软件需求的增长得不到满足;(2)软件开发成本和进度无法控制;(3)软件质量难以保证;(4)软件不可维护或维护程度非常低;(5)软件的成本不断提高;(6)软件开发生产率的提高赶不上硬件的发展和应用需求的增长。

总之,可以将软件危机归结为成本、质量、生产率等问题。

2、软件工程软件工程是应用于计算机软件的定义、开发和维护的一整套方法、工具、文档、实践标准和工序。

的各个环节的控制、管理。

软件工程的核心思想是把软件产品看做是一个工程产品来处理。

这些思想都是强调在软件开发过程中需要应用工程化原则。

3.1.3 软件工程过程与软件生命周期1、软件工程过程ISO 9000定义:软件工程过程是把输入转化为输出的一组彼此相关的资源和活动。

及时地进行计算机软件开发的目的。

2、软件生命周期通常,将软件产品从提出、实现、使用维护到停止使用退役的过程称为软件生命周期。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第3章软件工程基础经过对部分考生的调查以及对近年真题的总结分析,笔试部分经常考查的是软件生命周期、软件设计的基本原理,软件测试的目的、软件调试的基本概念,读者应对此部分进行重点学习。

详细重点学习知识点:1.软件的概念、软件生命周期的概念及各阶段所包含的活动2.概要设计与详细设计的概念、模块独立性及其度量的标准、详细设计常用的工具3.软件测试的目的、软件测试的4个步骤、4.软件调试的任务3.1软件工程基本概念考点1 软件定义与软件特点考试链接:考点1在笔试考试中,是一个经常考查的内容,考核的几率为70%,主要是以选择题的形式出现,分值为2分,此考点为识记内容,读者应该识记软件的定义,特点及其分类。

软件指的是计算机系统中与硬件相互依存的另一部分,包括程序、数据和相关文档的完整集合。

程序是软件开发人员根据用户需求开发的、用程序设计语言描述的、适合计算机执行的指令序列。

数据是使程序能正常操纵信息的数据结构。

文档是与程序的开发、维护和使用有关的图文资料。

可见,软件由两部分组成:(1)机器可执行的程序和数据;(2)机器不可执行的,与软件开发、运行、维护、使用等有关的文档。

软件的特点:(1)软件是逻辑实体,而不是物理实体,具有抽象性;(2)没有明显的制作过程,可进行大量的复制;(3)使用期间不存在磨损、老化问题;(4)软件的开发、运行对计算机系统具有依赖性;(5)软件复杂性高,成本昂贵;(6)软件开发涉及诸多社会因素。

根据应用目标的不同,软件可分应用软件、系统软件和支撑软件(或工具软件)。

小提示:应用软件是为解决特定领域的应用而开发的软件;系统软件是计算机管理自身资源,提高计算机使用效率并为计算机用户提供各种服务的软件;支撑软件是介于两者之间,协助用户开发软件的工具性软件。

考点2 软件工程过程与软件生命周期考试链接:考点2在笔试考试中,在笔试考试中出现的几率为30%,主要是以选择题的形式出现,分值为2分,此考点为识记内容,读者应该识记软件生命周期的定义,主要活动阶段及其任务。

软件产品从提出、实现、使用维护到停止使用退役的过程称为软件生命周期。

一般包括可行性分析研究与需求分析、设计、实现、测试、交付使用以及维护等活动,如图3-1所示。

图3-1软件生命周期还可以将软件生命周期分为如上图所示的软件定义、软件开发和软件运行维护3个阶段。

生命周期的主要活动阶段是:可行性研究与计划制定、需求分析、软件设计、软件实施、软件测试及运行与维护。

3.2结构化设计方法考点3 软件设计的基本概念考试链接:考点3在笔试考试中,是一个经常考查的内容,考核中几率为70%,主要是以选择题的形式出现,分值为2分,此考点为重点掌握内容,读者应该识记模块独立性中的耦合性和内聚性。

误区警示:在程序结构中,各模块的内聚性越强,则耦合性越弱。

软件设计应尽量做到高内聚,低耦合,即减弱模块之间的耦合性和提高模块内的内聚性,有利于提高模块的独立性。

1.软件设计的基础从技术观点上看,软件设计包括软件结构设计、数据设计、接口设计、过程设计。

(1)结构设计定义软件系统各主要部件之间的关系;(2)数据设计将分析时创建的模型转化为数据结构的定义;(3)接口设计是描述软件内部、软件和协作系统之间以及软件与人之间如何通信;(4)过程设计则是把系统结构部件转换为软件的过程性描述。

从工程管理角度来看,软件设计分两步完成:概要设计和详细设计。

(1)概要设计将软件需求转化为软件体系结构、确定系统级接口、全局数据结构或数据库模式;(2)详细设计确立每个模块的实现算法和局部数据结构,用适当方法表示算法和数据结构的细节。

2.软件设计的基本原理(1)抽象:软件设计中考虑模块化解决方案时,可以定出多个抽象级别。

抽象的层次从概要设计到详细设计逐步降低。

(2)模块化:模块是指把一个待开发的软件分解成若干小的简单的部分。

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

(3)信息隐蔽:信息隐蔽是指在一个模块内包含的信息(过程或数据),对于不需要这些信息的其他模块来说是不能访问的。

(4)模块独立性:模块独立性是指每个模块只完成系统要求的独立的子功能,并且与其他模块的联系最少且接口简单。

模块的独立程度是评价设计好坏的重要度量标准。

衡量软件的模块独立性使用耦合性和内聚性两个定性的度量标准。

内聚性是信息隐蔽和局部化概念的自然扩展。

一个模块的内聚性越强则该模块的模块独立性越强。

一个模块与其他模块的耦合性越强则该模块的模块独立性越弱。

内聚性是度量一个模块功能强度的一个相对指标。

内聚是从功能角度来衡量模块的联系,它描述的是模块内的功能联系。

内聚有如下种类,它们之间的内聚度由弱到强排列:偶然内聚、逻辑内聚、时间内聚、过程内聚、通信内聚、顺序内聚、功能内聚。

耦合性是模块之间互相连接的紧密程度的度量。

耦合性取决于各个模块之间接口的复杂度、调用方式以及哪些信息通过接口。

耦合可以分为下列几种,它们之间的耦合度由高到低排列:内容耦合、公共耦合、外部耦合、控制耦合、标记耦合、数据耦合、非直接耦合。

在程序结构中,各模块的内聚性越强,则耦合性越弱。

一般较优秀的软件设计,应尽量做到高内聚,低耦合,即减弱模块之间的耦合性和提高模块内的内聚性,有利于提高模块的独立性。

小提示:上面仅是对耦合机制进行的一个分类。

可见一个模块与其他模块的耦合性越强则该模块独立性越弱。

原则上讲,模块化设计总是希望模块之间的耦合表现为非直接耦合方式。

但是,由于问题所固有的复杂性和结构化设计的原则,非直接耦合是不存在的。

考点4 详细设计考试链接:考点4在笔试考试中,在笔试考试中出现的几率为30%,主要是以选择题的形式出现,分值为2分,此考点为识记内容,读者应该识记过程设计包括哪些常用工具。

详细设计的任务是为软件结构图中的每个模块确定实现算法和局部数据结构,用某种选定的表达表示工具算法和数据结构的细节。

详细过程设计的常用工具有:(1)图形工具:程序流程图,N-S,PAD,HIPO。

(2)表格工具:判定表。

(3)语言工具:PDL(伪码)。

程序流程图的5种控制结构:顺序型、选择型、先判断重复型、后判断重复型和多分支选择型。

方框图中仅含5种基本的控制结构,即顺序型、选择型、多分支选择型、WHILE重复型和UNTIL重复型。

PAD图表示5种基本控制结构,即顺序型、选择型、多分支选择型、WHILE重复型和UNTIL重复型。

过程设计语言(PDL)也称为结构化的语言和伪码,它是一种混合语言,采用英语的词汇和结构化程序设计语言,类似编程语言。

PDL可以由编程语言转换得到,也可以是专门为过程描述而设计的。

疑难解答:程序流程图,N-S图,PAD图的控制结构的异同相同点是三种图都有顺序结构,选择结构和多分支选择,并且N-S图和PAD图还有相同的WHILE重复型、UNTIL重复型;不同点是程序流程图没有WHILE重复型、UNTIL重复型而有后判断重复型和先判断重复型。

3.3软件测试考点5 软件测试的目的考试链接:考点5在笔试考试中,是一个经常考查的内容,在笔试考试中出现的几率为70%,主要是以选择题的形式出现,分值为2分,此考点为理解内容,读者应该理解测试是为了发现错误。

软件测试是在软件投入运行前对软件需求、设计、编码的最后审核。

其工作量、成本占总工作量、总成本的40%以上,而且具有较高的组织管理和技术难度。

(1)软件测试是为了发现错误而执行程序的过程;(2)一个好的测试用例是能够发现至今尚未发现的错误的用例;(3)一个成功的测试是发现了至今尚未发现的错误的测试。

考点6 软件测试的实施考试链接:考点6在笔试考试中出现的几率为30%,主要是以选择题的形式出现,分值为2分,此考点为识记内容,读者应该识记软件测试过程的4个步骤,单元测试的两种测试方式。

软件测试过程分4个步骤,即单元测试、集成测试、验收测试和系统测试。

单元测试是对软件设计的最小单位--模块(程序单元)进行正确性检验测试。

单元测试的技术可以采用静态分析和动态测试。

集成测试是测试和组装软件的过程,主要目的是发现与接口有关的错误,主要依据是概要设计说明书。

集成测试所设计的内容包括:软件单元的接口测试、全局数据结构测试、边界条件和非法输入的测试等。

集成测试时将模块组装成程序,通常采用两种方式:非增量方式组装和增量方式组装。

确认测试的任务是验证软件的功能和性能,以及其他特性是否满足了需求规格说明中确定的各种需求,包括软件配置是否完全、正确。

确认测试的实施首先运用黑盒测试方法,对软件进行有效性测试,即验证被测软件是否满足需求规格说明确认的标准。

系统测试是通过测试确认软件,作为整个基于计算机系统的一个元素,与计算机硬件、外设、支撑软件、数据和人员等其他系统元素组合在一起,在实际运行(使用)环境下对计算机系统进行一系列的集成测试和确认测试。

系统测试的具体实施一般包括:功能测试、性能测试、操作测试、配置测试、外部接口测试、安全性测试等。

3.4软件的调试考点7 软件调试的基本概念考试链接:考点7在笔试考试中,是一个经常考查的内容,在笔试考试中出现的几率为70%,主要是以选择题的形式出现,分值为2分,此考点为重点识记内容,读者应该识记软件调试的概念。

误区警示:程序经调试改错后还应进行再测试,因为经调试后有可能产生新的错误,而且测试是贯穿生命周期的整个过程。

在对程序进行了成功的测试之后将进入程序调试(通常称Debug,即排错)。

程序的调试任务是诊断和改正程序中的错误。

调试主要在开发阶段进行。

程序调试活动由两部分组成,一是根据错误的迹象确定程序中错误的确切性质、原因和位置;二是对程序进行修改,排除这个错误。

程序调试的基本步骤:(1)错误定位。

从错误的外部表现形式入手,研究有关部分的程序,确定程序中出错位置,找出错误的内在原因;(2)修改设计和代码,以排除错误;(3)进行回归测试,防止引进新的错误。

调试原则可以从以下两个方面考虑:(1)确定错误的性质和位置时的注意事项分析思考与错误征兆有关的信息;避开死胡同;只把调试工具当作辅助手段来使用;避免用试探法,最多只能把它当作最后手段。

(2)修改错误原则在出现错误的地方,很可能有别的错误;修改错误的一个常见失误是只修改了这个错误的征兆或这个错误的表现,而没有修改错误本身;注意修正一个错误的同时有可能会引入新的错误;修改错误的过程将迫使人们暂时回到程序设计阶段;修改源代码程序,不要改变目标代码。

疑难解答:软件测试与软件调试有何不同?3.5 例题详解一、选择题【例1】对软件的特点,下面描述正确的是_______。

(考点1)A)软件是一种物理实体B)软件在运行使用期间不存在老化问题C)软件开发、运行对计算机没有依赖性,不受计算机系统的限制D)软件的生产有一个明显的制作过程解析:软件在运行期间不会因为介质的磨损而老化,只可能因为适应硬件环境以及需求变化进行修改而引入错误,导致失效率升高从而软件退化,所以本题正确答案为B)。

相关文档
最新文档