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

合集下载

全国计算机二级公共基础知识(要点)

全国计算机二级公共基础知识(要点)
19
数据结构与算法
树的基本概念
1、树
树是一种简单的非线性结构。 元素间的关系具有明显的层次结构。
2、相关的术语
根结点 叶节点 父结点 子结点 子树 结点的度 树的度 树的深度
20
数据结构与算法
二叉树
1、二叉树的特点
非空二叉树只有一个根结点。 每个结点最多有左右两棵子树。
2、二叉树的基本性质
第 k 层上最多有 2 k-1个结点 深度为 m 的二叉树最多有 2m-1个结点 任何二叉树叶结点总比度为 2 的节点多一个 n 个节点的二叉树的深度为 [log2n]+1
4
考试大纲
考试内容
二、程序设计基础
1、程序设计方法与风格。 2、结构化程序设计。 3、面向对象的程序设计方法,对象,方法,属性及继承与多 态性。
5
考试大纲
考试内容
三、软件工程基础
1、软件工程的基本概念;软件生命周期概念;软件工具与软 件开发环境。 2、结构化分析方法;数据流图,数据字典,软件需求规格说 明书。 3、结构化设计方法; 总体设计,详细设计。 4、软件测试的方法;白盒测试,黑盒测试,测试用例设计; 软件测试的实施;单元测试,集成测试,系统测试。 5、程序的调试,静态调试与动态调试。
2、二分法查找
在顺序存储的线性表为有序的情况下,可以使用二分法查找。 方法为: 将待查数据与线性表的中间项比较: 若相等,则查找成功; 若小于,则在线性表的前半部分进行二分法查找; 若大于,则在线性表的后半部分进行二分法查找; 反复进行直到相等(查找成功)或子表长度为0(查找失败)。
22
数据结构与算法
6
考试大纲
考试内容
四、数据库设计基础
1、数据库的基本概念;数据库,数据库管理系统,数据库系 统。 2、数据模型;实体联系模型及E-R图,从E-R图导出关系数 据模型。 3、关系代数运算,包括集合运算及选择、投影、连接运算; 数据库规范化理论。 4、数据库设计方法和步骤;需求分析、概念设计、逻辑设计 和物理设计的相关策略。

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

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

需求优先级排序
根据项目目标和资源情况,对需 求进行优先级排序,确定哪些需 求是关键的、紧急的。
建立需求模型
使用合适的工具和技术,如原型 、流程图等,建立需求模型,帮 助团队更好地理解和管理需求。
需求规格说明
编写需求规格说明书
根据需求分析结果,编写详细的需求规格说明书,明 确各项需求的详细描述、功能要求和验收标准。
评审与确认
组织相关人员对需求规格说明书进行评审和确认,确 保其准确性和完整性。
发布与更新
将需求规格说明书发布给相关人员,并建立更新和维 护机制,确保其始终与项目实际情况保持一致。
需求验证与管理
验证需求
通过原型、测试用例等方式验证需求的正确 性和可行性,确保开发出来的软件能够满足 用户需求。
变更控制
02
需求获取
01
确定需求来源
识别并确定需求来源,包括用户、利益相关者和其他关 键干系人。
02
制定需求获取计划
制定详细的需求获取计划,包括时间、地点、人员和资 源等。
03
采集需求信息
通过访谈、问卷调查、原型演示等方式采集需求信息, 确保信息的准确性和完整性。
需求分析
需求分类
对获取的需求进行分类,明确哪 些是功能性需求,哪些是非功能 性需求。
需求分析
对软件需求进行重新审查和确认,确 保软件需求满足新的要求或变化。
设计修改
根据需求分析的结果,对软件的体系 结构、数据结构、接口等进行修改和 优化。
编码和测试
根据修改后的设计,进行代码编写和 测试,确保软件功能和性能的正确性 和稳定性。
软件可维护性
01
02
03
04
05
软件可维护性包 括四个方面

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

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

