Architecture 什么是软件环境?

Architecture 什么是软件环境?,architecture,Architecture,嗨 我独立编程已经有相当一段时间了,最近我在一家大公司找到了一份工作,在那里我必须开发一个相对较大的web应用程序。我遇到的困难是软件环境的概念 例如,我正在制作一个web应用程序,开发人员可以在其中请求(向管理员发送电子邮件)将应用程序放在不同的环境中。但确切地说,将应用程序放在不同的环境中意味着什么?通过这样做可以实现什么,应用程序的具体用途是什么(换言之:“软件环境”一词指的是什么组件?) 我已经读到,拥有独立的测试和开发环境是一件好事,这样开发人员就不能在测试人员进行测试时搞砸一些事情,

我独立编程已经有相当一段时间了,最近我在一家大公司找到了一份工作,在那里我必须开发一个相对较大的web应用程序。我遇到的困难是软件环境的概念

例如,我正在制作一个web应用程序,开发人员可以在其中请求(向管理员发送电子邮件)将应用程序放在不同的环境中。但确切地说,将应用程序放在不同的环境中意味着什么?通过这样做可以实现什么,应用程序的具体用途是什么(换言之:“软件环境”一词指的是什么组件?)

我已经读到,拥有独立的测试和开发环境是一件好事,这样开发人员就不能在测试人员进行测试时搞砸一些事情,反之亦然。此外,一个项目可以有许多不同的开发环境,这样一个程序员就不会为另一个程序员搞砸事情。但是,这与使用CVS(这可能是有史以来最糟糕的关系)有什么区别呢?在CVS中,一些人可以将应用程序下载到本地机器上,然后开发和测试它。如果他真的把事情搞砸了,只有在他自己的机器上,应用程序才会坏掉,他可以简单地再次下载正确的版本。然而,如果他已经提交了这个坏掉的应用程序,那也没什么大不了的,因为其他开发者可以简单地再次下载旧版本


多谢各位

我的想法是:软件环境对于软件工程来说就像车间对于木工一样。

每个环境都是运行系统所需的一切的集合,通常有4个公共环境(至少在我的经验中是这样):开发、测试、阶段和生产。可以将其视为web服务器、数据库以及使系统工作所需的任何其他内容的集合。某些系统可能使用多个web服务器或多个数据库

这与代码存储库的区别在于,每个环境运行系统,因此理论上每个环境可以运行不同的版本。开发人员在他们的环境中工作,测试人员在他们的环境中工作,在发布到生产中之前使用登台以确保没有任何中断,而生产是最终用户工作的地方。这里的关键是,可能会对数据库或网络脚本进行更改,以作为更改的一部分运行,因此并非所有代码都可以下载。另外,不要忘记,在生产环境中,您不能只覆盖经常发生的数据,因此您必须找到一种方法,在不删除所有内容的情况下进行更改

在设置环境时,有些地方可能会执行以下操作:

  • -这是开发人员可以用来访问持续集成服务器的内容,因为大多数开发人员都会使用localhost访问其本地计算机上的web应用程序
  • -这是针对独立的测试环境,这样测试人员就可以进行测试,而不必担心开发人员随时更改代码
  • -这是最接近生产的环境,也是可以进行最后一分钟测试的环境
  • -这是生产环境

想一想每个网站背后都有什么东西可以让它发挥作用,你就会知道什么是一个环境。

谢谢,我会努力想清楚的:d