范例-软件设计说明(详细部分)_第1页
范例-软件设计说明(详细部分)_第2页
范例-软件设计说明(详细部分)_第3页
范例-软件设计说明(详细部分)_第4页
范例-软件设计说明(详细部分)_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、软件设计说明 软件设计说明时间时间版本号版本号修改人修改人修改内容修改内容审批人审批人 软件设计说明目 录1范围范围 .11.1标识.11.2系统概述.11.3文档概述.12引用文档引用文档 .13CSCI 级设计决策级设计决策.14CSCI 体系结构设计体系结构设计.24.1CSCI 部件.24.2执行方案.34.3接口设计.34.3.1接口标识和接口图.34.3.x (接口的项目唯一标识符).45CSCI 详细设计详细设计.65.X (软件单元的项目唯一标识符,或者一组软件单元的标志符).66需求可追踪性需求可追踪性 .77注解注解 .7附录附录 A.7 软件设计说明1软件设计说明软件设计

2、说明1 范围范围1.1 标识标识要求:本节应包含这个文档所适用的系统和软件的完全标识, (若适用)应包括标识号、名称、缩略名、版本号及发布号。1.2系统概述系统概述要求:1)本节主要描述本文档适用的系统和软件的用途;2)概述系统开发、运行和维护的历史;3)标识项目的投资方、需方、用户、开发方和保障机构;4)标识当前和计划的运行现场;5)列出其它有关文档。1.3文档概述文档概述本节应概述本文档的用途和内容,描述与它的使用有关的保密性或私密性考虑。2 引用文档引用文档列出引用的所有文档,包括文档的编号、标题、修订版本和日期。3 CSCICSCI 级设计决策级设计决策要求:本章应根据需要分节给出 C

3、SCI 级设计决策,即 CSCI 行为设计的决策(忽略其内部实现,从用户角度出发描述系统将怎样运转以满足需求)和其它影响组成该 CSCI 的软件单元的选择与设计的决策。如果在需求中所有这些决策是明确的,或者这些决策要推迟到CSCI 的软件单元的设计时指出,则本章应如实陈述。针对关键性需求(例如对安全性、保密性、私密性等需求)作出的设计决策,应在专门的章节中加以叙述。CSCI 级设计决策的例子如下:1)关于 CSCI 将接收的输入和将产生的输出的设计决策,包括与其它系统、HWCI、CSCI 和用户的接口(本文档的 4.3.x 节指出本说明要考虑的主题) ;2)有关响应每个输入或条件的 CSCI

4、行为的设计决策,包括 CSCI 要执行的动作、响应时间和其它性能特性,模型化的物理系统的说明,选定的方程式/算法/规则,以及对不允许的输入或条件进行的处理;3)有关数据库/数据文件如何呈现给用户的设计决策(本文档的 4.3.x 节标识了本说 软件设计说明2明要考虑的主题) 。如果这一信息的全部或部分在数据库设计说明(DBDD)中给出,则可直接引用;4)为满足安全性、保密性、私密性需求所选择的方法;5)为满足需求所做的其它 CSCI 级设计决策,例如为提供所需的灵活性、可用性和可维护性所选择的方法。【提示:本章主要是要求从整体(系统/子系统级别)架构设计的层面,分不同视角(功能划分、性能、可靠性

5、、安全性、灵活性、可维护性等)确定相应的关键设计机制,从而最终确定系统/子系统级别的体系结构设计。 】4 CSCICSCI 体系结构设计体系结构设计要求:本章应分为以下几节来描述 CSCI 体系结构设计。如果设计信息在多于一个节中出现,它只需被提供一次,而在其它节中引用之。【提示:对各个 CSCI(子系统)进行概要设计,拆分出各子系统包含的软件部件(模块)和各个软件部件包含的软件单元(子模块) 。 】以下 4.1 节分别对各个软件部件进行静态结构说明,4.2 节对各个软件部件和软件单元进行动态行为关系说明。4.1CSCICSCI 部件部件要求:本节应:1)标识构成该 CSCI 的所有软件单元。

6、应赋予每个软件单元一个项目唯一标识符;【注:软件单元是 CSCI 设计中的一个元素;例如,CSCI 的一个主要分支、该主要分支的一个组成部分,一个类、对象、模块、函数、例程或数据库。软件单元可以出现在层次结构的不同层上,且又可以由其它软件单元组成。在设计中,软件单元与实现它们的代码和数据实体(例程,过程,数据库,数据文件等) ,或与包含这些实体的计算机文件之间,可以有、也可以没有一对一的对应关系。一个数据库可被处理为一个 CSCI 也可被处理为一个软件单元。SDD 可以采用与所使用设计方法相一致的任何名字来称呼软件单元。 】2)给出软件单元的静态(如,由组成)关系。根据所选择的软件设计方法学,

