系统工程 | 系统工程概识

系统工程是为了最好地实现系统的目的,对系统的组成要素、组织结构、信息流、控制机构等进行分析研究的科学方法。

它运用各种组织管理技术,使系统的整体与局部之间的关系协调和相互配合,实现总体的最优运行。

系统工程不同于一般的传统工程学,它所研究的对象不限于特定的工程物质对象,而是任何一种系统。

来自:百度百科


译者:luojiyin
原文:https://www.freecodecamp.org/news/what-is-systems-engineering/

我最近在读 J. Martin 的书《Systems Engineering Guidebook – A Process for Developing Systems and Products》(《系统工程指南–开发系统和产品的过程》)[1]。 从中我了解到,系统工程可以降低 40% 的制造成本——你知道吗?

我以前也不知道。即使在上了一堂以系统工程为主题的课后,我也只有在了解其在现实生活中的应用时才明白其相关性。

但是,系统工程是否用于软件开发?

是的!

一些大名鼎鼎的公司使用系统工程来改进他们的产品。

事实上,谷歌有自己的学科,叫作工程生产力.

Facebook 也有自己的,叫作生产工程.

另外,亚马逊雇佣了一个团队 的工程师来帮助建立其云计算基础设施。

为了了解什么是系统工程以及它的重要性,我们来回答四个问题。

  • 什么是系统?
  • 什么是项目的生命周期?
  • 什么是系统工程?
  • 为什么系统工程很重要?

什么是系统?

一个系统是许多“东西”的组合,它们像一个整体一样一起工作。

比如说:

  • 太阳系统
  • 树木
  • 公司
    这些例子中的每一个都有许多组件(行星、树叶、部门),它们共同构成一个整体。

这些组件也可以是子系统。例如,我们的太阳系有我们的星球。我们的地球有自己的系统,如地圈、生物圈,等等。

地质圈是地球上的一个 子系统。

有关系统的例子

在编程中,你可以把程序看作是系统。

例如,某个程序中的一个函数可以被看作是系统中的一个元素。

通过为你的程序的不同组成部分布置一个系统,你不仅会做出一个更有效的程序,而且它也会变得更容易维护和在未来添加功能。

因此,你可以把程序的系统看作是其中的一种架构。

这里有一个编程中的系统的例子:

文件树来自 htm5up 网站模板

图片显示了一个网站模板项目的目录(或文件夹)的结构。

许多这些目录包含多个 .html、.css 和 .js 文件。

这些文件都有组件和特性,与项目内的其他文件相互作用。从本质上讲,你在这里有一个系统。

整个项目是一个系统。这个项目中的子系统是指方向。一个目录内的每个文件都有许多组件,它们构成了一个项目的整体。

通过学习如何创建一个系统,你将学会如何更好地创建和管理项目。

什么是项目的生命周期?

项目的生命周期指的是某个项目的各个阶段——从想法到项目的创建,到最终的使用和最后的制造。

通常情况下,项目的生命周期包括:

  • 构思
  • 创造一个想法
  • 为实际的项目概念创造概念
  • 使用和支持该项目
  • 停用

下面是一个例子,解释了如何应用系统工程为一个公司开发网站。

项目生命周期实例

假设你正在经营一家软件公司,一个客户要求你为他们公司开发一个网站。

提出想法

在这里,你需要与客户进行对话,以确定项目将如何发展,并了解客户对项目的实际需求。

与客户讨论未来可能出现的问题也是一个好主意,无论是技术还是财务问题。

这是迄今为止项目整个生命周期中最重要的阶段。

不了解客户的需求,你就无法完成他们想要的项目。无论你的技术知识如何,这一点都是真实的。

创造和发展想法

下一步是在了解客户的需求后,计划所有需要的步骤,把计划变成一个真正的项目。

举例来说,你要计划出你将在哪里启动网站,在哪里部署网站,等等。

为实际的项目概念提出构想
在这个阶段,你建立客户想要的项目。这也是一个极其重要的步骤。

它允许你根据客户的要求来设计网站。

使用和支持该项目

我们现在正处于生产阶段。在这个阶段,项目将被测试,任何技术问题将被修复。

