4 deniro_li

尚未进行身份认证

我要认证

暂无相关简介

等级
TA的排名 1k+

系统架构设计笔记(66)—— 配置管理与文档管理

随着软件规模和复杂性的增大,许多大型开发项目往往都会延迟和超出预算,软件开发不得不直面越来越多的问题,表现为开发的环境日益复杂,代码共享日益困难,需跨越的平台增多;软件的重用性需要提高;软件的维护越来越困难。为了解决这些问题,作为控制软件系统一系列变化的学科,软件配置管理( Software Configuration Management , SCM )应运而生。其主要作用是通过结构化的 、 有序化的 、 产品化的管理软件工程的方法来维护产品的历史,鉴别和定位产品独有的版本,并在产品的开发和发布阶段控制

2020-08-09 16:42:41

系统架构设计笔记(65)—— 项目的范围、时间与成本

项目管理首先要考虑三个约束条件:项目范围 、 时间进度 、 成本预算。在签订软件开发合同时要明确:项目的任务是什么?发起人要通过项目获得什么样的产品或服务?这属于项目范围的范畴;项目需要多长时间?进度如何安排?这属于时间进度的范畴;项目需要花费多少?资金来源如何?这属于项目成本的范畴。1 项目范围管理所谓项目范围管理,包括保证项目顺利完成所需的全部工作过程。其目的是控制项目的全部活动都在需求范围内,以确保项目资源的高效利用。它主要包括项目启动 、 范围计划编制 、 范围定义 、 范围核实和范围变更控制5

2020-08-09 16:38:29

系统架构设计笔记(64)—— 嵌入式系统设计

嵌入式系统设计的主要任务是定义系统的功能 、 决定系统的架构,并将功能映射到系统实现架构上。这里,系统架构既包括软件系统架构也包括硬件系统架构。一种架构可以映射到各种不同的物理实现,每种实现表示不同的取舍,同时还要满足某些设计指标,并使其他的设计指标也同时达到最佳化。嵌入式系统的设计方法跟一般的硬件设计 、 软件开发的方法不同,是采用硬件和软件协同设计的方法,开发过程不仅涉及软件领域的知识,还涉及硬件领域的综合知识,甚至还涉及机械等方面的知识。要求设计者必须熟悉并能自如地运用这些领域的各种技术,才能使所设

2020-08-09 16:28:50

说说如何使用 Canvas 绘制弧线与曲线

绘制弧线前,我们需要先了解角度与弧度的概念。1 角度与弧度(1)角度两条射线从圆心向圆周射出,形成一个夹角和夹角正对的一段弧。当弧长正好等于圆周长的 360 分之一时,两条射线的夹角的大小为1度 。( 单位 :º )(2)弧度两条射线从圆心向圆周射出,形成一个夹角和夹角正对的一段弧。当这段弧长正好等于圆的半径时,两条射线的夹角大小为1弧度(单位:rad)。具体计算公式为:rad 即弧度单词 radian 的缩写。角度转换为弧度,推导与计算公式为:2 弧线弧线可以是圆,也可以是圆的

2020-08-02 10:53:07

系统架构设计笔记(63)—— 实时嵌入式操作系统

整体上看,一个嵌入式系统的实时性能是由硬件 、 实时操作系统及应用程序共同决定的,其中,嵌入式实时操作系统内核的性能起着关键的作用。通常,有两种类型的实时嵌入式操作系统:实时内核型的 RTEOS 与通用型的 RTEOS 。RTEOS 即实时嵌入式操作系统,Real-Time Embedded OS。实时内核型的 RTEOS :这类操作系统,驱动程序传统嵌在内核之中,应用程序和中间件实现在标准的应用程序接口( APIs , Application Programming Interfaces )之

2020-08-01 15:43:33

系统架构设计笔记(62)—— 嵌入式数据库管理系统

随着嵌入式技术的发展,嵌入式数据库逐步走向应用。本质上,嵌入式数据库是由通用数据库发展而来的,在各种嵌入式设备上或移动设备上运行,在嵌入式系统中更显示出其优越性,由于受到嵌入式系统本身应用环境的制约,嵌入式数据库有着与通用数据库不同的特点。通常,嵌入式数据库管理系统就是在嵌入式设备上使用的数据库管理系统。由于用到嵌入式数据库管理系统的多是移动信息设备,诸如掌上电脑 、PDA、 车载设备等移动通信设备,位置固定的嵌入式设备很少用到,所以,嵌入式数据库也称为移动数据库或嵌入式移动数据库。其作用主要是解决移动计

2020-08-01 14:30:30

系统架构设计笔记(61)—— 嵌入式网络系统

