模块与接口规范共33页
中国电信省级业务平台综合网管系统接口规范-MMSC 分册V2 2(20130705)

中国电信省级业务平台综合网管系统接口规范MMSC分册中国电信省级业务平台综合网管系统接口规范MMSC分册V2.2中国电信股份有限公司2013 年 3月目录1 文档说明 (6)1.1 编写目的 (6)1.2 适用范围 (6)1.3 起草单位 (6)1.4 解释权 (6)1.5 版权 (6)2 综述 (6)2.1 目标 (6)2.2 内容说明 (7)2.3 参考文档 (7)2.4 符号和缩略语 (8)3 性能及统计指标 (8)3.1 MMS互联网关统计[删除] (8)3.2 MMS统计 (8)3.2.1 MMSC系统配置 (8)3.2.2 MMS业务KPI统计 (12)3.2.3 MMS业务量统计 (14)3.2.4 MMS业务量分省/地区统计 (15)3.2.5 MMS业务成功率统计 (15)3.2.6 MMS业务成功率分终端统计 (16)3.2.7 MMS业务流量统计 (17)3.2.8 MMS业务流量分布统计 (17)3.2.9 MMS业务用户收发分布统计 (18)3.2.10 MMS业务用户发送分布统计 (19)3.2.11 MMS业务用户接收分布统计 (19)3.2.12 MMS业务量用户分布统计 (20)3.2.13 MMS邮件收发业务统计 (21)3.2.14 MMS邮件发送业务统计 (21)3.2.15 MMS邮件接收业务统计 (22)3.2.16 MMS增值业务统计 (23)3.2.17 SP的MMS分省/地区业务统计 (24)3.2.18 终端使用SP业务用户收发分布统计 (25)3.2.19 终端使用SP业务用户发送分布统计 (25)3.2.20 终端使用SP业务用户接收分布统计 (26)3.2.21 注册终端型号数量排名统计(可选) (26)3.2.22 终端收发消息成功率统计指标组(可选) (27)3.2.23 MMS业务成功率报表统计 (27)3.2.24 用户数统计 (29)3.3 MMS接口消息成功率统计 (30)3.3.1 MMS接口配置 (30)3.3.2 MM1接口WAPGW消息成功率(上行业务)指标组 (31)3.3.3 MM1接口WAPGW消息成功率(下行业务)指标组 (32)3.3.4 MM3接口Email Server消息成功率(上行业务)指标组 (33)3.3.5 MM3接口Email Server消息成功率(下行业务)指标组 (33)3.3.6 MM4接口互连MMSC消息成功率(作为发送方)指标组 (34)3.3.7 MM4接口互连MMSC消息成功率(作为接收方)指标组 (34)3.3.8 MM7接口VASP消息成功率(上行业务)指标组 (35)3.3.9 MM7接口VASP消息成功率(下行业务)指标组 (36)3.3.10MM1接口短信直连通知消息下发成功率指标组 (36)3.4 彩信拦截和监控(可选) (37)3.4.1 门限配置 (37)3.4.2 关键字配置 (37)3.4.3 性能 (38)3.5 关键性能指标要求 (38)3.5.1 关键性能指标接口方式 (38)3.5.2 关键性能指标 (38)3.5.3 关键性能指标补采要求 (39)3.5.4 性能数据完整性检查 (40)4 监视功能要求 (40)4.1 告警信息上传接口方式 (40)4.2 告警信息过滤 (41)4.3 告警信息 (41)4.4 告警同步 (43)5 业务配置功能要求 (43)5.1 激活功能 (43)5.2 关键业务信息配置功能 (43)5.2.1 系统黑名单配置接口 (43)5.2.2 用户级黑名单配置接口 (45)5.2.3 垃圾监控策略配置接口 (45)5.2.4 主题封堵策略配置接口 (47)6 安全功能要求 (48)7 查询功能要求 (48)7.1 系统黑名单查询接口 (48)7.2 用户级黑名单查询接口 (49)7.3 垃圾监控策略查询接口 (50)7.4 主题封堵策略查询接口 (51)7.5 彩信中心彩信业务配置查询接口 (52)8 北向接口性能要求 (53)8.1 标准、开放 (53)8.2 可扩展性 (53)8.3 多元化 (53)8.4 可靠性 (54)8.5 接口处理能力 (54)8.5.1 实时性 (54)8.5.2 并行处理能力 (54)8.5.3 响应时间 (54)8.6 版本的稳定性 (54)9 话单采集要求 (54)9.1 话单采集数据格式及接口要求 (55)9.1.1 多媒体消息纪录数据采集上传接口要求 (56)9.1.2 多媒体消息纪录文件定义和命名规范 (56)9.1.3 完整性核查通知功能 (57)9.2 多媒体消息中心话单数据采集项目定义 (58)9.3 话单文件记录对应关系 (59)9.3.1 中兴彩信中心 (59)9.3.2 华为彩信中心 (60)9.3.3 上海贝尔彩信中心 (61)10 附录 (61)10.1 附录一:编制人员名单 (62)10.2 附录二:KPI/KBP命名规则 (62)10.2.1 指标集定义 (62)10.2.2 KBP/KPI编码 (63)10.3 附录三: FTP接口约定 (67)10.4 附录四:配置性能统计与监视功能接口格式约定 (68)10.5 附录五:响应码对照表 (68)10.6 附录六:采集文件以及采集文件夹的定义 (68)10.6.1 中兴彩信中心 (68)10.6.2 华为彩信中心 (71)10.6.3 上海贝尔彩信中心 (78)文档版本记录文档变更记录1文档说明1.1编写目的本规范是中国电信业务平台综合网管系统接口规范的一个分册,结合CTG-MBOSS的总体框架和各目标系统的规划,充分考虑业务平台综合网管系统与MMSC平台的接口要求,为中国电信业务平台综合网管系统与MMSC平台集成接口的规划和建设提供基本的技术原则和要求。
总线基本知识(共34张PPT)

