软件危机?

随着计算机的广泛应用,软件生产率,软件质量远远不能满足社会发展的需求,成为社会,经济发展的制约因素,称之为软件危机

软件工程的目的?

其目的是倡导以工程的原理,原则和方法进行软件开发,以期解决出现的软件危机

软件工程的定义?

软件工程师应用计算机科学技术理论和技术以及工程管理原则和方法,按预算和进度实现满足用户要求的软件产品的工程,或以此为研究对象的学科

前期主要研究系统实现技术,后期则开始关注质量软件工程管理

计算机软件一般是指计算机系统中的程序文档

软件开发本质?

软件开发的本质可以概括为:不同抽象层术语之间的映射,以及不同抽象层处理逻辑之间的映射,涉及两个问题,一是如何实现这样的映射,二是如何管理这样的映射

映射的基本途径?

基本途径:软件建模,所谓系统建模,是指运用所掌握的知识,通过抽象,给出该系统的一个结构-系统模型,系统模型分为两大类,一类为概念模型,一类为软件模型,软件模型又分为设计模型,实现模型,部署模型

需求的五个基本性质?

(1)必要的(2)无歧义的(3)可测的(4)可跟踪的(5)可测量的

需求分类?

一类为功能需求,(功能需求规约了系统或系统构件必须执行的功能)

一类为非功能需求,非功能需求又分为

(1)性能需求(规约了一个系统或系统构件在性能方面必须具有的一些特性)

(2)外部接口需求(规约了系统或系统构件必须与之交互的用户,硬件,软件或数据库元素)

(3)设计约束(限制了软件系统或软件系统构件的设计方案的范围)

(4)质量属性需求(规约了软件产品所具有的一个性质必须达到其质量方面一个所期望的水平)

需求发现技术?

自悟,交谈,观察,小组会,提炼

需求规约的定义?

需求规约是一个软件项/产品/系统所有需求陈述的正式文档,它表达了一个软件产品/系统的概念模型

需求规约的四个基本性质?

(1)重要性和稳定性程度(2)可修改的(3)完整的(4)一致的

需求规约的四个作用?

(1)是软件开发组织和用户之间一份事实上的技术合同书,是产品功能及其环境的体现

(2)对于项目的其余大多数工作,需求规约是一个管理控制点

(3)对于产品/系统的设计,需求规约是一个正式的,受控的起始点

(4)需求规约是创建产品验收测试计划和用户指南的基础,即基于需求规约一般还会产生两个文档,初始测试计划用户系统操作描述

结构化方法的作用和主要任务?

可用于定义需求,建立待建系统的功能模型,定义满足需求的结构,给出一种特定的软件解决方案

结构化方法的三大挑战?

(1)问题空间的理解(2)人与人之间的通信(3)需求的变化性

典型的方法?

(1)结构化方法(2)面向数据结构的软件开发方法(3)面向对象方法

基本术语?

(1)数据流,数据是信息的流动,数据流是数据的流动(->表示)

(2)加工(椭圆表示)

(3)数据存储(双横线表示)

(4)数据源和数据潭(长方形表示)

需求分析?

需求分析的首要任务是建立系统功能模型,为此结构化分析方法给出来一种表达功能模型的工具,数据流图,即DFD图,是一种描述数据变换的图形化工具

建模过程?

(1)建立系统环境图,确定系统语境

(2)自顶向下,逐步求精,建立系统的层次数据流图

(3)定义数据字典

(4)描述加工(三种表达工具,结构化自然语言,判定表,判定树)

需求验证?

需求验证主要任务一般包括需求发现,需求分析需求验证

结构化设计?

(1)总体设计,目标是建立系统的模块结构,即系统实现所需要的软件模块.基本任务是把系统的功能需求分配到一个特定的软件体系结构中.两个基本概念:模块,模块调用,工具:模块结构图,层次图,HIPO图.

总体设计步骤:变换设计,事务设计

