收录了 软件架构 频道下的 50 篇内容
Boyan Mihaylov回顾了自己在传统瀑布式软件架构和敏捷软件架构下的工作经历。他描述了两者在以下三个方面表现出来的相似性及差异性:软件架构扮演的具体角色、软件架构的时间跨度以及软件架构的输出。
软件架构就是软件的基本结构,它是有关软件整体结构与组件的抽象描述,用于指导大型软件系统各个方面的设计。
Roy Fielding博士是IETF发布的HTTP和URI协议的主要设计者。HTTP和URI是两个最为重要的Web基础技术架构协议,因此Fielding博士可谓是Web架构的奠基者之一。这篇论文很不容易读懂,作为论文中文版的译者,笔者试图在这篇导读中为读者梳理出一个阅读的脉络。不过笔者还是希望读者能克服困难,亲自去读一下这篇论文,因为这篇论文实在是太精彩了。
软件架构文档是企业应用开发过程中的重要一环,理解一个项目中的架构文档的关键是理解它在项目生命周期中所扮演的角色。在这个虚拟研讨会中,InfoQ希望能从顶级的软件架构专家们那里找到软件架构文档的重要性,特别是在敏捷软件开发环境中如何记录架构。
软件架构评估是软件架构生命周期中非常重要的部分。《软件架构评估:方法和案例研究》(《Evaluating Software Architectures: Methods and Case Studies》)一书探讨了针对多种不同架构的评估框架,对软件架构评估进行了阐述。 InfoQ就架构评估这一话题对该书的合著者之一瑞克·凯兹曼(Rick Kazman)做了访谈。
开发和架构的界限难以捉摸。有些人认为这并不存在,架构只是开发者所做的设计过程的扩展而已;另外一些人说这是一个鸿沟,它只能由那些做到高度抽象,而且不会陷入实现细节的开发者才能跨越。这之间有个平衡,但是你怎么从开发者成为架构师呢?
软件开发团队一直反对“前期大设计”,而倾向于自组织团队中出现的架构设计,这可能导致低估软件架构重要性的心态。
本文是漫谈架构专栏的第六篇,作者Kevin继续沿着前几篇文章的思路,探讨了软件架构为什么要有软件架构,进而再去解释什么是软件架构。这和最近网上疯传的黄金圆环(Why-How-What)思路非常贴合。
了解软件架构基础比以往任何时候都要来得重要,因为我们现在构建的系统越来越趋于分布式化,而且开发团队也越来越分布式化。为了解开这些迷思,开发者需要了解五个与软件架构有关的事实。
架构图对于系统的设计和文档化来说都是很重要的。它们必须是自描述的,并且与代码保持一致性。为了保证利益相关者能够看懂架构图,需要遵循一些原则。
了解潜在的软件架构缺陷可以帮助团队避开很多陷阱。
软件架构是一个常常被人误解的概念。
文章围绕软件架构与实验展开。指出软件架构犯错难免,可通过小实验降低犯错成本。最小可行架构(MVA)由测试架构决策可行性的实验组成,也是对最小可行产品(MVP)技术可行性的实验。还介绍了有效架构实验的特征,强调要预测“支持和变更”工作,旨在让系统优雅应对错误。
时刻关注软件架构发展的最新信息,说得容易做到难。因为这些信息可能会隐藏在厚厚的书中或者互联网的某个不起眼的角落。不过这里有另外一个更加轻松的方法,那就是在YouTube或者Vimeo这样的视频网站上观看视频。
适当数量的软件架构图可以极大地改善开发团队和外部利益相关者之间的沟通。我们需要对目标受众有很好的了解,以及对内容的深思熟虑。不要因为有很多不好架构图就认为架构图是不必要的或者没有用的。
本期《大咖说》,我们将聊聊软件架构的前世今生,探讨当下软件架构的发展现状与挑战,与广大程序员谈谈架构师的职业发展。
数学和软件架构师到底有没有关系呢?从功利的观点来看,数学知识可以直接应用于许多领域,作为和数学有紧密关系的计算机软件更不例外。
作为一家具有硬件基因的公司,ARM为何推出面向汽车产业的软件架构?
在本文中,我们将看看什么是软件架构模式,并对其中一些模式进行详细介绍。请记住,可以在单个系统中使用许多模式,用最好的设计来优化每一部分代码。
大家都在问,自己的工作与人工智能有什么关系,如何在自己的工作中应用人工智能,如何在软件中植入人工智能的基因,使用人工智能应该从何处入手,学习人工智能应该从哪里开始,更深层次的问题是人工智能能否代替人类,作为一个程序员,人工智能是否会代替人类写程序···这里根据我们团队的实践介绍一下如何在软件中应用人工智能。