【“软件工程”基础概念学习】

基础和相关概念

英文:Software Engineering
  • :物体内部的组织疏松,受外力作用后容易改变形状
  • 软件
    1. 计算机系统的组成部分,是指挥计算机进行计算、判断、处理信息的程序系统。通常分为系统软件和应用软件。
    2. 借指某项活动中的人员素质、能力。
  • 程序:事情进行的先后次序;指计算机程序。
  • 程序控制:通过事先编制的程序需实现的自动控制。广泛应用于控制各种生产和工艺加工过程。
  • 系统:同类事物按一定关系组成的整体;有条理的;有系统的。
  • 系统工程
    1. 管理科学上运用数学和计算机技术等对一个系统内部的规划、设计、研究、实验、应用等环节进行组织管理,以求得最佳效益的措施。
    2. 指牵涉很多方面,需要统一筹划解决的复杂而庞大的工作任务。
  • 系统论:研究系统的一般模式、结构、性质和规律的理论。也指研究系统思想和系统方法的哲学理论。
  • 应用
    • 动词:使用;
    • 属性词:可供直接在生产或生活中运用的。
  • :物体内部组织紧密,受外力作用后不容易改变形状。
  • 硬件:计算机系统的组成部分,是构成计算机的各个元件、部件和装置的统称。借指生产、科研、经营等过程中的机器设备、物质材料等。
  • 工程
    1. 土木建筑或其他生产、制造部门用比较大而复杂的设备来进行的工作,如土木工程、机械工程、化学工程、采矿工程、水利工程等,也指具体的建设工程项目;
    2. 泛指某项需要投入巨大人力和物力的工作。

问题

软件软在哪里?
  • 易于修改和更新:需求、技术不断变化。
  • 抽象性:软件抽象出接口,操控硬件。
  • 没有物理形态:存在于内存、磁盘等介质中。
硬件硬在哪里?
  • 不可变性:一旦制造、功能固定。
  • 执行效率:硬件在特定任务中通常效率较高。
  • 物理构造:硬件是物理存在、需要具体材料和设计。

软件工程定义

软件工程是研究和应用如何以系统性的、规范化的、可定量的过程化方法去开发和维护软件,以及如何把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来。

定义中的基础概念

  • 研究:探求事物真相、性质、规律等;考虑或商讨意见、问题。
  • 规范:约定俗成或明文规定的标准。
  • 规范化:使合于一定的标准。
  • 定量
    • 动词:测定物质所含各种成分数量;
    • 动词:规定数量;
    • 名词:规定的数量。
  • 过程:事情进行或事物发展所经过的程序。
  • 开发:以荒地、矿山、森林、水力等自然资源为对象进行劳动,以达到利用的目的;开拓;发现或发掘人才、技术等供利用。
  • 维护:维持保护,使免于遭受破坏。
  • 经过时间考验:亲身经历、借鉴经历。
  • 管理
    • 动词:负责某项工作,使顺利进行;保管和料理;照管并约束。
  • 技术
    • 名词:人类在认识自然和利用自然的过程中积累起来并在生产劳动中体现出来的经验和技巧;
    • 泛指其他操作方面的技巧;指技术装备。

问题

软件工程的系统性体现在哪里?
  • 从需求分析、设计、编码、测试、部署到维护,每个阶段都被视为一个系统的一部分,它们相互依赖,共同构成了软件开发的全过程。
软件工程的规范化体系体现在哪里?
  • 遵循规范化和标准化的开发流程。这些流程包括项目管理、需求管理、配置管理、风险管理等。
软件工程的可定量体现在哪里?
  • 项目进度量化、成本估算与控制、软件规模度量、缺陷密度和质量管理、风险评估与管理、用户满意度与反馈量化。
软件工程的开发和维护过程是什么?
  • 开发:需求分析、设计、编码、测试、部署和交付;
  • 维护:问题报告和跟踪、缺陷修复、软件更新和升级、预防性维护。
软件工程的管理和技术如何结合?
  • 管理有什么?

    1. 项目计划:制定明确的项目目标、范围、时间表和资源需求,为软件开发提供清晰的指导。
    2. 资源配置:根据项目需求,合理分配人力、物力、财力等资源,确保开发过程的顺利进行。
    3. 进度控制:通过监控项目进度,及时发现和解决潜在问题,确保项目按时完成。
    4. 风险管理:识别、分析和应对软件开发过程中的风险,降低项目失败的可能性。
    5. 质量保证:建立有效的质量保证体系,确保软件产品符合质量标准和用户需求。
  • 技术有什么?
    软件工程的技术主要涉及需求分析、设计、编码、测试等方面。这些技术是软件开发的基础,决定了软件产品的质量和性能。

    1. 需求分析:通过深入了解用户需求,明确软件需要实现的功能和性能要求。
    2. 设计:根据需求分析结果,设计软件的总体架构、模块划分和接口定义等。
    3. 编码:按照设计文档,编写符合编码规范和最佳实践的程序代码。
    4. 测试:对软件进行单元测试、集成测试、系统测试和验收测试等,确保软件的质量和稳定性。

