软件开发框架分析和架构模式一

简介:

结构分析:

架构分析工作主要从宏观上考虑一个软件系统应该怎样组织。通常,在架构分析工作中,我们须要确定一些策略性的设计方针,原则和基本模式。

在它们的指导下,我们能够高屋建瓴地分析软件系统的宏观结构。认识软件系统由哪些组件构成,了解组件之间的接口和协作关系。架构分析的结果对于兴许的面向对象设计工作也是一种约束,有助于消除设计和实现过程中的任意性。因此。架构分析有时也被称为策略设计

组件指的是一组对象构成的,有固定接口的有机体,当设计者的观察视角不同。组件的规模不同或者组件内部的封装度程度不同一时候,这些有机体可能表现为不同的形式,如软件架构中的层。包或者子系统,架构分析的目的是通过科学的解析,将整个软件系统划分为不同的组件,而且准确定义出组件和组件之间的接口


在软件的实现层面,不同类型的组件,如层,包或者子系统等,也可能有不同的表现形式。

比如,它们能够表现为java程序中的一个包。也能够是c++项目中的一个源码文件夹。在软件公布和配置时。一个或者对个组件能够连接成一个可运行程序。能够表现为一个动态链接库,也能够表现为ActiveX空间或EJB组件

架构分析的作用:

架构分析工作预先为软件定义了科学的结构和规则,通过这些结构和规则,人们能有效地控制软件的复杂性,是软件易于理解实现和管理

好的的软件架构既能够分析软件中的不同组件。又能够精确定义组件之间的接口,这能够是软件系统中大部分组件具备较好的可复用性,同一时候通过架构分析工作,也能够实现更大范围的软件复用,即直接服用那些有代表性的软件架构

架构分析的结果也是多个项目组进行协作的基础。在软件架构有效分离的组件能够被分配给不同的项目组开发,仅仅要保证组件的接口定义不变,组件内部的变化不会对整个系统的继承产生影响


避免走入功能分解的误区:

功能分解和面向对象是格格不入的两种思维方式,功能呢个分解会严重妨害对系统组件及组件关系的理解。

面向对象分析和设计的基本原则强调对数据和相关操作的封装,依据这一要求,耦合度强,在逻辑上关系密切的数据以及操作这些数据的方法应该被封装在同一个类中。假设在面向对象分析之前,就採用功能分解的方法将软件系统肢解为多个功能模块。那么操作同一个数据的方法可能被分拆到不同的模块中,不同模块里的对象也会产生非常强的耦合性

子系统设计应该属于面向对象设计工作的一部分,应该在面向对象分析之后进行。在子系统设计过程中,设计者应该基于面向对象分析的结果来划分子系统。尽可能避免按功能划分的做法

架构分析的准备工作

在架构之前应该明确软件的类型是交互类型的软件还是系统类型的软件。架构分析在软件的整个生命周期里是一个迭代的过程,在面向对象分析和面向对象设计等不同的阶段中,软件系统的架构被一步步细化和完好

架构模式:

架构模式就是那些在开发过程中通过积累获得的。经实践检验行之有效.可复用的软件架构





版权声明:本文博主原创文章,博客,未经同意不得转载。







本文转自mfrbuaa博客园博客,原文链接:http://www.cnblogs.com/mfrbuaa/p/4777624.html,如需转载请自行联系原作者


相关文章
|
2月前
|
数据采集 监控 前端开发
二级公立医院绩效考核系统源码,B/S架构,前后端分别基于Spring Boot和Avue框架
医院绩效管理系统通过与HIS系统的无缝对接,实现数据网络化采集、评价结果透明化管理及奖金分配自动化生成。系统涵盖科室和个人绩效考核、医疗质量考核、数据采集、绩效工资核算、收支核算、工作量统计、单项奖惩等功能,提升绩效评估的全面性、准确性和公正性。技术栈采用B/S架构,前后端分别基于Spring Boot和Avue框架。
101 5
|
2月前
|
存储 分布式计算 关系型数据库
架构/技术框架调研
本文介绍了微服务间事务处理、调用、大数据处理、分库分表、大文本存储及数据缓存的最优解决方案。重点讨论了Seata、Dubbo、Hadoop生态系统、MyCat、ShardingSphere、对象存储服务和Redis等技术,提供了详细的原理、应用场景和优缺点分析。
|
3月前
|
人工智能 前端开发 JavaScript
前端架构思考 :专注于多框架的并存可能并不是唯一的方向 — 探讨大模型时代前端的分层式微前端架构
随着前端技术的发展,微前端架构成为应对复杂大型应用的流行方案,允许多个团队使用不同技术栈并将其模块化集成。然而,这种设计在高交互性需求的应用中存在局限,如音视频处理、AI集成等。本文探讨了传统微前端架构的不足,并提出了一种新的分层式微前端架构,通过展示层与业务层的分离及基于功能的横向拆分,以更好地适应现代前端需求。
|
3月前
|
存储 分布式计算 API
大数据-107 Flink 基本概述 适用场景 框架特点 核心组成 生态发展 处理模型 组件架构
大数据-107 Flink 基本概述 适用场景 框架特点 核心组成 生态发展 处理模型 组件架构
118 0
|
14天前
|
机器学习/深度学习 存储 人工智能
基于AI的实时监控系统:技术架构与挑战分析
AI视频监控系统利用计算机视觉和深度学习技术,实现实时分析与智能识别,显著提升高风险场所如监狱的安全性。系统架构包括数据采集、预处理、行为分析、实时决策及数据存储层,涵盖高分辨率视频传输、图像增强、目标检测、异常行为识别等关键技术。面对算法优化、实时性和系统集成等挑战,通过数据增强、边缘计算和模块化设计等方法解决。未来,AI技术的进步将进一步提高监控系统的智能化水平和应对复杂安全挑战的能力。
|
2月前
|
监控
SMoA: 基于稀疏混合架构的大语言模型协同优化框架
通过引入稀疏化和角色多样性,SMoA为大语言模型多代理系统的发展开辟了新的方向。
56 6
SMoA: 基于稀疏混合架构的大语言模型协同优化框架
|
2月前
|
Cloud Native 安全 持续交付
深入理解微服务架构及其在现代软件开发中的应用
深入理解微服务架构及其在现代软件开发中的应用
53 4
|
2月前
|
存储 SQL Apache
Apache Doris 开源最顶级基于MPP架构的高性能实时分析数据库
Apache Doris 是一个基于 MPP 架构的高性能实时分析数据库,以其极高的速度和易用性著称。它支持高并发点查询和复杂分析场景,适用于报表分析、即席查询、数据仓库和数据湖查询加速等。最新发布的 2.0.2 版本在性能、稳定性和多租户支持方面有显著提升。社区活跃,已广泛应用于电商、广告、用户行为分析等领域。
Apache Doris 开源最顶级基于MPP架构的高性能实时分析数据库
|
2月前
|
监控 持续交付 API
深入理解微服务架构及其在现代软件开发中的应用
深入理解微服务架构及其在现代软件开发中的应用
56 3
|
2月前
|
运维 NoSQL Java
后端架构演进:微服务架构的优缺点与实战案例分析
【10月更文挑战第28天】本文探讨了微服务架构与单体架构的优缺点,并通过实战案例分析了微服务架构在实际应用中的表现。微服务架构具有高内聚、低耦合、独立部署等优势,但也面临分布式系统的复杂性和较高的运维成本。通过某电商平台的实际案例,展示了微服务架构在提升系统性能和团队协作效率方面的显著效果,同时也指出了其带来的挑战。
93 4

热门文章

最新文章