《信息系统软件开发流程管理规范_初稿.docx》由会员分享,可在线阅读,更多相关《信息系统软件开发流程管理规范_初稿.docx(24页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、Four short words sum up what has lifted most successful individuals above the crowd: a little bit more.-author-date信息系统软件开发流程管理规范_初稿信息系统软件开发流程管理规范_初稿软件开发流程管理规范软件开发流程管理规范1一、概述2二、流程2三、附件3附件一、编码规范31、命名空间32、命名规则32.1 文件夹及相关文件命名规则32.2 数据库表命名规则43、代码规范43.1 代码分层结构43.2 编码规范54、注释64.1 注释模板设置64.2 手工添加注释74.3 注释要求
2、8附件二、软件需求申请表9附件三、软件开发申请表10附件四、项目组成成员表11附件五、项目策划/任务书12附件六、WBS 表13附件七、项目进度计划表14附件八、项目风险管理表15附件九、项目沟通计划表16附件十、项目会议纪要17附件十一、项目状态报告表18附件十二、项目变更管理表19附件十三、项目总结表20-一、概述随着公司规模的扩大、各部门对软件需求的激增、提高效率的工作要求,IT 部门承接的 软件开发项目越来越多,而与之相对应的就是软件开发流程不明确,软件项目的随意性较大、 可追溯性较差、可统计性模糊、可预测性不足是摆在我们面前最直接的问题。为了适应公司 的发展,IT 部软件开发项目特制
3、订本流程。二、流程由上图可以得出以下几个关键步骤: 一、需求部门:I、需求部门首先需要填写软件需求申请表,说明需要开发的软件具体用途径、目前 工作模式、工作不方便之处、基本功能等信息;II、待 IT 部门评审通过后,通知需求部门,填写软件开发申请表,具体列明需要实 现的功能、目前工作流程、使用系统后需要达到的状态,可节省的人力、物力,调高的效率 等信息;III、软件开发测试完成之后,接受 IT 部门的软件使用培训,并填写参与培训确认单; IV、软件试用结束后,填写软件验收表,完成软件项目的开发流程; V、在开发测试过程中,遇到开发风险增加、需求变更等,都需要配合 IT 软件开发人员填写相关的项
4、目风险管理表和项目变更管理表。 二、IT 部门:I、积极对需求部门提出的软件需求申请表进行评审、审批,限 3 个工作日完成,及时反馈结果给需求部门;II、指导需求部门填写各类表格; III、积极评审需求部门填写的表格、积极沟通,有效获得相对准确的需求,并填写完善,让需求部门签字确认;IV、进入开发流程后,积极填写项目成员组成表、项目策划任务书、WBS 表、项目进度计划表等(具体见附件);V、积极开展人员培训和软件试用工作,编写完善的XXX 软件试用说明书,并要求相 关人员签字确认,并存档处理。三、附件 附件一、编码规范 1、命名空间1.公共类库(公司功能业务):(1) 全局公共类库:例:ECO
5、.Common.DBhelper/Excel/email,生成 dll 文件,添加至最小应用库可全程序引用(2) 局部公共类库(主要区分公司),命名方式为专有业务场景+专有业务名+具体类名: 例:ECO.Gp(总部)/In(国内市场)/Rb(生产) 注:(公共类库)信息登记、评审、信息共享,命名空间最多三层2.项目程序文件:项目文件名,以核心功能的英文名称为准,格式:ECO_英文名词首字母大写2、命名规则2.1 文件夹及相关文件命名规则a) 文件夹:功能文件夹,采用驼峰形式,首字母大写全称b) 窗体文件:采用驼峰形式,首字母大写全称c) 接口:I+采用驼峰形式,首字母大写全称 d) 方法名:采
6、用驼峰形式,首字母大写全称 e) 窗体控件:同上f) 局部变量:变量类型缩写(int,fl,str)+驼峰形式g) 全局变量:不建议使用h) 常量:全英文大写,不建议出现在页面i) 数组:功能名称首字母小写+驼峰+Arrj)List 集合:功能名称首字母小写+驼峰+List k)字典:功能名称首字母小写+驼峰+Dicl)Dateset:功能名称首字母小写+驼峰+Ds m) DateTable:功能名称首字母小写+驼峰+Dt附表 1:类型前缀(小写)+驼峰样式名词或名词短语 对于基本类型变量,前缀如下表:类型前缀intintdoubledoufloatflstringstrboolbooldat
7、etimedatbytebyt.对于对象类型变量,也可以采用类似基本类型方式,如 StringBuilder 类型,可使用 sb 作为 前缀开头,后跟变量名驼峰样式。 对于集合类型变量,如数组、List、Dictionary,可以在变量命名的基础上结尾加入集合类型 简写。如,sqlList,dataDic 等。2.2 数据库表命名规则命名方法:项目大写首字母+_+功能(全英文大写)【多单词组成的,取单词首字母大写组合】 表字段:类似变量命名索引:表名(或缩写)+_+列名+idx 注:ID、创建人(creator)、创建时间(createTime)、状态(state)、创建人工号(createI
8、D) 等字段为必须创建的字段;3、代码规范3.1 代码分层结构建议每个模块中代码至少分三层结构,根据项目大小决定是否采用这种方式,可以先以一两个 项目测试一下这种结构;表现层数据层逻辑层例如一个项目的一个模块,可以创建文件夹结构如下所示:表现层页面 *.aspx 数据层 *.cs 逻辑层 *.cs表现层直接面向用户,逻辑层负责后端逻辑处理,数据层负责和底层数据库交互。表现层调用逻辑层代码,只有查询数据时,表现层可以直接调用数据层; 逻辑层负责处理逻辑,为表现层提供调用接口,其数据操作需要调用数据层提供接口; 数据层负责提供和处理数据,需要为逻辑层提供调用接口,所有与数据库的操作都只能在该 层实
9、现。3.2 编码规范3.2.1 通用a)类功能必须唯一:每个文件中只有一个类(不包括内部类)b)行宽限制在 80 个字符内,必须按最低优先级换行c)方法代码限制在 200 行内d)类代码建议限制在 1500 行内e)方法参数过长,应分行显示,逗号至于末尾f)每行声明一个变量,且尽量赋初值,同类型必须连续写g)复合语句都需加大括号 ,不要写在一行,if、else 尽量配对出现,try、catch、finally h)高扇入、合理扇出(尽量不超过三层)i)缩进不允许空行j)递归要慎用,goto 不允许使用k)方法内禁止更改传递过来的参数l)实体类中变量应私有化,应包含每个变量的 set 及 get
10、 方法m) 避免三层以上嵌套循环n)代码应包含正确性和容错性处理(try、catch、finally)o)编程时应考虑代码的效率(时间、空间),多循环内侧,变量声明放在循环外p)对象比较用对应方法不用“=”,例如:equals,compare to q)计算尽量避免除法r)设计方法可重用性s) else、finally、catch、日志必须有出口 t) 堆常量统一定义,避免用常量字符串 u) 变量必须初始化3.2.2 表现层页面端1、JS 代码和 CSS 代码统一放置在 html 的 head 子元素中;2、JS 代码需要有注释;3、页面控件有嵌套情况的,各级需要缩进,并且各级的头尾对齐;页面
11、处理类1、页面加载时谨慎处理 Session 置空;2、类中多处用到的变量建议创建成员变量,成员变量应私有化(private),位于类代码上方; 3、除用于 E 前台调用的如 App.direct 方法需为 public 外,其他方法建议均为 private; 4、Page_Load 方法:建议将页面加载方法中内容加入if (!X.IsAjaxRequest)代码块中,避免页面每次操作后都调用 Page_Load 方法;5、获取页面的服务端控件的值前需对控件值的 null 和空进行判断,避免空指针异常;6、避免过多或复杂的逻辑处理代码,统一调用逻辑层代码,将展现和逻辑分离;7、对数据的增删改操
12、作不要直接调用数据层,查询可直接调用数据层代码;3.2.3 逻辑层1、除对表现层提供的接口方法外,其他方法均保持私有 private2、对数据库数据处理调用数据处理层代码3、对串行的数据处理时事务保证4、逻辑代码容错性保证3.2.4 数据处理层1、除对外提供的接口方法外,其他方法均保持私有 private2、对数据库的底层访问(获取数据库连接、执行 sql 语句、数据库连接关闭)均调用数据 库操作帮助类3、数据处理层类中只处理数据,避免业务逻辑代码4、sql 语句编写时避免使用“+”5、数据库操作帮助类中数据库操作的容错性和事务处理(插入、更新、删除操作需要事务 保证)4、注释编写任何代码都需
13、要有代码注释,并且代码修改后也要修改注释,保证代码注释同步。4.1 注释模板设置在 vs 安装目录,以下目录中,找到 class.cs 文件,修改保存后,重启 vs,之后创建新类时即 会自动产生注释。D:ProgramFiles(x86)MicrosoftVisualStudio10.0Common7IDEItemTemplatesCacheCSharpCode2052Class.zip但是修改后没有效果。4.2 手工添加注释创建新对象可以手工添加注释: 注释写法:块注释 注释包含在/*和*/中,可以有多行。 行注释以/开头,可以有多行,每行前面都以/开头。文件头注释/* =* Copyrig
14、ht 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.0 d)注释与自身方法之间不为空,其他方法必须
15、为空e)注释代码在上线后全删除,上线后不允许无效代码存在 注:注释中的内容含创建人、创建时间、功能描述、参数说明、修改人、修改时间、修改描 述、返回值;上线后每个源码备份空间附件二、软件需求申请表需求部门:申请人:用途描述目前工作状态基本功能描述部门主管建议签字确认(时间)附件三、软件开发申请表需求部门:申请人:具体功能模块 说明目前工作流程项目完成所能 带来的预期效 益(可节省的 人力、物力等)部门主管建议签字确认(时间)附件四、项目组成成员表Project Team Members一、项目基本情况项目名称(Project Name):项目编号(Project Code):制作人(Prepa
16、red by):审核人(Reviewed by):项目经理(Project Manager):制作日期(Data):二、项目组成员成员姓名Name项目角色Project Role所在部门Dept Name职责Responsibility项目起止日 期 Data投入频度及 工作量 Time联系电话Tel No.主管经理Supervisor签字 Signature:日期 Date:项目赞助人 Sponsor项目经理 Project Manager项目角色包括项目赞助人(Sponsor)、项目经理(Manager)、项目核心成员(Core team) 和项目非核心成员(Extended team)。
17、附件五、项目策划/任务书项目策划/任务书Project Plan/Charter一、项目基本情况项目名称(Project Name):项目编号(Project Code):制作人(Prepared by):审核人(Reviewed by):项目经理(Project Manager):制作日期(Data):二、项目描述1、项目背景与目的(所有的项目均起始于某个商业问题,该部分简要描述这些问题)2、项目目标(包括质量目标,工期目标、费用目标和交付产品特征与特征的主要描述)3、项目里程碑计划(包含里程碑的时间和成果)4、评价标准(说明项目成果在何种情况下将被接受)5、项目假定与约束条件(说明项目的主
18、要假设条件和限制性条件)6、项目主要利益干系人(包括高管、客户、职能部门主管、供应商、项目赞助人、项目经理、项目组成成员等干系人)姓名类别部门职务附件六、WBS 表WBS 表Project Work Breakdown Structure一、项目基本情况项目名称(Project Name):项目编号(Project Code):制作人(Prepared by):审核人(Reviewed by):项目经理(Project Manager):制作日期(Data):二、工作分解结构分解代码WBS Code任务名称Task包含活动Activities Included工时估算Estimated Tim
19、e人力资源Estimated HR其他资源Estimated Resources费用估计Estimated Cost工期Expected Days注:以上工期及费用估算均用最可能值附件七、项目进度计划表项目进度计划表Project Schedule一、项目基本情况项目名称(Project Name):项目编号(Project Code):制作人(Prepared by):审核人(Reviewed by):项 目 经 理 ( Project Manager):制作日期(Data):二、项目进度表周(Week)012责任人Team Memmber关键里程碑 Milestone开始Start2930
20、31123456789101112开工会 Kick-off meeting附件八、项目风险管理表项目风险表Project Risk Management一、项目基本情况项目名称(Project Name):项目编号(Project Code):制作人(Prepared by):审核人(Reviewed by):项目经理(Project Manager):制作日期(Data):二、项目风险管理风险发生概率的判断准则高风险:60%发生风险的可能性中风险:30-60%发生风险的可能性低风险:30%发生风险的可能性序号Sequenc e NO.风险描述Risk Description发生概率Happe
21、ning Probability影响程度Influence degree风险等级Risk Level风险响应计划RiskResponse Plan责任人Risk owner开放/关闭Open/Close d附件九、项目沟通计划表项目沟通计划表Project Communication Plan一、项目基本情况项目名称(Project Name):项目编号(Project Code):制作人(Prepared by):审核人(Reviewed by):项目经理(Project Manager):制作日期(Data):二、项目沟通计划利益干系人Stakeholders所需信息Info Needed
22、频率Frequency方法Means责任人Risk owner附件十、项目会议纪要项目会议纪要Project Meeting Minutes一、基本情况会议名称(Meeting Name):召集人(Called By):会议日期(Meeting Date):开始时间(Start Time):会议地点(Meeting Place):持续时间(Meeting Duration):记录人(Minutes By):审核人(Reviewed By):二、会议目标简要说明会议的目标,包括期望达到的结果三、参加人员(列出参加会议的人员,他在项目中的头衔或角色)四、发放材料(列出会议讨论的所有项目资料)五、发
23、言记录(记录发言人的观点、意见和建议)六、会议决议(说明会议结论)七、会议纪要发放范围附件十一、项目状态报告表项目状态报告表一、项目基本情况项目名称(Project Name):项目编号(Project Code):制作人(Prepared by):审核人(Reviewed by):项目经理(Project Manager):制作日期(Data):当前项目状况按计划进行比计划提前落后计划汇报周期二、当前任务状态(简要描述任务进展情况)关键人物状态指示状态描述三、本周期内的主要活动(对本周期内的主要交付物进行总结)四、下一个汇报周期内的活动计划(描述活动需要与项目计划和 WBS 相对应)五、财务
24、状况六、上期遗留问题的处理(说明上一个汇报周期内问题的处理意见和处理结果)七、本期问题与求助附件十二、项目变更管理表项目变更管理表Project Change Management一、项目基本情况项目名称(Project Name):项目编号(Project Code):制作人(Prepared by):审核人(Reviewed by):项目经理(Project Manager):制作日期(Data):二、历史变更记录(按时间顺序记录项目以往的每一次变更情况)序号Sequence NO.变更时间Change Date涉及项目任务Task Concerned变更要点Change To变更理由Wh
25、y Requested申请人Requested By审批人Approved By三、请求变更信息(建议的变更描述以及参考资料)1、申请变更的内容2、申请变更原因四、影响分析受影响的基准计划1、进度计划2、费用计划3、资源计划是否需要成本/进度影响分析?是否对成本的影响对进度的影响对资源的影响变更程度分类 高 中 低若不进行变更有何影响申请人签字申请日期五、审批结果审批意见审批人签字日期附件十三、项目总结表项目总结表Project Overviews一、项目基本情况项目名称(Project Name):项目编号(Project Code):制作人(Prepared by):审核人(Reviewed by):项目经理(Project Manager):制作日期(Data):二、项目完成情况总结1、时间总结开始时间:Start Date计划完成时间Expected Finish Date实际完成日期Actual Finish Date时间(差异)分析2、成本总结计划费用实际费用成本(差异)分析3、交付结果总结计划交付结果实际交付结果未交付结果交付结果(差异)分析三、项目经验、教训总结签字 Signature日期 Date项目赞助人 Project Sponsor项目经理 Project Manager