我发现3是很好的数字(大三下期末复习)

假如这是一部精致且庄重的典籍,扉页上必须说点什么以表感怀,那必然要:

献给我的牙、牙龈和腮帮子
它们多次在考试周拼命刷存在感

本文专注于概念,目标是糊弄选填判断小题和简答题(如有)

《现代交换原理》概念

通信网组成的三要素是:终端设备、交换设备、传输设备
现代通信网的三大支撑网:No7信令网、数字同步网(就是管时钟同步的)、电信管理网TMN
信息传递三阶段:连接建立、传输信息、连接拆除。这是面向连接方式最显著的特征
交换网络三要素:交换单元、拓扑结构、控制方式。若干个交换单元按照一定的拓扑结构和控制方式构成的
交换网络的构成:控制子系统、信息传送子系统
交换的基本功能:在任意入线和出线之间建立连接
交换单元四个部分:入线、出线、控制端、状态端
五个常见交换单元连接方式:直接、交叉、间隔交叉、蝶式、均匀洗牌

  • 交叉连接(低位反)E
  • 间隔交叉(K位反)Ck
  • 蝶式(高低位互换)β
  • 均匀洗牌(高移低)δ

基于banyan的多通路结构:增长、扩展、膨胀、复份(多平面)

  • 增长型(增加一级)
  • 扩展型(除了入线,其余线都变为两根,出线再用三角形收成一根)
  • 膨胀型(入线每根还是1根,过了一级就变成两根、再过一级变3根……直到出线变n+1根)
  • 多平面

我发现benes就是m=n的clos

数字程控电话交换系统的构成:话路子系统、控制子系统

  • 话路子系统包括:接口设备、交换网络
    • 三种接口分为:用户侧接口(V、Z)、中继侧接口(A、B、C)、操作维护接口(Q3)
      • 数字接口:V、A、B
      • 模拟接口:Z、C
    • 模拟用户电路功能:馈、过、振、监、编(也叫模数转换)、混、测、主叫号码显示、极性转换、计费脉冲
    • 数字中继电路功能:帧、帧、复、码(NRZ→HDB3)、时、提
    • 交换网络:TST,nj+i,nv/8
  • 控制子系统的要求:1、BHCA最大忙时试呼次数(t=a+Nb,求N) 2、高可靠性
    • 三种控制子系统的控制方式:集中(可靠性差)、分级分散、全分散(可靠性好,易扩展)
      • 三种多处理机工作方式:功能分担、话务分担(负荷分担)、冗余
      • 三种双机冗余配置包含:同步方式、互助方式、主备方式

SDL中三种分级任务:故障级任务(最高优先级)、周期级任务、基本级任务(最低优先级)

LSP的组成:出入口LER、LSR、逻辑信道
三种标记分配方式:上游标记分配、下游自主标记分配、下游按需标记分配
标记分配过程:发现相邻LDP对等体、建立LDP会话、建立LSP
MPLS数据传输过程:入口路由器处理过程(3步)、核心路由器处理过程(1步)、出口路由器处理过程(2步)

信令是什么:通信网中规范化的控制命令
信令方式指的是:信令的结构形式、传送方式、控制方式。
三种传送方式:端到端(速度快但信令在多段上的类型必须相同)、逐段转发(慢但对线路要求低)、混合
三种控制方式:非互控(设备简单可靠性差)、半互控、全互控(慢、设备复杂、可靠性好)
No.7 是数字型公共信道系统, 64kbitps双向通道
No.7 协议栈:消息传递部分:MTP1、2、3,用户部分:TUP DUP ISUP
三种No.7 信令单元:MSU、LSSU、FISU,用LI(长度指示)字段区分
No.7 的TUP信令流程:IAM、ACM、ANC、通话、CBK、CLF、RLG
信令网的三个组成部分:信令点SP、信令转接点STP、信令链路
信令网路由选择原则:最短路径、负荷分担
我国三级信令网:HSTP、LSTP、SP

各个网元功能看表
如果让填5G网元,UE用户设备;(R)AN接入网;UPF 用户面功能(≈S/P-GW);AMF管理功能(≈MME);DN 数据网络 比如运营商服务、互联网接入和三方服务

智能网,呼叫控制和业务处理相分离
NGN的初级阶段,软交换,呼叫控制和承载相分离

  • 软交换四层:业务层、控制层、传送层、接入层
  • 每层的设备举例:接入层:信令网关、媒体网关、接入网关、综合接入设备;传输层没有;控制层:软交换机;业务层:应用服务器

