软件架构设计(业务架构、应用架构、数据架构、技术架构)

一、架构相关概念

1、系统

系统:由一群有关联的个体组成,根据某种规则运作,能完成个别原件不能独立完成的工作的群体。大的系统可以嵌套小系统,被嵌套的小系统往往称为大系统的子系统。

2、模块

模块是从逻辑上将系统分解,即分而治之,将复杂问题简单化。模块的颗粒度可大可小,可以是系统、子系统、某个服务、函数、类等。

3、架构

架构是指关键系统的顶层结构。

架构是经过系统性地思考,权衡利弊之后再现有资源约束下的最合理的决策,最终明确的系统股价:包括子系统、模块、组件意见他们之间的协作关系、约束规范、知道原则,并由它来指导团队中的每个人思想层面上的一致。

1)系统性思考的合理角色:比如技术选型、解决方案等。
2)明确的系统骨架:明确系统有哪些部分组成。
3)系统协作关系:各个组成部分如何协作来实现业务请求。
4)约束规范和指导原则:保证系统有序、搞笑、稳定运行。

二、架构分层和分类

在架构设计中,通常会涉及到四种不同类型的架构:业务架构、应用架构、技术架构和数据架构。

1、业务架构

业务架构是指在设计软件系统时,需要考虑到整个业务的层次结构,以及不同层次之间的关系和交互。在这种架构中,需要深入了解业务的本质和业务规则,并将其转化为可执行的软件系统。例如,一个电商平台的业务架构可能包括顾客、订单、库存、支付等模块,需要将它们有机地结合起来,以实现一个完整的电商平台。

2、应用架构

应用架构是指在软件系统中,将不同的应用程序组织在一起的方式。这种架构通常涉及到系统的模块化设计、组件化和微服务等方面。例如,一个电商平台的应用架构可能包括前台、后台、支付、物流等不同的应用程序,需要将它们有机地结合起来,以实现一个完整的电商平台。

3、技术架构

技术架构是指在软件系统中,采用哪些技术和架构模式来实现系统的需求。这种架构通常涉及到系统的安全、性能、可靠性、可扩展性等方面。例如,一个电商平台的技术架构可能包括使用云计算、容器化、分布式架构等技术,以实现系统的高可用、高并发等需求。

4、数据架构

数据架构是指在软件系统中,如何组织和管理数据的方式。这种架构通常涉及到数据的存储、处理、分析等方面。例如,一个电商平台的数据架构可能包括用户数据、订单数据、商品数据等,需要将它们组织起来,并进行适当的分析和处理,以实现更好的用户体验和更高的效率。

总之,程序员需要在架构设计中综合考虑业务、应用、技术和数据四个方面,以实现一个高效、稳定、安全的软件系统。

相关推荐
a_ran5 个月前
修复所有 bug 并不能解决所有问题
bug·软件开发·软件架构
xcg3401237 个月前
【软件架构】02-复杂度来源
软件架构·复杂度问题
我想这条路10 个月前
Rt-Thread 移植8--定时器的实现(KF32)
c语言·嵌入式·软件架构
susemm1 年前
3. 理解质量属性
软件工程·软件架构
阿布~1 年前
软件架构之前后端分离架构&服务器端高并发演进之路
架构·软件架构·前后端分离架构
A尘埃1 年前
软件架构模式+系统架构
系统架构·软件架构
码中之牛1 年前
Android开发之性能优化:过渡绘制解决方案
android·性能优化·framework·移动开发·软件架构
码中之牛1 年前
深入理解与运用Android Jetpack ViewModel
android·笔记·移动开发·android jetpack·软件架构
码中之牛1 年前
面试笔记:Android 架构岗,一次4小时4面的体验
android·笔记·面试·架构·移动开发·安卓·软件架构