软件工程知识点
-
软件工程提出的时代和背景
-
软件工程化的层次
-
软件开发过程
-
敏捷与计划开发
-
演化式开发和DevOps
-
软件配置管理过程和相关工具名
-
软件质量和代码异味
-
能够分析常见的代码异味和bug
-
代码复杂度和计算圈复杂度
-
了解代码异味和重构行为的关系
-
了解自动化单元测试框架xunit,Junit,能够写出相应测试用例
-
了解黑盒测试等价类划分,了解白盒测试的独立路径
-
敏捷开发与极限编程
-
结对编程与问题追踪系统
-
软件设计的层次,基本原则,思想
-
模块化,内聚类型,耦合类型
-
面向对象设计步骤,面向对象设计原则
-
设计模式概念,MVC模式
-
构件、模式与框架概念与区别
-
演化式设计与重构概念
-
软件体系结构模式
-
三类需求与需求工程的关键活动
-
掌握作业布置的各种UML图,如用例图,类图,活动图,状态机图与泳道图。
-
了解软件测试各种术语与概念
-
软件工程提出的时代和背景:软件工程是在20世纪70年代初期提出的,是为了解决软件开发中的问题和挑战而产生的一种工程化方法。它的背景是软件开发过程中出现的严重问题,例如成本超支、进度拖延、质量低下等。
-
软件工程化的层次:软件工程化通常分为四个层次:过程层、方法层、工具层和质量层。过程层描述了软件开发过程中的活动和任务;方法层描述了在软件开发过程中使用的方法和技术;工具层描述了在软件开发过程中使用的工具和环境;质量层描述了在软件开发过程中需要考虑的质量因素和质量保证机制。
-
软件开发过程:软件开发过程是指将软件开发活动划分为一系列阶段和活动,并在每个阶段和活动中定义和执行一组任务和工作来完成软件开发的过程。常见的软件开发过程包括瀑布模型、迭代模型、增量模型、螺旋模型和敏捷开发等。
-
敏捷与计划开发:敏捷开发是一种基于迭代和增量的软件开发方法,强调团队合作、迭代开发、快速反馈和不断改进。计划开发是一种基于计划和控制的软件开发方法,强调计划、进度和质量的管理和控制。敏捷和计划开发各有优缺点,具体应根据项目的需求和情况来选择合适的开发方法。
-
演化式开发和DevOps:演化式开发是一种基于快速迭代和快速反馈的软件开发方法,强调持续交付和不断改进。DevOps是一种将开发和运维结合起来的方法,强调自动化、持续集成和持续交付。演化式开发和DevOps都是为了提高软件开发的效率和质量,使开发和运维更加协同和高效。
-
软件配置管理过程和相关工具名:软件配置管理是一种管理和控制软件开发过程中的变更和版本的方法。常见的软件配置管理工具包括Git、SVN、CVS等。
-
软件质量和代码异味:软件质量是指软件产品满足用户需求和期望的程度,包括功能、性能、可靠性、可维护性、可用性等方面。代码异味是指程序中存在的不良代码习惯或潜在问题,例如重复代码、过长的函数、不恰当的命名等,可能会影响软件的质量和可维护性。
-
能够分析常见的代码异味和bug:常见的代码异味包括重复代码、过长的函数、不恰当的命名、过于复杂的控制流等,常见的bug包括空指针引用、数组越界、逻辑错误等。分析代码异味和bug是提高软件质量和可维护性的关键步骤之一。
-
代码复杂度和计算圈复杂度:代码复杂度是指代码的结构、可读性和可维护性的复杂程度,通常使用代码行数、函数数量、类数量等指标来衡量。计算圈复杂度是一种衡量程序复杂度的方法,它通过计算程序中的控制流路径数目来评估程序的复杂程度。
-
了解代码异味和重构行为的关系:代码异味是指程序中存在的不良代码习惯或潜在问题,重构是指通过修改代码的结构和设计来改进程序的质量和可维护性。重构是解决代码异味问题的一种有效方式。
-
了解自动化单元测试框架xunit、JUnit,能够写出相应测试用例:xunit和JUnit都是常用的自动化单元测试框架,用于自动化单元测试用例的编写和执行。编写好的测试用例可以帮助开发者及时发现和解决代码中的问题,提高软件质量和可维护性。
-
了解黑盒测试等价类划分,了解白盒测试的独立路径:黑盒测试是一种基于系统功能和需求的测试方法,常用的技术包括等价类划分、边界值分析等。白盒测试是一种基于代码结构和实现的测试方法,常用的技术包括控制流图、独立路径测试等。
-
敏捷开发与极限编程:敏捷开发和极限编程都是基于迭代和增量的软件开发方法,强调团队合作、快速反馈和不断改进。敏捷开发和极限编程的主要区别在于极限编程强调测试驱动开发、结对编程等特定实践。
-
结对编程与问题追踪系统:结对编程是一种软件开发方法,两个开发者共同开发一个模块,一人编写代码,另一人进行代码审查。问题追踪系统是一种用于管理和跟踪软件开发过程中的问题和缺陷的工具。
-
软件设计的层次、基本原则、思想:软件设计分为架构设计、详细设计和编码三个层次。常见的软件设计原则包括单一职责原则、开放-封闭原则、里氏替换原则、依赖倒置原则、接口隔离原则、迪米特法则等。常见的软件设计思想包括面向对象设计、面向服务设计、面向切面设计等。
-
模块化、内聚类型、耦合类型:模块化是指将程序分解为若干个模块,每个模块都有明确的功能和接口。内聚是指模块内部各个元素之间的联系紧密程度,常见的内聚类型包括偶然性内聚、逻辑内聚、时间内聚、顺序内聚、功能内聚、信息内聚。耦合是指模块之间相互依赖的程度,常见的耦合类型包括偶然性耦合、数据耦合、标记耦合、控制耦合、外部耦合等。
-
面向对象设计步骤、面向对象设计原则:面向对象设计的步骤包括需求分析、领域建模、静态设计、动态设计和实现。常见的面向对象设计原则包括单一职责原则、开放-封闭原则、里氏替换原则、依赖倒置原则、接口隔离原则、迪米特
-
设计模式概念,MVC模式:设计模式是一种被广泛接受的解决软件设计问题的方法,它提供了一组经过验证的软件设计解决方案。MVC模式是一种常用的设计模式,用于将应用程序的数据、用户界面和控制逻辑分离,以便更好地管理和维护应用程序。
-
构件、模式与框架概念与区别:构件是指软件系统的部件,可以独立地开发、测试和部署。模式是一种被广泛接受的解决软件设计问题的方法。框架是一组相互协作的类和组件,用于解决特定领域的问题。构件、模式和框架都是为了提高软件开发效率和质量,但它们的作用和应用范围不同。
-
演化式设计与重构概念:演化式设计是一种基于迭代和增量的软件设计方法,强调在设计过程中不断地进行调整和改进。重构是指通过修改代码的结构和设计来改进程序的质量和可维护性。演化式设计和重构都是为了提高软件设计的质量和可维护性。
-
软件体系结构模式:软件体系结构模式是一种在软件体系结构设计中被广泛使用的模式,用于解决特定领域的问题。常见的软件体系结构模式包括层次结构模式、客户端-服务器模式、管道-过滤器模式、发布-订阅模式等。
-
三类需求与需求工程的关键活动:软件需求通常分为功能需求、非功能需求和约束需求三类。需求工程是软件开发过程中的关键活动之一,包括需求获取、需求分析、需求规格、需求验证等环节。
-
掌握作业布置的各种UML图,如用例图、类图、活动图、状态机图与泳道图:UML(统一建模语言)是一种广泛使用的软件建模语言,用于描述、设计和分析软件系统。用例图、类图、活动图、状态机图和泳道图都是UML的重要组成部分,用于描述系统的不同方面和功能。
观察者模式: -
了解软件测试各种术语与概念:软件测试是一种评估软件质量的过程,包括软件单元测试、集成测试、系统测试、验收测试等。常见的软件测试术语和概念包括黑盒测试、白盒测试、回归测试、性能测试、压力测试、自动化测试等。
相关文章:

