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

  • 软件工程概述(老版)

软件开发生命周期

  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. ()是系统分析阶段结束后得到的工作产品,()是系统测试阶段完成后的工作产品。
  1. 系统设计规格说明

  2. 系统方案建议书

  3. 程序规格说明

  4. 单元测试数据

  5. 验收测试计划

  6. 测试标准

  7. 系统测试计划

  8. 操作手册

答案:B D

解析:

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

  • 软件过程模型

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

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

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

专门解决瀑布模型弊端。

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

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

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

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

V模型

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

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

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

原型模型

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

增量模型

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

喷泉模型

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

基于构建CBSD

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

相关推荐
嘿黑嘿呦6 天前
chap 8排序
算法·蓝桥杯·排序算法·软件工程
旧曲重听16 天前
2026前端技术从「夯」到「拉」
前端·程序人生·职场和发展·软件工程
承渊政道6 天前
飞算JavaAI 智能引导背后的多 Agent 协作机制解析:从老旧 Java 后台升级到可运行工程
java·开发语言·spring boot·安全·intellij-idea·软件工程·ai编程
apcipot_rain6 天前
计科八股20260616(1)——堆存中位数、链表判环、黑白测试、敏捷开发与瀑布模型、配置管理、持续集成、池化
数据结构·算法·软件工程
lisw057 天前
【计算机科学技术】路由器(route):概念、历史、内容与战略!
机器学习·智能路由器·软件工程
培培说证7 天前
大数据、人工智能、计算机、软件工程,到底怎么选?
大数据·人工智能·软件工程
文艺倾年8 天前
【强化学习】MDP、贝尔曼方程与CartPole 编程,20W字总结(二)
人工智能·软件工程·强化学习
郝学胜-神的一滴8 天前
CMake 017:彩色日志输出实战
linux·c语言·开发语言·c++·软件工程·软件构建·cmake
小程故事多_808 天前
AI软件工程范式革命,终结五十年的“手工伪工程”时代
人工智能·软件工程
精益数智小屋9 天前
项目管理看板如何拆解任务进度?项目管理看板解决跨部门协作难题
大数据·人工智能·数据分析·云计算·软件工程