7、可以给出多种关系(例如,采用面向对象的设计方法时,本节既可给出类和对象结构,也可给出CSCI 的模块和过程结构) ;3)说明每个软件单元的用途,指明分配给它的 CSCI 需求和 CSCI 级设计决策(需求的分配也可在 6.a 中提供) ;4)标识每个软件单元的开发状态/类型(如新开发、按原样重用已有的设计或软件、再工程的已有的设计或软件、为重用而要开发的软件等,为构建版 N 计划的软件) 。针对现有 软件设计说明3的设计或软件,本说明应提供标识信息,例如名字、版本、文档引用、库等;5)说明 CSCI(若适用,针对每个软件单元)计划使用的计算机硬件资源(例如处理机能力,内存能力,输入/输出设备能

8、力,辅存能力以及通信/网络设备能力) 。本说明应覆盖CSCI 的资源使用需求中、影响该 CSCI 的系统级资源分配中、以及在软件开发计划(SDP)的资源使用测量策划的中包含的全部计算机硬件资源。如果针对给定计算机硬件资源的所有使用数据都在同一处提供,例如在 SDD 中提供,那么本节可直接引用。对每个计算机硬件资源,应包括如下信息:a)得到满足的 CSCI 需求或系统级资源分配;b)使用数据基于的假设和条件(例如,典型用法、最坏情况用法、特定事件的假定) ;c)影响使用的特殊考虑(例如,虚存、覆盖、多处理器的使用情况,操作系统、库软件的开销或其它实现开销影响) ;d)所使用的测度的单位(例如,处

9、理器能力的百分比、周期/秒、内存字节数、千字节/秒) ;e)进行评估或测量的级别(例如,软件单元,CSCI 或者可执行程序) ;f)标识实现每个软件单元的软件放置在哪个程序库中(若适用) 。【提示:本章主要是要求从整体架构设计的层面,分不同视角(功能划分、性能、可靠性、安全性、灵活性、可维护性等)确定相应的关键设计机制,从而最终确定系统的体系结构设计。 】4.2执行方案执行方案本节应说明软件单元间的执行方案。应采用图表和描述,说明软件单元间的动态关系,即 CSCI 运行期间软件单元间的相互作用情况, (若适用)应包括执行控制流程、数据流、动态控制序列、状态转换图、时序图、单元间的优先关系、中断

10、处理、时序/排序关系、例外处理、并发执行、动态分配与去除分配、对象/进程/任务的动态创建/删除、以及动态行为的其它方面。4.3接口设计接口设计4.3.1接口标识和接口图接口标识和接口图要求:本节应说明赋予每个接口的项目唯一的标识符, (若适用)应通过名称、编号、版本及文档引用来标识接口实体(软件单元、系统、配置项、用户等) 。该标识应说明哪些实体具有固定的接口特性(从而把接口需求分配给这些接口实体) ;说明哪些实体正在开发或修改(这些实体已有各自的接口需求) 。 (若适用)应通过接口图来描述这些接口。【提示:对系统外部接口、内部接口(子系统与子系统、部件与部件、软件单元与软件 软件设计说明4单

11、元)采用接口结构图、接口汇总表等形式对所有接口进行定义和标识。 】4.3.x4.3.x (接口的项目唯一标识符)(接口的项目唯一标识符)要求:本节(从 4.3.2 开始)应通过项目唯一标识符来标识接口,应简要地标识接口实体,根据需要可分节描述单方或双方接口实体的特性。如果一给定的接口实体未包含在本SDD 中(例如,一个外部系统) ,而描述接口实体需要提到其接口特性时,这些特性应作为假设予以陈述、或以“当未涵盖的实体这样做时,所指定的实体将”的形式描述。本节可引用其它文档(例如数据字典、协议标准、用户接口标准)代替在此所描述的信息。本设计说明应包括以下内容(若适用) ,以任何适合于所提供的信息的

