软件工程基础
软件工程基础知识大全

软件工程基础知识大全本文档将提供软件工程领域的基础知识概述,包括以下几个方面:需求分析、设计、编码、测试和维护。
每个方面都将简要介绍其重要性和基本概念。
需求分析需求分析是软件工程的核心活动。
它涉及收集、定义和验证软件系统的需求,以确保软件工程师能够正确理解并满足用户的需求。
需求分析包括以下几个关键步骤:- 需求收集:与用户和利益相关者合作,收集系统需求。
- 需求定义:将收集到的需求文档化,并确保需求的一致性和完整性。
- 需求验证:通过确认和确认需求,确保其准确性和可行性。
设计软件设计是将需求转化为可执行代码的过程。
它包括以下几个方面:- 结构设计:定义软件系统的整体结构和组织方式。
- 数据设计:确定数据结构和数据库模型。
- 接口设计:定义软件模块之间的通信接口。
- 界面设计:创建用户界面,使用户可以与软件进行交互。
编码编码是根据设计规范将软件系统的逻辑转换为计算机可以执行的指令的过程。
在编码过程中,开发人员使用编程语言和开发工具来实现设计的功能。
测试软件测试是确保软件的质量和稳定性的过程。
它包括以下几个方面:- 单元测试:对软件中的各个模块进行独立测试,以确保其功能正常。
- 集成测试:将各个模块组合在一起进行测试,确保它们协同工作。
- 系统测试:对整个软件系统进行测试,确保它满足用户需求,并且没有错误或缺陷。
维护软件维护是在软件发布后持续对其进行修复和改进的过程。
维护包括以下几个方面:- 故障修复:修复已经发现的错误和缺陷。
- 功能增强:根据用户的反馈和需求,增加新功能或改进现有功能。
- 性能优化:优化软件的性能,提高其响应速度和效率。
总结:本文档介绍了软件工程的基础知识,包括需求分析、设计、编码、测试和维护。
这些知识对于开发高质量的软件系统至关重要。
希望本文档能帮助您理解和掌握软件工程的基础概念。
软件工程的基础知识

软件工程的基础知识软件工程是一门综合性的学科,旨在通过系统化的方法和工具,对软件开发过程进行管理和控制,以提高软件的质量和效率。
下面将介绍软件工程的基础知识,包括软件生命周期、需求工程、软件设计和软件测试等方面。
1. 软件生命周期软件生命周期指软件从构思、开发、维护到废弃的整个过程。
通常包括以下几个阶段:- 计划阶段:确定需求、制定软件开发计划和预算。
- 需求分析阶段:分析用户需求、制定需求规格说明书。
- 设计阶段:制定系统设计方案、编写概要设计和详细设计文档。
- 编码阶段:根据设计文档编写源代码。
- 测试和验证阶段:进行单元测试、集成测试和系统测试,确保软件质量。
- 维护阶段:修复软件缺陷、进行功能扩展和性能优化。
在软件生命周期中,不同的阶段具有不同的目标和任务,需要进行严格的管理和控制。
2. 需求工程需求工程是软件工程的重要组成部分,旨在确定用户需求,并将其转化为明确、可靠的需求规格说明书。
需求工程包括以下几个关键步骤:- 需求获取:与用户沟通、收集需求,并进行需求分析和整理。
- 需求建模:使用UML等工具建立需求模型,包括用例图、活动图、类图等。
- 需求验证:与用户确认需求的正确性和完整性,并进行需求评审和验证。
- 需求管理:对需求进行版本控制、变更管理和跟踪,确保需求的准确性和一致性。
3. 软件设计软件设计是将需求规格转化为软件结构的过程,旨在确定软件的整体架构和详细设计方案。
软件设计包括以下几个主要方面: - 结构设计:确定软件的模块划分、接口设计和数据结构设计。
- 行为设计:设计软件的算法和逻辑处理流程,确定软件的具体功能。
- 用户界面设计:设计用户界面的布局、交互方式和视觉效果,提高用户体验。
- 数据库设计:设计软件所需的数据库结构和数据存储方案。
软件设计需要综合考虑软件的功能需求、性能需求和可维护性等因素,以确保设计的准确性和可靠性。
4. 软件测试软件测试是保证软件质量的重要手段,通过检测和验证软件的功能、性能和稳定性等来发现和修复缺陷。
软件工程基础全部课程

