软件开发项目开发规范

软件开发项目开发规范
软件开发项目开发规范

JAVA语言编程格式规范

软件研发中心XX项目组

2013.03

V1.0

目录

1. 前言 (4)

2. 试用范围 (4)

3. JAVA命名规范 (4)

3.1 公共约定 (4)

3.2 Java文件、包 (4)

3.3 类、接口命名规范 (4)

3.4 方法命名规范 (4)

3.5 常量 (5)

3.6 变量和参数 (5)

3.7 组件/部件 (5)

3.8 集合 (5)

3.9 神秘的数 (6)

3.10 其他 (6)

3.11 Java异常 (6)

3.12 数组命名 (6)

4. 书写格式规范 (6)

4.1 缩进 (6)

4.2 空格 (6)

4.3 对齐 (6)

4.4 空行 (7)

4.5 注释 (7)

5. 代码文件风格 (7)

5.1 文件生成 (7)

5.2 package/import (7)

5.3 文件头部注释 (7)

5.4 存取方法 (8)

5.5 构造函数 (9)

5.6 克隆方法 (9)

5.7 类方法 (9)

5.8 main 方法 (10)

6. 开发框架约定 (10)

6.1 视图层编码约定: (10)

6.2 控制层编码约定: (13)

6.3 实体层编码约定: (14)

6.4 服务层编码约定: (14)

6.5 通用编码约定: (14)

6.6 数据库约定: (14)

1. 前言

为确保系统源程序可读性,从而增强系统可维护性,兹制定下述编程规范,以规范系统各部分编程。系统继承的其它资源中的源程序也应按此规范作相应修改。

2. 试用范围

本文档将作为广州诚泰交通机电工程有限公司研发中心XX项目系统软件(JAVA语言)开发的编程格式规范。在系统的编码、测试及维护过程中,要求严格遵守。

3. JAVA命名规范

3.1 公共约定

命名指系统中对源文件名、方法、目录、包、数据库表名、数据库字段等的命名。

A.系统所用的命名都使用英文缩写来表达。

B.命名的组成方式为:前缀+{命名词素缩写},前缀表达出命名的用途,如数据库表等。

C.命名的前缀由项目组确定。

D.除系统公共维护对象外的其他对象,命名全部用小写。一种方式用“_”作连接符,

另一种方式是词素的第一个字母大写直接连接在一起。在本规范中,数据库名、数据库字段名采用第一种方式,其余采用第二种方式。

E.使用可以准确说明变量/字段/类/接口/包等的完整的英文描述符。例如,采用类似

firstName,listAllUsers或CorporateCustomer这样的名字,严禁使用汉语拼音及不相关单词命名,虽然Java支持Unicode命名,但本规范规定对包、类、接口、方法、变量、字段等不得使用汉字等进行命名

F.采用大小写混合,提高名字的可读性。一般应该采用小写字母,但是类和接口的名字

的首字母,以及任何中间单词的首字母应该大写。包名全部小写。

G.尽量少用缩写,但如果一定要使用,当使用公共缩写和习惯缩写等,如实现

(implement)可缩写成impl,经理(manager)可缩写成mgr等,具体参看下表,严禁滥用缩写。

H.避免使用长名字(最好不超过35个字母)。

I.避免使用数字,但可用2代替to,用4代替for等,如:go2Jsp。

3.2 Java文件、包

A.文件名当与其类严格相同,所有单词首字母大写。

B.包名一般以项目或模块名命名,少用缩写和长名,一律小写。

C.基本包:com.czpost,所有包、文件都从属于此包。

包名按如下规则组成:

[基本包].[项目名].[模块名].[子模块名]...

如:com.czpost.eims;com.hepost.eims.until…

D.不得将类直接定义在基本包下,所有项目中的类、接口等都当定义在各自的项目和模

块包中。

3.3 类、接口命名规范

A.所有单词首字母大写。使用能确切反应该类、接口含义、功能等的词。一般采用名词。

B.接口可带I前缀。

3.4 方法命名规范

方法的命名应采用完整的英文描述符,大小写混合使用:所有中间单词的第一个字母

大写。法名称的第一个单词常常采用一个有强烈动作色彩的动词。

取值类使用get前缀,设值类使用set前缀,判断类使用is(has)前缀。

例:getName()

setSarry()

isLogon()

方法参数建议顺序:(被操作者,操作内容,操作标志,其他?)

例:public void replace(String sourceStr, String oldStr, String newStr) {

........

}

3.5 常量

采用完整的英文大写单词,在词与词之间用下划线连接,如:DEFAULT_VALUE

3.6 变量和参数

采用直接定义的方法,要做到清晰易懂的原则,如:

实体类例如:Project project;直接把类型的首个大写字母变成小写字母就行了。

日期型例如:Date createDate;

3.7 组件/部件

应采用完整的英文描述符命名组件(接口部件),遵循匈牙利命名法则

如:btnOK,lblName。

A.按钮变量 btn+Xxxxxxx 例如:btnSave,btnExit,btnPrint等

B.题标变量 lbl+Xxxxxxxx 例如:lblName,lblSex等

C.

对象类型前缀

Canvas cvs

CheckBox chk

Image img

List list

Choice chc

Dialog dlg

Event evt

Frame frm

Menu menu

Panel pnl

TextArea txa

TextField txf

3.8 集合

采用变量+集合类型的方法一个集合定义,如果集合采用泛型的话就必须泛型化处理如:

Array userArray = new Array(); //用户列表

Map userMap = new Map();//用户Map

List onLineUserList = new List< User >();//在线用户List

3.9 神秘的数

程序里经常会用到一些量,它是有特定的含义的,把神秘的数定义为一个常量。注意这个常量的命名应该能表达该数的意义,并且应该全部大写,以与对应于变量的标识符区别开来。例如50这个数,可以定义为一个名为NUM_OF_EMPLOYEES的常量来代替。

3.10 其他

命名时应使用复数来表示它们代表多值。如:orderItems。

3.11 Java异常

异常类名由表示该异常类型的单词和Exception组成,如ActionException。

异常实例一般使用e、ex等,在多个异常时使用该异常名或简写加E,Ex等组成,如:SQLEx;ActionEx

3.12 数组命名

数组应该总是用下面的方式来命名:

byte[] buffer;

而不是

byte buffer[];

4. 书写格式规范

严格要求书写格式是为了使程序整齐美观、易于阅读、风格统一,程序员对规范书写的必要性要有明确认识。建议源程序使用eclipse工具开发,格式规范预先在工具中设置。

4.1 缩进

缩进建议以4个空格为单位。预处理语句、全局数据、标题、附加说明、函数说明、标号等均顶格书写。语句块的"{"、"}"配对对齐,并与其前一行对齐,语句块类的语句缩进建议每个"{"、"}"单独占一行,便于匹对。Mysclipse 中的默认方式是开始的"{"不是单独一行,建议更改成上述格式。

4.2 空格

