软考-软件工程(1-软件工程基础与开发方法)

1,软件工程基础

基本要素:方法,工具,过程

各阶段输出产物:

系统规划:可行性研究报告,系统设计任务书

系统分析:系统说明书

系统设计阶段:系统设计说明书

系统实施阶段:实施进展报告,系统测试分析报告

能力成熟度模型CMM

初始级,可重复级,已定义级,已管理级,优化级

软件能力经过这些阶段逐步提高

能力成熟度模型集成CMMI

初始级,已管理级,已定义级,定量管理,优化级

能力提高,同上

软件过程模型

瀑布模型:明确需求,二次开发

原型:需求不明确(一般是为了演示,不适合超大型项目开发)

增量模型:先核心,后分支,每次的增量版本都可以作为一个独立可操作的作品

螺旋模型:针对不明确项目,但是增加了风险分析(大型项目开发)

V模型:测试极多,贯穿于各个阶段

喷泉模型:面向对象,迭代思想和无间隙开发

基于构件的开发模型CBSD:增强复用性(开发过程中创建一个构件库,简单理解就是一个仓库,要什么就往里面拿就行)

形式化方法模型:数学基础

2,软件开发方法

结构化方法:结构化分析+结构化设计+结构化程序设计

特点:目标清晰,阶段有序,文档规范,自顶向下分解,自底向上逐步实现

局限性:开发周期长;不适于需求不明确项目;面向数据流,很少考虑数据结构

面向对象方法:万物皆对象

特点:复用性高,阶段界限不明确(前者没做完或者有问题的可以让后者补充)

局限性:不能涉足系统分析以前的开发环节

原型化方法

特点:快速建立一个系统模型展示给客户;开发速度快,用户参与度高,易于维护,适于需求不明确开发

局限性:开发环境要求高,管理水平要求高

面向服务方法:将接口的定义和实现进行解耦

Jackson方法:面向数据结构,小规模项目

敏捷开发:针对中小型项目,指代的是一组模型

重要概念:

1,结对编程

2,自适应开发

3,水晶方法:每个不同项目都要一套不同的策略

4,特性驱动开发:模型驱动的快速迭代开发过程

5,极限编程XP:测试先行

6,并列争球法:迭代的增量化,"冲刺"

统一过程RUP

特点:用例驱动,以架构为核心,迭代和增量

流程:初始,细化,构建,交付

逆向工程:

重构:转换系统描述形式(5+0=5------------>2+3=5)

设计恢复:已有程序抽象出有关设计的部分

再工程:在逆向工程的基础上产生一个新版本,对现有系统的重新开发过程,用以改进软件质量

正向工程

软件系统工具:

1,软件维护工具

2,软件管理工具

3,软件设计工具

4,软件开发工具

相关推荐
workflower1 天前
农业信息化
大数据·人工智能·设计模式·机器人·软件工程
雪碧聊技术1 天前
上午题_软件工程
软件工程
互联网推荐官1 天前
上海物联网应用开发技术路径深度拆解:协议接入、数据架构与平台选型实战指南
物联网·struts·架构·软件工程
互联网推荐官1 天前
上海软件定制开发技术路径深度拆解:架构选型、工程落地与平台能力实测
人工智能·软件工程
软服之家2 天前
Lidar360 9.1&Lidar360MLS9.1雷达点云数据处理软件
软件工程
rolt2 天前
[答疑]把缺省伪状态和历史伪状态合并可行吗
软件工程·架构师·uml
小智老师PMP2 天前
PMP6月考前最后1个月冲刺攻略
算法·软件工程·求职招聘·产品经理·敏捷流程
白狐_7982 天前
软考软件设计师英语题怎么做:低代码、DevOps、软件工程高频词汇总结
低代码·软件工程·devops
高翔·权衡之境3 天前
技术演进的底层驱动——能源、信息、材料的三角博弈
嵌入式硬件·物联网·软件工程·能源·信息与通信