软件工程软考知识点(模型,测试,开发方法,结构化设计,项目管理)

软件开发模型

  • 瀑布模型
  • 原型模型
  • 增量模型
  • 螺旋模型
  • V模型
  • 喷泉模型(SDLC)
  • 构建组装模型(CBSD)
  • 快速开发模型(RAD)
  • 统一过程(UP)
  • 敏捷开发方法
  • 信息系统开发方法
  • 需求分类
  • 结构化设计
  • 软件测试原则与类型
  • 软件用例
  • 测试阶段
    • 单元测试
    • 集成测试
    • 确认测试
    • 系统测试
  • McCabe复杂度计算
  • 系统运行与维护
  • 软件过程改进(CMMI)
  • Gantt图和PERT图(求最晚开始时间)
  • 风险管理
  • 成本估算模型
    • Putnam模型
    • COCOMO模型
  • 软件质量

瀑布模型

属于结构化方法模型的典型代表
软件工程软考知识点(模型,测试,开发方法,结构化设计,项目管理)_第1张图片
缺陷:需求阶段难以把控
适用于:需求明确或者二次开发的软件

原型模型

软件工程软考知识点(模型,测试,开发方法,结构化设计,项目管理)_第2张图片
原型
原型就是定位于需求不明确的情况下,先构造一个简易的系统,比如先设计界面,然后给甲方看,让它提更多细节上的需求并 一 一 记录

增量模型

软件工程软考知识点(模型,测试,开发方法,结构化设计,项目管理)_第3张图片
增量模型就是先写小部分,然后拼凑在一起,然后再写小部分慢慢往上搭,就是增量模型,强调就是一块一块做,好处就是核心模块可以提早和甲方接触,避免最后才发现需求有误的问题

增量开发是把软件产品作为作为一系列的增量构建来设计、编码、集成和测试,每个构建由多个相互作用的模块构成,并且能够完成特定的功能,
其优点包括:
能在较短时间内向用户提交可完成一些有用的工作产品
逐步增加产品的功能可以使用户有较充裕的时间学习和适应新产品;
项目失败的风险较低;
优先级高的服务首先交付,使得最重要的系统服务将接受最多的测试

螺旋模型

软件工程软考知识点(模型,测试,开发方法,结构化设计,项目管理)_第4张图片
其特征是多个模型组合起来
其模型最大特点就是引入了风险分析

V模型

软件工程软考知识点(模型,测试,开发方法,结构化设计,项目管理)_第5张图片
该模型测试为更重要的地位

喷泉模型(SDLC)

在这里插入图片描述

其特点为面向对象的模型

构建组装模型(CBSD)

软件工程软考知识点(模型,测试,开发方法,结构化设计,项目管理)_第6张图片

其极大的提高了软件的复用性,使得软件开发总时长极大的减小,使软件的成本降低,使软件的可靠性增加

快速开发模型(RAD)

软件工程软考知识点(模型,测试,开发方法,结构化设计,项目管理)_第7张图片
由瀑布模型和构建化开发模型组合的模型
用可视化开发就差不多算RAD了
其最大特点为快速构建应用系统

统一过程(UP)

软件工程软考知识点(模型,测试,开发方法,结构化设计,项目管理)_第8张图片
统一过程模型是一种以用例驱动和风险驱动,以架构为中心,迭代并且增量的开发过程模型
起始阶段专注于项目的初创活动
精化阶段理解了最初的领域范围之后,进行需求分析和架构演进
构建阶段关注系统的构建,产生实现模型
移交阶段关注于软件提交方面的工作,产生软件增量
产生阶段运行软件并监控软件的持续作用,提供运行环境的支持,提交并评估缺陷报告和变更请求

敏捷开发方法

软件工程软考知识点(模型,测试,开发方法,结构化设计,项目管理)_第9张图片
适用于小型项目

信息系统开发方法

软件工程软考知识点(模型,测试,开发方法,结构化设计,项目管理)_第10张图片

需求分类

软件工程软考知识点(模型,测试,开发方法,结构化设计,项目管理)_第11张图片
软件需求包括功能需求、非功能需求和设计约束三个方面的内容
功能需求:对所开发的软件必须具备什么样的功能
非功能需求:指产品必须具备的属性或者品质,例如可靠性,性能,响应时间,拓展性等等
设计约束:对解决方案的一些约束说明

结构化设计

软件工程软考知识点(模型,测试,开发方法,结构化设计,项目管理)_第12张图片
通常,可以按照在软件系统中的功能将模块分为四种类型
1.传入模块:取得数据活输入数据,经过某些处理,再将其传送给其他模块
2.传出模块:输出数据,在输出之前可能进行某些处理,数据可能呗输出到系统的·外部
3.变换模块:从上级嗲用模块得到数据,进行特定的处理,转换成其他形式,在将加工结果返回给调用模块
4.协调模块:一般不对数据进行加工,主要是通过调和‘、协调和管理其他模块来完成特定的功能

软件测试原则与类型

软件工程软考知识点(模型,测试,开发方法,结构化设计,项目管理)_第13张图片

软件用例

软件工程软考知识点(模型,测试,开发方法,结构化设计,项目管理)_第14张图片

测试阶段

软件工程软考知识点(模型,测试,开发方法,结构化设计,项目管理)_第15张图片