软件工程知识点
软件工程提出的时代和背景 软件工程化的层次 软件开发过程 敏捷与计划开发 演化式开发和DevOps 软件配置管理过程和相关工具名 软件质量和代码异味 能够分析常见的代码异味和bug 代码复杂度和计算圈复杂度 了解代码异味和重构行为的关系 了解自动化单元测试框架xunit…...
华为OD机试 - 投篮大赛(Python)
题目描述 你现在是一场采用特殊赛制投篮大赛的记录员。这场比赛由若干回合组成,过去几回合的得分可能会影响以后几回合的得分。 比赛开始时,记录是空白的。 你会得到一个记录操作的字符串列表 ops,其中ops[i]是你需要记录的第i项操作,ops遵循下述规则: 整数x-表示本回合…...

《花雕学AI》讯飞星火认知大模型的特点和优势,与ChatGPT的对比分析
引言: 人工智能是当今科技领域的热门话题,自然语言处理是人工智能的重要分支。自然语言处理的目标是让计算机能够理解和生成自然语言,实现人机交互和智能服务。近年来,随着深度学习的发展,自然语言处理领域出现了许多创…...

【Python入门】Python的判断语句(if else 语句)
前言 📕作者简介:热爱跑步的恒川,致力于C/C、Java、Python等多编程语言,热爱跑步,喜爱音乐的一位博主。 📗本文收录于Python零基础入门系列,本专栏主要内容为Python基础语法、判断、循环语句、函…...
(4.28-5.4)【大数据新闻速递】数字中国峰会成功举办;“浙江数据知识产权登记平台”上线;贵州大数据活跃;AI教父从谷歌离职
01【2023年数字中国建设峰会数字福建分论坛成功举办】 2023年数字中国建设峰会数字福建分论坛由福建省人民政府主办,福建省数字福建建设领导小组办公室、数字中国研究院(福建)和福建省大数据集团承办。分论坛于2023年4月28日下午14:30 -17:3…...
领域驱动设计(Domain Driven Design)之建立领域模型
文章目录 用领域模型表达领域概念建立模型使用通用语言验证模型识别构造块类型设计聚合如何使用领域模型再次思考总结用领域模型表达领域概念 在实际项目中,模型设计者往往过早陷入具体构造块类型的识别,比如实体、聚合、领域服务,而忽略了领域模型表达领域概念的目的。我们…...

