软件工程复习笔记

一、软件工程概述

软件 = 程序 + 数据 + 相关文档

软件危机Software Crisis

指由于落后的软件生产方式无法满足迅速增长的计算机软件需求,从而导致软件开发与维护过程中出现一系列严重问题的现象。 

软件工程三要素

方法、工具、过程

软件工程目标

在给定成本、进度的前提下,开发出满足用户需求且具有 可修改性、有效性、可靠性、可理解性、可维护性、可重用性、可适应性、可移植性、可追踪性和可互操作性 的软件产品。

软件工程研究内容

软件开发技术

软件工程管理

二、软件生命周期模型

software life cycle

过程模型(Process Models)

九个传统软件生命周期模型:


瀑布模型

优点 缺点
软件生命周期的阶段划分不仅降低了软件开发的复杂程度,而且提高了软件开发过程的透明性,便于将软件工程过程和软件管理过程有机地融合在一起,从而提高软件开发过程的可管理性。 模型缺乏灵活性,特别是无法解决软件需求不明确或不准确的问题,这是瀑布模型最突出的缺点。因此,瀑布模型只适合于需求明确的软件项目。
 推迟了软件实现,强调在软件实现前必须进行分析和设计工作 模型的风险控制能力较弱。成品时间长;体系结构的风险和错误只有在测试阶段才能发现,返工导致项目延期。
瀑布模型以项目的阶段评审和文档控制为手段有效地对整个开发过程进行指导,保证了阶段之间的正确衔接,能够及时发现并纠正开发过程中存在的缺陷,从而能够使产品达到预期的质量要求。 软件活动是文档驱动的,文档过多会增加工作量,文档完成情况会误导管理人员。

 

螺旋模型

针对大型软件项目的特点提出。

特点:

事先不能完整清晰地定义需求;

往往存在着诸多风险因素

螺旋模型将瀑布模型与演化模型结合起来,并加入了两种模型均

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Linux部署前后端分离项目

目录 一、jdk安装 二、tomcat安装 三、MySQL安装 四、nginx安装 五、配置多个tomcat负载,部署后端项目 六、前端部署 一、jdk安装 1. 上传jdk安装包 jdk-8u151-linux-x64.tar.gz 进入opt目录,将安装包拖进去 2. 解压安装包 这里需要解压到usr/loc…

用一行代码在几秒钟内抓取任何网站

如果你正在寻找最强大的 Python 抓取工具?不要再看了!这一行代码将帮助你立即启动并运行。 Scrapeasy Scrapeasy 是一个 Python 库,可以轻松抓取网页并从中提取数据。它可用于从单个页面抓取数据或从多个页面抓取数据。它还可用于从 PDF 和…

【串口工具实战】关于USB转TTL工具的推荐

好的工具使用不但可以提高工作效率而且能够带来稳定性 一、更新日志 2024/02/26 A1.0 初稿 二、前言 以前:USB转TTL这东西有什么讲头不就是个数据转换模组集成 现在:你说的都对,对对对 结论:USB转TTL工具的推荐 作为下载…

软考37-上午题-【数据库】-数据模型、数据库的三级模式和二级映像

一、考情简介 上午题:6分——6道选择题 下午题:15分——一道分析题 E-R图、关系模式:下午考试必考!!!(编制也要考!) 二、数据模型 数据模型是对现实世界数据特征的抽象…

vue项目的前端工程化思路webpack(持续更新中)

写在前面:现在的前端网页功能丰富,特别是SPA(single page web application 单页应用)技术流行后,JavaScript的复杂度增加和需要一大堆依赖包,还需要解决Scss,Less……新增样式的扩展写法的编译工…

什么是Dapp

什么是Dapp Dapp(去中心化应用)程序的后端代码(智能合约)运行在一个去中心化的网络上,而非中心化的服务器。他们使用以太坊区块链网络作为数据存储端,并且用智能合约实现app的业务逻辑。 特点 智能合约&am…

【C语言】linux内核__netdev_start_xmit函数

一、中文注释 // 这是一个内联函数,用于启动网络设备的数据包发送流程。 // 它通过网络设备操作集(net_device_ops)指定的特定函数 // 来启动给定数据包的发送。// ops: 指向包含网络设备操作函数的结构体的指针 // skb: 指向要发送的套接字…

2024年大路灯无广测评推荐:书客、柏曼、霍尼韦尔大路灯哪个品牌更好?

临近开学,护眼大路灯哪个品牌好的话题度在不断提高! 有人说大路灯是“智商税”,但也有人说“学生党福音”、“照明神器”,吸引了大量人群的关注。在没用过大路灯之前我也很担心在担心是否是智商税的问题,直到我自己入…