原则上变量、类、常量数据和函数在其类型,修饰名称之间适当空格并据情况对齐。关键字原则上空一格,如:if ( ... ) 等。运算符的空格规定如下:"::"、"->"、"["、"]"、"++"、"--"、"~"、"!"、"+"、"-"(指正负号)、"&"(引用)等几个运算符两边不加空格(其中单目运算符系指与操作数相连的一边),其它运算符(包括大多数二目运算符和三目运算符"?:"两边均加一空格,在作函数定义时还可据情况多空或不空格来对齐,但在函数实现时可以不用。","运算符只在其后空一格,需对齐时也可不空或多空格。不论是否有括号,对语句行后加的注释应用适当空格与语句隔开并尽可能对齐。个人认为此项可以依照个人习惯决定遵循与否。

4.3 对齐

原则上关系密切的行应对齐,对齐包括类型、修饰、名称、参数等各部分对齐。另每一行的长度不应超过屏幕太多,必要时适当换行,换行时尽可能在","处或运算符处,换行后最好以运算符打头,并且以下各行均以该语句首行缩进,但该语句仍以首行的缩进为准,即如其下一行为“{”应与首行对齐。

变量定义最好通过添加空格或TAB键形成对齐,同一类型的变量最好放在一起。如下例所示:

int nValue;

int nResult;

int nLength;

4.4 空行

不得存在无规则的空行,比如说连续十个空行。程序文件结构各部分之间空一行,由于每个函数还要有函数说明注释,故通常只需空一行或不空,但对于没有函数说明的情况至少应再空一行。对自己写的函数,建议也加上“//------”做分隔。函数内部数据与代码之间应空至少一行,代码中适当处应以空行空开,建议在代码中出现变量声明时,在其前空一行。类中四个“p”之间至少空一行,在其中的数据与函数之间也应空行。

4.5 注释

注释是软件可读性的具体体现。程序注释量一般占程序编码量的20%,软件工程要求不少于20%。程序注释不能用抽象的语言,类似于"处理"、"循环"这样的计算机抽象语言,要精确表达出程序的处理说明。避免每行程序都使用注释,可以在一段程序的前面加一段注释,具有明确的处理逻辑。注释必不可少,但也不应过多,不要被动的为写注释而写注释。以下是四种必要的注释:

A.标题、附加说明。

B.函数、类等的说明。对几乎每个函数都应有适当的说明,通常加在函数实现之前,在

没有函数实现部分的情况下则加在函数原型前,其内容主要是函数的功能、目的、算法等说明,参数说明、返回值说明等,必要时还要有一些如特别的软硬件要求等说明。

公用函数、公用类的声明必须由注解说明其使用方法和设计思路,当然选择恰当的命名格式能够帮助你把事情解释得更清楚。

C.在代码不明晰或不可移植处必须有一定的说明。

D.及少量的其它注释,如自定义变量的注释、代码书写时间等。

5. 代码文件风格

所有的 Java(*.java) 文件都必须遵守如下的样式规则:

5.1 文件生成

对于规范的 JAVA 派生类,尽量用 Myeclipse工具来生成文件格式,避免用手工制作的头文件/实现文件。

5.2 package/import

package 行要在 import 行之前,import 中标准的包名要在本地的包名之前,而且按照字母顺序排列。用到什么就导入什么包。减少采用 import 行中包含了同一个包中的不同子目录 * 来处理。

https://www.360docs.net/doc/fd16930612.html,.stats;

import java.io. InputStream;

import java.io. OutputStream;

importjava.util.Observable;

importhotlava.util.Application;

使用这里 import java.io. InputStream 和import java.io. OutputStream 来代替java.io.* 的。

5.3 文件头部注释

文件头部注释主要是表明该文件的一些信息,是程序的总体说明,可以增强程序的可

读性和可维护性。文件头部注释一般位于 package/imports 语句之后,Class 描述之前。要求至少写出文件名、创建者、创建时间和内容描述。其格式应该尽量约束如下:/**

*Title: 确定鼠标位置类

* Description: 确定鼠标当前在哪个作业栏位中并返回作业号

* @Copyright: Copyright (c) 2002

* @Company: HIT

* @author: rivershan

* @version: 1.0

*/

Class

接下来的是类的注释,一般是用来解释类的。

/**

*A class representing a set of packet and byte counters

* It is observable to allow it to be watched, but only

* reports changes when the current set is complete

*/

接下来是类定义,包含了在不同的行的 extends 和 implements ,所有继承(扩展)全部写在一行,如:

public class CounterSet extends Observable implementsCloneable

Class Fields

接下来是类的成员变量:

/**

*Packet counters

*/

Protected int[] packets;

public 的成员变量必须生成文档(JavaDoc)。proceted、private和 package 定义的成员变量如果名字含义明确的话,可以没有注释。

5.4 存取方法

接下来是类变量的存取的方法。它只是简单的用来将类的变量赋值获取值的话,可以简单的写在一行上。(个人认为尽量分行写)

/**

*Get the counters

* @return an array containing the statistical data. This array has been * freshly allocated and can be modified by the caller.

*/

Public int[] getPackets()

{

Return copyArray(packets, offset);

}

public void setPackets(int[] packets)

{

this.packets = packets;

}

其它的方法不要写在一行上

5.5 构造函数

接下来是构造函数,它应该用递增的方式写(比如:参数多的写在后面)。

Public CounterSet(int size)

{

this.size = size;

}

5.6 克隆方法

如果这个类是可以被克隆的,那么下一步就是 clone 方法:

Public Object clone()

{

try

{

CounterSet obj = (CounterSet)super.clone();

obj.packets = (int[])packets.clone();

obj.size = size;

return obj;

}

catch(CloneNotSupportedException e)

{

throw new InternalError("Unexpected CloneNotSUpportedException: "

+ e.getMessage());

}

}

5.7 类方法

下面开始写类的方法:

/**

*Set the packet counters

* (such as when restoring from a database)

*/

protected final void setArray(int[] r1, int[] r2, int[] r3, int[] r4) throwsIllegalArgumentException

{

//

// Ensure the arrays are of equal size

//

if (r1.length != r2.length || r1.length != r3.length || r1.length != r4.length)

throw new IllegalArgumentException("Arrays must be of the same size";

System.arraycopy(r1, 0, r3, 0, r1.length);

System.arraycopy(r2, 0, r4, 0, r1.length);

}

5.8 main 方法

如果main(String[]) 方法已经定义了, 那么它应该写在类的底部。

6. 开发框架约定

6.1 视图层编码约定:

A.考虑以后多语言的支持,jsp页面采用统一的UTF-8编码,不允许使gbk/gb2312。

B.采用统一定义的CSS风格,不允许使用自创风格。

C.统一使用页面校验方法。

D.每一个模块统一命名jsp页面名称:

1)首页:index.jsp

2)列表:list+实体名.jsp

3)显示:show+实体名.jsp

4)添加编辑:addEdit+实体名.jsp

5)提交:handle+实体名.jsp

6)打印:print+实体名+of+关键字(例如按月打印,关键字就是month).jsp

E.页面内容提示信息分为两种统一的约定:信息提示和错误提示:

“message”>和

F.页面常用引入文件采用统一模版(由李煜慈统一规范)

a.所有页面,必须包含:

1.<%@include file="/resources/include/taglib.jsp" %>【放在html标

签外】

2.

page="/resources/include/common.jsp">【放在

head标签中】

3.

【放在body标签中的第一行】

b.List页面,包含ecside列表

1.标签外必须加上

page="/resources/include/ecsideTop.jsp">和

page="/resources/include/ecsideBottom.jsp">

2.对于表格的编辑查看的权限必须加上标签,用于控制

这个是查看权限的标签,其它的如edit,remove

3. 对于工具栏的操作权限,如:这个是添加权限,必须写在jQuery(function(){....});之中,而且callBack的函数必须在页面定义,否则就会出错。

c.左右结构带树形的页面(不能拖动)

1.初始化页面的大小:subLayoutInit()可以设置参数,设置左边的宽

度,默认是250,

2.定义加载树的函数:loadTree(),创建树:treeTool = new

TreeTool("subLeftTree",

"${ctxrms}/road/roadinfo/getTree.action");

3.树的权限信息,