变换型数据流图,具有较明显的输入部分和变换部分之间的界面,变换部分和输出部分之间界面的数据流图,数据处理工作分为三部分,获取数据,变换数据,输出数据,数据变换是核心

事务型数据流图,接收输入数据,分析并确定对应的事务,选取与该事务对应的一条活动路径

(2)详细设计

顺序,选择,循环是结构化程序设计的基础,设计工具:程序流程图,盒图(N-S图),PAD图

结构化设计方法的基本原则自顶向下,功能分解

结构化软件设计方法是一种典型的模块化方法,即把一个待开发的软件分解成若干简单的,具有高度内聚低耦合的模块,这一过程称为模块化

耦合:指不同模块之间相互依赖程度的度量,主要几个因素,一个模块对另一个模块的引用,一个模块对另一个模块传递数据,一个模块对另一个模块施加控制

内聚:指一个模块内部个成分之间的相互关联程度的度量

深度表示控制的层数,宽度表示同一个层次上模块总数的最大值,模块扇出是指一个模块直接控制(调用)的下级模块数目,模块扇入是指有多少个上级模块直接调用它,好的软件结构,通常顶层模块扇出比较大,中间成模块扇出较小,底层模块具有较大扇入,呈葫芦状

概念设计规约主要内容?

(1)系统环境,包括硬件,软件接口,人机界面,外部定义的数据库及其与设计有关的限定条件

(2)软件模块的结构,包括模块之间的接口及设计的数据流和主要数据结构等

(3)模块描述,包括模块接口定义,模块处理逻辑及必要的注释

(4)文件结构和全局数据文件的逻辑结构,包括记录描述,访问方式以及交叉引用信息等

(5)测试需求等

面向对象方法?

是一种根据客体之间的关系来建造系统模型的系统化方法,开发方法:面向对象分析(OOA)面向对象设计(OOD)

UML是什么?

uml是一种可视化,可用于规约和构造系统的制品,建立系统制品的文档,这意味着uml可作为软件需求规约,设计和实现的工具

八个术语?

(1)类与对象:类是一组具有相同属性,操作,关系和语义的对象的描述.对象是一个类的实例. +公有,#受保护的,-私有的,~包内的

(2)接口:接口是一个操作的集合,每个操作描述了类,构件或子系统的一个服务. 采用<<interface>>来表示,用虚线箭头表示实现关系,用<<use>>表示使用关系

接口只可以被其他类目使用,而其本身不能访问其他类目

接口描述类(构件或子系统)的外部可见操作,通常是该类的一个特定有限行为

接口不描述其中操作的实现,也没有属性和状态

接口之间没有关联泛化,实现,依赖,但可以参与泛化,实现和依赖

(3)协作:是一个交互,涉及交互的三要素,交互各方,交互方式,交互内容

(4)用况:是对一组动作序列的描述,系统执行这些动作应产生对特定参与者有值的,可观察的结果

(5)主动类:是一种至少具有一个进程或线程的类

(6)构件:是系统设计中的一种模块化组件,通常外部接口隐藏了它的内部实现

(7)制品:是系统中包含物理信息的,可替代的物理部件

(8)节点:是在运行时的物理元素,通常表示具有记忆能力和处理能力的计算机资源

为表达各类事物之间的关系,四个术语?

(1)关联:是类目之间的一种结构关系,用一条连接两个类目的线段表示

(2)泛化:是一般性类目(父类)和它较为特殊性的类目(子类)之间的关系,用带空心三角形(父类端)的线段表示,泛化的四个约束:完整,不完整,互斥,重叠

(3)细化:是类目之间的语义关系,一个类目规约保证另一个类目执行的契约,用带空心三角形的虚线表示

(4)依赖:是一种使用关系,描述一个类目使用另一个类目的信息和服务,有向虚线段表示

注解

UML图形化工具?

结构图:表达系统或系统成分的静态结构模型,给出系统或系统成分的一些说明性信息

行为图:表达系统或系统成分的动态结构模型,给出系统或系统成分的一些行为信息