单元测试:在模块编写完成且无编译错误后进行,侧重于模块中的内部处理逻辑和数据结构
接收测试:主要是用户为主的测试
安装测试:将软件系统安装在实际运行环境的测试
回归测试:系统有任何修改的情况下,需要重新对整个软件系统进行的测试

单元测试

单元测试也称为模块测试,在模块编写完成且无编译错误后就可以进行,通常是白盒测试,在编码阶段进行测试,单元测试侧重于模块中的内部处理逻辑和数据结构,单元测试主要检查模块的以下5个特征:模块接口、局部数据结构、出错处理和边界条件
在其软件开发过程中,单元测试阶段的测试目标来自于详细设计和实现阶段
具体看书 p17下方解释

集成测试

集成测试主要发现概要设计阶段产生的错误,通常黑盒测试或灰盒测试,其集成的方式可分成非增量式集成和增量式集成,
非增量式集成式先测试所有的模块,然后把这些模块集成在一起对整个程序进行测试,增量式集成是将单元测试和集成测试合并在一起,它根据模块结构图,按某种次序选一个尚未测试的模块,把它同已经测试好的模块组合在一起对整个程序进行测试
在其软件开发过程中,系统测试阶段的测试目标是模块和模块之间接口的测试

确认测试

经过测成测试之后,软件就被集成起来,接口方面的问题已经解决,将进入软件测试的最后一个环节,即确认测试,确认测试的任务就是进一步检查软件的功能和性能是否与用户要求的一样,检检查软件佛南功能、性能以及其他特征是否与用户的需求一致,它是以需求规格说明书(即需求规约)作为依据的测试,确认测试通常采用黑盒测试

系统测试

把已经经过确认的软件纳入实际运行环境中,与其他系统成分组合在一起进行测试,集中检验系统所有元素(包含硬件软件)之间写作是否合适,整个系统的性能、功能是否达到,主要内容包含恢复测试、安全性测试、压力测试、性能测试、可靠性测试、安装测试等
在其软件开发过程中,系统测试阶段的测试目标来自于需求分析阶段

McCabe复杂度计算

软件工程软考知识点(模型,测试,开发方法,结构化设计,项目管理)_第16张图片
m为有向边条数,n为节点数量
m-n+2得出的数字即环路复杂度

系统运行与维护

软件工程软考知识点(模型,测试,开发方法,结构化设计,项目管理)_第17张图片

正确性维护:指改正在系统开发阶段已发生而系统测试阶段尚未发现的错误
适应性维护: 指使应用软件适应信息技术变化和管理需求变化而进行的修改
完善性维护:为扩充功能和改善性能而进行的修改,主要是指对已有的软件系统增加一些在系统分析和软件阶段中没有规定的功能与性能特征
预防性维护:为了改进引用软件的可靠性和维护性,以及适应未来的软硬件环境变化,应主动增加预防性的新的功能

软件过程改进(CMMI)

软件工程软考知识点(模型,测试,开发方法,结构化设计,项目管理)_第18张图片

P 592

Gantt图和PERT图(求最晚开始时间)

软件工程软考知识点(模型,测试,开发方法,结构化设计,项目管理)_第19张图片

软件工程软考知识点(模型,测试,开发方法,结构化设计,项目管理)_第20张图片
Gantt图:以图的形式展现进度的安排情况,最为直观的特点是整个图简单明了,可以通过图直接看出哪项计划在哪个时间段开展,例如图1就是Gantt图,其缺点在于不能清晰体现出任务之间的逻辑关系,没办法体现哪个任务先做哪个任务后做,两者之间有的依赖关系
PERT图:可以清晰地表示个任务的开始事件和结束时间以及各个任务之间的依赖关系,但是无法很好的表示各任务之间的并行情况
最长的路径也代表着整个项目的最短工期,毕竟所有任务大多会同步进行,如果最长的路径都完成了,正常情况下,也代表该项目完成了

上面例题答案为:
D
C
如果忘记了怎么求最晚开始时间,去看这个视频,基本就是先求出最早开始时间,然后再逆推回去
https://www.bilibili.com/video/BV1yU4y1371J?p=152

风险管理

软件工程软考知识点(模型,测试,开发方法,结构化设计,项目管理)_第21张图片
一般来说影响软件项目的风险主要有偶三种类别:
项目风险涉及各种形式的预算,进度,人员,资源以及和客户相关的问题
技术风险涉及到潜在的设计,实现,对接,测试即维护问题
业务风险包括建立一个无人想要的优秀产品的风险,失去预算或人员承若的风险
商业风险包括如市场风险,策略风险,管理风险和预算风险

成本估算模型

Putnam和COCOMO都是软件成本估算模型

Putnam模型

一种动态多变量模型,

COCOMO模型

软件质量

软件质量模型由三个层次组成:第一层是质量特性,第二层是质量子特性,第三层是度量特性
其中可靠性质量特性是指与在规定的一段时间内和规定的条件下,软件维持在其性能水平有关的能力,可靠性质量特性包含三个子特性
成熟性:与由软件故障引起失效的频度有关的软件属性
容错性:与在软件错误或违反指定接口的情况下,维持指定的性能的水平的能力有关的软件属性
易恢复性:与在故障发生后,重新建立其性能水平并回复直接受影响数据的能力,以及为达到此目的锁需的时间和努力有关的软件属性

你可能感兴趣的:(软件设计师,操作系统,软件测试,项目管理)