-软件工程管理和技术的结合
软件工程管理和技术的结合体现在以下几个方面:

  1. 计划阶段的技术评估:在制定项目计划时,需要对技术可行性进行评估,确保所选技术能够满足项目需求。这包括评估技术的成熟度、稳定性、可维护性等方面。
  2. 资源配置的技术需求:在资源配置阶段,需要根据技术需求合理分配资源。例如,对于技术难度较高的任务,需要分配具有相应技能的开发人员。
  3. 进度控制的技术监控:在进度控制过程中,需要密切关注技术实现的进度和质量。通过定期的技术评审和测试,及时发现和解决技术问题,确保项目按时完成。
  4. 风险管理的技术应对:在风险管理过程中,需要识别技术风险并制定相应的应对策略。例如,对于可能出现的技术难题,可以提前进行技术研究和储备,以降低风险对项目的影响。
  5. 质量保证的技术保障:在质量保证阶段,需要建立有效的技术保障体系,确保软件产品符合质量标准和用户需求。这包括制定编码规范、进行代码审查、建立测试体系等方面的措施。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

爬虫基础之爬取歌曲宝歌曲批量下载

声明:本案列仅供学习交流使用 任何用于非法用途均与本作者无关 需求分析: 网站:邓紫棋-mp3在线免费下载-歌曲宝-找歌就用歌曲宝-MP3音乐高品质在线免费下载 (gequbao.com) 爬取 歌曲名 歌曲 实现歌手名称下载所有歌曲 本案列所使用的模块 requests (发送…

C++ 鼠标轨迹算法 - 防止游戏检测

一.简介 鼠标轨迹算法是一种模拟人类鼠标操作的程序,它能够模拟出自然而真实的鼠标移动路径。 鼠标轨迹算法的底层实现采用C/C语言,原因在于C/C提供了高性能的执行能力和直接访问操作系统底层资源的能力。 鼠标轨迹算法具有以下优势: 模拟…

2025年中科院分区大类划分公布!新增8155本

2025年中科院分区表变更情况 扩大收录范围 2025年的期刊分区表在原有的自然科学(SCIE)、社会科学(SSCI)和人文科学(AHCI)的基础上,增加了ESCI期刊的收录,并根据这些期刊的数据进行…

【前端动效】HTML + CSS 实现打字机效果

目录 1. 效果展示 2. 思路分析 2.1 难点 2.2 实现思路 3. 代码实现 3.1 html部分 3.2 css部分 3.3 完整代码 4. 总结 1. 效果展示 如图所示,这次带来的是一个有趣的“擦除”效果,也可以叫做打字机效果,其中一段文本从左到右逐渐从…

提升租赁效率的租赁小程序全解析

内容概要 在如今快节奏的生活中,租赁小程序俨然成为了提升租赁效率的一把利器。无论是个人还是企业,都会因其便捷的功能而受益。简单来说,租赁小程序能让繁琐的租赁流程变得轻松、高效。在这里,我们将带您畅游租赁小程序的海洋&a…

Docker--Docker Compose(容器编排)

什么是 Docker Compose Docker Compose是Docker官方的开源项目,是一个用于定义和运行多容器Docker应用程序的工具。 服务(Service):在Docker Compose中,一个服务实际上可以包括若干运行相同镜像的容器实例&#xff0…

搭建docker私有化仓库Harbor

Docker私有仓库概述 Docker私有仓库介绍 Docker私有仓库是个人、组织或企业内部用于存储和管理Docker镜像的存储库。Docker默认会有一个公共的仓库Docker Hub,而与Docker Hub不同,私有仓库是受限访问的,只有授权用户才能够上传、下载和管理其中的镜像。这种私有仓库可以部…

本地视频进度加入笔记+根据进度快速锁定视频位置

本地视频进度记录快速回溯 引言 在学习的过程中, 如果我们想快速记录当前看视频的位置, 后续回溯查找就会非常方便了。 实现效果 进度记录 通过按下快捷键ctrlaltu, 快速记录当前视频的进度信息,然后复制到typora软件内 快速回溯 在typora软件内, 选中视频索引…

网络传输层TCP协议

传输层TCP协议 1. TCP协议介绍 TCP(Transmission Control Protocol,传输控制协议)是一个要对数据的传输进行详细控制的传输层协议。 TCP 与 UDP 的不同,在于TCP是有连接、可靠、面向字节流的。具体来说,TCP设置了一大…

《自动驾驶与机器人中的SLAM技术》ch7:基于 ESKF 的松耦合 LIO 系统

目录 基于 ESKF 的松耦合 LIO 系统 1 坐标系说明 2 松耦合 LIO 系统的运动和观测方程 3 松耦合 LIO 系统的数据准备 3.1 CloudConvert 类 3.2 MessageSync 类 4 松耦合 LIO 系统的主要流程 4.1 IMU 静止初始化 4.2 ESKF 之 运动过程——使用 IMU 预测 4.3 使用 IMU 预测位姿进…

基于大语言模型的组合优化

摘要:组合优化(Combinatorial Optimization, CO)对于提高工程应用的效率和性能至关重要。随着问题规模的增大和依赖关系的复杂化,找到最优解变得极具挑战性。在处理现实世界的工程问题时,基于纯数学推理的算法存在局限…

【数据库】Unity 使用 Sqlite 数据库

1.找到需要三个 DLL Mono.Data.Sqlite.dllSystem.Data.dllsqlite3.dll 上面两个dll可在本地unity安装目录找到: C:\Program Files\Unity\Hub\Editor\2022.3.xxf1c1\Editor\Data\MonoBleedingEdge\lib\mono\unityjit-win32 下面dll可在sqlite官网下载到&#xff…

冒泡排序基础与实现

目录 1. 原理图 ​编辑 2. 什么是冒泡排序 3. 工作原理 3.1 具体步骤 3.2 时间复杂度 3.3 空间复杂度 4. 代码实现 5. 总结 1. 原理图 2. 什么是冒泡排序 冒泡排序(Bubble Sort)是一种简单的排序算法,它通过重复地遍历要排序的列表&am…

忘记了PDF文件的密码,怎么办?

PDF文件可以加密,大家都不陌生,并且大家应该也都知道PDF文件有两种密码,一个打开密码、一个限制编辑密码,因为PDF文件设置了密码,那么打开、编辑PDF文件就会受到限制。忘记了PDF密码该如何解密? PDF和offi…

【论文笔记】Sign Language Video Retrieval with Free-Form Textual Queries

🍎个人主页:小嗷犬的个人主页 🍊个人网站:小嗷犬的技术小站 🥭个人信条:为天地立心,为生民立命,为往圣继绝学,为万世开太平。 基本信息 标题: Sign Language Video Retr…

openEuler22.03系统使用Kolla-ansible搭建OpenStack

Kolla-ansible 是一个利用 Ansible 自动化工具来搭建 OpenStack 云平台的开源项目,它通过容器化的方式部署 OpenStack 服务,能够简化安装过程、提高部署效率并增强系统的可维护性。 前置环境准备: 系统:openEuler-22.03-LTS-SP4 配置&…

记录一下vue2项目优化,虚拟列表vue-virtual-scroll-list处理10万条数据

文章目录 封装BrandPickerVirtual.vue组件页面使用组件属性 select下拉接口一次性返回10万条数据,页面卡死,如何优化??这里使用 分页 虚拟列表(vue-virtual-scroll-list),去模拟一个下拉的内容…

【vue】vue的基础语法--上

目录 一、Vue的模板语法 1. 学会使用VsCode 2. 文本插值 3. 使用JavaScript表达式 4. 无效 5. 原始html 二、 属性绑定 1. 属性绑定 2.简写方案 3.布尔型Attribute 4. 动态邦定多个值 三、条件渲染 1. v-if 2. v-else 3. v-else-if 4. v-show 5. v-if VS v-sho…

【ANGULAR网站开发】初始环境搭建(SpringBoot)

1. 初始化SpringBoot 1.1 创建SpringBoot项目 清理spring-boot-starter-test,有需要的可以留着 1.2 application.properties 将application.properties改为yaml,个人习惯问题,顺便设置端口8888,和前端设置的一样 server:por…

OpenCV的对比度受限的自适应直方图均衡化算法

OpenCV的对比度受限的自适应直方图均衡化(CLAHE)算法是一种图像增强技术,旨在改善图像的局部对比度,同时避免噪声的过度放大。以下是CLAHE算法的原理、步骤以及示例代码。 1 原理 CLAHE是自适应直方图均衡化(AHE&…