软考 - 软件工程

news2025/7/6 22:28:54

软件过程基本概述

基本要素

  • 方法
  • 工具
  • 过程

软件过程模型

能力成熟度模型CMM

在这里插入图片描述

能力成熟度模型CMMI

在这里插入图片描述

在这里插入图片描述

统一过程UP模型

针对大型项目

三大特别

  • 用例和风险驱动
  • 以架构为中心
  • 迭代并且增量

四个阶段

  • 起始:确认需求和风险评估
  • 精化:核心架构设计
  • 构建:构造产品
  • 移交:测试,交付系统

软件过程模型(软件开发模型)

  • 瀑布模型SDLC:只适用于需求明确或者二次开发(需求稳定)
  • 原型模型:和瀑布模型相反,针对需求不明确的情况,通过演示和沟通,不适合大型项目!!!
  • 演化(迭代)模型:和原型模型的区别就是,原型个人呢适用于需求不明确用于获取需求!
  • 增量模型:每一次增量版本可作为独立可操作的作品,而原型的构造只是为了演示
  • V模型:增加了很多轮测试,测试贯穿于软件开发的各个阶段

在这里插入图片描述

  • 螺旋模型:增加了风险分析,适合大型项目
  • 喷泉模型:特点是面向对象,而其他的都是结构化开发的模型

软件开发方法

上面的软件过程模型基本都可归属下面四种开发方法中,注意特点:

  • 结构化方法:流程固定,需求明确,自顶向下;以瀑布模型为代表,逐渐淘汰
  • Jackson方法:面向数据结构开发方法,适合小规模项目
  • 原型方法:适合于需求不明确的开发,以原型模型为代表【dkb】
  • 面向对象方法:强调复用,以构建组装模型为代表,逐步流行

敏捷开发:的基本原则(小公司,中小型项目,去掉不必要的会议和文档)

  • 结对编程:程序员审查代码
  • 自适应开发:开发方法的适应性
  • 水晶方法:每套项目都有不同的策略方法
  • 极限编程XP:无需很多文档,提倡测试先行,将bug率最低
  • 并列争球法SCRUM:迭代增量过程(“冲刺”,一期,二期)

软件工具与软件开发环境

逆向工程:根据现有产品逆向推到出其实现技术和逻辑结构的过程,是产品开发完成后进行的,属于软件维护阶段工具

软件项目管理

四要素:人员,产品,过程,项目

软件项目估算

软件成本估算

  • 自顶向下估算法:从总金额开始分摊
  • 自底向上估算法:从底层估算成本
  • 差别估算法:与以前项目相比
  • 专家估算法:请专家

软件规模估算

  • COCOMO模型:代码行分析作为其中一种度量估计单位
    • 低级:单纯代码量,静态单变量模型
    • 中级:考虑代码量,硬件,产品,人员等、静态多变量
    • 高级:考虑所有
  • Putnam模型:动态多边量模型

进度管理【PERT图重点!】

  • Gantt图:横向的时间图,反应时间
  • PERT图:类似于前趋图,反应依赖关系,标注活动运行时间,但无法反应活动之间的并行关系
    • 关键路径(项目总工期):耗时最长的路径
    • 最早开始时间ES:取所有前趋活动最早完成时间EF的最大值(走最长的路)
    • 最早完成时间EF:最早开始时间ES+活动本身时间
    • 最晚完成LF:取后续活动最晚开始的最小值(关键路径-完成该活动的后序活动最小值)
    • 最晚开始时间LS:最晚完成LF-活动本身时间(关键路径-最短的路)
    • 松弛时间:该结点最多可以晚多久开始(关键路径-包含结点活动的最大路径)
    • 习题:https://blog.csdn.net/qqxyy99/article/details/53190013FGDHSA

软件项目的组织

组织结构模式:

  • 项目型:项目经理绝对领导
  • 职能型:部门领导为主
  • 矩阵型:二者结合

程序设计小组组织方式:

  • 主程序员制小组:主程序员全权负责,有备选程序员,适合大型项目

  • 民主制小组:开发人员少,人人平等,适合小型项目

  • 层次式小组:两个层次,组长领导若干高级程序员,高级程序员领导多个普通程序员

软件质量特性和子特性【牢记】

在这里插入图片描述

在这里插入图片描述

软件评审

质量两个必要条件:

  • 设计的规格说明书符和用户标准,称为设计质量
  • 程序按照设计规格说明书所规定的情况正确执行,称为程序质量

软件容错技术