如果有技术问题,应该是小问题,而且不应该对网站的大部分内容产生不利影响。

然而,一旦项目交给客户,维护工作就应该由客户来处理。

停用

在这最后一步,网站将被停用。

它要么被另一个网站取代,要么客户结束他们的公司并关闭该网站,等等。

什么是系统工程,它为什么重要?

我们已经看到,一个系统是许多 东西 的组合,它们作为一个整体一起工作。

我们还看到,系统有生命周期。

那么,在项目开始前和执行过程中对这些生命周期进行规划的行为被称为系统工程。

系统工程的技术实例

让我们想象一下,你已经知道客户想要什么。

想象一下,他们让你设计一个电子商务网站,该网站将承载来自卖家的成千上万张照片。

该网站需要一个中央服务器来托管和传递大量来自用户的图片。例如,你的网站可能以其销售的产品图片为特色。

你需要创建一个高效且易于维护的系统,在短时间内为网站请求图片。

你如何能实现这一点?

难以回答吧?毫无疑问,这是一个具有挑战性的问题。

一个需要对系统进行规划以最大限度地提高效率,并尽可能地易于维护的问题。

如果你想了解更多关于这个问题,你可以查看这篇文章。

虽然这是一个大的技术问题,但还有其他更严重的问题。

例如,管理一个大型开源图书馆的增长的最佳方法是什么?

它的架构究竟如何,才能做到高效和易于使用?

这里 是对 Python 中一个流行的库架构的概述,matplotlib。

当你计划一个系统时,你可以创建和管理程序的架构。

这样,开发者就不必担心功能目标的缺失、严重的缺陷,或在生产和维护上花费大大超过预期。

正是由于这个原因,谷歌、Facebook、亚马逊和其他许多公司都有专门的系统工程师团队。

通过系统工程,我们可以制定一种“计划”,以接近完美的方式实现我们的目标或公司的目标。

总结

好了,现在你明白了:

  • 什么是系统
  • 什么是项目生命周期
  • 什么是系统工程以及它在各种项目中的价值

谢谢你阅读本文!

附录

  • J. Martin, Systems Engineering Guidebook A Process for Developing Systems and Products. London: CRC Press, pp. 5–6.
  • National Geographic Society, “Earth’s Systems,” National Geographic Society, Oct. 29, 2019. https://www.nationalgeographic.org/article/earths-systems/
  • “The Architecture of Open Source Applications (Volume 2): Scalable Web Architecture and Distributed Systems,” www.aosabook.org. https://www.aosabook.org/en/distsys.html
  • B. Douglass, in Real-time design patterns: Robust Scalable Architecture for real-time systems, Boston: Addison-Wesley, 2003, pp. 96–97.

什么是系统工程?

系统工程是一个帮助您管理大型系统复杂性的过程。 这是一种确保系统的所有不同部分无缝且高效地协同工作的方法。 系统工程已经存在很多年了,现在有一些很棒的工具和技术可以帮助您充分利用这种方法。

为了理解系统工程,首先需要了解什么是“系统”。 一个系统可以被认为是一组相互交互以实现特定目标的组件。 术语“系统”可以用来指代任何东西,从简单的机器(如汽车)到复杂的网络(如互联网)。

系统工程的重要性:

系统工程的主要目标是设计和管理系统,使其有效和高效。 系统工程师使用各种工具和技术来实现这一目标。 系统工程通过促进、领导和协调来将各种学科和专业组整合到一个连贯的努力中。

系统工程考虑客户的业务和技术要求,以提供满足客户和其他参与者需求的高质量解决方案,适合其在实际使用中的预期用途,并避免或最大限度地减少有害的意外后果。

所有系统工程项目的目标都是控制风险,特别是无法满足消费者想要和需要的东西、延迟交付、超支和负面意外后果的风险。 这种风险降低的程度是系统工程技术有效性的一个指标。 相反,客户对缺乏系统工程活动的接受程度的衡量标准是由此产生的额外危害的数量。

https://visuresolutions.com/zh-CN/%E6%96%B0%E9%97%BB/%E7%B3%BB%E7%BB%9F%E5%B7%A5%E7%A8%8B/

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

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