软件工程基础全部课程一、教学内容本节课的主题是软件工程基础,我们将使用教材《软件工程导论》来进行讲解。
本节课的主要内容是第一章:软件工程基本概念。
本章主要介绍了软件工程的定义、目的、历史和发展,以及软件工程的基本原则和方法。
二、教学目标1. 让学生了解软件工程的定义、目的和发展历程。
2. 让学生掌握软件工程的基本原则和方法。
3. 培养学生对软件工程的兴趣和认识。
三、教学难点与重点重点:软件工程的定义、目的、基本原则和方法。
难点:软件工程的实践应用和案例分析。
四、教具与学具准备教具:PPT、投影仪、电脑。
学具:教材《软件工程导论》、笔记本、笔。
五、教学过程1. 引入:通过简单的例子,如手机APP的开发,引出软件工程的定义和重要性。
2. 讲解:讲解软件工程的定义、目的和发展历程。
介绍软件工程的基本原则和方法,如模块化、抽象化、测试等。
3. 案例分析:分析一些成功的软件工程案例,如、淘宝等,让学生了解软件工程在实际中的应用。
4. 讨论:让学生分组讨论软件工程在实际开发中的作用和意义。
5. 练习:让学生通过教材中的练习题,巩固所学的内容。
六、板书设计板书设计如下:软件工程的定义:定义:通过工程化的方法和技术,系统地开发、维护和管理软件的过程。
目的:提高软件的质量、效率和可维护性。
发展历程:从程序设计到软件工程。
软件工程的基本原则:模块化:将软件划分为独立的模块,降低复杂性。
抽象化:忽略无关因素,关注核心问题。
测试:通过测试来验证软件的正确性和可靠性。
软件工程的方法:需求分析:明确软件的功能和性能要求。
设计:制定软件的结构和界面设计。
实现:编写代码,实现软件的功能。
测试:对软件进行测试,发现和修复错误。
七、作业设计作业题目:1. 请简述软件工程的定义、目的和发展历程。
2. 请阐述软件工程的基本原则和方法。
3. 请分析一个你熟悉的软件,如、淘宝等,说明软件工程在其中的应用。
答案:1. 软件工程的定义是通过工程化的方法和技术,系统地开发、维护和管理软件的过程。
软件工程的基础知识

软件工程的基础知识
软件工程的基础知识包括以下内容:
1. 软件开发生命周期:软件开发生命周期指的是软件从需求获取到维护和升级的整个过程。
常见的软件开发生命周期模型包括瀑布模型、迭代模型、增量模型等。
2. 软件需求工程:软件需求工程是明确用户需求并将其转化为可实现的软件系统的过程。
包括需求获取、需求分析、需求规格化和需求验证等阶段。
3. 软件设计:软件设计是确定软件系统结构和组件之间的关系,并描述其行为的过程。
包括结构设计、详细设计、接口设计、数据库设计等。
4. 编程与实现:根据软件设计的规范和要求,使用特定的编程语言开发软件系统,并进行测试和调试。
5. 软件配置管理:软件配置管理是对软件、文档和相关组件进行版本控制和配置管理的过程,包括变更控制、配置标识、配置状态管理等。
6. 软件测试与质量保证:软件测试是为了发现和修复软件中的缺陷和错误,确保软件质量符合预期要求的过程。
包括单元测试、集成测试、系统测试和验收测试等。
7. 软件维护:软件维护是在软件发布后对其进行更新、修复和
改进的过程。
常见的软件维护类型包括改正性维护、适应性维护、完善性维护和预防性维护等。
8. 软件项目管理:软件项目管理是为了有效地规划、组织和控制软件项目开发过程的活动。
包括项目计划、资源分配、进度控制、风险管理等。
9. 软件工程标准与规范:软件工程标准与规范是为了保证软件开发过程和软件质量的一致性和可重复性而制定的一套规则和指南,如ISO/IEC 12207、CMMI等。
以上是软件工程的基础知识,掌握这些知识可以帮助开发人员更好地理解和实践软件开发过程,提高软件质量和开发效率。
计算机二级【公共基础知识】软件工程基础

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图
软件工程基础考试