treeTool.setOperatePrivilege('

operates="add,remove" />');其中operates可以加入多个,但操作

对应的处理函数必须定义,否则会出错,如addFn, 必须是fn来作

为处理函数的后缀,可以参考ms/sys/constantdd/index.jsp页面

d.左右结构带树形的页面(能拖动),跟不能拖动树的不同是创建的函数不一样:

var resourcesTree = jQuery.fn.zTree.init(jQuery("#subLeftTree"),

getDragDropSetting("${ctxms}/sys/role/getTree.action"));

treeTool = new DragDropTreeTool(resourcesTree);

treeTool.setOperatePrivilege('

operates="add,remove" />');//权限

treeTool.init("${ctxms}/sys/role/nodeDropTree.action");//定义拖动请求的Action

e.标签

1.工具栏的操作权限标签

ct:operatePrivilege生成按钮和绑定回调函数

operate必选,操作

callBack可选,回调函数,写入这个标签就必须写实现函数,否则报错

备注:不能有标签体,如:

XXXXXXXXXX

2.操作权限标签

ct:privilege

operate必选,操作

备注:必须有标签体

3.树的操作权限标签

ct:treeOperatePrivilege生成按钮和绑定回调函数,以fn作为后缀,如

addFn

operate必选,操作,可以写入多个权限,以“,”隔开

备注:不能有标签体

4.数据字典标签

ct:constantDD 生成select下拉框

codeValue必选,对应的数据字典的codeValue

formName可选,select元素的name,默认与codeValue一样

value可选,值

extendFeatures可选,select元素的属性信息

defaultValue可选,默认值

isRead可选,是否可读,默认“false”

valueColumn可选,值对应的列名称,默认是value

displayColumn可选,显示值的列名称,默认是name

备注:不能有标签体

5.取得数据字典的显示信息

ct:getConstanDDDisplayValue

codeValue必选,对应的数据字典的codeValue

value必选,值

valueColumn 可选,值对应的列名称,默认是value

displayColumn可选,显示值的列名称,默认是name

备注:不能有标签体

6.系统图标

ct:iconInfo 生成select下拉框

formName必选,select元素的name

value可选,值

extendFeatures可选,select元素的属性信息

isRead可选,是否可读,默认“false”

备注:不能有标签体

7.取得select下拉框

ct:selectBean

className必选,对应的类

formName必选,select元素的name

defaultValue可选,默认值

extendFeatures可选,select元素的属性信息

valueColumn可选,值对应的列名称,默认是id

displayColumn可选,显示值的列名称,默认是name

sortColumn可选,排序字段

sortType可选,排序,默认升序

isRead可选,是否可读,默认“false”

备注:不能有标签体

G.控件使用jquery等(由李煜慈提供,讨论后决定)

使用到js的全部使用jQuery关键字,不再使用${}

6.2 控制层编码约定:

A.Action相关:

1)Private static final Logger logger = Logger.getLogger(实

体名称+Action.class);

2)必须继承

3)在引入service时,不再使用setter方法,使用Spring的注释方式@Autowired

4)如果索引页不是listXX.jsp,addEditXX.jsp的不需要写方法,默认调用

index.action,这个方法不需要写(在BaseAction),只需要在配置文件写上这个

Action,index可以重写,如果有需要的话.

5)如果需要生成树的信息的,用getTree.action

6)树拖动节点的,用nodeDropTree.action

B.Action中方法的命名与server中的方法,Xwork中的action的name,成功转发后的jsp

页面的命名必须一致。例如:action中的listUsers();server中的listUsers();Xwork

中的actionname= listUsers;成功跳转jsp页面listUsers.jsp

C.所有Action类扩展(继承)自BaseAction例如:public class

ProjInfoAction extends BaseAction

6.3 实体层编码约定:

A.必须有无参数的构造方法

B.所有的实体类继承BaseModel

C.类属性命名与表字段名称相同、jsp页面表单域名字相同;如属性firstName

对应的数据库字段firstName;如果字段是实体类的话采用实体类名称+Id的方法。如属性project对象对应的数据库字段是projectId;表单域名字为project;

采用第一个单词小写后面单词首字母大写的方法。

D.命名:public class实体名extends BaseModel

E.在实体类文件和.hbp.xml文件里面都要添加注释说明。

6.4 服务层编码约定:

A.Server相关:

1)所有Server类扩展(继承)自BaseServer类,所有的服务面向接口编程(即所有的服

务调用都是接口而不是实现类)

2)命名:public class 实体名Service extends BaseService implements

I实体名Service

3)需要生成树的,必须实现接口ITreeService

6.5 通用编码约定:

A.约定

1)在jsp页面上的title中对jsp添加注释,与jsp命名同义的汉字。

2)屏蔽所有System.out调试输出,采用log4j.debug。

3)注释所有的类。

B.平台相关:

1)在程序中不要硬性编码与平台相关的任何常量,比如行分隔符,文件分割符,路

径分割符等。请使用java.util.Properties中的getProperty

(“line.separator”)行分隔符;getProperty(“file.separator”)文件

分隔符;getProperty(“path.separator”)路径分隔符。

2)禁止调用与操作系统相关的类包。

6.6 数据库约定:

数据库统一命名为chengtechMS

A.表名统一命名为项目代号(大写简称)_表名(实体类名称);

【使用包名来写,如:[项目名MS]_[模块名OA](_[子模块名])_user】

B.前缀与命名词素间用下划线分隔。字段命名与类字段名称相同,如firstName

对应的数据库字段firstName;如果字段是实体类的话采用实体类名称+Id

的方法。Project对象对应的数据库字段是projectId;

C.在数据库字段的备注说明属性中添加备注说明。

6.7 工具类说明:

1.BlankUtil:判断对象是否为空,全部类型都可以,包括List,等

2.DateUtil:日期工具类

3.JsonUtil:Json工具类

4.XMLUtil:xml工具类,主要是通过注释将对象转换成xml字符串

5.AppUtil:系统工具,如:getBean,取得当前用户,取得系统绝对路径

等。

软件项目开发计划书

软件项目开发计划书 Company Document number:WUUT-WUUY-WBBGB-BWYTT-1982GT

软件开发计划书 项目名称:图书管理系统 目录

1引言 编写目的 为了保证项目团队按时保质地完成项目目标,便于项目团队成员更好地了解项目情况,使项目工作开展的各个过程合理有序,有必要以文件化的形式,把对于在项目生命周期内的工作任务范围、各项工作的任务分解、项目团队组织结构、各团队成员的工作责任、团队内外沟通协作方式、开发进度、经费预算、项目内外环境条件、风险对策等内容以书面的方式描述出来,作为项目团队成员以及项目干系人之间的共识与约定,项目生命周期内的所有项目活动的行动基础,项目团队开展和检查项目工作的依据。 本项目开发计划用于从总体上指导图书管理系统项目顺利进行并最终得到通过评审的项目产品。本项目开发计划面向项目组全体成员。 背景 山西农业大学图书管理系统是由沈阳师范大学委托我们开发的大型管理系统,主要功能是实现图书馆的信息化管理,包括读者信息管理,书籍信息管理,借阅信息管理,管理者信息管理等功能。项目周期为六个月,项目背景规划如表所示。 表项目背景规划

图书管理系统是学校信息管理系统的一个重要组成部分,它需要学生基本信息系统提供学生的基本资料,因为很多情况下,图书证号和学生的学生证号是一样的,而且在图书管理中,需要知道学生所在的系别和班级等信息;另外,它还需要教职工信息系统提供基本资料,因为教职工当然也能在图书馆借阅图书。因此,在设计时可以和校园信息管理系统的其他系统使用同一个数据库管理系统,以便系统之间的信息交流和管理。 定义 专门术语: SQL SERVER:系统服务器所使用的数据库关系系统(DBMS)。 SQL:一种用于访问查询数据库的语言 事务流:数据进入模块后可能有多种路径进行处理。 主键:数据库表中的关键域。值互不相同。 外部主键:数据库表中与其他表主键关联的域。 ROLLBACK:数据库的错误恢复机制。 缩写: 系统:若未特别指出,统指本图书管理系统。 SQL:Structured Query Language(结构化查询语言)。 ATM:Asynchronous Transfer Mode (异步传输模式)。 UML:统一建模语言、是一套用来设计软件蓝图的标准建模语言,是一种从软件分析、设计到编写程序规范的标准化建模语言。

某某科技公司项目管理制度

