软件 工程

news2025/2/28 21:28:41

目录

  • 第十章、软件工程
    • 1、瀑布模型(SDLC)
    • 2、快速原型模型
    • 3、增量模型
    • 4、螺旋模型
    • 5、Ⅴ模型
    • 6、喷泉模型
    • 7、构建组装模型(CBSD)
    • 8、统一过程(RUP)
    • 9、敏捷开发方法
    • 10、信息系统开发方法
    • 11、需求开发
    • 12、结构化设计
    • 13、软件测试
      • 13.1、黑盒测试
      • 13.2、白盒测试
      • 13.3、McCabe复杂度
    • 14、系统运行与维护
    • 15、软件过程改进-CMMI
    • 16、项目管理

第十章、软件工程

1、瀑布模型(SDLC)

瀑布模型是将软件生存周期的各项活动规定为按固定顺序而连接的若干阶段工作,形如瀑布流水,最终得到软件产品

瀑布模型适用于需求相对稳定软件规模较大项目管理较为规范的软件开发项目,例如传统的企业级软件开发和信息系统开发等。
请添加图片描述

2、快速原型模型

在这里插入图片描述
主要用于挖掘需求,或是进行某种技术或开发方法的可行性研究,是开发人员为了快速而准确获得用户需求而经常采用的方法。

适用场合

  1. 预先不能确切定义需求的软件系统,或需求多变的系统
  2. 开发人员对设计方案没信心或对将要采用的技术手段不熟悉或把握不大
  3. 快速原型模型可作为单独的过程模型使用,也常被作为一种方法或实现技术应用于其他的过程模型

3、增量模型

把软件产品作为一系列增量构件来设计、编码、集成和测试,在项目软件开发过程中,以一系列的增量方式来逐步开发系统。
增量开发:按一定的时间间隔开发部分软件
增量提交:先提交部分软件给用户试用,听取用户意见,在提交另一部分软件让用户试用,反复多次,直到全部提交

适用场合

  1. 软件产品可以分批次地进行交付。
  2. 待开发的软件系统能够被模块化。
  3. 软件开发人员对应用领域不熟悉﹑难以一次性地进行系统开发时。
  4. 项目管理人员把握全局的水平较高。
  5. 对软件需求把握不准确、设计方案有一定风险的软件项目。

4、螺旋模型

在这里插入图片描述

在这里插入图片描述

5、Ⅴ模型

请添加图片描述
V模型(V-Model)是一种软件开发过程模型,它强调了测试和验证在软件开发过程中的重要性。与瀑布模型类似,V模型是一种线性顺序模型,但它强调了软件测试在整个开发周期中的重要性

V模型适用于要求高质量、低故障率的软件开发项目,特别是与安全和风险相关的项目,例如航空、军事等领域。

6、喷泉模型

请添加图片描述
喷泉模型是一种以用户需求为动力,以对象为驱动的模型,主要用于描述面向对象的软件开发过程。

在这里插入图片描述

7、构建组装模型(CBSD)

对象技术为软件工程的基于构件的过程模型提供了技术框架。面向对象范型强调了类的创建,类封装了数据和用于操纵该数据的算法。如果经过合适的设计和实现,面向对象的类可以在不同的应用及基于计算机的系统结构中复用

构件组装模型导致软件复用,而可复用性给软件工程师提供了大量的可见的益处
在这里插入图片描述

8、统一过程(RUP)

什么是 Rational 统一过程( Rational Unified Process)?
Rational Unified Process 是软件工程的过程。它提供了在开发组织中分派任务和责任的纪律化方法。它的目标是在可预见的日程和预算前提下,确保满足最终用户需求的高质量产品。

统一过程模型是一种“用例驱动,以体系结构为核,迭代及增量”的软件过程框架,由UML方法和工具支持

在这里插入图片描述

9、敏捷开发方法

敏捷开发以用户的需求进化为核心采用迭代循序渐进的方法进行软件开发。在敏捷开发中,软件项目在构建初期被切分成多个子项目,各个子项目的成果都经过测试,具备可视、可集成和可运行使用的特征。换言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态
在这里插入图片描述

10、信息系统开发方法

结构化方法

  1. 用户至上
  2. 严格区分工作阶段,每阶段有任务与成果
  3. 强调系统开发过程的整体性和全局性
  4. 系统开发过程工程化,文档资料标准化
  5. 自顶向下,逐步分解(求精)

