- 博客(12)
- 资源 (10)
- 论坛 (1)
- 收藏
- 关注
原创 系统架构设计笔记(43)—— 架构需求与软件质量属性
架构的基本需求主要是在满足功能属性的前提下,关注软件质量属性,架构设计则是为满足架构需求(质量属性)寻找适当的 “ 战术 ”。软件属性包括功能属性和质量属性,但是,软件架构(及软件架构设计师)重点关注的是质量属性。因为,在大量的可能结构中,可以使用不同的结构来实现同样的功能性,即功能性在很大程度上是独立于结构的,架构设计师面临着决策(对结构的选择),而功能性所关心的是它如何与其他质量属性进行交互,以及它如何限制其他质量属性。1 软件质量属性《GB/T16260-1996(idt ISO/IEC9126
2020-06-26 08:37:54
366
原创 说说如何使用 Canvas 路径来绘制线段
在 Canvas 中,调用 2d context 对象的 beginPath() 函数就会开始一个路径绘制,调用 closePath() 函数结束一个路径绘制。连接路径内的两个点的路径称为子路径。如果终点与起点相连,子路径就称为封闭路径。我们需要绘制的线段代码,就包含在这两个函数之间。1 简单直线线段context.strokeStyle = "black";context.lineWidth = 10;context.lineCap = 'square';context.beginPath()
2020-06-21 12:04:43
261
原创 系统架构设计笔记(42)—— 软件架构概述
软件架构是软件抽象发展到一定阶段的产物,从编程的角度,可以清晰地看到软件抽象层次和表达工具的发展历史 。20 世纪 60 年代是子程序的年代:出现了原始的软件架构,即子程序,并以程序间的调用为连接关系 。20 世纪 70 年代是模块化的年代:出现了数据流分析 、 实体 — 关系图( E-R 图) 、 信息隐藏等工具和方法,软件的抽象层次发展到了模块级 。20 世纪 80 年代是面向对象的年代:基于模块化的编程语言进一步发展成面向对象的语言,继承性地增加了一种新元素之间的连接关系 。20 世纪 90
2020-06-20 15:27:57
345
原创 系统架构设计笔记(41)—— 系统过渡计划
当新系统似乎开发完毕,要取代原来的系统时,系统过渡就是设计者不得不面对的问题。1 问题这个问题,不幸的是,比许多人想象得要复杂,和软件开发一样,存在着许多冲突和限制。例如,费用 、 客户关系 、 后勤保证和风险等。设计者需要考虑的问题也很多,其中比较重要的几个问题是:如果同时运行两个系统,会给客户造成多大的开销;如果直接运行新系统,客户面对的风险有多大;对新系统试运行时的查错和纠错,以及出现严重错误而导致停止运行时的应急措施;客户运行新系统将面临的不利因素有哪些;人员的培训。使用不同的系
2020-06-20 14:40:14
135
原创 系统架构设计笔记(40)—— 系统运行环境的集成与设计
在设计一个新的系统时,设计者必须考虑目标系统的运行环境问题,人们往往认为软件应该能够在任何环境中运行,常常看到这样的系统,硬件已经升级了多次,而软件还是原来的软件。软件的运行环境是指系统运行的设备 、 操作系统和网络配置。1 集中式系统早期的计算机系统没有什么可以选择的,除了集中式系统。所有的操作都集中于一台主机中,而操作员必须在主机的附近操作,结果也在附近给出。这种系统仍然广泛地应用于批处理应用系统及更大的分布式系统的一部分。集中式系统常见于银行 、 保险 、 证券行业,它们含有大规模的处理应用。
2020-06-20 14:24:50
203
原创 说说 Python 的具名元组
Python 提供的元组与列表类似,不同之处在于元组的元素不能修改。虽然有时候很方便,但因为不能为元组内部的数据进行命名,所以没有那么直观。Python 引入了 collections.namedtuple 这个工厂函数,用来构造一个带字段名的元组。(1)声明与实例化我们一般这样来构造具名元组:namedtuple(typename, field_names)参数说明typename元组名称。field_names元组中元素的名称;可以是有多个字符串组成的可迭代对象
2020-06-20 11:59:53
142
原创 系统架构设计笔记(39)—— 简单分布式系统设计
网络极大地扩展了计算机的应用范围,同时,由于升级到更强的服务器的费用常常远远高于购买多台档次稍低的机器,更何况虽然计算机有了长足的发展,可是单台计算机的功能仍然十分有限,利用联网的计算机协同工作,共同完成复杂的工作成为相对成本较低的选择,而且可以完成单台计算机所无法完成的任务。分布式系统使得这一目标成为可能。但网络本质上并不可靠,特别是远程通信,分布式系统会带来了并发和同步的问题。分布式系统可以由两种完全不同的方式来进行协同和合作。(1)基于实例第一种是基于实例的协作。这种方式所有的实例都处理自己范
2020-06-14 15:04:58
141
原创 系统架构设计笔记(38)—— 工作流设计
工作流技术的发展,经过多年的努力,取得了一定的成果。但在实际应用中,应用的企业还是较少,应用的范围窄,效果不理想。流程的设计是对设计者更高的挑战,现实中对计算机所管理的流程需要灵活的定义 、 方便的路径修改 、 容易使用,可是这几个目标是矛盾的。更严重的是,如何分析现实中的流程本身就是个困难的问题,更不用谈如何来设计实现了。流程设计的主要困难实际上也就是软件的主要困难:现实复杂性。任何对现实的描述(图形也罢,文字也罢)都是不完美的, “ 不识庐山真面目 ” 是设计面临的共同难题。设计者不得不意识到所有的
2020-06-14 14:52:19
202
原创 系统架构设计笔记(37)—— 用户界面设计
接口设计主要包括三个方面的内容:一是设计软件构件间的接口;二是设计模块和其他非人的信息生产者和消费者(如外部实体)的接口;三是人(如用户)和计算机间界面设计。软件构件间接口的设计与架构的设计紧密相关,而设计模块和外部实体的接口则与详细设计相关,人机界面接口是相当容易被忽视的环节,在此就对其重点内容进行一个概要性描述。1 用户界面设计的原则用户界面设计必须考虑软件使用者的体力和脑力,根据 Theo Mandel 的总结,设计时必须遵从三个黄金法则。(1)置用户于控制之下具体来说就是以不强迫用户进入不
2020-06-14 14:22:43
206
原创 说说如何使用 Canvas 绘制基本矩形
HTML5 提供的 canvas 元素,可以让我们使用 JavaScript 在网页上绘制图像。画布是一个矩形区域,我们可以控制其每一像素。canvas 拥有多种绘制路径、矩形、圆形、字符以及添加图像的方法。这次先说说如何绘制基本矩形。1 搭建 Canvas 2D 环境(1)引入 <canvas> 标签在 HTML 的 <body> 中新增一个 <canvas> 标签。形如:<canvas id="canvas" width="500" height="5
2020-06-14 10:40:21
161
原创 系统架构设计笔记(36)—— 面向对象的分析与设计
面向对象方法是一种非常实用的软件开发方法,它一出现就受到软件技术人员的青睐,现已成为计算机科学研究的一个重要领域,并逐渐成为软件开发的一种主要方法。面向对象方法以客观世界中的对象为中心,其分析和设计思想符合人们的思维方式,分析和设计的结构与客观世界的实际比较接近,容易被人们接受。在面向对象方法中,分析和设计的界面并不明显,它们采用相同的符号表示,能够方便地从分析阶段平滑地过渡到设计阶段。此外,在现实生活中,用户的需求经常会发生变化,但客观世界的对象及对象间的关系比较稳定,因此用面向对象方法分析和设计的结构也
2020-06-13 17:40:35
455
原创 GitHub 网页中看不到图片的解决方法
打开 https://www.ipaddress.com/,输入域名,查找对应的 IP 地址:除了可以看出 IP 地址之外,还可以看到服务器所在的国家。
2020-06-13 08:13:22
1520
Nginx 1.18.0 以及相关依赖库
2020-12-27
jasperreports-functions-6.3.1.jar
2017-11-07
mysql 函数,可以将数字转换为中文大写形式
2017-10-30
olap4j-0.9.7.309-JS-3.jar jasperreports 6.x 的依赖包
2017-10-20
axis1.4 包,一个SOAP引擎,提供创建服务器端、客户端和网关SOAP操作的基本框架。
2017-09-29
Fiddler4 破解版,http协议调试代理工具
2017-09-29
阿里巴巴Java开发手册(正式版)
2017-02-16
deniro_li的留言板
发表于 2020-01-02 最后回复 2020-03-05
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人 TA的粉丝