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

软件工程知识点

  1. 软件工程提出的时代和背景

  2. 软件工程化的层次

  3. 软件开发过程

  4. 敏捷与计划开发

  5. 演化式开发和DevOps

  6. 软件配置管理过程和相关工具名

  7. 软件质量和代码异味

  8. 能够分析常见的代码异味和bug

  9. 代码复杂度和计算圈复杂度

  10. 了解代码异味和重构行为的关系

  11. 了解自动化单元测试框架xunit,Junit,能够写出相应测试用例

  12. 了解黑盒测试等价类划分,了解白盒测试的独立路径

  13. 敏捷开发与极限编程

  14. 结对编程与问题追踪系统

  15. 软件设计的层次,基本原则,思想

  16. 模块化,内聚类型,耦合类型

  17. 面向对象设计步骤,面向对象设计原则

  18. 设计模式概念,MVC模式

  19. 构件、模式与框架概念与区别

  20. 演化式设计与重构概念

  21. 软件体系结构模式

  22. 三类需求与需求工程的关键活动

  23. 掌握作业布置的各种UML图,如用例图,类图,活动图,状态机图与泳道图。

  24. 了解软件测试各种术语与概念


  1. 软件工程提出的时代和背景:软件工程是在20世纪70年代初期提出的,是为了解决软件开发中的问题和挑战而产生的一种工程化方法。它的背景是软件开发过程中出现的严重问题,例如成本超支、进度拖延、质量低下等。

  2. 软件工程化的层次:软件工程化通常分为四个层次:过程层、方法层、工具层和质量层。过程层描述了软件开发过程中的活动和任务;方法层描述了在软件开发过程中使用的方法和技术;工具层描述了在软件开发过程中使用的工具和环境;质量层描述了在软件开发过程中需要考虑的质量因素和质量保证机制。

  3. 软件开发过程:软件开发过程是指将软件开发活动划分为一系列阶段和活动,并在每个阶段和活动中定义和执行一组任务和工作来完成软件开发的过程。常见的软件开发过程包括瀑布模型、迭代模型、增量模型、螺旋模型和敏捷开发等。

  4. 敏捷与计划开发:敏捷开发是一种基于迭代和增量的软件开发方法,强调团队合作、迭代开发、快速反馈和不断改进。计划开发是一种基于计划和控制的软件开发方法,强调计划、进度和质量的管理和控制。敏捷和计划开发各有优缺点,具体应根据项目的需求和情况来选择合适的开发方法。

  5. 演化式开发和DevOps:演化式开发是一种基于快速迭代和快速反馈的软件开发方法,强调持续交付和不断改进。DevOps是一种将开发和运维结合起来的方法,强调自动化、持续集成和持续交付。演化式开发和DevOps都是为了提高软件开发的效率和质量,使开发和运维更加协同和高效。

  6. 软件配置管理过程和相关工具名:软件配置管理是一种管理和控制软件开发过程中的变更和版本的方法。常见的软件配置管理工具包括Git、SVN、CVS等。

  7. 软件质量和代码异味:软件质量是指软件产品满足用户需求和期望的程度,包括功能、性能、可靠性、可维护性、可用性等方面。代码异味是指程序中存在的不良代码习惯或潜在问题,例如重复代码、过长的函数、不恰当的命名等,可能会影响软件的质量和可维护性。

  8. 能够分析常见的代码异味和bug:常见的代码异味包括重复代码、过长的函数、不恰当的命名、过于复杂的控制流等,常见的bug包括空指针引用、数组越界、逻辑错误等。分析代码异味和bug是提高软件质量和可维护性的关键步骤之一。

  9. 代码复杂度和计算圈复杂度:代码复杂度是指代码的结构、可读性和可维护性的复杂程度,通常使用代码行数、函数数量、类数量等指标来衡量。计算圈复杂度是一种衡量程序复杂度的方法,它通过计算程序中的控制流路径数目来评估程序的复杂程度。

  10. 了解代码异味和重构行为的关系:代码异味是指程序中存在的不良代码习惯或潜在问题,重构是指通过修改代码的结构和设计来改进程序的质量和可维护性。重构是解决代码异味问题的一种有效方式。

  11. 了解自动化单元测试框架xunit、JUnit,能够写出相应测试用例:xunit和JUnit都是常用的自动化单元测试框架,用于自动化单元测试用例的编写和执行。编写好的测试用例可以帮助开发者及时发现和解决代码中的问题,提高软件质量和可维护性。

  12. 了解黑盒测试等价类划分,了解白盒测试的独立路径:黑盒测试是一种基于系统功能和需求的测试方法,常用的技术包括等价类划分、边界值分析等。白盒测试是一种基于代码结构和实现的测试方法,常用的技术包括控制流图、独立路径测试等。

  13. 敏捷开发与极限编程:敏捷开发和极限编程都是基于迭代和增量的软件开发方法,强调团队合作、快速反馈和不断改进。敏捷开发和极限编程的主要区别在于极限编程强调测试驱动开发、结对编程等特定实践。

  14. 结对编程与问题追踪系统:结对编程是一种软件开发方法,两个开发者共同开发一个模块,一人编写代码,另一人进行代码审查。问题追踪系统是一种用于管理和跟踪软件开发过程中的问题和缺陷的工具。

  15. 软件设计的层次、基本原则、思想:软件设计分为架构设计、详细设计和编码三个层次。常见的软件设计原则包括单一职责原则、开放-封闭原则、里氏替换原则、依赖倒置原则、接口隔离原则、迪米特法则等。常见的软件设计思想包括面向对象设计、面向服务设计、面向切面设计等。

  16. 模块化、内聚类型、耦合类型:模块化是指将程序分解为若干个模块,每个模块都有明确的功能和接口。内聚是指模块内部各个元素之间的联系紧密程度,常见的内聚类型包括偶然性内聚、逻辑内聚、时间内聚、顺序内聚、功能内聚、信息内聚。耦合是指模块之间相互依赖的程度,常见的耦合类型包括偶然性耦合、数据耦合、标记耦合、控制耦合、外部耦合等。

  17. 面向对象设计步骤、面向对象设计原则:面向对象设计的步骤包括需求分析、领域建模、静态设计、动态设计和实现。常见的面向对象设计原则包括单一职责原则、开放-封闭原则、里氏替换原则、依赖倒置原则、接口隔离原则、迪米特
    在这里插入图片描述

  18. 设计模式概念,MVC模式:设计模式是一种被广泛接受的解决软件设计问题的方法,它提供了一组经过验证的软件设计解决方案。MVC模式是一种常用的设计模式,用于将应用程序的数据、用户界面和控制逻辑分离,以便更好地管理和维护应用程序。

  19. 构件、模式与框架概念与区别:构件是指软件系统的部件,可以独立地开发、测试和部署。模式是一种被广泛接受的解决软件设计问题的方法。框架是一组相互协作的类和组件,用于解决特定领域的问题。构件、模式和框架都是为了提高软件开发效率和质量,但它们的作用和应用范围不同。

  20. 演化式设计与重构概念:演化式设计是一种基于迭代和增量的软件设计方法,强调在设计过程中不断地进行调整和改进。重构是指通过修改代码的结构和设计来改进程序的质量和可维护性。演化式设计和重构都是为了提高软件设计的质量和可维护性。

  21. 软件体系结构模式:软件体系结构模式是一种在软件体系结构设计中被广泛使用的模式,用于解决特定领域的问题。常见的软件体系结构模式包括层次结构模式、客户端-服务器模式、管道-过滤器模式、发布-订阅模式等。

  22. 三类需求与需求工程的关键活动:软件需求通常分为功能需求、非功能需求和约束需求三类。需求工程是软件开发过程中的关键活动之一,包括需求获取、需求分析、需求规格、需求验证等环节。

  23. 掌握作业布置的各种UML图,如用例图、类图、活动图、状态机图与泳道图:UML(统一建模语言)是一种广泛使用的软件建模语言,用于描述、设计和分析软件系统。用例图、类图、活动图、状态机图和泳道图都是UML的重要组成部分,用于描述系统的不同方面和功能。
    观察者模式:在这里插入图片描述

  24. 了解软件测试各种术语与概念:软件测试是一种评估软件质量的过程,包括软件单元测试、集成测试、系统测试、验收测试等。常见的软件测试术语和概念包括黑盒测试、白盒测试、回归测试、性能测试、压力测试、自动化测试等。