AIGC实战——扩散模型(Diffusion Model)

AIGC实战——扩散模型 0. 前言1. 去噪扩散概率模型1.1 Flowers 数据集1.2 正向扩散过程1.3 重参数化技巧1.4 扩散规划1.5 逆向扩散过程 2. U-Net 去噪模型2.1 U-Net 架构2.2 正弦嵌入2.3 ResidualBlock2.4 DownBlocks 和 UpBlocks 3. 训练扩散模型4. 去噪扩散概率模型的采样5. …

伪原创一键生成软件:为你创作有价值的文章

伪原创一键生成软件是一种现代写手必备的得力助手。无论您是写作新手还是经验丰富的老手,它都能帮助您快速生成有吸引力的文章,让您在竞争激烈的市场中脱颖而出。伪原创一键生成软件是一款让写作变得轻松且高效的神奇工具。它为写手们节省了大量的时间和…

智慧公厕:让城市更智慧、更环保

在现代社会,智慧公厕作为城市管理的重要一环,是智慧城市的重要组成部分,其建设的价值十出突出,是公共厕所信息化升级改造的核心方案。如智慧公厕源头厂家广州中期科技有限公司,所自主研发的智慧公厕整体解决方案&#…

自动驾驶---行业发展及就业环境杂谈

进入21世纪以来,自动驾驶行业有着飞速的发展,自动驾驶技术(L2---L3)也逐渐落地量产到寻常百姓家。虽然最早期量产FSD的特斯拉有着深厚的技术积累,但是进入2010年以后,国内的公司也逐渐发展起来自己的自动驾…

Attention注意力机制

1. 背景 1.1. 变长序列 1.2. 序列的输出格式 每个向量对应一个标签,如词性标注整个序列输出一个标签,如情感分析(Sentiment Analysis)由模型决定输出的标签个数,这种任务称为Seq2seq任务 1.3. 序列标注 使用全连接的方式,没办法…

「连载」边缘计算(十九)02-22:边缘部分源码(源码分析篇)

(接上篇) 从启动函数Start()中可以看到,其以go routine的方式启动很多后台处理服务,具体如下。 1)初始化edged的kubeClient,具体如下所示。 // use self defined client to replace fake kube…

MySQL进阶篇2-索引的创建和使用以及SQL的性能优化

索引 mkdir mysql tar -xvf mysqlxxxxx.tar -c myql cd mysql rpm -ivh .....rpm yum install openssl-devel ​ systemctl start mysqld ​ gerp temporary password /var/log/mysqld.log ​ mysql -u root -p mysql> show variables like validate_password.% set glob…

大气颗粒物与VOCs PMF源解析

原文:大气颗粒物与VOCs PMF源解析 第一:PMF源解析技术及其输入文件 1、大气污染源解析方法有哪些? 2、这些方法各自应用的条件以及它们的优缺点? 3、大气颗粒物的基础知识及各组分的主要来源 大气颗粒物的来源: 大…

一键解锁本地大型语言模型!Ollama框架让你轻松运行Gemma

想要在本地运行大型语言模型吗? Ollama框架提供了这样的机会。 这个框架是专为在Docker容器中部署LLM而设计的,简化了部署和管理流程。 安装Ollama后,你只需执行一条命令,即可在本地运行开源大型语言模型。 它将模型权重、配置…

Spring Security源码学习

Spring Security本质是一个过滤器链 过滤器链本质是责任链设计模型 1. HttpSecurity 【第五篇】深入理解HttpSecurity的设计-腾讯云开发者社区-腾讯云 在以前spring security也是采用xml配置的方式&#xff0c;在<http>标签中配置http请求相关的配置&#xff0c;如用户…

蓝桥杯-最小砝码

知识点&#xff1a;本题主要考察任何一个物体都可以用 3进制表示。 #include <iostream> #include<cmath> using namespace std; //知识点:任何一个物体都可以用 3进制表示 int main() { int n; cin >> n; int sum 0; for (int i 0;; i)…

cmake构建在Visual stdio 2019 和Xcode的Qt的程序

概述&#xff1a;用CMake可以方便地构建Qt的应用程序&#xff0c;前提是你已经配置好用Visual Stdio 开发的Qt的环境或者Xcode的Qt开发环境。 1、编写CMakeLists.txt cmake_minimum_required(VERSION 3.6)set(CMAKE_CONFIGURATION_TYPES "Debug;Release" CACHE STR…