【软件工程】软件工程定义、软件危机以及软件生命周期

  • 🌸博主主页:@釉色清风
  • 🌸文章专栏:软件工程
  • 🌸 今日语录:What matters isn’t how others think of your ambitions but how fervently you cling to them.

软件工程系列,主要根据老师上课所讲提及的重点来此记录,以便之后的复习以及巩固。这篇文章主要都是闲暇时间写的,文章中所标颜色字体都是重要内容,文章直接放图片的部分简单了解即可。😇😇😇

🌼什么是软件?软件的特点?

定义:软件,即计算机系统的程序及其文档。(计算机科学技术百科全书)
程序,是计算机任务的处理对象和处理规模的描述;
文档,是为了方便了解程序所需的阐明性资料。
(这里需要注意的是,提到软件,程序很容易想到,但是还有文档!!)
1983年,IEEE给出软件的定义:
计算机程序、方法、规则和相关文档资料以及在计算机上运行时所必须的程序。
简单来说,它的定义即是:软件=程序+数据+文档

特点:(理解即可)

  • 软件是无形的,是不可见的逻辑实体。
  • 软件是设计开发的,而不是生产制作的。
  • 软件在使用过程中没有磨损、老化的问题。
  • 软件是定制开发的。
  • 软件是复杂的。
  • 软件的开发成本高。
  • 软件易于制作。
  • 软件的开发与运行都离不开相关的计算机系统环境。
  • 软件开发工作涉及到很多社会因素。

🌼什么是工程?

提到工程,了解到我们日常生活中的工程,比如说建楼房。项目管理部负责人员管理、进度管理、质量管理等,然后设计师画出图纸,然后进行一系列的施工,定位放线、土方开挖、垫层、…、等等。

🌼软件工程简单理解

那么,软件工程,简单来说,就是如何去用工程化的思想去做软件开发。

🌼为什么会出现软件工程学科——软件危机

软件的发展史如下:

以不断增长、日趋复杂的需求,如何开发软件、如何维护数量不断膨胀的软件产品?成为软件发展的问题。

软件危机,是指,在计算机软件的开发和维护过程中所遇到的一系列严重问题。(重点:记)

(一下截图部分知道了解即可)
软件危机的典型表现:

产生软件危机的原因:

消除软件危机的途径:

🌼软件工程的定义

软件工程的代表性定义:

软件工程的概念:


🌼软件生命周期

软件生命周期:软件产品从形成概念开始,经过开发、使用和维护,直到最后退役的全过程。(记)

软件生命周期分为三个时期:软件定义、软件开发和软件维护(也称为运行维护)。
每个时期又进一步分成若干个阶段。
(简单记忆:一三八:软件声明周期,三个时期,八个阶段)
(下图需要记忆:)

每个时期每个阶段的基本任务以及文档:
这里举一个例子,方便理解八个阶段:





在这里插入图片描述










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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

数字化转型导师坚鹏:金融科技咨询方法论

金融科技咨询方法论 ——方法、做法、演法、心法 课程背景: 数字化转型背景下,很多机构存在以下问题: 不知道先进的金融科技咨询方法论? 不知道如何运作金融科技咨询项目? 不知道如何汇报咨询项目关键成果&…

MyBatis3源码深度解析(三)Connnection

文章目录 前言2.3 Connnection2.3.1 JDBC驱动程序的类型2.3.1.1 JDBC-ODBC Bridge Driver2.3.1.2 Native API Driver2.3.1.3 HDBC-Net Driver2.3.1.4 Native Protocol Driver 2.3.2 java.sql.Driver2.3.2.1 静态代码块加载驱动类2.3.2.2 SPI机制加载驱动类 2.3.3 DriverManager…

使用RabbitMQ实现延时消息自动取消的简单案例

一、流程图 二、导包 <!--消息队列 AMQP依赖&#xff0c;包含RabbitMQ--> <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-amqp</artifactId> </dependency> 三、配置文件 #消息队列 …

nodejs安装教程(及过程中的易错)

nodejs&#xff1a;Nodejs 是基于 Chrome 的 V8 引擎开发的一个 C 程序&#xff0c;目的是提供一个 JS 的运行环境。 npm&#xff1a;npm 是 Node Package Manager 的缩写&#xff0c;意思是 Node 的包管理系统&#xff0c;是最大的软件包仓库 下载nodejs 首先我们需要在node…

制作高端的电子杂志神器推荐

根据市场调查数据显示&#xff0c;越来越多的消费者开始青睐电子杂志这种阅读方式。相比传统纸质杂志&#xff0c;电子杂志具有更高的阅读体验、更便捷的分享和传播方式以及更环保的阅读方式。此外&#xff0c;越来越多的企业也开始重视电子杂志的宣传作用&#xff0c;将其作为…

一次磁盘组扩容引起的事故

一、备份磁盘头信息 1、mkdir /home/grid/bakasm 2、kfed read /dev/rhdisk /home/grid/backasm/rhdisk.txt 二、赋权 1、chmod 660 /dev/rhdisk 2、chown grid:asmadmin /dev/rhdisk 三、确认没有pvid lspv |grep hdisk 如果存在 chedev -l hdisk -a pvclear 四、调…

