软件开发规范内容

软件开发规范内容

软件开发规范 v0.1
1 前言
为了使软件开发过程有章可循,保证软件质量,加强开发管理。
2 开发管理
项目进度周报表格如下:
项目编号:
汇报人:
汇报日期:
项目进度详细描述:
其他问题:
3 项目周期
司项目开发周期分为以下几个步骤:
步骤 说明 参与角色 生成文档或程序(打*号为可选)
可行性分析 对项目的技术,功能需求和市场进行调研和初步分析,确定是否需要立项开发。 部门主管核心技术员 可行性分析报告*技术调研报告*
立项 正式立项,由部门主管指定项目经理,项目经理制定初步计划。初步计划包括设计和开发时间的初步估算。 部门主管核心技术员 项目初步计划
需求分析 对项目进行详细的需求分析,编写需求分析文档。对于B/S结构软件系统需要制作静态演示页面。需求分析文档和静态演示页面需要通过部门主管审批才能够进行到下一个步骤 项目经理项目核心小组 需求分析文档静态演示页面项目计划修订版本
详细设计 根据需求分析对项目进行详细设计。详细设计以后,项目经理同部门主管一起指定项目小组开发成员。 项目经理项目核心小组 详细设计文档项目计划确定版本
开发 根据设计开发项目,由美工对操作界面进行美化。 项目经理项目开发员美工 项目计划修订版本*
测试 项目经理提交测试申请,由测试部门对项目进行测试。项目小组配合测试部门修改软件中的错误。 项目经理项目开发员测试部 测试申请测试计划测试报告
项目验收 项目验收归档 部门主管项目经理 项目所有文档和程序
4 命名规范
4.3 jsp/html命名规范
jsphtml文件名全部小写,并遵循如下的规范:
u 数据/内容显示页
名词,多个单词用下划线分隔,要求能说明显示内容的信息,为避免冲突,可加上 _list”。例如:
new_message.html my_file_list.jsp
u
操作处理页
命名格式:名词_下划线_动词,例如:file_delete.jsp
u frame页面
<frameset><frame>name属性命名的格式是①xxx._xxx_xxx
xxx部分用来标识当前页面隶属于整个系统中的哪一功能模块。
如:属于ebwebmail则被表示为ebwebmail,其它情况依次类推。
xxx部分标识当前页面所要完成的功能。
如:完成用户登录的功能则被标识为login,其它情况依次类推。
xxx部分用来用来表示页面在浏览器窗口所处的位置。
处于浏览器窗口的顶部则标识为top,其它情况依次类推。
例如:ebwebmail_inbox_top.jsp
<frame> src
属性相应的文件名根据情况建议在原命名规范上用下划线加上所处窗口的位置。
u javascript脚本方法
脚本函数都以①xxx_xxx的方式命名。
xxx对应页面隶属的模块。
xxx表示函数所要实现的功能(动宾结构),多个单词用下划线连接。
例如:ebwebmail_send_mail()
模块通用的脚本函数必须集合于一个js文件中,在页面上通过<script language=”javascript” src=”url”></script>形式导入。js文件名命名使用模块名,例如:ebwebmail.js
如果项目已经提供了公共js脚本,则优先使用公共js脚本中提供的函数。
所有定义方法的<script>元素定义在<head></head>中或</body>后。
u javascript脚本内部变量与参数
单词之间用下划线分隔且全部小写,例如:
var file_size
u <form>表单name属性
统一以“form_”开头,其后加该表单所需收集的信息的作用或动作,例如:form_file_upload form_send_mail
u 表单elements
表单element的名称以element需收集的信息标示命名,单词之间使用下划线分隔且全部小写,例如:
<input type=”text” name=”username”>
<input type=”radio” name=”file_type”>
<textarea name=”content” rows=”5” cols=”40”>
u cookie
命名
命名格式:模块名_存储信息名词(多个单词用下划线分隔) ,全部大写,例如:EBWEBMAIL_SORT_TYPE
u window.openname参数的命名
javascriptwindow.open方法中有一个name的参数,浏览器约定同样的名字的窗口只能打开一个,如果程序间名字重复将相互冲突。如果不限制打开窗口数,可以指定‘’或“”(不是null),否则需要加上模块名,例如ebwebmail_viewmail
4.4 数据库命名规范
数据库表命名均遵循以下规范:
模块名_存储信息名词(多个单词用下划线分隔),全部小写,例如:ebwebmail_message
数据库字段命名遵循以下规范:
存储信息名词(多个单词用下划线分隔),全部小写,例如:message_id
5 文档规范
1. 编写文档目前主要使用的工具是Word(项目计划文档例外,需要使用Project制作),辅助使用的工具有VisioPowerPointERWin等。
2. 文档务必保持段落格式整齐,文字字体,颜色,大小统一。
3. 如果需要摘引html页面中的内容,不能直接从html中粘贴过来(会在word文档中留下html格式),而必须先去除格式,例如:先粘贴到notepad中。
4. 务必注意中英文标点符号,文档正文一概使用中文标点符号。
5. 如果需要在文档中插图,不要使用word自带的绘图工具。可以选择使用PowerPointvisio。使用PowerPoint,选择“插入”->“对象”->“Microsoft PowerPoint 幻灯片”。使用visio,需要另外建立visio文档,绘制完以后粘贴到word中。
6. 数据建模使用ERwin工具,文档中仅需要粘贴数据模型的逻辑视图(logical view),另外还要附上表结构描述。
7. 修改他人文档务必使用修订模式,以便保留备修改的内容。使用修订模式,选择“工具”->“修订”->“突出显示修订”,勾上“编辑时标记修订”。
附:一些模版
ü Java类设计(class documentation)
声明:
描述:
属性:
1. property_name
声明
说明
方法:
1. method_name
声明
说明
参数
返回值
异常
注:
方法声明中,如果遇到重载的方法,可以使用“|”表示可以接受不同类型的参数,例如:“String value | int value”;可以使用“[]”表示可选的参数,例如:“Object message[,Throwable t]
ü Servlet设计(servlet document)
类名 接受参数列表 描述
ü 数据表设计(data modeling)
表名:some_table
说明:description
表结构:
字段名 类型 说明
6 代码规范
6.1 Java源代码规范
6.1.1 命名
u Package 的命名
Package 的名字应该都是由一个小写单词组成,例如:net.ebseries.modules
此外,对于包名我们做如下约定:
1. 工具函数类包名前缀为.util
2. Servlet
类包名前缀为.servlet
3. test case
类包名前缀为.test
u Class
的命名
Class