2016年全国计算机二级考试——第三章 软件工程基础
计算机二级【公共基础知识】软件工程基础课件
需求优先级排序
根据项目目标和资源情况,对需 求进行优先级排序,确定哪些需 求是关键的、紧急的。
建立需求模型
使用合适的工具和技术,如原型 、流程图等,建立需求模型,帮 助团队更好地理解和管理需求。
需求规格说明
编写需求规格说明书
根据需求分析结果,编写详细的需求规格说明书,明 确各项需求的详细描述、功能要求和验收标准。
评审与确认
组织相关人员对需求规格说明书进行评审和确认,确 保其准确性和完整性。
发布与更新
将需求规格说明书发布给相关人员,并建立更新和维 护机制,确保其始终与项目实际情况保持一致。
需求验证与管理
验证需求
通过原型、测试用例等方式验证需求的正确 性和可行性,确保开发出来的软件能够满足 用户需求。
变更控制
02
需求获取
01
确定需求来源
识别并确定需求来源,包括用户、利益相关者和其他关 键干系人。
02
制定需求获取计划
制定详细的需求获取计划,包括时间、地点、人员和资 源等。
03
采集需求信息
通过访谈、问卷调查、原型演示等方式采集需求信息, 确保信息的准确性和完整性。
需求分析
需求分类
对获取的需求进行分类,明确哪 些是功能性需求,哪些是非功能 性需求。
需求分析
对软件需求进行重新审查和确认,确 保软件需求满足新的要求或变化。
设计修改
根据需求分析的结果,对软件的体系 结构、数据结构、接口等进行修改和 优化。
编码和测试
根据修改后的设计,进行代码编写和 测试,确保软件功能和性能的正确性 和稳定性。
软件可维护性
01
02
03
04
05
软件可维护性包 括四个方面
全国计算机二级公共基础第三章 软件工程基础
第三章软件工程基础一、选择题(1) 下列叙述中正确的是( )A)软件测试的主要目的是发现程序中的错误B)软件测试的主要目的是确定程序中错误的位置C)为了提高软件测试的效率,最好由程序编制者自己来完成软件测试的工作D)软件测试是证明软件没有错误【答案】A【解析】本题考查软件工程中测试的目的和方法。
仅就软件测试而言,,它的目的是发现软件中的错误,但是,发现错误并不是最终目的,最终目的是通过测试发现错误之后还必须诊断并改正错误,这就是调试的目的。
由于测试的目标是暴露程序中的错误.从心理学角度看,由程序的编写者自己进行测试是不恰当的。
因此,在软件测试阶段通常由其他人员组成测试小组来完成测试工作。
因此,经过上述分析可知选项A的说法是正确的,而选项B、c、D的说法是错误的。
(2)下列描述中正确的是A)软件工程只是解决软件项目的管理问题B)软件工程主要解决软件产品的生产率问题C)软件工程的主要思想是强调在软件开发过程中需要应用工程化原则D)软件工程只是解决软件开发中的技术问题【答案】C【解析】软件工程学是研究软件开发和维护的普遍原理与技术的一门工程学科。
所谓软件工程是指,采用工程的概念、原理、技术和方法指导软件的开发与维护。
软件工程学的主要研究对象包括软件开发与维护的技术、方法、工具和管理等方面。
由此可见,选项A、B和D的说法均不正确.选项C正确。
(3)在软件设计中,不属于过程设计工具的是A)PDL(过程设计语言) B)PAD图 C)N-S图 D)DFD图【答案】D【解析】数据流图DFD,是结构化分析方法最主要的一种图形工具,不属于过程设计具。
(5)用黑盒技术测试用例的方法之一为A)因果图B)逻辑覆盖C)循环覆盖D)基本路径测试【答案】A【解析】黑盒测试主要方法有等价值划分法、边界值分析法、错误推测法、因果图法等。
白盒测试的主要方法有逻辑覆盖、基本路径测试循环覆盖等。
只有A 属于黑盒测试。
(6)软件需求分析阶段的工作可以分为4个方面:需求获取、需求分析、编写需求分析说明书和A)阶段性报告B)需求评审C)总结D)都不正确【答案】B【解析】需求分析的四个方面是:需求获取、需求分析、编写需求分析说明书和需求评审。
2016年9月计算机二级公共基础知识资料
2016年9月二级公共基础知识总结——计算机二级新大纲第一章数据结构与算法1.1 算法算法:是指解题方案的准确而完整的描述。
算法不等于程序,也不等计算机方法,程序的编制不可能优于算法的设计。
算法的基本特征:是一组严谨地定义运算顺序的规则,每一个规则都是有效的,是明确的,此顺序将在有限的次数下终止。
特征包括:(1)可行性;(2)确定性,算法中每一步骤都必须有明确定义,不充许有模棱两可的解释,不允许有多义性;(3)有穷性,算法必须能在有限的时间内做完,即能在执行有限个步骤后终止,包括合理的执行时间的含义;(4)拥有足够的情报。
算法的基本要素:一是对数据对象的运算和操作;二是算法的控制结构。
指令系统:一个计算机系统能执行的所有指令的集合。
基本运算包括:算术运算、逻辑运算、关系运算、数据传输。
算法的控制结构:顺序结构、选择结构、循环结构。
算法基本设计方法:列举法、归纳法、递推、递归、减斗递推技术、回溯法。
算法复杂度:算法时间复杂度和算法空间复杂度。
算法时间复杂度是指执行算法所需要的计算工作量。
算法空间复杂度是指执行这个算法所需要的内存空间。
1.2 数据结构的基本基本概念数据结构研究的三个方面:(1)数据集合中各数据元素之间所固有的逻辑关系,即数据的逻辑结构;(2)在对数据进行处理时,各数据元素在计算机中的存储关系,即数据的存储结构;(3)对各种数据结构进行的运算。
数据结构是指相互有关联的数据元素的集合。
数据的逻辑结构包含:(1)表示数据元素的信息;(2)表示各数据元素之间的前后件关系。
数据的存储结构有顺序、链接、索引等。
线性结构条件:(1)有且只有一个根结点;(2)每一个结点最多有一个前件,也最多有一个后件。
非线性结构:不满足线性结构条件的数据结构。
1.3 线性表及其顺序存储结构线性表是由一组数据元素构成,数据元素的位置只取决于自己的序号,元素之间的相对位置是线性的。
在复杂线性表中,由若干项数据元素组成的数据元素称为记录,而由多个记录构成的线性表又称为文件。
计算机二级【公共基础知识】软件工程基础课件
包括自顶向下设计和逐步细化设计两 个步骤,通过逐步分解系统,将复杂 问题分解为简单问题,便于开发人员 理解和实现。
面向对象设计方法
面向对象设计方法的概念
面向对象设计方法是一种基于对象的设计技术,将数据和操 作封装在对象中,通过对象之间的交互实现系统的功能。
面向对象设计方法的步骤
需求分析
需求分类
对获取的需求进行分类,明确哪些是功能性需求,哪些是非功能性 需求。
需求优先级排序
根据项目目标和利益相关者的关注点,对需求进行优先级排序,确 定哪些需求是必须满足的,哪些是可协商的。
建立需求模型
通过建立数据流图、实体关系图等模型,对需求进行详细分析和描 述。
需求规格说明书
编写需求规格说明书
测试执行是按照测试计划和测试用例执行测试的过程,而测试报告是记录测试结果和提供决策依据的重要文档。
在测试执行过程中,应按照测试计划和测试用例的要求,对软件系统进行逐项测试,并记录测试结果和发现的问题。测试报 告应详细记录测试过程、方法、结果和结论,并提供决策依据和建议。同时,测试报告还应包括问题跟踪和管理,以确保所 有发现的问题得到及时解决和验证。
迭代模型
在开发过程中不断迭代,逐步完善软件功能,逐步进行测试 和维护。
螺旋模型
强调风险分析,将瀑布模型和迭代模型相结合,逐步完善软 件功能。
敏捷开发方法
概念
敏捷开发是一种以人为核心、迭代、循序渐进的软件开发方法,强调团队合作和灵活性。
常见方法
Scrum、极限编程等。
特点
快速响应变化,快速交付价值,持续改进和团队成员的高度协作。
软件工程的重要性
提高软件质量
通过采用工程化的方法和技术, 可以减少软件缺陷和漏洞,提高
计算机等级考试二级公共基础知识-3软件工程
3.1 基本概念
3.软件旳分类
根据应用目旳旳不同,软件可分应用软件、系统软 件和支撑软件(或工具软件)。
(1)应用软件。它是在特定领域内开发,为特定 目旳服务旳一类软件。
(2)系统软件。它能与计算机硬件紧密配合在 一起,使计算机系统各个部分、有关旳软件和数据 协调、高效旳工作旳软件。例如:操作系统、数据 库管理系统。
4) 局部化:确保模块间具有涣散旳耦合关系,模块内部有较强旳内聚性。 5) 拟定性:软件开发过程中全部概念旳体现应是拟定、无歧义且规范旳。 6) 一致性:程序内外部接口应保持一致,系统规格阐明与系统行为应保持一致。 7) 完备性:软件系统不丢失任何主要成份,完全实现系统所需旳功能。
6. 软件工程旳目旳
3.2 构造化分析措施
基本思想
将系统分析看成工程项目,有计划、有环节地进行工作。
开发策略
自顶向下,逐层分解
分析成果
一套分层旳数据流图(DFD):用来描述数据流从输入到输出旳 变换流程
一种数据字典(DD):用来描述DFD中旳每个数据流、文件以 及构成数据流或文件旳数据项
一组小阐明(加工逻辑阐明):用来描述每个基本加工旳加 工逻辑
在给定旳成本、进度旳前提下,开发出具有有效性、 可靠性、可了解性、可维护性、可适应性、可移植性、 可追踪性和可互操作性且满足顾客需求旳产品
软件工程鼓励研制和采用多种先进旳软件开发措施、 工具和环境
7. 软件工具和软件开发环境
软件工具(CASE):用来辅助软件开、运营、维护、管理、 支持等过程中旳活动旳软件
编码:编程。高级程序员和程序员产生源程序清单
测试:由另一部门旳高级程序员或系统分析员产生 软件测试计划和软件测试报告
运营维护
计算机二级(软件工程基础)
公共基础知识
历年真题 从工程管理角度,软件设计一般分为两步 完成,它们是()。(2006.09)
概要设计与详细设计 数据设计与接口设计 软件结构设计与数据设计 过程设计与数据设计
公共基础知识
历年真题 两个或两个以上模块之间关联的紧密程度 称为()。(2006.04)
耦合度 内聚度 复杂度 数据传输特性
集成测试
• 集成测试是测试和组装软件的过程
确认测试
• 任务是用户根据合同进行,确定系统功能和性能的可接受性
系统测试
• 将软件系统与硬件、外设或其他元素结合在一起,对整个软件 系统进行测试。
公共基础知识
历年真题 下列叙述中正确的是()。(2007.04)
软件测试的主要目的是发现程序中的错误 软件测试的主要目的是确认程序中错误的位置 为了提高软件测试的效率,最好由程序编制者 自己来完成软件测试的工作 软件测试是证明软件没有错误
公共基础知识
在两种基本测试方法中,( )测试的原则之一 是保证所测模块中每一个独立路径至少要执行一 次。(2007.09) 程序测试分为静态分析和动态测试。其中( ) 是指不执行程序,而只是对程序文本进行检查, 通过阅读和讨论,分析和发现程序中的错误。 (2006.04) 再进行模块测试是,要为每个被测试的模块另外 设计两类模块:驱动模块和承接模块(桩模块)。 其中( )的作用是将测试数据传送给被测试的 模块,并显示被测试模块所产生的结果。 (2005.09)
软件生命周期可分为多个阶段,一般分为 定义阶段、开发阶段和维护阶段。编码和 测试属于()阶段。(2007.04)
公共基础知识
考点2:结构化分析方法 需求分析和需求分析方法
需求分析
计算机等级考试公共基础知识第三章
第三章 软件工程基础
3.2结构化分析方法 3.2.1可行性研究(目的在于用最小的代
价在尽可能短的时间内确定问题是否能 解决) (1)经济可行性研究 分析系统的估算开发成本是否会超过项 目预期的全部利润。分析系统开发对其 他产品或利润的影响。 (2)技术可行性研究 根据客户提出的系统功能、性能及现实
(3)软件工程时代
第三章 软件工程基础
2.软件危机 随着计算机软件规模的扩大,软件本
身的复杂性不断增加,研制周期显著变 长,正确性难以保证,软件开发费用上 涨,生产效率急剧下降,从而出现了人 们难以控制软件发展的局面,即所谓的 “软件危机”。软件危机主要表现在: (l)软件需求的增长得不到满足; (2)软件开发成本和进度无法控制; (3)软件质量难以保证;
第三章 软件工程基础
4.判定表 判定表与判定树相似,也是一种描述加
工的图形工具。当数据流图中的加工要 依赖于多个逻辑条件的取值,即完成该 加工的一组动作是由于某一组条件取值 的组合引发的,使用判定表比较适宜。
第三章 软件工程基础
3.2.5 结构化方法开发过程
结构化方法将软件生命周期分为计划、 开发、运行3个时期,每个时期又分若 干阶段。
计算机等级考试公共基础知识第 三章
第三章 软件工程基础
大纲要求 (1)软件工程基本概念,软件生命周期
概念,软件工具与软件开发环境。 (2)结构化分析方法,数据流图,数据
字典,软件需求规格说明书。 (3)结构化设计方法,总体设计与详细
设计。 (4)软件测试的方法,白盒测试与黑盒
测试j测试用例设计,软件测试的实施 ,单元测试、集成测试和系统测试。
结构化分析方法的步骤如下:
第三章 软件工程基础
计算机二级_公共基础_软件工程
软件生命周期是指软件产品从提出、实现、使
用维护到停止使用退役的过程。
软件工程基本概念
软件生命周期三个阶段:软件定义、软件开发、 运行维护,主要活动阶段是: (1)可行性研究与计划制定; (2)需求分析; (3)软件设计; (4)软件实现; (5)软件测试; (6)运行和维护。
软件工程基本概念
1. 2. 3. 4. 5.
6.
软件工程基本目标: 付出较低的开发成本; 达到要求的软件功能; 取得较好的软件性能; 开发软件易于移植; 需要较低的费用; 能按时完成开发,及时交付使用。
软件工程基本概念
软件工程基本原则:抽象、信息隐蔽、模块化、 局部化、确定性、一致性、完备性和可验证性。
软件工程基本概念
软件工程的理论和技术性研究的内容主要包括: 软件开发技术和软件工程管理。
软件工程基本概念
软件开发技术包括:软件开发方法学、开发过 程、开发工具和软件工程环境。
软件工程基本概念
软件开发工具包括:需求分析工具、设计工具、 编码工具、排错工具和测试工具等。
软件工程基本概念
软件工程环境(软件开发环境):
答案:D
例题:
下列不属于软件工程的3个要素的是 A)工具 B)过程 C)方法 D)环境
答案:D
例题:
软件工程的出现是由于 A)程序设计方法学的影响 B)软件产业化的需要 C)软件危机的出现 D)计算机的发展
答案:C
例题:
软件设计中,有利于提高模块独立性的一个准 则是 A)低内聚低耦合 B)低内聚高耦合 C)高内聚低耦合 D)高内聚高耦合
黑盒测试:主要诊断功能不对或遗漏、界面错 误、数据结构或外部数据库访问错误、性能错 误、初始化和终止条件错误等,用于软件确认。 主要方法有等价类划分法、边界值分析法、错 误推测法、因果图等。
二级_公共基础知识_第3章_软件工程基础
金额≤500
未过期----发出批准单、提货单
40
说明:
没有一个统一的构造判定树的方法和步骤,而 且也不可能有统一的方法,因为它所依据的原始资
料是用自然语言写成的叙述文。但判定树常常用图
形表示,这样更容易被用户理解。
41
3.2.3 软件需求规格说明书 软件需求规格说明书是需求分析阶段的最后成果,
是软件开发中的重要文档之一。
30
对数据流图中出现的每一个数据流名、每一个文件 名和每一个基本加工名进行定义,它们所组成的集合 就是数据字典(或称数据词典)。每个定义是数据字典中 的一个条目。
数据流图是系统的大框架,而数据字典是对数据
流图中的每一个元素的精确描述。
31
编写数据词典的准则: (1)数据流图中出现的每一个数据流名、每一个文 件名和每一个基本加工名在词典中都应有一个条目给 出这个名字的定义。每一个组成部分在词典中也应有
还可以将软件生命周期分为如上图所示的 软件定义、软件开发和软件运行维护3个阶段。 生命周期的主要活动阶段是:可行性研究
与计划制定、需求分析、软件设计、软件实施、
软件测试、运行与维护。
14
3.1.4 软件工程的目标与原则 1. 软件工程的目标 软件工程的目标是:在给定成本、进
度的前提下,开发出具有有效性、可靠性、
术及管理方法。
9
软件工程的主要思想就是强调在软件开发过 程中需要应用工程化原则。
软件工程包括3个要素,即方法、工具和过程。
方法是完成软件工程项目的技术手段; 工具支持软件的开发、管理、文档生成;
过程支持软件开发的各个环节的控制、管理。
10
3.1.3 考点2 软件工程过程与软件生命周期 考试链接: 考点2在笔试考试中,在笔试考试中出现的
计算机2级公共基础知识课件-软件工程
第25页
软件工程方面的考题:
(1) 下面叙述中错误的是 A A)软件测试的目的是发现错误并改正错误 B)对被调试的程序进行“错误定位”是程序调试的必要步骤 C)程序调试通常也称为Debug D)软件测试应严格执行测试计划,排除测试的随意性 (2) 软件测试可分为白盒测试和黑盒测试。基本路径测试属于【白盒】 测试。 单元 测试之后进行。 (3) 按照软件测试的一般步骤,集成测试应在_____
确定开发目标和总的要求,给出功能、可靠性 等可能方案,制定实施计划. 对软件需求进行分析并给出详细定义,编写软件 规格说明书及初步的用户手册,提交评审。 给出软件的结构、模块和功能的划分等,确定算法。 编写概要设计、详细设计说明书和测试计划初稿。 源程序编码,把软件设计转换成计算机 可以接受的程序代码。编写用户手册、 操作手册和单元测试计划。 设计测试用例,检验软件各 个组成部分。编写测试分析 报告。 将已交付的软件投入运行, 并在运行使用中不断地维护, 根据新提出的需求进行必要 而且可能的扩充和删改。
第5页
软件危机 (Software
Crisis)
落后的软件生产方式无法满足迅速增长的计算机软件 需求,从而导致软件开发与维护过程中出现一系列严 重问题的现象。 软件危机主要表现在: 软件开发费用和进度失控。费用超支、进度拖延的 情况屡屡发生。有时为了赶进度或压成本不得不采 取一些权宜之计,这样又往往严重损害了软件产品 的质量。 软件的可靠性差。尽管耗费了大量的人力物力,而 系统的正确性却越来越难以保证,出错率大大增加 ,由于软件错误而造成的损失十分惊人。 第6页 ……
全国计算机等级考试二级-计算机二级公共基础知识点汇总
计算机二级公共基础知识重点讲解汇总章节名称内容简介第一章数据结构与算法本章主要介绍算法的基本概念、数据结构的定义、线性表、树等重点知识的讲解。
第二章程序设计基础本章主要介绍程序设计风格、结构化程序设计、面向对象程序设计等重点知识的讲解。
第三章软件工程基础本章主要介绍软件工程的基本概念、结构化分析方法、软件设计等重点知识的讲解。
第四章数据库设计基础本章主要介绍数据库、数据库管理系统(DBMS)、数据库系统、数据模型、关系运算、专门关系运算、数据库设计步骤等重点知识的讲解。
第一章数据机构与算法数据结构与算法◆算法的基本概念1. 算法:是对问题处理方案的正确而完整的描述,是求解问题的方法,是指令的有效序列。
2. 具有5个特性:(1)有穷性(在有穷步后完成)算法程序的运行时间是有限的(2)确定性(每一步都有确定的含义)(3)可行性(4)输入(一个算法有零个或多个输入)(5)输出(一个算法有一个或多个输出)3. 算法的复杂度包括:时间复杂度和空间复杂度。
二者没有必然的联系。
时间复杂度:执行算法所需要的计算工作量或基本运算次数。
空间复杂度:算法所需要的空间的度量。
◆数据结构的定义1. 数据结构包括数据的逻辑结构、数据的存储结构、数据的操作数据的逻辑结构:数据的外部结构,指各数据元素之间的逻辑关系,反映人们对数据含义的解释。
包括:线性结构(线性表、栈、队列)和非线性结构(树和图)数据的存储结构:数据的物理结构,指数据的逻辑结构在计算机中的表示。
一个逻辑结构可以有多种存储结构。
◆线性表:线性表中元素的个数n(n>=0)定义为线性表的长度。
顺序存储是线性表的一种最常用的存储方式。
线性表的顺序存储结构和线性表的链式存储结构分别是随机存取的存储结构和顺序存取的存储结构。
1.栈:是限定在表尾进行插入和删除操作的线性表。
具有记忆功能只能顺序存储(错)允许插入和删除的一端叫栈顶。
另一端叫栈底。
后进先出的线性表2队列:是限定在一端插入而在另一端删除,插入端叫队尾,删除端叫对头。
二级公共基础知识第3章
环路复杂度=程序流程图中的判断框个数+1
a
A>2
Tc
F
B=1
T
b
Fd
e
输出A
输出B 输出A与B
f
end
测试用例
通过路径
A=1,B=0,(输出略) abf
A=3,B=1,(输出略) acef
A=3,B=3,(输出略) acdf
▪ 软件测试方法
▪ 黑盒测试:功能测试或数据驱动测试
▪ 1)等价类划分法
▪ 先把程序的所有可能的输入划分成假设干个等价 类,然后根据等价类选取相应的测试用例
户开发软件的工具型软件。
例:Dephi、PowerBuider等
应用软件 应用软件 应用软件 应用软件 应用软件
支撑软件
支撑软件
支撑软件
系统软件
4. 软件危机
指计算机软件的开发和维护过程中所遇到的一系列 严重问题。
5. 软件工程定义
是指应用计算机软件的定义、开发和维护的一整套 方法、工具、文档、实践标准和工序。
(4, 3, 1) (9, 5, 9)
F
i≥j and j<8 T 测试用例7 (3, 9, 0)
(3, 9, 9)
F i>8 T
x=j
x=i
输出i, j, x
end
2)根本路径测试
根据软件过程性描述中控制流程确定程序的环路复杂性
度量,用此度量定义根本路径集合,并由此导出一组测试
用例对每一条独立执行路径进展测试。
通道,一般在旁边标注 数据流名
加工(process)
又称转换,输入数据经 加工、变换产生输出
又称数据源,表示处理
存储文件(file)
计算机二级【公共基础知识】软件工程基础
实现算法和局部数据结构,用某种选定的表 达工具表示算法和数据结构的细节。
详细设计常用工具:
1. 图形工具(程序流程图、 PAD图 、N-S图、 HIPO图)
2. 表格工具(判定表)
3. 语言工具(PDL )
开始 输入R S=3.14 * R*R
输出S
结束
1.软件设计基础
从技术观点来看,软件设计包括软件结构设 计、过程设计、数据设计、接口设计。
从工程管理角度来看,软件设计可以分为: 概要设计和详细设计。
2.软件设计的基本原理
结构化软件设计方法的基本原理:
① 抽象化 ② 模块化 ③ 信息隐蔽 ④ 模块独立
衡量软件模块的独立性,使用耦合性和内聚性两个
(2)数据字典是结构化分析方法的核心,定义
了数据流图中每一个图形元素,使得用户和系 统分析员对于输入、输出、存储成分和中间结 果有共同的理解。
5.软件需求规格说明书
是需求分析的最后结果,是软件开发中重要的文档之一。 软件需求规格说明书的特点: (1)正确性; (2)无岐义性(最重要) ; (3)完整性; (4)可验证性; (5)一致性; (6)可理解性; (7)可追踪性。
主要方法有等价类划分法、边界值分析法、错 误推测法等。
软件测试
软件测试过程一般按4个步骤进行: 1. 单元测试(模块测试) 2. 集成测试 3. 验收测试(确认测试) 4. 系统测试
程序调试
程序调试的任务是诊断和改正程序中的错误,
主要在开发阶段进行。
程序调试
程序调试的基本步骤: (1)错误定位; (2)修改设计和代码,以排除错误; (3)进行回归测试,防止引进新的错误。
处理流程,以数据流图、数据字典、判定树和 判定表为主要工具,建立系统的逻辑模型。
计算机二级考试msoffice知识积累:软件工程基础优选份
计算机二级考试msoffice知识积累:软件工程基础优选份计算机二级考试msoffice知识积累:软件工程基础 11.软件的定义与特点(1)定义:软件是指与计算机系统的操作有关的计算机程序、规程、规则,以及可能有的文件、文档和数据。
(2)特点。
-是逻辑实体,有抽象性。
-生产没有明显的制作过程。
-运行使用期间不存在磨损、老化问题。
-开发、运行对计算机系统有依赖性,受计算机系统的限制,导致了软件移植问题。
-复杂性较高,成本昂贵。
-开发涉及诸多社会因素。
2.软件的分类软件可分应用软件、系统软件和支撑软件3类。
(1)应用软件是特定应用领域内专用的软件。
(2)系统软件居于计算机系统中最靠近硬件的一层,是计算机管理自身资源,提高计算机使用效率并为计算机用户提供各种服务的软件。
(3)支撑软件介于系统软件和应用软件之间,是支援其它软件的开发与维护的软件。
3.软件危机与软件工程软件危机指在计算机软件的开发和维护中遇到的一系列严重问题。
软件工程是应用于计算机软件的定义、开发和维护的一整套方法、工具、文档、实践标准和工序,包括软件开发技术和软件工程管理。
4.软件生命周期软件产品从提出、实现、使用维护到停止使用的过程称为软件生命周期。
在国家标准中,软件生命周期划分为8个阶段①软件定义期:包括问题定义、可行性研究和需求分析3个阶段。
②软件开发期:包括概要设计、详细设计、实现和测试4个阶段。
③运行维护期:即运行维护阶段。
5.软件工程的原则软件工程的原则包括:抽象、信息隐蔽、模块化、局部化、确定性、一致性、完备性和可验证性。
3.2结构化分析方法需求分析的任务是发现需求、求精、建模和定义需求的过程,可概括为:需求获取、需求分析、编写需求规格说明书和需求评审。
1.常用的分析方法-结构化分析方法:其实质着眼于数据流,自顶向下,逐层分解,建立系统的处理流程。
-面向对象分析方法。
2.结构化分析常用工具结构化分析常用工具包括数据流图、数字字典(核心方法)、判断树和判断表。
全国计算机等级考试二级公共基础知识课后习题集答案
main(
{ FILE * fp;
char ch,fname [10];
printf("Input the name of file ";
gets(fname;
gets(fname;
if((fp=[5]= =NULL
A.在队列中只能插入数据
B.在队列中只能删除数据
C.队列是先进先出的线性表
D.队列是先进后出的线性表
6.下列关于栈的叙述中正确的是(
A.在栈中只能插入数据
B.在栈中只能删除数据
C.栈是先进先出的线性表
D.栈是先进后出的线性表
8.在深度为5的满二叉树中,叶子结点的个数为(
A. 32
B. 31
C. 16
A整型、实型、逻辑型B整型、实型、字符型
C整型、字符型、逻辑型D整型、实型、逻辑型、字符型
(4为表示关系x大于等于y大于等于z,应使用C语言表达式
A(x>=Y&&(Y>=z B(x>=YAND(y>=z C(x>=Y>=z D(x> =Y&(Y>=z
(5下列对C语言字符数组的描述中错误的是
A字符数组可以存放字符串B字符数组中的字符串可以整体输入、输出
2.数据独立性分为逻辑独立性和物理独立性.当数据的存储结构改变时,其逻辑结构可以不变。因此,基于逻辑结构的应用程序不必修改,称为(
3.数据库系统中实现各种数据管理功能的核心软件称为(
4.关系模型的完整性规则是对关系的某种约束条件,包括实体完整性、(和自定义完整性.
5.在关系模型中,把数据看成一个二维表,每一个二维表称为一个(
D.算法执行过程中所需要的存储空间
计算机二级考试复习----软件工程基础
计算机二级考试复习—-软件工程基础随着时代的不断发展,计算机已经成为现代社会的重要工具。
在这个过程中,软件工程已经成为一个非常重要的领域。
软件工程基础是计算机专业学习的一项必修课程,涵盖了软件工程的基本概念、模型和基本工程方法等知识点。
计算机二级考试中也常常会有软件工程基础相关的考题。
本文将会详细讲解软件工程基础这一重要课程,以及备考计算机二级考试中有关软件工程基础考题的注意事项和学习方法。
软件工程基础软件工程概述软件工程是将工程的原则和方法应用于软件开发的过程。
它包括软件开发的管理、过程、工具、方法和质量控制,目的是以更加系统化和效率化的方式进行软件开发,并最终产出高质量、可靠、易维护、易扩展的软件系统。
软件开发生命周期软件开发生命周期指的是软件产品从开始开发到交付、运行和维护的全部过程。
常见的软件开发生命周期有“瀑布模型”、“原型模型”、“螺旋模型”、“敏捷开发模型”等。
其中,“瀑布模型”是最常见的软件开发模型,它将软件开发过程分成需求分析、设计、编程、测试和维护等阶段。
在软件开发生命周期中,测试是非常重要的一个环节。
软件质量与测试软件质量是衡量软件是否为用户提供满意服务的标准。
对于软件工程师来说,要想开发出高质量的软件,就需要关注软件的可靠性、可维护性、可扩展性、可重用性和易用性等方面。
其中,软件测试是保证软件质量的最有效手段。
测试的目的是为了发现软件中存在的问题,并且帮助解决问题。
软件工程项目管理软件工程项目管理是软件工程师在软件开发过程中非常重要的一项工作。
它主要包括项目计划、风险管理、进度控制、资源分配、成本管理和质量管理等方面。
通过合理的项目管理,可以提高软件开发的效率和质量。
计算机二级考试备考指南针对软件工程基础考点的复习建议软件工程基础作为计算机二级考试的一部分,其考点较为明确。
在备考时,需要着重掌握软件开发生命周期、软件质量与测试、软件工程项目管理等基本原理以及实际操作技能。
计算机等级考试二级公共基础知识第三章
第三章软件工程基础一、教学目标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、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.软件是指()A.程序B.程序和文档C.算法加数据结构D.程序、数据与相关文档的完整集合[解析]软件是计算机系统中与硬件相互依存的另一部分,是包括程序、数据及相关文档的完整集合。
其中,程序是软件开发人员根据用户需求开发的、用程序设计语言描述的、适合计算机执行的指令(语句)序列;数据是使程序能正常操纵信息的数据结构;文档是与程序开发、维护和使用有关的图文资料。
本题为D2.下列描述中正确的是A.程序就是软件B.软件开发不受计算机系统的限制C.软件既是逻辑实体,又是物理实体D.软件是程序、数据和相关文档的集合[解析]软件是与计算机操作相关的计算机程序、规程、规则,以及可能有的文件、文档及数据;软件开发要受到计算机系统的限制;软件是一个逻辑实体,不是物理实体,软件具有抽象性。
因此本题为D3.按软件的功能划分,需求分析工具软件属于A.应用软件B.系统软件C.支撑软件D.专用软件[解析]p65 软件设计基本原理:模块化、模块独立性、抽象、信息隐蔽。
所以本题为C 4.由于软件危机的出现,20实际70年代人们提出了“______”的思想和方法。
[解析]p44 结构化程序设计5.______是应用于计算机定义、开发和维护的一整套方法、工具、文档、实践标准和工序。
[解析]软件工程6.下面软件工程要素中哪一项提供软件工程项目的软件开发的各个环节的控制、管理的支持?A.方法B.工具C.过程D.技术[解析]软件工程包含3个要素:方法、工具、过程。
方法是完成软件开发各项任务的技术手段;工具支持软件的开发、管理、文档生成;过程支持软件开发的哥哥环节的控制、管理。
本题选C7.下面不属于软件工程的三个要素的是()A.工具B.过程C.方法D.环境[解析]本题选D8.软件工程研究的主要内容包括:______和软件工程管理。
[解析]软件开发技术9.下列哪一项不是软件设计的基本原理?A.抽象B.完备性C.模块化D.信息隐蔽[解析] p65 软件设计基本原理:模块化、模块独立性、抽象、信息隐蔽。
所以本题为C10.下面哪一项不符合软件工程的原则?A.把程序分解成独立的模块B.采用封装技术把程序模块的实现细节隐藏起来C.采用全局变量传递的方式,以简化模块之间的通信接口和通信量D.程序的内外部接口保持一致,系统规格说明与系统行为保持一致[解析]本题选C11.软件工程的核心思想是把软件产品当作一个______产品来处理。
[解析]工程12.把输入转化为输出的一组相关的资源和活动是______。
[解析]软件工程过程13.在软件开发中,需求分析阶段产生的主要文档是()A.可行性分析报告B.软件需求规格说明书C.概要设计说明书D.集成测试计划[解析]软件生命周期包括:1.定义阶段(可行性研究和需求分析);2.开发阶段(概要设计、详细设计、软件实现和软件测试);3.维护阶段(使用、维护和退役)。
可行性研究阶段产生的主要文档是可行性分析报告;需求分析阶段产生的主要文档是软件需求规格说明书;概要设计阶段产生的主要文档是概要设计说明书;软件测试阶段产生的主要文档是测试分析报告。
软件需求规格说明书(SRS)是需求分析阶段的最后成果,是软件开发中的重要文档之一,本题为B14.软件产品从提出、实现、使用维护到停止使用退役的过程称为()[解析]软件生命周期15.下列选项中不属于软件生命周期开发阶段的是A.软件测试B.概要设计C.软件维护D.详细设计[解析]软件生命周期包括软件定义、软件开发及软件维护三个阶段。
软件定义阶段的任务包括可行性研究与计划制定、需求分析;软件开发阶段的任务包括概要设计、详细设计、软件实现、软件测试;软件维护的任务包括软件的运行、维护和退役。
本题选C16.软件设计属于软件生命周期中的下面的哪一个阶段?A.软件定义B.软件分析C.软件开发D.软件维护[解析]本题选C17.在软件生命周期中的哪一阶段能够确定待开发软件系统的开发目标和总的要求,给出它的功能、性能、可靠性以及接口等方面的可能方案,制定完成开发任务的实施计划()A.可行性研究 B.需求分析 C.概要设计 D.详细设计[解析]本题选A18.下列叙述中正确的是()A.软件交付使用后还需要进行维护 B.软件一旦交付使用就不需要再进行维护C.软件交付使用后其生命周期就结束 D.软件维护是指修复程序中被破坏的指令[解析]软件交付使用后还需要进行维护;软件的生命周期是指软件产品从提出、实现、使用维护到停止使用退役的整个过程;软件维护主要是保证软件能正确有效地使用,不只是修复程序中被破坏的指令。
本题选A19.在软件生命周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是A.概要设计B.详细设计C.可行性分析D.需求分析[解析]D20.计算机辅助软件工程(CASE)是一个()A.软件开发工具B.软件开发环境C.软件开发技术D.软件开发方法[解析]软件工程环境(或软件开发环境)是全面支持软件开发全过程的软件工具集合。
本题选C21.全面支持软件开发过程的软件工具集合被称为________。
[解析]软件开发环境22.下列叙述中正确的是A.程序执行的效率与数据的存储结构密切相关B.程序执行的效率只取决于程序的控制结构C. 程序执行的效率只取决于所处理的数据量D.以上说法都不对[解析]软件工程环境(或软件开发环境)是全面支持软件开发全过程的软件工具集合。
本题选C23.软件开发环境是全面支持软件开发全过程的_______集合。
[解析]软件工具24.在结构化方法中,软件功能分解属于下列软件开发中哪个阶段?A.详细设计B.需求分析C.总体设计D.编程测试[解析]在结构化方法中,软件功能分解属于总体设计阶段。
本题选C1.__________是指用户对目标软件系统在功能、行为、性能、设计约束等方面的期望。
[解析]软件需求2.发现用于需求,求精、建模和定义用户需求的过程是______。
[解析]需求分析3.软件需求分析阶段的工作,可以分为四个方面:需求获取、需求分析、编写需求规格说明书,以及()A.阶段性报告B.需求评审C.总结D.都不正确[解析]需求分析阶段的工作可以分为4个方面:需求获取、需求分析、编写需求规格说明书和需求评审。
本题选B4.Jackson方法是一种什么样的结构化分析方法?A.面向数据流B.面向对象C.面向数据结构D.面向控制流[解析]p62 ,本题选C5.结构化分析方法的实质是着眼于数据流,自顶向下,逐层分解,建立系统的处理流程,以______和数据字典为主要工具,建立系统的逻辑型。
[解析]数据流图6.______是对所有与系统相关的数据元素的一个有组织的列表,以及精确的、严格的定义,使得用户和系统分析员对于输入、输出、存储成分和中间计算结构有共同的理解。
[解析]数据字典7.在结构化分析使用的数据流图DFD中,利用______对其中的图形元素进行确切解释。
[解析]数据字典[分析]数据字典是对数据流图DFD中出现的被命名的图形元素的确切解释,常用的符号有=(表示“等于”、“定义为”、“由什么构成”)、+(表示“与”、“和”)、**(表示“注释”)、[…|…](表示“或”)8.下列哪一项不是软件说明书的特点?()A.正确性B.无歧义性C.可操作性D.可修改性[解析]软件需求规格说明书的特点有:正确性、无歧义性、可修改型、完整性、可验证性、一致性、可理解性、可追踪性。
本题选C9.______是需求分析阶段的最后成果,是软件开发中的重要文档之一。
[解析]软件需求规格说明书1.把软件需求转变为软件表示的过程是________,它确定了系统的物理模型。
[解析]软件设计2.下列哪一项不是软件设计的基本原理?A.抽象B.完备性C.模块化D.信息隐蔽[解析]p65 软件设计基本原理:模块化、模块独立性、抽象、信息隐蔽。
所以本题为C3.软件设计中模块划分应遵循的准则是()A.低内聚低耦合B.高内聚低耦合C.低内聚高耦合D.高内聚高耦合[解析]一般优秀的软件设计,应尽量做到高内聚低耦合,即减弱模块之间的耦合性和提高模块内的内聚性,有利于提高模块的独立性。
所以本题为 B4.下列几种内聚类型中内聚性最强的是()A.逻辑内聚 B.时间内聚 C.功能内聚 D.过程内聚[解析]内聚性由弱到强依次是:偶然内聚、逻辑内聚、时间内聚、过程内聚、通信内聚、顺序内聚、功能内聚。
本题选C5.软件系统结构和数据结构及数据库的设计是在______设计中完成的。
[解析]概要6.常用的软件结构设计工具是()A.程序结构图B.数据流图C.控制流图D.流程图[解析]结构化分析方法的常用工具主要有:1.数据流图(DFD);2.数据字典(DD);3.判定表;4.判定树。
软件结构设计工具主要有:1.程序流程图(PFD);2.N-S图;3.PAD图;4.PDL图。
所以本题为A7.下列工具为需求分析常用工具的是()A.PADB.PFDC.N-SD.DFD[解析]本题为D8.在软件开发中,需求分析阶段可以使用的工具是()A.N-S图B.DFD图C.PAD图D.程序流程图[解析]在软件开发中,需求分析阶段可以使用的工具有:DFD图(数据流图)、数据字典(DD)、判断树和判定表;概要设计阶段可以使用的工具有:结构图SC(也称程序结构图);详细设计阶段可以使用的工具有:1.图形工具:程序流程图、N-S、PAD(问题分析图)、HIPO;2.表格工具:判定表;3.语言工具:PDL(伪码):测试、调试阶段一般采用各种方法。
B9.在软件设计中,不属于过程设计工具的是()A.PDLB.PADC.N-S图D.DFD[解析]常见的过程设计工具有:1.图形工具:程序流程图;N-S图、PAD、HIPO;2.表格工具:判定表;3.语言工具:PDL。
结构化分析的常见工具有:DFD图(数据流图)、DD(数据字典)、判定树、判定表。
过程设计工具用在软件开发的详细设计阶段;结构化分析工具用在软件开发的需求分析阶段。
本题为D1..从工程管理角度,软件设计一般分为两步完成,它们是()A.概要设计与详细设计B.数据设计与接口设计C.软件结构设计与数据设计D.过程设计与数据设计[解析]软件设计是软件工程的重要阶段,是一个把软件需求转换为软件表示的过程。
从技术观点看,软件设计包括结构设计、数据设计、接口设计和过程设计。
从工程管理角度看,软件设计包括概要设计和详细设计。
因此本题选A2.下面哪一项内容不是软件设计包括的?A.软件结构设计B.过程设计C.接口设计D.数据流设计[解析]D3.在软件设计中,不属于过程设计工具的是()A.PDL(过程设计语言)B.PAD图C.N-S图D.DFD图[解析]常见的过程设计工具有:(1)图形工具:程序流程图(PFD);N-S图;PAD图;HIPO。