类图:类图是可视化的表达系统静态结构模型的工具,通常包括类,接口,泛化,关联和依赖关系等

use case图(用况图):给出系统的动态性描述,包含六种元素,主题,用况,参与者,关联,泛化,依赖

状态图:是显示一个状态机的图,强调从一个状态到另一个状态的控制流,初始状态○,最终状态▣,正常状态(圆角矩形),转移→

顺序图:是一种交互图,即由一组对象以及按时序组织的对象之间的关系组成,其中还包含了这些对象之间所发送的消息,异步(枝型箭头),同步(实心三角箭头),同步回复(枝型箭头虚线)

为什么UML要和RUP搭配使用?

作为软件开发方法学,为了支持软件开发活动,只是包括三个内容:一是应给出定义不同抽象层的术语,二是应给出个抽象层的模型表达工具,三是应给出如何把各层模型映射为下一个抽象层的模型,及过程指导,而UML只包含了前面两个内容,因此UML是一种可视化建模语言,而不是一种特定的软件开发方法学

软件开发方法学包含三个部分?

一是用于表达基本信息的术语

二是用于组织基本信息的表达格式

三是在不同抽象层之间进行映射的过程指导

RUP是什么?

RUP是基于UML的过程框架,为软件开发,即为进行不同抽象层之间映射安排其开发活动次序,指定任务和需要开发的制品,提供了指导,并对项目中的制品和活动进行监控与度量

RUP的特点?

是一种以用况为驱动,以体系结构为中心的迭代,增量式开发

用况?

用况是分析,设计,实现和测试的基本输入,分析,设计,实现和测试的结果都可以跟踪到相应的用况,用况的三类事物,一是系统与参与者之间的接口,二是实现接口的活动和属性,三是对前两者进行协调和控制的机制

体系结构为中心的RUP四个阶段?

初始阶段,细化阶段,构造阶段,移交阶段,每一阶段都有同样的工作流即,需求,分析,设计,实现和测试

迭代,增量式开发是指通过开发活动的迭代,不断的产生相应的增量

RUP术语?

分析类:是一种粒度比较大的类,有责任,概念的属性和关系,分为边界类,实体类,控制类

分析包:体现局部化,问题分离等软件设计原理

用况细化:是一个协作,可用于对系统用况模型中的用况进行精化

RUP设计目标?

定义满足系统/产品分析模型所规约需求的软件结构

RUP设计层四个术语?

设计类,用况细化,设计子系统和接口

RUP的设计方法?

(1)给出用于表达设计模型中的基本成分的4个术语,包括子系统,设计类,接口和用况细化

(2)规约了子设计模型的语法,指导模型的表达

(3)给出了创建设计模型的过程以及相应的指导

RUP设计对实现的影响?

设计子系统和服务子系统是由实现子系统予以实现的,这些实现子系统包括一些构件,如源代码,脚本以及二进制,可执行的构件等.

设计类将由文件化构件予以实现,文件化构件包括源代码

在规划实现工作时,将要使用用况细化以产生一些构造,即系统的一个可执行版本

在节点上部署构件,形成分布式系统时,将使用部署模型和网络配置

RUP实现的目标?

基于设计类和子系统生成构件,对构件进行单元测试,进行集成和连接,把可执行的构件映射到部署模型

RUP的测试?

RUP的测试包括,内部测试,中间测试和最终测试

软件评估?

软件评估分为静态评估动态评估,评审,走查形式化证明是静态评估技术,软件测试是动态测试技术

软件测试技术?

基于程序路径的白盒测试技术,又称结构测试技术,典型的是路径测试技术

基于规约的黑盒测试技术,又称功能测试技术,包括事务处理流程技术,状态测试技术,定义域测试技术

白盒依据的是程序的逻辑,黑盒依据的是软件行为的描述

软件测试目标?

首要目标是预防错误,第二目标是发现错误

软件测试的定义?