有研究员公开了一个解析并提取 Dell PFS BIOS 固件的工具(下)
导语:研究员公开了一个解析并提取 Dell PFS BIOS 固件的工具。 Apple EFI IM4P分配器 介绍 解析苹果多个EFI固件.im4p文件,并将所有检测到的EFI固件分割为单独的SPI/BIOS映像。 使用 你可以拖放或手动输入包含Apple EFI IM4P固件的文件夹的完整路径。…...
iOS开发系列--Swift语言
概述 Swift是苹果2014年推出的全新的编程语言,它继承了C语言、ObjC的特性,且克服了C语言的兼容性问题。Swift发展过程中不仅保留了ObjC很多语法特性,它也借鉴了多种现代化语言的特点,在其中你可以看到C#、Java、Javascript、Pyth…...

【MOMO】高水平期刊目录(持续更新)
高水平期刊目录 引言1 顶级期刊目录(A)1.1 IEEE Transactions on Intelligent Transportation Systems1.2 IEEE Transactions on Neural Networks and Learning Systems1.3 Engineering 2 权威期刊目录(A)2.1 Measurement 3 鼓励期…...

LVS负载均衡集群--DR模式
一、LVS-DR集群介绍 LVS-DR(Linux Virtual Server Director Server)工作模式,是生产环境中最常用的一 种工作模式。 1、LVS-DR 工作原理 LVS-DR 模式,Director Server 作为群集的访问入口,不作为网关使用࿰…...

RabbitMQ --- 死信交换机
一、简介 1.1、什么是死信交换机 什么是死信? 当一个队列中的消息满足下列情况之一时,可以成为死信(dead letter): 消费者使用basic.reject或 basic.nack声明消费失败,并且消息的requeue参数设置为false…...