状态模式:有案例就这么简单

状态模式是一种行为设计模式&#xff0c;它允许对象在内部状态改变时改变它的行为。这使得对象看起来好像修改了它的类。状态模式主要由三个部分组成&#xff1a;上下文&#xff08;Context&#xff09;、状态接口&#xff08;State Interface&#xff09;和具体状态&#xff0…

使用 AJAX 提升网页数据的动态交互

&#x1f90d; 前端开发工程师、技术日更博主、已过CET6 &#x1f368; 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 &#x1f560; 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 &#x1f35a; 蓝桥云课签约作者、上架课程《Vue.js 和 E…

2024年最新Android面试精讲,面试题附答案

一. 开发背景 想要成为一名优秀的Android开发&#xff0c;你需要一份完备的知识体系&#xff0c;在这里&#xff0c;让我们一起成长为自己所想的那样。 Android 相关 1. Android 之 SharedPreferences 内部原理浅析 2. Android 源码分析-消息队列和 Looper 3. Android 源码分析…

第二十一周代码(java + DFS/BFS)

2024/03/04 周一 路径之谜 题目链接 【参考代码】 dfs剪枝 #include <iostream> #include <vector> using namespace std;int n; int dx[] {-1, 0, 1, 0}, dy[] {0, 1, 0, -1}; bool visit[21][21] {false}; int north[21], west[21]; vector<int…

【Apache Camel】基础知识

【Apache Camel】基础知识 Apache Camel是什么Apache Camel基本概念和术语CamelContextEndpointsRoutesRouteBuilderComponentsMessageExchangeProcessorsDomain Specific Language&#xff08;DSL&#xff09; Apache Camel 应用执行步骤Apache Camel 示意图参考 Apache Camel…

智慧农业的新时代

1.智慧农业的发展背景及重要性 随着科技的发展&#xff0c;农业现代化已经成为我国农业发展的必然趋势。智慧农业作为农业现代化的重要组成部分&#xff0c;通过运用物联网、大数据、云计算等先进技术&#xff0c;实现对农业生产、管理和服务的智能化&#xff0c;提高农业生产效…

「媒体宣传」品牌发布会活动策划注意点

传媒如春雨&#xff0c;润物细无声&#xff0c;大家好&#xff0c;我是51媒体网胡老师。 品牌发布会活动策划的媒体宣传方面&#xff0c;以下是关键的注意点&#xff1a; 一、目标与定位 明确核心信息和品牌重点。 设定清晰的目标受众。 二、媒体选择 针对性选择主流媒体、…

rt-thread uart驱动

uart驱动描述基于GD32F470芯片。 rt-thread提供了一套I/O设备模型&#xff0c;如果想要使用操作系统的驱动去进行操作&#xff0c;就得将具体芯片的硬件驱动注册到设备驱动框架上。 关于rt-thread的I/O设备模型相关内容可以参考 rt-thread I/O设备模型-CSDN博客文章浏览阅读55…

基于springboot的母婴商城

摘 要 现代经济快节奏发展以及不断完善升级的信息化技术&#xff0c;让传统数据信息的管理升级为软件存储&#xff0c;归纳&#xff0c;集中处理数据信息的管理方式。本母婴商城系统就是在这样的大环境下诞生&#xff0c;其可以帮助管理者在短时间内处理完毕庞大的数据信息&am…

js五星评价的制作方法

方法有两种&#xff0c;1、jquer插件&#xff1b;2、图片循环&#xff1b; 第一种、效果图 代码 <!DOCTYPE html> <html lang"zh"> <head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"…

Uniapp壁纸小程序源码/双端微信抖音小程序源码

Uniapp壁纸小程序源码&#xff0c;双端微信抖音小程序源码。WordPress后台的小程序。为一些做壁纸类自媒体的朋友解决变现难的问题&#xff0c;抖音壁纸常见的图片取号码&#xff0c;微信的壁纸公众号小程序均可使用该小程序进行变现&#xff0c;这款小程序后端为WordPress&…

44、网络编程/数据库相关操作练习20240306

一、代码实现数据库的创建&#xff08;员工信息表&#xff09;&#xff0c;并存储员工信息&#xff08;工号、姓名、薪资&#xff09;&#xff0c;能实现增加人员信息、删除人员信息、修改人员薪资操作。 代码&#xff1a; #include<myhead.h>int do_update(sqlite3 *p…

深色系可视化界面看腻了,来点浅色系?安排,20页来了。

只要不放在大屏上展示&#xff0c;贝格前端工场还是非常推崇浅色系的可视化界面&#xff0c;把它作为配色的首选 。浅色系可视化界面具有以下几个优势&#xff1a; 清晰明了 浅色系界面通常使用明亮的颜色&#xff0c;如白色、浅灰色等&#xff0c;使界面元素更加清晰可见。这…

微前端之什么是微前端

什么是微前端 微前端分类 基于路由的微前端&#xff1a;组件化微前端&#xff1a;iframe嵌入式微前端&#xff1a; 优点缺点 动态加载/懒加载微前端&#xff1a;微应用容器化方案&#xff1a; 微前端解决方案 single-spa阿里巴巴 Cloud Alfaiframe 方案Web ComponentsModule Fe…