使用人工或自动的手段,运行或测定某个系统的过程,其目的是检验它是否满足规定的需求,或清楚了解预期结果与实际结果直接的差异

错误是指与期望的设计之间的偏差,失效是指所规约的系统执行之间的偏差,故障是指导致错误或失效的不正常的条件

软件测试的过程?

软件测试是一个有程序的过程,包括测试设计,测试执行以及测试结果对比

路径测试技术?

使用控制流程图来表达被测程序模型,揭示程序中的控制结构

通过合理的选择一组穿过程序的路径,已达到某种测试度量

控制流程图?

基本元素:过程块,节点,判定

测试策略:

路径覆盖:执行所有可能穿过程序控制流程的路径,在路径测试中,该度量是最强的

语句覆盖:至少执行程序中的所有语句一次,是一种最低的测试度量

分支覆盖:至少将程序中的每一个分支执行一次,是一种比语句覆盖稍强的覆盖

条件覆盖:是指每个判定中的所有可能的条件取值至少执行一次

条件组合覆盖:是指设计足够的测试用例,是每个判定中的所有可能的条件取值组合至少执行一次

语句覆盖<分支覆盖<条件组合覆盖<路径覆盖

最小的强制性测试需求是语句覆盖率

什么是路径测试技术?

是一种简单,实用的单元测试技术,是基于程序逻辑结构的,采用控制流程图作为模型表达工具,路径选取是测试用例设计的基础

基于事务流的测试技术?

分为:操作,分支,节点,链

测试的基本步骤:定义有用的图形模式,设计并执行必要的测试用例,覆盖该图形所表达的行为

事务流程图和控制流程图的差异?

基于模型元素所表达的语义不同

一个事务不同于路径测试中的一条路径

事务流程图中的分支和阶段可能是一个复杂的过程

事务流程图的判定?

事务产品一个新事务,称为并生

事务产生两个新事务,称为丝分裂

事务被另一个事务吸食,称为吸收

两个事务结合生成一个新事务,称为结合

事务流程图和控制流程图在语义上更复杂,具有很差的结构,原因?

(1)它是一个处理流程,可能包含人工的判断和处理

(2)某些部分可能与软件人员不能控制的行为有关

(3)性能的增加,可使事务数目和单个事务处理流程具有相当的复杂性

(4)事务流程表达的系统模型更接近现实,如中断,多任务,同步,并行处理等

什么是事务流测试技术?

是将路径测试技术用于功能测试技术的产物,是基于软件规约的,采用事务流程图作为模型表达工具,基于事务的基本属性,事务处理流程测试要求达到基本事务的覆盖

等价类划分技术?

等价类划分方法是把软件所有可能的输入数据,形成一些等价类,即在一个部分中各个输入数据对于发现软件中错误的概率是一样的,然后从每一部分中选取数据作为测试用例,进行软件测试

划分等价类?

有效等价类:是指对于程序的规格说明来说,是合理的,有意义的输入数据集合

无效等价类:是指对于程序规格说明来说,是不合理的,无意义的输入数据集合

划分等价类原则:

(1)如果某个输入条件规定了输入数据的取值范围,则可以确定一个有效等价类和两个无效等价类,比如1-100,1<有效<100,无效<1,无效>100

(2)如果某个输入条件规定了输入数据的个数,则可以划分一个有效等价类和两个无效等价类

比如:1~2,1<=有效<=2,无效<=1,无效>=2

(3)如果输入条件规定了输入数据的一组可能取的值,则可以为每一个输入值确定一个有效等价类,而针对这一组值确定一个无效等价类,无效等价类是所有不符合的集合

(4)如果输入条件是一个布尔量,则可以确定一个有效等价类和一个无效等价类

(5)如果某个条件规定了必须符合的值,则可以划分一个有效等价类和一个无效等价类

边界值和等价类的区别?

边界值分析着重于边界的测试,应选取等于,小于或者大于边界的值作为测试数据,而等价类划分是选取等价类中的典型值或者任意值作为测试数据

因果图?