软件工程基础考试(答案见尾页)一、选择题1. 软件工程的基础是什么?A. 程序设计B. 数据结构C. 计算机科学D. 需求分析2. 软件开发过程中,需求分析和系统设计的关系是什么?A. 需求分析是系统设计的依据B. 需求分析和系统设计同时进行C. 需求分析在系统设计之后进行D. 需求分析和系统设计没有必然联系3. 软件工程的三个层次及其在软件开发过程中的作用是什么?A. 应用层、系统层、理论层B. 物理层、数据层、逻辑层C. 需求层、设计层、实施层D. 开发层、测试层、维护层4. 软件开发生命周期(SDLC)的概念是什么?它包括哪几个阶段?A. 软件开发生命周期是指软件的开发过程B. SDLC包括需求分析、设计、编码、测试和维护C. SDLC是一个线性的过程D. SDLC各阶段按顺序进行,不具备迭代性5. 什么是敏捷开发方法?它与其他开发方法的区别是什么?A. 敏捷开发是一种快速开发的软件开发方法B. 敏捷开发强调团队合作和客户参与C. 敏捷开发适合大规模软件项目D. 敏捷开发与其他开发方法的区别在于流程管理6. 什么是面向对象编程(OOP)?请列举OOP的三个基本特征。
A. 封装、继承、多态B. 封装、继承、抽象C. 封装、多态、接口D. 继承、多态、接口7. 数据库管理系统(DBMS)在软件开发中的作用是什么?A. 存储和管理数据B. 提供数据查询和修改功能C. 数据库管理员(DBA)负责DBMS的管理和维护D. 所有选项都正确8. 什么是版本控制?请简述版本控制的两种主要策略。
A. 版本控制是一种软件配置管理技术B. 版本控制可以跟踪软件项目的变更C. 版本控制的主要策略有Git和SVND. 版本控制确保软件代码的安全性9. 什么是软件测试?它的目的和基本原则是什么?A. 软件测试是在软件投入运行后进行的活动B. 软件测试是为了发现软件中的错误和缺陷C. 软件测试的原则包括早期测试、缺陷倾向分布等D. 软件测试的目的是提高软件的质量和可靠性10. 什么是配置管理?它在软件开发中的作用是什么?A. 配置管理是指对软件配置项进行管理和控制的过程B. 配置管理可以确保软件配置的一致性和可追溯性C. 配置管理的主要活动包括配置标识、配置控制、配置审核等D. 配置管理有助于解决软件生命周期中的版本冲突问题11. 软件开发过程中,需求分析的主要任务是?A. 确定软件开发的功能B. 编写需求规格说明书C. 进行系统设计D. 进行程序设计12. 在软件开发中,迭代过程是为了更好地适应变化,它主要包括哪几个阶段?A. 需求分析B. 设计C. 编码D. 测试13. 软件工程中的“软件”指的是什么?A. 程序和数据B. 程序、数据和文档C. 程序和数据,可运行D. 程序、数据和用户手册14. 软件工程的发展历程中,第一个正式发布的软件开发标准是?A. ISO 9000B. CMMIC. PMBOKD.软件开发生命周期(SDLC)15. 在软件工程中,测试的目的是什么?A. 证明软件的正确性B. 找出软件中的错误C. 提高软件的质量D. 规范软件的开发过程16. 软件工程中的“软件生命周期”通常包括哪几个阶段?A. 开发B. 运行C. 维护17. 软件工程中,版本控制的主要作用是什么?A. 监控软件的修改历史B. 管理软件的版本C. 确保软件的一致性D. 保证软件的可靠性18. 软件工程中,敏捷开发方法是一种以人为核心、迭代、循序渐进的开发方法,它的核心价值包括:A. 个体和互动跨功能团队B. 可用的软件客户合作C. 响应变化随时间进化D. 面向结果19. 在软件工程中,UML(统一建模语言)是一种用于描述、构造和编写软件系统的图形化语言,它通常用于以下哪个阶段?A. 需求分析B. 设计C. 编码D. 测试20. 软件工程的定义是什么?A. 软件工程是一门研究用工程化方法构建和维护有效、实用和高质量的软件的学科。
软件工程基础

