软件工程概论知识点
软件工程概论期末复习题

软件工程概论期末复习题Document number【980KGB-6898YT-769T8CB-246UT-18GG08】期末总复习1.选择、判断、简答2.判定树和判定表3.用例图、类图、对象模型、顺序图等4.McCabe环路复杂性度量;5.黑盒测试和白盒测试6.数据流图7.成本效益分析习题一、判定树和判定表1.请用判定表画出以下问题的行为逻辑。
人们往往根据天气情况决定出门时的行装;天气可能下雨,也可能不下雨;天气可能变冷,也可能不变冷。
如果天气要下雨,出门时带上雨伞;如果天气变冷,出门时要穿上大衣。
2. 某厂对部分职工重新分配工作的政策是:年龄在20岁以下者,初中文化程度脱产学习,高中文化程度当电工。
20岁至40岁之间,中学文化程度,男性当钳工,女性当车工,大学文化程度都当技术员。
年龄在40岁以上者,中学文化程度当材料员,大学文化程度当技术员。
请用结构化语言﹑判定表或判定树描述上述问题的加工逻辑。
二、McCabe环路复杂性度量某程序的描述如下:if (( a > b && i > 10)|| (a < b && i <= 5) ) k = a;else k = b;1)画出单个条件的嵌套的分支结构;(5分)2)计算该结构的McCabe环路复杂性度量;(5分)3)为完成基本路径测试,求它的一组独立的路径。
(5分)三、测试:变量的命名规则一般规定如下:变量名的长度不多于30个字符,第一个字符必须为英文字母,其他字母可以是英文字母、数字以及下划线的任意组合。
请用等价分类法设计测试用例。
四、数据流图某教务系统具备以下功能,输入用户ID号及口令后,经验证进入教务管理系统,根据请求进行分类处理,可进行如下功能的处理:1)查询成绩:查询成绩以及从名次表中得到名次信息。
2)学籍管理:根据学生总成绩确定名次信息。
3)成绩处理:处理单科成绩并输入成绩表中。
软件工程专业知识体系

软件工程专业知识体系
软件工程专业知识体系包括以下几个方面:
1. 软件开发基础知识:计算机科学基础、算法与数据结构、编程语言等技术基础知识。
2. 软件工程基础知识:软件生命周期、需求工程、软件设计、软件测试、软件维护等软件工程基础知识。
3. 软件开发过程模型:敏捷开发、瀑布模型、融合模型等常见软件开发模型。
4. 软件开发工具和技术:IDE、版本控制、自动化测试、持续集成、代码重构等常用软件开发工具和技术。
5. 软件质量保障:软件测试、代码评审、软件度量等软件质量保障知识。
6. 项目管理:项目计划、项目管理方法论、项目成本、资源管理等项目管理知识。
7. 软件安全:软件安全概念、安全威胁、安全风险管理等软件安全知识。
8. 软件市场化:软件需求分析、营销策略、竞品分析、用户体验设计等软件市场化知识。
以上是软件工程专业知识体系的主要内容,软件工程师需要从这些方面进行系统的学习和掌握,以应对各类软件开发项目。
软件工程概论课后答案解析

第1章软件与软件工程的概念1、1 举出您所知道的应用软件的例子。
办公软件、游戏软件、财务软件、银行软件、人事管理软件、工资管理软件、学籍管理软件等。
1、2 认为“软件就就是程序,软件开发就就是编程序。
”这种观点就是否正确?为什么?认为“软件就就是程序,软件开发就就是编程序。
”这种观点就是错误的。
首先,软件就是计算机系统中与硬件相互依存的另一部分,它就是包括程序,数据及其相关文档的完整集合,程序只就是软件的组成部分之一;其次,在软件开发中,编程只就是软件开发过程的一个阶段。
1、3 如果将软件开发比作高楼大厦的建造,可以将软件的设计比作什么?可以将软件的设计比作建筑设计,软件设计的成果相当于建筑设计的设计图纸。
1、4 什么就是软件危机?它有哪些典型表现?为什么会出现软件危机?软件危机:软件危机就是指在计算机软件的开发与维护过程中所遇到的一系列严重问题。
典型表现:(1)对软件开发成本与进度的估计常常很不准确。
(2)用户对“已完成的”软件系统不满意的现象经常发生。
(3)软件产品的质量往往靠不住。
(4)软件常常就是不可维护的。
(5)软件通常没有适当的文档资料。
(6)软件成本在计算机系统总成本中所占的比例逐年上升。
(7)软件开发生产率提高的速度,既跟不上硬件的发展速度,也远远跟不上计算机应用迅速普及深入的趋势。
产生软件危机的原因:除了软件本身的特点,其原因主要有以下几个方面:(1) 缺乏软件开发的经验与有关软件开发数据的积累,使得开发工作计划很难制定。
(2) 软件人员与用户的交流存在障碍,使得获取的需求不充分或存在错误。
(3) 软件开发过程不规范。
如,没有真正了解用户的需求就开始编程序。
(4) 随着软件规模的增大,其复杂性往往会呈指数级升高。
需要很多人分工协作,不仅涉及技术问题,更重要的就是必须有科学严格的管理。
(5) 缺少有效的软件评测手段,提交给用户的软件的质量不能完全保证。
1、5 什么就是软件工程?软件工程就是指导计算机软件开发与维护的工程学科。
软件工程的知识体系SWEBOK简版

