【软件工程】软件工程定义、软件危机以及软件生命周期
- 🌸博主主页:@釉色清风
- 🌸文章专栏:软件工程
- 🌸 今日语录:What matters isn’t how others think of your ambitions but how fervently you cling to them.
软件工程系列,主要根据老师上课所讲提及的重点来此记录,以便之后的复习以及巩固。这篇文章主要都是闲暇时间写的,文章中所标颜色字体都是重要内容,文章直接放图片的部分简单了解即可。😇😇😇
🌼什么是软件?软件的特点?
定义:软件,即计算机系统的程序及其文档。(计算机科学技术百科全书)
程序,是计算机任务的处理对象和处理规模的描述;
文档,是为了方便了解程序所需的阐明性资料。
(这里需要注意的是,提到软件,程序很容易想到,但是还有文档!!)
1983年,IEEE给出软件的定义:
计算机程序、方法、规则和相关文档资料以及在计算机上运行时所必须的程序。
简单来说,它的定义即是:软件=程序+数据+文档
特点:(理解即可)
- 软件是无形的,是不可见的逻辑实体。
- 软件是设计开发的,而不是生产制作的。
- 软件在使用过程中没有磨损、老化的问题。
- 软件是定制开发的。
- 软件是复杂的。
- 软件的开发成本高。
- 软件易于制作。
- 软件的开发与运行都离不开相关的计算机系统环境。
- 软件开发工作涉及到很多社会因素。
🌼什么是工程?
提到工程,了解到我们日常生活中的工程,比如说建楼房。项目管理部负责人员管理、进度管理、质量管理等,然后设计师画出图纸,然后进行一系列的施工,定位放线、土方开挖、垫层、…、等等。
🌼软件工程简单理解
那么,软件工程,简单来说,就是如何去用工程化的思想去做软件开发。
🌼为什么会出现软件工程学科——软件危机
软件的发展史如下:
以不断增长、日趋复杂的需求,如何开发软件、如何维护数量不断膨胀的软件产品?成为软件发展的问题。
软件危机,是指,在计算机软件的开发和维护过程中所遇到的一系列严重问题。(重点:记)
(一下截图部分知道了解即可)
软件危机的典型表现:
产生软件危机的原因:
消除软件危机的途径:
🌼软件工程的定义
软件工程的代表性定义:
软件工程的概念:
🌼软件生命周期
软件生命周期:软件产品从形成概念开始,经过开发、使用和维护,直到最后退役的全过程。(记)
软件生命周期分为三个时期:软件定义、软件开发和软件维护(也称为运行维护)。
每个时期又进一步分成若干个阶段。
(简单记忆:一三八:软件声明周期,三个时期,八个阶段)
(下图需要记忆:)
每个时期每个阶段的基本任务以及文档:
这里举一个例子,方便理解八个阶段:
相关文章:

【软件工程】软件工程定义、软件危机以及软件生命周期
🌸博主主页:釉色清风🌸文章专栏:软件工程🌸 今日语录:What matters isn’t how others think of your ambitions but how fervently you cling to them. 软件工程系列,主要根据老师上课所讲提及…...

24计算机考研深大经验分享(计算机专业考研综合安排)
文章目录 背景科目选择高数选课一轮二轮冲刺阶段 线代一轮二轮 概率论计算机学科专业基础408数据结构计算机组成原理操作系统计算机网络总结 英语政治 末言 背景 首先贴一下初试成绩。这篇分享主要是给零基础的同学使用的,基础好的同学可以自行了解补充一下…...

【知识整理】MySQL数据库开发设计规范
一、规范背景与目的 MySQL数据库与 Oracle、 SQL Server 等数据库相比,有其内核上的优势与劣势。我们在使用MySQL数据库的时候需要遵循一定规范,扬长避短。 本规范旨在帮助或指导RD、QA、OP等技术人员做出适合线上业务的数据库设计。在数据库变更和处理…...
Vue自定义组件实现v-model
前言 v-model 实际上就是 $emit(input) 以及 props:value 的组合语法糖。 1.封装自定义组件 要在 Vue 中实现自定义组件的 v-model 功能,你可以通过使用 model 选项来定义组件的 prop 和事件。以下是一个示例代码,演示如何实现一个自定义组件并使用 v…...

