Loading [MathJax]/jax/input/TeX/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >软件工程概述-架构师(三)

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

作者头像
keying
发布于 2023-09-05 06:39:15
发布于 2023-09-05 06:39:15
2500
举报

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

软件开发生命周期

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:

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

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-08-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 后端从入门到精通 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
研发如何才能躺平???
一行代码导致灾难,一个Bug导致发射失败,一个不合格的电容导致产品寿命缩短。这些看似偶然的事件,偏偏又常常真实地发生了。(参考我们之前的文章)
用户2366192
2023/11/14
2920
研发如何才能躺平???
软件工程练习题-part01-软件工程概述及软件过程
“软件工程”课程是软件工程专业的核心课程,是用工程化方法指导软件开发、维护与管理的一门综合性课程,内容涉及软件分析、设计、实现、维护及项目管理相关的理论、技术、方法和CASE工具。
IT从业者张某某
2023/10/16
3300
软件工程练习题-part01-软件工程概述及软件过程
软件测试工程师面试题合集,建议收藏一波!
看过的可以在看一下,加深记忆,面试前,看面试题,事半功倍,一般人我不告诉他的。来看看面试题吧。
新梦想IT职业教育
2019/09/17
1.6K0
③ 软件工程CMM、CMMI模型【软考中级-软件设计师 考点】
.29.
2023/11/01
5600
③ 软件工程CMM、CMMI模型【软考中级-软件设计师 考点】
【信管1.9】软件工程(三)软件设计与过程管理
需求相关的内容我们用了两个篇幅去阐述,可见需求在软件工程中是有多么重要的地位。不过这也和这个考试的情况有关,毕竟还有很多不是做开发的同学也会来参加这个考试,所以在软件工程这一大章节中,真正涉及软件设计方面的内容反而并不多,大家总算可以稍微放松一下了。那么,话不多说,我们马上进入今天的学习吧。
硬核项目经理
2023/03/02
3870
【信管1.9】软件工程(三)软件设计与过程管理
程序员一定要会的软件项目管理评估方案,不做只会敲代码的码农!(建议收藏)
今天大灰狼来和大家聊聊除了软件编码,在软件项目管理阶段所需要进行哪些工作。提前祝大家从技术佬晋升产品总监!
灰小猿
2020/09/23
3.3K0
程序员一定要会的软件项目管理评估方案,不做只会敲代码的码农!(建议收藏)
【愚公系列】软考中级-软件设计师 033-软件工程基础(考点简介)
软件工程基础是指软件工程的基本概念、原理、方法和技术等基础知识。在软件工程学科中,这些基础知识对于设计、开发、测试和维护高质量软件非常重要。
愚公搬代码
2024/02/14
3440
软件工程part01-软件工程概述及软件过程
“软件工程”课程是软件工程专业的核心课程,是用工程化方法指导软件开发、维护与管理的一门综合性课程,内容涉及软件分析、设计、实现、维护及项目管理相关的理论、技术、方法和CASE工具。
IT从业者张某某
2023/10/16
9000
软件工程part01-软件工程概述及软件过程
软件工程期末考试复习(十) 简答题汇总:
1、能力成熟度的5个等级从低到高依次是:初始级(又称为1级),可重复级(又称为2级),已定义级(又称为3级),已管理级(又称为4级)和优化级(又称为5级)。
用户2417870
2019/09/16
1.2K0
【愚公系列】软考高级-架构设计师 070-软件成熟度模型
软件成熟度模型(Software Maturity Model)是评估和改进软件开发过程能力的一种工具。其中最著名的是软件成熟度模型集成(CMMI)和能力成熟度模型(Capability Maturity Model,CMM)。
愚公搬代码
2024/07/26
2320
【系统架构】第五章-软件工程基础知识(一)
3、螺旋模型 是在快速原型的基础上扩展而成,这种模型把整个软件开发流程分成多个阶段,每个阶段都有4个部分组成,适用于大型软件开发
阿提说说
2023/10/16
3700
【系统架构】第五章-软件工程基础知识(一)
software engineering Final Review | 软件工程期末复习
Author: Frytea Title: software engineering Final Review | 软件工程期末复习 Link: https://blog.frytea.com/archives/96/ Copyright: This work by TL-Song is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.
宋天伦
2020/07/16
5600
【愚公系列】软考高级-架构设计师 069-软件过程概述
软件过程概述是指软件开发过程中的整体流程和方法论概述。软件过程包括软件开发的各个阶段、活动、任务和方法,旨在指导软件项目的规划、设计、实施和维护。典型的软件过程通常包括需求分析、设计、编码、测试和部署等阶段,其中每个阶段都有相应的活动和交付物。软件过程的目标是确保软件项目按时、按质、按成本交付,并最大程度地提高软件质量、可维护性和可靠性。通过遵循适当的软件过程,可以有效管理软件项目,降低开发风险,提高团队协作效率,从而实现软件开发的成功和可持续发展。
愚公搬代码
2024/07/26
1670
软件设计师——系统基础开发
演化模型:演化模型是迭代的过程模型,使得软件开发人员能够逐步开发出更完整的软件版本。演化模型特别适用于对软件需求缺乏确认识的情况
秋邱
2024/10/10
2081
软件设计师——系统基础开发
软件工程之软件过程模型[通俗易懂]
使用增量模型,第1个增量往往是核心的产品。客户对每个增量的使用和评估都作为下一个增量发布的新特征和功能,这个过程在每一个增量发布后不断重复,直到产生了最终的完善产品。增量模型强调每一个增量均发布一个可操作的产品。
全栈程序员站长
2022/11/15
1.8K0
软件工程之软件过程模型[通俗易懂]
第 2 章 软件过程
虽然有许多不同的软件过程,但都必须包含在第 1 章所介绍的 4 个最基本的软件工程活动中:
love丁酥酥
2020/06/23
3710
第 2 章 软件过程
数字化 IT 从业者知识体系 | 软件交付与协作 —— CMMI
‍能力成熟度模型集成(英语:Capability Maturity Model Integration,简称 CMMI 或“希迈”)是一种改进过程的方法,其目的是协助提升组织的绩效。
腾讯云 CODING
2022/03/16
1.1K0
数字化 IT 从业者知识体系 | 软件交付与协作 —— CMMI
【愚公系列】软考中级-软件设计师 034-软件工程基础(概述)
软件工程是一门研究和应用如何以系统化、规范化、可量化的方法开发和维护软件的学科。它涉及到软件开发的全过程,包括需求分析、设计、编码、测试、部署和维护等阶段。
愚公搬代码
2024/02/15
3280
软件工程期末考试复习(九) 建立对象模型软件重用工作量估算能力成熟度模型
1、软件估算模型使用由经验导出的公式来预测软件开发工作量,工作量是软件规模(KLOC或FP)的函数,工作量的单位通常是人月(pm)。
用户2417870
2019/09/16
7780
【软件过程改进 学习笔记】过程思维 ( 软件危机 | 软件过程 | 过程改进 | 过程思维 | 过程描述 | ISO 9000 | 6σ | PCM | CMMI )
软件过程 简介 : 软件过程 是 为了 开发高质量软件 所需要完成的 任务框架, 即形成软件产品的 一系列步骤, 包括 中间产品, 资源, 角色 及 在过程中采取的 方法, 工具 等 ;
韩曙亮
2023/03/28
8280
推荐阅读
相关推荐
研发如何才能躺平???
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档