(2)数据字典是结构化分析方法的核心,定义
了数据流图中每一个图形元素,使得用户和系 统分析员对于输入、输出、存储成分和中间结 果有共同的理解。
5.软件需求规格说明书
是需求分析的最后结果,是软件开发中重要的文档之一。 软件需求规格说明书的特点: (1)正确性; (2)无岐义性(最重要) ; (3)完整性; (4)可验证性; (5)一致性; (6)可理解性; (7)可追踪性。
软件生命周期是指软件产品从提出、实现、使
用维护到停止使用退役的过程。
3.软件生命周期:软件产品从提出、实现、使用
维护到停止使用退役的过程。包括软件定义、 软件开发、运行维护,主要活动阶段是:
(1)可行性研究与计划制定; (2)需求分析; (3)软件设计; (4)软件实现; (5)软件测试; (6)运行和维护。
答案:D
例题:
软件工程的出现是由于 A)程序设计方法学的影响 B)软件产业化的需要 C)软件危机的出现 D)计算机的发展
答案:C
例题:
软件设计中,有利于提高模块独立性的一个准 则是
A)低内聚低耦合 B)低内聚高耦合 C)高内聚低耦合 D)高内聚高耦合
答案:C
例题:
下列不属于结构化分析的常用工具的是 A)数据流图 B)数据字典 C)判定树 D)PAD图
3.4软件测试
软件测试的指用人工或自动手段来运行或测定
某个系统的过程,其目的在于检验它是否满足 规定的需求或是弄清预期结果与实际结果之间
的差别。简单地说,软件测试的目的是尽可能 多地发现程序中的错误。
考点2:软件测试方法
按是否要执行被测试软件的角度分为:静态测 试和动态测试。
静态测试包括代码检查、静态结构分析、代码 质量度量。不实际运行软件,主要通过人工进 行。

全国计算机等级考试二级公共基础知识-软件工程39页文档

全国计算机等级考试二级公共基础知识-软件工程39页文档
全国计算机等级考试二级公共基础知识软件工程
1、合法而稳定的权力在使用得当时很 少遇到 抵抗。 ——塞 ·约翰 逊 2、权力会使人渐渐失去温厚善良的美 德。— —伯克
3、最大限度地行使权力总是令人反感 ;权力 不易确 定之处 始终存 在着危 险。— —塞·约翰逊 4、权力会奴化一切。——塔西佗
5、虽然权力是一头固执的熊,可是金 子可以 拉着它什么损失。——卡耐基 47、书到用时方恨少、事非经过不知难。——陆游 48、书籍把我们引入最美好的社会,使我们认识各个时代的伟大智者。——史美尔斯 49、熟读唐诗三百首,不会作诗也会吟。——孙洙 50、谁和我一样用功,谁就会和我一样成功。——莫扎特

二级公共基础知识软件工程基础模拟题

二级公共基础知识软件工程基础模拟题

[模拟] 二级公共基础知识软件工程基础单项选择题第1题:软件按功能可以分为:应用软件、系统软件、支撑软件(或工具软件),下面属于应用软件的是______。

A.编译程序B.操作系统C.教务管理系统D.汇编程序参考答案:C操作系统属于系统软件,编泽程序与汇编程序都属于支撑软件,而教务管理系统是属于应用软件的。

第2题:软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。

下面属于系统软件的是______。

A.编辑软件B.操作系统C.教务管理系统D.浏览器参考答案:B本题考查的知识点是软件的分类。

软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。

操作系统是系统软件。

即本题的答案为B。

第3题:软件是指______。

A.程序B.程序和文档C.算法加数据结构D.程序、数据与相关文档参考答案:D计算机软件是计算机系统中与硬件相互依存的另一部分,是包括程序、数据及相关文档的完整集合。

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

第4题:下列选项中不属于软件生命周期开发阶段任务的是______。

A.软件测试B.概要设计C.软件维护D.详细设计软件生命周期分为软件定义、软件开发及软件维护。

其中软件开发阶段的任务中软件设计阶段可分解成概要设计阶段和详细设计阶段;软件维护不属于软件开发阶段。

第5题:下列描述中正确的是______。

A.软件工程只是解决软件项目的管理问题B.软件工程主要解决软件产品的生产率问题C.软件工程的主要思想是强调在软件开发过程中需要应用工程化原则D.软件工程只是解决软件开发中的技术问题参考答案:C软件工程是计算机软件开发和维护的工程学科,它采用工程的概念原理、技术和方法来开发和维护软件,它把经过时间考验而证明正确的管理技术和当前能够得到的最好技术结合起来。

第6题:下面描述中,不属于软件危机表现的是______。

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

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

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

计算机等级考试二级公共基础知识-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:结构化分析方法 需求分析和需求分析方法
需求分析

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

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

软件工程目标与原则


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

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

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


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

测试技术与方法综述


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

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



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