【Linux】Linux网络故障排查与解决指南
🍎个人博客:个人主页 🏆个人专栏:Linux ⛳️ 功不唐捐,玉汝于成 目录 前言 正文 检查网络连接状态: 检查路由表: 检查DNS配置: 检查网络连接状态: 检查防火墙设…...
跟着cherno手搓游戏引擎【27】升级2DRenderer(添加旋转)
水节,添加了旋转的DrawQuad: Renderer2D.h: #pragma once #include "OrthographicCamera.h" #include"Texture.h" namespace YOTO {class Renderer2D{public://为什么渲染器是静态的:static void Init();static void …...

中医舌苔笔记
舌诊时按照舌尖-舌中-舌根-舌侧的顺序进行观察。 先看舌体再看舌苔,30秒左右。 如果一次望舌判断不清,可令病人休息3~5分钟后,重新观察一次 舌诊脏腑部位分属图 舌体 胖嫩而边有齿痕为气虚、阳虚。 薄白而润为风寒; 薄白而燥…...

Facebook的社交未来:元宇宙时代的数字共融
引言: 随着科技的不断进步和社会的快速发展,人们对于社交网络的需求和期待也在不断演变。在这个数字化时代,元宇宙的概念逐渐引发了人们对社交体验的重新思考。作为全球最大的社交网络之一,Facebook正在积极探索元宇宙时代的社交…...

2024护网面试题精选(一)
0x00.基础漏洞篇 00-TOP10漏洞 1.SQL注入 2.失效的身份认证和会话管理 3.跨站脚本攻击XSS 4.直接引用不安全的对象 5.安全配置错误 6.敏感信息泄露 7.缺少功能级的访问控制 8.跨站请求伪造CSRF 9.实验含有已知漏洞的组件 10.未验证的重定向和转发 01-SQL注入漏洞 …...

