《软件开发流程规范标准[详]》由会员分享,可在线阅读,更多相关《软件开发流程规范标准[详](42页珍藏版)》请在金锄头文库上搜索。
1、. . . .软件开发流程规范V1.0德联软件有限责任公司编制人: 侯秀美 审核人: 2015 年 8 月 19 日参考.资料目录目录0一、概述2二、开发流程规范32.1 系统软硬件开发环境32.2 系统架构(系统组成)52.3 系统功能模块设计62.4 系统功能开发流程图62.5 开发修改记录7三、开发代码规范83.1 文件结构83.1.1 文件信息声明83.1.2 头文件的结构103.1.3 定义文件的结构113.1.4 头文件的作用123.1.5 目录结构133.2 命名规则133.2.1 共性原则133.2.2 Windows变量命名规则143.3 程序风格163.3.1 空行173.
2、3.2 代码行183.3.3 代码行内的空格193.3.4 对齐203.3.5 长行拆分223.3.6 修饰符的位置233.3.7 注释233.4 函数设计263.4.1 参数的规则263.4.2 返回值的规则273.4.3 函数内部实现的规则303.4.4 其它建议323.4.5 使用断言323.4.6 引用与指针的比较333.5 变量类型定义35四、软件测试规范364.1 单元测试364.2 系统测试374.6 业务测试384.7 验收测试384.8 用户现场测试38五、软件版本管理394.1版本管理的必要性39一、概述本文制定烟台开发区德联软件有限责任公司计算机软件开发规范文档。本规范的
3、目的是使公司软件开发项目阶段清晰、要求明确、任务具体、编写的代码规范,使之规范化、系统化和工程化,向公司内从事软件开发的工程师和管理人员提出一系列规范和要求,从而有利于开发过程的控制和管理,提高所开发软件系统的质量,缩短开发时间,减少开发和维护费用,以保证项目高质量、顺利进行。本规范包含:开发流程规范和开发代码规范等,开发流程规范需要技术开发人员编写相关内容,希望每个技术人员形成习惯,如有新的内容更新会及时通知大家,如有好的规范要求也可通知编制人员及时更新。本规范为烟台开发区德联软件有限责任公司内部材料,严禁其他商业应用。二、开发流程规范接受开发任务,详细阅读软件技术规范或技术文档,如对技术文
4、档有疑义或者不清楚的地方及时与项目总工或用户沟通,根据文档和沟通内容编写项目开发计划,必须包括但不限于系统软硬件开发环境、系统架构、系统功能模块设计、系统功能开发流程图、开发修改记录。2.1 系统软硬件开发环境开发环境的搭建,最好形成文档,便于以后同样工作的使用。开发人员要明确系统开发拟采用的数据库、操作系统、开发语言、开发工具、服务器等(具体到版本)。明确整个系统开发工作流程,至少应该包括以下流程。2.2 系统架构(系统组成)确定系统整体体系架构,各层次之间的数据流的连接,确定软件服务器的硬件配置及用户硬件资源配置, 确定与用户软件平台的统一协调。 开发人员在绘制架构图时给出基本框架,能反映
5、出基本意义即可,可以直接用文字代替例子中的图片。图1 系统逻辑架构图举例图2 物理架构图举例2.3 系统功能模块设计给出系统的主要功能模块,每个模块所包含的功能。图3 图书管理系统模块规划图举例2.4 系统功能开发流程图给出系统主要功能的业务流程图。图4 系统功能业务流程图举例2.5 开发修改记录1. 开发代码做好备份(可以在完成一个重大功能之后,或者按时间周期性进行备份),以免由于不可抗力导致代码不可修复。2.在每次重大修改之后要做好记录(改动的具体细节),修改前的版本要及时备份,可以方面随时还原系统。修改日期修改内容是否备份备注三、开发代码规范在研究项目团队协作开发的情况下(这里的团队协作
6、也适合于应用项目的开发),编程时应该强调的一个重要方面是程序的易读性,在保证软件速度等性能指标能满足用户需求的情况下,能让其他程序员容易读懂你所编写的程序。若研究项目小组的所有开发人员都遵循统一的、鲜明的一套编程风格,可以让协作者、后继者和自己一目了然,在很短的时间内看清楚程序结构,理解设计的思路,大大提高代码的可读性、可重用性、程序健壮性、可移植性、可维护性。制定本编程规范的目的是为了提高软件开发效率及所开发软件的可维护性,提高软件的质量。本规范由程序风格、命名规范、注释规范、程序健壮性、可移植性、错误处理以及软件的模块化规范等部分组成。此规范以C/C+程序设计讨论。3.1 文件结构每个C+
7、/C程序通常分为两个文件。一个文件用于保存程序的声明(declaration),称为头文件。另一个文件用于保存程序的实现(implementation),称为定义(definition)文件。C+/C程序的头文件以“.h”为后缀,C程序的定义文件以“.c”为后缀,C+程序的定义文件通常以“.cpp”为后缀(也有一些系统以“.cc”或“.cxx”为后缀)。3.1.1 文件信息声明文件信息声明位于头文件和定义文件的开头(参见示例3-1),主要内容有:(1) 版权信息;(2) 文件名称,项目代码,摘要,参考文献;(3) 当前版本号,作者/修改者,完成日期;(4) 版本历史信息;(5) 主要函数描述。
8、/ Copyright (c) 2015, DeLianSoftCompany YanTai/ All rights reserved./ Filename :filename.h/ Project Code :The project code about this file/ Abstract :Describe the content of this file summarily/ Reference :./ Version :1.1/ Author :the name of author(mender)/ Accomplished date : September 2, 2004/ Re
9、placed version : 1.0 / Original Author : the name of original author(mender)/ Accomplished date : September 10, 2003/ Main functions :/Function 1 Return code Function name(Parameter Explain)/Function 2 Return code Function name(Parameter Explain)/./Function n Return code Function name(Parameter Expl
10、ain)/示例3-1 文件信息声明 【规则3.1-1】文件信息声明以两行斜杠开始,以两行斜杠结束,每一行都以两个斜杠开始; 【规则3.1-2】文件信息声明包含五个部分,各部分之间以一空行间隔; 【规则3.1-3】在主要函数部分描述了文件所包含的主要函数的声明信息,如果是头文件,这一部分是可以省略的。3.1.2 头文件的结构头文件由三部分内容组成: (1) 头文件开头处的文件信息声明(参见示例3-1);(2) 预处理块;(3) 函数和类结构声明等。假设头文件名称为 filesystem.h,头文件的结构参见示例3-2。 【规则3.2-1】为了防止头文件被重复引用,应当用ifndef/define
11、/endif结构产生预处理块;“#ifndef”或者“#define”后以TAB键代替SPACE键做空格;如果头文件名称是由多个单词组成,则各单词间以下划线“_”连接,例如有头文件名称为“filesystem.h”,则定义如下:“#ifndef_FILE_SYSTEM_H_”; 【规则3.2-2】用 #include 格式来引用标准库的头文件(编译器将从标准库目录开始搜索); 【规则3.2-3】用 #include “filename.h” 格式来引用非标准库的头文件(编译器将从用户的工作目录开始搜索); 【建议3.2-1】头文件中只存放“声明”而不存放“定义”; 【建议3.2-1】头文件中应
12、包含所有定义文件所定义的函数声明,如果一个头文件对应多个定义文件,则不同定义文件内实现的函数要分开声明,并作注释以解释所声明的函数从属于那一个定义文件; 【建议3.2-3】宏定义和函数声明分离,在两个头文件中定义,如果没有类成员函数,可以将类和结构的定义与函数声明分离,也就是说一个头文件专用于宏定义,一个头文件专用于类和结构的定义,一个头文件专用于函数声明; 【建议3.2-4】在C+ 语法中,类的成员函数可以在声明的同时被定义,并且自动成为内联函数。这虽然会带来书写上的方便,但却造成了风格不一致,弊大于利。建议将成员函数的定义与声明分开,不论该函数体有多么小。头文件的结构如下:/文件信息声明见
13、示例3-1,此处省略。#ifndef_FILE_SYSTEM_H_/avoid referencing the file filesystem.h repeat#define_FILE_SYSTEM_H_#include /reference standard head file#include “myheader.h” /reference non-standard head filevoid Function1();/global function declareclass CBox /class structure decalre;#endif示例3-2 C+/C头文件的结构3.1.3 定义文