首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何以敏捷的方式运用软件体系结构和设计方面更丰富的知识?

如何以敏捷的方式运用软件体系结构和设计方面更丰富的知识?
EN

Software Engineering用户
提问于 2014-05-16 17:20:52
回答 1查看 198关注 0票数 1

在设计任何绿地或重构的棕地应用程序时,我都会遇到问题,因为我经常发现一个潜在的缺陷,或者我想出的设计或架构的不确定性。我浪费了大量的时间,试图构建一个我很有信心的设计,而不是从一开始就投入大量时间。我觉得早期的错误会导致后期开发中的大问题(尤其是在重构浏览器应用程序时)。

我想尽量减少这种情况,但我不知道如何在没有最佳解决方案或困扰高级开发人员或架构师的情况下做到这一点。例如,有一个遗留应用程序需要重构。我可以在一个新的项目中重写它,并将代码行从12k减少到2-3k。应用程序的目的是生成HTML页面,但在C#中的控制台应用程序中完成。到目前为止,我还没有做过任何web开发,但我不确定ASP.NET MVC是否是一个不错的选择,即使是这样,我的设计或架构是否是一个不错的选择。

我明白,当我在一个团队工作时,我可以得到好的、可靠的建议,但我如何在不浪费公司的时间去研究每一种技术可能性的情况下,减少对团队思维的依赖,而更多地依靠自己?这是随着时间和经验而来的吗?如果尝试和错误是真实和尝试的方式,架构和设计真的能以敏捷的方式完成吗?

EN

回答 1

Software Engineering用户

回答已采纳

发布于 2014-05-16 18:17:20

敏捷方法通常是从客户开始和结束的。客户可能是公司内部的,也可能是外部的消费者。无论哪种方式,你都需要理解他们的要求,你可以通过交谈来实现这一点--与他们交谈,与他们讨论你的解决方案,听取他们的反馈和建议。所有这些都表明,从您的团队和软件用户那里获得反馈不是浪费他们的时间,而是对他们时间的一种不可或缺的投入;不仅是软件本身的质量,而且也是您作为团队成员的价值。如果你的经理和高级工程师是半体面和熟悉敏捷模式,他们会欣赏这一点,否则你有机会改善公司文化。

系统的体系结构通常在很大程度上依赖于您的软件必须在其中运行的IT基础结构:如果目标best服务器运行的是Linux,则ASP .NET不是最佳选择。如果是Windows,那么ASP .NET是很棒的,MVVM (而不是MVC)是构建应用程序和程序集的好方法。这意味着体系结构的选择不应该超过几分钟就决定!

您的解决方案的设计需要时间和经验,这正是敏捷方法真正有用的地方,因为它们有效地允许您在执行过程中改进您的设计。一次做一点,让它起作用,从客户那里得到反馈,然后继续下一步,如果你需要的话,重构你以前做过的事情。“设计”是你最终的结果,而不是你开始的东西。提供给你在每一个阶段进行彻底的测试,并在你进行的过程中融入你的客户反馈,你最终得到的将是有效的,如果它有效的话,它是一个很好的设计。“只要足够好,就足够好。”当然,您必须考虑源代码的“可居住性”和可维护性。

测试驱动开发是管理您生成的代码的功能和质量的流行方法。它特别适合配对编程,但当您不得不单独工作时,它很容易使用。这当然是我强烈推荐的一种技术,即使您不使用敏捷组合中的其他任何东西。结合MCDC测试覆盖范围,您可以在软件中获得非常高的置信度。

有效地实现您所选择的体系结构确实需要尝试和错误(以及研究,所以,咖啡、咒骂、深夜等等)但是即使是有经验的开发人员也会花时间来研究这个问题。良好的开发实践可以帮助您更快地实现目标,敏捷化的重点是它是“更好的软件开发方法”的集合。

所以,要回答你的问题:不要担心,开始编码(玩得开心!) :-)

票数 1
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/240280

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档