容错就是软件遇到错误的处理能力,实现容错的手段主要是冗余,包括下面四种冗余技术;

  • 结构冗余:分为静态,动态,混合冗余三种,当错误发生时对错误进行备份处理。
  • 信息冗余:为检错和纠错再书籍上加一段额外的信息,例如校验码原理。
  • 时间冗余:回滚
  • 冗余附加技术:为实现结构、信息和时间冗余技术所需的资源和技术

软件配置管理

在这里插入图片描述

在这里插入图片描述

软件风险分析

两个特性:不确定性和损失

项目分类

  • 项目风险
  • 技术风险
  • 商业风险
  • 市场风险
  • 。。。

风险管理【常考】

  • 风险识别:识别出项目中的风险,形成一个预测风险表
  • 风险预测:风险可能性和风险后果,因此有 风险曝光率 = 风险可能性 * 风险带来的损失
  • 风险评估:定义风险参照水准,将识别出来的风险评估分类
  • 风险控制:辅助项目组简历处理风险的策略,包括风险避免,风险监控,RMMM计划(风险缓解、监控和管理计划)

风险的优先级通常是根据**风险暴露(风险影响+风险概率)**设定的

软件度量

软件有两种属性

  • 外部属性:面向管理者和用户的可直接测量的属性,一般为性能指标
  • 内部属性:软件本身的属性,如可靠性等,只能
  • 间接测量

McCabe度量法:【常考】

又称环路复杂度,假设有向图中有向边数为m,结点数为n,则此有向图的环路复杂度为m-n+2.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/7000.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Linux内核开发 | Linux内核目录结构分析(5.4.32)

文章目录1. arch2. block3. certs4. crypto5. Documentation6. drivers7. fs8. include9. init10. ipc11. kernel12. lib13. mm14. net15. samples16. scripts17. security18. sound19. tools20. usr21. virt本文以Linux主线5.4.32内核版本进行分析。1. arch 该目录下包含了li…

【ROS】机械人开发--ROS工作空间与功能包