常见的数据库 系统:Oracle、 MySQL、SQL
Server、 SQLite等。
数据库系统的 基本组成:数 据库、数据库 管理系统和数 据库管理员等。
掌握数据库系统的基本原理和操作
添加 标题
数据库系统的基本概念:数据、数据库、数 据库管理系统
添加 标题
数据库系统的特点:数据结构化、数据共享 性、数据独立性、数据安全性
线性结构:线性结构是最基本的数据结构之一,它包括线性表、栈、队列等, 其特点是元素之间存在一对一的相互关系。
树形结构:树形结构是一种层次结构,它包括二叉树、多叉树、森林等,其 特点是每个节点可以包含多个子节点。
图形结构:图形结构是一种复杂的数据结构,它包括有向图、无向图、多重 图等,其特点是每个节点可以与多个节点相连。
添加 标题
数据库系统的基本模型:层次模型、网状模 型、关系模型
添加 标题
数据库系统的基本操作:创建、删除、修改、 查询数据,以及执行数据定义语言(DDL)、 数据操纵语言(DML)等操作
计算机网络
了解计算机网络的概念和分类
计算机网络定义: 将地理位置不同的 计算机通过通信线 路连接起来,实现 数据传输和资源共 享。
堆结构:堆结构是一种特殊的完全二叉树,它包括最大堆、最小堆等,其特 点是在任意一个非叶子节点上,其值都大于或等于其子节点的值。
学习常用的数据结构及其特点
数组:连续的存储空间,可 以动态调整大小
链表:节点之间通过指针相 互链接,可以动态添加和删 除节点
栈:后进先出(LIFO),只 能从顶部取元素,常用于处 理后进先出的操作序列
列、树等
掌握各种数据 结构的操作: 插入、删除、
查找等
熟悉常用的算 法:排序、查
软件工程基础