源程序文档化

标识符的命名 程序的注释

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

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

3.2 软件生命周期
1.软件生命周期概念 软件产品从提出、实现、使用、维护到停 止使用退役的过程称为软件生命周期。软件生 命周期分为3个时期共8个阶段, (1)软件定义期:包括问题定义、可行性 研究和需求分析3个阶段; (2)软件开发期:包括概要设计、详细设 计、实现和测试4个阶段; (3)运行维护期:即运行维护阶段。
1.下列工具中,不属于结构化分析的常用工
具是( )。
A)数据流图
B)数据字典
C)判定树
D)N-S图
2.软件开发中,需求分析阶段产生的主要
文档是( )。
A)数据字典
B)详细设计说明书
C)数据流图说明书 D)需求规格说明书
3.下列叙述中,正确的是( )。
A)软件交付使用后还需要进行维护 B)软件一旦交付使用就不需要再进行维护 C)软件交付使用后其生命周期就结束 D)软件维护是指修复程序中被破坏的指令
2、衡量软件模块独立性使用耦合性和内聚 性两个定性的度量标准
内聚性是度量一个模块功能强度的一个相 对指标。它描述的是模块内的功能联系。
耦合性是模块之间互相连接的紧密程度的 度量。
在程序结构中,各模块的内聚性越强,则 耦合性越弱。一般较优秀的软件设计,应尽量 做到高内聚,低耦合,即减弱模块之间的耦合 性和提高模块内的内聚性,有利于提高模块的 独立性。
软件设计的基本原理
1、软件设计中应该遵循的基本原理和与软件 设计有关的概念
(1)抽象;(2)模块化;(3)信息隐蔽; (4)模块独立性:模块的独立程度是评价设 计好坏的重要度量标准。衡量软件的模块独立性 使用耦合性和内聚性两个定性的度量标准。一个 模块的内聚性越强则该模块的模块独立性越强。 一个模块与其他模块的耦合性越强则该模块的模 块独立性越弱。

2023年计算机二级公共基础知识

2023年计算机二级公共基础知识

二级公共基础知识总结第一章数据构造与算法1.1 算法算法:是指解题方案旳精确而完整旳描述。

算法不等于程序,也不等计算机措施,程序旳编制不也许优于算法旳设计。

算法旳基本特性:是一组严谨地定义运算次序旳规则,每一种规则都是有效旳,是明确旳,此次序将在有限旳次数下终止。

特性包括:(1)可行性;(2)确定性,算法中每一环节都必须有明确定义,不充许有模棱两可旳解释,不容许有多义性;(3)有穷性,算法必须能在有限旳时间内做完,即能在执行有限个环节后终止,包括合理旳执行时间旳含义;(4)拥有足够旳情报。

算法旳基本要素:一是对数据对象旳运算和操作;二是算法旳控制构造。

指令系统:一种计算机系统能执行旳所有指令旳集合。

基本运算包括:算术运算、逻辑运算、关系运算、数据传播。

算法旳控制构造:次序构造、选择构造、循环构造。

算法基本设计措施:列举法、归纳法、递推、递归、减斗递推技术、回溯法。

算法复杂度:算法时间复杂度和算法空间复杂度。

算法时间复杂度是指执行算法所需要旳计算工作量。

算法空间复杂度是指执行这个算法所需要旳内存空间。

1.2 数据构造旳基本基本概念数据构造研究旳三个方面:(1)数据集合中各数据元素之间所固有旳逻辑关系,即数据旳逻辑构造;(2)在对数据进行处理时,各数据元素在计算机中旳存储关系,即数据旳存储构造;(3)对多种数据构造进行旳运算。

数据构造是指互相有关联旳数据元素旳集合。

数据旳逻辑构造包括:(1)表达数据元素旳信息;(2)表达各数据元素之间旳前后件关系。

数据旳存储构造有次序、链接、索引等。

线性构造条件:(1)有且只有一种根结点;(2)每一种结点最多有一种前件,也最多有一种后件。

非线性构造:不满足线性构造条件旳数据构造。

1.3 线性表及其次序存储构造线性表是由一组数据元素构成,数据元素旳位置只取决于自己旳序号,元素之间旳相对位置是线性旳。

在复杂线性表中,由若干项数据元素构成旳数据元素称为记录,而由多种记录构成旳线性表又称为文献。

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

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

全国计算机等级考试二级公共基础知识_3软件工程

