您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > 信息系统软件开发流程管理规范初稿
软件开发流程管理规范一、概述随着公司规模的扩大、各部门对软件需求的激增、提高效率的工作要求,IT部门承接的软件开发项目越来越多,而与之相对应的就是软件开发流程不明确,软件项目的随意性较大、可追溯性较差、可统计性模糊、可预测性不足是摆在我们面前最直接的问题。为了适应公司的发展,IT部软件开发项目特制订本流程。二、流程由上图可以得出以下几个关键步骤:一、需求部门:I、需求部门首先需要填写《软件需求申请表》,说明需要开发的软件具体用途径、目前工作模式、工作不方便之处、基本功能等信息;II、待IT部门评审通过后,通知需求部门,填写《软件开发申请表》,具体列明需要实现的功能、目前工作流程、使用系统后需要达到的状态,可节省的人力、物力,调高的效率等信息;III、软件开发测试完成之后,接受IT部门的软件使用培训,并填写《参与培训确认单》;IV、软件试用结束后,填写《软件验收表》,完成软件项目的开发流程;V、在开发测试过程中,遇到开发风险增加、需求变更等,都需要配合IT软件开发人员填写相关的《项目风险管理表》和《项目变更管理表》。二、IT部门:I、积极对需求部门提出的《软件需求申请表》进行评审、审批,限3个工作日完成,及时反馈结果给需求部门;II、指导需求部门填写各类表格;III、积极评审需求部门填写的表格、积极沟通,有效获得相对准确的需求,并填写完善,让需求部门签字确认;IV、进入开发流程后,积极填写《项目成员组成表》、《项目策划任务书》、《WBS表》、《项目进度计划表》等(具体见附件);V、积极开展人员培训和软件试用工作,编写完善的《XXX软件试用说明书》,并要求相关人员签字确认,并存档处理。三、附件附件一、编码规范1、命名空间1.公共类库(公司功能业务):(1)全局公共类库:例:生成dll文件,添加至最小应用库可全程序引用(2)局部公共类库(主要区分公司),命名方式为专有业务场景+专有业务名+具体类名:例:(总部)/In(国内市场)/Rb(生产)注:(公共类库)信息登记、评审、信息共享,命名空间最多三层2.项目程序文件:项目文件名,以核心功能的英文名称为准,格式:ECO_英文名词首字母大写2、命名规则文件夹及相关文件命名规则a)文件夹:功能文件夹,采用驼峰形式,首字母大写全称b)窗体文件:采用驼峰形式,首字母大写全称c)接口:I+采用驼峰形式,首字母大写全称d)方法名:采用驼峰形式,首字母大写全称e)窗体控件:同上f)局部变量:变量类型缩写(int,fl,str)+驼峰形式g)全局变量:不建议使用h)常量:全英文大写,不建议出现在页面i)数组:功能名称首字母小写+驼峰+Arrj)List集合:功能名称首字母小写+驼峰+Listk)字典:功能名称首字母小写+驼峰+Dicl)Dateset:功能名称首字母小写+驼峰+Dsm)DateTable:功能名称首字母小写+驼峰+Dt附表1:类型前缀(小写)+驼峰样式名词或名词短语对于基本类型变量,前缀如下表:类型前缀intintdoubledoufloatflstringstrboolbooldatetimedatbytebyt............对于对象类型变量,也可以采用类似基本类型方式,如StringBuilder类型,可使用sb作为前缀开头,后跟变量名驼峰样式。对于集合类型变量,如数组、List、Dictionary,可以在变量命名的基础上结尾加入集合类型简写。如,sqlList,dataDic等。数据库表命名规则命名方法:项目大写首字母+_+功能(全英文大写)【多单词组成的,取单词首字母大写组合】表字段:类似变量命名索引:表名(或缩写)+_+列名+idx注:ID、创建人(creator)、创建时间(createTime)、状态(state)、创建人工号(createID)等字段为必须创建的字段;3、代码规范代码分层结构建议每个模块中代码至少分三层结构,根据项目大小决定是否采用这种方式,可以先以一两个项目测试一下这种结构;表现层数据层逻辑层例如一个项目的一个模块,可以创建文件夹结构如下所示:表现层直接面向用户,逻辑层负责后端逻辑处理,数据层负责和底层数据库交互。表现层调用逻辑层代码,只有查询数据时,表现层可以直接调用数据层;逻辑层负责处理逻辑,为表现层提供调用接口,其数据操作需要调用数据层提供接口;数据层负责提供和处理数据,需要为逻辑层提供调用接口,所有与数据库的操作都只能在该层实现。编码规范通用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、finally)o)编程时应考虑代码的效率(时间、空间),多循环内侧,变量声明放在循环外p)对象比较用对应方法不用“==”,例如:equals,comparetoq)计算尽量避免除法r)设计方法可重用性s)else、finally、catch、日志必须有出口t)堆常量统一定义,避免用常量字符串u)变量必须初始化表现层页面端1、JS代码和CSS代码统一放置在html的head子元素中;表现层页面*.aspx数据层*.cs逻辑层*.cs2、JS代码需要有注释;3、页面控件有嵌套情况的,各级需要缩进,并且各级的头尾对齐;页面处理类1、页面加载时谨慎处理Session置空;2、类中多处用到的变量建议创建成员变量,成员变量应私有化(private),位于类代码上方;3、除用于前台调用的如方法需为public外,其他方法建议均为private;4、Page_Load方法:建议将页面加载方法中内容加入if(!{}代码块中,避免页面每次操作后都调用Page_Load方法;5、获取页面的服务端控件的值前需对控件值的null和空进行判断,避免空指针异常;6、避免过多或复杂的逻辑处理代码,统一调用逻辑层代码,将展现和逻辑分离;7、对数据的增删改操作不要直接调用数据层,查询可直接调用数据层代码;逻辑层1、除对表现层提供的接口方法外,其他方法均保持私有private2、对数据库数据处理调用数据处理层代码3、对串行的数据处理时事务保证4、逻辑代码容错性保证数据处理层1、除对外提供的接口方法外,其他方法均保持私有private2、对数据库的底层访问(获取数据库连接、执行sql语句、数据库连接关闭)均调用数据库操作帮助类3、数据处理层类中只处理数据,避免业务逻辑代码4、sql语句编写时避免使用“+”5、数据库操作帮助类中数据库操作的容错性和事务处理(插入、更新、删除操作需要事务保证)4、注释编写任何代码都需要有代码注释,并且代码修改后也要修改注释,保证代码注释同步。注释模板设置在vs安装目录,以下目录中,找到文件,修改保存后,重启vs,之后创建新类时即会自动产生注释。D:\ProgramFiles(x86)\MicrosoftVisualStudio\Common7\IDE\ItemTemplatesCache\CSharp\Code\2052\但是修改后没有效果。手工添加注释创建新对象可以手工添加注释:注释写法:块注释注释包含在/*和*/中,可以有多行。行注释以/**DESC:类功能描述*SINCE:版本*CREATOR:创建人*DATE:创建日期**//*==============================================================================*Copyright?2013ECOVACSInc.Allrightsreserved!*科沃斯机器人科技(苏州)有限公司*==============================================================================*//**DESC:方法功能描述*PARAMS:参数说明*RETURN:返回值说明*CREATOR:创建人*DATE:创建日期**/主管经理Supervisor签字Signature:日期Date:项目赞助人Sponsor项目经理ProjectManager项目角色包括项目赞助人(Sponsor)、项目经理(Manager)、项目核心成员(Coreteam)和项目非核心成员(Extendedteam)。附件五、项目策划/任务书一、项目基本情况项目名称(ProjectName):项目编号(ProjectCode):制作人(Preparedby):审核人(Reviewedby):项目经理(ProjectManager):制作日期(Data):二、项目描述1、项目背景与目的(所有的项目均起始于某个商业问题,该部分简要描述这些问题)2、项目目标(包括质量目标,工期目标、费用目标和交付产品特征与特征的主要描述)3、项目里程碑计划(包含里程碑的时间和成果)4、评价标准(说明项目成果在何种情况下将被接受)5、项目假定与约束条件(说明项目的主要假设条件和限制性条件)6、项目主要利益干系人(包括高管、客户、职能部门主管、供应商、项目赞助人、项目经理、项目组成成员等干系人)姓名类别部门职务附件六、WBS表一、项目基本情况项目名称(ProjectName):项目编号(ProjectCode):制作人(Preparedby):审核人(Reviewedby):项目经理(ProjectManager):制作日期(Data):二、工作分解结构分解代码WBSCode任务名称Task包含活动ActivitiesIncluded工时估算EstimatedTime人力资源EstimatedHR其他资源EstimatedResources费用估计EstimatedCost工期ExpectedDays注:以上工期及费用估算均用最可能值附件七、项目进度计划表一、项目基本情况项目名称(ProjectName):项目编号(ProjectCode):制作人(Preparedby):审核人(Reviewedby):项目经理(ProjectManager):制作日期(Data):二、项目进度表周(Week)012责任人TeamMemmber关键里程碑Milestone开始Start293031123456789101112开工会Kick-offmeeting附件八、项目风险管理表一、项目基本情况项目名称(ProjectName):项目编号(ProjectCode):制作人(Preparedby):审核人(Reviewedby):项目经理(ProjectManager):制作日期(Data):二、项目风险管理风险发生概率的判断准则高风险:60%发生风险的可能性中风险:30-60%发生风险的可能性低风险:30%发生风险的可能性序号SequenceNO.风险描述RiskDescription发生概率HappeningProbability影响程度Influencedegree风险等级RiskLevel风险响应计划RiskResponsePlan责任人Riskowner开放/关闭Open/Closed附件九、项目沟通计划表一、项目基本情况项目名称(ProjectName):项目编号(ProjectCode):制作人(Preparedby):审核人(Reviewedby):项目经理(ProjectManager):制作日期(Data):二、项目沟通计划利益干系人Stakeholders所需信息InfoNeeded频率Frequency方法Means责任人Riskowner附
本文标题:信息系统软件开发流程管理规范初稿
链接地址:https://www.777doc.com/doc-7454296 .html