某某科技公司项目管理制度 XXXXX科技有限公司 项目管理制度 第一章总则 第一条贯彻公司以市场为中心的基本思想,理顺项目管理中人、财、物的关系,明确工作责任,充分体现人尽其才,物尽其用的原则,遵照国家有关规定和公司其他有关规定,特制定本制度。 第二章定义 第二条遵循项目经理负责制的原则,通过项目经理和项目组织的努力,运用系统的理论和方法对特定项目及其相关可利用资源进行计划、组织、协调、控制,以实现项目的预定目标。 第三条适用范围 1、硬件工程:除纯硬件销售之外的硬件项目,包括但不限于网络设备安装工程、 综合布线工程、监控产品的安装工程等。 2、软件工程:凡公司自行开发及代理软件项目,包括但不限于视觉多媒体系统、 商务软件、教学软件等。 3、综合性工程:划分为硬件分项工程、软件分项工程实施管理。 4、其他应该实行项目管理的工程。 第四条名词解释 1、项目业务经理:在项目签约以前的项目经理,主要负责完成项目的前期需求 调研及总体设计方案,从项目的前期公关、跟踪,直至项目的签约。

2、项目实施经理:在项目签约之后的项目经理,主要负责项目的详细调研及详细设计方案,从实施计划的制定、执行,直至项目的完工验收。 3、责任业务员:按公司有关规定,与项目成败具有直接利益关系的人员。 1 第三章流程 第五条项目准备 1、业务信息的管理 2、意向客户的确定 第六条项目立项 1、立项 2、跟踪 3、签约 第七条项目实施 1、确定实施小组 2、制定实施计划 3、编制项目预算 4、执行实施计划 5、协助项目决算 6、项目内部评审 7、完成竣工验收 8、提交竣工文档 第八条项目终止 第九条项目文件归档 第四章项目准备

华为软件开发规范

软件开发规范 1 排版 1-1:程序块要采用缩进风格编写,缩进的空格数为4个。 说明:对于由开发工具自动生成的代码可以有不一致。 1-2:相对独立的程序块之间、变量说明之后必须加空行。 示例:如下例子不符合规范。 if (!valid_ni(ni)) { ... epssn_index; repssn_ni = ssn_data[index].ni; 应如下书写 if (!valid_ni(ni)) { ... epssn_index; repssn_ni = ssn_data[index].ni; 1-3:较长的语句(>80字符)要分成多行书写,长表达式要在低优先级操作符处划分新行,操作符放在新行之首,划分出的新行要进行适当的缩进,使排版整齐,语句可读。 示例: = NO7_TO_STAT_PERM_COUNT_LEN + STAT_SIZE_PER_FRAM * sizeof( _UL ); act_task_table[frame_id * STAT_TASK_CHECK_NUMBER + index].occupied = stat_poi[index].occupied; act_task_table[taskno].duration_true_or_false = SYS_get_sccp_statistic_state( stat_item ); report_or_not_flag = ((taskno < MAX_ACT_TASK_NUMBER) && (n7stat_stat_item_valid (stat_item)) && (act_task_table[taskno].result_data != 0));

信息系统软件开发流程管理规范_初稿

软件开发流程管理规范

一、概述 随着公司规模的扩大、各部门对软件需求的激增、提高效率的工作要求,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) 窗体文件:采用驼峰形式,首字母大写全称

软件项目实施计划

1 前言 项目实施是指软件开发项目在开发过程完成后,系统在正式移交客户使用前,系统所进行的现场联调、系统试运行和实施培训的过程。 项目正式实施之前,相关实施工作人员需要认真做好实施前的准备,并仔细制定实施计划,以期顺利地做好后续各项实施工作,按时完成实施任务。 2 实施准备 2.1 人员准备 人员准备是指所涉及的项目在实施工作中可能需要沟通的人员,包括公司相关人员以及客户方相关负责人员。 2.2 技术准备 技术准备是指弄明白项目所涉及到的各项技术,如系统配置、环境配置、数据库配置、软件部署等。确保实施人员掌握了项目部署所需要的相关技术,确保项目实施工作能够顺利完成。 2.3 其他准备 其他准备是指考虑到与客户的沟通,以及可能遇到的出行方式、食宿等,以及所涉及到的辅助工具。 3 进度时间安排表 充分考虑实施工作中可能会遇到的风险与干扰,根据项目整体计划,制定实施进度的时间安排表。 4 任务分解 4.1 实施计划编制

公司项目实施人员根据项目的实际情况,和客户公司相关人员初步接触沟通后,编制实施计划文档,如有必要,可与公司以及客户方相关人员对实施计划进行修订与确认。 4.2 环境准备 4.2.1 硬件环境准备 列举项目所需要的各项硬件设备。确认客户方是否准备好运行项目所需要的服务器、附属硬件设备,用于安装数据库系统以及管理软件系统的中间层,负责数据的存取和业务规则的处理。 4.2.2 软件环境准备 列举、确认项目运行所需要的各项软件环境的要求。 4.2.3 网络环境准备 如果项目的部署需要网络环境的支持。实施人员需要考虑到项目运行所需要的网络环境支持,并与客户方确认沟通,以搭载必要的网络环境。 4.2.4 初始化数据准备 初始化数据准备是对项目的基础数据进行整理,如初始化客户方组织机构,以及各岗位工作人员及其对系统的使用权限,包括用户权限分派和业务权限分派等。实施人员需要与客户方进行深入沟通,确保初始化数据的准确。 4.3 系统培训 如项目实施需要对客户方进行系统的使用培训,需要实施人员根据系统的实际情况,与公司以及客户方相关人员进行协调沟通,明确

公司软件项目管理规范标准

公司软件项目管理规范 V1.0

研发中心软件项目管理规范 1.1.项目实施原则 ?项目实施过程要遵守标准规范的项目管理体系进行 ●项目执行的规范性是项目成功的保证。 ●项目执行的规范性可以有效保证项目质量。 1.2.项目实施方法 金山顶尖在多年的应用软件项目实施过程中,积累了丰富的项目实施经验,曾先后组织实施了多个上千万元的复杂项目,同时也积累了丰富的项目实施经验。 1.2.1.管理目标与指导思想 ●管理目标 以客户体验为中心,持续改进产品生产及交付过程,面向客户提供优质产品或服务,持续提高客户满意度。 ●指导思想 通过持续的过程改进,逐步提高项目交付的产品(服务)质量与生产效率,更好的满足客户的需求,提升公司客户满意度。 1.2.2.质量保证体系 依据ISO9001:2008的规定,金山顶尖质量体系文件划分为4层层级结构,自上而下分别为纲领性文件、制度性文件,作业指导性文件和质量记录模版,下级文件的制定和修改必须符合上级文件的要求,如下图所示:

手册、方针 过程文件 作业规范、指南文件 质量记录、模板文件 质量体系文件层次示意图 ●第一级为质量手册和方针文件 质量手册和方针文件是公司质量管理及过程改进体系的纲领性文件。它依据GB/T19001-2008质量管理体系要求、系统工程生产过程域的目标要求,规定了公司提供产品及服务的过程质量控制标准及其工作产品质量目标要求。 ●第二级为制度性文件 制度性文件是规范公司生产管理过程的一系列规章制度和办法文件,它适用于公司所有部门,是公司所有员工工作沟通的平台,主要包括项目管理控制程序文件、软件及系统工程管理控制程序文件、销售管理控制程序文件、服务保障体系文件、客户满意及投诉管理体系文件以及其他业务支持体系文件。 ●第三级为作业规范及指南文件 作业规范及指南文件是针对过程控制体系文件对公司各业务领域的作业规范要求制定的具体的设计、开发、实施、服务及运营保障管理作业说明书,是对过程控制体系文件的进一步细化和补充。 ●第四级为质量记录及模版文件 质量记录及模版文件体现了ISO9001-2008的基本质量要求及过程质量控制要素,为公司员工执行作业程序提供了一系列的参考模板、质量记录和工具表单文件。 金山顶尖质量保障体系如下图示意表示:

软件开发规范标准整体规范标准

软件开发规范 Software Development Specification Version: V1.0 Date: 2010-06-22 Prepared by

Document Revision History文档修订记录

Table of Contents目录 1Introduction 简介5 1.1Purpose 目标5 1.2Scope 范围6 1.3Definitions, Acronyms, and Abbreviations. 术语,缩略词6 1.4References 引用7 1.5Overview 文档组织7 2The Overall Description 概述8 2.1Software Development Organizing 开发团队组织结构8 2.2Project Base Process 项目基本流程9 2.3CMM Base Process CMM基本过程10 2.3.1SCM软件配置管理10 2.3.2SPP 计划策划12 2.3.3SPTO项目追踪16 2.3.4PR同行评审18 2.3.5SQA质量保证19 2.4SDLC 生命周期选择20 2.5Development Process 开发过程21 2.5.1Development Phase 开发阶段21 2.5.2Phase Product 阶段制品22 2.6Role Duty 角色职责23 2.7Constraints 限制24 3Specific Requirements 详细描述25 3.1Precondition 前提25 3.1.1SCM配置库25 3.1.2Test Environment 测试环境26 3.2Development Control Process 开发控制流程26 3.2.1项目启动和策划阶段27 3.2.2需求分析、设计、编码阶段27 3.2.3提交测试阶段27 3.2.4生产发布、终测28 3.2.5发布后问题反馈修改过程28 3.3TSP 团队软件过程30 3.3.1会议组织30 3.3.2沟通问题30 3.3.3代码走查30

IT软件项目开发的具体实施方案

项目管理实施方案 作为一个项目管理者,如何要成功的做好项目管理;首先必须先要明白的是在特定的领域中赋予这个角色所要实现的目标、承担的 职责、以及项目管理者的具体工作内容是什么?从我个人的浅见和 角度以及我们所从事的IT领域来分析回答以上三个问题。 第一:目标 作为一个项目的管理者,必须要明确的知道自己的工作目标;我个人认为项目管理者的目标无非就是以下两点: 1、就是清晰明确地了解项目利害关系者的需求和期望,努力做 到满足项目利害关系者的不同需求;项目利害关系者包括:项目团队成员和项目团队外成员(比如各部门的部门负责人和市场人员,客户等)。 2、就是保证开发项目按需按时保质的完成。 第二:职责 作为项目的管理者,首先要端正态度,要明确知道自己的工作职责,认识到这份工作职责的本质。项目管理者不是来管人的,而是来支持人的,是来协调资源的,是来营造一个适合团队成员比较认同的工作环境和氛围的,是来为一个共同的目标和大家一起战斗共同成长的。可以大概概括成以下几点: 1、建立有效的工作流程保证项目的顺利进行。

2、制定详细周密的项目计划 3、跟踪,推动项目按计划进行。 4、积极解决项目过程中出现的问题和冲突。 5、调动开发团队的积极性,创造力,推动团队成员在项目过程中不 断成长。 6、项目风险识别、风险评估、风险解决和风险管理策略以及做好突 发风险的应急预案。 7、实现目标 第三:项目管理者的具体工作内容 最后一个是项目管理者的具体工作内容,作为项目管理者必须 清晰的知道自己的工作范围和所要做的工作内容以及工作重心,分为 以下六点: 1项目前期阶段 对项目进行技术可行性分析、技术评估、成本评估以及风险评估。与需求提出方的代表进行需求讨论,明确项目的目标、价值;确定项目范围、功能及优先级。组建项目团队,特别要搞清楚项目的key person对产品有决定权的人)。项目启动会议,相关的利害关系人员都必须参加。 该阶段完成后的成果:确认后的最终软件需求规格说明书文档。 2、分析设计阶段 根据确认后的软件需求规格说明书,制定项目进度计划,工作任务分 解(WBS);资源申请,项目涉及到的开发资源、测试资源、设计资源