相关文章:

软件工程知识点

软件工程提出的时代和背景 软件工程化的层次 软件开发过程 敏捷与计划开发 演化式开发和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 作为群集的访问入口,不作为网关使用&#xff0…...

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 关键字的方法或代码块时,它必须先获得该对象的内部锁&#xff0…...

移动硬盘修复后文件丢失恢复方法

最近收到很多这样的咨询: 问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.什么是反射 首先,我们来看…...

【容器化】Docker 简介和安装

【容器化】Docker 简介和安装 DockerDocker的应用场景Docker 的优点1、快速,一致地交付您的应用程序2、响应式部署和扩展3、在同一硬件上运行更多工作负载 Docker 架构Docker 安装Ubuntu Docker 、Debian Docker 安装使用官方安装脚本自动安装手动安装使用 Shell 脚…...

性能测试场景分析并设计?超细案例讲解,看这篇就够了

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 性能测试场景&…...

JAVA9新特性

JAVA9新特性 概述 ​ 经过4次推迟,历经曲折的Java9最终在2017年9月21日发布。因为里面加入的模块化系统,在最初设想的时候并没有想过那么复杂,花费的时间超出预估时间。距离java8大约三年时间。 ​ Java 9提供了超过150项新功能特性&#x…...

( 数组和矩阵) 645. 错误的集合 ——【Leetcode每日一题】