软件工程的知识体系SWEBOK软件工程的知识体系SWEBOK概述软件工程是一门研究如何通过系统化、规范化、可量化的方法来开发和维护软件的学科。
软件工程的知识体系由SWEBOK (Software Engineering Body of Knowledge,软件工程知识体系)所定义。
SWEBOK包含了软件工程领域的核心概念、方法和最佳实践,为软件工程师提供了指导和参考。
软件需求软件需求是软件工程的第一步,它涉及到定义、分析和规划软件开发项目的需求。
在软件工程知识体系中,软件需求包括以下几个重要概念:- 需求获取:通过与客户和利益相关者交流,收集并理解软件项目的需求。
- 需求分析:对需求进行分析和规范,明确软件系统的功能和性能要求。
- 需求验证:验证需求是否满足用户的期望,确保软件系统能够满足用户需求。
软件设计是软件工程中的关键环节,它涉及到创建软件系统的结构和组织方案。
在软件工程知识体系中,软件设计包括以下几个重要概念:- 结构设计:确定软件系统的整体结构和组织方式,包括模块划分、接口设计等。
- 数据设计:设计软件系统的数据结构和数据管理方案。
- 过程设计:设计软件系统的执行流程和算法,确保软件系统能够按照预期进行运行。
软件构建软件构建是软件工程中的实际编码和测试阶段,它涉及到将软件设计转化为可执行的程序代码。
在软件工程知识体系中,软件构建包括以下几个重要概念:- 编码:根据软件设计的要求,使用编程语言将软件功能实现为可执行的程序代码。
- 测试:对编码后的软件进行功能性、性能和可靠性等方面的测试,确保软件能够正确运行。
- 部署:将软件部署到目标系统中,确保软件能够正常运行并满足用户需求。
软件维护是软件工程中的最后一个阶段,它涉及到对软件系统进行修复、升级和改进,以保证其持续地满足用户的需求。
在软件工程知识体系中,软件维护包括以下几个重要概念:- 故障修复:根据用户的反馈,及时修复软件系统中的故障和缺陷。
软件工程概论PPT课件

集成测试
总结词
集成测试是在单元测试的基础上,将多个模块或组件组合在一起进行测试,以验证它们之间的集成是否正常工作。
详细描述
在软件开发过程中,当多个模块或组件完成单元测试后,需要进行集成测试来验证它们之间的交互和集成是否正 常。集成测试的目的是发现模块之间的接口问题和集成后的性能问题,以确保软件的整体功能和性能达到要求。
编码
选择编程语言
根据项目需求和团队技术能力,选择适合的 编程语言进行编码。
编码规范
制定编码规范,确保代码的可读性、可维护 性和可扩展性。
编码实现
按照设计文档和编码规范,编写代码实现各 个模块的功能。
代码审查
对编写的代码进行审查,确保其符合规范和 设计要求,并进行必要的重构和优化。
测试
单元测试
对每个模块进行单元测试,确保其功能正常、符合设计要求。
界面风格与一致性
界面设计应保持一致的风格,以提高用户对软件系统的认知和熟悉 度。
模块设计与划分
模块设计与划分概述
模块设计与划分是指将软件系统划分为一系列相互独立、可复用 的模块。
模块化设计的好处
模块化设计可以提高软件系统的可维护性、可扩展性和可重用性。
模块间的通信与协作
模块间的通信和协作是模块化设计的关键,应确保模块间的松耦 合和低耦合。
05 软件测试工程
单元测试
总结词
单元测试是对软件中的最小可测试单元进行检查和验证,通常以函数或方法为 单位进行测试。
详细描述
单元测试是软件开发过程中的一种测试方法,旨在验证软件的最小单元是否符 合设计要求和功能规范。它通常在编码阶段同步进行,以确保代码的正确性和 可靠性。单元测试的方法包括白盒测试和黑盒测试。
3.0 软件工程概述

