内容正文:
第四章
Chapter 4
信息系统的搭建实例
1
目录
1
2
搭建信息系统的前期准备
搭建信息系统
3
完善信息系统
复习回顾
知识梳理
前期准备
需求分析:目标期待,功能需求,性能需求,资源和环境需求,用户界面需求,可扩展性需求
可行性分析:必要性分析,可行性分析(技术,经济,社会)
开发模式选择:C/S模式 或B/S模式
概要设计:模块结构设计(功能划分,数据调用关系),系统物理配置,数据库管理系统的选择
详细设计:输入设计,输出设计,人机界面设计,数据库设计,代码设计,安全设计
提升练习
前期准备
下列关于信息系统的说法,不正确的是( )
A.搭建简易的信息系统时,可以不进行架构分析
B.功能需求可分为核心需求、拓展需求和创新需求三类
C.搭建信息系统一般采用C/S模式或B/S模式
D.人机界面设计属于信息系统详细设计中的环节
A
提升练习
前期准备
关于硬件搭建的说法,下列选项中不正确的是( )
A.服务器为信息系统中的用户提供各种服务,如应用程序的处理和打印服务等
B.网络设备主要包括交换机、路由器、网卡、双绞线、光缆等
C.传感设备是信息系统中重要的输入设备,主要负责检测
D.智能终端的功能不需要依靠传感器来实现
D
提升练习
前期准备
在B/S开发模式中,访问服务器的是( )
E-mail
浏览器
客户端程序
专用程序
B
提升练习
前期准备
下列说法正确的是 ( )
A.必要性分析包含技术上的可行性
B.针对在社会环境中工作的信息系统,要考虑其社会意义
C.选择B/S模式搭建信息系统的优势更大
D.搭建信息系统优先考虑自主研发相关软件
B
提升练习
前期准备
下列关于搭建信息系统前期准备的描述,正确的是 ( )
A.搭建系统的前期准备就是随便写一篇文章,可有可无
B.输入设计、输出设计属于概要设计的内容
C.信息系统的性能需求主要包括核心需求、创新需求和拓展需求
D.确定信息系统各个模块的功能和模块间调用关系属于概要设计
D
知识梳理
信息系统搭建
智能终端功能
连接WIFI及服务器(IoT模块)
通过POST请求发送传感器数据
根据GET请求数据对执行器做出响应
服务器端功能
接受智能终端数据并存储到数据库
根据智能终端数据处理高温警报状态
响应浏览器,实时显示温度
1.搭建基本架构
知识梳理
信息系统搭建
2.智能终端程序
(1)连接网络
①借助IoT模块可以为microbit板增加联网功能。IoT模块有4个接口,传输+,-,RX(接收),TX(传输)
ü uart.init(baudrate=9600, bits=8, parity=None, stop=1, tx=pin2, rx=pin1)
#串口设置,波特率,数据位,奇偶校验,停止位数值,引脚设置(交叉连接)
ü Obloq.connectWifi(SSID,PASSWORD,10000) #连接WiFi
ü Obloq.ifconfig() #返回连接成功的IP地址
(2)连服务器
Obloq.httpConfig(IP,PORT) 连接服务器,成功返回True 否则返回False
配置http,设置被访问服务器的 IP 地址和端口号(终端与服务器通过HTTP协议进行数据传输)
知识梳理
信息系统搭建
(3)发送post请求,提交数据
Obloq.post(URL,DATA,TIME)
函数功能 post请求,将数据以 JSON格式进行提交
参数 URL 提交的目标地址(服务器端路由)
DATA 需要提交的数据,JSON格式
TIME 连接超时时间,在该时间内一直尝试连接,单位毫秒
函数返回值 errno:请求状态码
200连接成功 400错误请求 404未找到 408请求超时
resp:请求返回的数据
2.智能终端程序
知识梳理
信息系统搭建
(4)通过get请求获取高温警报状态
Obloq.get(URL_DATA,TIME)
函数功能 get请求,将数据拼接在 URL中进行提交
参数 URL_DATA 提交的目标地址,包含提交的数据在内
格式:url ?val1=num1&val2=num2……
TIME 连接的超时时间,该时间内会一直尝试连接,单位毫秒
函数返回值 errno:请求状态码
200:连接成功 400错误请求 404未找到 408请求超时
resp:请求返回的数据
2.智能终端程序
知识梳理
信息系统搭建
3.服务器端程序
(1)/input 响应终端的post请求,获取实时温度,处理json格式数据的POST请求
request.json['key'] 将JSON数据转换成 Python类型(获取关键字key对应的值)
(2)/output界面 响应终端的get请求,返回高温警报状态值,利用request模块获取get数据(见第二章网络应用实践)
(3)/get 响应网页请求,返回实时温度
提升练习
信息系统搭建
学校搭建了井盖安全实时监测系统,为井盖安装了智能终端、水平传感器和 IoT 物联网模块。各个井盖的智能终端每隔 10 秒钟就会推送自身倾斜角度给服务器,管理人员可以在学校或家里通过浏览器查看监测信息。同时学校警务室安装了智能终端和警铃,当有井盖出现连续多次倾斜角度大于阈值,警务室的智能终端就会接收到打开警铃报警的指令。
提升练习
信息系统搭建
下列说法正确的是( )
A.搭建Wi-Fi必须用到的光调制解调器和交换机
B.该系统的用户有管理人员,警务室人员及其他系统操作和维护人员等
C.该系统需要多个智能终端和多个IOT模块
D.数据库和浏览器均属于系统软件
E.水平传感器的作用类似于霍尔传感器
F.警铃报警采用的是控制技术
BCF
提升练习
信息系统搭建
IP= "172.16.14.45"
……
uart.init(baudrate=115200, bits=8, parity=None, stop=1, tx=pin12, rx=pin8)
#连接网络,代码略
while True:
#水平传感器获取倾斜角度temp,代码略
erron,resp = Obloq.get('input?id=1&angle=’+str(temp), 10000)
if erron == 200:
if resp==0:
pin2.write_digital(1) #开启警铃
else:
____①___ #警铃关闭
else:
display.scroll(str(erron))
______②_____________
(1)上述IP为 (服务器/客户端)的IP地址,IOT模块的TX 引脚应连接在智能终端的 端口(选填:pin12/pin8)
(2)智能终端通过GET方式传输数据时,倾斜角度存储在变量 (选填:temp/angle)中
pin2.write_digital(0)
sleep(10*1000)
服务器
pin8
angle
提升练习
信息系统搭建
@app.route('/input',methods=['GET']) #get方式传递参数
def shangchuan():
sid=request.args.get('id')
svalue=request.args.get(‘temp’)
#获取系统当前时间nowtime
db = sqlite3.connect("d:/test.db")
cur = db.cursor()
cur.execute(“______________①___________________”)
conn.commit()
(1)接收智能终端数据的路由和视图函数分别为 ________________、_______________
(2)数据库文件名为:______________,存储所有传感器倾斜角度的数据表名为_____________
(3)请为划线1处选择正确的数据库操作语句( )
A. insert into jl(sensorid,jd,updatetime) VALUES(id,angle,nowtime)
B. insert into jl(sid,svalue,nowtime) VALUES('%s',%d,'%s')" %(sensorid,jd,updatetime)
C. insert into jl(sensorid,jd,updatetime) VALUES(sid,svalue,nowtime)
D.insert into jl(sensorid,jd,updatetime) VALUES('%s',%d,'%s')" %(sid,svalue,nowtime)
/input
shangchuan()
test.db
j1
D
提升练习
信息系统搭建
@app.route('/cx',methods=[‘___(1)___'])
def chaxun1():
sid=request.form.get('id')
……
cur.execute("select * from jl where sensorid=('%s')"%(sid))
conn.commit()
data=cur.fetchall() #将查询出的所有记录保存到二维列表t中
……
return render_template('/jl.html',data=data)
if __name__ =='__main__':
app.run(host='172.16.14.45',port=8000,debug=True)
(1)划线1处当前路由的http请求方式应为 (GET/POST)
(2)访问当前页面的URL为:_____________________________________
POST
http://172.16.14.45:8000/cx
知识梳理
完善信息系统
系统测试是指测试结果与系统的需求相比较,发现不符或矛盾的地方,及时加以修正。
(1)软件测试:测试只能发现程序错误,不能证明程序无错,测试不可能包含所有数据
正确性证明:运用数学技术来证明软件是否正确
动态测试:直接在客户端或服务器端上运行程序,检查实际输出结果与预期是否相符
静态测试:不实际运行程序,运用人工和计算机辅助分析手段检测
(2)硬件测试:到货后先初验测试(配置,外观,运行),初验通过后与软件,网络一起系统测试
(3)网络测试:到货后先初验测试(配置,外观,运行),初验通过后再系统测试
知识梳理
完善信息系统
按系统阶段划分:系统规划阶段,系统分析阶段,系统设计阶段,系统实施阶段,系统运行与维护阶段。
按服务目的划分:用户文档,开发文档,管理文档
按文档内容划分:
可行性研究报告:目标、要求和约束,技术、经济、社会意义的可行性
系统分析说明书:摘要、背景、参考资料、需求分析、实施计划
系统设计说明书:模块代码设计,输入输出、数据库、交互界面设计等
程序设计报告:程序结构、流程图、算法、源代码
系统测试报告:测试内容、方案、结果
系统使用和维护手册:使用说明、问题解释
系统评价报告:目标是否达到,可靠性安全性效益评价
提升练习
前期准备
下列关于完善信息系统的说法,不正确的是 ( )
A.网络设备到货后,需要进行运行测试
B.系统测试报告属于系统实施阶段的文档
C.动态测试指采用人工检测和计算机辅助分析的手段对程序进行检测
D.新系统的目标、要求、约束体现在可行性研究报告中
C
提升练习
前期准备
下列关于信息系统文档的说法,不正确的是 ( )
A.正确性证明不仅能发现程序错误,还能证明程序无错
B.按文档不同的服务目的,可以将信息文档分为用户文档、开发文档与管理文档
C.系统运行与维护阶段的文档包含用户手册、操作手册与维护修改建议书等
D.系统使用与维护手册可以提供给业务人员使用
A
聆
听
谢
谢
24
$$