系统工程 | 系统工程概识

简介: 系统工程 | 系统工程概识

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

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

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

来自:百度百科


译者: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/

目录
相关文章
|
存储 关系型数据库 MySQL
MySQL - 索引类型详解
MySQL - 索引类型详解
494 0
|
前端开发
什么是 Mock 测试?掌握 Mock 测试的核心原理
Mock 的意思就是,当你很难拿到源数据时,你可以使用某些手段,去获取到跟源数据相似的假数据,拿着这些假数据,前端可以先行开发,而不需要等待后端给了数据后再开发。
|
Cloud Native API 持续交付
云计算和云原生傻傻分不清
什么是云计算?什么是云原生?两者是什么关系?
4943 6
云计算和云原生傻傻分不清
|
算法 安全 虚拟化
北美码农面试流程,北美码农面试经验
北美码农面试流程,北美码农面试经验
358 0
|
机器学习/深度学习 运维 监控
一文速览深度伪造检测(Detection of Deepfakes):未来技术的守门人
一文速览深度伪造检测(Detection of Deepfakes):未来技术的守门人
3736 0
|
敏捷开发 监控 数据可视化
一文带你了解:六款适合PC端的工时管理工具
在项目管理中,工时管理软件能实时反映项目各任务的进展情况。管理者可以通过查看员工在每个任务上的工时投入,判断任务是否按计划推进。若发现某个任务工时投入远超预期但进度缓慢,就可以及时介入调查原因,是遇到技术难题、资源不足还是人员协作问题等,进而采取相应措施加以解决,确保项目能按时交付。
|
存储 机器学习/深度学习 测试技术
[大语言模型-论文精读] 以《黑神话:悟空》为研究案例探讨VLMs能否玩动作角色扮演游戏?
[大语言模型-论文精读] 以《黑神话:悟空》为研究案例探讨VLMs能否玩动作角色扮演游戏?
|
监控 Python
什么是WSGI,uwsgi和gunicorn在Python Web部署中起到什么作用?
**WSGI**是Python Web应用与服务器间的标准接口。**uwsgi**是实现WSGI的服务器,用于在不同服务器上高效部署应用。**gunicorn**是高性能的WSGI服务器,提供易用接口和进程管理功能。两者协同工作,作为桥梁连接应用与服务器,支持高并发和生产环境部署,提升性能和可靠性。配置因应用和环境而异,需按需调整。
935 2
|
存储 编译器 Linux
嵌入式C语言(五)
嵌入式C语言(五)
240 0

热门文章

最新文章

下一篇
开通oss服务