2MUCH

软考-中级软件设计师-10 软件工程

2022-05-14


10 软件工程

image-20220504095342967

软件开发模型

瀑布模型(SDLC)

image-20220504095417950

缺陷:需求难以在项目初期明确确定

适用于:

其他经典模型

image-20220504095741254

原型(针对需求不明确的情况):在初期先构造一个简易的系统,给用户做演示,记录用户发现的问题,再做调整。往往只用于需求分析阶段。最终变为演化模型。

增量模型:先做核心部分,给用户用;发现问题,逐步修改和继续开发剩下内容。

螺旋模型

image-20220504100218644

特征:

V模型

image-20220504100358919

特点:

喷泉模型

特点:

RAD

特点:

构件组装模型(CBSD)

image-20220504101055110

特点:

统一过程(UP/RUP)

特点:

image-20220504101501527

敏捷开发方法

image-20220504101526210

特点:

信息系统开发方法

image-20220504101921546

结构化方法缺点:一旦开发完,整个流程不容易改变

需求开发

需求分类与获取

image-20220504103632492

结构化设计

image-20220504103950236

多扇入:复用性高;少扇出:一个函数包括的职能较少

image-20220504104419235

内聚与耦合

image-20220504104122970

软件测试(常考)

image-20220504104454163

回归测试:将之前的测试案例再测下,看会不会发现新的问题

测试用例设计

image-20220504104835088

等价类划分:选出各种类的代表性数据来测

错误推测:根据经验,推测哪些容易产生问题

测试阶段

image-20220504105525432

单元测试:模块级/函数级

集成测试:模块之间的衔接

确认测试:确认需求实现

McCabe复杂度(常考)

image-20220504110011136

注意:分叉点是否要转为结点,复杂度公式的结果都一样。如右边结点的5和6,如果不转换,则2、3、4都指向7,计算结果一致

系统运行与维护(常考)

image-20220504110441528

适应性维护:适应系统、数据环境

完善性维护:扩充功能、改善功能

软件过程改进

CMMI

image-20220504110948229

阶段式:

连续式:

项目管理

image-20220504111528282

甘特图:关键路径的计算

例题:

image-20220504111858056

风险管理

image-20220504111922171