NGN的中级阶段,IMS,呼叫控制和媒体控制相分离

  • IMS主要采用SIP协议,真正意义实现底层接入网技术无关,支持电路交换网络和分组交换网络上的一系列基于IP的业务,支持无线接入固定接入。比软交换的移动性好,存在多种CSCF实体(呼叫控制实体,包括I-CSCF、P-CSCF、S-CSCF)、MGCF(媒体控制实体)

SDN三个平面:应用层(APP)、控制层(SDN控制器)、转发层(网络设备)。是集中化的
三种接口:应用和控制之间是北向接口,控制和转发之间是南向接口(标准是openflow),网络设备之间的是东西向接口

北邮2024-2025第二学期《现代交换原理》期末考题回忆

小题没看见原题。

  • 选择,4G LTE网络控制面的网元有什么

大题:
– 总开销0.86,固定开销0.29,一次呼叫0.6ms,问BHCA是多少
– 用最少的有向开关构造16*16可重排无阻塞网络。画出网络结构、交换单元的容量、所用的最少开关个数。(192个)
– 给了一个具体场景,补全SDL图、SIP建立连接的消息流图,从SDP报文中分析主被叫是谁、协商的编码是多少、消息传递路径(不太会)
– MPLS,经典题型。有一问问了一个下游按需分配方式的消息路径。
– 移动交换,1)补全图中网元名称 2)给出概念,问叫什么。(切换、漫游、鉴权) 3)给出用途,问哪个网元是负责这个的 4)切换时,哪些网元参与了
– SDN,给网络拓扑和每个交换机的流表,1)画出具体的转发路径,2)写出1)过程中流表的匹配、动作过程,3)如果没有匹配,那么接下来交换机的完整流程是什么

《软件工程》主线理解

需求分析

需求分析之前还有:系统分析、可行性分析(分析问题值不值得解决)
重要性:需求的不确定性会导致软件开发不同阶段不同角色对需求理解的偏差,只有清晰的描述和一致理解需求,最后造出来的软件才能被客户接收。
目标:准确的定义新系统的目标,回答系统必须“做什么”的问题,并编写需求规格说明书。
过程:当前系统→物理模型→逻辑模型→目标系统逻辑模型

面向对象需求分析

用例

用例作用:发现系统的功能性需求,将系统功能放到用户角度去考虑,找到真正对用户有用的功能
用“用例”描述系统功能的好处:用户没看到系统之前很难想象他需要的系统有什么功能,但如果让用户讲他目前已有的工作流程是非常容易的。
用例建模的基本过程:1.系统边界 2.参与者 3.从参与者目标识别出用例
用例概念:描述参与者使用系统的一组成功场景和失败场景的集合

领域模型

概念:通过uml类图和活动图,针对某一特定领域内概念类或者对象的抽象可视化表示
作用:帮助开发人员短时间内正确理解用户业务领域的专业知识和关键流程
步骤:1.识别概念类 2.建立关系 3.设置属性

类图:依、关、聚、组、继

依赖:A类是B类方法中的参数、A类是B类方法中的局部变量、B类调用了A类的静态方法

  • 虚线箭头从B指向A

关联:类A是成员变量类B的成员变量

  • 实线、单向实现箭头(“导航”,从B指向A,被指的是东西)
  • 重数:1v1 1vn nv1
  • 关联类:比如考题生成规则、考核记录

聚合:也是成员变量,那就需要通过语义来区分了

  • 空心菱形

组合:能给成员变量赋初值

  • 实心菱形

继承

  • 空心三角

OOA和OOD的区别

  • OOA是对于真实世界中的问题、职责进行描述,不需要考虑怎么实现。用户角度。领域模型。概念类。
  • OOD需要考虑编程的实现。系统实现角度。设计模型。设计类。

OOD是什么

  • 在OOA模型基础上运用面向对象方法进行系统设计,目标是产生一个符合具体实现条件的OOD模型

OOD主要工作

  • 软件体系结构设计(必须在用例实现方案设计之前进行)
  • 用例实现方案设计
  • 用户界面设计(与其余两项没有必须的前后关系)(前两个是重点)

OOD结果

  • 以uml包图等表示的软件体系结构
  • 以交互图和类图表示的用例实现
  • 针对复杂对象的状态图
  • 描述流程化处理过程的活动图

层次化设计:

  • 同一类放一起

