
系统架构
文章平均质量分 62
牧羊女说
有马甲线的女程序猿、攻城狮、加班狗~
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
实体类、边界类和控制类
类一般由名称、属性(状态、数据、成员变量)和服务(操作、行为、方法)三个要素组成,这些要素被封装成一个整体,以接口的形式与外界进行交互。在软件系统的开发设计过程中,根据用途,类可以分为三种类型:实体类、边界类和控制类。1. 实体类实体类用于映射需求中的每个实体,保存需要存储在永久存储体中的信息。实体类的属性和关系通常是永久性的,甚至在系统的整个生存周期中都需要。例如,学校教学系统中就有学生类、教师类和课程类。实体类对于用户来说,是最直观和有意义的类,实体类的命名通常采用业务领域术语,一般为一原创 2021-09-20 11:45:58 · 13902 阅读 · 0 评论 -
SOA架构概述
1. SOA概述SOA(Service-Oriented Architecture,面向服务的架构)是一种在计算机环境中设计、开发、部署和管理离散模型的方法。SOA不是一种新鲜事物,它是在企业内部IT系统重复构建以及效率低下的背景下提出的。在SOA模型中,所有的功能都被定义成了独立的服务,所有的服务通过服务总线(ESB)或流程管理器来连接。这种松散耦合的结构使得能够以最小的代价整合已经存在的各种异构系统,当然,由于需要实现对各种异构系统的适配(通常使用ESB来完成不同系统之间的协议转换及数据格式转换),原创 2021-08-26 11:13:48 · 33951 阅读 · 3 评论 -
软件测试阶段
从该软件测试阶段上划分,软件测试可分为单元测试、集成测试、系统测试和确认测试。1. 单元测试单元测试也成为模块测试,通常放在编程阶段,由程序员对自己编写的模块进行测试,检查模块是否实现了详细设计说明书中规定的功能和算法。单元测试的测试对象包括:模块接口、局部数据结构、重要执行通路、出错处理通路和边界条件。2. 集成测试集成测试也成为组装测试,对由各模块组装而成的程序进行测试,主要目的是发现模块间的接口和通信问题。集成测试的模块组装方式包括一次性组装和增量式组装。一次性组装是指一次性把原创 2021-07-27 20:02:32 · 541 阅读 · 0 评论 -
测试用例设计
作为软件从业人员,我们都知道软件测试分为黑盒测试和白盒测试。所谓黑盒测试,就是把软件模块看成一个黑盒子,测试人员看不到内部的组成结构,只知道这个“黑盒子”的功能以及输入和输出。而白盒测试,则可以让测试人员“打开盒子”,看到模块内部的组成结构,可通过内部结构设计测试用例。由于白盒测试可以根据程序的内部结构将所有的路径覆盖到,因此它相对于黑盒测试来说,更加完整。1. 黑盒测试方法对于黑盒测试来说,可以通过设计一系列方法来提高其覆盖度。黑盒测试包括如下一些方法:1.1 等价类划分该方法重点原创 2021-07-26 20:37:55 · 199 阅读 · 0 评论 -
人机界面设计原则
一个好的系统人机界面,其设计应该遵循一些基本的原则,这些原则从人性的角度出发,让用户在使用产品时,不只觉得产品很棒,还会感觉自己很棒,而不是在面对产品时,感觉自己像个“傻X”,设计产品的人更“傻X”。那么这些原则都包含什么呢?大体来讲有三个方面:(1)让产品置于用户的控制之下;(2) 减少用户的记忆负担;(3) 保持界面的一致性。下面就对这三个原则做一些略详细的阐述。1. 让产品置于用户的控制之下界面是用来控制系统的,所有系统开放给用户的功能或者能力,都应该被用户良好地控制,一个out of c原创 2021-07-16 21:23:54 · 5047 阅读 · 0 评论 -
统一建模语言UML概述
本文是一篇笔记文。统一建模语言(Unified Modeling Language, UML)是系统的可视化建模语言,是国际统一的软件建模标准。虽然UML源于面向对象软件建模领域,但是由于其内建了大量的扩展机制,可以应用于其他领域,诸如工作流程、业务领域等。UML是一组图形符号,每个符号都有明确语义,为软件开发人员提供了一种用于交流和描述软件蓝图的标准语言。UML语言所建的模型为精确的,适合于软件开发过程中所有重要的分析、设计和实现决策的详细描述。并且UML可以和各种编程语言进行较好的映射,是各种技原创 2021-07-11 17:53:32 · 913 阅读 · 0 评论 -
学习笔记:进程管理之死锁问题
因为今年要备考架构师,自己的时间又不宽裕,只能见缝插针地有时间就学习一个小片段。这几天一直在学习操作系统知识,今天主要是进程管理的死锁问题。单纯听课效果不理想,还是启动老习惯——记笔记,虽然慢一点,但效果明显。进程管理是操作系统的核心,如果设计不当,就会出现死锁的问题。如果一个进程在等待一件不可能发生的事,就会发生死锁。而如果一个或多个进程产生死锁,就会造成系统的死锁。例题:例如系统有3个进程A,B,C,三个进程都需要5个资源,则系统如果有13个资源即不会发生死锁。这是因为假设3个进程都分配到了4个原创 2021-05-22 16:18:25 · 581 阅读 · 0 评论 -
CAP、BASE和ACID
当我们讨论数据一致性时,容易想到CAP、BASE和ACID,那么它们分别是什么呢?有什么区别和联系吗?1. CAPCAP定理又被称为布鲁尔定理,是分布式计算领域一个公认的定理。C — Consistency(一致性)它的英文解释为:A read is guranteed to return the most recent write for a given client.可以理解为,对于某个客户端来说,保证读操作能够返回最新的写操作的结果。A — Availability(可用性)原创 2021-02-09 19:10:43 · 778 阅读 · 0 评论 -
SOLID软件设计原则之OCP原则
年前匆匆整理了一下SRP原则,即单一职责原则:SOLID软件设计原则之SRP。趁着周末有时间,还一还之前欠下的债。庄子《刻意》篇有云:“形劳而不休则弊,精用而不已则劳,劳则竭”。不停地忙碌容易让人陷入疲倦,忘记为何而出发,适当的闲暇才是思想的温床,也为更好地工作积蓄力量。在项目不是压迫得特别紧张的情况下,周末真的更适合学习和思考,因为有难得的独处和安静来梳理自己的思路。言归正传。当我们还是...原创 2020-04-18 17:09:27 · 498 阅读 · 0 评论 -
简单聊聊系统结构
软件开发都是从混沌到清晰的一个结构化抽象的过程。在动笔写代码之前,我们需要搞清楚几个问题:(1) 系统解决什么问题?(2) 系统如何与环境交互?(3) 系统的流程如何组织?(4) 系统需要支持的变化范围是什么?等等。思考清楚了这些问题,我们就可以抽象出符合我们需求的系统结构。本篇就来聊聊常用的系统结构。1. 分层结构分层结构是目前应用最广泛的软件结构,在该结构中,各子系...原创 2019-10-24 21:07:00 · 2524 阅读 · 0 评论