因果图是设计测试用例的一种工具,着重检查各种输入条件的组合

基本步骤:

(1)通过软件规格说明书,找出一个模块的原因和结果,并赋予一个标识符

(2)分析原因和结果之间以及原因和原因之间对应的关系,并画出因果图

(3)在因果图上标识出一些特定的约束或限制条件

(4)把因果图转换成判定表

(5)把判定表每一列按出来作为依据,设计测试用例

软件测试步骤?

合理的测试序列:单元测试,集成测试,有效性测试和系统测试

单元测试主要检验软件设计的最小单元-模块.一般采用白盒测试技

有效性测试目标:是发现软件实现的功能和需求规格说明不一致的错误,采用黑盒测试技术

软件测试的目标是揭示错误

软件生存周期模型?

瀑布模型:

将软件生存周期的各项活动规定为按固定顺序而连接的若干阶段工作,形如瀑布流水,最终得到软件产品

各开发阶段活动:系统需求,软件需求,需求分析,设计,编码,测试,运行

优点:

在决定系统怎么做之前存在一个需求阶段,对系统进行规约

在系统构造之前存在一个设计阶段,鼓励规划系统结构

在每一阶段结束时进行评审,从而允许获取方和用户参与

前一步可作为下一步被认可,文档化的基线,并允许基线和配置早期接受控制

缺点:

无法通过开发活动澄清本来不够确切的软件需求,导致开发出的软件并不是用户真正需要的软件,要进行返工或不得不在维护中纠正需求的偏差

主要问题:

要求客户完整,正确和清晰的表达他们的需求,一开始就有解决

由于需求的不稳定性,使设计,编码,测试阶段都可能发生延期

在开始阶段,很难评估真正的的进度状态

在一个项目的早期阶段,过分强调了基线和里程碑处的文档

增量模型:

意指需求可以分组,形成一个个的增量,该模型有个前提,即需求可结构化,适用于技术驱动

优点:

第一个可交付版本所需要的成本和时间较少,可减少开发由增量表示的小系统承担的风险

由于很快发布第一个版本,可以减少用户需求的变更

允许增量投资

缺点:

如果没有对用户的变更需求进行规划,那么产生的初始增量可能会造成后来增量的不稳定

如果需求早期考虑的不稳定和完整,那么一些增量可能需要重新开发

由于进度和配置的复杂性,可能增大管理成本,超出组织能力

演化模型:

主要是针对事先不能完整定义需求的软件开发的

每一迭代过程:需求,设计.编码,测试,集成

主要特征:

显式的把需求获取扩展到需求阶段,即为了第二个构造增量,使用了第一个构造增量和精化需求

不足:

在演化模型的使用中,即使很好的理解了需求或设计,也很容易弱化需求分析阶段的工作

螺旋模型:

是在瀑布模型和演化模型的基础上,加入两者所忽略的风险分析所建立的一种软件开发模型

四个活动:制定计划,风险分析,实施工程,客户评估

优点:

关注解决问题的基本步骤,即标识问题,遵循动作步骤并实施后续工作

与增量和演化模型相比,增加了一些管理活动和支持活动

如果项目的开发风险很大或客户不能确定系统需求,这时选择螺旋模型不错

喷泉模型:

体现了软件创建所固有的迭代和无间隙的特征,表明软件活动需要多次重复

主要用于支持面向对象技术的软件开发

软件基本过程?

获取过程,供应过程,开发过程,运行过程,维护过程

七个过程组,四十三个过程?

系统语境类:

协议过程组:

获取过程,供应过程

项目过程组:

项目规划过程,项目评估过程,决策管理过程,风险管理过程,配置管理过程,信息管理过程,测量过程

技术过程组:

利益攸关方需求定义过程,系统需求分析过程,系统体系结构设计过程,实现过程,系统集成过程,系统测试过程,软件安装过程,软件接受支持过程,软件运行过程,软件维护过程,软件销毁过程

组织上项目使能过程组:

生存周期模型管理过程,基础设施管理过程,项目包管理过程,人力资源管理过程,质量管理过程

软件开发类:

软件实现过程组:

软件实现过程及其底层过程,软件需求分析过程,软件体系结构设计过程,软件详细设计过程,软件构造过程,软件集成过程,软件测试过程

软件支持过程组:

软件文档管理过程,软件配置管理过程,软件质量保障过程,软件验证过程,软件确认过程,软件评审过程,软件审核过程,软件问题解决过程

软件复用过程组:

领域工程过程,复用程序管理过程,复用资产管理过程

过程描述?

供应过程:为获取方提供满足所协商需求的产品或服务

软件实现过程:是为了生产一个已规约系统的元素,作为一个软件产品或服务而实现的

软件需求分析过程:建立系统软件部分的需求

软件体系结构设计过程:为软件的实现及其可以按需求进行验证,提供一种设计

软件验证过程:证实一个过程或项目的每一软件工作产品/服务是否正确的反映了所规约的需求

软件确认过程:证实所期望使用的软件工作产品是否满足其需求

过程管理计划?

软件工程管理计划,软件配置管理计划,软件质量保证计划,软件验证和确认计划,软件度量计划

成熟度模型?

软件能力成熟模型

系统工程能力模型

集成产品开发能力成熟度模型

过程途径的基本假定:系统或产品的质量高度受开发和维护中所使用的过程质量的影响

三个质量支撑点:人员,规程和方法以及工具

CMMI的模型部件?

CMMI是一种过程改善框架

CMMI由一些过程域组成,过程域有自己的确定专用目标和共用目标,过程域及其专用目标,共用目标是CMMI必要的模型部件,用圆角长方形表示

每个专用目标和共用目标的实现,分别依赖一些实践,包括专用实践和共用实践,用菱形表示

每个专用实践有自己的子实践和确定的典型工作产品,每个共用实践有自己的子实践和有关该共用实践的精化,用椭圆表示

为了每个过程域表达清楚,还有意图陈述,简介性注释以及相关过程域也用椭圆表示

简述CMMI的模型部件?

过程域:是一个业务域中一束相关的实践

专用目标:用于描述满足该过程域必须呈现的一些独有特征

专用实践:对于达到该过程域的专用目标是重要活动,即期望以专用实践所描述的活动

共用目标:用于描述实现制度化的该过程必须呈现的特征

共用实践:被认为对于达到该过程域相关的共用目标是重要的活动

典型工作产品:是专用实践所产生的输出样品

子实践:是对专用实践,共用实践的详细描述

共用实践的精化:为一个共用实践唯一的应用于一个过程域,提供了相关指导

意图陈述:用来描述该过程域的意图

简介性注释:用来描述该过程域所涉及的主要概念

相关过程域:用来描述该过程域所引用的相关过程域

CMMI等级?

能力等级:是一种过程改善路径,该路径可使组织针对单一过程域不断改善该过程域

0级:未完成级

1级:已执行级

2级:已管理级

3级:已定义级

4级:已定量管理级

5级:持续优化级

在CMMI中,把达到共用目标1到共用目标5的过程称为:已执行过程,已管理过程,已定义过程,已定量管理过程,持续优化过程

包含七个过程域:配置管理,测量与分析,项目监控,项目规划,过程和产品质量保证,需求管理,提供方协议管理

成熟度等级:也是一种过程改善路径,可使组织通过关注一组过程域不断改善一组相关的过程域

1级:初始级

2级:已管理级

3级:已定义级

4级:已定量管理级

5级:持续优化级

什么是软件危机?主要表现在那些方面?

1.随着计算机的广泛应用,软件生产率软件质量远远满足不了社会发展的需求,成为社会,经济发展的制约因素,这一现象称为'软件危机'

2.主要表现在(1)超出经费预算(2)项目交付时间拖延(3)不能满足用户要求(4)可维护性差(5)可靠性差

软件工程概念及提出目的?软件工程本质以及涉及到的问题?