第3页,共34页。
Home
1
1.微型计算机总线概述
总线:是一组信号线的集合.它是器件之间通信和控制 的的渠道.
——以分时的方法来为多个部件服务的 ——总线仲裁电路来避免总线冲突
——总线的指标主要有2个,总线的工作频率和总线的宽度
—总线频率是总线时钟频率
—总线的宽度是指能够一次并行传送的信息位数
第4页,共34页。
RS-485采用半双工工作方式,因此,发送电路须由使能信号 加以控制。RS-485用于多点互连时非常方便,可以省掉信号 线
第22页,共34页。
Next Home
5
2.USB总线
USB(UniversalSerialBus)是外围设备与计算机进行连接的 接口总线.
——即插即用,热拔插,接口体积小,节省资源,传输可 靠,提供电源,良好的兼容性,共享式通信和低成本 ——达到了480Mb/s的传输速度. ——半双工串行总线.
7.1 总线基本知识
第1页,共34页。
内容简介 重点/难点 习题解答
Home
内容简介
总线是微型计算机系统的重要组成部分,是系
统中传递各类信息的通道,也是微型计算机系统中 各模块间的物理接口,它负责CPU和其它部件之间 信息的传递。通过本章学习,熟悉总线的一般概念 和微机系统总线的组成,理解PCI总线、RS-232-C 总线和USB总线的性能特点、连接方法及应用场合, 学会根据总线的规范设计简单的扩展接口。
初始化,在主控制器与USB设备之间建立通信信道。
•设备驱动程序(USBDeviceDriver) ——驱动USB设备的程序,通常由操作系统或USB设备制造商
提供。
•USB芯片驱动程序(USBDriver)
7750SR配置方法