全国计算机等级考试二级公共基础知识_3软件工程

全国计算机等级考试二级公共基 础知识_3软件工程
软件工程基本概念,软件生命周期概念,软 件工具与软件开发环境。
结构化分析方法,数据流图,数据字典,软 件需求规格说明书。
结构化设计方法,总体设计与详细设计。 软件测试的方法,白盒测试与黑盒测试,测
试用例设计,软件测试的实施,单元测试、 集成测试和系统测试。 程序的调试,静态调试与动态调试。
(1)软件开发技术,主要有软件开发方法学、开发过 程、软件工具、软件工程环境,其主体内容是软件开 发方法学。 (2)软件工程管理,主要有软件管理、软件工程经济 学、软件心理学。
软件工程的主要思想是将工程化原则运用到软件开发 过程,它包括3个要素:方法、工具和过程。方法是完 成软件工程项目的技术手段;工具是支持软件的开发 、管理、文档生成;过程支持软件开发的各个环节的 控制、管理。
3. 软件生命周期
将软件产品从提出、实现、使用维护到停止使用退役 的过程称为软件生命周期
分为软件定义、软件开发及软件运行维护3个阶段。维 护是持续时间最长,花费代价最大的一个阶段,软件 工程学的一个目的就是提高软件的可维护性,降低维 护代价
6个活动阶段
可行性研究与计划制定:确定系统的总体目标。参加人员有用 户、项目负责人和系统分析员,产生文档有可行性分析报告、 项目计划书等
全国计算机等级考试二级公共基 础知识_3软件工程
在笔试考试中,是一个经常考查的内容,考核的几 率为70%,主要是以选择题的形式出现,分值为2分 ,此考点为识记内容,读者应该识记软件的定义, 特点及其分类。
全国计算机等级考试二级公共基 础知识_3软件工程
1.软件的定义与组成
软件指的是计算机系统中与硬件相互依存的另一部 分,包括程序、数据和相关文档的完整集合。程序 是软件开发人员根据用户需求开发的、用程序设计 语言描述的、适合计算机执行的指令序列。数据是 使程序能正常操纵信息的数据结构。文档是与程序 的开发、维护和使用有关的图文资料。

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

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