软件分层的好处(软件体系结构设计中的内容)

  • 健壮性
  • 易于扩展和维护

原则:对某一划分出的层次进行修改时,只要接口不变,系统的其他部分应该不受影响,扩展维护可移植

包图描述层。本课学到了五层软件分层结构,松耦合架构,分别是:用户界面、控制器、业务逻辑、持久化、系统管理

  • 用户界面层:人机接口
  • 控制器层:并不进行任务处理,而是任务拆解和分发。实现了界面层和逻辑层的分离。控制器数量与用例数量相对应
  • 业务逻辑层:这里边的类来源于OOA的概念类。但二者有本质区别:领域模型的类,着眼于业务对象,不涉及对象的动作行为。只有属性没有方法。业务逻辑层的类需要通过消息交互共同完成用户发出的系统事件,因此不仅有属性也有方法。但好消息是OOA和OOD都用类和对象表示,所以只需要对领域模型的概念类增加方法即可得到设计模型的设计类。
  • 持久化层:引入的目的是,以防数据存储策略变化。变化之后,业务逻辑层不用动。
  • 系统层:非面向对象方式实现。软件与操作系统分离,增加应用的可移植性。绝不能调用其他层次的类,因为系统层是最底层。

OOD基本原则(优秀经验)

  • 单一职责原则(一个类只包含一个对外功能,也就是只能有一个public方法),这样能提高类的内聚性。瑞士军刀和瑞士小刀
  • 开闭原则(对于功能可以扩展,但代码不能修改,这似乎是矛盾的,于是这条想说的就是依赖于抽象,使用封装技术进行封装)例如,有一个联系方式管理器类,依赖(就是依关聚组继的那个最弱的依赖)于phone类和email类,这是坏的,因为如果要扩展一个“传真”,那么联系方式管理器类的代码一定要被改的。正确做法是,令联系方式管理器依赖于一个抽象的父类,phone和email对继承自抽象类,那么就做到了“功能扩展而代码不改”的效果。
  • 里氏替换原则(父类对外提供的方法,子类必须能够提供,不然就不要贪图代码的复用而进行继承)橡皮鸭子不能继承真鸭子
  • 依赖倒置原则 (①高层模块不应依赖低层模块,二者都应依赖于抽象;②抽象不应依赖于具体,具体应依赖于抽象)翻译成人话的解释,是,①高层不要直接调用底层方法,声明一个接口,让低层去实现 ②跟开闭原则讲的一件事
  • 接口隔离原则:对不同的用户提供不同接口。客户冰糖要1,你因为客户雪梨要123,所以给冰糖也提供了123,这将产生负担。
  • 组合聚合复用原则(复用代码不要老想继承,这太暴露了,优先考虑作为成员变量(也就是组合聚合),这样信息还是隐藏的)
  • 迪米特原则(不要和陌生人说话,是信息隐藏原则的直接应用)熟人范围有五个。

设计用例实现方案
就是前面五个层次给出了框架,现在要往框架里填具体的对象是谁。包括“创建系统动态结构”、“创建系统静态结构”
设计类的来源:一个是前面说到的“概念类+方法”,这些最后都落到“业务逻辑层”,二是新增的,因为OOD考虑到“实现”这一步了,比如负责任务分发的类、负责持久化的类、负责通信的类是必不可少的,这些是之前在用户角度看不到的,这些类落到:用户界面层,控制器层,系统管理层,持久化层。
了解型职责,行为型职责

面向对象最关键的活动是正确的给对象分配职责。本课推荐基于设计模式的对象职责分配方法。

设计模式是什么?是软件开发经验的总结
GoF设计模式是什么?GoF是四个人,共同写了一本书《Design Patterns: Elements of Reusable Object-Oriented Software》,收录23种设计模式。后人用“GoF设计模式”指代这本书
本课中讲的GRASP设计模式与GoF有什么区别?GoF面向特定待解决的问题提供方法论,GRASP是基础,面向“面向对象设计”来告诉初学者怎样去设计

GRASP包含:
信息专家
创建者
控制器
(还有几个但考试大概只考察上面三个)

软件测试

侠义的软件测试是程序本身,现代的软件测试指的是为了发现软件中存在的错误,对软件开发过程中形成的各项输出进行检查。注意“各项输出”,包括了需求规格说明、概要设计说明……

那么软件生存期各个阶段需要测试的对象如图所示。

广义的软件测试分为:测试、确认、验证。