软件构造复习2

这里写目录标题

  • 软件生命周期和配置管理
    • 设计软件的两个基本模型模型
    • 其他模型
    • Agile Development

软件生命周期和配置管理

(软件开发,从0到n,遵循什么过程?)

设计软件的两个基本模型模型

线性过程:从底层/需求开始,下一步是上一步的基础
迭代过程:回头解决不合理之处

其他模型

(选取标准:用户参与程度,开发效率/管理复杂度,软件质量)

  • 瀑布过程(理论价值
    线性推进,分阶段,整体推进,无迭代,管理简单,无法适应需求变化
    在这里插入图片描述
  • 增量过程(实用价值
    线性推进,增量式,无迭代,容易适应需求变化
    (一个一个功能地实现,独立地进行,最后合成一个软件)

在这里插入图片描述

  • V字模型
    (包含测试功能,经过测试的软件代码质量更高,测试依据相时而动)
    在这里插入图片描述
  • 原型过程(沟通交流+解决问题
    (有迭代,根据用户使用反馈问题给开发者,开发者再进行修改原有的实现,如此反复;时间代价高;开发质量高)
    在这里插入图片描述
  • 螺旋模型(融合
    多轮迭代遵循瀑布模式,每轮迭代经历原型过程
    在这里插入图片描述

Agile Development

敏捷开发:快速迭代+小规模持续改进 => 快速适应变化

1.设定发布周期
2.根据开发计划,完成周期内产品
3.不延期,按时完成

  • 极限的用户参与
  • 极限的小步骤迭代
  • 极限的确认/验证

热门文章

暂无图片
编程学习 ·

终于等到你,飞凌嵌入式i.MX6ULL核心板如约而至!

自从 2016年初,我们推出了FETMX6UL-C 核心板后,其高性价比、丰富的功能、15年生命周期、高稳定性的多方面优势,受到了广大客户的一致好评,在电力、医疗、工控、 物联网、能源管理、光伏、环境监测等领域取得大规模应用。 在此基础上, 我们推出了 FETMX6UL-C的“双胞胎兄弟…
暂无图片
编程学习 ·

Python之list添加新元素

讲解 现在,班里有3名同学: >>> L = [Adam, Lisa, Bart]今天,班里转来一名新同学 Paul,如何把新同学添加到现有的 list 中呢? 第一个办法是用 list 的 append() 方法,把新同学追加到 list 的末尾: >>> L = [Adam, Lisa, Bart] >>> L.append(P…
暂无图片
编程学习 ·

【Android 内存优化】Bitmap 图像尺寸缩小 ( 考虑像素密度、针对从不同像素密度资源中解码对应的 Bitmap 对象 | inDensity | inTargetDensity )

文章目录一、像素密度对解码图片的影响二、不考虑像素密度会导致图片缩小尺寸不准确三、DisplayMetrics 源码阅读、研究手机资源获取规则四、像素密度参数设置取值 ( inDensity | inTargetDensity | setDensity )五、inDensity 与 inTargetDensity 设置六、新的图片缩小工具类代…
暂无图片
编程学习 ·

Android 人民币符号在布局中实现的效果不一样的处理方法

大致效果图如下图1 2 这2个都是在java代码中 人民币符号+ 金额 以前没怎么在意ui走查的时候提出来的bug看了半天才发现问题 就是一个是是自己手打的的人民币符号,一个是从ui的效果图上复制过来的人民币符号最后自己的处理方法就是复制ui效果图的人民币符号,大致原因也知道就…
暂无图片
编程学习 ·

数据结构:双向链表(1)

双向链表基本思想大体结构增加修改MyList测试遍历修改MyList删除修改MyList测试 基本思想 双向链表与单向链表大同小异,只不过双向链表还有个节点指向最后一个节点 大体结构 新建工程,结构如下package list; public class MyList {long size;Node firstNode;Node lastNode;pu…
暂无图片
编程学习 ·

Netty

Netty是什么?异步事件驱动的网络应用框架,可以快速开发一个可维护的高性能的服务端和客户端。都是谁在用Netty?Dubbo、zk、RocketMQ、es、Spring5(对于Http协议的实现)、Spak等大型开源项目使用Netty作为底层通讯的实现。Netty中的核心概念是什么?1、Channel管道,是对Sock…
暂无图片
编程学习 ·

老鸟给予Java初学者的学习路线的一些建议

java学习这一部分其实也算是今天的重点,这一部分用来回答很多群里的朋友所问过的问题,那就是我你是如何学习Java的,能不能给点建议?今天我是打算来点干货,因此咱们就不说一些学习方法和技巧了,直接来谈每个阶段要学习的内容甚至是一些书籍。这一部分的内容,同样适用于一…
暂无图片
编程学习 ·

程序员,职场上请远离这种人!

对有些职场人来讲,甩锅就是一种生存手段。01.从大学打篮球说起上大学的时候喜欢打篮球,然后我又特别喜欢抢篮板,经常是跳起来的时候没事,落下来的时候偶尔会踩到别人的脚上,于是左脚经常性崴脚,这是背景。我们班上有一个同学也喜欢打篮球,我俩水平都差不多因此也算能玩在…
暂无图片
编程学习 ·

Vue——09——v-for和key指令

遍历普通数组 <!DOCTYPE html> <html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><scri…
暂无图片
编程学习 ·

Codeforces 1342 E Placing Rooks —— 第二类斯特林数

This way 题意: 现在有一个n*n的棋盘,n个棋子,你要放置这些棋子使得他们满足以下条件: 每个格子都能被某个棋子打到 共有k对棋子能够打到对方 如果一个格子所处的这一行或这一列有一个棋子,那么这个格子就能被打到。两个棋子处在同一行或同一列并且它们之间没有别的棋子,…
暂无图片
编程学习 ·

前端未来技术走向(TS, SSR, serverless, flutter,多端统一开发)

TS TS为什么会出现? 1.js是一门弱类型而且还是动态类型的语言,语言本身的类型系统是非常薄弱的,当js去开发大型的前端项目,开发成本和维护成本都会非常的高2.而ts是一门基于js基础之上的编程语言,它在javascript原有的基础之上多了一些扩展特性,主要就是一套更强大的类型…
暂无图片
编程学习 ·

imx6 DDR Stress Test Tool

DDR Stress Test Tool 提供了两种用途。首先,它可以用来对校准DDR3,以便于MMDC PHY delay settings和PCB配对 来达到最佳的DRAM新能。整个过程是全自动的,因此客户可以在较短的时间内让他们的DDR3工作起来。另外,该工具可以运行内存压力测试,用来验证DDR3的功能和可靠性。…
暂无图片
编程学习 ·

c# 日期的常见用法

//获取当前时间queryBean.EndTime = DateTime.Now;获取当前时间30天之前的时间 queryBean.StartTime = DateTime.Now.AddDays(-30);
暂无图片
编程学习 ·

异步之promise

文章目录Promise原理探究基本原理链式调用(返回同一个Promise实例)延时机制状态机制链式调用(返回一个新的Promise实例)异常处理机制实际应用异步之ajax异步之图像加载async/await异步读取文件异步之定时器参考文章 function getComponent(){return import(/*webpackChunkName:…
暂无图片
编程学习 ·

vue循环渲染,点击添加类,获取id

一.思路总结 1.遍历出来对应的数组, 在click中赋值 遍历出来的item。 2.class进行决定是否显示,一点击就把对应的item赋到active中 3.此时active就和item.id一模一样的文本,然后返回一个true能显示当前的了 4.把最后一个瑕疵补上, 让第一个默认选中。就是把active放一个数值…
暂无图片
编程学习 ·

jmeter下载PDF到本地并清除测试数据

【执行测试】>>>>获取下载PDF地址使用JSON提取器提取响应数据中的URL。截取url后缀路径。(BeanShell后置处理程序)import org.apache.commons.lang.StringUtils; String ss=StringUtils.substringBeforeLast("${downloadurl}", "/") ; Strin…
暂无图片
编程学习 ·

线性代数知识课笔记1

笔记内容摘自 猴博士爱讲课@B站 https://www.bilibili.com/video/BV1hs411e7X8?p=4行列式 行列式的计算 行列式分为2阶、3阶、4阶……n阶等,其中2阶的计算方法为: ∣1326∣ \begin{vmatrix}1&3\\2&6\end{vmatrix} ∣∣∣∣​12​36​∣∣∣∣​ 计算方法为对角线相乘…
暂无图片
编程学习 ·

call apply bind 改变this 指向问题

call方法function info(name, age) {this.name = name;this.age = age;}function people(name, age, work) {info.call(this, name, age);console.log("他叫" + this.name + "," + this.age + "岁,职业是" + work)}people("Li", 21, &…
暂无图片
编程学习 ·

猫眼电影爬虫和数据分析

由于疫情关系,宅在家里。记录一下作业,猫眼电影爬虫及分析,爬取猫眼电影数据,并对爬取的数据进行分析和展示。 猫眼电影爬虫 基于requests库和lxml库进去猫眼电影TOP100榜电影爬取,爬取地址为:https://maoyan.com/board/4 爬取的信息有:电影名字,主演名字,上映时间以及…