7750SR路由器配置规范V2.1上海贝尔阿尔卡特股份有限公司互联网事业部二零零六年十一月目录1.概述 (4)2.系统基本配置 (6)2.1.层次化命令结构 (6)2.2.在CLI中获得帮助 (7)2.3.硬件板卡配置 (8)2.4.设备名称配置 (9)2.5.系统时间配置 (9)2.6.NTP配置 (9)2.7.主备卡切换配置 (10)2.8.AAA配置(登录用户) (11)3.端口配置 (13)3.1.Loopback端口配置 (13)3.2.GE端口配置 (13)3.3.POS端口配置 (14)3.4.端口镜像配置 (15)4.安全配置 (18)4.1.ACL配置 (18)4.2.防攻击配置 (18)5.网管配置 (24)5.1.网管地址配置 (24)5.2.TELNET配置 (24)5.3.FTP配置 (25)5.4.SNMP (25)5.5.SYSLOG (26)5.6.配置备份 (27)5.7.SSH配置 (27)Flow备份 (28)6.路由配置 (29)6.1.黑洞路由配置 (29)6.2.静态路由配置 (29)6.3.OSPF配置 (29)6.4.ISIS配置 (33)6.5.BGP配置 (35)7.业务配置 (40)7.1.专线业务配置(IES配置) (40)7.2.MPLS VPN业务配置 (41)7.2.1P路由器配置 (41)7.2.2PE路由器配置(VPRN) (44)7.2.3PE路由器配置(VPLS) (46)8.7750SR常用维护命令 (49)1.概述阿尔卡特7750SR路由器是业内第一个专为高级互联网和虚拟专用网络(VPN)业务而设计和优化的IP/MPLS业务路由器。
阿尔卡特7750SR有三种尺寸可供选择:单槽、7槽和12槽,可提供具有卓越性能和高密度的各种接口。
作为目前业内最具扩展性的路由器平台,阿尔卡特7750SR具有为高效传送基于服务等级协议(SLA)的业务而设计的软件和硬件架构,因此阿尔卡特7750SR不仅仅是强大的互联网路由器,更是一个灵活、强大的业务供应平台。
海林自控 HM1405 拓展模块技术手册说明书

IOMHM1405技术手册目录1 概述 (1)1.1 简介 (1)1.2 特性 (1)2 输入/输出 (2)2.1 端子定义 (2)2.2 电源输入(L、、N) (3)2.3 数字输入(DI1~DI14) (3)2.4 数字输出(DO1~DO5) (4)2.5 通讯接口(RS485) (5)2.6 安装尺寸图 (5)2.7 安装指导 (6)2.8 面板按键 (6)2.8.1 EOL开关 (6)2.8.2 复位开关(RESET按键) (6)2.8.3 拨码开关 (7)3 规格和技术参数 (8)3.1 规格 (8)3.2 连接端子 (8)3.3 辅助工具 (9)3.4 环境条件和保护 (9)3.5 标准、指令和审核 (9)3.6 常规信息表 (10)3.7 通讯协议 (10)4 选型规格 (13)1 概述1.1 简介HM1405拓展模块用于拓展控制器的I/O点位,具备RS485通讯总线,支持ModBus RTU与BACnet MS/TP协议,推荐与海林HD系列DDC搭配使用,也可兼容第三方控制器或平台。
1.2 特性·支持交直流24V供电·支持ModBus RTU、BACnet MS/TP通讯协议·具备1路RS485通讯接口,波特率支持最大115200bps·具备实体终端电阻按钮(EOL),无需外置总线匹配电阻·具备独立的配置软件,既可与HD系列DDC搭配使用,也可快速接入其他平台2 输入/输出2.1 端子定义2.2 电源输入(L、PE、N)支持AC/DC 24V(±10%)供电2.3 数字输入(DI1~DI14)具备14路DI输入,每路DI输入都支持干接点通断输入信号2.4 数字输出(DO1~DO5)具备5路DO输出,每路DO都支持干接点信号输出,可承受AC/DC 24V或AC 220V电压,最大1A负载2.5 通讯接口(RS485)具备1路带隔离保护的RS485接口2.6 安装尺寸图2.7 安装指导步骤 1:将HM1405挂在导轨上,使产品底部的卡勾与导轨完全贴合;步骤 2:同时按压导轨与产品表面,听到“咔”一声,表示产品与导轨安装成功;板子上的MOS器件对静电敏感,需做好防护措施2.8 面板按键2.8.1 EOL开关EOL开关:按下时,RS485接口内部端接电阻120ohm接通,弹起时,内部端接电阻120ohm不接通2.8.2 复位开关(RESET按键)复位开关:重启模式:短按复位开关可对I/O模块进行重启操作。
H3C SR6600路由器 接口模块手册