12、顺序提供,并应从接口实体角度说明这些特性之间的区别(例如关于数据元素的大小、频率或其它特性的不同期望): 1)接口实体分配给接口的优先级;2)要实现的接口类型(例如实时数据传输、数据的存储和检索等) ;3)接口实体将提供、存储、发送、访问、接收的各个数据元素的特性,例如:a)名称/标识符:项目唯一的标识符;非技术(自然语言)名称;数据元素名称;技术名称(如在代码或数据库中的变量名或字段名) ; 缩略名或同义名。b) 数据类型(字母数字、整数等) ;c)大小与格式(如:字符串的长度和标点符号) ;d)计量单位(如:米、元、纳秒) ;e)可能值的范围或枚举(如:0-99) ;f)准确性(正确程度)

13、和精度(有效数位数) ;g)优先级、时序、频率、容量、序列以及其它约束条件(例如数据元素是否可以被更新、业务规则是否适用) ;h)保密性与私密性约束;i)来源(建立/发送的实体)和接受者(使用/接收的实体) 。4)接口实体将提供、存储、发送、访问、接收的数据元素集合体(记录、消息、文件、数组、显示、报表等)的特性,例如:a) 名称/标识符: 软件设计说明5项目唯一的标识符;非技术(自然语言)名称;技术名称(如在代码或数据库中的记录名或数据结构名) ; 缩略名或同义名。b)数据元素集合体中的数据元素及其结构(编号、顺序和分组情况) ;c)介质(例如磁盘)以及介质上数据元素/数据集合体的结构;d)

14、显示和其它输出的视听特性(例如颜色、布局、字体、图标和其它显示元素、峰鸣声和亮度) ;e)数据集合体之间的关系,如排序/存取特性;f)优先级、时序、频率、容量、序列及其它约束,例如数据集合体是否可被更新、业务规则是否适用;g)保密性与私密性约束;h)来源(建立/发送的实体)和接受者(使用/接收的实体) 。5)接口实体用于接口的通信方法的特性。如:a)项目唯一的标识符;b)通信链接/带宽/频率/介质及其特性;c)消息格式;d)流控制(如:序列编号和缓冲区分配) ;e)数据传输率、周期或非周期、传输间隔;f)路由、寻址及命名约定;g)传输服务,包括:优先级和等级;h)安全性/保密性/私密性考虑,如

15、:加密、用户鉴别、隔离和审核。6)接口实体用于接口的协议的特性,如:a)项目唯一的标识符;b)协议的优先级别/层次;c)打包,包括分段与重组、路由和寻址;d)合法性检查、错误控制和恢复过程;e)同步,包括连接的建立、保持和终止;f)状态、标识和其它报告特性。7)其它特性,例如接口实体的物理兼容性(尺寸、公差、负荷、电压和接插件的兼容性等) 。【提示:对每个接口从源对象、目标对象、数据结构和属性、接口类型、优先级、其他 软件设计说明6质量特性等方面进行详细说明。 】5 CSCICSCI 详细设计详细设计5.15.1 XXXX 软件单元软件单元5.1.1流程设计流程设计在收到 ERQ 消息时系统会

16、根据 ATM 地址判断是否为本局地址,如果不是则启动交换入局连接建立流程,向节点发送交换连接建立请求,从而要求交换出局协议实体向 ANI 对应局向发送 ERQ 消息,并在收到 ECF 后向交换入局方发送连接建立证实消息。交换入局在收到该消息后会将承载入局连接和承载出局连接的两块 APB 板连接起来,并向连接发起端发送 ECF 消息,从而完成连接的建立。正常流程(1)A2SP 入局实体从邻接局接收到 ERQ 消息(2)A2SP 入局实体向 A2SP 节点功能发送入局连接指示。(3)A2SP 节点功能请求数据库根据 ATM 地址查询目标 ANI。(4)DBS 查询 ATM 地址与 ANI 的静态关

17、系配置表,向 A2SP 节点功能返回 ANI。(5)A2SP 判别出 ANI 不为 0(即不是本网元终结)时,认为是 AAL2 中继交换场景,否则即 AAL2 终结点场景。设置协议实体 ActOrd 为 LINKMIDSTART。A2SP 请求 DBS检查 CEID 的有效性。(6)DBS 调用事业部注册的回调函数,回调函数中对入局段进行接纳控制。(7)DBS 返回 CEID 检查结果,接口中包含 APB1 的媒体面地址信息。(8)收到 aal2UPInfoCfmEvent 消息,如果协议实体为 LINKMIDSTART,调用aal2EntityMain(aal2ETEstablishRsp,

18、 (BYTE *)&SAID)发送 ECF。 (注:不必发送连接指示及启动吊死定时器。 )(9)通知协议实体发送 ECF,协议实体状态为 aal2ETCNT。异常流程如果调用函数要求建立交换出局连接失败,则交换入局部分将收到交换出局方发送的释放指示或释放证实,之后的释放流程将在连接释放(交换入局部分)讨论。等待确认定时器超时,调用 aal2NDReceiveSwitchReleaseCfmPrc(新增)模拟交换出局发起的连接释放,其中,SERID 为本协议实体的 OSAID,由于 RSAID 是0,aal2NDReceiveSwitchReleaseCfmPrc 函数将直接给对端发 R