原型法

  1. 适用于需求不明确的开发
  2. 包括抛弃式原型和演化式原型

面向对象方法

  1. 更好的复用性
  2. 关键在于建立一个全面、合理、统一的模型
  3. 分析、设计、实现三个阶段,界限不明确

面向服务方法

  1. SO方法有三个主要的抽象级别:操作、服务、业务流程
  2. SOAD分为三个层次:基础设计层(底层服务构件)、应用结构层(服务之间的接口和服务级协定)和业务组织层(业务流程建模和服务流程编排)
  3. 服务建模:分为服务发现、服务规约和服务实现三个阶段

11、需求开发

在这里插入图片描述

12、结构化设计

基本原则:

  1. 自顶向下、逐步求精
  2. 信息隐蔽
  3. 模块独立(高内聚、低耦合、复杂度)
  • 保持模块的大小适中
  • 尽可能减少调用的深度
  • 多扇入,少扇出
  • 单入口,单出口
  • 模块的作用域应该在模块之内
  • 功能应该是可预测的
    请添加图片描述

内聚
在这里插入图片描述

耦合
在这里插入图片描述

13、软件测试

  • 尽早、不断的进行测试
  • 程序员避免测试自己设计的程序
  • 既要选择有效、合理的数据,也要选择无效、不合理的数据
  • 修改后应进行回归测试
  • 尚未发现的错误数量与该程序已发现错误数成正比

动态测试

  1. 黑盒测试法
  2. 白盒测试法
  3. 灰盒测试法

静态测试

  1. 桌前检查
  2. 代码走查
  3. 代码审查

在这里插入图片描述

13.1、黑盒测试

黑盒测试,也称为功能测试,是基于软件系统的外部功能需求规格说明书,对系统进行测试的一种方法,测试人员不了解系统的内部实现细节,仅仅是按照系统的功能和接口规格说明书来进行测试,以验证系统的功能是否满足需求

  1. 等价类划分
    将输入数据划分成若干个等价类,确保每个等价类内的数据具有相同的功能和处理方式,以便用最少的测试用例覆盖所有的等价类。
  2. 边界值分析
    测试边界条件下的行为,比如输入最大值、最小值、空值、超过允许的长度等情况,检查程序是否能够正确地处理这些边界条件
  3. 错误推测
    在开发软件测试用例时,通过观察程序的代码和逻辑,预测程序可能存在的错误,然后设计测试用例来验证这些错误是否存在
  4. 因果图
    因果图也称为因果关系图,它是用来分析系统中因果关系的图形工具。测试人员可以通过绘制因果图来理解系统的逻辑关系,从而发现潜在的错误和问题,提高测试的效率和质量

13.2、白盒测试

白盒测试,也称为结构测试或透明盒测试,是基于软件系统的内部实现细节,对系统进行测试的一种方法,测试人员了解系统的内部结构和实现方式,通过检查程序代码、路径、分支、循环等细节,以验证系统是否按照设计要求正常工作

  1. 基本路径测试
  2. 循环覆盖测试
  3. 逻辑覆盖测试
    语句覆盖
    判定覆盖
    条件覆盖
    条件判定覆盖
    修正的条件判断覆盖
    条件组合覆盖
    点覆盖
    边覆盖
    路径覆盖

13.3、McCabe复杂度

McCabe复杂度是通过计算程序的控制流图中节点数目和边的数目来确定的
请添加图片描述

计算有向图G的环路复杂度公式为:V(G)=m-n+2。说明:
其中V(G)是有向图G中的环路个数,m是G中的有向弧数n是G中的节点数

14、系统运行与维护

软件维护是生命周期的一个完整部分。可以将软件维护定义为需要提供软件支持的全部活动,这些活动包括在交付前完成的活动,以及交付后完成的活动。交付前完成的活动包括交付后运行的计划和维护计划等;交付后的活动包括软件修改、培训、帮助资料

可维护性

  1. 易分析性
  2. 易给变性
  3. 稳定性
  4. 易测试性

