软件工程(双语)
教材《软件工程 实践者的研究方法》
双语教学,但目前感觉都是在讲没用的
”过程决定质量,复用决定效率”
介绍
软工的本质
程序=数据结构+算法
软件=程序+文档(需求、模型、说明书)
软件应用:
系统软件
应用
工程/科学软件
嵌入式
产品线软件
移动应用
AI软件
随着硬件的飞速发展,软件也必须更新
web apps
mobile apps
云计算(IAAS,PAAS,SAAS):公有云、私有云
软件产品线:可复用
软件工程
cs:硬件、编译器、操作系统、编程语言
se:工程向
过程框架:
- 框架活动
- 沟通
- 计划
- 建模(原型):分析需求-》设计
- 构建:生成代码->测试
- 部署
- 保护伞活动
- 追踪控制
- 风险管理
- 质量保证
- 技术审查
- 度量(结对编程。。。)
- 配置管理
- 可复用性
- 准备和发布
原则:
- 存在的理由(?)
- KIS原则 KEEP IT SIMPLE,STUPID
- 保持愿景
- 你生产的就是别人消费的
- 开放
- 对复用要高瞻远瞩
- 思考
软件过程
软件过程结构
- 将通信记录为正式文档
- 规划模块接口设计
- 在集成测试之前应该自行测试本人模块
- 代码审查(少用全局变量)
- 成立代码质量团队
- 集成测试,隔离不同模块的错误
- 软件架构师
- 规范更改会议
软件过程
通用过程模型


过程模型
瀑布模型


结构简单,强调软件开发过程的阶段性和顺序性,对软件开发管理严格,文档齐全,但早期无法发现缺陷,不适应需求经常发生变更的环境,要等很长时间才能得到最终产品。
增量过程模型 Incremental Process Model

重要功能被首先交付,从而使得其得到最多的测试
演化过程模型
Evolutionary Models: Prototyping 原型

Evolutionary Models: The Spiral 螺旋

