当前位置: 首页 > news >正文

【备战软考(嵌入式系统设计师)】10 - 软件工程基础

这一部分的内容是概念比较多,不要理解,去感受。

涉及的知识点是嵌入式系统开发和维护的部分,也就是和管理相关的,而不是具体如何进行嵌入式系统开发的细节。

系统开发生命周期

按照顺序有下面几个阶段,我们主要要记住的是各个周期的产出。

系统规划:初步调查,分析系统目标,拟实施方案,可行性研究等。产出系统设计计划书。

系统分析:业务流程分析,软件需求分析,网络需求分析,数据流程分析等。产出系统需求规格说明书,软件需求规格说明书,确认测试计划,系统测试计划。

系统设计:软件架构设计,软件概要设计,详细设计等。产出架构设计文档,概要设计说明书,测试计划,各类的设计图。

系统实施:软件编码,各种测试。产出源码,各种测试报告,操作手册。

系统验收:确认测试,试运行。产出的测试报告,项目验收报告。

能力成熟度模型

软件能力成熟模型(CMM,Capability Maturity Model)规定了软件研制和软件测试中的主要软件管理过程和工程过程的实践。

按照能力级从低到高的顺序我们依次说说不同级别的特点。软考选择题一般会问我们什么什么关键过程属于哪一个级别,我们能够分辨即可。

初始级:最低级别的软件能力,几乎没有明确定义的步骤(我们自己动手做的小项目就属于这个水平。。。)

可重复级:建立了基本的项目管理过程和实践,可以重复以前在同类项目中的成功,也就是有项目配置管理,软件质量保证,软件需求管理等。

已定义级:管理和工程两方面的软件过程已经文档化和标准化。可以进行同行评审,组间协调,集成软件管理等。

已管理级:制定了软件过程和产品质量的详细度量标准。拥有软件质量管理和定量过程管理。

优化级:最高级。加强了定量分析,通过来自过程质量反馈和来自新观念,新技术的反馈使得过程能不断持续地改进,拥有过程更改管理,技术改革管理和缺陷预防。

软件开发模型

我们写程序的时候可以借鉴别人的框架,在软件开发的过程中也有可以借鉴的框架,那就是软阿金开发模型。

接下来介绍一下几个常见的模型。

瀑布模型:开发流程如图瀑布一样一步一步往下走直到项目开发完成。适合需求明确或者是二次开发的项目。

原型:先快速构建一个功能模型,给用户演示并且根据用户需求更改模型,最终设计出项目。适合需求不明确的项目,不适合超大项目开发。

增量模型:先开发出核心功能模块,和用户确认过后再增加一部分内容,直到项目完成。

螺旋模型:原型+瀑布,螺旋模型采用一种周期性的方法来进行系统开发,其开发过程呈螺旋形,每一个周期都包括需求定义、风险分析、工程实现和评审四个阶段。这四个阶段不断迭代进行,每次迭代都会使软件开发前进一步。在每个阶段结束时,都会进行评审和确认,必要时返回上一个阶段进行调整和修改。适合需求不明确的项目,也适合大型项目的开发。

V模型:在开发的各个阶段中增加测试项,可以看作是瀑布中穿插着测试项目。

系统测试

软件测试的目的是为了发现软件中存在的错误(不是修改错误)。

测试分为动态测试和静态测试。

动态测试

动态测试就是我们正常地去运行被测试的程序,通过输入输出数据来判断是否和预期一样。动态测试包括确认与接口测试,覆盖率分析,性能分析等。

动态测试中也包含了多种测试方法:

黑盒测试:功能性测试,不需要了解软件的代码,直接使用测试用例去测试。

白盒测试:结构性测试,根据代码路基去设计测试用例去测试。

灰盒测试:黑盒+白盒。

静态测试

静态测试就是我们并不真正地去运行程序。静态测试包括代码检查,静态结构分析,代码质量度量等。

静态测试也包含了多种测试方法:

桌前检查:程序员自己检查自己的程序(我的程序怎么可能出错

代码审查:找来多个程序员组个小组来检查。

代码走查:让测试人员提供测试用例,让程序员手动运行测试用例检查代码逻辑。

相关文章:

【备战软考(嵌入式系统设计师)】10 - 软件工程基础

这一部分的内容是概念比较多,不要理解,去感受。 涉及的知识点是嵌入式系统开发和维护的部分,也就是和管理相关的,而不是具体如何进行嵌入式系统开发的细节。 系统开发生命周期 按照顺序有下面几个阶段,我们主要要记…...

随手笔记-GNN(朴素图神经网络)

自己看代码随手写的一点备忘录,自己看的,不喜勿喷 GNN (《------ 代码) 刚开始我还在怀疑为什么没有加weigth bias,已经为什么权重才两个,原来是对node_feats进行的network的传播,而且自己内部直接进行了。 下面是一…...

C 语言指针怎么理解?

在今天的学习中,我注意到有位学员似乎对 C 语言指针的理解有些困惑。为了帮助大家更好地理解,我来举个例子。 C 语言指针就好比 Windows 桌面上常见的快捷方式。快捷方式可以指向某个游戏,这就是普通指针;它也可以指向另一个快捷…...

HTTP协议:通信机制、特点及实践应用

目录 前言 1. 运行机制 2. 通信方式 3. 主要特点 4. 统一资源标识符(URL) 5. HTTP报文 6. HTTP请求 7. HTTP响应 8. 实体 9. 持续连接 结语 前言 HTTP(Hypertext Transfer Protocol)是互联网上应用最广泛的一种协议&a…...

Leetcode—289. 生命游戏【中等】

2024每日刷题&#xff08;126&#xff09; Leetcode—289. 生命游戏 算法思想 实现代码 class Solution { public:void gameOfLife(vector<vector<int>>& board) {int rows board.size();int cols board[0].size();int neighbors[3] {0, 1, -1};vector<…...

系统运维(虚拟化)

1.VLAN VLAN&#xff08;Virtual Local Area Network&#xff09;即虚拟局域网&#xff0c;是将一个物理的LAN在逻辑上划分成多个广播域的通信技术。 每个VLAN是一个广播域&#xff0c;VLAN内的主机间可以直接通信&#xff0c;而VLAN间则不能直接互通。这样&#xff0c;广播报…...

Linux域名解析

1.hosts:windows c盘下面 Linux: /etc/hosts 作用:实现名字解析&#xff0c;主要为本地主机名、集群节点提供快速解析。平面式结构&#xff0c;集中式数据库。 缺点:不便于查询更新 2.DNS:域名系统 作用:实现名字解析(分层性&#xff0c;层次性) FQDN:完全合格域名/全称域…...

树形结构和列表的区别

树形结构和列表在数据组织、表示方式以及应用场景等方面存在明显的区别。 首先&#xff0c;树形结构是一种非线性的数据结构&#xff0c;表现为层次的嵌套结构。每个节点可以有多个子节点&#xff0c;这些子节点又可以有自己的子节点&#xff0c;形成一个层次分明的结构。这种一…...

Go中json的解析和反解析

在解析过程中&#xff0c;反向解析不包含其中的部分参数也不会报错&#xff0c;这是需要注意的一点 31 func main() { // E: main redeclared in this block 32 type A…...

SpringBoot+vue实现退出功能

目录 1. 创建点击事件 2. 编写退出逻辑 在Spring Boot 和 Vue.js 应用中实现退出功能&#xff0c;通常涉及到前端的用户界面操作和注销逻辑。 以下是实现退出功能的步骤&#xff1a; 1. 创建点击事件 在header.vue中创建一个点击事件 <span style"text-decoratio…...

Linux操作系统中管理磁盘的另外一种操作方式。即LVM——逻辑卷管理操作

在Linux操作系统中管理磁盘的一种方法名称——LVM&#xff0c;这种管理磁盘的优势。 1.使用LVM去管理磁盘可以在不影响原来数据的前提下去扩容磁盘空间或者是缩减磁盘空间。 在LVM中除了上层逻辑券可以扩容&#xff0c;下层的券组也可以扩容。 2.使用LVM管理的磁盘支持快照功…...

Lua 零基础入门

Lua 1.Lua是什么&#xff1f; 1.1 Lua的历史 Lua是由Roberto Ierusalimschy、Luiz Henrique de Figueiredo和Waldemar Celes于1993年创建的&#xff0c;当时他们是巴西里约热内卢天主教大学计算机图形技术组&#xff08;Tecgraf&#xff09;的成员。在开发Lua之前&#xff0…...

记录DemoApplication.java不变蓝问题

问题 解决方案 一、点击右下角加载 二、右键项目 勾选maven...

22_Scala集合Seq

文章目录 Seq序列1.构建集合2.List集合元素拼接&&集合拼接3.可变Seq&&List3.1 ListBuffer创建3.2 增删改查3.3 相互转化 Appendix1.Scala起别名2.Seq底层3.关于运算符操作: :4.空集合的表示 Seq序列 –Seq表示有序&#xff0c;数据可重复的集合 1.构建集合 …...

机器学习初学者 6 个核心算法!建议收藏,反复观看!

今天再来介绍机器学习算法的基本概念和适用场景&#xff01; 首先&#xff0c;引用一句英国统计学家George E. P. Box的名言&#xff1a;All models are wrong, but some are useful. 没有哪一种算法能够适用所有情况&#xff0c;只有针对某一种问题更有用的算法。 也就是说&…...

SpringBoot 打包所有依赖

SpringBoot 项目打包的时候可以通过插件 spring-boot-maven-plugin 来 repackage 项目&#xff0c;使得打的包中包含所有依赖&#xff0c;可以直接运行。例如&#xff1a; <plugins><plugin><groupId>org.springframework.boot</groupId><artifact…...

QpushButton绘制圆角矩形并绘制背景颜色

要在QPushButton的paintEvent中绘制按钮的颜色&#xff0c;可以创建一个自定义的QPushButton类&#xff0c;并重写它的paintEvent函数。在paintEvent函数中&#xff0c;可以使用QPainter来绘制按钮的背景颜色。 以下是一个简单的示例代码&#xff0c;演示如何在自定义的QPushB…...

Core Impact 21.5 (Windows) - 高级渗透测试

Core Impact 21.5 (Windows) - 高级渗透测试 Fortra | Core Security Penetration testing software, Release Feb 2024 请访问原文链接&#xff1a;Core Impact 21.5 (Windows) - 高级渗透测试&#xff0c;查看最新版。原创作品&#xff0c;转载请保留出处。 作者主页&…...

【Web前端】定位_浮动_音视频

1、定位 1.1想对定位 相对定位&#xff0c;使用relative&#xff0c;参考点是标签之前的位置&#xff0c;不是相对于父节点、同级节点或浏览器。相对定位通过left、right进行水平偏移&#xff0c;通过top、bottom进行垂直偏移Ieft:表示相对于原本位置的左外边界右移的距离rig…...

【Osek网络管理测试】[TG4_TC3]LimpHome状态下的睡眠中断

🙋‍♂️ 【Osek网络管理测试】系列💁‍♂️点击跳转 文章目录 1.环境搭建2.测试目的3.测试步骤4.预期结果5.测试结果1.环境搭建 硬件:VN1630 软件:CANoe 2.测试目的 验证DUT在LimpHome状态下的睡眠中断是否正确 分析:在跛脚运行状态下,满足睡眠条件后,进入到NM…...

python打卡day49

知识点回顾&#xff1a; 通道注意力模块复习空间注意力模块CBAM的定义 作业&#xff1a;尝试对今天的模型检查参数数目&#xff0c;并用tensorboard查看训练过程 import torch import torch.nn as nn# 定义通道注意力 class ChannelAttention(nn.Module):def __init__(self,…...

模型参数、模型存储精度、参数与显存

模型参数量衡量单位 M&#xff1a;百万&#xff08;Million&#xff09; B&#xff1a;十亿&#xff08;Billion&#xff09; 1 B 1000 M 1B 1000M 1B1000M 参数存储精度 模型参数是固定的&#xff0c;但是一个参数所表示多少字节不一定&#xff0c;需要看这个参数以什么…...

centos 7 部署awstats 网站访问检测

一、基础环境准备&#xff08;两种安装方式都要做&#xff09; bash # 安装必要依赖 yum install -y httpd perl mod_perl perl-Time-HiRes perl-DateTime systemctl enable httpd # 设置 Apache 开机自启 systemctl start httpd # 启动 Apache二、安装 AWStats&#xff0…...

鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院挂号小程序

一、开发准备 ​​环境搭建​​&#xff1a; 安装DevEco Studio 3.0或更高版本配置HarmonyOS SDK申请开发者账号 ​​项目创建​​&#xff1a; File > New > Create Project > Application (选择"Empty Ability") 二、核心功能实现 1. 医院科室展示 /…...

江苏艾立泰跨国资源接力:废料变黄金的绿色供应链革命

在华东塑料包装行业面临限塑令深度调整的背景下&#xff0c;江苏艾立泰以一场跨国资源接力的创新实践&#xff0c;重新定义了绿色供应链的边界。 跨国回收网络&#xff1a;废料变黄金的全球棋局 艾立泰在欧洲、东南亚建立再生塑料回收点&#xff0c;将海外废弃包装箱通过标准…...

微信小程序云开发平台MySQL的连接方式

注&#xff1a;微信小程序云开发平台指的是腾讯云开发 先给结论&#xff1a;微信小程序云开发平台的MySQL&#xff0c;无法通过获取数据库连接信息的方式进行连接&#xff0c;连接只能通过云开发的SDK连接&#xff0c;具体要参考官方文档&#xff1a; 为什么&#xff1f; 因为…...

USB Over IP专用硬件的5个特点

USB over IP技术通过将USB协议数据封装在标准TCP/IP网络数据包中&#xff0c;从根本上改变了USB连接。这允许客户端通过局域网或广域网远程访问和控制物理连接到服务器的USB设备&#xff08;如专用硬件设备&#xff09;&#xff0c;从而消除了直接物理连接的需要。USB over IP的…...

视频行为标注工具BehaviLabel(源码+使用介绍+Windows.Exe版本)

前言&#xff1a; 最近在做行为检测相关的模型&#xff0c;用的是时空图卷积网络&#xff08;STGCN&#xff09;&#xff0c;但原有kinetic-400数据集数据质量较低&#xff0c;需要进行细粒度的标注&#xff0c;同时粗略搜了下已有开源工具基本都集中于图像分割这块&#xff0c…...

安宝特案例丨Vuzix AR智能眼镜集成专业软件,助力卢森堡医院药房转型,赢得辉瑞创新奖

在Vuzix M400 AR智能眼镜的助力下&#xff0c;卢森堡罗伯特舒曼医院&#xff08;the Robert Schuman Hospitals, HRS&#xff09;凭借在无菌制剂生产流程中引入增强现实技术&#xff08;AR&#xff09;创新项目&#xff0c;荣获了2024年6月7日由卢森堡医院药剂师协会&#xff0…...

论文阅读笔记——Muffin: Testing Deep Learning Libraries via Neural Architecture Fuzzing

Muffin 论文 现有方法 CRADLE 和 LEMON&#xff0c;依赖模型推理阶段输出进行差分测试&#xff0c;但在训练阶段是不可行的&#xff0c;因为训练阶段直到最后才有固定输出&#xff0c;中间过程是不断变化的。API 库覆盖低&#xff0c;因为各个 API 都是在各种具体场景下使用。…...