📝 软件架构与设计教程
457篇技术文档📅  最后修改于: 2020-12-14 03:23:17        🧑  作者: Mango
软件体系结构通常是指软件系统的较大结构,它涉及多个软件过程如何协作执行任务。软件设计是指较小的结构,它处理单个软件过程的内部设计。在本教程结束时,读者将对软件体系结构和设计概念有深刻的了解,并可以为给定的软件项目选择和遵循正确的模型。本教程是为所有软件专业人员,架构师和高级系统设计工程师设计的。体系结构团队的经理也将从本教程中受益。先决条件本教程没有确切的先决条件。任何软件专业人员都可以通过本教程...
📅  最后修改于: 2020-12-14 03:24:06        🧑  作者: Mango
系统的体系结构描述了其主要组件,它们之间的关系(结构)以及它们之间如何交互。软件体系结构和设计包括几个促成因素,例如业务战略,质量属性,人员动态,设计和IT环境。我们可以将软件体系结构和设计分为两个不同的阶段:软件体系结构和软件设计。在体系结构中,非功能性决策由功能需求强制转换和分离。在设计中,功能要求得以实现。软件架构体系结构是系统的蓝图。它提供了一种抽象来管理系统复杂性并在组件之间建立通信和协...
📅  最后修改于: 2020-12-14 03:25:05        🧑  作者: Mango
软件体系结构被描述为系统的组织,其中系统代表完成定义的功能的一组组件。建筑风格建筑风格,也称为建筑模式,是塑造应用程序的一组原则。它根据结构组织的模式定义了一个系统族的抽象框架。建筑风格负责-为组件和连接器的词典提供如何组合的规则。通过为经常发生的问题提供解决方案,改进分区并允许设计的重用。描述配置组件(具有良好定义的接口,可重用和可替换的模块)和连接器(模块之间的通信链接)的集合的特定方式。为基...
📅  最后修改于: 2020-12-14 03:26:28        🧑  作者: Mango
软件体系结构通过使用分解和组成以及体系结构样式和质量属性,涉及软件系统抽象的高层结构。软件体系结构设计必须符合系统的主要功能和性能要求,并满足非功能性要求,例如可靠性,可伸缩性,可移植性和可用性。软件体系结构必须描述其组件组,它们的连接,它们之间的交互以及所有组件的部署配置。可以通过多种方式定义软件架构-UML(统一建模语言)-UML是用于软件建模和设计的面向对象解决方案之一。体系结构视图模型(4...
📅  最后修改于: 2020-12-14 03:28:25        🧑  作者: Mango
面向对象(OO)范式是从一种新的编程方法的最初概念开始形成的,而对设计和分析方法的兴趣却要晚得多。 OO分析和设计范式是OO编程语言被广泛采用的逻辑结果。第一种面向对象的语言是Simula(对真实系统的仿真),它是由挪威计算中心的研究人员于1960年开发的。1970年,艾伦·凯(Alan Kay)和他在施乐PARC的研究小组创建了一台名为Dynabook的个人计算机,以及第一台用于面向Dynabo...
📅  最后修改于: 2020-12-14 03:29:02        🧑  作者: Mango
在数据流体系结构中,整个软件系统被看作是对输入数据的连续片段或集合的一系列转换,其中数据和操作彼此独立。在这种方法中,数据进入系统,然后一次流过模块,直到将它们分配给某个最终目标(输出或数据存储)。组件或模块之间的连接可以实现为I / O流,I / O缓冲区,管道连接或其他类型的连接。数据可以以循环的形式在图形拓扑中,以没有循环的线性结构或以树型结构进行飞行。这种方法的主要目标是实现重用和可修改的...
📅  最后修改于: 2020-12-14 03:29:36        🧑  作者: Mango
在以数据为中心的体系结构中,数据是集中的,并由修改数据的其他组件频繁访问。这种样式的主要目的是实现数据的完整性。以数据为中心的体系结构由通过共享数据存储库进行通信的不同组件组成。组件访问共享的数据结构并且相对独立,因为它们仅通过数据存储进行交互。以数据为中心的体系结构最著名的示例是数据库体系结构,在该体系结构中,通用数据库模式是使用数据定义协议创建的,例如,一组相关的表以及RDBMS中的字段和数据...
📅  最后修改于: 2020-12-14 03:30:22        🧑  作者: Mango
层次结构体系将整个系统视为层次结构,其中软件系统被分解为层次结构中不同级别的逻辑模块或子系统。这种方法通常用于设计系统软件,例如网络协议和操作系统。在系统软件层次结构设计中,低级子系统向其相邻的上级子系统提供服务,这些子系统调用下级方法。下层提供更多特定功能,例如I / O服务,事务,调度,安全服务等。中间层提供更多与域相关的功能,例如业务逻辑和核心处理服务。并且,上层以用户界面的形式提供了更多抽...
📅  最后修改于: 2020-12-14 04:00:21        🧑  作者: Mango
面向交互的体系结构的主要目标是将用户的交互与数据抽象和业务数据处理分开。面向交互的软件架构将系统分解为三个主要分区:数据模块-数据模块提供数据抽象和所有业务逻辑。控制模块-控制模块识别控制流程和系统配置动作。视图呈现模块-视图呈现模块负责数据输出的视觉或音频呈现,它还提供了用于用户输入的界面。面向交互的体系结构具有两种主要样式-模型视图控制器(MVC)和表示抽象控制(PAC)。 MVC和PAC都建...
📅  最后修改于: 2020-12-14 04:02:11        🧑  作者: Mango
在分布式体系结构中,组件呈现在不同的平台上,并且几个组件可以通过通信网络相互协作,以实现特定的目的或目标。在这种体系结构中,信息处理不限于一台机器,而是分布在几台独立的计算机上。客户端-服务器体系结构可以证明分布式系统,该体系结构构成了多层体系结构的基础。替代方案是诸如CORBA之类的代理体系结构和面向服务的体系结构(SOA)。有几种支持分布式体系结构的技术框架,包括.NET,J2EE,CORBA...
📅  最后修改于: 2020-12-14 04:03:00        🧑  作者: Mango
基于组件的体系结构专注于将设计分解为各个功能或逻辑组件,这些功能或逻辑组件代表定义明确的包含方法,事件和属性的通信接口。它提供了更高级别的抽象,并将问题分为子问题,每个子问题都与组件分区相关联。基于组件的体系结构的主要目标是确保组件的可重用性。组件将软件元素的功能和行为封装到可重用和可自我部署的二进制单元中。有许多标准组件框架,例如COM / DCOM,JavaBean,EJB,CORBA,.NE...
📅  最后修改于: 2020-12-14 04:03:51        🧑  作者: Mango
从用户的角度来看,用户界面是软件系统的第一印象。因此任何软件系统都必须满足用户的要求。 UI主要执行两个功能-接受用户的输入显示输出用户界面在任何软件系统中都起着至关重要的作用。它可能是软件系统唯一可见的方面,因为-用户最初会看到软件系统外部用户界面的体系结构,而无需考虑其内部体系结构。良好的用户界面必须吸引用户正确使用软件系统。它应该帮助用户轻松理解软件系统,而不会误导信息。不良的用户界面可能会...
📅  最后修改于: 2020-12-14 04:04:37        🧑  作者: Mango
迭代和增量方法这是一种迭代的增量方法,由五个主要步骤组成,可帮助生成候选解决方案。通过重复这些步骤,可以进一步完善该候选解决方案,并最终创建最适合我们应用程序的体系结构设计。在该过程的最后,我们可以审查我们的体系结构并将其传达给所有相关方。这只是一种可能的方法。还有许多其他更正式的方法可以定义,审查和交流您的体系结构。确定架构目标确定构成体系结构和设计过程的体系结构目标。完美无缺的目标强调架构,解...
📅  最后修改于: 2020-12-14 04:04:54        🧑  作者: Mango
以下资源包含有关软件体系结构和设计的其他信息。请使用它们来获得有关该主题的更深入的知识。有关软件体系结构和设计的有用链接软件体系结构和设计–软件体系结构和设计的官方站点。软件体系结构和设计Wiki-软件体系结构和设计的Wikipedia参考。关于软件体系结构和设计的有用书籍要在此页面上注册您的网站,请发送电子邮件至...
📅  最后修改于: 2020-12-14 04:05:06        🧑  作者: Mango
软件构架通常是指软件系统的更大结构,它涉及多个软件过程如何协作执行任务。软件设计是指较小的结构,它处理单个软件过程的内部设计。在本教程结束时,读者将对软件体系结构和设计概念有深刻的了解,并可以为给定的软件项目选择和遵循正确的模型。...