内容正文:
第2章 信息系统的支撑技术(知识清单)
【知识结构】
【考点清单】
1.计算机发展阶段:电子管,晶体管,集成电路,大规模超大规模的集成电路
2.计算机未来发展趋势:巨型化,微型化,智能化和网络化
3.计算机系统由硬件系统和软件系统组成,硬件与软件的关系是密不可分的
4.计算机硬件(逻辑上)由运算器,控制器,存储器,输入设备和输出设备组成
①CPU(中央处理器)是计算机的核心部件,由运算器和控制器组成。其性能指标有主频,字长,多核,高速缓存等
②存储器包括高速缓存(一般集成在CPU上),主存储器(内存),辅助存储器(外存)。读取速度:高速缓存>内存>外存。存储器的性能指标有读取速度和存储容量
· 内存分为RAM(随机存储器,断电信息会丢失)和ROM(只读存储器,断电信息不会丢失)
· 外存包括硬盘,固态硬盘(SSD),闪存盘(U盘)
③输入设备:采集识别接收信息,例:键盘,鼠标,扫描仪等
④输出设备:输出显示信息,例:打印机,显示器等
· 声卡,网卡,光盘驱动等兼具输入输出功能
5.软件包括系统软件和应用软件。没有安装任何软件的计算机称为裸机
①系统软件是协调和控制计算机及外部设备,支持应用软件开发和运行的软件。主要包括操作系统,语言处理程序,数据库管理系统,其他系统支撑服务程序等
· 操作系统是最重要的系统软件,常见的操作系统有Windows,Mac,Linux,Unix等
②应用软件是指为了特定用途而开发的软件。
6.计算机的工作原理:图灵机是现代计算机的计算模型,存储程序式体系结构是图灵机的工程实现
①存储程序式计算机内部采用二进制来表示指令和数据
②在处理数据时必须先将数据和指令存入存储器中,然后计算机在工作时能自动从存储器中取出指令并加以执行
③处理信息的一般步骤:输入→处理(运算和控制)→存储→输出
④计算机硬件主要由运算器,控制器,存储器,输入设备,输出设备五大部件组成
7.移动终端是指可以在移动中使用的计算机设备,其工作原理和组成与计算机类似。
①移动终端的中央处理器:苹果,三星,高通,英特尔,麒麟(我国首款)等
②移动终端的操作系统:安卓Android(基于Linux),苹果ios,微软Windows,鸿蒙Harmony等
③移动终端特性:智能性(基于传感器的植入)和移动性
④移动终端性能指标:CPU(跟计算机一样),RAM(运行内存类似于计算机的内存),ROM(静态内存,类似于计算机的硬盘),屏幕大小
8.传感技术,通信技术和计算机技术一起被称为现代信息技术三大支柱
9.传感器属于输入设备,是用于感受被测量并按照一定的规律转换为可用输出信号的器件或装置,主要由敏感元件,转换元件和其他辅助元件组成。
①常见的传感器及其作用:加速度传感器(计步),重力传感器(横竖屏智能切换),指纹传感器(加密,解锁等),霍尔传感器(翻盖解锁合盖锁屏)等
②同一传感器采用不同算法可以实现不同功能
10.信息系统获取传感器的信息可以采用无线网络,蓝牙,串口等方式【Microbit相关见附1】
11.射频识别(RFID)属于通信技术范畴,也属于传感技术,由电子标签和读写器组成
①读写器(接收端):读写器基本由射频模块、控制处理模块和天线三部分组成,射频模块向标签发射读取信号;接受标签应答,对标签的对象标识的信息进行解码;将对象标识的信息和标签上的其他相关信息传输到信息系统
②电子标签(发射端):电子标签由芯片与天线(线圈)组成,附着在物体上标识目标对象。按照能量供给方式分为:有源标签,无源标签;按照工作频率分为:低频,高频,超高频和微波频段
③工作原理:电子标签依靠读写器的电磁波获得能量,向读写器发送编码信息,读写器采集信息并解码后传输给信息系统
12.控制技术是信息系统作用于外部世界的方式,分为开环控制和闭环控制
· 执行器是指在控制系统中接受控制信息并对受控对象施加控制作用的装置。
13.网络的功能:数据通信(基本功能),资源共享(硬件,软件,数据资源),分布处理
14.网络的分类:
①计算机网络:将不同地理位置具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统、网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。
· 按照覆盖范围可以划分为局域网(LAN),城域网(MAN),广域网(WAN)
②移动通信网络:移动设备之间的通信,其实质是利用无线电波来传递信息。
· 各代移动通信技术的特点:1G(语音),2G(短信),3G(可以处理简单多媒体业务),4G(可以播放高清视频),5G(应用范围更广,物联网领域)
③广播电视网络:利用有线电视的同轴电缆和光缆构成的混合网络。
· 优点:频带宽,容量大,成本低,抗干扰能力强,支持多种业务等优势。
· 缺点:易被搭线窃听,易造成单点故障,容易出现网络拥堵。
15.三网融合相关技术:
①数字技术:信息数字化,统一为二进制数据流
②光纤通信技术:大宽带,高质量的传输通道
③计算机网络互连通信技术(IP技术):不同通信网络间的数据传输
16.网络的组成
①计算机系统:根据在网络中的用途可以分为服务器和终端
· 服务器负责数据处理和网络控制,并构成网络的主要资源
· 终端是网络中数量大,分布广,用户进行网络操作,实现人机对话的设备工具
②数据通信系统:由传输介质和网络互联设备组成
· 传输介质是传输数据的物理通道,可以分为有线传输介质(双绞线,同轴电缆,光缆等)和无线传输介质(无线微波,红外信号等)
· 网络互联设备实现计算机之间,网与网之间的连接,主要包括调制解调器(信号转换),路由器(转发数据,组建网络),交换机(增加端口)等
③网络软件和网络协议
· 网络软件一方面授权给用户,使用户访问网络资源,另一方面管理和调度网络资源提高服务主要包括网络操作系统,通信软件以及管理和服务软件等
· 网络协议是网络上数据传输的标准及规则,在网络上传输信息至少经过三层协议
· 网际协议(IP协议):负责将信息从一个地方传输到另一个地方
· 传输控制协议(TCP协议):管理传输内容的完整性、
· 应用程序协议:不同的应用问题所需协议,都是基于TCP/IP协议,例如HTTP(超文本传输协议,解决浏览器跟服务器之间传输),SMTP/POP3(解决电子邮件的发送和读取)等
17.网络的构建
①确定网络结构,连接网络设备:将ISP光纤接入光调制解调器,将调制解调器连接至路由器WAN口。②互联网接入:设置路由器。③有线终端设备接入互联网:有线连接接入路由器的LAN口,④移动设备接入局域网。⑤网络连通性测试
18.网页传输过程
19.常见名词
①URL:统一资源定位器,用于定位因特网上文件资源的位置【协议://地址:端口/路径】
②ISP:因特网服务提供商,如移动,联通,电信等
③DHCP:动态主机配置协议,自动配置IP地址,网关,子网掩码等
④DNS:域名解析,将IP地址和域名对应起来
⑤SSID:服务集标识,无线网络的名称
20.网络架构
架构
终端程序
通讯开销
升级维护难度
服务器负荷
C/S架构
专用的应用程序
小
复杂、难度大
客户端服务器端需同时升级
低
B/S架构
浏览器
大
简单、难度小
高
21.网络应用程序开发见附2
【附1】传感器信息的获取——microbit实践
一、micro bit简介
①micro bit开发板可以获取传感信息,并且能通过串口和计算机通信。可以通过BXY编写开发板程序
②集成了5×5 LED点阵灯、2个可编程按钮、连接引脚、温度传感器、运动传感器 (加速度和指南针)、无线通讯,通过无线电和蓝牙、USB 接口、麦克风和蜂鸣器等。
二、常用指令
①模块导入
· from microbit import *
· import music
· ……
②显示输出micro:bit正面有5*5的LED显示屏,可以用来显示图案和文字;每个点的亮度范围:0~9;
· display.show() 分屏显示
· 显示内置笑脸)图案 display.show(Image.HAPPY)
· 显示字符A display.show(“A”)
· 显示自定义图案 a=Image(“00009:00090:00900:09000:90000”)
display.show(a)
· display.scroll() 滚动显示
· 滚动显示字符 display.scroll('Hello World!')
· 参数delay可以设置滚动速度 display.scroll('Hello World!',delay=2000)
③sleep(x) 程序暂停x毫秒(1秒=1000毫秒)
print() 向串口输出
④获取板载传感器信息
· temperature() 获取板载温度传感器数据
· accelerometer.get_x()/accelerometer.get_y()/accelerometer.get_z() 获取三轴加速计值
⑤可编程按钮
· 按钮表示 button_a/button_b A/B按钮
· 常用函数 is_pressed()/was_pressed()/get_presses() 按下/按过/按的次数
⑥串口通信,microbit板可以通过串口发送/接收计算机信息
microbit端使用uart相关函数(bxy中编辑)
python借助pyserial模块(IDLE中编辑)
⑦引脚pin可通过鳄鱼夹引出,支持读取传感器数据,控制舵机与RGB灯带等,也可使用扩展板连接(更稳定)模拟量是可变化连续的范围,如温度光线等;
数字量只有0和1 如led发光模块等
· read_analog()/read_digital() 读取模拟量/数字量
· write_analog()/write_digital()写入模拟量/数字量
【附2】 网络应用相关实践
一、Python中常用的Web应用程序框架有Flask、Django及Tronado.其中Flask Web框架非常精简,属于小型框架,允许开发者任意挑选符合需求的扩展。在本课程中采用Flask框架
二、Flask实践
(1)Falsk编写基本过程
①导入框架模块 from flask import Flask
②创建应用实例
app=Flask(__name__) #创建一个app对象用来接受web请求,__name__是内置变量,值为本py文件名
③编写路由和视图函数
@app.route(“/”) #确定访问以下视图函数的URL
def index: #以上路由对应的网页内容
……
④启动web应用
if __name__ ==”__main__”: #直接执行本文件时启动服务器
app.run() #运行服务器(可设定host, port,debug)
· 运行程序后,会返回服务器地址和端口号,可以打开网页,根据设定的路由输入对应URL访问。
如 http://127.0.0.1:5000/
(2)路由和视图函数
· 视图函数可以绑定多个 URL
· URL 中可以添加变量部分,标记<变量名>,则标记部分可以作为参数传递给视图函数
· @app.route()中可以传入关键字参数 methods 来指定用户使用GET/POST方法,默认情况下使用 GET 请求
(3)get/post传递参数
方式
说明
特点
GET
将参数按照“变量名=值”的形式,添加到 URL 后面,并使用“?”连接,变量之间使用“&”连接
只适合提交少量信息,并且不太安全(不要提交敏感数据)、提交的数据类型有限。
POST
将数据放在表单中的form数据体中,按照变量与值对应的方式,传递到指定的 URL
可以提交海量信息,相对来说安全一些,提交的数据格式是多样的(Word、Excel、rar、img)
(4)request模块获取参数
属性
描述
举例
form
操作表单中提交的数据,可以使用 form 属性
id = request.form.get("id")
args
操作URL(如?key=value)中提交的参数可以使用 args 属性
id = request.args.get("key")
method
获得当前请求方法,比如 POST、GET
a = request.method
(5)表单及模板的应用
①HTML的全称为超文本标记语言,它包括一系列标签,通过这些标签可以将网络上的文档格式统一。
语法 <标签 属性>内容</标签>
②为使用方便,表单通常包含在网页模板中。在html文件中添加表单标签<form> </form>创建表单
常见的表单类别· 在实际使用中flask_wtf可以保护表单免受攻击
· wtforms模块可以添加表单验证功能
③render_template(“网页文件“)渲染加载网页模板(网页文件扩展名为html)。
redirect(“路由”) 跳转指定路由(如‘/b’)
· flask使用了jinja2模板引擎,使render_template()不仅能渲染静态的html文件,也能传递参数给html
jinja2基本语法:{{ }}变量;{% %}控制语句
(6)调试发布
①run()函数设定host(IP),port(端口号)参数可以实现远程访问,debug参数可以设定是否打开调试模式,默认否
②flask-script模块中的server Manager提供了插入外部脚本的功能,应用该模块后可以直接调用 python 文件名.py runserver 命令运行
三、数据库相关实践
(1)在信息系统中,数据一般存在数据库中,一般我们使用的是关系型数据库。SQL语句是为操作数据库而开发的一种语言。
(2)在本课程中,我们采用的是SQLite数据库(扩展名.db),是一款轻量级、跨平台的,关系型数据库,具有独立性、零配置、开放性、占用资源低等特点。Python内置sqlite3模块,可以驱动SQLite。
(3)sqlite3的使用
①导入模块 import sqlite3
②连接数据库 con = sqlite3.connect(“student.db")
返回数据库连接对象,名为con。若不存在该数据库,则创建名为student.db的数据库。
数据库连接对象常用方法.cursor() 创建游标对象
.commit() 提交修改
.close() 关闭数据库连接
③创建游标对象cur = con.cursor() 为数据库连接对象con创建一个名为cur的游标(用来操作数据库)
游标对象常用方法.execute() 执行sql语句
.fetchone() 获取一条记录,并将游标指向下一条记录
.fetchall() 获取所有记录
.close() 关闭游标
④执行SQL命令cur.execute("CREATE TABLE IF NOT EXISTS chengji(xuehao TEXT, xingming TEXT)" )
· 利用execute函数执行SQL命令(SQL语句不区分大小写),常见SQL语句见下表
· IF NOT EXISTS :如果表存在,则不再新建
· 插入数据可以用变量代替,在SQL语句中用?或者%d(整型),%s(字符串型)占位
如:INSERT INTO xinxi(id,xingming) VALUES(%d,‘%s’)"%(data1,data2)
创建表
create table 表名(字段名 字段类型,字段名 字段类型,……))
例 create table temp(time TEXT,data TEXT))
插入数据
insert into 表名(字段名1,字段名2)values(对应值1,值2)
例 insert into temp(time,data) VALUES(1022,22)
查询
select * from 表名 [where 条件]
例select * from temp
更新
update 表名 set 字段名=值 [where 条件]
例update temp set data=20
删除
delete from 表名 [where 条件]
例delete from temp where data=32
⑤返回查询结果 cur.execute("select * from xinxi") #设置要查询的表及内容
data=cur.fetchall() #返回所有查询结果存储在列表data中
⑥提交保存数据 con.commit()
⑦关闭游标,数据库cur.close()/con.close()
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$$