维护类型

  1. 改正性维护(25%)
    改正在系统开发阶段已经发生的而系统测试阶段尚未发生的错误
  2. 适应性维护(20%)
    适应软件环境发生的变化而进行的维护
  3. 完善性维护(50%)
    扩充软件的功能和用户提出的新需求而进行的维护
  4. 预防性维护(5%)
    为改进软件效率、可靠性、可维护性而进行的维护

15、软件过程改进-CMMI

CMMI(Capability Maturity Model Integration)是一种软件过程改进框架,旨在帮助组织提高其软件开发和维护过程的质量和效率

在这里插入图片描述
在这里插入图片描述

16、项目管理

时间管理
进度安排的常用图形描述方法有Gantt图和PERT图。Gantt图不能清晰地描述____;PERT图可以给出哪些任务完成后才能开始另一些任务。下图所示的PERT图中,事件6的最晚开始时间是____

请添加图片描述

(1)A.每个任务从何时开始B.每个任务到何时结束
C.每个任务的进展情况D.各任务之间的依赖关系
(2)A.0 B.3 C.10 D.11

风险是指"损失或伤害的可能性”。
项目风险
技术风险
商业风险

关心未来
关心变化
关心选择

风险曝光度(Risk Exposure):计算方法是风险出现的概率乘以风险可能造成的损失。假设正在开发的软件项目可能存在一个未被发现的错误,而这个错误出现的概率是0.5%,给公司造成的损失将是1000000元,那么这个错误的风险曝光度就应为1000000×0.5%=5000元。

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

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

相关文章

Codeforces Round 872 (Div. 2) 题解

总结:5.9有同学问B题,所以就连同ABC题一起做了,都算是思维题吧,难度不算高 A. LuoTianyi and the Palindrome String 思路:输入的都为回文字符串,如果输入的回文字符串每个字符都相同,如"…

QT+VS推箱子小游戏

1、创建一个GUI程序,将界面设计成如下样式: 创建一个已QDialog为基类的子类,在窗体里添加一个pushbutton的按钮,一个QLabel用来显示文字。窗体的背景图片和按钮的背景颜色,都可以在样式中进行设计。 2、右键项目名称&…

ChatGPT 实现云原生转型

云原生转型 在相对专业的细分领域,chatGPT 能起到什么作用呢?能给出什么回答,怎么问才能得到好的回答呢?本节内容,将尝试从一个业界其实也还没有定论的话题,开始问答。这就是:云原生转型。 &q…

OpenCV教程——图像模糊。均值模糊,高斯模糊,中值模糊,双边模糊,高斯分布

1.图像模糊 图像模糊是图像处理中最简单和常用的操作之一。 ⚠️使用该操作的原因之一是为了给图像预处理时降低噪声。 图像模糊操作背后是数学的卷积计算。 卷积操作的原理: 常用的图像模糊的方法: 均值模糊高斯模糊中值模糊双边模糊 这四种模糊方式…

商用密码应用安全性测评机构资质流程

商用密码应用安全性测评机构(简称密评机构)资质建设相关指导性材料包括: 1、《商用密码应用安全性测评机构能力要求》 2、《商用密码应用安全性测评机构能力评审实施细则(试行)》 3、《商用密码应用安全性测评机构管理…

【Rust】速度入门---打印个螃蟹先

参考: 菜鸟教程 1 输出到命令行 这不得打印个螃蟹 // 代码来自官方入门教程 // ferris_say需要另外安装 use ferris_says::say; use std::io::{stdout, BufWriter};fn main() {let stdout: std::io::Stdout stdout();let msg: String String::from("Hello fellow Rusta…

无线传感器网络的Z-SEP路由协议及对比(Matlab代码实现)

目录 💥1 概述 📚2 运行结果 🎉3 参考文献 👨‍💻4 Matlab代码 💥1 概述 无线传感网络最早应用于军事领域,随着工业界和学术界的关注度提高和技术的成熟,现已广泛应用于军事侦查…

kubernetes❀集群环境搭建

kubernetes❀集群环境搭建 2. kubernetes集群环境搭建2.1 前置知识点2.2 kubeadm 部署方式介绍2.3 安装要求2.4 最终目标2.5 准备环境2.6 环境初始化2.6.1 检查操作系统的版本2.6.2 主机名解析2.6.3 时间同步2.6.4 禁用iptable和firewalld服务2.6.5 禁用selinux2.6.6 禁用swap分…

Rust Wasm Linux开发环境搭建