19、LC,发给对端的 RLC消息原因为 AAL2RECOVERYONTIMEREXPIRY_V。收到 aal2EstablishCfmEvent 消息后发现相应协议实体状态(State)不为 软件设计说明7aal2ETINP 或者协议实体 RSAID 不为 0,向发送方发送 aal2ReleaseReqEvent 消息,同时调用 aal2NdReceiveSwitchReleaseCfmPrc 发起连接释放。收到 aal2UPInfoCfmEvent 发送 ECF 失败,需要向交换出局发送释放请求同时释放本板资源。DBS 返回 CEID 检查结果,结果失败,给对端回 RLC,使用当前流程。DBS

20、查询 ATM 地址结果失败,给对端回 RLC,使用当前流程。入局协议实体 SAId 分配失败,使用当前流程。注:在 aal2ETINP 状态收到 REL 消息或释放指示的情况在释放流程(交换入局部分)讨论5.1.2流程图流程图AAL2 中继交换功能处理流程如图。为了描述全面,图中入局和出局 AAL2 资源分配不在同一 MP 上。当在同一 MP 上时过程(11)和(21)不存在。APB1(入向)MP1DBSMP1A2SP节点功能ERQ回调函数MP1接纳控制MP1A2SP入局实体连接指示CM_AAL2GETANI检查CEIDMP2DBSMP2接纳控制MP2A2SP出局实体MP2A2SP节点功能AP

21、B2(出向)申请CEID申请CEIDCEID回调函数AAL2建立AAL2建立请求AAL2建立响应连接请求ERQECF连接证实连接确认AAL2建立请求AAL2建立响应连接响应ECF(1)(2)(3)(4)(5)(6)(10)(11)(12)(13)(14)(15)(16)(17)(18)(19)(20)(21)(22)(23)(24)(7)AAL2建立(25)回调函数(9)(8)(26)向自身进程发送连接建立请求流程说明:(1)A2SP 入局实体从邻接局接收到 ERQ 消息。(2)A2SP 入局实体向 A2SP 节点功能发送入局连接指示。 软件设计说明8(3)A2SP 节点功能请求数据库根据 A

22、TM 地址查询目标 ANI。(4)DBS 查询 ATM 地址与 ANI 的静态关系配置表,向 A2SP 节点功能返回 ANI。(5)A2SP 判别出 ANI 不为 0(即不是本网元终结)时,认为是 AAL2 中继交换场景,否则即 AAL2 终结点场景。A2SP 请求 DBS 检查 CEID 的有效性。(6)DBS 调用事业部注册的回调函数,回调函数中对入局段进行接纳控制。(7)DBS 返回 CEID 检查结果,接口中包含 APB1 的媒体面地址信息。(8)节点功能向自身进程发送 aal2SwitchEstablishReqEvent,要求建立入局连接,启动定时器,等待连接确认。(9)A2SP

23、请求 DBS 分配出局 CEID。(10)DBS 调用事业部注册的回调函数,回调函数中对出局段进行接纳控制。(11)当出局资源在另一块 MP 上分配时,DBS 将 CEID 分配请求转发到另一块 MP 上。(12)DBS 调用事业部注册的回调函数,回调函数中对出局段进行接纳控制。(13)DBS 向 A2SP 返回 CEID,接口中包含 APB1 和 APB2 的媒体面地址信息。(14)A2SP 节点功能请求 DBS 建立出局段 AAL2 接续关系。(15)DBS 向 APB2 请求建立 AAL2 接续关系。(16)APB2 向 A2SP 节点功能确认 AAL2 接续建立。(17)A2SP 节点