❓645. 错误的集合 难度:简单 集合 s 包含从 1 到 n 的整数。不幸的是,因为数据错误,导致集合里面某一个数字复制了成了集合里面的另外一个数字的值,导致集合 丢失了一个数字 并且 有一个数字重复 。 给定一个数组 nums 代表了…...

2023年全国最新道路运输从业人员精选真题及答案63

百分百题库提供道路运输安全员考试试题、道路运输从业人员考试预测题、道路安全员考试真题、道路运输从业人员证考试题库等,提供在线做题刷题,在线模拟考试,助你考试轻松过关。 119.在危险货物道路运输过程中,(&#x…...

Kettle安装与使用

一、Kettle简介 Kettle最早是一个开源的ETL(Extract-Transform-Load的缩写)工具,全称为KDE Extraction, Transportation, Transformation and Loading Environment。后来Kettle重命名为Pentaho Data Integration 。它由Java开发,…...

C51 - DS18B20

Thermometer 1> 实验概述2> 硬件设计3> DS18B203.1> 原理框图3.2> 数据格式 4> 单总线(1-Wire)通讯协议4.1> 初始化(复位)时序4.2> 写-DS18B20时序4.3> 读-DS18B20时序4.4> 命令 5> 程序设计5.1…...

手把手教你使用vue2搭建微前端micro-app

​ 简述 本文主要讲述新手小白怎么搭建micro-app,几乎是每一步都有截图说明。上手应该很简单。 研究背景 这段时间在网上找了很多有关微前端相关的知识,起初本来是想着先搭建一个single-spa,但是奈何网上能找到的内容都是千篇一律。我也是…...

DDR3(MIG核配置官方demoFPGA代码实现及仿真)

由于直接对 DDR3 进行控制很复杂,因此一般使用 MIG IP 来实现,同时为了更简单地使用 MIG IP,我们采用 AXI4 总线协议进行控制。下面首先介绍 MIG IP 的配置,然后看看官方 demo (里面包含一个仿真要用到的 DDR3 模型&am…...

传奇人物《周兴和》书连载之67 不辱神圣的使命

不辱神圣的使命 这里,先前还是一个十分神秘的地方。 外人和车辆要想进入这片区域,那是绝对不允许的。这片区域隐于群山之中,且戒备森严,外人若想进入,那是要经过好几道政治审查和随身检查的。近年来,随着…...

建网站能赚钱吗赚多少/如何进行网站制作

更多精彩文章请关注微信号:...

做网站 人工智能/网络培训机构

一、准备工作 (只做一次准备工作,以后都会很方便) 1. 安装pip (1)下载pip到D:\download pip下载地址:https://pypi.python.org/pypi/pip#downloads (2)下载后解压到当前目录&#xf…...

网页模版素材下载/seo网址优化靠谱

点击上面蓝色小字或微信搜索【幼儿教案】关注公众号每天免费8篇优质教案幼儿园中班语言活动教案:十二生肖设计意图在几千年的中国传统文化中,生肖不仅是一种形象生动的纪年、纪月的方法,更已与每个人结合起来,赋予了一种神奇的性格…...

淄博企业网站建设价格/怎样做一个网页

最近在给内部使用的zabbix配置告警发送,要求是使用企业微信群聊机器人发送告警信息到群里,因为企业号和公众号需要的开发信息较多,又不好找,而配置机器人发送告警只需要机器人的webhook地址即可。 步骤: 1、 在zabbi…...

婚纱摄影类网站模板/天津百度快照优化公司

Vue入门2与SpringBoot跨域请求Vue项目没有config目录怎么办: 1、引入axios 请参考我的另一篇博客 传送门 2、新建我们自己的测试页面 在views下新建目录test目录,test目录下新建Test.vue 3、然后再路由中心配置router\index.js 1、在单页面应用中&#xff0…...

办公设备网站推广怎么做/seo站内优化包括

第一章 绪论 问题的提出 基本概念: NLU、 CL、 NLP CL 计算语言学 侧重于: 基础理论和方法 NLU 自然语言理解 :模仿人类 自然语言处理方法 和 实现技术 NLP 自然语言处理 : 对语言文本进行处理和加工 包括对词法 句法 语义和语…...