软件公司软件项目研发管理制度版

上传人:飞*** 文档编号:48784208 上传时间:2022-01-14 格式:DOCX 页数:33 大小:152.93KB
收藏 版权申诉 举报 下载
软件公司软件项目研发管理制度版_第1页
第1页 / 共33页
软件公司软件项目研发管理制度版_第2页
第2页 / 共33页
软件公司软件项目研发管理制度版_第3页
第3页 / 共33页
资源描述:

《软件公司软件项目研发管理制度版》由会员分享,可在线阅读,更多相关《软件公司软件项目研发管理制度版(33页珍藏版)》请在装配图网上搜索。

1、一、总述2二、项目计划2三、项目组织3四、项目管理44.1、 软件开发规范44.1.1、 命名体系44.1.2、 编码风格44.1.3、 界面风格44.1.4、 版本控制54.1.5、 通用约束54.1.6、 开发方法54.1.7、 开发流程54.1.8、 交流制度64.1.9、 代码标准化管理6文档管理4.1.12、 项目交付管理74.1.13、 项目归档管理74.2、 任务分解与分目标制定74.3、 进度检查与绩效考评84.3.1、 考评原则84.3.2、 考评标准9434、考评矩阵94.4、 应对一些突发事件(协调与调整)124.5、 与有利害关系的人共享信息12附录4-1项目开发计划1

2、3附录4-2软件需求说明书15附录4-3详细设计说明书17附录44用户手册19附录4-5数据要求说明书22附录4-6项目开发总结报告24附录5-1JAVA编码规范26附录5-2应用结构定义与命名规范32附录5-3数据库对象命名规范32一、总述项目管理覆盖整个项目生命周期,管理制度就是落实到管理过程中的一些基本要素,这里我们将其概括为三项基本业务:I、项目计划指明要取得的各种结果指定进度表估计所需资源II项目组织落实项目体系中的角色配置与角色的职责III、项目管理约束任务分解与分目标制定进度检查与质量评估应对一些突发事件(协调与调整)与有利害关系的人共享信息二、项目计划项目计划的结果体现为“项目

3、开发计划”书面形式,其中要对开发过程中各项工作的负责人、开发进度、进度衡量的标准、完成进度所需经费预算以及所需软、硬件条件等问题详尽的罗列出来,以便根据本计划开展和检查本项目的开发工作。附录4-1给出计划书模板。三、项目组织项目组织包括项目角色定义、角色责任定义、角色间关系定义。角色定义是根据项目需求配置(调配、招聘)具备相应素质与能力的成员。角色责任定义就是将具体的任务分解到每个角色;角色间关系定义指明报告与检查体系;一般情况下为三级组织:业务与商务协调组(商务洽谈、目标与进度及资源定义与落实调整)项目经理开发组系统支持组负责主机、网络、应用支撑软件的安装调试开发经理系统架构组负责系统的体系

4、结构与应用框架设计详细设计组落实到具体语言的功能实现质量控制组(负责功能、性能、可用性、可维护性、稳定性、压力测试)质量经理业务与商务协调组一般由客我双方成员共同组成,负责项目的总体需求、总体目标、里程碑,关键技术路径定义。在制定项目总体目标、里程碑定义与关键技术路径时候要与开发经理联合统筹,并以项目经理意见为主。开发组的责任人是开发经理,系统体系结构与框架由开发经理与开发组主力程序员联合统筹,并以开发经理意见为主,具体功能实现一般以主力程序员(系统分析员、高级程序员)意见为主。“系统支持”属于临时调配,很可能是外部资源,但工作质量由开发经理检查。质量控制由质量经理、开发经理、项目经理联合统筹

