资源预览内容
第1页 / 共20页
第2页 / 共20页
第3页 / 共20页
第4页 / 共20页
第5页 / 共20页
第6页 / 共20页
第7页 / 共20页
第8页 / 共20页
第9页 / 共20页
第10页 / 共20页
亲,该文档总共20页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
软件开发流程管理规软件开发流程管理规1一、概述2二、流程2三、附件3附件一、编码规31、命名空间32、命名规那么32.1文件夹及相关文件命名规那么32.2数据库表命名规那么43、代码规43.1代码分层构造43.2编码规54、注释64.1注释模板设置64.2手工添加注释74.3注释要求8附件二、软件需求申请表9附件三、软件开发申请表10附件四、工程组成成员表11附件五、工程筹划/任务书12附件六、WBS表13附件七、工程进度方案表14附件八、工程风险管理表15附件九、工程沟通方案表16附件十、工程会议纪要17附件十一、工程状态报告表18附件十二、工程变更管理表19附件十三、工程总结表20 / 一、概述随着公司规模的扩大、各部门对软件需求的激增、提高效率的工作要求,IT部门承接的 软件开发工程越来越多,而与之相对应的就是软件开发流程不明确,软件工程的随意性较大、可追溯性较差、可统计性模糊、可预测性缺乏是摆在我们面前最直接的问题。为了适应公司的开展,IT部软件开发工程特制订本流程。二、流程由上图可以得出以下几个关键步骤: 一、需求部门:I、需求部门首先需要填写?软件需求申请表?,说明需要开发的软件具体用途径、目前 工作模式、工作不方便之处、根本功能等信息;II、待 IT部门评审通过后,通知需求部门,填写?软件开发申请表?,具体列明需要实现的功能、目前工作流程、使用系统后需要到达的状态,可节省的人力、物力,调高的效率等信息;III、软件开发测试完成之后,承受 IT 部门的软件使用培训,并填写?参与培训确认单?;IV、软件试用完毕后,填写?软件验收表?,完成软件工程的开发流程;V、在开发测试过程中,遇到开发风险增加、需求变更等,都需要配合 IT软件开发人员填写相关的?工程风险管理表?和?工程变更管理表?。二、IT部门:I、积极对需求部门提出的?软件需求申请表?进展评审、审批,限 3个工作日完成,及时反应结果给需求部门;II、指导需求部门填写各类表格; III、积极评审需求部门填写的表格、积极沟通,有效获得相对准确的需求,并填写完善,让需求部门签字确认;IV、进入开发流程后,积极填写?工程成员组成表?、?工程筹划任务书?、?WBS 表?、?工程进度方案表?等具体见附件;V、积极开展人员培训和软件试用工作,编写完善的?XXX软件试用说明书?,并要求相 关人员签字确认,并存档处理。三、附件附件一、编码规1、命名空间1.公共类库公司功能业务:1全局公共类库:例:ECO.mon.DBhelper/Excel/email,生成dll文件,添加至最小应用库可全程序引用2局部公共类库主要区分公司,命名方式为专有业务场景+专有业务名+具体类名:例:ECO.Gp总部/In国市场/Rb生产 注:公共类库信息登记、评审、信息共享,命名空间最多三层2.工程程序文件:工程文件名,以核心功能的英文名称为准,格式:ECO_英文名词首字母大写2、命名规那么2.1文件夹及相关文件命名规那么a) 文件夹:功能文件夹,采用驼峰形式,首字母大写全称b) 窗体文件:采用驼峰形式,首字母大写全称c) 接口:I+采用驼峰形式,首字母大写全称 d) 方法名:采用驼峰形式,首字母大写全称 e) 窗体控件:同上f) 局部变量:变量类型缩写int,fl,str+驼峰形式g) 全局变量:不建议使用h) 常量:全英文大写,不建议出现在页面i) 数组:功能名称首字母小写+驼峰+Arrj)List集合:功能名称首字母小写+驼峰+List k)字典:功能名称首字母小写+驼峰+Dicl)Dateset:功能名称首字母小写+驼峰+Dsm) DateTable:功能名称首字母小写+驼峰+Dt附表1:类型前缀小写+驼峰样式名词或名词短语对于根本类型变量,前缀如下表:类型前缀intintdoubledoufloatflstringstrboolbooldatetimedatbytebyt.对于对象类型变量,也可以采用类似根本类型方式,如 StringBuilder 类型,可使用 sb作为 前缀开头,后跟变量名驼峰样式。 对于集合类型变量,如数组、List、Dictionary,可以在变量命名的根底上结尾参加集合类型简写。如,sqlList,dataDic等。2.2数据库表命名规那么命名方法:工程大写首字母+_+功能全英文大写【多单词组成的,取单词首字母大写组合】表字段:类似变量命名索引:表名或缩写+_+列名+idx 注:ID、创立人creator、创立时间createTime、状态state、创立人工号createID等字段为必须创立的字段;3、代码规3.1代码分层构造建议每个模块中代码至少分三层构造,根据工程大小决定是否采用这种方式,可以先以一两个工程测试一下这种构造;表现层数据层逻辑层例如一个工程的一个模块,可以创立文件夹构造如下所示:表现层页面 *.aspx 数据层 *.cs 逻辑层 *.cs表现层直接面向用户,逻辑层负责后端逻辑处理,数据层负责和底层数据库交互。表现层调用逻辑层代码,只有查询数据时,表现层可以直接调用数据层; 逻辑层负责处理逻辑,为表现层提供调用接口,其数据操作需要调用数据层提供接口; 数据层负责提供和处理数据,需要为逻辑层提供调用接口,所有与数据库的操作都只能在该层实现。3.2编码规3.2.1通用a)类功能必须唯一:每个文件中只有一个类不包括部类b)行宽限制在80个字符,必须按最低优先级换行c)方法代码限制在200行d)类代码建议限制在1500行e)方法参数过长,应分行显示,逗号至于末尾f)每行声明一个变量,且尽量赋初值,同类型必须连续写g)复合语句都需加大括号,不要写在一行,if、else尽量配对出现,try、catch、finallyh)高扇入、合理扇出尽量不超过三层i)缩进不允许空行j)递归要慎用,goto不允许使用k)方法制止更改传递过来的参数l)实体类中变量应私有化,应包含每个变量的set及get方法m) 防止三层以上嵌套循环n)代码应包含正确性和容错性处理try、catch、finallyo)编程时应考虑代码的效率时间、空间,多循环侧,变量声明放在循环外p)对象比拟用对应方法不用“=,例如:equals,paretoq)计算尽量防止除法r)设计方法可重用性s) else、finally、catch、日志必须有出口 t) 堆常量统一定义,防止用常量字符串 u) 变量必须初始化3.2.2表现层页面端1、JS代码和CSS代码统一放置在html的head子元素中;2、JS代码需要有注释;3、页面控件有嵌套情况的,各级需要缩进,并且各级的头尾对齐;页面处理类1、页面加载时慎重处理Session置空;2、类中多处用到的变量建议创立成员变量,成员变量应私有化private,位于类代码上方;3、除用于Ext.net前台调用的如App.direct方法需为public外,其他方法建议均为private;4、Page_Load方法:建议将页面加载方法中容参加if(!X.IsAjaxRequest)代码块中,防止页面每次操作后都调用Page_Load方法;5、获取页面的效劳端控件的值前需对控件值的null和空进展判断,防止空指针异常;6、防止过多或复杂的逻辑处理代码,统一调用逻辑层代码,将展现和逻辑别离;7、对数据的增删改操作不要直接调用数据层,查询可直接调用数据层代码;3.2.3逻辑层1、除对表现层提供的接口方法外,其他方法均保持私有private2、对数据库数据处理调用数据处理层代码3、对串行的数据处理时事务保证4、逻辑代码容错性保证3.2.4数据处理层1、除对外提供的接口方法外,其他方法均保持私有private2、对数据库的底层访问获取数据库连接、执行 sql语句、数据库连接关闭均调用数据 库操作帮助类3、数据处理层类中只处理数据,防止业务逻辑代码4、sql 语句编写时防止使用“+5、数据库操作帮助类中数据库操作的容错性和事务处理插入、更新、删除操作需要事务保证4、注释编写任何代码都需要有代码注释,并且代码修改后也要修改注释,保证代码注释同步。4.1注释模板设置在vs安装目录,以下目录中,找到class.cs文件,修改保存后,重启vs,之后创立新类时即会自动产生注释。D:ProgramFiles(x86)MicrosoftVisualStudio10.0mon7IDEItemTemplatesCacheCSharpCode2052Class.zip但是修改后没有效果。4.2手工添加注释创立新对象可以手工添加注释:注释写法:块注释注释包含在/*和*/中,可以有多行。 行注释以/开头,可以有多行,每行前面都以/开头。文件头注释/* =* Copyright 2013 ECOVACS Inc. All rights reserved!* 科沃斯机器人科技(某)某*=*/类文件注释/*DESC: 类功能描述* SINCE: .net 版本* CREATOR: 创立人* DATE:创立日期*/方法注释/*DESC: 方法功能描述* PARAMS: 参数说明* RETURN: 返回值说明* CREATOR: 创立人* DATE:创立日期*/4.3注释要求a)注释量:20%30%,工程完成周期延长20%b)注释地方:段前以及当行之后c)上线之前无需版本号,上线之后需版本号,上线前统一为1.0d)注释与自身方法之间不为空,其他方法必须为空e)注释代码在上线后全删除,上线后不允许无效代码存在 注:注释中的容含创立人、创立时间、功能描述、参数说明、修改人、修改时间、修改描述、返回值;上线后每个源码备份空间附件二、软件需求申请表需求部门:申请人:用途描述目前工作状态根本功能描述部门主管建议签字确认时间附件三、软件开发申请表需求部门:申请人:具体功能模块说明目前工作流程工程完成所能带来的预期效益可节省的人力、物力等部门
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号