




已阅读5页,还剩14页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
软件通信规范篇一:计算机软件开发规范_GB_8566-88标准:计算机软件开发规范 GB 8566-88 (已作废)目的:详细规定计算机软件开发过程胡各个阶段及没法儿阶段胡任务、实施步骤、实施要求 、完成标志及交付文件。为软件开人员和管理人员提供一系列之有效的准则、方法和规范。 作用:有利于提高开发的控制和管理,缩短开发时间和减少维护次数,便于开发和维护人员之间的协作、交流,是软件开发更加有成效。 软件的生存周期:Systems Development Life Cycle (SDLC) 可行性研究与计划 需求分析 概要设计 详细设计 实现 组装测试 确认测试 使用和维护 按照人们所习惯的粗分方法把上面 8 个阶段划分为计划、开发和维护 3 个阶段,在概述其他两个阶段的基础上重点介绍软件的开发过程 2. 软件开发方法 瀑布模型 瀑布模型阶段任务 渐进模型 V 模型双 v 模型 螺旋模型 快速原型(Rapid Prototype)模型:快速原型模型在功能上等价于产品的一个子集。注意,这里说的是功能上。瀑布模型的缺点就在于不够直 观,快速原型法就解决了这个问题。一般来说,根据客户的需要在很短的时间内解决用户最迫切需要,完成一个可以演示的产品。这个产品只是实现部分的功能(最 重要的) 。它最重要的目的是为了确定用户的真正需求。 篇二:软件编程规范软件设计编程规范 一、 文件结构 一个程序分为两个文件,头文件保存程序的声明(declaration) 、定义文件保存程序的实现(implementation) ; 1. 版权与版本的声明; 2. 头文件的结构: 1) 版权和版本声明; 2) 预处理块;ifndef/define/endif 3) 块中内容:包含头文件、定义数据类型(包括类)、声明外部变量、声明函数(静态和外部) ; 3. 定义文件的结构: 1) 版权和版本声明; 2) 包含头文件、定义常量、定义变量(外部和全局)、定义函数; 4. 头文件的作用:调用已有函数,加强类型检查;所谓包含了头文件就能调用定义文件的想法是错误的,能调 用的只有外部函数(函数默认是外部的),即包含头文件的作用仅仅是包含了几个外部函数的声明语句(当然也包括一些数据类型的定义) ; 二、 程序版式 1. 空行: 1) 函数之间、函数内关系不密切的语句间加空行;一行代码只做一件事,尽可能在定义变量的同时就初始化该变 量(就近原则) ; 2) If、for、while、do 等语句自占一行,不论执行语句有多少都要加,且”和”要上下对齐; 2. 空格: 1) 关键字后留空格,if、for、while 等关键字后应留一空格再跟左括号,函数名后紧跟左括号以与关键字区别; 2) (向后紧跟, ) 、 , 、 、 、 ;向前紧跟,紧跟处不留空格;, 之后要留空格,如 Function(x, y, z); ;若不是一行结尾,则之后留空格,如 for; 3) 二元运算符前后要加空格、一元不加、 ( 、.、 -、类型强制转化)不加;特殊情况如:if(a=b) 2. 循环语句的效率:多重循环中,若有可能,应当将最长的循环放在最内层;若循环体内有逻辑判断,且循环次数 很大,宜将逻辑判断移到循环体外;禁止在 for 循环内修改循环变量;建议 for 语句循环控制变量取值采用“半开半闭区间0,N)”以更直观,如使用 for(int x = 0; x 3. 多于两个分支用 switch 语句,每个 case 后都要加 break(除非有意使多个分支重叠) ;切莫忘记最后一个default 分支; 4. goto 语句可能跳过了某些对象的构造、变量的初始化、重要的计算语句等;不过错误都是程序员自己造成的,但 goto 至少有一处可显神通,能从多重循环体中一下子跳到外边,用不着多次 break; 五、 常量 1. const 常量有数据类型,而宏常量没有数据类型;编译器可以对前者类型进行安全检查,而对后者只进行字符替换, 可能产生意料不到的错误(边际效应) ; 2. 在 C+程序中只是用 const 常量而不使用宏常量,即 const 常量完全取代宏常量; 3. 需要对外公开的常量放在头文件中,不需要对外公开的放在定义文件的头部,为便于管理,可把不同模块的常量 集中存放在一个公共的头文件中; 4. 类中的 const 数据成员的初始化只能在类构造函数的初始化表中进行,即类中定义的 const 数据成员在不同的对象 中可能有不同的值;建立在整个类中都恒定的常量应该用类中的枚举常量来实现,枚举常量不会占用对象的存储空间,它们在编译时被全部求值;缺点是隐含数据类型是整数,最大值有限且不可表示浮点数; class A enum SIZE1 = 100; SIZE2 = 200; int array1SIZE1; int array2SIZE2; 六、 函数设计 1. 非必要不要用 goto,一般用于从内循环直接跳到循环外部、检测到错误直接跳到程序错误处理程序(容错性) ;用if 语句来强调只执行两组语句中的一组;用 case 实现多路分支;避免从循环引出多个出口,尽量减少函数的出口,避免不必要的分支,不轻易用条件分支替换逻辑表达式; 2. 函数对接受的参数要进行合法性检查,尽量不要用=作为判断条件,所有变量在调用前必须被初始化; 3. 改一个错误时可能产生新的错误,因此修改前首先考虑对其他程序的影响;版本封存后将老语句用/*/封闭,不能 自行删除或修改,并注明封闭代码的修改时间和原因;4. 程序代码力求简洁清晰,避免太多分支或太过技巧性的程序,尽量不用递归模式;编写程序时亦必须想好测试的 方法; 5. 函数接口的两个要素是参数和返回值;引用传递的性质像指针传递,使用方式却像值传递;若 n 是 m 的一个引用 (reference) ,则 m 是被引用物(referent) ,n 相当于 m 的别名(绰号) ,对 n 的任何操作就是对 m 的操作,所以 n 既不是 m 的拷贝,也不是指向 m 的指针,其实 n 就是m 它自己; 6. 引用与指针的不同之处:引用被创建的同时必须被初始化;不能有 NULL 引用,引用必须与合法的存储单元关联; 一旦引用被初始化,就不能改变引用关系;int i =5; int j =6; int k = j; 则 k 和 i 值都变为了 6;引用最常用的地方还是函数调用中,原函数中的调用传递的是变量 Fun3(n),被调函数中使用的形参则是引用类型的void Fun3(int return temp;要简洁) 11. 用于出错处理的返回值必须清晰,让使用者不容易忽视或误解错误情况; 12. 程序一般分为 Debug 版本(用于调试)和Release 版(发行使用) ;断言 assert 是仅在 Debug 中起作用的宏,它用 于检查“不应该”发生的情况;程序员可以将 assert看成一个在任何系统状态下都可以安全使用的无害测试手段,若程序在 assert 处终止了,并不是说含有 assert 的函数有错误,而是调用者出了差错;如内存复制函数中的assert(pvTo != NULL) 注意力要集中在两个要素上,即“类型转换”和“sizeof” ;具体机器上数据类型的长度最好测一下;若 p 是 NULL,则无论被 free 多少次都没问题,但若不是 NULL 指针,连续操作两次就会有问题; 12. new/delete 使用起来要简单一些,但要注意:若用 new 创建对象数组,则只能用对象的无参构造函数;再用 delete 释放对象数组时,留意不要丢了符号 ; 八、 补充 1. 分配资源一定要释放, 否则会造成内存泄漏。 2. 数组引用不能超过定义范围,否则会造成溢出,程序报错或突然自动退出。 3. 多线程的资源及数据共享一定要互斥,避免读写冲突,程序会报异常错误或读地址错误或数值突然跳变。 4. 变量必须初始化,不管是全局变量还是局部变量,避免未初始化造成的逻辑条件错误。 5. 变量和函数定义必须注释,函数应注释函数功能,返回值含义,形参含义。 篇三:华为软件开发规范软件开发行为规范 第一版 深圳市华为技术有限公司 版权所有 不得复制 软件开发行为规范 (第一版) 为了把公司已经发布的软件开发过程规范有效地运作于产品开发活动中,把各种规范“逐步形成工程师的作业规范” ,特制定本软件开发行为规范,以达到过程控制的目的。 与软件开发相关的所有人员,包括各级经理和工程师都必须遵守本软件开发行为规范。对违反规范的开发行为,必须按照有关管理规定进行处罚。 本软件开发行为规范的内容包括:软件需求分析、软件项目计划、概要设计、详细设计、编码、需求管理、配置管理、软件质量保证、数据度量和分析等。 本软件开发行为规范,采用以下的术语描述: 规则 建议 说明:对此规则或建议进行必要的解释。 示例:对此规则或建议从正或反两个方面给出例子。 本软件开发过程行为规范由研究技术管理处负责解释和维护。 研究技术管理处 目 录 1 软件需求分析 2 软件项目计划 3 概要设计 4 详细设计 5 编码 6 需求管理 7 软件配置管理 8 软件质量保证 9 数据度量和分析 仅供内部使用 3 5 9 11 14 18 19 21 23 25 1 软件需求分析1-1:软件需求分析必须在产品需求规格的基础上进行,并保证完全实现产品需求规格的定义。 1-2:当产品的需求规格发生变更时,必须修订软件需求规格文档。软件需求规格的变更必须经过评审,并保存评审记录。 1-3:必须对软件需求规格文档进行正规检视。 1-4:软件需求分析过程活动结束前,必须经过评审,并保存评审记录。 1-5:在对软件需求规格文档的正规检视或评审时,必须检查软件需求规格文档中需求的清晰性、完备性、兼容性、一致性、正确性、可行性、易修改性、健壮性、易追溯性、易理解性、易测试性和可验证性、性能、功能、接口、数据、可维护性等内容
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 提升企业营销策略的有效途径
- 安阳学院《园林景观快题设计》2023-2024学年第一学期期末试卷
- 安徽工商职业学院《幼儿语言活动指导》2023-2024学年第一学期期末试卷
- 苏州大学应用技术学院《土壤污染与修复》2023-2024学年第一学期期末试卷
- 手机移动支付的潜在用户及转化研究
- 云南工商学院《高级俄语I》2023-2024学年第一学期期末试卷
- 广西制造工程职业技术学院《训诂学B》2023-2024学年第一学期期末试卷
- 车间级职代会培训课件
- 辽宁职业学院《外国文学经典导读》2023-2024学年第一学期期末试卷
- 新乡学院《展陈设计与工程管理》2023-2024学年第一学期期末试卷
- 2025年河北省高考招生统一考试高考真题地理试卷(真题+答案)
- 疲劳恢复物理手段-洞察及研究
- 天津市四校联考2023-2024学年高一下学期7月期末考试化学试卷(含答案)
- 2025年河北省中考学易金卷地理试卷(原创卷)及参考答案
- 2025年时政100题(附答案)
- 2025年安全生产月查找身边安全隐患及风险控制专题培训课件
- CJ/T 328-2010球墨铸铁复合树脂水箅
- BIM技术在建筑项目施工工艺优化中的应用报告
- 会计核算考试题目及答案
- 人工智能赋能思政教育“精准滴灌”体系构建
- 搬运装卸服务外包项目投标方案(技术方案)
评论
0/150
提交评论