嵌入式网络是用于连接各种嵌入式系统,使之可以互相传递信息 、 共享资源的网络系统。嵌入式系统在不同的场合采用不同的连接技术,如在家庭居室采用家庭信息网,在工业自动化领域采用现场总线,在移动信息设备等嵌入式系统则采用移动通信网,此外,还有一些专用连接技术用于连接嵌入式系统。1 现场总线网现场总线( Field Bus )是 20 世纪 80 年代中期继模拟仪表控制系统 、 集中式数字控制系统及集散控制系统之后,发展起来的一项计算机控制技术,它是当今自动化控制领域技术发展的热点之一,通常也被称作工业自动化领

2020-08-01 14:28:51

系统架构设计笔记(60)—— 嵌入式开发平台与调试环境

嵌入式系统的应用支撑软件近年来发展迅速。通常,应用支撑软件包括窗口系统 、 数据库管理系统及 Java 虚拟机等几个部分。应用支撑软件的出现大大改变了应用软件的开发条件,同时也使得应用系统的功能不断增强。1 嵌入式系统软件开发平台嵌入式系统的软件开发方法采用的不是通用的开发方法,而是交叉式开发方法。1.1 交叉平台开发环境嵌入式系统的软件开发采用交叉平台开发方法( Cross Platform Development , CPD ),即软件在一个通用的平台上开发,而在另一个嵌入式目标平台上运行。这个

2020-08-01 14:27:11

系统架构设计笔记(59)—— 嵌入式系统的组成

嵌入式系统一般都由软件和硬件两个部分组成,其中嵌入式处理器 、 存储器和外部设备构成整个系统的硬件基础。嵌入式系统的软件部分可以分为3个层次:系统软件 、 应用支撑软件和应用软件。其中,系统软件和支撑软件是基础,应用软件则是最能体现整个嵌入式系统的特点和功能的部分。1 硬件架构图 1 是一个嵌入式系统的基本硬件架构。微处理器是整个嵌入式系统的核心,负责控制系统的执行。外部设备是嵌入式系统同外界交互的通道,常见的外部设备有 Flash 存储器 、 键盘 、 输入笔 、 触摸屏 、 液晶显示器等输入 /

2020-08-01 14:19:17

说说 Activiti 中的用户与组的概念