软件公司项目管理规定修订稿

软件公司项目管理规定 Document number【AA80KGB-AA98YT-AAT8CB-2A6UT-A18GG】

****有限公司 项目管理办法 一、总则 为使公司各项重大项目的管理规范化、科学化、程序化,提高运作与决策效率,同时为增强公司团队精神,促使公司整体战略目标的全面实现,特制定本办法。 二、适用范围 (一)适用项目特点(同时具有) 1.项目是单一的,可辨认的,完整的基于公司整体发展的任务; 2.任务复杂,具有一定的风险性 3.任务的完成有赖于多个职能部门之间的配合协作; 4.可利用资源预先有明确的范围或预算; 5.任务具有一个明确的寿命周期与终止日期; 6.项目的产物其保全或扩展通常由项目参加者以外的人员来进行。 (二)适用项目范畴 ●技术开发 ●重要合作洽谈、重大市场活动 ●其他为促进公司战略决策和发展所启动的项目; (三) 基于项目定义的不确切性,将由项目管理中心对所有提交的立项申请进行最终审定,确定此立项申请是否采用项目制运作,以及是否采用项目制中的简易流程执行。 三、项目管理机构——项目管理中心(共5~9人) 1.项目管理中心为公司常设机构,由项目管理委员组成,直接向总经理负责。在项目运作时履行相关职能。 2.项目管理委员(数量:5~9人)

(1) 项目管理委员的成员由总经理从各个职能或业务部门(市场与销 售、策划与制作、人力资源、财务等)相关人员中选拔、任命: (2) 必要时,在大多数委员同意条件下,可以临时选择其他熟悉项目 的人员旁听或作为临时委员参与项目管理中心的审议工作。 (3) 项目管理委员出任要求: A.了解公司及公司整体发展的情况,熟悉公司的各项业务和工作 B.了解项目管理相关知识并有一定的经验。 C.具有较强的管理、协调、组织能力。 (4) 项目管理委员的职责: A.共同对项目申请进行审批、重大问题决策、项目经 理管理、项目终审 B.对与本职工作相关的项目进行重点监控督促。 C.在项目出现偏差时,共同参加各种非正常运作项目 的跟踪监控、项目调整的审批。 D.对执行中的项目进行统筹监控,在各个项目的监控 点(里程碑)进行阶段性检查监控。 3. 项目管理常务委员(数量:1~2名) (1) 项目管理常务委员由项目管理委员轮值; (3) 项目管理常务委员的职责: A.负责项目管理中心日常事务性工作管理、协调,组织拟定项目管理中心的章程制度、议事规则等 B.受理项目申请并批复意见,协调各立项人在项目申请的可行性调查分析时的资源需求 C.在无法进行项目定级或无法决定重大项目审批时,负责召集项目管理委员进行集体审议和审批;结果报总经理批准。 D.对非正常运作的项目,召集委员对具体项目的支持、调整、监控点作审批。 4.项目管理中心秘书(数量:1名)

软件项目开发和管理规范V1.0

软件项目开发和管理规范 版本V1.0 2010年1月15日

目录 1.软件项目管理概述 (3) 2.软件项目管理过程 (3) 3.软件项目管理内容 (5) 3.1.需求阶段管理 (5) 3.2.设计阶段管理 (7) 3.3.开发阶段管理 (7) 3.4.测试阶段管理 (8) 3.5.维护阶段管理 (8) 3.6.工具管理 (8) 3.7.软件项目估算与进度管理 (9) 3.7.1.软件项目估算 (9) 3.7.2.进度安排 (10)

1.软件项目管理概述 软件项目管理是软件工程和项目管理的交叉学科,软件项目管理的概念涵盖了管理软件产品开发所必须的知识、技术及工具。根据美国项目管理协会PMI 对项目管理的定义可以将软件项目管理定义为:在软件项目活动中运用一系列知识、技能、工具和技术,以满足软件需求方的整体要求。 软件项目管理是为了使软件项目能够按照预定的成本、进度、质量顺利完成,而对成本、人员、进度、质量、风险等进行分析和管理的活动。实际上,软件项目管理的意义不仅仅如此,进行软件项目管理有利于将开发人员的个人开发能力转化成企业的开发能力,企业的软件开发能力越高,表明这个企业的软件生产越趋向于成熟,企业越能够稳定发展。 软件生存周期包括可行性分析与项目开发计划、需求分析、设计(概要设计和详细设计)、编码、测试、维护等活动,所有这些活动都必须进行管理,在每个阶段都存在着权限角色控制、文档管理、版本控制、管理工具等,软件项目管理贯穿于软件生命的演化过程之中。 2.软件项目管理过程 为保证软件项目获得成功,必须对软件开发项目的工作范围、要完成的任务、需要的资源、需要的工作量、进度的安排、可能遇到的风险等做到心中有数。软件项目的管理工作开始于技术工作开始之前,在软件从概念到实现的过程中持续进行,最后终止于软件开发工作结束。 根据公司的实际情况,结合软件工程及软件过程标准等,特制定我公司软件项目管理流程如下:

软件开发项目管理制度44952

软件开发项目管理制度 一、 总则 为保障公司软件开发项目的工作能有效、有序的执行,保证项目的开发质量,维护公司及开发人员的利益特制订本制度。 二、 组织 软件开发项目的实施以软件开发项目组的形式进行,项目组中设有项目责任人(即项目经理)、项目开发工程师、测试工程师、辅助人员等。一般情况下,一个项目组负责一个软件项目的开发工作。对于特大型的项目可以组织多个项目组分块进行实施。项目组人员各负其责,在项目经理的统一领导组织下共同完成项目实施工作。 三、 责任 项目经理: 全面负责项目的开发组织工作,包括需求分析、系统设计、人员分工、进度安排等。项目经理负责组织完成项目系统分析报告、系统总体设计报告、开发进度计划表、系统测试大纲等技术文档编写工作。负责开发进行中的进度检查,联合调试、技术资料文件收集等工作。 开发工程师: 按照项目经理的分工安排完成软件开发项目中自己所承担 的开发工作。负责完成模块设计报告的编写工作。协助完成 软件开发部 项目组 项目组 项目组 项目经理 开发工程师 测试工程师 辅助人员 项目经理 开发工程师 测试工程师 辅助人员

软件的安装调试及售后服务工作。 测试工程师: 按照项目经理的分工安排完成对开发软件的测试工作。负责 完成测试方案设计、测试报告的编写工作。负责完成软件使用手册、培训教材等的编写工作。完成软件的安装调试及售后服务工作。 辅助人员: 按照项目经理的分工安排完成项目开发中的辅助工作,包括文档录入、资料整理等。 四、 流程 软件开发项目应按照以下流程进行 整个软件开发项目可分为四个阶段: A 段: 设计阶段。完成系统分析、总体设计、进度计划等工作。以提交系统分 析报告、系统设计报告及开发计划进度表为完成标志。 立项 建立软件开发项目组 调研用户需求 编写项目系统分析报告 讨论确定系统设计方案 编写项目系统设计报告 制定开发计划 确定人员分工进度安排 分工进行模块设计 编写模块设计报告 软件编程、调试 软件组装、测试 完成测试报告 安装、试运行、培训 验收、售后服务 编写软件用户手册 工作总结 结束 A B C D

软件开发项目管理实施方案.doc

软件开发项目管理实施方案1 项目管理实施方案 作为一个项目管理者,如何要成功的做好项目管理;首先必须先要明白的是在特定的领域中赋予这个角色所要实现的目标、承担的职责、以及项目管理者的具体工作内容是什么? 从我个人的浅见和角度以及我们所从事的IT领域来分析回答以上三个问题。 第一:目标 作为一个项目的管理者,必须要明确的知道自己的工作目标;我个人认为项目管理者的目标无非就是以下两点: 1、就是清晰明确地了解项目利害关系者的需求和期望,努力做到满足项目利害关系者的不同需求;项目利害关系者包括:项目团队成员和项目团队外成员(比如各部门的部门负责人和市场人员,客户等)。 2、就是保证开发项目按需按时保质的完成。 第二:职责 作为项目的管理者,首先要端正态度,要明确知道自己的工作职责,认识到这份工作职责的本质。项目管理者不是来管人的,而是来支持人的,是来协调资源的,是来营造一个适合团队成员比较认同的工作环境和氛围的,是来为一个共同的目标和大家一起战斗共同成长的。可以大概概括成以下几点: 1、建立有效的工作流程保证项目的顺利进行。

2、制定详细周密的项目计划。 3、跟踪,推动项目按计划进行。 4、积极解决项目过程中出现的问题和冲突。 5、调动开发团队的积极性,创造力,推动团队成员在项目过程中不断成长。 6、项目风险识别、风险评估、风险解决和风险管理策略以及做好突发风险的应急预案。 7、实现目标 第三:项目管理者的具体工作内容 最后一个是项目管理者的具体工作内容,作为项目管理者必须清晰的知道自己的工作范围和所要做的工作内容以及工作重心,分为以下六点: 1、项目前期阶段 对项目进行技术可行性分析、技术评估、成本评估以及风险评估。与需求提出方的代表进行需求讨论,明确项目的目标、价值;确定项目范围、功能及优先级。组建项目团队,特别要搞清楚项目的key person(对产品有决定权的人)。项目启动会议,相关的 利害关系人员都必须参加。 该阶段完成后的成果:确认后的最终软件需求规格说明书文档。 2、分析设计阶段 根据确认后的软件需求规格说明书,制定项目进度计划,工作任务分解

4.2软件开发管理办法

软件开发管理办法 修订记录 版本编号修订日期主要修订摘要 审核记录 审核人员属于部门审核日期 第一章总则 第一条为规范公司的开发管理流程,使各开发项目的管理进行标准化管理,特制定本管理办法。 第二条本管理办法详细规定软件开发程的各个阶段及每一阶段的任务、要求、交付文件,使整个软件开发过程阶段清晰、要求明确、任务具体,实现软件开发过程的标准化。 第三条本管理办法适用于计算机的自主软件开发项目。适用对象:软件开发管理人员,软件开发人员,软件维护人员,系统管理人员。 第二章组织机构与职责 第四条软件开发管理人员职责: 第五条软件开发人员职责: 第六条软件维护人员职责: 第七条系统管理人员职责: 第三章软件开发环境管理 第八条软件建设环境根据项目不同的时期,需要搭建生产运行环境、系统测试环境、系统开发环境三种不同的软硬件网络环境,便于生产、开发、测试等工作的安全、顺畅的进行。 第九条生产环境为系统维护管理人间管理的范畴,是系统正式运行,提交给各业务科室的正式环境,包括系统运行的硬件、网络等设备和进行集群处理的软件系统。 第十条测试环境为测试人员提供功能测试、性能测试的运行环境,包括运行环境模拟、测试工具服务器、测试工具客户端。 第十一条开发环境为系统开发人员提供系统开发需要的软件硬件环境,包括数据库服务器、应用服务器、开发工具客户端。 第十二条生产环境、测试环境、开发环境都存在自己独立的数据库服务器、应用服务器、客户端。在开发环境完成内部测试后,提交发布版本到测试环境中,由专门的测试人

员进行集成测试和功能测试。并进行一定的压力性能测试。在测试环境通过的版本在发布到生产环境。 第十三条生产环境与测试环境、开发环境需要物理隔离,保障生产环境的安全。 第四章开发过程管理 第十四条项目开发流程根据软件工程的流程,分为可行性研究与计划、需求分析、总计设计、详细设计、代码开发、系统测试五个阶段。 第十五条可行性研究与计划 1实施要求 1.软件开发部分析人员进行市场调查与分析,确认软件的市场需求 2.在调查研究的基础上进行可行性研究,写出可行性报告 3.评审和审批,决定项目取消或继续 4.若项目可行,制订初步的软件开发计划,建立项目日志 5.根据市场环境、公司软硬件情况预测十大风险因素 2交付文档 1.可行性研究报告* 2.初步的软件开发计划 3.十大风险列表* 4.软件项目日志* 第十六条需求分析 1实施要求 1.调查被开发软件的环境 2.软件开发提出的需求进行分析并给出详细的功能定义 3.做出简单的用户原型,与用户共同研究,直到用户满意 4.对可利用的资源(计算机硬件、软件、人力等)进行估计,制定项目进度计划(可 有相应的缓冲时间) 5.制定详细的软件开发计划 6.测试人员制订质量控制计划和测试计划 7.编写初步的用户手册 8.进行需求方案评审 2交付文档 1.软件需求说明书 2.更新后的软件开发计划 3.项目进度计划 4.计划