如何制作一个简单html网页
要制作一个简单的HTML网页,可以按照以下步骤进行: 创建一个新的文本文件并将其保存为.html文件(例如,index.html)。 打开文本文件,并使用以下基本的HTML结构开始编写代码: <!DOCTYPE html…...
React富文本编辑器开发(七)接口与辅助函数
接口 我们知道Slate使用纯 JSON 数据对象,只要这些数据符合接口标准就行。也就是说每一个节点都有一个接口标准与之对应。比如文本节点: interface Text {text: string }在实例这些接口数据的同时我们也可以增加额外的属性,这根据我们的实际…...
【conda】conda卸载并重新安装指定版本软件package
1. conda卸载软件包 可先通过 conda list 查看已当前环境已安装的软件包 conda uninstall your_package如果卸载失败, 可通过pip卸载 pip uninstall your_package2. 安装指定版本的软件包 先搜索可安装的软件包版本, 如 conda search --full-name protobuf再安装对应的软件版本…...
项目设计方案规范参考
在软件架构设计中,以下是一个常见的软件架构设计模版,供参考: 1. 业务需求分析 确定系统的业务需求和功能需求。 分析用户需求,确定系统的核心功能和非功能需求。 2. 架构设计原则 SOLID 原则(单一职责、开放封闭、里…...

LVS----DR模式
一、LVS-DR工作原理 1、LVS-DR数据包流向分析 客户端发送请求到Director Server (负载均衡器),请求的数据报文(源IP是CIP,目标IP是VIP)到达内核空间。Director Server 和Real Server 在同一个网络中,数据通过二层数据…...

操作系统(笔记)(一)
1、操作系统的功能和目标 1.1功能 存储管理文件管理设备管理处理机管理进程管理 1.2目标 方便性:操作系统作为用户与计算机硬件系统之间的接口,提供了直观的命令和界面,使得用户能够更容易地操作计算机。有效性:操作系统旨在提…...

Redis线程模型解析
引言 Redis是一个高性能的键值对(key-value)内存数据库,以其卓越的读写速度和灵活的数据类型而广受欢迎。在Redis 6.0之前的版本中,它采用的是一种独特的单线程模型来处理客户端的请求。尽管单线程在概念上似乎限制了其扩展性和并…...
ros2 launch如何控制node的启动顺序
ros2 launch如何控制node的启动顺序 文章目录 引言如何写launch文件启动流程图具体launch代码总结引言 本文用来说明如何控制ros2 launch 节点的先后顺序,我们有时候需要一个节点启动完成后再启动其它节点,实现这个功能有两种方式: 在launch.py时写event根据事件触发使用li…...
Android13 framework层添加关机接口
framework层修改: t0_sys/frameworks/base/core/api/current.txt method RequiresPermission(android.Manifest.permission.REBOOT) public void reboot(Nullable String);method public void rebootp();t0_sys/frameworks/base/core/java/android/os/IPowerManager…...

GDB调试入门笔记
文章目录 What?WhyHow安装GDB安装命令查看是否安装成功调试简单的程序预备一个程序调试 使用breakinfolistnextprintstep一些小技巧在gdb前shell日志功能watch point| catch point 调试core调试一个运行的程序 What? GDB是什么? 全称GNU sym…...

JavaScript的`call`方法:实现函数间的调用!
🤍 前端开发工程师、技术日更博主、已过CET6 🍨 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 🕠 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 🍚 蓝桥云课签约作者、上架课程《Vue.js 和 E…...

AI-调查研究-01-正念冥想有用吗?对健康的影响及科学指南
点一下关注吧!!!非常感谢!!持续更新!!! 🚀 AI篇持续更新中!(长期更新) 目前2025年06月05日更新到: AI炼丹日志-28 - Aud…...

stm32G473的flash模式是单bank还是双bank?
今天突然有人stm32G473的flash模式是单bank还是双bank?由于时间太久,我真忘记了。搜搜发现,还真有人和我一样。见下面的链接:https://shequ.stmicroelectronics.cn/forum.php?modviewthread&tid644563 根据STM32G4系列参考手…...

(二)TensorRT-LLM | 模型导出(v0.20.0rc3)
0. 概述 上一节 对安装和使用有个基本介绍。根据这个 issue 的描述,后续 TensorRT-LLM 团队可能更专注于更新和维护 pytorch backend。但 tensorrt backend 作为先前一直开发的工作,其中包含了大量可以学习的地方。本文主要看看它导出模型的部分&#x…...
鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院挂号小程序
一、开发准备 环境搭建: 安装DevEco Studio 3.0或更高版本配置HarmonyOS SDK申请开发者账号 项目创建: File > New > Create Project > Application (选择"Empty Ability") 二、核心功能实现 1. 医院科室展示 /…...

转转集团旗下首家二手多品类循环仓店“超级转转”开业
6月9日,国内领先的循环经济企业转转集团旗下首家二手多品类循环仓店“超级转转”正式开业。 转转集团创始人兼CEO黄炜、转转循环时尚发起人朱珠、转转集团COO兼红布林CEO胡伟琨、王府井集团副总裁祝捷等出席了开业剪彩仪式。 据「TMT星球」了解,“超级…...

PL0语法,分析器实现!
简介 PL/0 是一种简单的编程语言,通常用于教学编译原理。它的语法结构清晰,功能包括常量定义、变量声明、过程(子程序)定义以及基本的控制结构(如条件语句和循环语句)。 PL/0 语法规范 PL/0 是一种教学用的小型编程语言,由 Niklaus Wirth 设计,用于展示编译原理的核…...
汇编常见指令
汇编常见指令 一、数据传送指令 指令功能示例说明MOV数据传送MOV EAX, 10将立即数 10 送入 EAXMOV [EBX], EAX将 EAX 值存入 EBX 指向的内存LEA加载有效地址LEA EAX, [EBX4]将 EBX4 的地址存入 EAX(不访问内存)XCHG交换数据XCHG EAX, EBX交换 EAX 和 EB…...

20个超级好用的 CSS 动画库
分享 20 个最佳 CSS 动画库。 它们中的大多数将生成纯 CSS 代码,而不需要任何外部库。 1.Animate.css 一个开箱即用型的跨浏览器动画库,可供你在项目中使用。 2.Magic Animations CSS3 一组简单的动画,可以包含在你的网页或应用项目中。 3.An…...

通过MicroSip配置自己的freeswitch服务器进行调试记录
之前用docker安装的freeswitch的,启动是正常的, 但用下面的Microsip连接不上 主要原因有可能一下几个 1、通过下面命令可以看 [rootlocalhost default]# docker exec -it freeswitch fs_cli -x "sofia status profile internal"Name …...

如何把工业通信协议转换成http websocket
1.现状 工业通信协议多数工作在边缘设备上,比如:PLC、IOT盒子等。上层业务系统需要根据不同的工业协议做对应开发,当设备上用的是modbus从站时,采集设备数据需要开发modbus主站;当设备上用的是西门子PN协议时…...