Activiti 中的用户与组用于界定任务的候选者与办理者。组可以理解为角色,属于某个组的用户,就可以作为某个任务的候选者或者办理者。我们还可以通过 Activiti 的 API 来创建、查询或删除某个用户或者某个组。Activiti 还提供了建立关系的 API 用于绑定用户与组之间的关系。1 用户(1)创建用户User user = identityService.newUser(userId);user.setFirstName("Deniro");user.setLastName("Lee

2020-08-01 11:00:58

说说 Python 的生成器表达式

列表推导与生成器表达式都可以用于初始化元组、数组或其他类型的序列。但列表推导需要先建立一个完整的列表,然后再把这个列表传递到某个构造函数。而生成器表达式会逐个产出元素,这样显然能够节省内存。列表推导写法:codes = [ord(symbol) for symbol in symbols]x = tuple(codes)生成器表达式写法:x = tuple(ord(symbol) for symbol in symbols)从这个示例中可以看出,生成器表达式比列表推导,减少了创建 code

2020-08-01 10:35:58

系统架构设计笔记(58)—— 嵌入式系统概论

嵌入式系统是一种以应用为中心,以计算机技术为基础,可以适应不同应用对功能 、 可靠性 、 成本 、 体积 、 功耗等方面的要求,集可配置,可裁减的软 、 硬件于一体的专用计算机系统。它具有很强的灵活性,主要由嵌入式硬件平台 、 相关支撑硬件 、 嵌入式操作系统 、 支撑软件以及应用软件组成。其中, “ 嵌入性 ” 、 “ 专用性 ” 与 “ 计算机系统 ” 是嵌入式系统的三个基本的核心要素,具体来讲:嵌入性:指计算机计算机嵌入到对象系统中,且满足对象系统的环境要求,如物理环境(小型) 、 电气 /

2020-07-26 16:09:26

系统架构设计笔记(57)—— 测试自动化与面向对象的测试

1 测试自动化软件测试的工作量很大,但测试却极有可能应用计算机进行相当一部分自动化的工作,原因是测试的许多操作是重复性的 、 非智力创造性的 、 需要细致注意力的工作,而计算机就最适合于代替人类去完成这些任务。测试自动化会对整个开发工作的质量 、 成本和周期带来非常明显的效果。一些适于考虑进行自动化的测试工作为:(1)测试用例的生成(包括测试输入 、 标准输出 、 测试操作指令等)。(2)测试的执行控制(包括单机与网络多机分布运行 、 夜间及假日运行 、 测试用例调用控制 、 测试对象 、 范围 、

2020-07-26 15:46:17

系统架构设计笔记(56)—— 验证与确认

验证与确认都是确定软件产品是否满足其预期要求和条件的过程。验证可适用于分析、 设计、编码、测试和评审等众多的过程,而确认通常用于验收过程。1 验证软件项目的验证一般应包括合同验证 、 过程验证 、 需求验证 、 设计验证 、 编码验证 、 集成验证和文档验证。(1)合同验证供方具有满足需求的能力。需求是一致的并复盖了用户的需要。为处理需求变更和升级问题规定了适当的规程。规定了各方之间的接口及其合作规程与范围,包括所有权 、 许可权 、 版权和保密要求。按照需求规定了验收准则和规程。(2)

2020-07-25 15:20:48

说说在 Java 中如何创建流

1 元素转换为流通过 Stream.of() ,我们可以很容易地将一组元素转化成流。Stream.of("今天", "是", "个", "好日子").forEach(System.out::println);System.out.println();Stream.of(23, 29.2, 291.8).forEach(System.out::println); 运行结果:今天是个好日子2329.2291.82 集合转换为流每种集合都可以通过调用&n

2020-07-25 11:45:16

Tomcat 启动后,请求的 js 出现中文乱码的解决方法

1 原因因为win10系统的默认字符集是GBK,而 java 虚拟机在启动时,会读取该字符集。而我们的项目一般会设置为 UTF-8。而 Tomcat 本质上也是依赖于 JDK,所以自然会出现中文乱码。2 解决修改 Tomcat 安装路径的 bin 目录下 catalina.bat 文件:set "JAVA_OPTS=%JAVA_OPTS% -Dfile.encoding=UTF-8"-D<name>=<value> 语法表示设置系统属性,它是一对键值对。这里其实是设置

2020-07-25 11:43:19

Java 流式编程概述

让我们首先从随机数说起。1 随机数真正的随机数是使用物理现象产生的,比如投掷钱币。这种随机数发生器叫做物理性随机数发生器。它的缺点是技术要求比较高。这幅图是芬兰的钱币。但这种通过物理性随机数发生器生成的真随机数,才是真正的随机,体现的是绝对的公平。伪随机数是有规律的,只不过这个规律周期比较长,但还是可以预测的。主要原因是伪随机数是计算机使用算法模拟出来的,因为这个过程并不涉及到物理过程,所以自然不可能具有真随机数的特性。目前用的比较广泛的有以下两种算法:线性同余算法周期:2^32= 4

2020-07-25 11:41:14

系统架构设计笔记(55)—— 评审方法

根据 IEEE1028 的定义,评审是对软件元素或者项目状态的一种评估手段,以确定其是否与计划的结果保持一致,并使其得到改进。狭义的 “ 软件评审 ” 通常指软件文档和源程序的评审。广义的 “ 软件评审 ” 还包括与软件测试相结合的评审及管理评审。软件评审包括软件需求评审 、 概要设计评审 、 详细设计评审 、 软件验证和确认评审 、 功能检查 、 物理检查 、 综合检查和管理评审。(1)软件需求评审。在软件需求分析结束后必须进行软件需求评审( software requirements rev

2020-07-25 11:38:38

系统架构设计笔记(54)—— 测试方法

在介绍软件测试之前,首先应该明确 “ 错误 ” ( error )和 “ 缺陷 ” ( fault )的概念。根据 IEEE 的定义, “ 错误 ” 主要针对软件开发过程, “ 缺陷 ” 主要针对软件产品。软件开发人员在软件开发过程(主要是分析 、 设计和编码过程)中所出现的 “ 错误 ” 是导致软件产品 “ 缺陷 ” 的原因,反过来说, “ 缺陷 ” 是 “ 错误 ” 的结果和表现形式。软件测试的目的就是在软件投入生产性运行之前,尽可能多地发现软件产品(主要是指程序)中的错误(缺陷)。为了发现软件中的

2020-07-25 11:36:17

说说在 Python 中如何使用列表推导

1 从示例说起Luciano Ramalho 举了这样一个示例,把一个字符串转为 Unicode 码的列表。传统写法是这样的:symbols='@#$%^&'codes=[]for symbol in symbols: codes.append(ord(symbol))运行结果:INFO - codes -> [64, 35, 36, 37, 94, 38]ord() 函数是 chr() 函数(对于8位的ASCII字符串)或 unichr() 函数(对于Unico

2020-07-25 11:28:55

查看更多

勋章 我的勋章
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv4
    勤写标兵Lv4
    授予每个自然周发布9篇以上(包括9篇)原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。