网络的定义:
1、利用通信线路将地理位置分散的、具有独立功能的许多网络主机联系起来。
2、按照特定的协议标准进行数据通信,以实现资源共享的信息系统。由此引申出tcp/ip协议
网络协议:网络实现通信时必须遵守的规则和约定。
举例双方通话时约定使用的同一种语言。
OSI 7层模型:
https://www.cnblogs.com/qishui/p/5428938.html 这个博客非常的简单易懂。
https://www.cnblogs.com/shiyuheng/p/8760210.html 表格很详细。
应用层:为计算机用户提供应用接口,也为用户提供各种网络服务。
表示层:就是数据格式的转换,对发送端和接收端的数据进行压缩解压缩、加密加密。
会话层:发送端和接受端建立会话,使用和断开会话连接。
传输层:为主机提供端到端的连接。比如MySQL数据库,如果使用,必须填写默认端口号3306,其他的数据库都有不同端口号。
网络层:网络连接服务。
数据链路层:将比特合成字节,再将字节组合成帧,使用链路层地址来访问介质,并进行差错检测。
物理层:主要包含物理连接媒介,比如双绞线、水晶头、电缆、光缆等。
各层对应的功能和协议:主要看应用层。
应用层常见的协议:HTTP、HTTPS、FTP、SMTP、DNS等。
Arp:地址解析协议,根据IP地址获取物理地址的一个tcp/ip协议。主机发送消息时,给广播所有人发送,并接受返回消息,以此确定目标的物理地址
http端口号80
1. 常用的tcp/IP协议,Telnet:远程连接,arp:地址解析协议,ICMP:控制报文协议,在主机和路由器之间传递控制消息。
2. ftp:远程文件传输协议。
3. SMTP:简单的邮件传输协议
4. Nfs:网络文件系统
5. Udp:用户数据报协议,可靠的、无连接的传输层协议
6. 超文本传输协议:应用最广泛的一种网络协议,所有的www文件都必须遵守这个标准。
tcp和udp的区别:
Tcp:面向连接的、可靠的传输层通信协议
UDP: 用户数据报协议,无连接的传输层协议
区别:
- tcp是面向连接,比如打电话要先拨号再建立连接,udp是无连接的。
- tcp提供可靠的服务。通过tcp连接传送的数据,无差错,不丢失,不重复,但是交付速度比较慢,udp传送数据会有丢失重复等现象。
- udp具有较好的时效性,传送速度快,适用于高速传输,比如看视频等。Tcp与之相反。
- tcp连接是一对一,而udp则是一对多。
一些简称:
IT:information technology英文缩写,全称信息技术。
IP:网络协议地址,是给用户上网使用的网际协议。
网络测试:
127.0.0.1本机ip地址
Nslookup www.baidu.com 测试dns解析是否正确。
软件的生命周期:
问题定义、可行性分析、总体描述、系统设计、编码、调试和测试、验收与执行
软件的开发模型:
瀑布模型:
需求分析——设计——编码——实现——【软件测试——完成——维护】
优点:开发的各个阶段比较清晰,2、当前阶段完成后只需要关注后续阶段
缺点:依赖于早期的需求调查,不适应需求的变化。2、风险后期显露,失去及早纠正的机会。3、前面未发现的错误会传递并扩散到后面的阶段,可能导致项目的失败。
1、开发步骤是独立的,不交叉
快速原型模型:快速分析——构造原型——运行原型——评价原型——修改
在开发真实的系统之前,创建一个原型模型,然后在此原型的基础上不断的完善。
优点:克服瀑布模型的缺点,减少由于软件需求不明确带来的开发风险。
注意,这种模型适合余下不能确切定义需求的软件系统的开发。
缺点:1、所选用的开发技术和工具不一定符合主流的发展,快速建立的系统结构并且不断修改可能会导致产品质量低下。2、使用这个模型的前提是要有一个展示性的产品原型,因此在一定程度上回限制开发人员的创造力。
螺旋模型:制定计划——风险分析——实施开发——客户评估
是一种演化软件开发过程的模型,兼顾了快速原型的迭代特征以及瀑布模型的系统化与严格化。强调风险,在每个阶段之前及经常发生的循环之前,都必须首先进行风险评估。
周期性的开发方法、四种象限
优点:设计上的灵活性,可以在项目的各个阶段进行变更。成本计算简单容易,客户参与每个阶段的开发,保证了项目不偏离正确方向,以及项目的可控性。
缺点:建设周期长,而软件技术发展较快,无法满足当前用户的需求。
V-模型
【开发】需求分析-概要设计-详细设计-编码——【测试】单元测试-集成测试-系统测试-验收测试
每一个环节都依赖于前一个环节。
单元测试:验证最小的模块,详细设计中的每一个细节
集成:验证概要设计,接口
系统测试:需求分析。检测已集成在一起的产品是否符合系统规格说明书(SRS、PRD)
验收测试:用户需求。检测产品是否符合最终用户的需求。
优点:包含底层测试和高层测试,开发的阶段十分清晰,便于控制开发过程。
缺点:顺序性所致,前期的错误后期测试阶段才发现。无法很好的适应需求的变化。
W模型:又称为双V模型
第一个是开发模型,第二个是测试模型
测试与开发并行
特点1:1、测试伴随着整个软件开发周期,2、测试的对象不仅仅是程序,需求、设计等同样要测试,3、测试与开发是同步进行的。
优点:W模型有利于尽早的全面的发现问题,有利于降低开发成本。
特点2:需求、设计、编码等活动被视为串行,2、测试和开发活动也保持着一种线性的前后关系,上一阶段完全结束,才可正式开始下一个阶段工作。
局限性:无法支持迭代的开发模型(需求变更,更新)2、对于当前软件开发复杂多变的情况,W模型并不能解除测试管理面临着困惑。
V模型和W模型优缺点对比:
H模型:
交叉进行,更多的是迭代执行。
将测试活动独立出来
优点:
1、软测完全独立,贯穿整个生命周期,且与其他流程并发进行
2、软测活动具有很强的灵活性。
软件的分类:
单机软件:不联网就能玩耍比如ps、ai、
分布式软件:C/s(client/sever)软件,必须装有软件才能使用,
B/s(browser/server)软件,京东、淘宝
是否需要客户端。
B/s只用浏览器就能使用,比如百度、谷歌、等,整个系统的事务处理都要用服务器来完成,浏览器起显示作用。京东、淘宝
c/s:需要下载专用的客户端,客户端的电脑也可以参与整个系统的事务处理,可以处理一些不需要服务器处理的事务。极域电子教室软件