一、Linux 镜像版本 CentOS-7-x86_64-DVD-2009.iso,Virtual Box 7.0 选择 GNOME Desktop 版本, 配置远程连接(可选), nmtui 激活连接 enp0s3 ,查看 ip 地址, 绑定端口转发, 通过…

gateway与zuul的区别与联系

前言 zuul1.0与spring-cloud-gateway的区别 Zuul: zuul是netflix公司的项目,本质上是web servlet,基于JavaEE Servlet技术栈,使用阻塞API,处理的是http请求,没有提供异步支持,不支持任何长连接&#xff0c…

Linux——进程信号3

内核如何实现信号的捕捉 信号捕捉的方法出了我们之前的signal之外,还有其它方法 sigaction sigaction:检查或更改一个信号的动作即捕捉信号 第一个参数,要捕捉的信号对应的编号,第二个参数:结构体(这个结构…

4种整流电路、5种滤波电路

目录 基本电路变压电路整流电路半波整流电路全波整流电路桥式整流电路倍压整流电路 滤波电路电容滤波电路电感滤波电路RC滤波电路LC滤波电路有源滤波电路 整流滤波电路总结常用整流电路性能对照常用无源滤波电路性能对照电容滤波电路输出电流大小与滤波电容量的关系常用整流滤波…

nodejs+vue大学招聘求职网站

该系统的基本功能包括学生注册登录,企业注册登录,发布个人简历,发布企业招聘信息,新闻资讯,招聘信息,企业管理,学生信息管理,招聘信息管理,修改密码等功能。 系统首页 后台界面 1.…

【设计模式】设计模式简述及类图

设计模式的分类依据两个准则,第一个是目的准则,即模式是用来完成什么工作的。模式依据其目的可以分为创建型、结构型和行为型三种。创建型模式和对象的创建有关,结构型模式处理类或对象的组合。行为型模式对类或对象怎样交互和怎样分配职责进…

随机变量X,分布函数X~F(x)的理解。

1.随机变量X 1.通常认知的"x"与随机变量X 我们通常意义上的 x 是自变量,y f(x) 中的自变量。 但是 X 更多意义是 对应法则 " f " ,X完整写法是 X(ω) ω ∈ Ω。 X这个对应法则,可以将样本点映射到实数轴上。 那么X这…

初识linux之POSIX信号量

目录 一、信号量的概念 1. 信号量的作用 2. 信号量的PV操作 3. 信号量操作接口 3.1 初始化信号量 3.2 销毁信号量 3.3 等待信号量(P操作) 3.4 发布信号量(V操作) 二、循环队列 三、使用循环队列模拟实现生产消费模型 1…

Spring 组成及拓展

1. Spring 组成 1.1 Spring的七大模块 1.2拓展 在Spring官网有这个介绍:现代化的Java开发!说白了就是基于Spring的开发 - SpringBoot - 一个快速开发的脚手架 - 基于SpringBoot可以快速的开发单个微服务。 - 约定大于配置! - SpringC…

ENVI实现遥感图像的最小距离、最大似然、支持向量机分类

目录 1 分类需求 2 具体操作 2.1 ROI区域绘制 2.2 最小距离法 2.3 最大似然法 2.4 支持向量机 3 精度评定 4 分类后处理 4.1 小斑块处理 4.2 分类统计 4.3 修改类别颜色 5 结果对比 本文介绍基于ENVI软件,实现最小距离法、最大似然法与支持向量机三种遥…

达索的多领域系统级仿真软件Dymola 2023版本下载与安装配置教程

目录 前言一、Dymola 安装二、使用配置总结 前言 Dymola是由Dassault Systemes公司开发的一款基于物理建模的多领域系统级仿真软件。它包含了多个领域的建模和仿真工具,如机械、电气、液压、热力学、控制等,可以用于对各种系统进行建模和仿真&#xff0…

GcExcel for Java edition 6.1.0 Crack

高速 Java Excel 电子表格 API 库,在 Java 应用程序中以编程方式创建、编辑、导入和导出 Excel 电子表格。几乎可以在任何地方部署。 创建、加载、编辑和保存 Excel 电子表格 保存为 .XLSX、PDF、HTML、CSV 和 JSON 基于具有零 Excel 依赖性的 Excel 对象模型 在本地、内部或云…