参加者 用户/董事 会/系分 高程 程序员、 初程 另一独立 的部门
分 析 开 发 时 期 设 计 编 写 测 试 维护 时期 运 行
正确的程序模块,写 程序
发现和排除错误(必须测 试并独立测试), 得到 符合要求的软件
维护(包括改善、适应和完 善) 持久地满足用户需要的软件
程序
可运行的系统 (测试计划和测试用 例)
★软件工程研究的主要内容是软件 开发技术 和软件 开 发管理两个方面。
软件工程研究怎样入手? 了解软件生命周期,按阶段进行工程化管理。 4
三、什么是软件生命周期? 定义:一个软件从定义、开发、使用和维护,直到 最终被废弃所经历的一段漫长的时期(或者说, 是软件从开始计划到失去使用价值的整个生命周期) 整个生命周期可简单分为两个时期五个阶段。 两个时期:开发期和维护期 五个阶段:分析、设计、编码、测试、维护
改进的系统 (使用手册) 6
计划
定义 阶段
瀑布模型
需求分析 设计
开 发 阶 段
编码
测试
维护阶段
运行、维护 7
计划
瀑布模型
需求分析
设计 编码
测试 要解决什么问题,是否有可行解? 全面了解用户需求, 确定目标系统的功能和信息。 了解业务流程 确定系统的实现方案及软件模块功能。 采用某种程序设计语言及结构程序设计技术 运行、维护 在软件投入运行之前,尽可能多地发现错 书写程序。 误,即对重要的执行通路进行测试。 软件交付使用后,为了改正错误或满足需要而修 8 改软件的过程。
要求做到: ① 模块化 ②抽象化 ③ 信息隐藏
其中最重要的 是②和③
④模块独立性
抽象化含义——只抽出事物本质特征,而不 考虑细节。 其实,软件工程中的每一步都可以看作 是对软件解决方法的抽象层次的一次细化。
第1讲 软件工程概述

集 成 测 试
系 现 统 场 测 试
变更代价随时 间变化的趋势
早期 中期 晚期 时间
28
软件危机的原因
(1)没有统一的、规范的方法论的指导。 文件资料不全,忽视交流,缺乏方法论的指导 (2)忽视软件开发前期的需求分析。 编程越早,需求分析不充分,完成时间越长 (3)忽视软件文档也是造成开发效率低下的原因。 对软件开发、维护、用户都很重要 (4)忽视测试阶段的工作,或不负责任的测试员,提 交用户的软件质量差。 “错误是不可避免的”,该如何理解这句话? (5)轻视软件的维护。 (6)开发计划不合理,缺乏经验和数据积累。 29
26
3 、软件不同于一般程序 :规模庞大,必须有严格 而科学的管理。
4、软件专业人员对软件开发和维护有不少的糊涂 观念,在实践过程中或多或少地采用了错误的方法和技术, 忽视软件需求分析的重要性,认为开发软件就是写程序并 使之运行,轻视软件维护,这可能是软件危机的主要原因。
失效率 磨合 调整 磨损 用坏
24
60年代后期软件开发出现的问题
①软件开发费用和进度失控。费用超支、进度 拖延的情况屡屡发生。
②软件的可靠性差。尽管耗费了大量的人力物 力,而系统的正确性却越来越难以保证,出错 率大大增加,造成的损失惊人。
③生产出来的软件难以维护。很多程序缺乏相 应的文档资料,程序中的错误难以定位,难以 改正,有时改正了已有的错误又引入新的错误 ④用户对“已完成”的系统不满意现象经常发 生。
4
授课内容
软件工程概述 可行性研究 需求分析(UML) 概要设计(UML) 详细设计 人机交互 编码 软件测试 软件维护
5
主要学习内容:
软件工程概论_8_面向对象需求分析

