软件架构知识1-什么是框架、架构(软件架构知识1-什么是框架,架构包括)

系统与子系统

系统定义(维基百科:泛指由一群有关联的个体组成,根据某种规则运作,能完成个别元件不能单独 完成的工作的群体。其中3点关键内容:

1、关联:系统是由一群有关联的个体组成的,没有关联的个体堆在一起不能成为一个系统。

2、规则:系统内的个体需要按照指定的规则运作,而不是单个个体各自为政。规则规定了系统 内个

体分工和协作的方式。

3、能力:系统能力与个体能力有本质的差别,系统能力不是个体能力之和,而是产生了新的能 力。

其中按角度不同,子系统一般为更大系统的组成部分。比如QQ本身是一个大系统,包括小系统(聊天、群组等等)

模块与组件

模块定义(维基百科):是一套一致而互相有紧密关连的软件组织。它分别包含了程 序和数据结构两部分。现代软件开发往往利用模块作为合成的单位。模块的接口表 达了由该模块提供的功能和调用它时所需的元素。模块是可能分开被编写的单位。 这使它们可再用和允许人员同时协作、编写及研究不同的模块。

软件组件(维基百科):软件组件定义为自包含的、可编程的、可重用的、与语言无关的软件单元,软件组 件可以很容易被用于组装应用程序中。

模块和组件都是系统的组成部分,只是从不同的角度拆分系统而已。

从逻辑的角度来拆分系统后,得到的单元就是“模块”;

从物理的角度来拆分系统后,得到的单 元就是“组件”。

举例:论坛信息管理系统,这个系统从逻辑的角 度来拆分,可以分为“登录注册模块”“个人信息模块”“帖子模块”;从物理的角度来拆 分,可以拆分为 Nginx、Web 服务器、MySQL

框架与架构

软件框架(维基百科):指的是为了实现某个业界标准或完成特定 基本任务的软件组件规范,也指为了实现某个软件组件规范时,提供规范所要求之 基础功能的软件产品。其中3点关键内容:

1. 框架是组件规范:例如,MVC 就是一种最常见的开发规范,类似的还有 MVP、MVVM、 J2EE 等框架。

2. 框架提供基础功能的产品:例如,Spring MVC 是 MVC 的开发框架,除了满足 MVC 的规 范,Spring 提供了很多基础功能来帮助我们实现功能,包括注解(@Controller 等)、Spring Security、Spring JPA 等很多基础功能。

软件架构(维基百科):指软件系统的“基础结构”,创造这些基础结构的准则,以及对这些结构 的描述。

举例:从业务逻辑的角度分解,“论坛信息管理系统”的架构是:

软件架构知识1-什么是框架、架构(软件架构知识1-什么是框架,架构包括)

从物理部署的角度分解,“论坛信息管理系统”的架构是:

软件架构知识1-什么是框架、架构(软件架构知识1-什么是框架,架构包括)

从开发规范的角度分解,“论坛信息管理系统”可以采用标准的 MVC 框架来开发,因此架构又变成 了 MVC 架构:

软件架构知识1-什么是框架、架构(软件架构知识1-什么是框架,架构包括)

这些“架构”,都是“论坛信息管理系统”正确的架构,只是从不同的角度来分解而已,这也是 IBMRUP 将软件架构视图分为著名的“4 1 视图”的原因。

架构是顶层设计;框架是面向编程或配置的半成品;组件是从技术维度上的复用;模块是从 业务维度上职责的划分;系统是相互协同可运行的实体。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

(0)
上一篇 2023年3月14日 上午8:02
下一篇 2023年3月14日 上午8:12

相关推荐

  • 项目管理软件主要功能

    项目管理软件主要功能 项目管理软件是一种用于跟踪和管理项目的工具,可以帮助团队更好地协作和高效地完成项目。以下是项目管理软件的主要功能: 1. 计划和进度管理:项目管理软件可以跟踪…

    科研百科 2024年8月19日
    46
  • 吉林教育厅科研项目名单

    吉林教育厅科研项目名单 近年来,吉林教育厅一直在推动教育事业的发展,积极开展各项科研项目。以下是一些备受瞩目的科研项目名单。 1. 吉林省心理健康促进计划(2020-2025)该项…

    科研百科 2025年4月25日
    2
  • 市厅级重点科研项目

    市厅级重点科研项目 近年来,随着科技的不断发展,市厅级重点科研项目逐渐成为了一种非常重要的科研力量。这些项目涉及到多个学科领域,旨在推动科学技术的进步,提高国家的综合实力。本文将介…

    科研百科 2025年2月27日
    0
  • quot 科研项目管理系统 quot

    科研项目管理系统: 让科研更高效 科研项目管理系统是一种用于管理科研项目的软件工具,可以帮助研究人员更好地组织、计划和协调他们的研究工作。一个好的科研项目管理系统可以提高科研项目的…

    科研百科 2025年7月10日
    1
  • 非标液压系统,为啥越来越火?大家知道原因吗?(非标液压设备)

    非标液压系统,为啥越来越火?大家知道原因吗?且跟北京楚海科技小编一起来看看吧。 液压系统因有着众多优势,在很多领域得到了应用,但随着各个行业为了提升自身设备竞争力,持续的对设备进行…

    科研百科 2024年5月2日
    86
  • 工程项目审批管理系统登录

    工程项目审批管理系统登录 随着工程项目的不断增加,项目管理人员需要对项目的各个方面进行审批和管理,以确保项目的顺利进行。但是,传统的手工审批方式已经不能满足现代项目管理的需要,因此…

    科研百科 2025年7月11日
    1
  • 系统集成项目管理张丽

    系统集成项目管理张丽:从新手到专家 系统集成项目管理张丽是一位资深的系统集成项目经理,她在过去的几年中,成功地管理了许多大型系统集成项目,并在项目管理领域积累了丰富的经验。在这个项…

    科研百科 2025年7月13日
    1
  • 科研项目申请书的要求

    科研项目申请书要求 科研项目申请书是申请科研项目的重要文件之一,其目的是向评审委员会展示项目的详细背景、研究目标、研究方法、预期成果和预算等相关信息。以下是一些科研项目申请书的常见…

    科研百科 2025年5月19日
    0
  • 中国信通院测速app

    中国信通院测速app: 测速,测速,测速! 你是否常常遇到网页加载时间过长,下载速度过慢的问题?如果是这样,你可能需要一款中国信通院测速app来解决你的问题。 中国信通院是中国移动…

    科研百科 2024年10月4日
    102
  • 科研项目立项简单吗知乎

    科研项目立项是否简单,是一个涉及到许多因素的问题,例如研究主题、研究人员的经验和技能、预算和资源等。虽然有些项目可能比其他项目更容易立项,但任何项目的成功都需要认真规划和准备。 对…

    科研百科 2025年5月22日
    1