软件开发流程规范

软 件 开 发 流 程 规 范 德联软件有限责任公司 编制人:侯秀美审核人: 2015 年 8 月 19 日

目录 目录 .........................................................错误!未定义书签。 一、概述......................................................错误!未定义书签。 二、开发流程规范..............................................错误!未定义书签。 系统软硬件开发环境........................................错误!未定义书签。 系统架构(系统组成)......................................错误!未定义书签。 系统功能模块设计..........................................错误!未定义书签。 系统功能开发流程图........................................错误!未定义书签。 开发修改记录..............................................错误!未定义书签。 三、开发代码规范..............................................错误!未定义书签。 文件结构..................................................错误!未定义书签。 文件信息声明..........................................错误!未定义书签。 程序风格..................................................错误!未定义书签。 空行..................................................错误!未定义书签。

中型软件公司项目管理办法

项目管理办法 第一章总则 第一条为了完善公司项目管理工作,明确项目管理参与者的职责和权利,促进项目管理的科学化、规范化,结合我司的实际情况,特制定本办法。 第二条本办法适用范围为经公司项目管理委员会立项的项目。 第二章公司项目管理的组织机构及管理职责、权利 第三条项目管理委员会 项目管理委员会是公司项目管理的最高决策机构,由公司总经理和副总经理组成项目管理委员会领导小组并由总经理任领导小组组长,公司各正副总监为项目管理委员会成员组成。根据项目的性质或需要,公司可聘请或指派其他人员进入项目管理委员会任临时成员。 第四条项目管理办公室 项目管理办公室为项目日常管理的常设机构,是公司项目日常管理机构,对项目管理委员会负责,项目管理办公室设在企管部。 第五条项目经理 一、项目经理的任命 项目经理可由主要实施部门总监推荐,经项目管理委员会确认后任命,或由项目管理委员会直接指定;此外,也可根据公司

和项目的实际情况,通过签订劳动合同的方式外聘项目经理。担当项目经理职务的人员需在项目主要相关业务上有一定的工作经验,对于所实施的项目有一定的了解。一人可担任多个项目的项目经理。 二、项目经理的解职 1、项目完成验收后由项目管理委员会解职。 2、在项目实施的过程中,出现下列问题时,经过项目管理委员会讨论,有权解除该项目经理,进行重新任命: 1)项目经理与项目组成员有巨大的沟通障碍,项目组的工作进展困难; 2)项目经理在项目实施过程中,项目出现实际与计划严重相背离的情况; 3)项目经理在未经项目分管领导和项目管理委员会授权的情况下越权开展工作,甚至发生给公司造成严重损失的情况; 4)项目经理存在能力的不足,且项目分管领导或项目委员会超半数成员认为有必要更换项目经理的情况。 3、项目经理在项目进行的过程中因故向项目分管领导或项目管理委员会提出辞去项目责任人的申请,经项目管理委员会讨论同意后可予以解职并重新进行任命。 第六条项目小组 项目组成员由项目经理挑选并报项目管理委员会审批,通过后提交项目管理办公室备案。

软件开发项目管理实施方案

软件开发项目管理 实施方案

项目管理实施方案 作为一个项目管理者,如何要成功的做好项目管理;首先必须先要明白的是在特定的领域中赋予这个角色所要实现的目标、承担的职责、以及项目管理者的具体工作内容是什么? 从我个人的浅见和角度以及我们所从事的IT领域来分析回答以上三个问题。 第一:目标 作为一个项目的管理者,必须要明确的知道自己的工作目标;我个人认为项目管理者的目标无非就是以下两点: 1、就是清晰明确地了解项目利害关系者的需求和期望,努力做到满足项目利害关系者的不同需求;项目利害关系者包括:项目团队成员和项目团队外成员(比如各部门的部门负责人和市场人员,客户等)。 2、就是保证开发项目按需按时保质的完成。 第二:职责 作为项目的管理者,首先要端正态度,要明确知道自己的工作职责,认识到这份工作职责的本质。项目管理者不是来管人的,而是来支持人的,是来协调资源的,是来营造一个适合团队成员比较认同的工作环境和氛围的,是来为一个共同的目标和大家一起战斗共同成长的。能够大概概括成以下几点:

1、建立有效的工作流程保证项目的顺利进行。 2、制定详细周密的项目计划。 3、跟踪,推动项目按计划进行。 4、积极解决项目过程中出现的问题和冲突。 5、调动开发团队的积极性,创造力,推动团队成员在项目过程中不断成长。 6、项目风险识别、风险评估、风险解决和风险管理策略以及做好突发风险的应急预案。 7、实现目标 第三:项目管理者的具体工作内容 最后一个是项目管理者的具体工作内容,作为项目管理者必须清晰的知道自己的工作范围和所要做的工作内容以及工作重心,分为以下六点: 1、项当前期阶段 对项目进行技术可行性分析、技术评估、成本评估以及风险评估。与需求提出方的代表进行需求讨论,明确项目的目标、价值;确定项目范围、功能及优先级。组建项目团队,特别要搞清楚项目的key person(对产品有决定权的人)。项目启动会议,相关的利害关系人员都必须参加。 该阶段完成后的成果:确认后的最终软件需求规格说明书

某科技股份公司软件项目管理制度(doc 30页)

**科技股份有限公司 软件项目管理制度 目录 项目开发计划 (2) 软件需求说明书 (4) 详细设计说明书 (6) 用户手册 (8) 数据要求说明书 (11) 项目开发总结报告 (13) 项目开发计划 编制项目开发计划的目的是用文件的形式,把对于在开发过程中各项工作的负责人员、开发进度、所需经费预算、所需软、硬件条件等问题作出的安排记载下来,以便根据本计划开展和检查本项目的开发工作。编制内容要求如下: 1引言 1.1编写目的

说明编写这份项目开发计划的目的,并指出预期的读者。 1.2背景 说明: a.待开发的软件系统的名称; b.本项目的任务提出者、开发者、用户及实现该软件的计算中心或计算机网络; C.该软件系统同其他系统或其他机构的基本的相互来往关系。 1.3定义 列出本文件中用到的专门术语的定义和外文首字母组词的原词组。 1.4参考资料 列出用得着的参考资料,如: a.本项目的经核准的计划任务书或合同、上级机关的批文; b.属于本项目的其他已发表的文件; C.本文件中各处引用的文件、资料,包括所要用到的软件开发标准。列出这些文件资料的标题、文件编号、发表日期和出版单位,说明能够得到这些文件资料的来源。 2项目概述 2.1 工作内容 简要地说明在本项目的开发中须进行的各项主要工作。

2.2主要参加人员 扼要说明参加本项目开发工作的主要人员的情况,包括他们的技术水平。 2.3产品 2.3.1程序 列出需移交给用户的程序的名称、所用的编程语言及存储程序的媒体形式,并通过引用有关文件,逐项说明其功能和能力。 2.3.2文件 列出需移交给用户的每种文件的名称及内容要点。 2.3.3服务 列出需向用户提供的各项服务,如培训安装、维护和运行支持等,应逐项规定开始日期、所提供支持的级别和服务的期限。 2.3.4非移交的产品 说明开发集体应向本单位交出但不必向用户移交的产品(文件甚至某些程序)。 2.4验收标准 对于上述这些应交出的产品和服务,逐项说明或引用资料说明验收标准。 2.5完成项目的员迟用限 2.6本计划的批准者和批准日期

软件开发过程文档规范标准

