首页 > 其他分享 >系统架构设计1

系统架构设计1

时间:2023-09-04 11:55:47浏览次数:32  
标签:架构设计 模型 系统 软件架构 构件 软件 SA 体系结构

为什么会出现架构?

从软件开发过程的角度上来看系统分析(需求分析)偏向业务,而系统设计又偏向技术,中间过程存在“鸿沟”,出现了架构。这里所说的架构虽然说是系统架构大多数指的是软件架构,又叫做软件体系结构(Software Architecture)简称SA。需要注意的是结构化分析也简称‘’SA",需要结合上下文来判定。架构设计及时需求分配,即将满足需求的职责分配到组件上。

一、.架构的定义

一个程序和计算系统软件体系结构是指系统的一个或者多个结构。结构中包括软件的构件,构件的外部可见属性以及它们之间的相互关系。

体系结构并非可运行软件。确切地说,它是一种表达,使软件工程师能够:

  (1)分析设计在满足所规定的需求方面的有效性:

(2)在设计变更相对容易的阶段,考虑体系结构可能的选择方案;

(3)降低与软件构造相关联的风险。

  上面的定义强调在任意体系结构的表述中“软件构件”的角色。软件构件简单到可以是程序模块或者面向对象的类,也可以扩充到包含数据库和能够完成客户与服务器网络配置的“中间件”。

  软件体系结构的设计两个层次: 数据设计和体系结构设计。数据设计体现传统系统中体系结构的数据构件和面向对象系统中类的定义《封装了属性和操作),体系结构设计则主要关注软件构件的结构、属性和交互作用。

二、架构的本质

  软件架构为软件系统提供一个结构、行为和属性的高级抽象。

  软件架构风格是特定应用领域的惯用模式,架构定义一个词汇表和一组约束。

三、架构的作用

软件架构是项目干系人经行交流的手段。

软件架构是可传递和可重复的模型,通过研究软件架构可能预测软件的质量。

软件架构是推理和控制的更改更加简单,有助于循序渐进的原型设计,可以作为培训的基础。

软件架构可以使在分析设计满足所有规定需求方面的有效性。

软件架构在设计变更容易阶段,考虑架构的选择方案。

软件架构降低软件构造关联的风险。

四、架构与UML的“4+1”视图

架构4+1(逻辑视图、开发视图、进程视图、物理视图、场景)→(功能需求、软件管理、系统集成、系统工程、场景视图为核心)

五、架构与生命周期

1.需求分析阶段。需求分析和 SA 设计面临的是不同的对象:一个是问题空间;另一个是解空间。从软件需求模型向 SA 模型的转换主要关注两个问题: 如何根据需求模型构建 SA 模型。如何保证模型转换的可追踪性。

2.设计阶段。是 SA 研究关注的最早和最多的阶段,这一阶段的 SA 研究主要包括: SA 模型的描述、SA 模型的设计与分析方法,以及对 SA 设计经验的总结与复用等。有关 SA 模型描述的研究分为3个层次:SA 的基本概念(构件和连接子)、体系结构描述语言 ADL、SA 模型的多视图表示。

3.实现阶段。最初 SA 研究往往只关注较高层次的系统设计、描述和验证。为了有效实现 SA 设计向实现的转换,实现阶段的体系结构研究表现在以下几个方面。

(1)研究基于SA的开发过程支持,如项目组织结构、配置管理等。

(2)寻求从SA 向实现过渡的途径,如将程序设计语言元素引入 SA 阶段、模型映射、构件组装复用中间件平台等。

(3)研究基于SA的测试技术。

4.构件组装阶段。在 SA 设计模型的指导下,可复用构件的组装可以在较高层次上实现系统,并能够提高系统实现的效率。在构件组装的过程中,SA 设计模型起到了系统蓝图的作用。研究内容包括如下两个方面。

(1)如何支持可复用构件的互联,即对 SA 设计模型中规约的连接子的实现提供支持。

(2)在组装过程中,如何检测并消除体系结构失配问题。在构件组装阶段的失配问题主要包括: 由构件引起的失配、由连接子引起的失配、由于系统成分对全局体系结构的假设存在冲突引起的失配等。

5.部署阶段。SA 对软件部署作用如下。

(1) 提供高层的体系结构视图来描述部署阶段的软硬件模型。

(2)基于 SA 模型可以分析部署方案的质量属性,从而选择合理的部署方案。

6.后开发阶段。是指软件部署安装之后的阶段。这一阶段的 SA 研究主要围绕维护、演化、复用等方面来进行。典型的研究方向包括动态软件体系结构、体系结构恢复与重建等。

(1)动态软件体系结构。现实中的软件具有动态性,体系结构会在运行时发生改变运行时变化包括两类: 软件内部执行所导致的体系结构改变:软件系统外部的请求对软件进行的重配置。包括两个部分的研究:体系结构设计阶段的支持、运行时刻基础设施的支持。