软件工程基础软件工程是日新月异、发展迅速的一门学科,它把软件设计、编程、分析和测试等工作捆绑在一起,致力于提供解决问题的方法和技术。
软件工程的核心思想是建立系统和可靠的软件,以适应不断变化的需求,实现客户期望的目标。
软件工程的基础是一种具有基本原则和模式的统一的分析和设计方法。
它的基本原则是系统的分析、设计、实施和改进的科学过程,它强调以软件可扩展性、可维护性、可复用性和可持续性为准则,以满足客户期望为目的的软件开发流程。
软件工程的基本原则是:重视质量,促进工程化,实现可维护性,提高能力,满足需求,实现可行性,提供便利,确保安全性,实现可持续发展。
这些原则可以帮助软件开发者设计高质量的软件,尤其是对系统有较高要求的大型企业级软件开发时起到关键作用。
软件工程模型主要有瀑布模型、迭代模型、螺旋模型、V模型、快速原型模型等,它们的不同点在于它们的参与者、项目生命周期的长短、资源管理的方式和发展阶段的控制方法。
瀑布模型是传统的软件开发模型,它将项目分为几个阶段,并且每个阶段只能完成一次,因此在每个阶段都需要确定该阶段的输入和输出资源,以确保下一个阶段的成功运行。
迭代模型认为软件的开发是一个迭代的过程,它将每个阶段进行重复,以达到一定的质量,这样一来,可以确保每个阶段的质量,以及最终的质量和完成的成果。
螺旋模型是一种可行的软件开发模型,它将开发流程作为一个螺旋状的轨迹,每完成一次螺旋环节就会获得一些可用的软件产品。
它强调以客户满意为目标,每一轮迭代都应有一个清晰的评估准则来进行反复测试和修正。
V模型是一种结合瀑布模型和迭代模型的软件工程模型,它将整个软件开发流程抽象成一个V形模型,从开发计划到软件释放,可以清晰地描述出开发流程,它结合了瀑布模型和迭代模型的优点,能够满足复杂项目的需求。
快速原型模型侧重于快速获得一个非常简单的系统运行状态,它适用于需求变更频繁、时间紧迫的项目。
该模型可以快速生成一个粗略的模型,用于验证需求的可行性,确保项目的成功实施。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件需求规格说明书的特点: (1)正确性; (2)无岐义性; (3)完整性; (4)可验证性; (5)一致性; (6)可理解性; (7)可追踪性。
3.3 结构化设计方法 软件设计的基本目标是用比较抽象概括的方式确定 目标系统如何完成预定的任务,软件设计是确定系统 的物理模型。 软件设计是开发阶段最重要的步骤,是将需求准确 地转化为完整的软件产品或系统的唯一途径。 从技术观点来看,软件设计包括软件结构设计、数据 设计、接口设计、过程设计。 结构设计:定义软件系统各主要部件之间的关系。 数据设计:将分析时创建的模型转化为数据结构的定 义。 接口设计:描述软件内部、软件和协作系统之间以及 软件与人之间如何通信。
判定树:从问题定义的文字描述中分清哪些是判定的 条件,哪些是判定的结论,根据描述材料中的连接词 找出判定条件之间的从属关系、并列关系、选择关系, 根据它们构造判定树。 判定表:与判定树相似,当数据流图中的加工要依赖 于多个逻辑条件的取值,即完成该加工的一组动作是 由于某一组条件取值的组合而引发的,使用判定表描 述比较适宜。 数据字典是结构化分析的核心。
(35) 检查软件产品是否符合需求定义的过程称为 ______。(A) A. 确认测试 B. 集成测试 C. 验证测试 D. 验收测试 (36) 下列工具中属于需求分析常用工具的是 ______。(D) A. PAD B. PFD C. N-S D. DFD
(37) 下面不属于软件设计原则的是______。 (C) A. 抽象 B. 模块化 C. 自底向上 D. 信息隐蔽
基本原则:抽象、信息隐蔽、模块化、局部化、确定 性、一致性、完备性和可验证性。
软件工程的理论和技术性研究
软件工程的理论和技术性研究的内容主要包括:软件 开发技术和软件工程管理。 软件开发技术包括:软件开发方法学、开发过程、开 发工具和软件工程环境。
软件工程管理包括:软件管理学、软件工程经济学、 软件心理学等内容。 软件管理学包括人员组织、进度安排、质量保证、配 置管理、项目计划等。
软件按功能分为应用软件、系统软件、支 撑软件(或工具软件)。 软件危机主要表现在成本、质量、生产率 等问题。
软件工程是应用于计算机软件的定义、开 发和维护的一整套方法、工具、文档、实 践标准和工序。
软件工程包括3个要素:方法、工具和过程。
软件工程过程是把软件转化为输出的一组 彼此相关的资源和活动,包含4种基本活动: (1)P——软件规格说明; (2)D——软件开发; (3)C——软件确认; (4)A——软件演进。
过程设计:把系统结构部件转换成软件的过程描述。
从工程管理角度来看:概要设计和详细设计。 软件设计的一般过程:软件设计是一个迭代的过程; 先进行高层次的结构设计;后进行低层次的过程设计; 穿插进行数据设计和接口设计。 衡量软件模块独立性使用耦合性和内聚性两个定性 的度量标准。 在程序结构中各模块的内聚性越强,则耦合性越弱。 优秀软件应高内聚,低耦合。
3.软件工程研究的内容主要包括( )技术和软件工 程管理 4.数据流图的类型有( )和事务型 5.软件开发环境是全面支持软件开发全过程的( ) 集合。 第三章参考答案 一.选择题 1.D 2. D 3. A 4. A 5. C 6. B 7. D 8. C 9. B 10. B 二.填空题 1) 文档 2) 数据流 3) 软件开发 4) 变换型 5) 软 件工具
3.4 软件测试
3.4 软件测试 软件测试定义:使用人工或自动手段来运行或测定某 个系统的过程,其目的在于检验它是否满足规定的需 求或是弄清预期结果与实际结果之间的差别。 软件测试的目的:发现错误而执行程序的过程。软件 测试方法:静态测试和动态测试。 静态测试包括代码检查、静态结构分析、代码质量度 量。不实际运行软件,主要通过人工进行。 动态测试:是基于计算机的测试,主要包括白盒测试 方法和黑盒测试方法。
软件生命周期
软件周期:软件产品从提出、实现、使用 维护到停止使用退役的过程。 软件生命周期三个阶段:软件定义、软件开 发、运行维护,主要活动阶段是: (1)可行性研究与计划制定; (2)需求分析 (3)软件设计; (4)软件实现; (5)软件测试; (6)运行和维护。
软件工程的目标和与原则
LOGO
全国计算机二级公共基础知识 第3部分-软件工程基础
湖南工学院 任长安
第三部分 软件工程基础
3.1 软件工程基本概念 计算机软件是包括程序、数据及相关文档的完整集合。 软件的特点包括: (1)软件是一种逻辑实体; (2)软件的生产与硬件不同,它没有明显的制作过 程; (3)软件在运行、使用期间不存在磨损、老化问题; (4)软件的开发、运行对计算机系统具有依赖性, 受计算机系统的限制,这导致了软件移植的问题; (5)软件复杂性高,成本昂贵; (6)软件开发涉及诸多的社会因素。
软件工程的目标和与原则: 目标:在给定成本、进度的前提下,开发出具有有效 性、可靠性、可理解性、可维护性、可重用性、可适 应性、可移植性、可追踪性和可互操作性且满足用户 需求的产品。 基本目标:付出较低的开发成本;达到要求的软件功 能;取得较好的软件性能;开发软件易于移植;需要 较低的费用;能按时完成开发,及时交付使用。
结构图的基本形式:基本形式、顺序形式、重复形式、 选择形式。 结构图有四种模块类型:传入模块、传出模块、变换 模块和协调模块。 典型的数据流类型有两种:变换型和事务型。 变换型系统结构图由输入、中心变换、输出三部分组 成。 事务型数据流的特点是:接受一项事务,根据事务处 理的特点和性质,选择分派一个适当的处理单元,然 后给出结果。 详细设计:是为软件结构图中的每一个模块确定实现 算法和局部数据结构,用某种选定的表达工具表示算 法和数据结构的细节。 常见的过程设计工具有:图 形工具(程序流程图)、表格工具(判定表)、语言 工具(PDL)。
软件工程原则包括抽象、信息隐蔽、模块化、局部化、 确定性、一致性、完备性和可验证性。
结构化分析方法
3.2 结构化分析方法 结构化方法的核心和基础是结构化程序设计理论。 需求分析方法有(1)结构化需求分析方法; (2)面向对象的分析的方法。 从需求分析建立的模型的特性来分:静态分析和动态 分析。 结构化分析方法的实质:着眼于数据流,自顶向下, 逐层分解,建立系统的处理流程,以数据流图和数据 字典为主要工具,建立系统的逻辑模型。
结构化分析的常用工具
结构化分析的常用工具(1)数据流图; (2)数据 字典; (3)判定树; (4)判定表。 数据流图:描述数据处理过程的工具,是需求理解的 逻辑模型的图形表示,它直接支持系统功能建模。 数据字典:对所有与系统相关的数据元素的一个有组 织的列表,以及精确的、严格的定义,使得用户和系 统分析员对于输入、输出、存储成分和中间计算结果 有共同的理解。
(56) 下列不属于软件调试技术的是______。(B) A. 强行排错法 B. 集成测试法 C. 回溯法 D. 原因排除法 (57) 下列叙述中,不属于软件需求规格说明书的 作用的是______。(D) A. 便于用户、开发人员进行理解和交流 B. 反映出用户问题的结构,可以作为软件开发工 作的基础和依据 C. 作为确认测试和验收的依据 D. 便于开发人员进行需求分析
白盒测试:在程序内部进行,主要用于完成软件内部 操作的验证。主要方法有逻辑覆盖、基本基路径测试。 黑盒测试:主要诊断功能不对或遗漏、界面错误、数 据结构或外部数据库访问错误、性能错误、初始化和 终止条件错,用于软件确认。主要方法有等价类划分 法、边界值分析法、错误推测法、因果图等。 软件测试过程一般按4个步骤进行:单元测试、集成 测试、验收测试(确认测试)和系统测试。
3.5 任务是诊断和改正程序中的错误,主要在 开发阶段进行。 程序调试的基本步骤: (1)错误定位;(2)修改设计和代码,以排除错误; (3)进行回归测试,防止引进新的错误。 软件调试可分表静态调试和动态调试。静态调试主要 是指通过人的思维来分析源程序代码和排错,是主要 的设计手段,而动态调试是辅助静态调试。主要调试 方法有:(1)强行排错法;(2)回溯法;(3)原 因排除法。
软件概要设计的基本任务是: (1)设计软件系统结构; (2)数据结构及数据库 设计;(3)编写概要设计文档; (4)概要设计文 档评审。 模块用一个矩形表示,箭头表示模块间的调用关系。 在结构图中还可以用带注释的箭头表示模块调用过程 中来回传递的信息。还可用带实心圆的箭头表示传递 的是控制信息,空心圆箭心表示传递的是数据。
5.下面不属于软件设计原则的是 A.抽象 B.模块化 C.自底向上 D.信息隐蔽 6.程序流程图(PFD)中的箭头代表的是( ) A.数据流 B.控制流 C.调用关系 D.组成关系 7.下列工具中为需求分析的常用工具的是( ) A. PAD B. PFD C. N-S D. DFD 8.在结构化方法中,软件功能分解属于下列软件开发中 的阶段是( ) A.详细设计 B.需求分析 C.总体设计 D. 编程调试
(45) 信息隐蔽的概念与下述哪一种概念直 接相关______。(B) A. 软件结构定义 B. 模块独立性 C. 模块类型划分 D. 模拟耦合度
(47) 在结构化方法中,软件功能分解属于下列软 件开发中的阶段是______。(C) A. 详细设计 B. 需求分析 C. 总体设计 D. 编程调试 (48) 软件调试的目的是______。(B) A. 发现错误 B. 改正错误 C. 改善软件的性能 D. 挖掘软件的潜能
(17) 软件需求分析阶段的工作,可以分为 四个方面:需求获取、需求分析、编写需 求规格说明书以及______。(B) A. 阶段性报告 B. 需求评审 C. 总结 D. 都不正确
(26) 下面不属于软件工程的3个要素的是______。 (D) A. 工具 B. 过程 C. 方法 D. 环境 (27) 程序流程图(PFD)中的箭头代表的是 ______。(B) A. 数据流 B. 控制流 C. 调用关系 D. 组成关系