1.软件工程是应用计算机科学理论和技术以及工程管理原则和方法,按预算和进度实现满足用户要求的软件产品的工程,或以此为研究对象的学科;概念的提出是倡导以工程的原理,原则和方法进行软件开发,以期解决软件危机

2.软件开发的本质概括为,不同抽象层术语之间的映射,以及不同抽象层处理逻辑之间的映射;涉及的两个问题(1)一是如何实现这样的映射(2)二是如何管理这样的映射,以保障映射的有效性和正确性

简述结构化方法详细设计的任务和目标?

(1)任务是具体描述模块结构图中的每一个模块,即给出实现模块功能的实施机制,包括一组例程和数据结构,从而精确的定义了满足需求所规约的结构

(2)目标是将总体设计阶段所产生的系统高层结构映射为以这些术语表达的低层结构,也是系统的最终结构

概要设计规约的主要内容?

(1)系统环境,包括硬件,软件接口,人机交互,外部定义的数据库及其设计有关的限定条件等

(2)软件模块的结构,包括模块之间的接口及设计的数据流和主要数据结构等

(3)模块描述,包括模块接口定义,模块处理逻辑和必要的注释等

(4)文件结构和全局数据文件的逻辑结构,包括记录描述,访问方式以及交叉引用信息等

(5)测试需求等

需求规约的概念和主要性质?

需求规约是一个软件项/产品/系统所有需求陈述的正式文档,它表示了一个软件产品/系统的概念模型

性质:(1)重要性和稳定性程度,按需求的重要性和稳定性对需求进行分级

(2)可修改的(3)完整的(4)一致的

数据流程图(DFD)

顶层数据流图:即画整个系统的输入输出(画系统也可以将各子系统分开画)。

0层数据流图:画系统的内部。

流程图

用况图

因果图方法生成测试用例的基本步骤?

1.通过对软件规格说明书的分析,找出一个模块的原因和结果,并给出每个原因和结果赋予一个标识符

2.分析原因与结果之间以及原因与原因之间的关系,并画出因果图

3.在因果图上标识出一些特定的约束或限制条件

4.把因果图转换成判定表

5.为判定表的每一例设计测试用例

简述验证和确认以及它们的区别?

系统体系结构深度,模块的扇入扇出?

分支覆盖,路径覆盖,语句覆盖,条件覆盖,条件组合覆盖,覆盖强度?

边界值分析和等价类划分技术?

白盒黑盒测试技术?

UML和RUP之间的关系,RUP设计模型以及包含的元素?

瀑布模型?

增量模型的优缺点?

事务设计的基本步骤?

1.设计准备,复审并精化系统模型

2.确定事务中心

3.设计系统模块结构图的顶层和第一层

4.自顶向下,逐步求精