(2)体系结构恢复与重建。对于现有系统在开发时候没有考虑 SA 的情况,从这些系统中恢复或重购体系结构。从已有的系统中获取体系结构的重建方法分为4 类:手工体系结构重建、工具支持的手工重建、通过查询语言来自动建立聚集、使用其他技术(如数据挖掘等)。

 

 

 

标签:架构设计,模型,系统,软件架构,构件,软件,SA,体系结构
From: https://www.cnblogs.com/hhxzby/p/17676412.html

相关文章

  • Win7系统使用高版本node.js
    一、问题描述最近一段时间,由于公司前段构建Vue项目时,使用的是16.1.0版本的Node.js,而个人电脑上安装的是1.016.3导致使用VueUI时,总是提示下图的问题   于是,只好升级Node.js的版本到16.1.0,但是在升级的时候,由于我本人使用的是Win7系统,出现了Thisapplicatonisonlysupp......
  • 脚本更新Windows系统时间
    大概是主板上某个电池没电了,每次重启windows时间都会不对。(关闭了windows快速启动,拔出了笔记本电池)解决方法:启动的时候运行脚本更新系统时间:创建update_time.bat(需要用管理员模式运行)netstartw32timew32tm/resyncpause;......
  • 【腾讯云 Cloud Studio 实战训练营】使用在线编程的方式用Nuxt3开发一个后台管理系统(
    前言大家好,我是刘明,开源技术爱好者,十年创业老兵。CSDN近期联合腾讯云、Coding、CloudStudio组织了【腾讯云CloudStudio实战训练营活动】,苦于前些日子一直在备考注册会计师,没有很好的体验CloudStudio的云IDE产品。现在考试结束了,体验了一把云IDE,不禁感慨云端开发原来可以这么......
  • 基于智能边缘分析网关的电动车进电梯安全预警系统
    一、背景介绍随着社会的发展和科技的进步,电动车在日常生活中的使用越来越广泛。然而,一些小区和楼宇管理中出现了电动车进入电梯的安全隐患。为了解决这个问题,我们设计了一套基于智能边缘分析网关的电动车进电梯AI预警方案,旨在通过人工智能技术来实时监测电梯内的电动车,及时预警并采......
  • 基于springboot的个人云盘管理系统的设计与实现
    传统办法管理信息首先需要花费的时间比较多,其次数据出错率比较高,而且对错误的数据进行更改也比较困难,最后,检索数据费事费力。因此,在计算机上安装个人云盘管理系统软件来发挥其高效地信息处理的作用,可以规范信息管理流程,让管理工作可以系统化和程序化,同时,个人云盘管理系统的有效运用......
  • 基于springboot流浪动物管理系统
    在如今社会上,关于信息上面的处理,没有任何一个企业或者个人会忽视,如何让信息急速传递,并且归档储存查询,采用之前的纸张记录模式已经不符合当前使用要求了。所以,对流浪动物信息管理的提升,也为了对流浪动物信息进行更好的维护,流浪动物管理系统的出现就变得水到渠成不可缺少。通过对流浪......
  • 点了下详情系统,CPU 100%。。。
    作者:玛奇玛链接:https://juejin.cn/post/7233307834456129593又是一个百无聊赖的早晨,我在快乐地摸鱼,工作群响了:离线系统登录不上了。我第一反应是不科学啊,系统已经很久改动过了...赶紧上生产环境看看,CPU高达1200%。接着又是熟练地敲出那几行排查CPU过高的命令:top-H-ppid......
  • 基于OpenEuler的信创国产瘦客户机软件系统 DoraOS
    DoraOS是一款瘦客户机系统软件,最新版本基于OpenEuler开发。可以将主机转化为专业的瘦客户机。目前支持x86架构的硬件。软件下载地址为: https://www.doracloud.cn/downloads/32-cn.html制作一张启动U盘,即可进行安装。DoraOS的连接窗口界面如下,界面比较简洁。左侧进入控制中心,右......
  • Linux系统screen命令的用法
    1、https://www.cnblogs.com/watson04/p/16950232.html多窗口screen,像许多的窗口管理器一样,能支持多窗口。这个功能在处理多个任务且同时没有打开新的会话时很有用。作为一个系统管理员,我常常要同时开四五个SSH会话。在每个shell下,我可能要处理两三个任务。不使用screen的话,......
  • 探索文件系统:高效、可靠的文件管理与访问机制
    文件系统的功能规划内存就像是一个书包,容量有限,只能带着一部分东西。而图书馆则是一个专门存储和管理文件的地方,拥有更大的容量,并且可以永久保存文件。为了能够快速找到需要的文件,我们需要有一个书单来记录每本书放在哪里,这个书单就相当于文件系统的索引区,记录着文件的位置和相关......