请在这方面帮助我。
答案 0 :(得分:2)
我不会将软件架构(例如Micro-Services与Monolith)的选择与软件开发生命周期或项目管理(例如敏捷与瀑布)的选择联系起来。
应根据产品的质量属性选择软件架构,同时考虑性能,安全性,易用性,可用性,互操作性,可维护性等之间的权衡......
应根据使团队最高效的方式选择和构建软件开发程序,管理方式和组织单位。一个伟大的Scrum团队可能更喜欢在一个项目中做微服务,而在另一个项目中做一个巨型服务。同样,遵循瀑布流程的公司可能会选择将应用程序分解为微服务或将其留作整体。
敏捷和瀑布之间的区别可能是架构出现的方式:在瀑布中,人们经常提前做更多的架构,而在敏捷中,有一些架构是预先建立的,但是更多的架构出现在需求被发现期间短跑。