什么是软件开发生命周期?

4
我们的投资者需要一个SDLC。我以前从未写过,也没有足够的时间去购买一本书或花费很多时间学习它们。根据我所了解到的,它们包括需求(需要完成什么)和制定列表。这是正确的吗?
更新:我找到了这篇文章,this article,它可以用简单的术语快速解释事情。虽然我认为SDLC不应该快速完成,但在我的情况下,我别无选择。

4
如果您不真正理解SDLC(软件开发生命周期)和其最佳实践,就不能承担不投资时间的后果。从需求到开发再到质量保证、上线和支持,如果您不清晰地了解您的软件开发过程,将会浪费大量精力。 - Eric J.
你会给你的投资者什么,一堆代码吗?他们怎么知道他们所得到的质量是什么样的? - Romain Hippeau
10年过去了,这个问题仍然是一个永恒的经典。 - Adrian K
4个回答

3

有很多有关SDLC的想法,你几乎无处不可见。

你为了吸引投资者而开发软件做了什么? 你不能描述一下吗? 为什么你要去“学习”呢?

有几种选择:

  1. 瀑布模型:需求 -> 设计 -> 构建 -> 测试 -> 部署,全部按顺序进行。
  2. 迭代模型:类似于瀑布模型,但将设计分成持续1-2周的小块,并在迭代结束时交付。
  3. 极限编程(XP):肯特·贝克的方法;没有BDUF(大设计前期)。一切都是以小组件的形式设计、构建和交付的。
  4. Scrum:敏捷迭代,但不像XP那样教条主义。
  5. Rational Unified Process:IBM的瀑布模型。

6
其中很少有重要或值得知道的。而且没有一个能保证质量计划。 - duffymo
似乎你的投资者认为,当你有符合他们期望的某种文件时,他们的投资更安全。这与面试问题非常相似。没有正确答案,只有面试官想要听到的答案。如果他们最近的大额回报使用了瀑布模型,则会认为如果你不用它,你会失败。 - Warren P

2
并不完全是项目管理。那更多的是你在确定了软件开发的方式之后所需要的。关于软件开发的“如何”,有两个主要的方法,敏捷和瀑布;还有一种奇怪的混合方法。但这只是软件开发生命周期的一部分:你仍然需要有维护和部署计划。我的问题是:如果有人给你钱,并且他们想要一个计划,那么阅读一本关于SDLC的书并给他们一个计划难道不符合你的最佳利益吗?

谢谢你的回答。我不明白为什么他们需要一个计划。软件已经制作好了。我们只需要实现另外两个功能。而且我们应该把这个SDLC交给我们选择的任何软件开发公司来完成这两个功能。我在Wikipedia.org上读到了瀑布方法论,现在我很困惑。你知道有哪些网站可以用简单的语言解释写作过程吗?我的第一个想法是去买一本书。但我必须去城里(4小时车程)。但他们希望明天就能拿到SDLC。 - anon271334
2
@j-t-s:如果你的公司要求他们付钱,那么可以肯定的是最后一行代码还没有写出来...你可能甚至还远远没有完成。首先是这两个功能,然后是补丁和错误修复,接着是版本2以满足新客户需求,...他们想知道你能否好好利用他们的资金随着时间的推移发展代码,直到它达到一个让他们获得良好利润的投资回报点。 - Eric J.
在我看来,你起床太晚了,无法做好工作。原因是投资者希望另一家公司提供同样的工作质量。你应该基本上描述一下你是如何开发系统的。 - Gabriel Ščerbák

-1
如果您的投资者要求您描述SDLC,则意味着他想让您描述一项由您完成的软件项目的生命周期,从计划、诞生、成长到成熟和结束。这就是为什么它在名称中有“生命周期”的原因。 SDLC的结果应该是“软件”,因此第一个单词是“软件”。 “开发”部分来自于您负责规划、指定、设计和实施软件的事实,您应该创建(开发)软件。最后,“循环”意味着当投资者查看您的SDLC并认为它很好(它产生了质量和商业价值),他可以要求您在另一个项目中再次使用相同的过程。

-1
完整的软件开发生命周期意味着你需要进行需求收集和分析->设计(创建设计文档)->编码和单元测试->测试(系统和集成测试)->部署和支持->维护。
我发现这个博客非常有帮助。

1
如果那是你的博客(我猜想是),那么你应该在这里指明,否则看起来就像你在以不诚实的方式增加博客点击率。 - Nanhydrin

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接