如何验证软件设计?

时间:2009-07-23 11:21:08

标签: architecture

在考虑我们正在构建的应用程序的整体设计时,我非常孤独地在我的工作场所。我没有任何人讨论不同框架,技术,模式,分层等的利弊。其他程序员要么不关心,要么认为“老方法”没问题,这不是因为那些应用程序很难维护,不可测试等等。

有关如何找到志同道合,获得应用程序审核或......的任何想法?我宁愿不改变雇主,但不排除。

7 个答案:

答案 0 :(得分:3)

我将你的问题分成两部分:
1)一个是你正在与不关心或不理解设计的人一起工作或提供意见。如果人们不在乎,你就无能为力(除了找一份不同的工作)。如果他们不理解,我会说也许你可以整理一个关于设计的演示并让他们加快速度,这样你就可以拥有那些“这是一个很好的设计”的对话。
2)如果您正在寻找物理验证,我通常会发现有帮助的是做一些prototyping。这通常可以让您了解设计中可能存在的任何无法预料的问题。

答案 1 :(得分:2)

您可以与他们交谈,看看他们是否愿意Unit Testing。告诉他们,如果他们从测试驱动的开发角度来看它会帮助他们更快地捕获错误 - 这绝对是正确的。

不幸的是,您需要与经理和其他程序员讨论这个问题,以找出最佳解决方案。很多地方都没有做任何测试,而且令人失望。

最后,测试是验证软件的最佳方法。

要意识到学习新框架并适应它们确实需要时间来完成项目。对新语言的研究是我经常看到程序员自己做的事情,或者他们忙于工作,他们没有精力在下班后研究新事物。

答案 2 :(得分:1)

如果您不能让您的雇主了解V模型进行测试,那么这对该公司来说就是一个失败的原因。

我在说:

  • 单元测试
  • 集成测试
  • 系统测试
  • 用户验收测试

每个都映射到软件开发生命周期的阶段,是确认软件设计的正确方向。如果可以的话,尽量向高层解释一下。如果你带来一些其他公司这样做,谁知道,他们可能会受到启发。

有关V-model的更多信息。

答案 3 :(得分:1)

首先,我建议您加入您所在地区的编程社区。即使贵公司的开发人员落后于曲线,也有可能会聚集在一起讨论软件开发的本地团体。我以Spring用户组和英国计算机协会会议为例。与同行混合将让您了解不同的技术和方法,并且还可以了解那些在您寻找机会时可以帮助您的人。

其次,可能值得聘请外部顾问提供独立的代码或设计审查。这可能是一个棘手的问题,但管理层有时更容易从一个独立的外部资源“听到”事情,而不是来自一个更低级的开发人员说。

答案 4 :(得分:1)

当其他程序员对良好的软件设计缺乏关注时,这绝对令人难过。我建议做的唯一事情是:

  1. 在他们的博客上关注世界各地的一些优秀开发者,以深入了解他们的想法
  2. 继续鼓励周围的人对好的设计产生兴趣
  3. 如果没有任何一个本地人可以验证您的设计,您可以在线与其他开发人员交朋友并向他们询问有效的想法
  4. 参与开源软件并将其用作验证的来源
  5. 在stackoverflow.com上提出有关您的想法的问题
  6. 继续编程并从您的经验中学习
  7. 不要在现有公司呆太久。移动公司是让自己不舒服和自满的好方法
  8. 加入一个充满志同道合的开发人员的本地用户组
  9. 希望有所帮助。

答案 5 :(得分:0)

这是软件业务中的标准情况。大多数工人没有资格,根本不在乎。那些过往和过往常表现出冷漠,转换工作或最终开始自己的事情然后只做薪水的其他工作的人。

在大多数情况下,由于您的利益与雇主的利益不一致,因此您无能为力。你的:让软件变得完美。雇主:使软件带来收入并削减所有可能的费用。除了单一案例外,他们几乎从未见过面。找到这样的地方你需要运气。

答案 6 :(得分:0)

我和你在同一个地方。

就在昨晚,我找到了一个网站,您可以上传设计并获得该设计的feedbak。

当涉及到框架,模式等的使用时,最好的事情就是像这样的论坛。如有疑问,请参阅其他推荐和询问的内容。

我从浏览不同的论坛/坐着学到了很多东西,但这很耗时。

尝试找到每隔一段时间遇到一次的小组,通过啤酒来讨论这样的事情。我知道我镇里有会议(虽然我没有时间参加)。