相关文章

指针数组与数组指针的理解

typedef struct vexnode {int key;struct arcnode *next; }vexnode, adjlist[MVNUM]; void init(adjlist *list); void init(adjlist *list) {for(size_t i 0; i < MVNUM; i){list[i].key i;list[i].next NULL;} }上述代码编译的时候没有报错&#xff0c;但是运行的时候&…

数据仓库和数据挖掘基础

文章目录 1. 数据仓库基础知识1.1 数据仓库的基本特性1.2 数据仓库的数据模式1.3 数据仓库的体系结构 2. 数据挖掘基础知识2.1 数据挖掘的分类2.2 数据挖掘技术2.3 数据挖掘的应用过程 传统数据库在联机事务处理(OLTP)中获得了较大的成功&#xff0c;但是对管理人员的决策分析要…

LeetCode刷题笔记第2769题:找到最大的可达成数字

LeetCode刷题笔记第2769题&#xff1a;找到最大的可达成数字 题目&#xff1a; 想法&#xff1a; 从题目中可以看出&#xff0c;num经过t次增减变为x&#xff0c;x即为可达成数字。因为要求最大的可达成数字&#xff0c;需要满足num一直增加&#xff0c;x一直减少&#xff0c…

第七节:带你全面理解vue3: 其他响应式进阶API

前言: 针对vue3官网中, 响应式:进阶API 中, 我们在上一章中给大家讲解了shallowRef, shallowReactive, shallowReadonly几个API的使用. 本章主要对剩下的API 进行讲解, 我们先看一下官网中进阶API 都有那些 对于剩下这些API, 你需要了解他们创建目的, 是为了解决之前的API存在…

C语言/数据结构——每日一题(设计循环队列)

一.前言 上一次我们分享了关于队列的基本实现——https://blog.csdn.net/yiqingaa/article/details/139033067?spm1001.2014.3001.5502 现在我们将使用队列知识来解决问题——设计循环队列&#xff1a;https://leetcode.cn/problems/design-circular-queue/submissions/533299…

振弦式渗压计的维护和校准:确保数据准确性的关键步骤

振弦式渗压计是一种用于测量土壤和岩石中孔隙水压力的高精度仪器。它广泛应用于土木工程、水利工程、地质灾害监测等领域&#xff0c;准确性直接影响到工程安全和监测数据的可靠性。因此&#xff0c;对振弦式渗压计进行适当的维护和校准是至关重要的。本文将探讨振弦式渗压计的…

2024-5-6-从0到1手写配置中心Config之实现配置中心客户端

配置加载原理 在Spring中PropertySource类实现了所有属性的实例化。 启动赋值&#xff1a; 定义自定义属性配置源&#xff0c;从config-server获取全局属性&#xff1b;Spring启动时&#xff0c;插入自定义属性配置源&#xff1b;绑定属性会优先使用&#xff0c;给自定义属性…

tomcat jdbc连接池的默认配置配置方案

MySQL 5.0 以后针对超长时间数据库连接做了一个处理&#xff0c;即一个数据库连接在无任何操作情况下过了 8 个小时后(MySQL 服务器默认的超时时间是 8 小时)&#xff0c;MySQL 会自动把这个连接关闭。在数据库连接池中的 connections 如果空闲超过 8 小时&#xff0c;MySQL 将…

python期末作业:批量爬取站长之家的网站排行榜数据并保存,数据分析可视化

爬虫作业,含python爬取数据和保存文件,数据分析使用pyecharts做数据可视化 整体上分析网站的排名,直观看各个网站的热度。 数据分析之后大致的效果: 整个项目分为两个大的部分,第一部分就是抓取网站排名数据,然后保存为Excel、csv等格式,其次就是从文件中…

Advanced Installer 使用教程-自定义操作(下)

1、点击左侧“必要条件”&#xff0c;选择“运行环境” 2、这个运行环境用于设置安装前、中、后&#xff0c;各个阶段的自定义操作 3、安装过程中的自定义操作 1&#xff09;右击基本特征&#xff0c;选择新建程序包先决条件&#xff0c;在弹出的对话框中选择自己的EXE任务程…