1.1需求规格说明书 需求规格相当于软件开发的图纸,一般说,软件需求规格说明书的格式可以根 据项目的具体情况采用不同的格式,没有统一的标准。下面是一个可以参照的 软件需求规格说明书的模板。 1.导言 1.1目的 [说明编写这份项目需求规格的目的,指出预期的读者] 1.2背景 说明: a)待开发的产品名称; b)本项目的任务提出者、开发者、用户及实现该产品的单位; c)该系统同其他系统的相互来往关系。 1.3缩写说明 [缩写] [缩写说明] 列出本文件中用到的外文首字母组词的原词组。 1.4术语定义 [术语] [术语定义] 列出本文件中用到的专门术语的定义。 1.5参考资料 [编号]《参考资料》[版本号] 列出相关的参考资料。 1.6版本更新信息 具体版本更新记录如表所列。 表版本更新记录 2.任务概述 2.1 系统定义 本节描述内容包括: ●项目来源及背景; ●项目要达到的目标,如市场目标、技术目标等; ●系统整体结构,如系统框架、系统提供的主要功能,涉及的接口等; ●各组成部分结构,如果所定义的产品是一个更大的系统的一个组成部分, 则应说明本产品与该系统中其他各组成部分之间的关系,为此可使用一张 方框图来说明该系统的组成和本产品同其他各部分的联系和接口。 2.2 应用环境 本节应根据用户的要求对系统的运行环境进行定义,描述内容包括: ●设备环境; ●系统运行硬件环境;

●系统运行软件环境; ●系统运行网络环境; ●用户操作模式; ●当前应用环境。 2.3 假定和约束 列出进行本产品开发工作的假定和约束,例如经费限制、开发期限等。列出本产品的最终用户的特点,充分说明操作人员、维护人员的教育水平和技术专长以及本产品的预期使用频度等重要约束。 3.需求规定 1.1对功能的规定 本节依据合同中定义的系统组成部分分别描述其功能,描述应包括: ●功能编号; ●所属产品编号; ●优先级; ●功能定义; ●功能描述。 1.2对性能的规定 本节描述用户对系统的性能需求,可能的系统性能需求有: ●系统响应时间需求; ●系统开放性需求; ●系统可靠性需求; ●系统可移植性和可扩展性需求; ●系统安全性需求; ●现有资源利用性需求。 1.2.1精度 说明对该产品的输入、输出数据精度的要求,可能包括传输过程中的精度。 1.2.2时间特性要求 说明对于该产品的时间特性要求,如对: a)响应时间; b)更新处理时间; c)数据的转换和传送时间; d)计算时间等的要求。 1.2.3灵活性 说明对该产品的灵活性的要求,即当需求发生某些变化时,该产品对这些变化的适应能力,如: a)操作方式上的变化; b)运行环境的变化; c)同其他系统的接口的变化; d)精度和有效时限的变化; e)计划的变化或改进。 对于为了提供这些灵活性而进行的专门设计的部分应该加以标明。 1.3输入输出的要求 解释各输入输出的数据类型,并逐项说明其媒体、格式、数值范围、精度等。 对软件的数据输出及必须标明的控制输出量进行解释并举例,包括对硬拷贝报

软件项目开发管理制度

软件项目开发管理制度 1 第一节总则 特制定本为规范自有软件研发以及外包软件的管理工作,第一条 分公司参制度。本制度适用于股份公司软件研发与管理,照执行。 本制度中软件开发指新系统开发和现有系

统重大改造。第二条 业务和第三条本制度中自行开发是指主要依赖公司自身的管理、 软件开发、集成和相关的技术支技术力量进行系统设计、持工作,一般仅向外购置有关的硬件设备和支撑软件平 公司(合作商)共同协作完台;合作开发是公司与专业IT 应用的项目实施和技术支持工作,一般形式是公司负成IT 双方组成开发团合作商提供技术框架,责提供业务框架,系统的日常支持由信息中心和合作商队进行项目实施,IT 共同承担,信息中心负责内部(一级)支持,合作商负责外应用项目的设计、开部(二级)支持;外包开发是指将IT (可以是专业发、集成、培训等任务承包给某家专业公司公司或咨询公司等),由该公司(承包商)负责应用的IT

项目的实施。 项目管理第四条软件开发遵循项目管理和 软件工程的基本原则。 涉及立项管理、项目计划和监控、配置管理、合作开发管理和结项管理。软件工程涉及需求管理、系统设计、系统 2 实现、系统测试、用户接受测试、试运行、系统验收、系 统上线和数据迁移。 除特别指定,本制度中项目组包括业务组(或需求提出第五条 。组(可能包括网络管理员和合作开发商)组)、IT

项管理第二节立 提出开发需求的信息技术部门参与公司层面立项,第六条进行立 开展前期筹《立项分析报告》项的技术可行性分析,编写 备工作。《立项分析报告》应明确项目的范围和边界。 上交公司总裁应用系统主要使用部门将第七条《立项分析报告》 室进行立项审批,以保证系统项目与公司整体策略相一

软件项目实施方案

2.8 项目实施 2.8.1 项目实施概况 依据项目建设要求,对中山农情统计分析系统进行整体规划设计更新维护,对系统运行的安全性、可靠性、易用性以及稳健性进行全新设计,并将所有的应用系统进行部署实施和软件使用培训以及技术支持。项目组承诺项目独立完成,不转包外包。 2.8.1.1 项目实施管理原则 项目开发维护的实施中,严格按照ISO9001国际质量体系进行控制,保证为用户提供优质的产品、严密的工程实施、高效的服务支持。为此,要遵循下列工程实施管理原则和保证体系。 (1)有经验、成熟的技术队伍是工程实施的前提条件 完成任何项目工程,必须拥有一支有经验的、勇于探索的、高水平的、具有严谨工作作风的技术队伍,在工程实施的过程中发挥团队协作精神和用户密切协作的能力。 (2)管理层次分明、职责清晰是工程实施的基础 建立层次分明的项目工程实施管理机构,明晰各层的管理职责,从组织管理的角度保证项目实施计划落到实处。 (3)确定过程控制点,以过程质量保证整体工程质量 整体都是由局部和具体的细节构成,项目由一个个过程环节组成,只有认真对待每一个过程细节,才能保证项目工程整体的实施质量。 (4)用户参与是项目工程成功的保证 从项目开始到项目的结束,每个阶段都强调用户的参与。开发商只有和用户相结合才能使开发出的系统为用户所用,发挥出系统的最大效益,而用户的参与也是系统顺利进行的保证。对本项目短时间、大范围的配置安装来说,如果有用户的高度参与,项目工程的实施将大大加快。

2.8.1.2 项目组织结构 本项目是一项涉及面广、影响大、安全运行要求高,集数据处理、信息发布、资源整合于一体的政府信息化项目。为了更好的执行该项目,将采取统一指挥、并行实施、相互支援的实施办法。 为了使该项目能顺利实施,便于项目的管理和协调,使工作职责更加清晰明白,建立项目组织实施小组,建立由项目领导小组、项目管理办公室、项目监理公司、顾问咨询组、项目经理、项目具体实施小组组成的实施管理控制组织体系。 项目实施组织具体职责如下: (1)项目领导小组 负责项目实施过程中的重大事件决策; 根据项目的进度、质量、技术、资源、风险等实行宏观监控; 负责组建验收小组,主持验收工作; 协调参与项目各方的工作关系。 (2)项目管理办公室 组织各方统一制定工程管理计划; 组织总体实施方案评审,组织测试验收; 负责项目进度计划与成本控制; 协调解决项目实施过程中出现的各种问题。 (3)顾问咨询组 1)人员组成 农业信息化相关领域的业务专家; 多年从事IT行业和展厅建设的信息技术专家。 2)主要职责 系统总体设计指导; 对各子系统深化设计进行审核并提出优化建议; 对各子系统进行技术协调; 协助客户对系统的设备配置予以确认; 对现场系统安装、调试提供必要的技术支持服务; 工程文档审核。

相关文档
最新文档