5、,以质量经理意见为主。整个项目生命周期中一般角色责任定义如下:过程职责角色定义需要定义问题说明书项目经理/分析员开始项目规划项目规划分析员设计设计方案设计说明书分析员编码编写程序编码说明书分析员僖级程序员恪程序集成到系统中集成测试说明书程序员测试嗡证系统功能与性能系统测试说明书测试员/分析员接收向客户演示系统操作说明书项目经理鹿户移植移植最终运行环境移植说明书分析员僖级程序员数据采集及导入分析员催序员运仃用户培训用户培训文档分析员/用户监安系统运行,的3用户/分析员软件开发可分为:过程、定义、设计、编码、系缢:应i、接收、移植、运行等过程。四、项目管4.1、软件开发规范这里只是给出我司软件开发

6、必须遵从的原则,具体内容应该由项目经理或开发经理根据具体项目制定详尽约定。在罗列规范之前,开发组织(团队)必须遵从一个最基本的约定一一统一开发环境:os:操作系统;IDE:集成开发工具;DEBUG:调试工具;SC:源代码控制器;IM:即时交流工具;DD:文档工具(计划,任务,报告);ASM:间接交流工具,一般以mail为主。另外还要为团队固定一些一些角色,builder/Serve】adnunistratoi(dba&osa)。严格区分开发平台与生产平台之间的界限(安全、测试、性能)4.1、 K命名体系A)数据库与数据库对象命名;B)开发语言的元素命名(类、对象、文件、命名空间、组件、函数、方

7、法等);0页面与页面元素命名.D)文件目录体系4.L2、编码风格缩进、换行、块大小、文件大小、注释4.1.3. 界面风格组件类别、大小、前景、背景、字体、鼠标敏感、边框、布局4.1.4. 版本控制创建权限、创建分之权限、更新频度、提交准则。4.1.5. 通用约束向导设置、数据校验、提示信息、响应时间与响应方式4.1.6. 开发方法鉴于用户需求的不容易澄清性与变动频繁这一特点,所有项目均采用迭代开发方法。这就是说不要指望在明确的需求调研阶段能把问题搞清楚,弄清楚个大概即可,以不超过两周的迭代间隔快速的交互原型,以便反馈更进一步的需求、这样一步步逼近用户的真实想法。这里要特别强调的是多与用户交流,

8、项目组内有关设计方法与策略也要频繁地交流。4.1.7. 开发流程纯粹从开发的角度我们将项目周期划分为两个阶段,每个阶段要完成的的如下:设请於段4.1.8. 交流制度项目组每周至少要进行不少于两次的集体交流,否则就是开发经理或项目经理失职(交流不限制时间长短、方式、内容可以从需要到设计到实现、甚至是抱怨)。4.1.9. 代码标准化管理小组内成员必须开展互测,项目经理要督促进行。如果一般性的缺陷被质量组测试发现,项目经理可以作出警告、取消休假、扣发奖金等处理措施。项目经理或开发经理可抽查成员代码,对比规范作出人员基本技术素养评测,计入期末(项目结束)考核(去留)。4.1.10. 备份制度应用系统的

9、所有资料代码(程序、脚本块、数据库脚本)、文档、数据,除了数据以外,全部纳入源代码控制系统。数据每天备份一次媒介是磁盘,代码(程序脚本、数据库脚本)、文档每周一次媒介是磁盘,所有信息每月备份一次媒介是光盘。4.1.11. 档管理没有文档的软件是一种灾难。代码不是传达系统原理和结构的理想媒介;开发团队更需要编制易于阅读的文挡,来对系统及其设计决策的依据进行描述。然而,过多的文档比过少的文档更糟。编制众多的文档需要花费大量的时间,并且要使这些文档和代码保持同步:就要花费更多的时间。如果文档和代码之间失去同步,那么文档就会变成庞大的、复杂的谎言.会造成重大的误导;对于团队来说,编写并维护一份系统原理