资料获取方式
您可以通过H3C网站()获取最新的产品资料: H3C 网站与产品资料相关的主要栏目介绍如下: z [服务支持/文档中心]:可以获取硬件安装类、软件升级类、配置类或维护类等产品资料。 z [产品技术]:可以获取产品介绍和技术介绍的文档,包括产品相关介绍、技术介绍、技术白皮
前言
本书介绍了 H3C SR6600 路由器支持的模块(如 HIM、MIM 和 SAP)的型号、面板外观、指示灯、 接口属性以及连接接口电缆的方法。同时还介绍了各种模块、主控单元以及灵活接口平台之间的适 配关系。 前言部分包含如下内容: z 读者对象 z 本书约定 z 产品配套资料 z 资料获取方式 z 技术支持 z 资料意见反馈
大类 业务配置
资料名称 安装视频 配置指导 命令参考 典型配置举例
版本说明书
内容介绍
帮助您掌握 LSTM1PEMC 和 LSTM1PEM2N 两种交流电源的安装方法 帮助您掌握设备软件功能的配置方法及配置步骤
详细介绍设备的命令,相当于命令字典,方便您查阅各个命令的功能
帮助您了解产品的典型应用和推荐配置,从组网需求、组网图、配置步 骤几方面进行介绍
通信技术有限公司的商标。对于本手册中出现的其它公司的商标、产品标识及商品名称,原因,本手册内容有可能变更。H3C 保留在没有任何通知或者提示的情况 下对本手册的内容进行修改的权利。本手册仅作为使用指导,H3C 尽全力在本手册中提供准确的信 息,但是 H3C 并不确保手册内容完全没有错误,本手册中的所有陈述、信息和建议也不构成任何 明示或暗示的担保。
4.图标约定 本书使用的图标及其含义如下:
龙尚U9300C 模块硬件接口手册_V1.2

U9300C 模块硬件接口手册_V1.2
共 53 页
第 1 页
重要声明 版权声明 版权所有:龙尚科技(上海)有限公司 本资料及其包含的所有内容为龙尚科技(上海)有限公司所有,受中国法律及适 用之国际公约中有关著作权法律的保护。未经龙尚科技(上海)有限公司书面授 权,任何人不得以任何形式复制、传播、散布、改动或以其它方式使用本资料的 部分或全部内容,违者将被依法追究责任。 不保证声明 龙尚科技 (上海) 有限公司不对此文档中的任何内容作任何明示或暗示的陈述或 保证, 而且不对特定目的的适销性及适用性或者任何间接、特殊或连带的损失承 担任何责任。 保密声明 本文档(包含任何附件)包含的信息是保密信息。接收人了解其获得的本文档是 保密的, 限用于规定的目的外不得用于任何目的,也不得将本文档泄露给任何第 三方。 免责声明 本公司不承担由于客户不正常操作造成的财产或者人身伤害责任。 请客户按照手 册中的技术规格和参考设计开发相应的产品。在未声明之前,本公司有权根据技 术发展的需要对本手册内容进行更改,且更改版本不另行通知。
U9300C 模块硬件接口手册_V1.2 共 53 页 第 3 页
U9300C 模块硬件接口手册_V1.2
共 53 页
第 2 页
目录
1. 引言............................................................................................................................................. 8 1.1. 文档目的...........................................................
第7章Avalon接口规范(一)

byteenable
2, 4, 6, 8, 16, 32, 64, In 128
字节使能信号。在对宽度大于8位的存储器进行写传输时,该信号用于选择特定的字节
No 段。
若使用了该信号,writedata信号页必须使用,writebyteenable信号不能使用。
Avalon端口分为主端口和从端口:主端口可以在 Avalon总线上发起数据传输,目标从端口在Avalon 总线上响应主端口发起的数据传输
2020/4/28
23
Avalon总线相关基本概念
主端口和从端口
Avalon主端口和从端口之间没有直接的连接,主、 从端口都连接到Avalon交换架构上,由交换架构来 完成信号的传递。 信号传输过程中,主端口和交换架构之间传递的信 号与交换架构和从端口之间传递的信号可能有很大 的不同。 在讨论Avalon传输时,必须区分主从端口。
主从端口对 周期
2020/4/28
28
Avalon总线相关基本概念 主从端口对
主从端口对:在数据传输过程中,通过Avalon交换 架构连接起来的主端口和从端口。
2020/4/28
29
Avalon总线相关基本概念 Avalon外设 Avalon信号
主端口和从端口 传输
主从端口对 周期
2020/4/28
2020/4/28
16
Avalon总线相关基本概念 Avalon外设
Avalon外设通过Avalon交换架构进行数据传输
2020/4/28
17
Avalon总线相关基本概念 Avalon外设 Avalon信号
主端口和从端口 传输
江苏星宇芯联电子科技有限公司MT1310型模块用户手册说明书