如何在个人web项目中使用会话技术(cookiesession)?
编译软件:IntelliJ IDEA 2019.2.4 x64 操作系统:win10 x64 位 家庭版 服务器软件:apache-tomcat-8.5.27 目录 一. 什么是会话?二. 为什么要使用会话技术?三. 如何使用会话技术?3.1 Cookie(客户端的会话技术…...

创建线索二叉树
创建线索二叉树 一、创建线索二叉树一、案例1、前序线索二叉树2、中序线索二叉树3、后序线索二叉树 一、创建线索二叉树 现将某结点的空指针域指向该结点的前驱后继,定义规则如下: 若结点的左子树为空,则该结点的左孩子指针指向其前驱结点。…...

HNU-操作系统OS-实验Lab2
OS_Lab2_Experimental report 湖南大学信息科学与工程学院 计科 210X wolf (学号 202108010XXX) 前言 实验一过后大家做出来了一个可以启动的系统,实验二主要涉及操作系统的物理内存管理。操作系统为了使用内存,还需高效地管理…...
如何使用HTML和CSS创建有方向感知的按钮
在互联网应用中,按钮是一种常见的控件,用户通过点击按钮来触发相应的操作。考虑到用户体验和交互设计,设计有方向感知的按钮可以使得用户更加易于理解按钮的功能和状态。 在本文中,我们将介绍如何使用HTML和CSS来创建具有方向感知…...
java 线程安全
内部锁 在 Java 中,每个对象都有一个内部锁,也称为监视器锁或对象锁。内部锁是通过在代码块或方法前加上 synchronized 关键字来实现的。当一个线程执行一个带有 synchronized 关键字的方法或代码块时,它必须先获得该对象的内部锁࿰…...
移动硬盘修复后文件丢失恢复方法
最近收到很多这样的咨询: 问1:移动硬盘目录损坏用chkdsk修复后,文件被删除,怎么才可以恢復文件? 问2:移动硬盘出错然后修复,然后文件都没有了怎么处理啊!!!&a…...

直线飙升到10万+star的AutoGpt,有多强?帮我写了个网页!
先来感受一下10万的star,到底有多强! 从4月2日开始,直线飙升到10万star Auto-GPT是一个实验性的开源应用程序,展示了GPT-4语言模型的功能。这个程序由GPT-4驱动,将LLM“思想”链接在一起,以自主实现您设定的…...

rk3568平台调试typec口实现uvc输出,网络共享等功能
一、修改kernel相关配置 注意:一定要知道主控接线,那个物理口是otg的,然后要找准与之所连接的phy和控制器。然后处理CC1 CC2识别芯片,fusb302。默认sdk自带有驱动,需要配上中断脚和提供VBUS 5V的脚。用来判断角色是DF…...

java基础知识——26.反射
这篇文章我们来讲一下java的代理与反射,这是很重要的一部分内容。 目录 1.什么是反射 2.获取class对象的三种方式 3.反射获取构造方法 4.利用反射来获取成员变量 5.利用反射来获取成员方法 6.反射的作用 7.反射小结 1.什么是反射 首先,我们来看…...

深入浅出Asp.Net Core MVC应用开发系列-AspNetCore中的日志记录
ASP.NET Core 是一个跨平台的开源框架,用于在 Windows、macOS 或 Linux 上生成基于云的新式 Web 应用。 ASP.NET Core 中的日志记录 .NET 通过 ILogger API 支持高性能结构化日志记录,以帮助监视应用程序行为和诊断问题。 可以通过配置不同的记录提供程…...
DeepSeek 赋能智慧能源:微电网优化调度的智能革新路径
目录 一、智慧能源微电网优化调度概述1.1 智慧能源微电网概念1.2 优化调度的重要性1.3 目前面临的挑战 二、DeepSeek 技术探秘2.1 DeepSeek 技术原理2.2 DeepSeek 独特优势2.3 DeepSeek 在 AI 领域地位 三、DeepSeek 在微电网优化调度中的应用剖析3.1 数据处理与分析3.2 预测与…...
在鸿蒙HarmonyOS 5中实现抖音风格的点赞功能
下面我将详细介绍如何使用HarmonyOS SDK在HarmonyOS 5中实现类似抖音的点赞功能,包括动画效果、数据同步和交互优化。 1. 基础点赞功能实现 1.1 创建数据模型 // VideoModel.ets export class VideoModel {id: string "";title: string ""…...
反射获取方法和属性
Java反射获取方法 在Java中,反射(Reflection)是一种强大的机制,允许程序在运行时访问和操作类的内部属性和方法。通过反射,可以动态地创建对象、调用方法、改变属性值,这在很多Java框架中如Spring和Hiberna…...
什么?连接服务器也能可视化显示界面?:基于X11 Forwarding + CentOS + MobaXterm实战指南
文章目录 什么是X11?环境准备实战步骤1️⃣ 服务器端配置(CentOS)2️⃣ 客户端配置(MobaXterm)3️⃣ 验证X11 Forwarding4️⃣ 运行自定义GUI程序(Python示例)5️⃣ 成功效果
Springboot社区养老保险系统小程序
一、前言 随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,社区养老保险系统小程序被用户普遍使用,为方…...
JS设计模式(4):观察者模式
JS设计模式(4):观察者模式 一、引入 在开发中,我们经常会遇到这样的场景:一个对象的状态变化需要自动通知其他对象,比如: 电商平台中,商品库存变化时需要通知所有订阅该商品的用户;新闻网站中࿰…...
GitHub 趋势日报 (2025年06月06日)
📊 由 TrendForge 系统生成 | 🌐 https://trendforge.devlive.org/ 🌐 本日报中的项目描述已自动翻译为中文 📈 今日获星趋势图 今日获星趋势图 590 cognee 551 onlook 399 project-based-learning 348 build-your-own-x 320 ne…...

[ACTF2020 新生赛]Include 1(php://filter伪协议)
题目 做法 启动靶机,点进去 点进去 查看URL,有 ?fileflag.php说明存在文件包含,原理是php://filter 协议 当它与包含函数结合时,php://filter流会被当作php文件执行。 用php://filter加编码,能让PHP把文件内容…...

HubSpot推出与ChatGPT的深度集成引发兴奋与担忧
上周三,HubSpot宣布已构建与ChatGPT的深度集成,这一消息在HubSpot用户和营销技术观察者中引发了极大的兴奋,但同时也存在一些关于数据安全的担忧。 许多网络声音声称,这对SaaS应用程序和人工智能而言是一场范式转变。 但向任何技…...