10、和结构方而的文挡将总是一个好主慝,但是那份文档应该是短小、突出主题的。为此我们拟定所有项目都必须编制以下文档。1项目开发计划书,模板见附录4-12软件需求说明书,模板见附录4-23详细设计说明书,模板见附录4-34用户手册,模板见附录4-45数据库需求说明,模板见附录4-56项目开发总结报告,模板见附录4-64.1.12. 项目交付管理软件交付应用,源代码文档交付视技术合同要求交付的内容而定运行维护技术交付:系统、数据库、应用的日常管理与维护。系统安全性交付:操作系统管理与应用账号、数据库管理与应用开发账号、应用服务器的管理与应用开发账号。4.1.13. 项目归档管理项目执行过程的所有资料程序

11、、脚本、数据、文档以光盘作媒介,并附上资料清单,交给公司行政部。4.2、 任务分解与分目标制定组织中的负责人负责具体的任务分解并落实到组织中的每个人。形式如下:软件开发任务单项目名称:任务编号子项名称按“子系统一模块一功能”最多三级划分功能描述技术要求复杂度(业务与技术两个层次)任务发出人任务承接人限时开始yyyy/Wdd限时结束yyyy/MMdd考核标准(百分制)分值考评项目301、时效性:(是否按时完成)402、客户关注点:(功能、可靠性、易用性、高效性、可维护性、可移植性)表现如何103、规范与标准54、复用与创新85、团队精神26、奉献精神57、沟通精神4.3、 进度检查与绩效考评4.

12、3.3. 考评原则软件开发人员的绩效考评是所有软件公司都深感棘手但乂必须面对的问题。棘手的原因是既不能进行计时处理、也不能进行计件处理。计时会造成出工不出力,计件(一般按代码条数)会挫伤优秀软件人员的积极性(同样实现一个功能,差的软件人员成百上千行,而优秀软件人员只有几十行,且好用)。但是只要尊重一些必要的原则,还是能够加以评估的。这里提出六条原则:1、被考核对象必须有明确的任务项目经理或开发经理必须发出明确的任务书:任务书中指定任务名称、任务内容、完成时限之、考核标准、向谁负责,任务的难易程度(业务与技术两个方面)。难易程度由项目组成员集体评价。没有明确的任务当然就无法考评(见表4-2)o2

13、、考评标准要综合计量量与非计量量。计量量如:完成时间、完成了对少功能、测试出多少缺陷等,非计量量如:用户接受程度如何、项目组合作情况如何等等,要将这些因素综合考虑。3、要体现多劳多得、奖勤罚懒。高效、高质完成任务的人员必须得到区别对待(调资、休假、奖金)。4、考评结果要及时与被考评对象沟通,容许争议协调。5、考评时间不得跨度太大,一般为两周一次,不符合这种周期的,项目经理与开发经理需要适当对任务做进一步分解。6、被考评要提供周报月报之类的内容,但不作为考评的依据。我们只注重结果,也就是说根据结果认定过程。4.3.4. 考评标准1、时效性:不管是承揽项目还是产品研发都有一定的时间限定,愈期就意味

14、着成本增加甚至是失败。所以能否按时完成任务是绩效考评的一个重要标致。2、客户关注点客户关注点也就是软件的品质,涉及的内容很多,按国家标准分为六个层面,即:功能、可靠性、易用性、高效性、可维护性、可移植性。这六个项目的次序也就是我们考察的顺序,首先必须完成功能,然后再衡量功能是否可靠,再然后才其他几个方面,如果以百分制来衡量,这六个指标的比例大致是50,25,15,10,5,5o也就是说必须保证前四项。而功能、可靠性乂是重中之重75%。3、规范与标准不以规矩不能成方园,不遵从标准的与规范的设计开发必将造成巨大的维护成本与技术积累成本,同时也给软件交流与究错设置障碍,所以必须强调规范化与标准化。4

15、、复用与创新性这是软件开发人员设计与开发综合能力的一个集中体现。5、团队精神没有团队精神的软件开发人员坚决辞退:开发过程中团队精神主要表现在:一、对测试出的问题是互相推委,还是协商解决;二、接口设计各行其事还是共同制订;三、发现他人犯错是善意提醒还是沉默不语;四、不注重版本管理。6、奉献精神任务比较紧张时候,是否不计较个人得失主动加班加点赶任务。7、沟通精神不懂问题是拖延时间还是主动寻求帮助,技术经验是否主动分享。4.3.4. 考评矩阵开发人员当期任务评测表任务书编号:项目指标时效率按时未按时X%(X=100)完成未完成X%Y%客户关注点功能可靠易用性能维护移植功能可鸵易用性能维护移植AW50