软件工程结构化建模的方法和工具_计算机科学与技术专业自考-软件工程相关推荐

  1. 软件工程结构化建模的方法和工具_软件工程概述(遥感院童鞋自取)

    完整版pdf:http://www.northgis.cn/download/ 目录 ref="https://http://zhuanlan.zhihu.com/write#_Toc962 ...

  2. 软件工程结构化建模的方法和工具_2020年6月——北京大学《软件工程》笔记

    1软件工程概述 一.软件的定义 计算机系统种的程序及其文档. 程序:计算机任务的处理对象和处理规则的描述. 文档:为了便于理解程序所需要的阐明性资料. ●软件是无形的.不可见的逻辑实体 ●软件是设计开 ...

  3. 软件工程结构化建模的方法和工具_软件工程导论知识点梳理之概念题

    1. 软件的定义:软件是程序.数据及开发.使用和维护程序需要的所有文档的完整集合. 例:在信息处理和计算机领域内,一般认为软件是程序.文档和数据. 2.软件的分类: 按照应用场景:系统/应用软件 按照 ...

  4. 软件工程结构化建模的方法和工具_系统架构师之——软件开发方法

    不管你是开发人员,还是互联网行业人员,基本上经常看到各种各样的软件相关的图,如什么架构图什么设计图什么模式图甘特图等.很多时候总是傻傻分不清.对此,我们很有必要对系统开发基础知识有认知.对于一名程序员 ...

  5. 软件工程结构化建模的方法和工具_软件工程导论复习题

    软件工程复习题 一.单选题 1.软件开发的结构化设计(SD)方法,全面指导模块划分的最重要原则应该是( c ) A模块高内聚 B模块低耦合 C模块独立性 D程序模块化 2.软件工程方法的提出起源于软件 ...

  6. 软件工程结构化建模的方法和工具_软件工程系列-结构化设计方法2

    本系列文章为笔记,内容根据北京大学<软件工程>MOOC 初始化模块结构图精化的启发式规则 常见的启发式规则 什么叫做"启发式" 根据设计准则,从长期的软件开发实践中,总 ...

  7. 计算机教育杂志有核心期刊吗,计算机光盘软件与应用期刊_计算机科学与技术专业必修课_计算机科学与技术专业的好处...

    求影视后期专业毕业论文参考文献10本,急!在线等 稍稍一等啊!作者:书名/文章标题:出版社/报刊名:出版年月/报刊年份.期号 1.是渊红:数字影视后期合成技术及其应用:<电视技术>:200 ...

  8. 提高计算机系统性能的方法或者技术,互联网内容审计系统性能优化方法的研究-计算机科学与技术专业论文.docx...

    互联网内容审计系统性能优化方法的研究-计算机科学与技术专业论文 摘要近年来,互联网络以其快速的信息传递和广泛的资源共享深入到了人类 摘要 近年来,互联网络以其快速的信息传递和广泛的资源共享深入到了人类 ...

  9. 计算机硬件的培养方向,计算机科学与技术专业(软件技术方向)学校培养标准(7页)-原创力文档...

    附件 1: 计算机科学与技术专业(软件技术方向)学校培养标准 一.专业培养标准 本专业毕业生应具备计算机软件,计算机硬件,网络技术,多媒体技术等较 宽领域的工程技术基础理论和专业知识:掌握一门外语:同 ...

最新文章

  1. windows mobile设置插移动卡没反应_ipad pro外接移动硬盘ipados
  2. 解读Raft(二 选举和日志复制)
  3. 《web全栈工程师的自我修养》阅读笔记
  4. 正则表达式的简单认识
  5. 防火墙及其功能(转)
  6. cannot resolve symbol xxxx问题
  7. 添加列属性_css多列属性
  8. 一些上流的CSS3图片样式
  9. C#.NET里面的多线程处理
  10. Vue的单页应用中如何引用单独的样式文件
  11. Java习题>|异常>|throw自定义异常小案例
  12. git 对比两个分支差异
  13. Linux桌面没有minidwep,ubuntu 12.04完整安装minidwep-gtk教程
  14. Webmax简易入门操作手册(二)
  15. 贴片发光二极管/LED灯正负极判断
  16. 庄子 汝身非汝有也。
  17. 直流电源线缆 高速电缆 分类
  18. linux密码配置文件详解,用户配置文件与密码配置文件
  19. HNUCM-XP的点滴(水题)
  20. 【论文阅读】Entity Structure Within and Throughout: Modeling Mention Dependencies for Document-Level Relat

热门文章

  1. 古有愚公移山,今有冤种搬家~某人含泪写完了搬家脚本~~
  2. RFID在布草洗涤中的应用
  3. sonarqube导出PDF报告
  4. 【听】像ted一样演讲,论公众场合打鸡血的技巧
  5. VBoxManage命令详解技术文章
  6. 学习算法时老师讲的有趣的数学小段子
  7. java 线程(二)线程常用方法
  8. Android选中添加边框,ImageView添加边框的正确姿势
  9. 蓝牙运动耳机十大名牌排行,最值得入手的六款运动耳机推荐
  10. 【Gin⭐012】Go语言Gin框架-错误信息翻译成中文