软件工程概述-架构师(三)

2023-09-05 14:39:15 浏览数 (1)

一、软件工程概述(老版)

软件开发生命周期:

1、软件定义时期:包括 可行性研究和详细需求分析过程,任务是软件工程必需完成的目标,具有可行问题分析、可行性研究、需求分析等。

2、软件开发时期:软件的 设计与实现,可分为概要设计、详细设计、编码、测试等。

3、软件运行和维护:把软件产品交给用户使用。

软件系统的文档:

分为 用户文档 和系统文档,用户文档主要描述 系统功能和使用方法,并不关心这些系统怎么实现,系统文档 描述 系统设计、实现和测试等各方面内容。

软件工程过程指为获得软件产品包括以下4个方面活动:

1、P(plan):软件规格说明。

2、D(do):软件开发。

3、C(check):软件确认校验。

4、A(action):软件演进。

软件系统工具 可按软件过程活动分为:

软件开发工具:需求分析工具、设计工具、编码与排错工具和测试工具等。

软件维护工具:版本控制工具、文档分析工具、开发信息库工具、逆向工程工具和再工程工具。

软件管理和软件支持工具:项目管理工具、配置管理工具、软件评价工具、软件开发工具的评价和选择。

软件设计四个活动:

数据设计、架构(体系结构)设计、人机设计(接口)和过程设计。

二、能力成熟度模型

能力成熟度模型CMM:

初始级(Initial):杂乱无章,有时甚至混乱,项目完全依靠个人努力或者核心人物完成。

可重复级(Repeatable):建立基本的项目管理过程和实践来跟踪项目,有必要的过程准则来重复同类项目成功。(不依赖个人成功,而是成功可以重复复制)

已定义级(Defined):软件过程已经文档化、标准化,并综合成标准软件过程。(已经在行业定义成标准)

已管理级(Managed):产品质量的详细度量标准,对软件过程有定量理解和控制。

优化级(Optimized):持续不断优化。

能力成熟度模型集成CMMI:

cmm能力成熟度模型指软件,CMMI则是 若干过程模型的综合改进,不仅仅软件,而是支持多个工程学科和领域的、系统、一致过程改进框架,能适应现在工程特点,提高质量和效率。

CMMI两个表示方法,一种是类似前面CMM阶段式的成熟度。

初始级:过程不可以预测。

已管理级:过程为项目服务。(之前是可重复)

已定义:标准化。

定量管理:已度量。(之前叫可管理)

优化级:可优化。

三、真题实战

1、()是系统分析阶段结束后得到的工作产品,()是系统测试阶段完成后的工作产品。

A. 系统设计规格说明

B. 系统方案建议书

C. 程序规格说明

D. 单元测试数据

A. 验收测试计划

B. 测试标准

C. 系统测试计划

D. 操作手册

答案:B D

解析:

系统设计肯定不是系统分析,程序规格肯定是开发阶段,所以选择B

四、软件过程模型

瀑布模型(SDLC):经典的软件生命周期模型。

软件开发从上往下分为:可行性分析(计划)、需求分析、软件设计(概要设计)、编码、测试和运行维护等几个阶段。

螺旋模型:原型模型 和 结构化(瀑布)模型相结合的模型。

专门解决瀑布模型弊端。

他和瀑布一样有线性计划:制定计划、风险分析、实施工程和客户评价。

是一个演化软件过程模型,先制定 一个原型。

但他又不会和瀑布一样不可以回头,还可以重复线性。

他特别适合庞大复杂高风险系统。

V模型:

强调测试,测试贯穿整个项目过程。

编码对应单元测试,详细设计对应集成测试,概要设计对应系统测试,需求分析对应验收测试。

使用需求变更不频繁的需求。

原型模型:

实际可行,构造方便,快速,造价低,适合需求不明确。

增量模型:

首先 开发核心功能。然后和用户确认开发次核心模块。

喷泉模型:

以用户需求为动力,面向对象。

基于构建CBSD:

强调复用性,有一个构建库,比如直接拉取组织结构画页面。

0 人点赞