




已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
软件开发规范总结 软件开发规范总结作者VCHELP软件开发规范流程图下图所指明的开发模式适用于渐进式开发。 功能分析与任务分配功能分析要完成的任务在整个工程中的作用,所产生的代码在是否与其他任务有关联(该任务的独立性和相关性)。 分析该任务是否需要再进行细分,如果需要细分则依照功能进行分类。 对于一个独立的工程可以采用功能分析的方法按照功能分类和功能细分理出整个功能的功能结构。 功能抽象对于在开发过程中所出现的频繁使用的代码段,应该对其进行重新设计并能对相应的的功能进行扩展。 对经过扩展的功能进行包装形成新的开发包。 模块划分与任务分配将多个类似的功能模块组合成一个可由某开发者单独完成的任务。 关键数据分析对整个工程中需要维护的全局数据作出定义和规定存取数据的规则。 对某些非全局数据但是由某一个/几个模块维护并使用的局部数据进行定义。 功能设计文档功能设计文档用于阐述如何按照功能将工程分为多个功能集合,定义每个功能集合所完成的具体功能和具体的功能模块划分,定义在功能集合中所使用的局部数据,和模块间数据交换的规则和约束条件。 软件模块结构图根据自顶而下的分析方法,结构图中应该明确划分每一功能模块的名称,说明。 如果某一功能有必要分为多个子功能则需要在下面添加相关子功能说明。 结构图由一幅总结构图,多幅逻辑结构图和功能模块详图组成。 其中总结构图表明整个工程的模块划分,逻辑结构图依照工程的逻辑功能分类并表明功能划分,功能模块详图是在逻辑结构图的基础上提供更具体和更接近开发的功能划分和功能说明。 模块划分的思路全局数据/函数管理模块,局部数据/管理模块代码和具体功能模块。 软件结构文档阐明完成任务所使用的软件结构,需要详细说明软件中各个部分(模块)间的关系,各种功能在软件中的地位。 定义各个模块如何与其他模块发生关系,定义模块间数据的流动方向。 定义模块间的依赖关系和调用关系。 具体开发模块开发文档该文档用于描述某一具体模块的开发安排和设计思想/实现。 应该有简单的流程图,如果该模块完成一特定算法则应该对算法有具体的描述。 对于模块所使用的内部数据不做规定,但需要在流程图中标明。 文档需包括以下内容工程名称当前模块名称开发/修改记录表模块功能说明功能模块设计说明功能模块流程图估计完成时间实际完成时间相关模块名称及相互调用关系功能模块对整个工程中全局数据的改变和影响功能模块对局部数据的改变和影响功能模块中所涉及关键技术,设计思想及相关代码讲解模块修改文档该文档用于对已经开发完成的模块进行修改时记录修改方法以及修改后的功能变动。 当前模块名称文件列表模块功能说明更改原因修改后的功能说明与前后功能对照表修改方法简要说明估计完成时间实际完成时间另附经过修改的模块开发文档。 软件功能分析方法说明功能与模块分析采用自顶向下的分析方法。 开发模式说明渐进式开发方式首先每位开发人员都可以有一个完整的开发环境。 一个功能集合完成并且经过测试后被组装入当前的工程中。 在采用渐进式开发模式时要求对数据的定义和处理有严格的规定,所以在定义模块时需要指明所有的非内部数据的使用规则。 每次组装功能后都需要根据文档中所涉及到的相关部分进行测试以保证整个工程的正确性。 代码规范代码按照前面模块的分类也分为以下几类全局数据/函数管理模块代码,局部数据/管理模块代码和具体功能模块代码。 每部分代码由两部分组成定义文件,实现文件。 定义文件为一个,实现文件在必要情况下可有多个组成,文件名格式为原文件名_1,2。 对于全局或是局部管理模块,文件名为glo_功能名。 定义文件格式功能说明注释版本号开发者修改者所作改动简要说明其他数据结构定义函数/过程功能说明参数说明函数/过程定义在定义文件中应该禁止/减少对全局变量的定义,而应该提供相应的功能函数来完成对全局/局部数据的操纵。 实现文件格式实现文件中应该包含有比较详细的注释,特别是对于涉及到具体算法的部分应该指明相关的模块开发文档名称,以便于使用。 在书写代码时应该讲求格式统一,在代码中如果伏有调试代码,一定要在调试代码起始处加以注释。 文件格式应该大致如下功能说明注释版本号开发者/修改者该版本中所做的改动列表函数/过程功能说明函数功能定义变量命名规则对于作用域跨越10行以上的变量名称不能少于4-6个字符号,除循环变量,累加变量外不得使用如同i jk等名称的变量。 主体采用大小写混合,每个单词的首字母大写。 变量前缀规则(匈牙利表示法)整型nVar无符号整型uVar长整型lVar浮点型fVar双精度型dbVar字符chVar布尔型bVar结构strVar字符串sVar带NULL终止符的字符串szVar BYTEbyVar WORDwVar DWORDdwVar全局变量glo_typeVar成员变量m_typeVar特定前缀数组a句柄h长指针lp指针p例如hwndMyWin命名为MyWin的窗口句柄lpszStr指向Str字符串,以NULL结尾长指针adwArr命名为Arr的双字节数的数组功能函数/过程命名规则函数名称应该尽量使用能够表达函数功能的英文名称,函数名称中应该禁止使用如同function1function2等含义不清的名称。 单词间应该使用大小写分隔。 函数名应以一个动词起首,如OpenFile,CloseDialog。 全局函数应该以glo_前缀开始。 VC编程准则1.要区别类的创建者和类的使用者。 类的使用者才是顾客,他们并不需要或许也不想知道类的内部是怎样动作的。 类的创建者必须使该类可以被最没有经验的程序员使用,而且在应用程序中工作良好。 库只是在透明的情况下才会容易使用。 2.尽可能用有意义的名字来命名类。 使用户接口简单,可以用函数重载和缺省参数来创建一个清楚易用的接口。 3.把对象的成员尽可能定义为private。 4.尽可能用public类型的成员函数存取成员变量。 5.每个类应有一个单一清楚的目的。 如果该类显得过于复杂,则应分解成多个简单的类。 6.一个类一开始时接口部分就尽可能小面精。 可以逐渐增加成员函数及成员变量。 因为增加容易删除难。 7.大声朗读我们的类,确保它们是合理的。 读基类时用is-a,读成员对象时用has-a。 8.尽量不用多重继承。 9.不要用私有继承。 我们可以用一个私有成员对象来代替私有继承。 10.首先保证程序能运行,然后再考虑优化。 11.让对象的作用范围尽可能的小。 12.尽量少用全局变量及全局函数。 把数据放到类
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 子宫附件MR扫描课件
- 年度信息安全培训总结课件
- 年底餐饮人员安全培训课件
- 娱乐直播运营基础知识
- 年后安全教育培训
- 工业机器人ABB课件
- 威化品安全培训课件
- 家庭保洁服务协议书7篇
- 委托培训期间学员安全课件
- 平面和平面垂直课件
- 5.1 延续文化血脉(课件) 2025-2026学年度九年级上册 道德与法治 统编版
- 海水的秘密课件
- 系统运维期月度运行维护报告范文
- 2025-2026学年人教版七年级英语上册starterunit1-3单元测试卷(含答案)
- 辽宁省点石联考2025-2026学年高三上学期9月开学英语试题(含答案)
- 2025年乡镇文旅部门工作人员招聘考试必-备知识点与模拟题集
- 抖音达人签约合同协议书
- 森林消防队森林火灾扑救知识培训考试题库题库(附含答案)
- 湖南美术出版社二年级上册美术教学计划
- 2025年西藏自治区事业单位招聘考试综合类专业能力测试试卷(新闻类)押题卷
- VOCs治理设备培训
评论
0/150
提交评论