江苏星宇芯联电子科技有限公司MT1310型模块用户手册 北斗区域短报文模块(表面贴装型)目录江苏星宇芯联电子科技有限公司 (1)1、功能描述 (3)1.1 概述 (3)1.2产品特点 (4)1.3性能指标 (4)1.4产品应用 (5)1.5功能描述 (5)2、引脚分布及规范 (6)2.1引脚分布 (6)2.2 软件接口 (7)3、电气特性 (7)4、环境适应性 (8)5、结构及封装尺寸 (8)6、SMT温度推荐 (10)7、注意事项 (11)8、变更记录 (11)1、功能描述1.1 概述图1-1 产品外观图MT1310模块为江苏星宇芯联电子科技有限公司推出的一款支持北斗三号区域短报文通信的屏蔽罩模块。
模块内部集成LNA、高性能射频收发芯片、功率放大器、北斗三号专用基带,可实现北斗三号区域短报文通信功能。
产品应用简单方便,集成度高、体积小、功耗低、可靠性高。
可以广泛地应用于各类北斗三号区域短报文通信终端产品,包括北斗车载型、手持型、数传型终端设备中。
1.2产品特点●模块内置LNA,实现对S2C频点卫星信号的滤波、放大,用户无需外置LNA,直接连接无源天线;●内置功放模块,无需外加PA即可放大Lf1、Lf2频点信号;●模块平均静态功耗≤1W;●体积小,集成度高,模块尺寸为30×35×3.5mm;●满足《北斗三号民用终端通用数据接口要求》●SMD的邮票封装形式 。
1.3性能指标表1-1 MT1310模块性能指标参数 性能指标 备注接收频点 S2C: 2491.75MHz±8.16MHz发射频点 LF1:1614.26MHz±4.08MHz; LF2:1618.34MHz±4.08MHz接收灵敏度 -160dBW专用段 8kbps 信息帧, 误码率 1×10-5-157.5dBW专用段 16kbps 信息帧, 误码率 1×10-5-153.8dBW专用段 24kbps 信息帧, 误码率 1×10-5接收波束 ≥14通道时差测量误差≤5ns(1σ)发射功率 >35dBm载波抑制 ≥30dBc调制相位误差 ≤3°双向零值 1ms±5ns发射时间同步精度≤5ns(1σ)锁定时间 首次捕获: ≤2 s失锁重捕: ≤1 s报文处理 区域短报文1000汉字1.4产品应用●车载导航监控●海洋渔业管理●气象探测●电信/电力行业授时●单兵手持终端●北斗数传终端1.5功能描述图1-2 MT1310型模块功能框图天线接收到的信号到模块经低噪放 LNA放大后至射频收发芯片实现下变频功能,将射频信号变换到数字中频信号,作为基带芯片的数字中频输入。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
这样不同的功能模块,可以根 据自己的需要调用不同的初始 化模块。
int init_graphics(); int init_language(); int init_connect();
。 函数的功能要单一,不要设计“多功能”函数
函数的功能应该是单一而明确的。不要把不同的功能放入同一个 函数,特别是尽量不要用控制开关来让数据处理函数实现不同的功能。
return (a – b); } }
4.弱耦合性
耦合(Coupling)
是模块之间依赖程度的度量。内聚和耦合是密切相关的,与其它模 块存在强耦合的模块通常意味着弱内聚,而强内聚的模块通常意味着与其它 模块之间存在弱耦合。模块设计追求强内聚,弱耦合。
耦合的强度依赖于以下几个因素: (1)一个模块对另一个模块的调用; (2)一个模块向另一个模块传递的数据量; (3)一个模块施加到另一个模块的控制的多少; (4)模块之间接口的复杂程度。
二. 模块划分基本准则
模块的划分以功能为标准,相对独立的功能划分为不同的模块,各模块之间 根据需要可以进行数据通信,但是必须保持功能上的相对独立性。
“功能独立”的模块可以降低开发、测试、维护等阶段的代价。但是“功能 独立”并不意味着模块之间保持绝对的孤立。一个系统要完成某项任务,需 要各个模块相互配合才能实现,此时模块之间就要进行信息交流。
为了保证模块的独立封装性,就必须将声明与实现分离开来。C语言对此 只提供最基本的支持。在标准C语言中,接口在头文件中声明,头文件的扩展 名为.h。
规定:调用程序可使用的宏定义,数据结构类型,变量以及函数原型等 必须在头文件中声明。调用程序使用预处理指令#include导入接口声明。
禁止将函数的实现和变量的定义放在头文件。
模块与接口规范
模块及模块接口设计原则
一.何为模块
模块由接口和实现两部分组成。
--接口指明模块的功能,即模块能做什么。它声明了使用该模块代码的标 识符,类型和函数原型等;
--实现指模块是如何完成起接口声明的功能。一个具体的功能模块接口是 唯一固定的,但是它的实现可能会有很多种。每个实现可能使用不同的算法 和数据结构,但是都必须符合接口给出的使用声明。
耦合按从强到弱的顺序可分为以下几种类型:
(1)内容耦合: 当一个模块直接修改或操作另一个模块的数据,或者直接转入另一个模块 时,就发生了内容耦合。此时,被修改的模块完全依赖于修改它的模块。
//初始化图形设置 //初始化语言设置 //初始化网络连接
假如模块A需要使用a语言,无网络 连接,而模块B需要使用b语言,有网络 连接。则init_env函数无论怎么改动都无 法同时满足两个模块要求。此时函数 init_env就是随机内聚函数,正确的修改 方法应该是根据初始化的模块不同,分 解成相对独立的函数。 修改init_env()为三个独立的函数:
好的模块设计要有尽可能高的内聚性,尽量避免随机内聚,禁止将毫无 关系的成分放入同一模块。随机内聚会使模块的功能不明确,破坏模块的功能独 立性。也给模块的维护、测试及升级等造成不便。
Interface n
m1m4m3Mn Nhomakorabeam5
m6
m2
3.1. 设计高内聚性模块
防止把没有关联的功能放到一个模块中。
防止函数或模块内出现随机内聚。在编程时,经常遇到在不同函数中使用相 同的代码,许多开发人员都会把这些代码提出来,并构成一个新函数。若这些代 码关联较大并且是完成一个功能的,那么这种构造是合理的,否则这种构造将产 生随机内聚的函数。
从功能上划分模块,保持“功 能独立”是模块化设计的基本 原则。
三. 模块与接口设计准则
1.封装与隐藏
接口是对模块功能的声明,只需要指明客户调用程序可能使用的标识符(包 括数据类型,函数原型等)即可,应尽可能隐藏内部细节和算法。
application
Mn
interface1 M2
M1
•t
2.模块的独立性 声明与实现分离
3.强内聚性
内聚是一个模块内部各成分之间相关联程度的度量。根据内聚性的强弱,有 以下几种类型:
(1)随机内聚: 如果一个模块的各成分之间毫无关系,则称为随机内聚。 (2)逻辑内聚: 几个逻辑上相关的功能被放在同一模块中,则称为逻辑内聚。如一个模块读取各 种不同类型外设的输入。尽管逻辑内聚比偶然内聚合理一些,但逻辑内聚的模块各成分在功能上 并无关系,即使局部功能的修改有时也会影响全局,因此这类模块的修改也比较困难。 (3)时间内聚: 如果一个模块完成的功能必须在同一时间内执行(如系统初始化),但这些功 能只是因为时间因素关联在一起,则称为时间内聚。 (4)过程内聚: 如果一个模块内部的处理成分是相关的,而且这些处理必须以特定的次序执行, 则称为过程内聚。 (5)通信内聚: 如果一个模块的所有成分都操作同一数据集或生成同一数据集,则称为通信内聚。 (6)顺序内聚: 如果一个模块的各个成分和同一个功能密切相关,而且一个成分的输出作为另一 个成分的输入,则称为顺序内聚。 (7)功能内聚: 模块的所有成分对于完成单一的功能都是必须的,则称为功能内聚。
由于标准C语言没有提供命名空间机制,较大规模软件中,不同模块的全局变 量和函数也很可能重名,导致重复定义错误。同时被多个模块使用的全局变 量,是增大模块间耦合性的重要因素之一,为减少模块间耦合性,应尽量少 用或不用多个模块共用的全局变量。
规定:只在本模块内部使用的函数和全局变量,必须用static关键字修饰, 以限制只能在本模块内使用。
例如:如下是不好的函数设计,函数功能不单一,且实现的功能无必 然联系。
#define TYPE_ADD 0 #define TYPE_SUB 1 int add_or_sub(int a, int b, int flag) {
if (TYPE_ADD == flag) {
return (a + b); } else {
例如:
很多软件系统在启动的时候都需要初始化一些参数,因此不少系统会把初始化 模块做成一个或多个函数。但是要防止把毫不相关的参数初始化放入同一个函数。
int init_env() {
init_graphics...; init_language...; init_connect...; .... }