数据链路层 数据链路层将网络层传来的IP数据报封装成帧,差错控制,流量控制,介质访问控制 数据链路层的作用封装成帧 帧定界:确定帧的界限 帧同步:接收方能区分帧的起始和终止 透明传输:不管什么样的比特组合,都能在链路上传输 方法:字符计数法,字节填充法,0比特填充法,违规编码法 差错控制 奇偶校验码,循环冗余码CRC,海明码 流量控制 限制发送方发送速率不超过接收方的接收能力。 数据链路层:点对点,接收方接受 2023-01-10 计算机基础 > 计算机网络 #计算机基础
计算机网络体系结构 计算机网络体系结构协议:网络中对等实体之间的通信规则(水平) 协议的三要素 语法:规定传输的格式 语义:规定所要完成的功能 同步:规定操作的顺序 服务:下层为相邻的上层提供功能的调用。(垂直) 接口(服务访问点SAP):上层使用下层服务的入口。 SDU:服务数据单元,完成用户所要求功能而传送的数据。 PCI:协议控制信息,控制协议操作的信息。 PDU:协议数据单元,对等实体之间传输的数据单位。 2023-01-09 计算机基础 > 计算机网络 #计算机基础
物理层 物理层奈奎斯特定理(奈氏准则)理想低通信道下的极限数据传输率=2Wlog2V V=有多少种不同的码元 给出了码元传输速率限制,没有给出比特传输速率限制 信道的频带越宽,就可以用更高的速率进行码元传输 要提高数据的传输速率,就必须设法使每个码元携带更多个比特的信息量 香农定理在带宽受限且有噪声的信道中,极限数据传输速率=Wlog2(1+S/N) 信道的带 2023-01-09 计算机基础 > 计算机网络 #计算机基础
软件工程基础与发展 1-2-软件工程基础与发展什么是软件? ①软件独立于硬件。 ②软件是一种工具。 ③软件以程序代码为核心,由程序,文档,数据三个部分组成。 ④软件的开发远远比编程更复杂。 ⑤应用软件基于现实又高于现实。 为什么应用软件基于现实又高于现实?(软件建立的依据) ①应用软件开发的目的和意图来源于现实问题。 ②应用软件必须基于现实才能解决问题。 ③应用软件最终要用于现实并改进现实。 软件工程定义: ①应用系 2022-06-15 计算机基础 > 软件工程 #计算机基础
软件体系结构设计与构建 10-软件体系结构设计与构建体系结构设计的过程: ①分析关键需求和项目约束; ②选择体系结构风格; ③进行软件体系结构逻辑(抽象)设计; ④依赖逻辑设计进行软件体系结构物理(实现)设计; 1.按照功能需求与体系结构风格建立初始设计; 2.按照非功能需求与项目约束评价改进初始设计。 ⑤完善软件体系结构设计; ⑥定义构件接口; ⑦迭代过程③→⑥。 包的创建原则: 逻辑设计中的每一个包对应一个开 2022-06-15 计算机基础 > 软件工程 #计算机基础
详细设计基础 12-详细设计的基础详细设计出发点: 软件详细设计应该在软件体系结构设计之后进行,以需求开发的结果和软件体系结构的结果为出发点。 软件设计的上下文 目的:实现所有功能性需求和非功能性需求 。 结果:详细设计文档和详细设计原型代码。 面向对象设计的两个过程: 1)设计模型建立 通过职责建立静态模型: ①抽象对象的职责:属性职责表示对象的状态;方法职责表示对象的行为; ②抽象类之间的关系:泛化 & 2022-06-15 计算机基础 > 软件工程 #计算机基础
人机交互设计 11-人机交互设计人机交互设计的目标——透明,易用性 易用性:用户使用软件所花费的努力及对其的评价。 易用性的维度定义: ①易学性:新手用户容易学习,能够很快使用系统。 ②易记性:以前使用过的用户能有效记忆或者快速重新学会使用系统。 ③效率:效率指熟练用户使用系统完成任务的速度。 ④出错率:系统尽可能避免出现错误。 ⑤主观满意度:用户有良好体验。 易学性和效率存在冲突: 如银行大厅触屏应用(针对新 2022-06-15 计算机基础 > 软件工程 #计算机基础
详细设计中的模块化与信息隐藏 13-详细设计中的模块化与信息隐藏模块化和信息隐藏 是软件设计的核心思想之一。 模块化:将系统分解为不同的模块,每个模块承担一定的职责,目标为高内聚,低耦合 信息隐藏:隐藏模块具体的实现细节和变更,抽象出模块的接口 模块化的本质是分解,信息隐藏的本质是抽象。 结构化方法和面向对象方法的区别: 结构化方法:更重视功能内聚 依赖功能分解组织函数/过程,数据的组织以方便函数/过程的组 2022-06-15 计算机基础 > 软件工程 #计算机基础
面向对象下的模块化 14-面向对象下的模块化面向对象中的两种特有耦合(与结构化方法中的六种耦合并不是并立关系):1.访问耦合;2.继承耦合。 访问耦合包含: ①隐式访问:B没有在A的规格出现,也没有在实现中出现(例如a.methodA.methodB(),隐式调用了B的方法,维护时很难发现调用了B方法,违反了迪米特) ②实现中访间:B的引用是A方法中的局部变量。 ③成员变量访问:B的引用是A的成员变量。 ④参数变量访 2022-06-15 计算机基础 > 软件工程 #计算机基础
面向对象下的信息隐藏 15-面向对象下的信息隐藏信息隐藏的含义 1)封装类的职责,隐藏职责的实现 2)预计将会发生的变更,抽象它的接口,隐藏它的内部实现机制 基本思想:每个模块隐藏一个重要的设计决策,即每个模块承担一定的职责,对外表现为一份契约,即隐藏实现,抽象出接口。 信息隐藏的决策 职责的实现、实现的变更。 信息隐藏的目的 为了做到模块与模块之间尽可能的独立,以实现软件的可拓展性和可伸缩性。 封装的含义: 1.集 2022-06-15 计算机基础 > 软件工程 #计算机基础