• 一.面向对象分析模型的组成结构 • 二.面向对象分析模型描述工具 • 三.面向对象分析的基本过程
• 四. 面向对象分析方法
• 五. 小结
一.面向对象分析模型的组成结构
数据模型
属性、操作、协作者
功能模型
类/对象 模型
对象关系模型
使用实例
对象-行为模型
行为模型
二.面向对象分析模型描述工具
1. 用例图
2.面向对象建模 (1)建模与模型 建模是将问题域的解空间定义成一种模型,以帮助系统分析 人员更好地理解问题。 模型是为了理解问题而对问题所做出的一种抽象,而且是对 问题的一种无歧义的描述。模型由一组图示符号和组织这些 符号的规则组成。利用它们来定义和描述问题域中的术语和 概念。 建模的目的主要是为了减少复杂性。 (2)面向对象模型
2) 面向对象分析的五个层次 面向对象分析由五个主要活动组成,即确定类-&-对象、识别 结构、识别主题、定义属性和定义服务(方法)。对于一个复杂 问题的面向对象的模型可用五个层次表示:类-&-对象层、结 构层,主题层、属性层和服务层,见图3.3.8。
主题层 subject level 类-&-对象层object 结构层 structure 属性层 attribute 服务层 serves
•使用具有确切含义的名词。
• 尽量使用能表示类的含义的日常用语作名字,不要使用空洞的或含 义模糊的词作名字。例如,“库房”比“房屋”或“存物场所”更确切。
•必要时用名词短语作名字。
• 为使名字的含义更准确,必要时用形容词加名词或其他形式的名词 短语作名字。例如,“最小的领土单元”、“储藏室”、“公司员工”等 都是比较恰当的名字。
签定保险单 销售统计
客户
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
精品文档 随意编辑 软件工程概论知识点总结 第一章 软件定义:是计算机系统中与硬件相互依存的另一部分,包括程序、数据和相关文档的完整集合。 软件特性:形态特性、智能特性、开发特性、质量特性、生产特性、管理特性、环境特性、维护特性、废弃特性、应用特性。
软件分类。 (1) 系统软件 (2) 应用软件 (3) 支撑软件 (4) 可复用软件 软件危机的原因:1)缺乏软件开发的经验和有关软件开发数据的积累,使得开发工作的计划很难制定。2)软件人员与用户的交流存在障碍,除了知识背景的差异,缺少合适的交流方法和需求描述工具也是重要的一个原因。3)软件开发过程不规范,缺少方法论和规范的指导,软件难以维护。4)随着软件规模的增大,其复杂性往往会呈指数级升高。5)缺少有效的软件评测手段,提交用户的软件质量差
软件工程的定义: 1.指导软件开发和维护的工程性学科,它以计算机科学理论和其他相关学科的理论为指导,采用工程化的概念、原理技术和方法进行软件的开发和维护,把经过时间考虑而证明是正确的管理技术和当前能够得到的最好的技术方法结合起来,以较少的代价获得高质量的软件并维护
2.软件工程的目标:运用先进的软件开发技术和管理方法来提高软件的质量和生产率,也就是要以较短 周期、较低的成本生产出高质量的软件产品,并最终实现软件的工业化生产。
3.软件的生存周期:软件孕育、诞生、成长、成熟、衰亡的生存过程。由软件定义、软件开发和运行维护三个时期组成。软件定义:解决“做什么”的问题;软件开发:解决“如何做”的问题,分为概要设计、详细设计、编码和测试四个阶段;维护:使软件持久的满足用户的需求。 4.开发过程中的典型文档 a.软件需求规格说明书:描述将要开发的软件做什么。 b.项目计划:描述将要完成的任务及其顺序,并估计所需要的时间及工作量。 c.软件测试计划:描述如何测试软件,确保软件应实现规定的功能,并达到预期的性能。 d.软件设计说明书:描述软件的结构,包括概要设计及详细设计。 e.用户手册:描述如何使用软件
各阶段基本任务:问题定义与可行性研究、需求分析、软件设计、程序编码和单元测试、集成测试和系统测试。
5.软件生存期模型: 瀑布模型。优点:强迫开发人员规范化方法、严格规定每个阶段必须提交的文档、要求每个阶段交出的所有产品必须经过验证。缺点:完全依赖书面规格说明,可能会导致产品与用户需求有差异、只适用于项目开始时需求已确定的情况。需求分析、规格说明、设计、编码、综合测试、维护
快速原型模型。优点:易于满足用户真实需求、已通过与用户的交互验证,能正确描述用户需求、产品开发基本上按线性顺序、规格文档说明正确描述了用户需求,后期错误率和返工率很低、开发人员建立原型精品文档 随意编辑 系统时学到的东西有助于减少后期的错误率、快速开发有助于节约成本,原型的用途是获取用户的正真需求。
增量模型。优点:较短时间内能提交有用产品、逐步增加产品有助于用户适应学习、项目失败风险较低、优先级最高的服务首先交付,则系统核心服务接受最多测试,一般不会失败。注意:新的构件加入系统时必须不破坏已开发出的产品、体系结构必须开放,易于向其中加入新构件。
螺旋模型。四个象限:目标设定、风险估计与弱化、开发与验证、计划。优点有利于已有软件的重用,也有助于把软件质量作为开发的一个重要目标、减少了过多测试或测试不足带来的风险、维护和开发之间没有本质区别。缺点:此模型为风险驱动,要求开发人员必须具有丰富的风险评估经验,否则会意识不到风险的出现导致失败。
6.统一过程的6个核心工作流:业务建模、需求、分析与设计、实现、测试、部署 7.统一过程的4个阶段:初始阶段、细化阶段、构造阶段、移交阶段. a.主要关注项目计划和风险评估,其目的是确定是否值得开发目标系统。b.细化阶段关心定义系统的总体框架,目标是:细化初始需求,细化体系结构,监控风险并细化他们的优先级,细化业务案例以及制定项目管理计划。c.构造阶段是建立系统,构造系统的第一个具有操作性的版本,以能够交付给客户进行β测试版本结束。d.移交阶段包含β测试时期,以发布完完整的系统而终止,其目标是确保系统真正满足客户的需求。
第二章 1.软件工程方法学:软件生命周期全过程中使用的一整套技术的集合成为方法学,也称为范型。三要素:方法、工具、过程
2.传统方法的特点:传统方法学把软件生命周期的全过程依次划分为若干个阶段,然后顺序地逐步完成每个阶段的任务。每一个阶段的开始和结束都有严格的标准,对于任何两个相邻的阶段而言,前一个阶段的结束标准就是后一阶段的开始标准。(2)面向对象方法的特点:面向对象方法是将数据和对数据的操作紧密地结合起来的方法,其出发点和基本原则是尽量模拟人类习惯的思维方式,使开发软件的方法和过程尽可能接近人类认识问题和解决问题的方法与过程,适用于大型、复杂及交互性比较强的系统 3.形式化方法学:是一种基于形式化数学变换的软件开发方法,它可将系统的规格说明转换为可执行的程序。特点:软件需求规格说明书被细化为用数学记号表达的详细形式化规格说明;设计、实现和单元测试等开发过程由一个变换开发过程代替,通过一系列变换将形式化的规格说明细化成为程序。
面向对象=对象+类+继承+消息通信,面向对象程序的基本组成单位是类,核心是对象。 面向对象的开发方法:Booch方法,Rumbaugh方法,Coad和Yourdon方法,Jacobson(OSSE)方法,Wirfs-Brock方法
4. 类.现实生活中的对象经过抽象,映射为程序中的对象。对象在程序中是通过一种抽象数据类型来描述的,这种抽象数据类型称为类(Class)。
封装。面向对象的封装特性与其抽象特性密切相关。封装是一种信息隐蔽技术,就是利用抽象数据类型将数据和基于数据的操作封装在一起。用户只能看到对象的封装界面信息,对象的内部细节对用户是隐蔽的。 精品文档 随意编辑 封装的定义是:(1) 清楚的边界,所有对象的内部信息被限定在这个边界内;(2) 接口,即对象向外界提供的方法,外界可以通过这些方法与对象进行交互;(3) 受保护的内部实现,即软件对象功能的实现细节,实现细节不能从类外访问。
5. UML的特点:a.统一标准。b.面向对象。c.可视化,表达能力强大。d.独立于过程。e.容易掌握使用。f.与编程语言的关系
6. 软件工具是指能支持软件生存周期中某一阶段(如系统定义、需求分析、设计、编码、测试或维护等)的需要而使用的软件工具。 软件工具的发展:50年代末期出现了程序设计语言,60年代末提出软件工程的概念,80年代中期提出了软件过程的新概念,如今,软件工具重视用户界面的设计,不断地采用新理论和新技术
第三章 软件需求分析阶段的任务:需求获取、需求分析、需求定义和需求验证。 结构化分析方法:是一种面向数据流进行需求分析的方法。 结构化设计方法的分类:一类是根据系统的数据流进行设计,称为面向数据流的设计,或称过程驱动的设计;另一类是根据系统的数据结构进行设计,称为面向数据结构的设计,或称数据驱动的设计。
需求获取是软件生存期中决定性的一步,涉及客户、用户及开发方。 需求获取的问题:系统的目标或范围问题、需求不准确性问题、需求的易变问题 需求获取的任务:发现和分析问题,并分析问题的原因和结果的关系、与用户进行各种方式的交流,并使用调查研究方法收集信息、按照数据过程和接口观察问题的不同侧面、将获取的需求文档化,形式有用例、决策表、决策树等。
需求获取的原则:深入浅出、以流程为主线。 需求获取的过程:开发高层的业务模型、定义项目范围和高层需求、识别用户类和用户代表、获取具体的需求、确定目标系统的业务工作流、需求整理与总结(功能需求、性能需求、环境需求、可靠性需求、安全保密需求、用户界面需求、资源使用需求、软件成本消耗与开发进度需求)。
获取具体的需求:与用户进行交流、现有产品或竞争产品的描述文档、系统需求规格说明、当前系统的问题报告和改进要求、市场调查和用户问卷调查、观察用户如何工作。
软件需求分析阶段的任务:需求获取、需求分析(完整性、正确性、合理性、可行性、充分性)、需求定义、需求验证。
数据字典:以词条的方式定义在数据模型、功能模型和行为模型中出现的数据对象及控制信息的特性,给出它们的准确定义包括数据流、加工、数据文件、数据元素,以及数据源点和数据汇点。数据字典精确地、严格地定义了每一个与系统相关的数据元素。、
第四章 结构化设计方法是在模块化、自顶向下逐步细化及结构华程序设计技术基础之上发展起来的。结构化设计方法可以分为两类,一类是根据系统的数据流进行设计,称为面向数据流设计或称过程驱动设计;另一类是根据系统的数据结构进行设计,成为面向数据结构设计,或称数据驱动设计。 精品文档 随意编辑 软件设计过程包括一套原理、概念和实践,可以指导高质量的系统或产品开发。 软件设计的原则:分而治之、模块独立性(耦合和内聚)、提高抽象层次、复用性设计、灵活性性设计(降低耦合提高内聚、建立抽象、不要将代码写死、抛出异常、使用并创建可复用代码)
结构化设计(立方体图)分为概要设计(体系结构设计、接口设计、数据设计)和详细设计(过程设计) 模块的4个类型:传入模块、传出模块、变换模块、协调模块 接口设计概述:模块或软件构件间的接口设计、软件与其他软硬件系统之间的接口设计、软件与人之间的交互设计。
程序流程图(程序框图)特点:直观、清晰、易于学习和掌握,5种基本控制结构:顺序型、选择型、先判定、后判定、多情况。任何复杂的程序流程图都是由者个基本类型嵌套而成。
第五章 机器语言(二进制代码)、汇编语言(更直观、符号指令与机器指令相对应)、高级程序设计语言(用途广泛、有大量软件库,ALGLOL,FORTRAN,COBOL,Basic,Pascal,C,C++,Lisp,Prolog,Ada)、第四代语言(面向问题、非过程化程度高)
4GL缺点:整体能力不如3GL,只能面向专项应用、抽象级别较高,系统运行开销大效率低、缺乏统一的工业标准,品种繁多差异大、主要基于数据库应用的领域,不宜于科学计算、实时系统和系统软件开发。
4GL分类:查询语言和报表生成器、图形语言、应用生成器、形式化规格说明语言。 第六章 软件测试是在软件投入生产性运行之前,对软件需求分析、设计规格说明和编码的最终复审,是软件质量控制的关键步骤。
软件测试的对象:需求分析、概要设计、详细设计及程序编码等阶段所得的文档资料,包括需求规格说明、概要设计规格说明、详细设计规格说明以及源程序。
确认是一系列的活动和过程,目的在于证实在一个恰当的外部环境中软件的逻辑正确性,分为静态确认和动态确认。