16、%BW25%CW15%DW10%EW5%FW5%AW5O%BW25*CW15$DW1O%EW5$FW5$规范与标准好j二G26GW4G=0复用与创新性好中差心3HW2H=0团队精神好中差15IW4ieo-2奉献精神好中差JE1.5-*2.0J=0.5J=0.0沟通精神好中差43KW2K=0.0记分(30+(ArB+CrD+E+F)*10+class变量的命名变量的名字必须用一个小写字母开头。后面的单词用大写字母开头userName,thisAClassMethod4、staticfinal变量的命名staticfinal变量的名字应该都大写,并且指出完整含义。publicstaticfinal

17、StringDB_CONFIG_FILE_PATHicom.neu.etrain,dbconfig”;5、参数的命名参数的名字必须和变量的命名规范一致。6、数组的命名数组应该总是用下面的方式来命名:bytebuffer;而不是:bytebuffer;7、方法的参数使用有意义的参数命名,如果可能的话,使用和要赋值的字段一样的名字:setCounter(intsize)this.size=size;I)I2、注视规范Java的注释有三种/注释一行/*/注释若干行/*/注释若干行,并写入javadoc文档,也叫java文档注释注释要简单明了。StringuserName=null;/用户名边写代码边

18、注释,修改代码同时修改相应的注释,以保证注释与代码的一致性。在必要的地方注释,注释量要适中。注释的内容要清楚、明了,含义准确,防止注释二义性。保持注释与其描述的代码相邻,即注释的就近原则。对代码的注释应放在其上方相邻位置,不可放在下面。对数据结构的注释应放在其上方相邻位置,不可放在下面;对结构中的每个域的注释应放在此域的右方;同一结构中不同域的注释要对齐。变量、常量的注释应放在其上方相邻位置或右方。全局变量要有较详细的注释,包括对其功能、取值范围、哪些函数或过程存取它以及存取时注意事项等的说明。在每个源文件的头部要有必要的注释信息,包括:文件名;版本号;作者;生成日期;模块功能描述(如功能、主

19、要算法、内部各部分之间的关系、该文件与其它文件关系等);主要函数或过程清单及本文件历史修改记录等。/*CopyRightInformation:stsoft:jscbmi s*Project* JDK version used:Jdkl. 5. 09* Comments:config path* Version:1. 01* Modification history :2007. 5. 1* SrDate Modified By Why & What is modified* 1.2003. 5. 2 David Li new*/在每个函数或过程的前面要有必要的注释信息,包括:函数或过程名称;

20、功能描述;输入、输出及返回值说明;调用关系及被调用关系说明等/* Description:checkout提款* paramHashtablecartinfo* paramOrderBeanorderinfo* returnStringpublicStringcheckout(HashtablehtCart,OrderBeanorderBean)throwsExceptionjavadoc注释标签语法Author对类的说明标明开发该类模块的作者Aversion对类的说明标明该类模块的版本see对类、属性、方法的说明参考转向,也就是相关主题param对方法的说明对方法中某参数的说明return对

21、方法的说明对方法返回值的说明Exception对方法的说明对方法可能抛出的异常进行说明3、排版规范1. 关键词和操作符之间加适当的空格。2. 相对独立的程序块与块之间加空行3. 较长的语句、表达式等要分成多行书写。4. 划分出的新行要进行适应的缩进,使排版整齐,语句可读。5. 长表达式要在低优先级操作符处划分新行,操作符放在新行之首。6. 循环、判断等语句中若有较长的表达式或语句,则要进行适应的划分。7. 若函数或过程中的参数较长,则要进行适当的划分。8. 不允许把多个短语句写在一行中,即一行只写一条语句。9. 函数或过程的开始、结构的定义及循环、判断等语句中的代码都要采用缩进风格。10. C

22、/C+语言是用大括号和界定一段程序块的,编写程序块时和应各独占一行并且位于同一列,同时与引用它们的语句左对齐。在函数体的开始、类的定义、结构的定义、枚举的定义以及if、for、do、whileswitch、case语句中的程序都要采用如上的缩进方式。4、java文件样式所有的Java(札java)文件都必须遵守如下的样式规则:版权信息版权信息必须在java文件的开头,比如:/* Copyright?2000nanjingXXXCo.Ltd.* Allrightreserved.*/其他需要出现在javadoc的信息也可以包含在这里。package/importspackage行要在import