24、功能请求 A2SP 出局实体建立连接。(18)A2SP 出局实体构造 ERQ 消息,向出局侧网元发送。(19)A2SP 出局实体收到 ECF 消息。(20)A2SP 出局实体向 A2SP 节点功能确认连接建立。(21)MP2 上的 A2SP 节点功能向 MP1 上的 A2SP 节点功能确认连接已经建立。(22)MP1 上的 A2SP 节点功能请求 DBS 建立入局段 AAL2 接续关系。(23)DBS 向 APB1 请求建立 AAL2 接续关系。(24)APB1 向 A2SP 节点功能确认 AAL2 接续建立。(25)A2SP 节点功能向 A2SP 入局实体响应连接建立。(26)A2SP 入局

25、实体构造 ECF 消息,向入局侧网元发送。5.1.3SDLSDL 图图和状态机和状态机由于交换入局协议实体没有了上层用户并且会作为上层用户与交换出局实体进行消息交互,所以状态机略有变化。其状态机如图 软件设计说明9T11105080-99receive REL messageRELEASE.indicationsend REL messagestart Timer_RELreceive RELmessagesend RLC messageRELEASE.responsesend RLC messagereceive RLC messageRELEASE.confirmstop Timer_RE

26、Lreceive RLC messageRELEASE.confirmstop Timer_RELESTABLISH.responsesend ECF messagereceive ERQ messageESTABLISH.indicationIdleEstablishedReleaseCollisionIncomingEstablishmentPendingIncomingReleasePendingOutgoingReleasePendingIdleEstablishmentReleaseEstablishedfrom anystate belowSWITCH_RELEASE.IND/CF

27、MRELEASE.indiction(send RLCmessage)TERMINATE.request-SWITCH_RELEASE.IND其中 SWITCH_RELEASE.IND 表示收到交换出局的连接释放指示,SWITCH_RELEASE.CFM 表示收到交换出局的连接释放证实。5.1.4 数据结构数据结构5.1.4.15.1.4.1AalSwitchInfo_TAalSwitchInfo_T数据结构如表 7-1 所示表 7-1名称AalSwitchInfo_T缩写无用途用于存放在中继交换应用场景下,ALCAP 在向数据库申请 CID 时在数据库与 ALCAP 之间透传的数据结构Typ

28、edef structDWORD dwSAID;/*用于存放相关交换入局实体对应的 SAID*/ BYTE abyReserve28; /*保留*/ AalSwitchInfo_T;序号元素填写说明1dwSAID:用于存放相关交换入局实体对应的 SAID2abyReserve:保留,以备后续扩展5.1.4.25.1.4.2AppRelative_TAppRelative_T数据结构如表 7-2 所示表 7-2名称AppRelative_T缩写无用途用于存放不同的应用场景追踪,ALCAP 在向数据库申请 CID 时在数据库与 ALCAP 之间透传的数据结构typedef struct DWORD

29、 dwApplicationType;/*0:下面 Union 内容无效 1:交换功能相关*/ 软件设计说明10unionT_AalSwtichInfo tAalSwitchInfo;unAppRelativeData; AppRelative_T;序号元素填写说明1dwApplicationType:应用类型。0 表示下面 Union 内容无效 1 表示数据为交换功能相关2unAppRelativeData:用于存放不同应用不同类型的数据。 5.1.5常量常量表 7-4序号名称类型取值说明1LINKMIDSTARTBYTE(BYTE)3交换入局协议实体2LINKMIDENDBYTE(BYTE

30、)4交换出局协议实体3APPLICATION_TYPE_SWITCHBYTE(BYTE)1用于为 AppRelative_T 结构的 dwApplicationType 字段赋值,表示该应用为ALCAP 中继交换4MAX_SEND_HEARTBEAT_COUNTBYTE(BYTE)2用于交换入局与交换出局之间连接保活消息发送次数的判断5T_WAITESTCFMBYTE(BYTE)18等待交换出局连接证实消息定时器标识6T_ WAITESTCFMLWORD32(WORD32)(T_ERQL + T_RDMPL + 1000)T_WAITESTCFM 定时器长度。应大于出局 T_ERQL+ T_RDMPL7T_HEARTBEATBYTE(BYTE)19心跳定时器8T_HEARTBEAT LWORD32(WORD32)( T_ T_WAITESTCFML*2)心跳定时器时长要求:本节应通过项目唯一的标识符来标识软件单元,并对该单元进行说明。 (若适用)该说明应包括下列信息。但作为一种变通,本节也可以指定一组软件单元,然后再分小节对它们分别进行标识和说明。包含其他软件单元的软件单元可引用那些软件单元的说明,而无需在此重复。1) (若有)单元设计决策,如要使用的算法(之前尚未选定) ; 2)该软件单元设计中的任何约束

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论