Live800:客户为王,企业竞争的新趋势与核心要素!

在企业经营管理中&#xff0c;客户始终是最重要的资源和战略。从企业经营的角度来说&#xff0c;企业管理的核心是客户管理&#xff0c;客户管理的核心是价值创造和价值分配&#xff0c;这是企业经营的基础。这里主要讨论了企业竞争的新趋势与核心要素&#xff0c;认为客户为王…

营收净利双降、股东减持,大降价也救不了良品铺子

号称“高端零食第一股”的良品铺子(603719.SH)&#xff0c;正遭遇部分股东的“用脚投票”。 5月17日晚间&#xff0c;良品铺子连发两份减持公告&#xff0c;其控股股东宁波汉意创业投资合伙企业、持股5%以上股东达永有限公司&#xff0c;两者均计划减持。 其中&#xff0c;宁…

【minio】minio文件访问不到问题记录

问题描述&#xff1a; 项目上上传了logo&#xff0c;但是无法回写logo&#xff0c;但是文件minio路径已经返回&#xff0c;并且到minio服务器上也能下载文件&#xff1b; 解决方案&#xff1a; 1.排查Nginx的代理的minio是否正确 2.登录minio服务查一下文件路径policy是否设置访…

国内大模型价格战全面爆发:新旧势力逐鹿江湖【附主流模型价格对比】

近年来&#xff0c;随着人工智能技术的不断发展&#xff0c;大模型逐渐成为行业的焦点。然而&#xff0c;伴随而来的却是一场价格战。DeepSeek率先推出超低价服务&#xff0c;随后字节跳动、阿里巴巴、百度、科大讯飞、腾讯等巨头纷纷跟进&#xff0c;使得这一领域的竞争愈演愈…

研发机构大数据迁移如何保障敏感数据不泄露

随着云计算和大数据技术的飞速进步&#xff0c;越来越多的企业正试图通过数据迁移来提升IT基础设施的效率&#xff0c;减少成本&#xff0c;并增强业务的灵活性。但是&#xff0c;这一过程并非没有它的挑战&#xff0c;尤其是在数据安全方面。数据在转移过程中可能会遭遇黑客攻…

Python使用thread模块实现多线程

介绍&#xff1a; 线程&#xff08;Threads&#xff09;是操作系统提供的一种轻量级的执行单元&#xff0c;可以在一个进程内并发执行多个任务。每个线程都有自己的执行上下文&#xff0c;包括栈、寄存器和程序计数器。 在Python中&#xff0c;可以使用threading模块创建和管理…

设计模式5——抽象工厂模式

写文章的初心主要是用来帮助自己快速的回忆这个模式该怎么用&#xff0c;主要是下面的UML图可以起到大作用&#xff0c;在你学习过一遍以后可能会遗忘&#xff0c;忘记了不要紧&#xff0c;只要看一眼UML图就能想起来了。同时也请大家多多指教。 抽象工厂模式&#xff08;Abst…

Docker+nginx部署SpringBoot+vue前后端分离项目(保姆及入门指南)

前后分离项目部署 项目回顾工具上线准备1、win1.1、前端1.2、后端 2、linux环境2.1、安装docker2.2、安装docker compose2.3、编写Dockerfile文件2.4、编写docker-compose.yml文件2.5、修改application-pro.yml2.6、准备好nginx的挂载目录和配置2.7、部署后端服务 项目回顾 书…

Pod容器资源限制和探针

目录 一、资源限制 1.Pod和容器的资源请求和限制 2.CPU 资源单位 案例一 案例二 二、健康检查&#xff0c;又称为探针&#xff08;Probe&#xff09; 1.探针的三种规则 2.Probe支持三种检查方法 3.探测获得的三种结果 案例一&#xff1a;exec 案例二&#xff1a;htt…

C语言/数据结构——每日一题(有效的括号)

一.前言 如果想要使用C语言来解决这道题——有效的括号&#xff1a;https://leetcode.cn/problems/valid-parentheses/description/我们必须要借用上一篇我们所讲的内容——栈的实现&#xff1a;https://blog.csdn.net/yiqingaa/article/details/138923750?spm1001.2014.3001.…