软件工程
需求分析需求分析阶段的工作可以概括为:需求获取、需求分析、编写需求规格说明书、需求评审四个方面。软件需求规格说明书是描述需求中的重要文档,是软件需求分析的主要成果。
1.软件开发的常用四个模型
(1) 瀑布模型:将软件生命周期划分为制定计划、需求分析、软件设计、程序编写、软件测试和运行维护等六个基本活动,并且规定了它们自上而下、相互衔接的固定次序,如同瀑布流水,逐级下落。
(2) 快速原型模型:第一步是建造一个快速原型,实现客户或未来的用户与系统的交互,用户或客户对原型进行评价,进一步细化待开发软件的需求。通过逐步调整原型使其满足客户的要求,开发人员可以确定客户的真正需求是什么;第二步则在第一步的基础上开发客户满意的软件产品
(3) 增量模型:软件被作为一系列的增量构件来设计、实现、集成和测试,每一个构件是由多种相互作用的模块所形成的提供特定功能的代码片段构成。增量模型在各个阶段并不交付一个可运行的完整产品,而是交付满足客户需求的一个子集的可运行产品。整个产品被分解成若干个构件,开发人员逐个构件地交付产品,这样做的好处是软件开发可以较好地适应变化,客户可以不断 ...
操作系统
操作系统的特征:并发,共享,虚拟和异步
*并发*:****计算机中存在多个运行的程序,需要OS管理和调度。
多个应用程序交替执行,需要知道所有运行的程序当前的执行的位置,当前正在执行的是哪一个应用,如果应用之间有切换的时候,切换到下一个应用的时候,它上次执行到什么位置,这次就从什么时候开始。当时的状态是什么样子,都需要操作系统来维护。
共享: “同时”共享 和 互斥共享
多个应用并发执行的时候,宏观上要体现出它们在同时访问资源的情况,而微观上要实现它们的互斥访问。比如说我们说到的内存,两个应用同时访问内存,那这个时候,每个应用需要知道它访问的是哪一个,另一个应用访问的是哪一个,他们俩之间不能访问出错,其中一个需要保护的内存资源,不能让另外一个应用去访问。在微观上需要对它们做很好的隔离,因为在数据总线上任何时刻只有一个应用去访问存储单元,这就是所说的微观上的互斥。
虚拟:利用多道程序设计技术(程序的交替运行),让每个用户都觉得有一个计算机专门为他服务。
操作系统在每个应用执行的时候,这种交替执行的交替频率特别高,让用户在应用的时候 ...
数据结构
数据结构基本概念数据结构的基本概念1.数据:所有能被输入到计算机中,且能被计算机处理的符号的集合。而数据结构中主要讨论结构化
数据。
2.数据元素:是数据(集合)中的一个“个体”,数据结构中的基本单位。表中的一行
3.数据项:一个数据元素可由若数据项组成,数据项是构成数据元素不可分割的单位。表中的一列
4.数据对象:数据对象是具有相同性质的数据元素的集合,是数据的一个子集。一张表或者是这张表的子表
5.关键码:也叫关键字(Key〉,是数据元素中能起标识作用的数据项
6.关系:数据元素之间的关系。数据结构中讨论的元素关系主要是指相邻关系或邻接关系。
7.数据类型是一个值的集合和定义在此集合上一组操作的总称。
(1)原子类型:其值不可再分的数据类型。
(2) 结构类型,其值可以再分解为考干成分(分量)的类型类型。
(3) 抽象数据类型:抽象数据组织和与之相关的操作。
8.数据类型:是一个值的集合和定义在此集合上的一组操作的总称。数据类型和数据结构的关系:数
据类型就是已经实现了的数据结构。
数据结构相关定义数据结构包括:逻辑结构、存储结构(物理结构)和数据运算(数据操作)
数据的逻辑结构: ...
计算机组成原理
计算机系统概述
1.1 计算机发展历程1.1.1 计算机硬件的发展计算机系统=硬件+软件
摩尔定律,集成电路上的晶体管数量每18月就会翻一翻,所以每18月计算机的处理效率就会提高一倍。
1.2 计算机系统层次结构
计算机硬件的基本组成
冯诺曼体系结构特点:
计算机硬件系统由五大部件组成(存储器、运算器、控制器、输出设备、输入设备)
指令和数据以同等地位存于存储器,可按地址寻访
指令和数据用二进制表示
指令由操作码和地址码组成
存储程序
以运算器为中心
现代计算机的组织结构
<1> 输入设备,是指将外部信息以计算机能读懂的方式输入进来,如键盘,鼠标等
<2> 输出设备,就是将计算机处理的信息以人所能接受的方式输出出来,比如显示屏,打印机。
<3> 存储器,存储器分为 主存储器(内存储器,CPU能直接访问)和 辅助存储器(外存储器,协助主存储器记忆更多的信息,辅助存储器的信息需要导入到主存储器中,才可以被CPU访问)。
主存储器的工作方式是按存储单元的地址进行存取,这种存取方式称为按地址存取方式(相联存储器既可以既可以按照 ...
操作系统
网络基础
计算机网络的基本概念从三个角度定义:
应用角度:强调资源共享和独立功能
物理角度:强调网络协议和硬件设备的组成
功能角度:强调通信手段和互联互通能力
计算机网络是分布在不同地理位置的多个独立的自治计算机的集合。
计算机网络的的功能: 数据通信: 实现计算机之间的数据传输,将不同地理位置的计算机连接起来进行统一管理。 资源共享: 资源共享可以是软件共享、数据共享和硬件共享、是各计算机分工协作,提高资源利用率。 分布式处理: 当某一计算机负载过重时,将任务分配给其他计算机 提高可靠性: 各台计算机可以互为替代机 负载均衡: 将任务均衡分配给计算机
计算机网络的发展经历了三个阶段:
以主机为中心的终端系统
以通信子网为中心的计算机互连
标准化的网络体系结构
计算机网络的术语包括:
通信子网:传输网络,提供信息传输服务。
资源子网:主机集合,提供计算资源
边缘部分:由所有连接在因特网上的主机组成。这部分用户直接使用,用来进行通信(传送数据、音频或视频)和资源共享
核心部分:由大量网络和连接这些网络的路由器组成。这部分为边缘部分提供服务(提供连通性和交换)
...
mysql实战45讲读书笔记
一条SQL查询语句是如何执行的?
Server 层
Server 层包括连接器、查询缓存、分析器、优化器、执行器等,涵盖 MySQL 的大多数核心服务功能,以及所有的内置函数(如日期、时间、数学和加密函数等)
存储引擎层
存储引擎层负责数据的存储和提取
架构模式是插件式的,支持InnoDB、MyISAM、Memory等多个存储引擎。现在最常用的存储引擎是InnoDB,它从MySQL 5.5.5版本开始成为了默认存储引擎。
执行create table建表的时候,如果不指定引擎类型,默认使用的就是InnoDB
你也可以通过指定存储引擎的类型来选择别的引擎,比如在create table语句中使用engine=memory, 来指定使用内存引擎创建表
连接器1mysql -h$ip -P$port -u$user -p
如果用户名或密码不对,你就会收到一个”Access denied for user”的错误,然后客户端程序结束执行。
如果用户名密码认证通过,连接器会到权限表里面查出你拥有的权限。之后,这个连接里面的权限判断逻辑,都将依赖于此时读到的权限。
...