系统架构
文章平均质量分 83
系统架构
薛定谔的猫1981
技术博客
展开
-
架构师-数据流图,数据建模
请使用题干中描述的功能(a)~(h),补充完善空(1)~(6)处的内容,并简要介绍数据流图在分层细化过程中遵循的数据平衡原则。数据字典则是对系统中所有数据元素的详细描述,包括名称、类型、来源、用途和约束等,为系统提供统一的数据定义和术语参考,确保数据的一致性和准确性,方便团队成员之间的沟通和理解,为后续的数据库设计和程序开发提供基础。数据流图通过图形化的方式展示系统中数据的流动、处理过程以及数据存储之间的关系,帮助分析系统的功能需求,并追踪数据在系统中的流转路径,确保系统设计满足业务流程的需求。原创 2024-10-02 08:30:14 · 851 阅读 · 0 评论 -
系统工程方法(霍尔三维结构、切克兰德方法等)
系统工程方法是一种现代的科学决策方法,也是一门基本的决策技术。系统工程方法分门别类地处理将要解决的问题及相关情况并确定边界,又强调把握各门类之间和各门类内部诸因素之间的内在联系的完整性与整体性,否定片面和静止的观点和方法。在此基础上,它针对主要问题、主要情况和全过程,运用有效工具进行全面的分析和处理。系统工程方法的特点是整体性、综合性、协调性、科学性和实践性。系统工程方法是人类在自然科学和社会科学领域,不断实践中产生的一系列科学处理问题的方法,它包括整体观念、综合观念、科学观念和创新观念等。原创 2024-09-26 18:58:41 · 623 阅读 · 0 评论 -
架构师-测试精确度排名(真实的程序、核心程序、小型基准程序、合成基准程序)
按基准程序的构造特点可以把它划分成四类,即:核心程序、小基准程序、合成基准程序以及基准测试程序组.真实程序、核心程序、小型基准程序和合成基准程序,其评测准确程度依次递减。解析:核心程序测试的精确度高于小型基准程序,但低于真实的程序。以下哪种程序测试的精确度高于小型基准程序,但低于真实的程序?解析:真实的程序测试最能反映真实的使用场景,因而最真实。核心程序测试与真实的程序测试相比,哪种更具精确性?解析:真实的程序测试精确度高于核心程序测试。哪种程序测试的精确度次于真实的程序?以下哪种测试类型的精确度最高?原创 2024-09-24 09:03:30 · 241 阅读 · 0 评论 -
架构师-构件的分类方法
为构造构件的文档,首先要根据领域分析的结果在说明文档中标识超文本结点并在相关文档中建立链接关系,然后用类似于 联机帮助系统编译器的工具对构件的说明文档进行编译,最后用相应的工具(例如:IE浏览器)运行 编译后的目标即可。关键词(值)被赋给重用库中的每个构件的刻面集,当软件工程师在设计中希望查询构件库以发现可能的构件时,规定一列值,然后到库中寻找匹配项。(2)有限制的构件。有限制的构件提供了接口,指出了使用的条件和前提,这种构件在装配 时,会产生资源冲突、覆盖等影响,在使用时需要加以测试。原创 2024-09-23 16:37:59 · 1102 阅读 · 0 评论 -
架构师-软件性能测试
让系统崩溃的压力点,去发现系统在什么情况下,应用程序的性能会变得不可接受。压力测试可以细分为并发测试和大数据量测试:并发测试:当测试多用户并发访问同一个应用、模块、数据时是否产生隐藏的并发问题。在Web或App 应用及服务正式发布之前,通过功能测试和安全测试以后,还要保证互联网产品的服务交付质量,就需要做压力测试、负载测试及性能(强度、容量、稳定性)测试。大数据量测试:包含独立数据量测试,主要是针对某些系统存储、传输、查询等业务进行大数据量测试,如测试系统存储能力,IO传输速率、读取速率、慢查询等。原创 2024-09-23 16:15:56 · 573 阅读 · 0 评论 -
架构师-EJB
当有状态会话Bean处于活动状态一段时间后,如果仍然没有收到外部客户端的请求,为了节省系统资源,容器会把有状态会话Bean中的状态信息序列化到临时存储空间,并把有状态会话Bean从内存中移除,这个过程称为“钝化”。会话Bean封装了商务逻辑,客户端可以通过本地、远程、Web服务的方式调用会话Bean的方法来访问部署在服务器上的应用程序,从而调用其他Bean的方法,会话Bean不具有持久性,即它的数据不保存在数据库里。其中会话Bean又包括有状态会话Bean、无状态会话Bean和单件会话Bean三种。原创 2024-09-23 12:35:46 · 1057 阅读 · 0 评论 -
系统架构-dsp结构
体系结构与采用的独立与否的总线无关,与指令空间和数据空间的分开独立与否有关。51单片机虽然数据指令存储区是分开的,但总线是分时复用得,所以属于改进型的哈佛结构。ARM9虽然是哈佛结构,但是之前的版本(例如ARM7)也还是冯·诺依曼结构。早期的X86能迅速占有市场,一条很重要的原因,正是靠了冯·诺依曼这种实现简单,成本低的总线结构。现在的处理器虽然外部总线上看是诺依曼结构的,但是由于内部CACHE的存在,因此实际上内部来看已经 类似 改进型哈佛结构的了。原创 2024-09-23 12:23:23 · 1601 阅读 · 0 评论 -
架构师-基本路径测试法
基本路径测试法又称独立路径测试,是在程序控制流图的基础上,通过分析控制结构的环路复杂性,导出基本可执行路径集合,从而设计出相应的测试用例的方法。设计出的测试用例要保证在测试中程序的语句覆盖100%,条件覆盖100%。原创 2024-09-23 12:03:47 · 1244 阅读 · 0 评论 -
架构师-逻辑覆盖
语句覆盖:每个语句至少执行一次(进每个房间)。分支覆盖:每个条件的每个分支至少执行一次(开关每扇门)。判定覆盖:每个条件的每个布尔值(True/False)至少执行一次(测试灯的开关)。路径覆盖:每条可能的路径至少执行一次(探索迷宫中的每条路径)。在外面很多的教程都认为这六种逻辑覆盖从弱到强的排列顺序是:语句覆盖->判定覆盖->条件覆盖->判定-条件覆盖->条件组合覆盖->路径覆盖。原创 2024-09-23 09:31:00 · 725 阅读 · 0 评论 -
架构-软件测试-边界值分析法
边界值分析是一种常用的黑盒测试方法,是对等价类划分方法的补充;所谓边界值,是指相对于输入等价类和输出等价类而言,稍高于其最高值或稍低于最低值的一些特定情况。边界值分析的步骤包括确定边界,选择测试用例两个步骤。根据大量的测试统计数据,很多错误是发生在输入或输出范围的边界上,而不是发生在输入/输出范围的中间区域。因此针对各种边界情况设计测试用例,可以查出更多的错误。所以,边界值分析法是一种很实用的黑盒测试用例方法,它具有很强的发现故障缺陷能力。原创 2024-09-23 09:14:13 · 585 阅读 · 0 评论 -
架构-RUP
统计过程模型(RUP)实际上应该是指“统一过程模型(Rational Unified Process, RUP)”,这是一个用于软件开发的迭代式框架。RUP 是由 Rational Software 公司开发的,现在是 IBM 的一部分。它的主要目的是提供一种灵活的、可定制的框架,用于指导软件开发过程,以帮助团队有效地开发高质量的软件。RUP 结合了多种最佳实践,如面向对象的分析和设计,以及其他一些关键的软件工程原则。原创 2024-09-22 17:56:24 · 1037 阅读 · 0 评论 -
系统架构师:存储管理页式存储,段式存储,段页式存储
段式存储管理:在段式存储管理中,程序访问内存时,需要根据逻辑段的起始地址和长度计算出对应的物理地址。每一个页面的大小和我们主存的一个物理块的大小其实是相同的,也就是 4 KB 的程序会被我们分为四个页面,并且我们可以给每一个页面进行一个编号,如下图,0 号页, 1 号、 2 号、 3 号页面,每一个页面的大小都是 1 KB。如果用户进程或作业需要共享内存中的某段程序或数据,只要使用相同的段名,在新的段表中填入已存在于内存之中的段的起始地址,并置以适当的读写控制权,就可做到共享一个逻辑上完整的内存段信息。原创 2024-09-21 13:56:21 · 803 阅读 · 0 评论 -
架构师-位示图
位示图的位表示的是比特位(bit),也就是一位二进制,在记录空闲空间的时候,主要需要完成的工作是将空闲的空间列出来,方便去调用,在某一个空闲空间被使用的时候,需要分配出去,如果用完之后,空间还可以被回收,在这里主要区别的就是这个块有没有被用,占用和空闲是两种不同的状态,来那种状态用一位二进制来表示就足够了。若计算机系统的字长为128位,磁盘的容量为2048GB,物理块的大小为8MB,假设文件管理系统采用位示图(bitmap)法记录该计算机系统磁盘的使用情况,那么位示图的大小需要( )个字。原创 2024-09-21 12:10:10 · 615 阅读 · 0 评论 -
架构师-高内聚低耦合架构
还拿人体举例,心脏负责供血,肺负责呼吸,肝脏负责代谢,彼此之间分工明确,各司其职,即便某一部位生病了,只需要针对性治疗,不影响其它部位,这就是低耦合。例:模块A实现两个数的加法操作,模块B实现两个加数的初始化,模块B将两个加数传给模块A,模块A进行相加。例如,在汽车制造线上,一个工位负责安装轮胎,然后下一个工位进行轮胎检验,每个工位的任务都是顺序进行的。例:A模块中有三条语句(一条赋值,一条求和,一条传参),表面上看不出任何联系,但是B、C模块中都用到了这三条语句,于是将这三条语句合并成了模块A。原创 2024-09-17 08:07:59 · 797 阅读 · 0 评论 -
关系型数据库(十)视图
视图仅仅是一个表结构,视图的数据并不在数据库中存储,数据保存在基表中. 一张表可以创建多个视图.视图是一张虚拟表,它表示一张表的部分数据和多张表的综合数据,视图的结构和数据都是建立在基表上.-- 视图作用 简化业务逻辑,对客户端隐藏真实的表结构,视图名必须唯一,同时不能与表重名.查看视图,已经改过来了:select * from view_selectproduct;(4)封装了实现表内连接查询语句的视图,语句如下:。不过这样看起来有点麻烦。原创 2024-09-16 10:34:02 · 1003 阅读 · 0 评论 -
容错设计技术
在进行有限精度运算的情况下,计算的结果与所使用的特定算法和计算的顺序有关,在进行计算量比较时(例如,将某计算量与一常量进行比较),虽然这些计算量能满足 S R S 要求,但比较结果可以全然不同,最终导致在 N 版本表决时不能得出正确的结果。其中#个版本的程序必须由不同的人(小组)独立设计,使用不同的方法、不同的设计语言、不同的开发环境和工具来实现,目的是减少#个版本的程序在表决点上相关错误的概率。使用同样的测试数据对 N 版本程序进行测试,将 W 个版本程序的运行结果进行比较,用以发现版本中的软件故障。原创 2024-09-15 18:11:23 · 950 阅读 · 0 评论 -
架构师-包含(include) 扩展(extend) 和 泛化(generalization)
如果一个用例明显地混合了两种或者两种以上的不同场景,即根据情况可能发生多种分支,则可以将这个用例分为一个基本用例和一个或多个扩展用例,这样可能会使描述更加清晰。如机房收费系统中“维护学生信息”操作时如果发现信息有误或者更新则需要使用“修改学生信息”用例完成更新,所以用例“查询上机记录”和“导出EXCEL”之间的关系就是扩展关系。其中三角箭头指向父用例。例如,在机房收费系统中“注册学生信息”和“充值”两个用例都需要操作员或者管理员登陆,为此,可以定义一个抽象用例“用户登陆”。扩展关系由扩展用例指向基本用例。原创 2024-09-14 18:09:50 · 452 阅读 · 0 评论 -
架构师-扇入和扇出
扇入越大,表示该模块被更多的上级模块共享。扇入越大,表示该模块被更多的上级模块共享。但是不能为了获得高扇入而不惜代价,例如把彼此无关的功能凑在一起构成一个模块,虽然扇入数高了,但这样的模块内聚程度必然低。扇出:是指该模块直接调用的下级模块的个数。扇出大表示模块的复杂度高,需要控制和协调过多的下级模块;扇出太小时可以把下级模块进一步分解成若干个子功能模块,或者合并到它的上级模块中去。设计良好的软件结构,通常顶层扇出比较大,中间扇出小,底层模块则有大扇入。扇入:是指直接调用该模块的上级模块的个数。原创 2024-09-14 15:41:03 · 159 阅读 · 0 评论 -
架构师-嵌入式系统中的中断机制
中断处理使得处理器能够在执行主要任务的同时,及时响应这些外部事件,从而提高系统的实时性和可靠性。中断处理的基本原理是,当处理器正在执行某个任务时,如果接收到一个外部或内部事件(例如定时器溢出、外部信号输入),处理器可以暂时中止当前任务,跳转到预设的中断服务程序(ISR)去处理该事件。嵌入式实时系统对外部事件的响应一般都是通过中断来处理的,其对中断的处理方式,直接影响到系统的实时性能。比如计算机系统中,如果没有中断,计算机所有的程序都是定论的,我们事先就可以知道其运行的全部过程,无法交互,相当于一个加速器。原创 2024-09-14 12:12:11 · 480 阅读 · 0 评论 -
架构师之双机热备、双机互备和双机双工
两个相对独立的应用在两台机器同时运行,但彼此均设为备机,当某一台服务器出 现故障时,另一台服务器可以在短时间内将故障服务器的应用接管过来,从而保证了应用的持续性,但对服务器的性能要求比较高。在双机热备的基础上,两个相对独立的应用在两台机器同时运行,但彼此均设为备机,当某一台服务器出现故障时,另一台服务器可以在短时间内将故障服务器的应用接管过来,从而保证了应用的持续性。两台或多台服务器均为活动,同时运行相同的应用,保证整体的性能,也实现了负载均衡和互为备份。双机双工=主机+主机。原创 2024-09-14 09:39:52 · 209 阅读 · 0 评论 -
架构师-平均无故障时间、平均故障修复时间、平均故障间隔时间
(Mean Time To Repair),即平均修复时间,是从故障发生到IT服务恢复之间的平均时间,包括检测时间和解决时间,也称为宕机时间。因此,MTTR越短越好。B.系统运行时间7000小时,发生故障3次,故障1耗时2小时,故障2耗时5小时,故障2耗时3小时。解释:MTBF 越大表示设备两次故障之间的间隔时间越长,故障频率越低,因此可靠性越高。故障发生和IT服务恢复之间的平均时间,是检测时间与解决时间之和,也称为岩机时间。*该指标与IT服务的可靠性有关,平均无故障时间越长,系统的可靠性越高。原创 2024-09-12 20:40:27 · 825 阅读 · 0 评论 -
架构师-W模型
优点:测试与软件开发同时进行;测试对象不仅仅是程序,还包括需求和设计;尽可能早地发现软件缺陷,降低软件开发成本,恢复成本低;分阶段工作,方便项目地整体管理。缺点:开发和测试呈线性关系,需求的变更和调整不方便;开发过程如果没有文档产生,W模型无法使用;对于需求和设计的测试技术要求很高,实践起来困难。原创 2024-09-12 20:38:52 · 175 阅读 · 0 评论 -
架构师-喷泉模型
面向对象需求不断新增的开发模型模型概述 喷泉模型是一种以用户需求为动力,以对象为驱动的模型,主要用于采用对象技术的 软件开发项目。该模型认为软件开发过程自下而上周期的各阶段是相互迭代和无间隙的特性。软件的某个部分常常被重复工作多次,相关对象在每次迭代中随之加入渐进的软件成分。无间隙指在各项活动之间无明显边界,如分析和设计活动之间没有明显的界限,由于对象概念的引入,表达分析、设计、实现等活动只用对象类和关系,从而可以较为容易地实现活动的迭代和无间隙,使其开发自然地包括复用。原创 2024-09-12 13:47:36 · 515 阅读 · 0 评论 -
架构师之-A/B测试
A/B测试是一种比较两个或多个版本的实验设计,其中一个版本被称为控制组(A组),而其他版本是变化的组(B组、C组,依此类推)。这些组之间只有一个或少数几个变化因素,其余条件保持一致。通过收集用户反馈、行为数据或其他相关指标,测试团队可以评估不同版本的性能,并做出基于数据的决策。原创 2024-09-12 11:44:27 · 607 阅读 · 0 评论 -
架构师-黑盒测试/灰盒测试/白盒测试
在软件测试的广阔天地里,灰盒测试作为连接黑盒测试与白盒测试的桥梁,扮演着举足轻重的角色。对于初入测试领域的新手工程师而言,掌握灰盒测试不仅能够拓宽测试视野,还能有效提升测试效率与质量。本文将带你一窥灰盒测试的全貌,从定义到实践,再到其优势与挑战,逐一解析。(Gray Box Testing),顾名思义,是介于黑盒测试(Black Box Testing)与白盒测试(White Box Testing)之间的一种测试方法。黑盒测试关注软件的外部行为,即在不了解内部实现的情况下,仅通过输入与输出来评估软件功能。原创 2024-09-12 10:25:47 · 939 阅读 · 0 评论 -
架构师-可靠性设计
计算机可靠性模型是一种用来评估和预测计算机系统在特定条件下正常运行的概率或期望寿命的数学模型。这些模型帮助设计者和工程师理解系统潜在的故障模式,预测系统性能,并在设计阶段采取措施来提高系统的整体可靠性。计算机可靠性模型通常考虑各种因素,包括硬件故障、软件错误、环境因素以及操作失误等。原创 2024-09-12 08:53:56 · 408 阅读 · 0 评论 -
McCabe度量法
(2009年上半年软件设计师上午试卷32题)McCabe度量法是通过定义环路复杂度,建立程序复杂性的度量,它基于一个程序模块的程序图中环路的个数。(2013年上半年软件设计师上午试卷31题)若采用McCabe度量法计算环路复杂性,则对于下图所示的程序图,其环路复杂度为()。(2010年上半年软件设计师上午试卷36题)某程序的程序图如下图所示,运用McCabe度量法对其进行度量,其环路复杂度是()(2016年上半年软件设计师上午试卷36题) 采用McCabe度量法计算下图所示程序的环路复杂性为()。原创 2024-09-12 08:53:31 · 330 阅读 · 0 评论 -
架构之状态图
示例:在订单处理的过程中,会员可以点击“取消订单”取消该订单。如果支付失败,该订单将被标记为挂起状态,可后续重新支付,如果挂起超时30分钟未支付,系统将自动取消该订单。状态图描述一个实体基于事件反应的动态行为,显示该实体如何根据当前的状态对不同的事件作出反应的,为了研究类、角色、子系统或组件的行为。举例来说,考虑一个在线购物系统中的订单对象,其状态图可能包括“新建订单”、“待付款”、“已付款”、“已发货”和“已完成”等。(1)对于常规订单,标记为备货状态,订单信息发送到货运部,完成打包后交付快递发货。原创 2024-09-10 09:22:15 · 1107 阅读 · 0 评论 -
架构之活动图
活动图是UML用于对系统的动态行为建模的常用工具,它描述活动的顺序。活动图在本质上是一种流程图,着重表现从一个活动到另一个活动的控制流,是内部处理驱动的流程。活动图中常用的符号活动图的一个例子。原创 2024-09-10 09:21:33 · 797 阅读 · 0 评论 -
架构师之-敏感点,权衡点,风险点,非风险点
在软件架构评估过程中,我们需要关注几个重要方面,包括敏感点、权衡点、风险点和非风险点。这些点能够帮助我们全面了解软件架构的优缺点,并为改进和优化提供指导。原创 2024-09-04 10:30:08 · 769 阅读 · 0 评论 -
ATAM 架构权衡评估方法
从不同的架构角度,有3种不同类型的场景,分别是用例(包括对系统典型的使用、引出信息)、增长场景(用于涵盖那些对它的系统的修改)、探测场景(用于涵盖那些可能会对系统造成过载的极端修改)。得到初始的效用树后,需要修剪这棵树,保留重要场景(不超过50个),再对场景按重要性给定优先级(用H/M/L 的形式),再按场景实现的难易度来确定优先级(用H/M/L的形式),这样对所选定的每个场景就有一个优先级对(重要度、难易度),如 (H、L)表示该场景重要且易实现。此步骤中的体系结构演示非常重要,因为它会影响分析的质量。原创 2024-08-30 13:45:35 · 1058 阅读 · 0 评论 -
质量属性场景描述
关键要素刺激源(Source):定义:触发场景发生的实体或条件。示例:用户尝试访问网站、外部系统发送数据请求等。刺激(Stimulus):定义:刺激源产生的具体行为或事件。示例:用户输入了错误的密码、外部系统发送了大量的并发请求。环境(Environment):定义:刺激发生时的上下文或条件。示例:网络延迟较高、系统处于高负载状态。制品(Artifact):定义:受刺激影响的系统部分或组件。示例:登录模块、数据库服务器、负载均衡器等。原创 2024-08-29 17:52:41 · 826 阅读 · 0 评论 -
软件系统质量属性
为了支持互操作性(interoperation),必须为外部可视的功能特性和数据结构提供精心设计的软件入口,程序和用其他编程语言编写的软件系统的交互作用就是互操作性的问题,这种互操作性也影响应用的软件体系结构。随着软件开发水平的提高,如何满足功能已不是软件开发的主要矛盾,也不是构架层次上主要考虑的问题,构架设计主要考虑如何满足质量上的要求,但软件构架会限制各模块的功能划分,功能对构架设计有间接的影响。可测试性的响应度量处理的是测试在发现缺陷方面的效率以及想要达到某个期望的覆盖范围,需要用多长时间进行测试。原创 2024-08-29 17:44:00 · 798 阅读 · 0 评论 -
微内核和宏内核
微内核是一种典型的架构模式 ,区别于普通的设计模式,架构模式是一种高层模式,用于描述系统级的结构组成、相互关系及相关约束。微内核架构在开源框架中的应用非常广泛,比如常见的 ShardingSphere 还有Dubbo都实现了自己的微内核架构。那么,在介绍什么是微内核架构之前,我们有必要先阐述这些开源框架会使用微内核架构的原因。原创 2024-08-29 16:24:06 · 680 阅读 · 0 评论 -
软件架构风格
架构风格反映了领域中众多系统所共用的结构和语义特性,并指导如何将各个构件有效地组织成一个完整的系统。架构风格定义了用于描述系统的术语表和一组指导构件系统的规则。2.软件架构风格有哪些软件架构风格主要分为如下几大类3. 数据流风格它强调了系统内部不同部分之间的数据流动。这种风格侧重于描述系统中的数据处理过程,以及数据是如何从一个组件传递到另一个组件的。数据流风格强调数据的独立处理和并行执行,适用于需要处理大量数据和并发执行的系统,例如流式处理系统和图像处理系统。原创 2024-08-27 21:15:11 · 1316 阅读 · 0 评论 -
基于架构的软件开发方法(ABSD)
ABSD是架构驱动,即强调由业务【商业】、质量和功能需求的组合驱动架构设计。· ABSD方法有三个基础。第一个基础是功能的分解。在功能分解中,ABSD方法使用已有的基于模块的内聚和耦合技术;第二个基础是通过选择架构风格来实现质量和业务需求;第三个基础是软件模版的使用。视角与视图:从不同的视角来检查,所以会有不同的视图。要从不同的视角(Perspective) 来观察对架构的描述,如:展示功能组织的静态视角:判断质量特性展示并发行为的动态视角:判断系统行为特性。原创 2024-08-26 20:24:13 · 1104 阅读 · 0 评论 -
数字签名/数字证书解析
数字签名/数字证书解析原创 2024-08-26 08:13:23 · 1560 阅读 · 0 评论 -
我懂了,原来这就是4+1架构视图模型
他在1995年的《IEEE Software》上发表了题为《The 4+1 View Model of Architecture》的论文,这一论文的发表引起了业界的极大关注,并最终被RUP(Rational Unified Process,统一软件开发过程)采纳,现在已经成为架构设计的结构标准。从前面的图可以看到,4+1中的4个视图都是围绕着场景视图为核心的。逻辑视图、开发视图和部署视图,描述的都是系统的静态信息,到现在为止我们还缺少对系统动态行为的描述,而运行视图就是用来描述系统中的动态信息的。原创 2024-08-26 08:12:59 · 1004 阅读 · 0 评论 -
系统架构 DSSA(Domain Specific SoftwareArchitecture)特定领域软件架构
系统架构 DSSA(Domain Specific SoftwareArchitecture)特定领域软件架构原创 2024-08-26 09:45:00 · 884 阅读 · 0 评论