机械人开发--ROS工作空间与功能包一、ROS工作空间1.1 概念1.2 创建工作空间1.3 编译工作空间1.4 设置环境变量1.5 添加环境变量二、功能包2.1 概念2.2 功能包的内容2.3 创建功能包三、CMakeLists.txt文件四、package.xml文件一、ROS工作空间 1.1 概念 工作空间(wo…

以“新IT”助“数智融合”,联想推开“智能化转型”下半场的大门

作者 | 曾响铃 文 | 响铃说 近年来,我国对数字化的重视达到前所未有的高度,从“十四五”规划纲要首次将数字经济单独列为一篇;到二十大报告中指出:“坚持把发展经济的着力点放在实体经济上”、“促进数字经济和实体经济深度融合…

SpringMVC学习篇(五)

SpringMVC之json数据传递 1.1 准备工作 1.1.1 导入lombok依赖(方便写实体类) <dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.18.24</version></dependency>1.1.2 导入mvc js…

mysql经典案例带解析(你没见过的全新版本)55题

首先给出初始表格 表格创建命令 create table emp(id int primary key auto_increment,name varchar(20),job varchar(20),manager int,hiredate date,sal double(8,2),comm double(6,2),dept_id int)charsetutf8;create table dept(id int primary key auto_increment,nam…

AcrelEMS-BP生物制药工厂能效管理系统

安科瑞 华楠 聚焦全厂能源采集、监控、分析、调度,降本提效,实现企业双碳目标;致力于全域化设备监视、巡检、故障报警、工单管理,运维优化,提升设备使用效率。 综合自动化系统 110kV及以下变电站综合自动化系统实现遥测、遥信、遥控、事故追忆、故障录波、安全防护、上传调度 …

搭建接口平台YApi详解(含搭建node环境)

公司之前使用的doclever 感觉不太好用&#xff0c;打算私有化部署YApi 步骤 准备使用yapi的可视化部署&#xff0c;需要有node环境 安装node环境 测试一下有没有node环境 如下就是有 [root192 sbin]# node -v v14.17.0 [root192 sbin]# npm -v 6.14.13没有就创建 cd /us…

webpack5 打包环境抽离分环境基本配置

两种开发模式 开发模式&#xff1a;代码能编译自动化运行生产模式&#xff1a;代码编译优化输出Webpack 基本功能 开发模式&#xff1a;可以编译 ES Module 语法生产模式&#xff1a;可以编译 ES Module 语法&#xff0c;压缩 js 代码Webpack 配置文件5 个核心概念 entryoutput…

FL Studio21最新演示测试版本下载FL水果V21

FL Studio是市场上最受欢迎的音乐制作软件之一。它被世界各地的许多专业制作人和艺术家使用。FL Studio音乐软件的每日下载量超过40&#xff0c;000次&#xff0c;其增长是不断的&#xff0c;而且没有迹象表明很快就会放缓。随着新的 FL 产品版本在 Windows 和 Mac 上不断发布&…

25.gateway的Filter 过滤器工厂(springcloud)

1 概述 gateway 里面的过滤器和 Servlet 里面的过滤器&#xff0c;功能差不多&#xff0c;路由过滤器可以用于修改进入Http 请求和返回 Http 响应2 分类 2.1 按生命周期分两种 pre 在业务逻辑之前 post 在业务逻辑之后2.2 按种类分也是两种 GatewayFilter 需要配置某个路由&…

阿里同步神器Canal原理+安装+快速使用

文章目录前言Canal简介MySQL主备复制原理canal 工作原理1、MySQL配置1.1 修改MySQL配置支持binloglog-binmysql-binbinlog-formatROW1.2 创建canal用户1.3 重启mysql服务1.4 基本的查看binlog命令2、下载安装canal2.1 解压canal2.2 配置与mysql信息2.3 启动canal3. 快速使用3.1…

【文件传输】实现下载

文章目录下载&#xff1a;下载的过程&#xff1a;单文件传输&#xff1a;多文件传输&#xff1a;下载&#xff1a; 如下图&#xff1a; 如果刚发完size&#xff0c;客户端不回复ok&#xff0c;直接发送数据&#xff0c;会出现粘包问题。如果想要确保客户端收到数据&#xff0…

流行的前端开源报表工具有哪些?适合在企业级应用的

前端开源报表工具有很多&#xff0c;但是如果是企业级应用真心不建议选用。比如非要选择开源的报表工具&#xff0c;你需要投入一个或多个程序员来做这个事情&#xff0c;他们还得先学习这个开源报表工具的界面、功能使用操作等等&#xff0c;尤其是很多开源工具的学习资料还是…

dpdk Vhost 库

1、 怎么实现vhost_dev的VhostOps的vhost_set_vring_kick和vhost_set_vring_call&#xff1b; vhost_net kernel方式的vhost_set_vring_kick和vhost_set_vring_call依赖于/dev/vhost_net的ioctl。 有两种实现方式&#xff1a; 1、guest是server&#xff0c;dpdk vhost user是…

Sourcetree的实际使用开发笔记

目录 前言 一、Sourcetree是什么 二、Sourcetree使用步骤 1.创建仓库 2.拉取和推送的使用 3.创建新的自己的分支 三、使用Sourcetree来进行不提交本地的代码&#xff0c;而获取最新的代码拉取 总结 前言 本章主要是记录一下Sourcetree的基本使用功能。 一、Sourcetree是…

Android:Binder思考笔记

基础知识 进程空间划分 一个进程空间分为用户空间与内核空间。用户空间与内核空间都是虚拟内存&#xff0c;映射到物理内存。所有进程的内核空间映射到同一块物理内存&#xff0c;是共享的二者区别&#xff1a; 进程间&#xff0c;用户空间的数据不可共享&#xff0c;即用户空…

线性与树型数据结构可视化模拟器

线性与树型数据结构可视化模拟器 题目2:线性与树型数据结构可视化模拟器 [问题描述] 数据结构课程是计算机类专业的核心课程之一&#xff0c;是计算机科学与技术必修的专业基础课程。数据结构研究的范围和计算机软件有着密切的联系。课程涉及到大量的概念、定义以及数据结构的…

JS数据类型的探究

JS数据类型的探究 分思考三部曲? 是什么?为什么?怎么做? 一:什么是数据类型? 在程序设计的类型系统中&#xff0c;数据类型&#xff08;英语&#xff1a;Data type&#xff09;&#xff0c;又称资料型态、资料型别&#xff0c;是用来约束数据的解释。在编程语言中&…

我去面试聊了半天MySQL索引,结果面试官黑脸让我回家等结果...

V-xin&#xff1a;ruyuanhadeng获得600页原创精品文章汇总PDF 目录 1、面试真题2、面试官心理分析3、面试题剖析 1、面试真题 MySQ索引的原理和数据结构能介绍一下吗&#xff1f;b树和b-树有什么区别&#xff1f;MySQL聚簇索引和非聚簇索引的区别是什么&#xff1f;他们分别是…

影响网站排名的4个因素,教你提高网站排名的方法

我们优化网站的目的是&#xff0c;使网站的排名靠前&#xff0c;让更多的用户看到并访问网站&#xff0c;达到营销的效果。网站排名靠前&#xff0c;可以提高企业品牌的知名度&#xff0c;对网站是非常有益的。在网络多变的环境下&#xff0c;影响网站排名有哪些因素呢&#xf…