协同模型
相关文章:
软件工程(双语)
教材《软件工程 实践者的研究方法》 双语教学,但目前感觉都是在讲没用的 ”过程决定质量,复用决定效率” 介绍 软工的本质 程序数据结构算法 软件程序文档(需求、模型、说明书) 软件应用: 系统软件 应用 工程/科学…...
网络——套接字编程UDP
目录 端口号 源端口号和目的端口号 认识TCP协议和UDP协议 网络字节序 socket编程接口 socket常见接口 sockaddr结构 UDP socket bind recvfrom sendto 编写客户端 绑定INADDR_ANY 实现聊天功能 端口号 在这之前我们已经说过源IP地址和目的IP地址,还有…...
FPGA_AD9361
1.集成12位DAC和ADC的一款器件,2个输入模拟通道和2个输出模拟通道 2.• TX频段:47 MHz至6.0 GHz • RX频段:70 MHz至6.0 GHz 3.SPI配置成LVDS或CMOS接口,也可以还可以选择FDD(频分双工——全双工,操作时需…...
探讨Java代码混淆加固工具
摘要 本篇博客将介绍几种常用的Java代码混淆工具,如ProGuard、Allatori Java Obfuscator、VirboxProtector、ipaguard和DashO。我们将深入探讨它们的特点、功能以及在保护Java应用程序安全方面的作用。此外,还将强调在使用Java代码混淆工具时需要注意的安…...
Linux——du, df命令查看磁盘空间使用情况
一、实现原理: df 命令的全称是Disk Free ,显而易见它是统计磁盘中空闲的空间,也即空闲的磁盘块数。它是通过文件系统磁盘块分配图进行计算出的。 du 命令的全称是 Disk Used ,统计磁盘有已经使用的空间。它是直接统计各文件各目…...
数据库实验(一)SQL Server触发器
目录 触发器的定义 触发器和存储过程的区别 触发器的优点 触发器的作用 触发器的分类 DML触发器 DDL触发器 登录触发器 触发器的工作原理 inserted表 deleted表 创建触发器 编程要求 测试要求: 实验代码: 触发器的定义 触发器是建立在触…...
添加网址到主页
基于localStorage的网址收藏夹-CSDN博客 为了通过安卓菜单添加网址到主页中,调试了几个小时,主要踩了几个坑。 1.localStorage 通过域名隔离,需要加载主页才能读写。 2.WebView 可以不显示,但是 JS 代码要放在 window.onload 中…...
消息中间件如何实现高可用
消息中间件实现高可用的方式有很多种,常见的方法包括: 集群部署:通过在多台服务器上部署消息中间件实例,构成一个集群,提高整体系统的可用性。当一台机器出现故障时,其他机器可以继续提供服务。主从复制&a…...
Hbase 王者荣耀数据表 HBase常用Shell命令
大数据课本: HBase常用Shell命令 在使用具体的Shell命令操作HBase数据之前,需要首先启动Hadoop,然后再启动HBase,并且启动HBase Shell,进入Shell命令提示符状态,具体命令如下: $ cd /usr/local…...
家用智能洗地机哪个牌子好?4款型号让你解锁高效省力生活体验
在今天的社会中,随着生活节奏的加快,人们对于家庭清洁的需求不断增加。传统的清洁方法已经无法满足现代家庭的需求。因此,洗地机作为一种高效、方便的清洁工具,已经成为了许多家庭首选的清洁设备。然而,在市场上&#…...
Linux--进程(1)
目录 前言 1.冯诺依曼体系结构 2. 操作系统(Operator System)--第一个被加载的软件 3.进程 3.1基本概念 3.2Linux中的PCB 3.3通过系统调用创建子进程-fork初识 fork:创建一个子进程 为什么要创建子进程? fork的原理: 进一步了解fo…...
Qt登录页面
#include "mywidget.h" #include "ui_mywidget.h"MyWidget::MyWidget(QWidget *parent): QWidget(parent), ui(new Ui::MyWidget) {ui->setupUi(this);//接收动图QMovie *mv new QMovie(":/pictrue/luori.gif");ui->loglab->setMovie(…...
软件工程-第8章 软件测试
8.1 软件测试目标域软件测试过程模型 8.2 软件测试技术 8.3 静态分析技术-程序正确性证明 8.4 软件测试步骤 8.5 本章小结...
专业135+总分400+重庆邮电大学801信号与系统考研经验重邮电子信息与通信工程,真题,大纲,参考书。
今年分数出来还是比较满意,专业801信号与系统135,总分400,没想到自己也可以考出400以上的分数,一年的努力付出都是值得的,总结一下自己的复习心得,希望对大家复习有所帮助。专业课:(…...
主干网络篇 | YOLOv8改进之在主干网络中引入密集连接卷积网络DenseNet
前言:Hello大家好,我是小哥谈。DenseNet(密集连接卷积网络)是一种深度学习神经网络架构,它在2017年由Gao Huang等人提出。DenseNet的核心思想是通过密集连接(dense connection)来促进信息的流动和共享。在传统的卷积神经网络中,每个层的输入只来自于前一层的输出。而在…...
lavarel的php程序是顺序执行,用pdo mysql连接池好像没有什么用啊。没有办法挂起等待啊,为什么要用连接池,应用场景是什么
Laravel 的 PHP 程序确实是基于请求-响应模式,每个请求都是顺序执行的。这意味着一旦一个请求开始处理,它会按照代码的顺序执行,直到完成并返回响应。因此,从表面上看,使用 PDO 或 MySQL 连接池在 Laravel 中可能看起来…...
spring maven项目 实时接口请求次数及时间发送到grafana监控_亲测成功
spring maven项目 实时接口请求次数及时间发送到grafana监控_亲测成功 说明: spring项目使用aop方式拿到请求接口uri,算出从请求到响应的耗时, 然后使用statsd包发送udp数据给grafana去展示. 完全不影响代码性能和稳定性,因为使用udp协议发送,就算grafana那边挂了,也不影响项…...
银行数字人民币系统应用架构设计
2019年10月,01区块链联合数字资产研究院发布了《人民币3.0:中国央行数字货币运行框架与技术解析》,从数字货币界定和人民币发展历程出发,区分了央行数字货币与比特币、移动支付等的区别,全面介绍了央行数字货币的发展历…...
流畅的 Python 第二版(GPT 重译)(三)
第五章:数据类构建器 数据类就像孩子一样。它们作为一个起点是可以的,但要作为一个成熟的对象参与,它们需要承担一些责任。 马丁福勒和肯特贝克 Python 提供了几种构建简单类的方法,这些类只是一组字段,几乎没有额外功…...
06-验证浮点数输入
鉴于shell脚本的限制和本事,浮点数(或“实数”)的验证过程乍一看似乎让人望而生畏,不过考虑到浮点数只不过是由小数点分隔的两个整数,再配合能够在脚本中引用其他脚本的能力(validint)ÿ…...
python打卡day49
知识点回顾: 通道注意力模块复习空间注意力模块CBAM的定义 作业:尝试对今天的模型检查参数数目,并用tensorboard查看训练过程 import torch import torch.nn as nn# 定义通道注意力 class ChannelAttention(nn.Module):def __init__(self,…...
模型参数、模型存储精度、参数与显存
模型参数量衡量单位 M:百万(Million) B:十亿(Billion) 1 B 1000 M 1B 1000M 1B1000M 参数存储精度 模型参数是固定的,但是一个参数所表示多少字节不一定,需要看这个参数以什么…...
通过Wrangler CLI在worker中创建数据库和表
官方使用文档:Getting started Cloudflare D1 docs 创建数据库 在命令行中执行完成之后,会在本地和远程创建数据库: npx wranglerlatest d1 create prod-d1-tutorial 在cf中就可以看到数据库: 现在,您的Cloudfla…...
如何在看板中体现优先级变化
在看板中有效体现优先级变化的关键措施包括:采用颜色或标签标识优先级、设置任务排序规则、使用独立的优先级列或泳道、结合自动化规则同步优先级变化、建立定期的优先级审查流程。其中,设置任务排序规则尤其重要,因为它让看板视觉上直观地体…...
React Native在HarmonyOS 5.0阅读类应用开发中的实践
一、技术选型背景 随着HarmonyOS 5.0对Web兼容层的增强,React Native作为跨平台框架可通过重新编译ArkTS组件实现85%以上的代码复用率。阅读类应用具有UI复杂度低、数据流清晰的特点。 二、核心实现方案 1. 环境配置 (1)使用React Native…...
【数据分析】R版IntelliGenes用于生物标志物发现的可解释机器学习
禁止商业或二改转载,仅供自学使用,侵权必究,如需截取部分内容请后台联系作者! 文章目录 介绍流程步骤1. 输入数据2. 特征选择3. 模型训练4. I-Genes 评分计算5. 输出结果 IntelliGenesR 安装包1. 特征选择2. 模型训练和评估3. I-Genes 评分计…...
Mobile ALOHA全身模仿学习
一、题目 Mobile ALOHA:通过低成本全身远程操作学习双手移动操作 传统模仿学习(Imitation Learning)缺点:聚焦与桌面操作,缺乏通用任务所需的移动性和灵活性 本论文优点:(1)在ALOHA…...
NPOI Excel用OLE对象的形式插入文件附件以及插入图片
static void Main(string[] args) {XlsWithObjData();Console.WriteLine("输出完成"); }static void XlsWithObjData() {// 创建工作簿和单元格,只有HSSFWorkbook,XSSFWorkbook不可以HSSFWorkbook workbook new HSSFWorkbook();HSSFSheet sheet (HSSFSheet)workboo…...
Linux安全加固:从攻防视角构建系统免疫
Linux安全加固:从攻防视角构建系统免疫 构建坚不可摧的数字堡垒 引言:攻防对抗的新纪元 在日益复杂的网络威胁环境中,Linux系统安全已从被动防御转向主动免疫。2023年全球网络安全报告显示,高级持续性威胁(APT)攻击同比增长65%,平均入侵停留时间缩短至48小时。本章将从…...
起重机起升机构的安全装置有哪些?
起重机起升机构的安全装置是保障吊装作业安全的关键部件,主要用于防止超载、失控、断绳等危险情况。以下是常见的安全装置及其功能和原理: 一、超载保护装置(核心安全装置) 1. 起重量限制器 功能:实时监测起升载荷&a…...
