当前位置: 首页 > news >正文

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

  • 软件工程概述(老版)

软件开发生命周期

  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. 单元测试数据

  1. 验收测试计划
  2. 测试标准
  3. 系统测试计划
  4. 操作手册

答案:B D

解析:

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

  • 软件过程模型

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

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

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

专门解决瀑布模型弊端。

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

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

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

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

V模型

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

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

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

原型模型

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

增量模型

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

喷泉模型

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

基于构建CBSD

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

http://www.lryc.cn/news/129925.html

相关文章:

  • 华为手机Outlook手机APP无法登录邮箱,提示[2002]错误代码
  • “深入探究JVM内部结构与工作原理:解析Java虚拟机“
  • windows下redis服务启动及.bat文件中中redis服务的启动
  • 【学习笔记之vue】 Cannot find module ‘node-sass‘
  • POSTGRESQL 关于安装中自动启动的问题 详解
  • Java寻找数组的中心下标
  • ORACLE中判断表是否存在再删除表避免报错与MySql和SqlServer的不同
  • 解决 Maven 创建 Spring Boot 项目时出现 “Cannot access alimaven“ 错误的方法
  • 设计模式——适配器模式
  • 如何区分闰年与平年
  • 中间件(下)
  • LVS-DR的RS进行ARP抑制的原因和LVS持久连接配置
  • 【HarmonyOS】codelab在hvigor版本2.4.2上无法运行问题
  • MySQL- sql语句基础
  • 【目标检测中对IoU的改进】GIoU,DIoU,CIoU的详细介绍
  • 【环境配置】Windows10终端和VSCode下能够直接打开Anaconda-Prompt
  • 稚晖君人形机器人问世:大模型加持,会自己换胳膊,要上生产线造车
  • 变更通知在开源SpringBoot/SpringCloud微服务中的最佳实践
  • 亚马逊产品排名关键因素解析,通过测评干预需要具备哪些条件
  • leetcode原题:绘制直线(位运算)
  • jenkins 安装和通过gitee 拉取PHP项目
  • 解析TCP/IP协议的分层模型
  • ARM M33架构入门
  • CentOS系统环境搭建(四)——Centos7安装Java
  • Arduino MQTT客户端库PubSubClient快速入门
  • 视频集中存储/云存储/磁盘阵列EasyCVR平台接入RTSP设备出现离线情况的排查
  • 部署Springboot项目注意事项
  • 深度解析:DDoS攻击与先进防御策略
  • NLP | 论文摘要文本分类
  • Linux / Ubuntu磁盘扩容