
软件体系结构在软件开发过程中的作用1.软件体系结构的定义软件体系结构是一系列相关的抽象模式,用于指导大型软件系统各个方面的设计. 软件体系结构是系统的草图. 软件体系结构描述的对象是直接构成系统的抽象组件. 各个组件之间的连接清楚,相对细致地描述了组件之间的通信. 在实现阶段,这些抽象组件被精炼为实际组件,例如特定的类或对象. 在面向对象领域中,组件之间的连接通常通过接口(计算机科学)来实现. 2.软件体系结构的类型可以根据不同的观点分为三种类型: 逻辑体系结构软件系统中组件之间的关系软件开发架构,例如用户界面软件开发架构,,外部系统接口和业务逻辑组件. 物理体系结构如何将软件组件放置在硬件上. 例如,分布在北京和上海的分布式系统的物理体系结构. 图中的所有元素都是物理设备,包括网络分流器,代理服务器,WEB服务器,应用程序服务器,报表服务器,集成服务器,存储服务器,主机等. 等待. 系统体系结构系统的非功能性特征,例如可伸缩性,可靠性,健壮性,灵活性,性能等. 系统体系结构的设计要求架构师对软件和硬件的功能和性能有很好的了解. 这项工作无疑是架构设计工作中最困难的任务. 此外,从各个角度都可以看到体系结构的两个元素: 组件划分和设计决策.

首先,软件系统中的组件是第一个逻辑组件. 这些逻辑元素如何放置在硬件上以及这些元素如何影响整个系统的可伸缩性,可靠性,鲁棒性,灵活性,性能等,是非常重要的信息. 其次,软件设计中需要做出的决定将不可避免地包括逻辑结构,物理结构以及它们如何影响系统的所有非功能特性. 这些决定中的许多一旦做出就很难改变. 根据作者的经验,基于的系统架构将拥有与数据表一样多的架构设计文档页面. 例如,一个中型应用程序系统通常包含大约一百个数据表. 这样的系统设计通常需要大约一百页的体系结构设计文档. 3.表示方法软件架构是通过多个架构视图来表示的. 这些视图从本质上以图形方式总结了“在架构方面很重要”的模型元素. 它包括: 用例视图: 包括用例和场景;逻辑视图: 包括最重要的设计类,从这些设计类到包和子系统的组织形式,以及从这些包和子系统到层的组织形式. 它还包括一些用例实现;实施视图: 包括从模块到包和层的实施模型及其组织形式的概述. 它还描述了逻辑视图中的包和类向实现视图中的包和模块的分配;流程视图: 包括对所涉及任务(流程和线程)的描述,它们的交互和配置,设计对象以及任务的类分配.

仅当系统具有高度并行性时才需要此视图;配置视图: 包括为最典型的平台配置的各种物理节点的描述,以及任务(从过程视图)到物理节点的分配. 仅在分布式系统中需要此视图. 4.软件体系结构在新产品开发中的特定作用: 软件体系结构是连接现实世界和计算机世界的桥梁. 1.卓越的业务目标. 该软件体系结构负责规划总体情况,以实现业务目标. 2.在技术决定旁边. 将面向业务的需求转换为面向技术的软件体系结构设计解决方案,以为后续技术开发提供实用的指导和限制. 3.控制复杂度. 基于``分而治之''的思想,控制问题的复杂性. 4.组织发展. 5.利用迭发和增量交付的优势. 6.提高质量. 软件体系结构在软件产品线开发中的作用1.巩固核心知识. 2.提供可重复使用的资产. 3.缩短产品发布周期. 4.降低开发和维护的总成本. 5.提高产品质量. 6.支持批量定制. 什么是软件产品线体系结构: 为公司或组织内的一系列产品设计的通用体系结构. 该系列产品具有许多相似之处,因此它们可以共享相同的体系结构和某些特定的实现,以提高生产率. 软件产品线体系结构的特征1.必须考虑一系列明确许可的更改. 2.必须记录在案. 3.必须提供“产品创建者指南”来描述架构的实例化过程.

软件体系结构在软件维护中的作用维护工作的两个来源: 错误和需求变更. 错误修复或添加新功能通常会在体系结构中涉及“模块协作链”,因此了解体系结构将有助于维护工作;相反,在不了解架构的情况下盲目修改程序可能会违反架构设计的思想,并使整个系统的架构缓慢地变得混乱,并可能导致其他无法解释的错误和问题. 软件体系结构对软件升级的影响软件体系结构不断变化,需要针对这些软件系统进行重构. 在以下两种情况下,需要进行重建: 1.体系结构太混乱了,以至于很小的变化就会影响整个身体. 2.即将进行的软件升级非常有力,并且原始体系结构不再适应新的要求. 软件体系结构重建是“重新设计”的一种情况,通常需要经过三个步骤: 反向工程,重新规划和正向工程.
本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/ruanjian/article-272996-1.html
现在打我们是鱼
有一天国家打击淘宝假货或者收取淘宝网店税收
猪乸也会上树