第三章软件工程基础一、教学目标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)支撑软件(或工具软件) 。它是协调用户开发
软件的工具性软件,其中包括开发软件。
4
1.软件按功能可以分为:应用软件、系统软件和 支撑软件(或工具软件)。下面属于应用软件 的是( )C【2009年3月 】 A)编译软件
B)操作系统
C)教务管理系统
D)汇编程序
5
2. 软件按功能可以分为:应用软件、系统软件 和支撑软件(或工具软件)。下面属于系统 软件的是( B)【2010年3月 】
软件=程序+数据+文档
程序=数据结构+算法
2
2.软件的特点 1)软件是一种逻辑实体,而不是物理实体,具有抽象 性; 2)软件的生产与硬件不同,它没有明显的制作过程; 3)软件在运行、使用期间不存在磨损、老化问题; 4)软件的开发、运行对计算机系统具有依赖性,受 计算机系统的限制,这导致了软件移植的问题; 5)软件复杂性高,成本昂贵; 6)软件开发涉及诸多的社会因素。
11
4.软件工程基本目标: 付出较低的开发成本; 达到要求的软件功能; 取得较好的软件性能; 开发软件易于移植; 需要较低的费用; 能按时完成开发,及时交付使用。
12
5. 软件工程基本原则:抽象、信息隐蔽、模块化、 局部化、确定性、一致性、完备性和可验证性。
13
考点3:软件开发工具与软件开发环境
软件工程包括3个要素:方法、工具和过程。
(1)方法是完成软件工程项目的技术手段; (2)工具是支持软件的开发、管理、文档生成; (3)过程支持软件开发的各个环节的控制、管理。
8
2.软件工程过程是把软件转化为输出的一 组彼此相关的资源和活动,包含4种基本 活动:
(1)P(plan) ——软件规格说明; (2)D(do)——软件开发; (3)C(check) ——软件确认; (4)A(action)——软件演进。
1. 软件开发工具包括:需求分析工具、设计工具、 编码工具、排错工具和测试工具等。
2. 软件开发环境(软件工程环境)
14
3.2结构化分析方法
1. 需求分析方法包括: 1)结构化分析方法; 2)面向对象的分析方法。
15
结构化分析方法
结构化分析方法是面向数据流进行需求分析的 方法,采用自顶向下、逐层分解、建立系统的
20
(1)下面不属于需求分析阶段任务的是( C ) A)确定软件系统的性能需求 B)确定软件系统的功能需求 C)指定软件集成测试计划 D)需求规格说明书评审 (2)在软件开发中,需求分析阶段产生的主要文档是 ( )D
A)软件集成测试计划
B)软件详细设计说明书
C)用户手册
D)软件需求规格说明书
21
3.3 结构化设计方法
软件工程基础
1
考点1.软件的定义与组成
1.软件:指的是计算机系统中与硬件相互依存的另一部
分,包括程序、数据和相关文档的完整集合。
(1)程序是软件开发人员根据用户需求开发的、 用程序设计语言描述的、适合计算机执行的指令序 列。
(2)数据是使程序能正常操纵信息的数据结构。
(3)文档是与程序的开发、维护和使用有关的图 文资料。
A)编辑软件
B)操作系统
C)教务管理系统
D)浏览器
3. 软件是_程__序___数据和文档的集合。 【2010年3月 】
6
4. 软件危机 泛指在计算机软件的开发和维护过程中所遇到 的一系列严重问题。主要表现在成本、质量、 生产率等问题。
7
考点2:软件工程过程与软件生命周期 1. 软件工程
是应用于计算机软件的定义、开发和维护的一 整套方法、工具、文档、实践标准和工序。
17
18
(2)数据字典是结构化分析方法的核心,定义了
数据流图中每一个图形元素,使得用户和系统 分析员对于输入、输出、存储成分和中间结果 有共同的理解。
19
5.软件需求规格说明书
是需求分析的最后结果,是软件开发中重要的文档之一。 软件需求规格说明书的特点: (1)正确性; (2)无岐义性(最重要) ; (3)完整性; (4)可验证性; (5)一致性; (6)可理解性; (7)可追踪性。
性的度量标准。 在程序结构中各模块的内聚性越强,则耦合性越弱。
优秀软件应高内聚,低耦合
23
考点2:概要设计
1. 概要设计基本任务:
(1)设计软件系统结构; (2)数据结构及数据库设计; (3)编写概要设计文档; (4)概要设计文档评审。
2. 概要设计中常用的软件结构设计工具:结构图;
24
考点3:详细设计
3
3.软件的分类
根据应用目标的不同,软件可分应用软件、系统 软件和支撑软件(或工具软件)。
பைடு நூலகம்
(1)应用软件。它是在特定领域内开发,为特定目 的服务的一类软件。
(2)系统软件。它能与计算机硬件紧密配合在一起, 使计算机系统各个部分、相关的软件和数据协调、 高效的工作的软件。例如:操作系统、数据库管理系 统。
1.软件设计基础
从技术观点来看,软件设计包括软件结构设计、 过程设计、数据设计、接口设计。
从工程管理角度来看,软件设计可以分为: 概要设计和详细设计。
22
2.软件设计的基本原理
结构化软件设计方法的基本原理:
① 抽象化 ② 模块化 ③ 信息隐蔽 ④ 模块独立
衡量软件模块的独立性,使用耦合性和内聚性两个定
1. 详细设计为软件结构图中的每一个模块确定
实现算法和局部数据结构,用某种选定的表达 工具表示算法和数据结构的细节。
25
详细设计常用工具: 1. 图形工具(程序流程图、 PAD图 、N-S图、
HIPO图) 2. 表格工具(判定表) 3. 语言工具(PDL )
处理流程,以数据流图、数据字典、判定树和 判定表为主要工具,建立系统的逻辑模型。
16
4.结构化分析的常用工具
(1)数据流图(Data Flow Diagram,简称DFD ) 就是采用图形方式来表达系统的逻辑功能、数
据在系统内部的逻辑流向和逻辑变换过程,是结构 化系统分析方法的主要表达工具及用于表示软件模 型的一种图示方法。
9
软件生命周期是指软件产品从提出、实现、使
用维护到停止使用退役的过程。
10
3.软件生命周期:软件产品从提出、实现、使用维
护到停止使用退役的过程。包括软件定义、软 件开发、运行维护,主要活动阶段是:
(1)可行性研究与计划制定; (2)需求分析; (3)软件设计; (4)软件实现; (5)软件测试; (6)运行和维护。
相关文档
最新文档