2013-08-01 124 views
0

嗨!什么是软件环境?

我已经独立编程了很长一段时间,最近我在一家大公司找到了一份工作,我必须开发一个相对较大的Web应用程序。我遇到的困难是软件环境的想法。

例如,我正在制作一个Web应用程序,开发人员可以向其发送请求(将电子邮件发送给管理员)将应用程序置于不同的环境中。但是,究竟是什么意思将应用程序放置在不同的环境中?这样做到底是做了什么,应用程序到底是什么(改变:“软件环境”这个词是什么意思?)。

我读过有单独的测试和开发环境是一件好事,因此开发人员不能在测试人员测试时弄乱某些东西,反之亦然。另外,一个项目可以有许多不同的开发环境,所以一个程序员不会搞乱另一个。但是,这与使用CVS(这可能是有史以来最糟糕的关系)完全不同,例如?在CVS中,有几个人可以将应用程序下载到本地机器上,然后进行开发和测试。如果他在这个过程中弄乱了某些事情,那么只有在他自己的机器上,应用程序才会崩溃,他可以简单地下载正确的版本。但是,如果他已经提交了破坏的应用程序,这没什么大不了的,因为其他开发人员可以简单地再次下载旧版本。

非常感谢!

回答

2

每个环境都是运行系统所需的一切的集合,通常有4种常见环境(至少以我的经验):开发,测试,分期和生产。把它看作是一系列Web服务器,数据库和其他任何使系统工作所需的东西。某些系统可能使用多个Web服务器或多个数据库。

这与代码库的区别在于每个环境都运行系统,因此每个环境都可以在理论上运行不同的版本。开发人员在他们的环境中工作,测试人员在他们的工作环境中工作,在发布到生产环境之前即可使用Staging确保没有任何中断,生产是最终用户的工作场所。这里的关键在于可能会更改数据库或网络脚本作为更改的一部分来运行,因此它不像是所有可以下载的代码。另外,不要忘记,在生产环境中,您不能仅仅覆盖数据,因此您必须找到一种方法来进行更改,而不必将所有事情都放下。当谈到建立环境

有些地方可以做一些类似如下:

  • http://dev.myapp.com - 这是开发人员可以使用去一个持续集成服务器,因为大多数会使用本地主机访问Web应用程序在本地机器上。
  • http://test.myapp.com - 这是针对独立的测试环境,以便测试人员可以测试内容,而无需担心开发人员会随时更改代码。
  • http://staging.myapp.com - 这是最接近生产的环境,并且可以进行最后一刻的测试。
  • http://www.myapp.com - 这是生产环境。

想一想每个网站的背后是什么使之发挥作用,并且您会了解什么是环境。

+0

谢谢,我会试着想一想:D – geekkid

0

我认为它的方式是:软件环境是软件工程,因为工场是木工。