23、行之前,import中标准的包名要在本地的包名之前,而且按照字母顺序排列。如果import行中包含了同一个包中的不同子目录,则应该用*来处理。.stats;importjava.io.*;importjava.util.Observable;importhotlava.util.Application;这里java.io.*使用来代替InputStreamandOutputStream的。Class接下来的是类的注释,一般是用来解释类的。/* Aclassrepresentingasetofpacketandbytecounters* Itisobservabletoallowittobewa

24、tched,butonly* reportschangeswhenthecurrentsetiscomplete*/接下来是类定义,包含了在不同的行的extends和implementspublicclassCounterSetextendsObservableimplementsCloneableclassfields接下来是类的成员变量:/* Packetcounters* /protectedintpackets;public的成员变量必须生成文档(Javadoc)。procetedprivate和package定义的成员变量如果名字含义明确的话,可以没有注释。存取方法接下来是类变量的存

25、取的方法。它只是简单的用来将类的变量赋值获取值的话,可以简单的写在一行上。/* Getthecounters* returnanarraycontainingthestatisticaldata.Thisarrayhasbeen* freshlyallocatedandcanbemodifiedbythecaller.*/publicintgetPackets()returncopyArray(packets,offset);)publicintgetBytes()returncopyArray(bytes,offset);)publicintgetPackets()returnpackets

26、;publicvoidsetPackets(intpackets)this,packets=packets;其它的方法不要写在一行上构造函数接下来是构造函数,它应该用递增的方式写(比如:参数多的写在后面)。访问类型(public,private等.)和任何“static,final”或synchronized应该在一行中,并且方法和参数另写一行,这样可以使方法和参数更易读。publicCounterSet(intsize)(this.size二size;clone,String,main三个方法为可选,如果是bean,建议实现串行化、克隆两个接口,并完成toStrin晨).hashCode()

27、两个方法对基于MS平台开发的应用,C#编码规格等同于上述。附录5-2应用结构定义与命名规范建立应用结构的原则:1、前端与后端分离;2、系统、子系统、模块分离;3、页面、脚本、样式、图标分离4、私有与通用分离;命名同样采用名词或动宾结构短语或缩写,每一级别名称不超过12个字符,全部有小些字母组成(26个字母)。前端业务功能1pagesscriptscssimages业务功能2业务功能ncommonscriptspages(err,warning,hintdialog)cssimages后端应用业务功能1sys.subsys.module.functionl业务功能2sys.subsys.modu

28、le.function2业务功能nsys.subsys.module,functiorm组件类com.sys.subsys工具类util(tools)sys.subsys框架类framework,sys数据库视图存储过程函数表、索引、触发器、约束、缺省等脚本文档计划、报告、设计等等测试与修订纪录(Tyyyy-mmrdd.xslRyyyynm-dd.xsl)附录5-3数据库对象命名规范命名原则:采用名词或动宾结构短语或缩写,名称不超过32个字符,名称由26英文字母,09及下划线组成,下划线与数字不能位于名称开始,创建数据库时候建议设置大小写敏感,命名采用大小写混合,不建议全部小写名称。命名原则:前缀+4,+子系统+,+模块+,+名称数

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!