中国高校勤工助学网站程序开发质量和管理标准化

原创 2004年02月17日 19:00:00
此贴为本人大学期间工作资料.请勿转贴.

古墓情殇 qq 42094
时间2003-04.29

初稿

请勿转贴



中国高校勤工助学网站程序开发质量和管理标准化

本标准化文档主要针对中国高校勤工助学网站(以下简称中勤在线)的现有技术和发展方向,对网站后台程序的开发作一份详细的规范,仅供中勤在线程序员参考学习。
本文档分为两部分,第一、程序开发标准化,其意义为规范各程序员在完成本职工作过程的一切操作行为的标准;第二、程序管理标准化,其意义为规范程序员的管理,考核,培训,奖惩。

一、    【程序开发质量标准化】
1、开发环境
目前,中勤在线的具体开发/调试/运行环境基本为:
程 序:Asp 3.0
平 台:Win2K Server + IIS 5.0
数据库:Access 2000/XP
随着网站的不断发展,此开发/调试/运行环境已不再适合一个大型教育类网站的技术要求。程序语言暴露出安全性不够,扩展性欠佳,移植性较差,代码混乱等现象。致使开发人员几乎很难针对过去的程序进行修改和更新,更不用说跨平台的应用;Win2k和IIS 5.0的Web平台工作不够稳定,出现“当机”现象频率过高;Access数据库在大数据量的检索中出现速度较慢的现象,并且数据备份操作烦琐,更不利于将来实现多台服务器的数据同步问题。
为了提高中勤在线的技术含量,跟上国际主流网站开发的步伐,目前网站面临重大改革,抛弃过去程序开发的道路(采用面向程序语言),及时与国际主流接轨(采用面向对象程序语言),我们有两个开发环境可供选择发展:
第一、采用Linux+Resin/Apache+Jsp(java)+Oracle/Sql Server环境方案;
第二、采用Win2K+IIS(含.net框架)+Asp.Net(C#,Vb.net)+Sql Server/Oracle环境方案;
国外,第一套方案已成为主流,广泛应用于电子商务领域,发展稳定;第二套方案推出于微软.net计划,发展前途一片光明。
首先,据中勤在线成立以来开发人员详细资料统计分析,中勤在线后台程序开发人员90%为非计算机专业本科学生,10%为计算机专业本科生与研究生,但由于其站性质,发展成为专业的面向广大社会的的门户网站的可能性很小,其开发人员可能一直局限于学生,尤其是有浓厚网络开发兴趣的非计算机专业学生。所以其开发团队可能一直存在基础不够牢固的缺点。要想灵活掌握Linux系统下的java编程具有一定难度,大部分开发人员还是习惯于Windows环境下的程序开发,并且,对于具有一定经验的Asp开发人员,学习Asp.net较学习java上手要快,关键就在于转变由面向程序的概念到面向对象的概念,这是中勤在线应选择第二套方案的第一个原因。
其次,网站初,中期程序开发所选择的开发语言为Asp,目前Asp很难移植到Linux环境下,要将现有栏目都转为Jsp程序再挂靠于Linux系统下是个浩大的工程,其工作量不下于重新开发一套完善的系统。再回看第二套方案,其Asp和Asp.net可以共存于新开发环境,这样一来,本站可在不影响正常发展以及运作的条件下,同时对原有Asp程序进行升级转换为新的Asp.net程序,逐步分块提高程序执行效率和网站整体的技术含量,真正做到发展与运作两不误,这是中勤在线应选择第二套方案的第二个原因。
综上所述,中勤在线应选择第二套开发环境,朝着面向对象的发展方向,逐步实现技术的转化和完善。

2、高效原则
作为一个程序员,无论针对哪个领域的程序开发,应该努力追求程序的效率,请各位中勤在线的程序员注意,切记以下这句话:
“不要认为CPU运算速度快就把所有的问题都推给它去做,程序员应该将代码优化再优化,我们自己能做的决不要让CPU做,因为CPU是为用户服务的,不是为我们程序员服务的!”
针对中勤在线的Web开发,我们将这句话实例化:
·尽量避免大量使用全局变量,删除无用变量;
·尽量少用Session变量;
·数据量较大时尽量使用存储过程分页;
·尽量少用“Select * ”,即使需要所有字段也应尽量一个一个按照使用的顺序罗列出来,Order By时应该尽量提前使用建立索引或者主键的字段排序;
·使用Request对象时,针对具体情况写名是用QueryString方法还是Form方法;
·所有数据库和文件对象都要在使用后尽可能早的Close,同时赋Nothing
·Asp.net开发中,尽量少用大型耗资源的系统控件,并且尽量使用CodeBehind技术,将代码和页面分开,并编译动态链接库文件;
尽量采用SQL Server 数据库;

3、编码约定
目前,中勤在线已正常运作三年有余,程序员由九七级本科生延续至现在的零二级,各个年级的程序员编码的熟悉程度和编码的方式各不一致,以至于程序编码五花八门,严格的说,从目前中勤在线的网站后台程序编码总体来看,中勤在线还停留在个人网站的水准上,看不出一个教育类大型网站的应有的水准,因此,我们的程序员必须统一编码方式,原因其一,可以体现出整个网站的整体性;其二,可以提高程序的可阅读性,方便下一阶段的程序员修改更新程序。以下为具体内容:
1、    变量先定义后使用;
2、    首字大写,尽量采用英语描述,不宜采用拼音描述;
3、变量命名基本采用匈牙利命名法则;
匈牙利命名法则基本原则是:
变量名=属性 + 类型 + 对象描述
即一个变量名由三部分信息组成,这样,程序员很容易理解变量的类型、用途,而且便于记忆。
下边是根据我站一些推荐使用的规则例子(详细命名规则请参看匈牙利命名规则):
·属性部分
全局变量:         g_
常  量:         c_
·类型部分
 指  针:         p_
 句  柄:         h_
 整  型:         i_
 浮 点 型:         f_
 日 期 型:         d_
 布 尔 型:         b_
 字 符 型:         s_
数 组 型:         ary_
·描述部分
 初 始 化:         Init
 临时变量:         Tmp
其中部分规则考虑到将来.net发展的c# 变量命名规则,在Asp中可不考虑。
参考实例:c_i_InitBorderColor、g_s_TmpNewsTitle、g_i_ary_VoteNum,程序员可根据实际情况梢做改动,但必须遵循匈牙利命名法则,能够使其他程序员看变量名便知其类型和属性等关键标识符意义;
4、所有控件的属性值都要使用双引号或者单引号包括起来;
5、控件的命名规则:
  Button:          btn
Form:          frm
Select:          sel
Textarea:         txt
Input:           ipt
  Hidden:          hid
6、各控件主要使用规则:
  ·img控件
alt:所有展示类图片都要具有能简要描述图片内容的文字说明。
·Input控件
maxlength:所有Input控件都需要制定maxlength属性,默认值为数据库中对应的字段的长度。
readonly:所有不可更改的信息都要使用readonly属性。
·Form控件
action:所有Form都要指定action,如果提交给本身就指定action=""
method:尽量使用post方式
onsubmit:所有form都要指定提交前需要的检查程序。
所有form都要有对应的reset button。
·Button控件
Onclick:form中用于提交的button不容许使用此方法,所有数据检查通过form的onsubmit激活。
·head属性
所有页面都要具有不为空的head属性。
·所有中文页面都要加上如下语句:
<meta http-equiv="Content-Language" content="zh-cn">
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">

4、数据库设计
程序员在进行数据库设计前应先仔细阅读由市场部做的各项分析文档(包括可行性分析,需求分析等),查看由信息部拟订的项目所需功能列表后,仔细斟酌后进行数据库初步设计,设计完后提交数据库设计报表。详细规范如下:
·所有表必须以字符“t”(table)开头,如表tUsers,tAffriches,tMessages等等;
·所以字段必须以字符“f”(field)开头,如字段fID,fName,fTitle等等;
·较重要表中,最少创建2个预留字段,命名为fPre_Int (数字型),fPre_Str (字符型);
·设计Access数据库应有较长数据库文件名,或者与网络部协商,做成ODBC连接,防止数据库被非法下载。
·设计SQL Server数据库还应备份数据库创建SQL脚本,即备份数据库结构。
数据库设计基本

5、文件夹设置
随着中勤在线的发展,其栏目设置越来越多,经过三年的开发,现已有十多个栏目,各个栏目均由不同人员开发,各栏目文件夹的设置也是七临八乱,不成规矩,很难让别的开发人员一目了然其栏目结构。因此为了更加规范程序和页面文件夹的设置,现规定如下:
·必须设有Connections文件夹,存放数据库连接文件;
·必须设有Inc文件夹,存放包含文件和其他页面调用程序;
·必须设有Images文件夹,存放图片文件;
·必须设有Css文件夹,存放样式表文件;
·必须设有Doc文件夹,存放开发文档;
·必须设有Original Files文件夹,存放图片源文件;
·必须设有Js文件夹,存放脚本文件;
·在有上传功能的栏目中,必须设有Upload文件夹,存放上传的图片及文件;
·Asp.net栏目中,必须设置Source文件夹,存放程序C#或者Vb.net源文件;
·Asp.net栏目中,必须设置Bin文件夹,存放动态连接库文件;
·使用SQL Server库栏目中,必须设置Sql文件夹,存放数据库结构SQL脚本文件;
·必须设置Backup文件夹,存放更新前的备份文件。

6、注释与缩进
在过去的开发中,中勤在线使用的大部分为Asp脚本语言,此语言程序与页面嵌套在一起,通常被称为“意大利面条”式代码,所以阅读程序往往很费时间,在.net开发中,出现了CodeBehind技术可将代码和页面分开,在一定程度上可以减轻程序员的负担,但是要让程序更快的阅读代码,还必须在适当的部分添加注释,并且请合理采用代码缩进,在模块与模块之间,循环区块,条件区块等等都应该使用代码缩进,缩进一级为两个半角空格。

7、安全与调试
开发后期,程序员还担负着代码的调试和漏斗检测任务,其中就包括如下内容
·所有页面要在800*600,1024*768两种分辨率下运行通过;
·所有页面要在IE5.0,5.5以及6.0下运行通过没有JavaScript错误;
·所有涉及删除的操作,在用户选定以后都要再进行一次确认操作;
·检查Sql漏洞,以及每个传递参数,排除入侵可能性;
·开发完毕后必须挂在工作机房调试经内部调试一周方可正式发布;

二、    【程序开发管理标准化】
1、项目管理
程序开发总体由开发部长全面负责,开发部长根据当前人力资源分配程序员到各项目组,每个项目组必须设置一个组长,负责整个项目的进度,首先画出项目进度表,和项目操作流程和必要的开发文档。项目组长每周制定周报,由开发部长审核查阅,并且指定每周讨论会时间,每周最少两次,项目组长记录讨论具体内容。具体操作见《项目开发质量和管理标准化》。

2、奖惩机制
项目组长每周必须检查成员开发的程序,严格按照程序开发质量标准化实施,并做记录,每周统计上周报,并且每周给组员记分,提交部长查阅。项目开发完毕后,项目组全体成员必须集中讨论和相互检查程序,做出最后修改,项目组长提交项目本组开发明星,奖金体现在当月工资。另外,项目组长应根据每个组员的工作量,代码编写的效率,规范方面对每个员工有不同的评价体现在项目总开发文档中,以便人力资源部考察和发放酬劳。

数据质量管理十步流程

1定义业务需求和方法     明确数据质量管理的重点、时机和目标,来指导整个项目期间的所有工作。 目标:     1.明确信息环境-数据、流程、人员、组织以及与业务情况相关的技术。     2...
  • liulingyuan6
  • liulingyuan6
  • 2016年12月30日 17:21
  • 993

如何做好软件项目管理?

下面这部分,我觉得写的不错,但感觉国内企业,很少有全权负责的,各位怎么看,做出来的项目也有着各种各样的问题:不是进度跟不上,就是需求有问题,不是产品质量差,就是代码质量差,问题在哪里呢? 1、 计划...
  • wenzhihui_2010
  • wenzhihui_2010
  • 2014年09月18日 19:38
  • 744

数据质量管理--数据抽取和清洗

web数据集成技术可以从web上自动获取数据,但是获取的信息存在着大量的脏数据,比如滥用缩写词,惯用语,数据输入错误,重复记录,丢失值,拼写变化,不同的计量单位。这些数据是没有意义的,根本就不可能为以...
  • sinat_29581293
  • sinat_29581293
  • 2016年05月06日 11:23
  • 3226

java实现标准化考试系统详解(三)-----考试界面模块化实现及事件处理

(一)将考试界面分为若干个JPanel组合实现 如图所示我们需要把整个界面大体划分为三个区域,具体分为四个区域,多一个带虚线的倒计时区域。 (二)、具体实现 想要显示试题我们必须先拿到试题,而试题...
  • android_for_James
  • android_for_James
  • 2016年06月22日 16:26
  • 3663

【Python】检测Web服务质量

标准: 服务的可用性:获取页面的状态,如200, 404等服务的响应速度:如DNS解析时间, 建立连接时间,获取传输总时间等 过程: 安装pycurl模块:https://github.co...
  • ns2250225
  • ns2250225
  • 2015年02月09日 23:28
  • 686

数据仓库与元数据管理标准化

转载,原文地址:点击打开链接 1. 前言 在事务处理系统中的数据,主要用于记录和查询业务情况。随着数据仓库(DW)技术的不断成熟,企业的数据逐渐变成了决策的主要依据。数据仓库中的数据是从许多业...
  • chc340121
  • chc340121
  • 2014年08月11日 11:24
  • 1731

推荐一个压缩图片,但是品质影响不大的网站(二)之原理探索

上一次给大家推荐了个网站,是来做图片压缩的:http://tinypng.org/ 我一直好奇他是怎么压缩的,今天我来说说自己的一些发现 首先,我上次有个错误,说PS我已经不知道该怎么压缩了,果然...
  • narutojzm1
  • narutojzm1
  • 2016年04月13日 13:30
  • 699

项目质量管理:如何进行质量规划?

一、项目质量规划 项目质量规划确定哪些质量标准适用于该项目,并决定如何达标;质量保证在常规基础上对这个项目执行情况作出评估,以提高信用,保证项目能够达到有关质量标准;质量控制的目的是监控特定项目的执...
  • kingboy123000
  • kingboy123000
  • 2015年09月25日 17:45
  • 2156

网站分析-网站流量分析

管理学大师彼得德鲁克曾经说过“你如果无法度量它,就无法管理它”(“It you can’t measure it, you can’t manage it”)。要想有效管理,就难以绕开度量的问题。 ...
  • baidu_35738377
  • baidu_35738377
  • 2017年01月11日 09:46
  • 451

华为是怎样研发的(18)——质量回溯

用过华为第一代手机,D1、P1、D2的型号的手机的用户都知道:问题比较多,有点小垃圾。即使是后来销售量不错的P6也有各种各样的问题。 但是随着P7、荣耀6、Mate7等新一代手机开始展现,稳定...
  • z00143104
  • z00143104
  • 2015年07月29日 14:53
  • 3243
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:中国高校勤工助学网站程序开发质量和管理标准化
举报原因:
原因补充:

(最多只允许输入30个字)