【“软件工程”基础概念学习】
基础和相关概念
英文:Software Engineering
- 软:物体内部的组织疏松,受外力作用后容易改变形状
- 软件:
- 计算机系统的组成部分,是指挥计算机进行计算、判断、处理信息的程序系统。通常分为系统软件和应用软件。
- 借指某项活动中的人员素质、能力。
- 程序:事情进行的先后次序;指计算机程序。
- 程序控制:通过事先编制的程序需实现的自动控制。广泛应用于控制各种生产和工艺加工过程。
- 系统:同类事物按一定关系组成的整体;有条理的;有系统的。
- 系统工程:
- 管理科学上运用数学和计算机技术等对一个系统内部的规划、设计、研究、实验、应用等环节进行组织管理,以求得最佳效益的措施。
- 指牵涉很多方面,需要统一筹划解决的复杂而庞大的工作任务。
- 系统论:研究系统的一般模式、结构、性质和规律的理论。也指研究系统思想和系统方法的哲学理论。
- 应用:
- 动词:使用;
- 属性词:可供直接在生产或生活中运用的。
- 硬:物体内部组织紧密,受外力作用后不容易改变形状。
- 硬件:计算机系统的组成部分,是构成计算机的各个元件、部件和装置的统称。借指生产、科研、经营等过程中的机器设备、物质材料等。
- 工程:
- 土木建筑或其他生产、制造部门用比较大而复杂的设备来进行的工作,如土木工程、机械工程、化学工程、采矿工程、水利工程等,也指具体的建设工程项目;
- 泛指某项需要投入巨大人力和物力的工作。
问题
软件软在哪里?
- 易于修改和更新:需求、技术不断变化。
- 抽象性:软件抽象出接口,操控硬件。
- 没有物理形态:存在于内存、磁盘等介质中。
硬件硬在哪里?
- 不可变性:一旦制造、功能固定。
- 执行效率:硬件在特定任务中通常效率较高。
- 物理构造:硬件是物理存在、需要具体材料和设计。
软件工程定义
软件工程是研究和应用如何以系统性的、规范化的、可定量的过程化方法去开发和维护软件,以及如何把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来。
定义中的基础概念
- 研究:探求事物真相、性质、规律等;考虑或商讨意见、问题。
- 规范:约定俗成或明文规定的标准。
- 规范化:使合于一定的标准。
- 定量:
- 动词:测定物质所含各种成分数量;
- 动词:规定数量;
- 名词:规定的数量。
- 过程:事情进行或事物发展所经过的程序。
- 开发:以荒地、矿山、森林、水力等自然资源为对象进行劳动,以达到利用的目的;开拓;发现或发掘人才、技术等供利用。
- 维护:维持保护,使免于遭受破坏。
- 经过时间考验:亲身经历、借鉴经历。
- 管理:
- 动词:负责某项工作,使顺利进行;保管和料理;照管并约束。
- 技术:
- 名词:人类在认识自然和利用自然的过程中积累起来并在生产劳动中体现出来的经验和技巧;
- 泛指其他操作方面的技巧;指技术装备。
问题
软件工程的系统性体现在哪里?
- 从需求分析、设计、编码、测试、部署到维护,每个阶段都被视为一个系统的一部分,它们相互依赖,共同构成了软件开发的全过程。
软件工程的规范化体系体现在哪里?
- 遵循规范化和标准化的开发流程。这些流程包括项目管理、需求管理、配置管理、风险管理等。
软件工程的可定量体现在哪里?
- 项目进度量化、成本估算与控制、软件规模度量、缺陷密度和质量管理、风险评估与管理、用户满意度与反馈量化。
软件工程的开发和维护过程是什么?
- 开发:需求分析、设计、编码、测试、部署和交付;
- 维护:问题报告和跟踪、缺陷修复、软件更新和升级、预防性维护。
软件工程的管理和技术如何结合?
-
管理有什么?
- 项目计划:制定明确的项目目标、范围、时间表和资源需求,为软件开发提供清晰的指导。
- 资源配置:根据项目需求,合理分配人力、物力、财力等资源,确保开发过程的顺利进行。
- 进度控制:通过监控项目进度,及时发现和解决潜在问题,确保项目按时完成。
- 风险管理:识别、分析和应对软件开发过程中的风险,降低项目失败的可能性。
- 质量保证:建立有效的质量保证体系,确保软件产品符合质量标准和用户需求。
-
技术有什么?
软件工程的技术主要涉及需求分析、设计、编码、测试等方面。这些技术是软件开发的基础,决定了软件产品的质量和性能。- 需求分析:通过深入了解用户需求,明确软件需要实现的功能和性能要求。
- 设计:根据需求分析结果,设计软件的总体架构、模块划分和接口定义等。
- 编码:按照设计文档,编写符合编码规范和最佳实践的程序代码。
- 测试:对软件进行单元测试、集成测试、系统测试和验收测试等,确保软件的质量和稳定性。
-软件工程管理和技术的结合
软件工程管理和技术的结合体现在以下几个方面:
- 计划阶段的技术评估:在制定项目计划时,需要对技术可行性进行评估,确保所选技术能够满足项目需求。这包括评估技术的成熟度、稳定性、可维护性等方面。
- 资源配置的技术需求:在资源配置阶段,需要根据技术需求合理分配资源。例如,对于技术难度较高的任务,需要分配具有相应技能的开发人员。
- 进度控制的技术监控:在进度控制过程中,需要密切关注技术实现的进度和质量。通过定期的技术评审和测试,及时发现和解决技术问题,确保项目按时完成。
- 风险管理的技术应对:在风险管理过程中,需要识别技术风险并制定相应的应对策略。例如,对于可能出现的技术难题,可以提前进行技术研究和储备,以降低风险对项目的影响。
- 质量保证的技术保障:在质量保证阶段,需要建立有效的技术保障体系,确保软件产品符合质量标准和用户需求。这包括制定编码规范、进行代码审查、建立测试体系等方面的措施。
相关文章:
![](https://www.ngui.cc/images/no-images.jpg)
【“软件工程”基础概念学习】
基础和相关概念 英文:Software Engineering 软:物体内部的组织疏松,受外力作用后容易改变形状软件: 计算机系统的组成部分,是指挥计算机进行计算、判断、处理信息的程序系统。通常分为系统软件和应用软件。借指某项活…...
![](https://i-blog.csdnimg.cn/img_convert/9c6b055b9def98019bad5a8a79c24a2a.png)
省森林防火应急指挥系统
森林防火形势严峻 我国森林防火形势十分严峻,森林火灾具有季节性强、发现难、成灾迅速等特点,且扑救难度大、影响范围广、造成的损失重。因此,构建森林防火应急指挥系统显得尤为重要。 系统建设模式与架构 森林防火应急指挥系统采用大智慧…...
![](https://www.ngui.cc/images/no-images.jpg)
一键整理背包界面功能
一键整理功能 游戏《帕鲁》中的背包界面有一键整理的功能,就是玩家随意拖拽背包格子里的物品,然后导致背包界面看起来很凌乱,比如物品a在一个格子里数量为1,另一个格子里数量为3,或者还有空格杂夹在有物品的格子旁边,一键排序功能可以解决这个问题,(将相同物品整合到一…...
![](https://i-blog.csdnimg.cn/img_convert/e6fc2e8f033b9f47295d2341822c38c3.jpeg)
给DevOps加点料:融入安全性的DevSecOps
从前,安全防护只是特定团队的责任,在开发的最后阶段才会介入。当开发周期长达数月、甚至数年时,这样做没什么问题;但是现在,这种做法现在已经行不通了。 采用 DevOps 可以有效推进快速频繁的开发周期(有时…...
![](https://www.ngui.cc/images/no-images.jpg)
uniapp 使用 pinia 状态持久化
1.创建文件 stores -index.js -global.js2.对应文件内容 index.js 安装插件 npm i pinia-plugin-persistedstate import { createPinia } from pinia; import persist from pinia-plugin-persistedstate; const pinia createPinia(); pinia.use(persist); export default pi…...
![](https://www.ngui.cc/images/no-images.jpg)
HarmonyOS鸿蒙-@State@Prop装饰器限制条件
一、组件Components级别的状态管理: State组件内状态限制条件 1.State装饰的变量必须初始化,否则编译期会报错。 // 错误写法,编译报错 State count: number;// 正确写法 State count: number 10; 2.嵌套属性的赋值观察不到。 // 嵌套的…...
![](https://i-blog.csdnimg.cn/direct/c9d72f3099284e8692ae72a88841286d.gif)
Java Web开发进阶——Spring Boot与Spring Data JPA
Spring Data JPA 是 Spring 提供的一种面向数据访问的持久化框架,它简化了 JPA 的实现,为开发者提供了一种快速操作数据库的方式。在结合 Spring Boot 使用时,开发者能够快速完成数据库访问层的开发。 1. 介绍Spring Data JPA 1.1 什么是Spr…...
![](https://i-blog.csdnimg.cn/direct/a407222a7b6b4ec982230805e670a5f8.png)
Vue Router4
Vue Router 是 Vue.js 官方的路由管理器。Vue Router 基于路由和组件的映射关系,监听页面路径的变化,渲染对应的组件。 安装: npm install vue-router。 基本使用: // src/router/index.js import {createRouter, createWebHa…...
![](https://www.ngui.cc/images/no-images.jpg)
计算机网络之---应用层协议概述
应用层协议概述 应用层协议是OSI模型中的第7层(应用层)定义的一组规则,用于支持和管理不同应用程序之间的通信。应用层协议定义了数据交换的格式、规则和约定,使得不同的系统或应用能够互相理解并正确地交换数据。它直接面向用户并…...
![](https://www.ngui.cc/images/no-images.jpg)
html + css 顶部滚动通知栏示例
前言 在现代网页设计中,一个吸引人的顶部滚动通知栏不仅能够有效传达重要信息,还能提升用户体验。通过使用HTML和CSS,我们可以创建既美观又功能强大的组件,这些组件可以在不影响网站整体性能的情况下提供实时更新或紧急通知。 本…...
![](https://i-blog.csdnimg.cn/direct/c3b136c8cc67455eb1ec02b4d8fb2b0e.png)
【Rust自学】11.6. 控制测试运行:并行和串行(连续执行)测试
喜欢的话别忘了点赞、收藏加关注哦,对接下来的教程有兴趣的可以关注专栏。谢谢喵!(・ω・) 11.6.1. 控制测试的运行方式 cargo test和cargo run一样,cargo test也会编译代码并生成一个二进制文件用于测试,…...
![](https://i-blog.csdnimg.cn/direct/b851981098064fdb960b56bd46d8f380.png)
某漫画网站JS逆向反混淆流程分析
文章目录 1. 写在前面1. 接口分析2. 反混淆分析 【🏠作者主页】:吴秋霖 【💼作者介绍】:擅长爬虫与JS加密逆向分析!Python领域优质创作者、CSDN博客专家、阿里云博客专家、华为云享专家。一路走来长期坚守并致力于Pyth…...
![](https://www.ngui.cc/images/no-images.jpg)
React 中事件机制详细介绍:概念与执行流程如何更好的理解
React 的事件机制是一个非常重要的概念,它涉及到 React 如何处理用户的交互事件。React 的事件系统与传统的 DOM 事件系统有所不同,它在底层使用了事件委托和合成事件(Synthetic Events)来优化性能。下面,我们将从 Rea…...
![](https://i-blog.csdnimg.cn/direct/e73c30fd98f546a8a861a30a370a9a9e.png)
Day04-后端Web基础(Maven基础)
目录 Maven课程内容1. Maven初识1.1 什么是Maven?1.2 Maven的作用1.2.1 依赖管理1.2.2 项目构建1.2.3 统一项目结构 2. Maven概述2.1 Maven介绍2.2 Maven模型2.3 Maven仓库2.4 Maven安装2.4.1 下载2.4.2 安装步骤 3. IDEA集成Maven3.1 配置Maven环境3.1.2 全局设置 3.2 Maven项…...
![](https://www.ngui.cc/images/no-images.jpg)
vue3模板语法+响应式基础
模板语法 1. disabled指令,可以用于禁用按钮 <button :disabled"isButtonDisabled">Button</button> //:disabled是一个指令,用于根据isButtonDisabled的值来动态控制按钮的禁用状态。 使用场景: 1.防止用户重复点击…...
![](https://www.ngui.cc/images/no-images.jpg)
【面试题】简单聊一下什么是云原生、什么是k8s、容器,容器与虚机相比优势
云原生(Cloud Native) 定义:云原生是一种构建和运行应用程序的方法,旨在充分利用云计算的优势。它涵盖了一系列技术和理念,包括容器化、微服务架构、自动化部署与管理等。特点:云原生应用程序被设计为可弹性…...
![](https://i-blog.csdnimg.cn/direct/1fc742ce992f43b29438ea08904c2a4e.png)
数据挖掘实训:天气数据分析与机器学习模型构建
随着气候变化对各行各业的影响日益加剧,精准的天气预测已经变得尤为重要。降雨预测在日常生活中尤其关键,例如农业、交通和灾害预警等领域。本文将通过机器学习方法,利用历史天气数据预测明天是否会下雨,具体内容包括数据预处理、…...
![](https://i-blog.csdnimg.cn/direct/8c15db5440a9422dbbb18e2193a9d031.png)
STM32如何使用内部晶振作为晶振
目录 前言 首先说明一下芯片内部并没有时钟, 而是内部振荡。使用内部振荡的好处是外部无需设计晶振电路 ,再说的简单点 ,不用外部晶振依然可以让单片机正常运转。 环境: 芯片:STM32F103C8T6 Keil:V5.24…...
![](https://i-blog.csdnimg.cn/direct/7018eb525e8f4c61956416b4ae13b748.png)
【Maui】导航栏样式调整
前言 .NET 多平台应用 UI (.NET MAUI) 是一个跨平台框架,用于使用 C# 和 XAML 创建本机移动和桌面应用。 使用 .NET MAUI,可从单个共享代码库开发可在 Android、iOS、macOS 和 Windows 上运行的应用。 .NET MAUI 是一款开放源代码应用,是 X…...
![](https://i-blog.csdnimg.cn/direct/4339bad58073496cb0a746fcbceeab1e.png)
【黑马程序员三国疫情折线图——json+pyechart=数据可视化】
json数据在文末 将海量的数据处理成我们肉眼可以进行分析的形式,数据的可视化,可以分为两个步骤: 数据处理:利用三方网站厘清json层次格式化,再对文件的读取、检查是否符合JSON规范以及规范化、JSON格式的转化&#…...
![](https://i-blog.csdnimg.cn/direct/322caf0ea60e4969abab0c9f31f50d6c.png#pic_center)
如何实现多级缓存?
本文重点说一说在Java应用中,多级缓存如何实现。 多级缓存是比较常见的一种性能优化的手段,一般来说就是本地缓存分布式缓存。 本地缓存一般采用Caffeine和Guava,这两种是性能比较高的本地缓存的框架。他们都提供了缓存的过期、管理等功能。…...
![](https://i-blog.csdnimg.cn/img_convert/f492165ec033721785008bb4dd83e5a5.png)
Saas数据库迁移单租户数据
1、背景 租户使用Saas系统,用一段时间后要将系统、数据搬迁到自建服务器。该Saas系统没有按租户分库,且数据库数据量太大,需要将单租户的数据抽取出来。Saas系统使用Mysql5.7数据库,主要使用INFORMATION_SCHEMA.COLUMNS表进行数据…...
![](https://www.ngui.cc/images/no-images.jpg)
LeetCode100之括号生成(22)--Java
1.问题描述 数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。 示例1 输入:n 3 输出:["((()))","(()())","(())()","()(())","()()()&qu…...
![](https://i-blog.csdnimg.cn/direct/a5c5e526ccbd4ba59b19814cc503177e.png)
阿里云ios镜像源
阿里云镜像源:阿里巴巴开源镜像站-OPSX镜像站-阿里云开发者社区 下载centos7...
![](https://www.ngui.cc/images/no-images.jpg)
芯片:为何英伟达的GPU能在AI基础设施领域扮演重要角色?
英伟达的GPU之所以能在AI基础设施领域扮演重要角色,主要源于其硬件架构的优势以及其与深度学习算法的高度兼容性。以下是几个关键因素: 1. 并行计算能力 GPU(图形处理单元)本质上是为处理大量并行计算任务而设计的。与CPU相比&a…...
![](https://i-blog.csdnimg.cn/direct/282f4b56083f47a3b4211d0240aaddde.jpeg#pic_center)
Linux系统之hostname相关命令基本使用
Linux系统之hostname相关命令基本使用 一、检查本地系统版本二、hostname命令的帮助说明中文帮助说明 三、hostname命令的基本使用1. 查看计算机名2. 查看本机上所有IP地址3. 查看主机FQDN4. 查看短主机名 四、hostnamectl命令的使用1. 查看主机详细信息2. 设置主机名3. hostna…...
Domain Adaptation(李宏毅)机器学习 2023 Spring HW11 (Boss Baseline)
1. 领域适配简介 领域适配是一种迁移学习方法,适用于源领域和目标领域数据分布不同但学习任务相同的情况。具体而言,我们在源领域(通常有大量标注数据)训练一个模型,并希望将其应用于目标领域(通常只有少量或没有标注数据)。然而,由于这两个领域的数据分布不同,模型在…...
![](https://www.ngui.cc/images/no-images.jpg)
在php中,Fiber、Swoole、Swow这3个协程都是如何并行运行的?
文章精选推荐 1 JetBrains Ai assistant 编程工具让你的工作效率翻倍 2 Extra Icons:JetBrains IDE的图标增强神器 3 IDEA插件推荐-SequenceDiagram,自动生成时序图 4 BashSupport Pro 这个ides插件主要是用来干嘛的 ? 5 IDEA必装的插件&…...
![](https://www.ngui.cc/images/no-images.jpg)
SQLite PRAGMA
SQLite的PRAGMA命令是一种特殊的命令,用于在SQLite环境中控制各种环境变量和状态标志。PRAGMA值可以被读取,也可以根据需求进行设置【0†source】。 PRAGMA命令的语法格式如下: 要查询当前的PRAGMA值,只需提供该PRAGMA的名字&am…...
![](https://www.ngui.cc/images/no-images.jpg)
使用python调用JIRA6 REST API及遇到的问题
JIRA认证方式简述 JIRA接口调用有两种认证方式访问Jira Rest API,基本认证⽅式(⽤户名和密码)和OAuth1认证方式。 基本认证⽅式:因为⽤户名和密码会被浏览器重复地请求和发送,即使采⽤ SSL/TLS 发送,也会有安全隐患,…...
![](/images/no-images.jpg)
定西做网站/广州seo技术优化网站seo
基于LabVIEW的S7300PLC与PC机的串口通信2011 仪 表 技 术 与 传 感 器 20115 Instrument Technique and Sensor No5LabV IEW S7- 300 PLC PC刘小丽, 张晓光(, 221116): 根据工业系统设计需求, 采用图形化编程语言 LabVI W 设计了 S7 - 300 PLC和 PC机间的串 通信介绍了使用 396…...
![](https://www.oschina.net/img/hot3.png)
莆田建站培训/seo网站优化方案摘要
为什么80%的码农都做不了架构师?>>> centos7下spark-2.3.0集群搭建 环境准备 1.服务器概览 hostnameip说明node1.spark192.168.2.140node1r节点(master)node2.spark192.168.2.141node2节点node3.spark192.168.2.142node3节点分别在三台服务器上执行以下…...
![](/images/no-images.jpg)
有专门做dnf工作室的网站么/搜索引擎优化分析
对dictObject list进行排序 dict [{x: 1, y:3}, {x: 2, y:4}] * x 的值大于2优先排 * y 按照从小到大顺序排列 for d in dict:d.is_x_more_than_two True if d.x >2 else False dict.sort(key: lambda d: (not d.is_x_more_than_two, d.y)) * x 的值大于2优先排…...
![](/images/no-images.jpg)
山西建设官方网站/用网站模板建站
【问题】安装adobe flash player,总是提示关闭IE【解决】新建一个文本文档,输入以下内容regsvr32 /u /s %windir%\system32\Flash9b.ocxregsvr32 /u /s %windir%\system32\Flash9f.ocxregsvr32 /u /s %windir%\system32\Macromed\Flash\Flash8a.ocxregsv…...
![](/images/no-images.jpg)
网站建设怎么做?/拉新平台哪个好佣金高
复杂的世界 一个就够了 One is All 来自次元空间转置 【复杂世界里,一个就够了】一条漂亮的小鱼游进池塘,她的到来,立刻引起老居民的兴趣:小虾吩咐螃蟹选一处水草茂密的地方给她安家,还叫螃蟹帮她留心不怀好意的鲢鱼和…...
![](https://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif)
wordpress 这样去掉文章标题和正文之间的作者_日期等链接/中国疫情最新数据
一、这篇文章主要是要实现:图片新闻的添加,无刷新图片的上传,以及添加新闻静态页的生成。 无刷新图片的上传用到的组件:jquery.uploadify.js、uploadify.swf、uploadify.css。文本编辑器:ckeditor、ckfinder。前台图片…...