2009年08月16日

  大湘南网络社区是由湘南地区网友自发组织起来的一个以“凝聚湘南力量”为口号的团结发展论坛。论坛系统为Discuz!,现已正式升级为7.0版,目前拥有永州、郴州、衡阳三市及株洲市攸县、茶陵县、炎陵县会员197人。

  大湘南网络社区是一个以增进湘南地区人民团结的交流平台,同时担负着推广湘南旅游、经济、文化的重任,大湘南网络社区将把湘南地区的活力向世界展示-湘南的崛起势不可挡。

  大湘南网络社区除交流平台外,还包括一个联盟SNS系统-窝窝,内置日志、相册等博客功能,此外还有开心农场、争车位、开心宝贝、德克萨斯扑克游戏、开心斗地主、荣光医院等网友互动休闲产品。此外还拥有一个强大的联盟网页游戏系统-论坛娱乐频道,无需下载即可疯玩7款网络热门网页游戏弹弹堂、武林英雄、华山论剑、武林三国、牧场OnWeb、七龙纪、德克萨斯扑克、及拥有120余款flash经典小游戏的游戏厅。所有游戏都可以积累自己的游戏经验值,成为本站及联盟站最牛的游戏达人。

  大湘南网络社区,凝聚湘南力量。

  湘南地区的朋友快快加入吧。地址:http://bbs.xiangnan.org

2005年05月20日

第一章:摘要
第二章:公司介绍
一、宗旨(任务)
二、公司简介
三、公司战略
1.产品及服务A:
2.产品及服务B,等等:
3.客户合同的开发、培训及咨询等业务:
四、技术
1、专利技术:
2、相关技术的使用情况(技术间的关系):
五、价值评估
六、公司管理
1.管理队伍状况
2.外部支持:
3.董事会:
七、组织、协作及对外关系:
八、知识产权策略
九、场地与设施
十、风险
第三章:市场分析
一、市场介绍
二、目标市场
三、顾客的购买准则
四、销售策略
五、市场渗透和销售量
第四章,竞争性分析
一、竞争者
二、竞争策略或消除壁垒
1.竞争者[A,B等]
第五章;产品与服务
一、产品品种规划
二、研究与开发
三、未来产品和服务规划
四、生产与储运
五、包装
六、实施阶段
七、服务与支持
第六章 市场与销售
一、市场计划
二、销售策略
1、实时销售方法
2、产品定位
三、销售渠道与伙伴
四、销售周期:
五、定价策略
1、产品、服务:
2、产品/服务B
六、市场联络;
1、贸易展销会
2、广告宣传
3、新闻发布会
4、年度会议/学术讨论会
5、国际互联网促销
6、其它促销因素
7、贸易刊物、文章报导
8、直接邮寄
七、社会认证
第七章 财务计划
一、财务汇总
二、财务年度报表
三、资金需求
四、预计收入报表
五、资产负债预计表:
六、现金流量表:
第八章 附录
一、[你公司或项目]的背景与机构设置:
二、市场背景:
三、管理层人员简历
五、行业关系
六、竞争对手的文件资料:
七、公司现状
八、顾客名单
九、新闻剪报与发行物:
十、市场营销
十一、专门术语

下面是笔者曾起草的一个网站建设合同,比较详细。特点是把时间、价格、产品等放在了附录中,很清晰。
网站建设及网站维护合同
甲方在此委托乙方进行___________网站的建设。为明确双方责任,经友好协商,双方达成以下协议:
第一条:项目的内容、价款、开发进度、交付方式
由附件一载明。
第二条:甲方的权利和义务
1. 提供专人与乙方联络。
2. 提供所有需要放到网上的资料交给乙方,并保证资料的合法性。
3. 按照附录一的要求,及时支付费用。
4. 甲方将在著作权法的范围内使用本合同标的及相关作品、程序、文件源码,不得将其复制、传播、出售或许可给其它第三方。
5. 甲方对本合同标的中的网页、图像享有排他的使用权。
第三条:乙方的权利和义务
1. 提供专人与甲方联络。
2. 按附录一的要求,使用甲方资料,进行网站的开发。
3. 在附录一要求的期限内,完成网站的开发,并通知甲方进行验收。
4. 在验收期内甲方要求下,对不合格地方进行修改。
5. 负责网站在合同期限内的维护。
6. 在附录一要求进行网站更新的情况下,在接到甲方要求网站更新的传真的2日内,按要求对网站进行更新。
7. 在附录一要求进行培训的情况下,对甲方1-3名技术人员进行培训。
8. 协助甲方办理网站的经营许可或备案登记。
9. 本合同标的及相关作品、程序、文件源码的版权属乙方所有。
第四条:验收
1. 验收标准有以下几条:
a. 甲方可以通过任何上网的计算机访问这个网站。
b. 主页无文字拼写及图片(以甲方提供的材料为准)错误。
c. 网络程序正常运行。
2. 验收期为5天时间。
第五条 违约责任
1. 任何一方有证据表明对方已经、正在或将要违约,可以中止履行本合同,但应及时通知对方。若对方继续不履行、履行不当或者违反本合同,该方可以解除本合同并要求对方赔偿损失。
2. 因不可抗力而无法承担责任的一方,应在不可抗力发生的3 天内,及时通知另一方。
3. 一方因不可抗力确实无法承担责任,而造成损失的,不付赔偿责任。本合同所称不可抗力是指不能预见、不能克服并不能避免且对一方当事人造成重大影响的客观事件,包括但不限于自然灾害如洪水、地震、火灾和风暴等以及社会事件如战争、动乱、政府行为等。
第六条 保密条款
双方应严格保守在合作过程中所了解的对方的商业及技术机密,否则应对因此造成的损失承担赔偿。

七条 其它
1. 如果本合同任何条款根据现行法律被确定为无效或无法实施,本合同的其他所有条款将继续有效。此种情况下,双方将以有效的约定替换该约定,且该有效约定应尽可能接近原约定和本合同相应的精神和宗旨。
2. 附录一规定的有效期满,本合同自动失效。届时双方若愿继续合作,应重新订立合同。
3. 本合同经双方授权代表签字并盖章,自签订日起生效。
4. 本合同一式两份,双方当事人各执一份,具有同等法律效力。
甲方(盖章) 乙方(盖章)
代表: 代表:

附录一 项目的内容、价款、开发进度、交付方式
1. 合同金额
《完全网站建设方案》:_______个,__________元
域名: _______个,__________元/年
主机空间: _______M web空间,_______M log空间,
_______M Email空间,_______M 数据库空间,
_______个 Email,_______M 带宽,
__________元/年
网页: _______页,模版生成/数据库管理,__________元
网络横幅广告设计: _______个,__________元
XXXX系统: _______个,__________元
XXXX系统: _______个,__________元
XXXX系统: _______个,__________元
XXXX系统: _______个,__________元
XXXX系统: _______个,__________元
计数器: _______个,__________元
进行技术人员培训: ____至___人,__________元
网站更新: _______次,每次不得超过_____个A4版面的文字,
_______元
其它: ___________ _______________________________
费用合计: __________________元
2. 付款方式
本合同涉及总金额为人民币 __________________元,合同签订后,甲方支付合同金额的____%,即 __________________元作为定金,验收之后一次性支付合同余款即 __________________元。
3. 开发周期
甲方在20___年___月___日之前,将资料交给乙方,将定金汇至乙方帐户。
乙方在20___年___月___日之前,完成网站的建设。
甲方在20___年___月___日之前,对网站进行验收。
甲方在20___年___月___日之前,将余款汇至乙方帐户。
乙方在20___年___月___日至20___年___月___日内,负责网站的维护。
4. 合同期限
本合同有效期为20___年___月___日至20___年___月___日。

(一) 项目宗旨 (说明项目成立原因,主要是市场要素的说明)
(二) 项目公司
2-1 公司的现状简介
2-1-1 基本景况
公司名称、地址、注册、电话、网址、法人等
2-1-2 公司架构
公司股权结构、管理架构、管理团队
2-1-3 经营业绩
拥有的资源、商誉、知名度、收入增长幅度
2-2 公司的服务产品
2.2.1. 公众服务:
2.2.7.电子商务平台
2.2.8.网络软件开发与技术服务
2-3 公司竞争优势
2-3-1 企业自身优势
2-3-2 行业相对优势
(三) 项目发展计划
3-1 资产并购计划
3-1-2 XX公司得失
3-1-2 aa公司得失
3-2 合作发展策略
3.2.1.合作发展战略原则说明
3.3.2.发展方向
3-3 商务运营模式
3.2.3.核心技术 (重点内容)
3.3.商务运营模式 (重点内容)
3.3.1.渠道共享
3.3.2.有偿服务
获利服务构成
(表格图形表示)
3-3-1 信息处理模式
3-3-2 有偿服务模式
3-3-3 收费赢利模式 (重点内容,就是市场模型,是投资方重点考察部分)
(四) 市场前景展望
4-1 市场预测
4-1-1 市场要素分析
4-1-2市场规模预测
4-2 市场定位
4-2-1 网站经营方针
4-2-2 网站形象风格
(五) 投入产出预算
5-1 追加投资预算
5-2 投入产出预算
5-3 经营效益指标
根据上述五年收入推算制定五年期现金流量表,由此测算出:
1、 内部收益率
2、 财务净现率(按风险贴现率)
3、 投资回收期(动态)
5-4 盈亏平衡分析
1、 价格盈亏点
2、 销售量盈亏点
3、 成本盈亏点

一.概念
网站项目管理就是根据特定的规范、在预算范围内、按时完成的网站开发任务。
二.需求分析
项目立项
  我们接到客户的业务咨询,经过双方不断的接洽和了解,并通过基本的可行性讨论够,初步达成制作协议,这时就需要将项目立项。较好的做法是成立一个专门的项目小组,小组成员包括:项目经理,网页设计,程序员,测试员,编辑/文档等必须人员。项目实行项目经理制。
客户的需求说明书
  第一步是需要客户提供一个完整的需求说明。很多客户对自己的需求并不是很清楚,需要您不断引导和帮助分析。曾经有一次,我问客户:“您做网站的目的是什么?”他回答:“没有目的,只是因为别人都有,我没有!”。这样的客户就需要耐心说明,仔细分析,挖掘出他潜在的,真正的需求。 配合客户写一份详细的,完整的需求说明会花很多时间,但这样做是值得的,而且一定要让客户满意,签字认可。把好这一关,可以杜绝很多因为需求不明或理解偏差造成的失误和项目失败。糟糕的需求说明不可能有高质量的网站。那么需求说明书要达到怎样的标准呢?简单说,包含下面几点:
1.正确性:每个功能必须清楚描写交付的功能;
2.可行性:确保在当前的开发能力和系统环境下可以实现每个需求;
3.必要性:功能是否必须交付,是否可以推迟实现,是否可以在削减开支情况发生时”砍”掉;
4.简明性:不要使用专业的网络术语;
5.检测性:如果开发完毕,客户可以根据需求检测。
三.系统分析
网站总体设计
  在拿到客户的需求说明后,并不是直接开始制作,而是需要对项目进行总体设计,详细设计,出一份网站建设方案给客户。总体设计是非常关键的一步。它主要确定:
1.网站需要实现哪些功能;
2.网站开发使用什么软件,在什么样的硬件环境;
3.需要多少人,多少时间;
4.需要遵循的规则和标准有哪些。
同时需要写一份总体规划说明书,包括:
1.网站的栏目和版块;
2.网站的功能和相应的程序;
3.网站的链接结构;
4.如果有数据库,进行数据库的概念设计;
5.网站的交互性和用户友好设计。
网站建设方案
  在总体设计出来后,一般需要给客户一个网站建设方案。很多网页制作公司在接洽业务时就被客户要求提供方案。那时的方案一般比较笼统,而且在客户需求不是十分明确的情况下提交方案,往往和实际制作后的结果会有很大差异。所以应该尽量取得客户的理解,在明确需求并总体设计后提交方案,这样对双方都有益处。网站建设方案的包括以下几个部分:
1.客户情况分析;
2.网站需要实现的目的和目标;
3.网站形象说明;
4.网站的栏目版块和结构;
5.网站内容的安排,相互链接关系;
6.使用软件,硬件和技术分析说明;
7.开发时间进度表;
8.宣传推广方案;
9.维护方案;
10.制作费用;
11.本公司简介:成功作品,技术,人才说明等。
  当您的方案通过客户的认可,那么恭喜你!您可以开始动手制作网站了。但还不是真正意义上的制作,你需要进行详细设计:
网站详细设计
  总体设计阶段以比较抽象概括的方式提出了解决问题的办法。详细设计阶段的任务就是把解法具体化。详细设计主要是针对程序开发部分来说的。但这个阶段的不是真正编写程序,而是设计出程序的详细规格说明。这种规格说明的作用很类似于其他工程领域中工程师经常使用的工程蓝图,它们应该 包含必要的细节,例如:程序界面,表单,需要的数据等。程序员可以根据它们写出实际的程序代码。
四. 项目实施
整体形象设计
  在程序员进行详细设计的同时,网页设计师开始设计网站的整体形象和首页。
  整体形象设计包括标准字,Logo,标准色彩,广告语等。 首页设计包括版面,色彩,图像,动态效果,图标等风格设计,也包括banner,菜单,标题,版权等模块设计。首页一般设计1-3个不同风格,完成后,供客户选择。
  记住:在客户确定首页风格之后,请客户签字认可。以后不得再对版面风格有大的变动,否则视为第二次设计。
开发制作
  到这里,程序员和网页设计师同时进入全力开发阶段,需要提醒的是,测试人员需要随时测试网页与程序,发现Bug立刻记录并反馈修改。不要等到完全制作完毕再测试,这样会浪费大量的时间和精力。项目经理需要经常了解项目进度,协调和沟通程序员与网页设计师的工作。
调试完善
  在网站初步完成后,上传到服务器,对网站进行全范围的测试。包括速度,兼容性,交互性,链接正确性,程序健壮性,超流量测试等,发现问题及时解决并记录下来。
  为什么要记录文档呢?其实本软件工程本身就是一个文档,是一个不断充实和完善的标准。通过不断的发现问题,解决问题,修改,补充文档,使这个标准越来越规范,越来越工业化。进而使得网站开发趋向规范,趋向合理。
宣传推广
宣传推广的基本方法有:
1.网页里设置适当的META标签;
2.各搜索引擎登录;
3.准备新闻稿件在各新闻公告板发表;
4.合理使用Email邮件列表;
5.广告条交换;
6.付费广告。
  至此,网站项目建设完毕,将有关网址,使用操作说明文档等提交客户验收。如果需要维护,另行签定维护项目。
维护
  网站成功推出后,长期的维护工作才刚刚开始,我们需要做到的是
1.及时响应客户反馈;例如可以采取Email自动回复功能,然后在1-3个工作日里解决问题,再次回复;
2.网站流量统计分析和相应对策;
3.尽量推广和使用您的网址;
4.网站内容的及时更新和维护。
五.遵循的规范
1.网站建设目录规范
2.网站文件命名规范
3.网站建设尺寸规范
4.网站首页head区代码规范
5.网站连接结构规范

网站建设合同是在网站建设项目中,企业(需要建网站方)和承建方(专业网站制作公司)之间共同确立的双方在项目中的权利,义务和合作内容的契约文件。本文就网站建设合同应该包含哪些主要内容,应该注意一些什么逐个做说明:
  网站建设合同是在网站建设项目中,企业(需要建网站方)和承建方(专业网站制作公司)之间共同确立的双方在项目中的权利,义务和合作内容的契约文件。网站建设合同必须包含以下主要内容:
1) 网站建设工作范围
2) 网站建设工作流程与时间进度
3) 网站建设质量要求
4) 网站承建费用支付,支付标准与支付方式
  下面就每一部分应该写明一些什么内容和注意一些什么点逐个做说明(合同其他部分如,违约形式与责任,合同附件里的《网站建设方案书》本文不作讨论)。
一、网站建设工作范围
  网站建设项目涉及到的工作一般包括,需求调研与《网站建设方案书》制作,网站建设素材准备,网站页面设计与制作,网站功能性部分程序开发与页面融合,数据库设计与数据输入,服务器购买(软件和硬件)或服务器空间租用、服务器存放,域名注册与解析。
  所先,在这些网站建设工作中,合同需要确定哪些是承建方的工作,哪些不是,哪些是企业或者第三方的工作,以及各方工作之间的合作方式和要求。
  这里需要注意的是,如果企业在工作中需要和建设方或者第三方进行合作,那么必须清晰说明这种合作的流程,方式和要求。譬如,如果网站建设素材由企业提供,合同必须对企业提供的素材内容,时间,要求作出清晰的说明。
  其次,对于承建方工作部分,必须细致地说明。
  例如,网站需要建设哪些栏目,每个栏目需要制作哪些内容,网站需要开发哪些功能性的程序(如BBS)等,对这些合同必须相当明确地作出说明。合同可以用建设方确认通过的《网站建设方案书》作为合同附录,来更详细阐明承建方的工作。
二、项目建设工作流程与时间进度
  网站建设流程一般流程为:需求调研,完成网站《网站建设方案书》,《方案书》确认,素材(文字,图片,数据)收集与整理,页面风格设计,风格设计确认,页面制作,程序开发,整合(页面,程序),建设方评估与测试,网站改进与建设方确认,服务器与域名准备,网站上传发布,网站维护。
  所先,合同必须说明项目开展的工作流程。
  其次,对于每个工作流程,需要概要说明承建方的工作内容,尤其对于需要企业参与的部分,需要说明企业的工作内容和要求。例如,需求调研时企业的配合和资源提供;设计制作确认时的确认方式和确认范围。
  最后,是对每个流程环节的完成时间要求说明。合同需要给出每个流程环节的工作估计以及项目最终完工的日期估计,双方可以根据需要,协商在进度限制上的严格度。
三、网站建设质量要求
  网站建设质量主要指网站页面设计,制作与网站程序的质量。合同需要对这些工作的质量作出周到的,尽量可度量的要求,譬如为保证浏览速度,建设方也可以对每个网页的大小作出一般性限制。
  对于页面设计与制作,由于对设计风格的认识差异会导致建设方和承建方的质量评判结果不同,同时设计质量也难以度量,容易出现建设方多次否定设计的情况。在这个时候需要用变通的办法来弥合双方的质量评判差异。
  例如,可以由承建方设计出5种建设方要求风格的设计页面,然后由建设方选择,或者重复修正设计不能超过5次,而承建方可以以半价收取落选设计页面费用的代价来限制设计要求的变化。
  还有一种办法,就是采取第三方来度量页面设计与制作质量。例如,找一些普通的上网用户,测试他们成功搜索网站中某个特定内容所需要的时间,用这个时间来衡量网站连接设计质量和合理性。例如,可以通过在门户网站做网上调查,由网民来评判网站设计与制作质量,这样做同时也很好地宣传了网站。
  而对于网站功能性程序来说,合同应该对功能作出详细的说明。如会员注册登陆系统,那么除了会员的注册,登陆,退出外,系统还应该提供给会员什么功能,譬如新闻定制等。这部分可以在《网站建设方案书》里作出更详细的说明。
  如果,网站承建方同时提供虚拟主机空间,那么企业还可以对网站访问速度,宕机时间,网站带宽等方面作出要求(空间租用双方一般也可以另签《网站空间租用合同》)。
四、网站承建费用支付,支付标准与支付方式
  网站建设业内一般采用按制作量记费的方式,譬如按页面数量记费。
  但网站制作量,如页面数量等,在制作过程中是变化的,所以在签合同的时候无法给出整个网站建设完成后的确切费用。但是合同却可以给出网站建设的收费项和收费标准,等网站建设完成后,统计整个网站的每项工作量,再结合记费标准来算出项目实际标的。
所先,确定网站建设收费项。网站建设收费项一般可以包括以下一些:
1) 素材整理阶段的文字录入费,图片处理费,翻译费
2) 《网站建设方案书》制作费用
3) 普通页面制作费用
4) 页面风格设计费用(一般指主页和栏目首页)
5) 页面特效制作费用(譬如javascript,Flash等)
6) 功能性程序开发费用(如调查系统,会员注册系统等)
7) 数据库数据录入费用
8) 空间租用费用等。
  其次,确定每个收费项的单位价格。例如,文字翻译每千字50元等。
  这一条款关系到日后合同标的的计算,所以务必非常清晰,双方不妨多花一点时间来协商这里的细节,以达到彼此在这一条款上的一致认可,以妨日后引起不必要的争执。为了做到这一点,我认为原则就?quot;细”。譬如,必须定义怎么算作一个页面,是1024下的800*600,还是800*800?如果是800*600,那么一个800*1200的页面就算做两页;这是一个协商的过程,这样计算是否合理,我觉得只要双方都同意这样计算就没有问题,关键是必须使得日后统计制作量和计算合同标的时双方没有歧义。
  费用支付一般可以分成三次进行。一般合同签署一周内支付一定数量,作为项目启动费用;项目中期支付一定数量;项目结束后,计算项目实际标的,再支付余额。
  如前面所说,作为网站建设项目的建设合同还需要其他很多条款和辅助合同,如:《空间租用合同》等,但是以上谈到四点却是合同里最重要,也是最需要”细扣”的内容,希望大家以后在撰写网站建设合同时能从中获得一点帮助。

一、建设网站前的市场分析
1、相关行业的市场是怎样的,市场有什么样的特点,是否能够在互联网上开展公司业务。
2、市场主要竞争者分析,竞争对手上网情况及其网站规划、功能作用。
3、公司自身条件分析、公司概况、市场优势,可以利用网站提升哪些竞争力,建设网站的能力(费用、技术、人力等)。
二、建设网站目的及功能定位
1、为什么要建立网站,是为了宣传产品,进行电子商务,还是建立行业性网站?是企业的需要还是市场开拓的延伸?
2、整合公司资源,确定网站功能。根据公司的需要和计划,确定网站的功能:产品宣传型、网上营销型、客户服务型、电子商务型等。
3、根据网站功能,确定网站应达到的目的作用。
4、企业内部网(Intranet)的建设情况和网站的可扩展性。
三、网站技术解决方案
根据网站的功能确定网站技术解决方案。
1、采用自建服务器,还是租用虚拟主机。
2、选择操作系统,用unix,Linux还是Window2000/NT。分析投入成本、功能、开发、稳定性和安全性等。
3、采用系统性的解决方案(如IBM,HP)等公司提供的企业上网方案、电子商务解决方案?还是自己开发。
4、网站安全性措施,防黑、防病毒方案。
5、相关程序开发。如网页程序ASP、JSP、CGI、数据库程序等。
四、网站内容规划
1、根据网站的目的和功能规划网站内容,一般企业网站应包括:公司简介、产品介绍、服务内容、价格信息、联系方式、网上定单等基本内容。
2、电子商务类网站要提供会员注册、详细的商品服务信息、信息搜索查询、定单确认、付款、个人信息保密措施、相关帮助等。
3、如果网站栏目比较多,则考虑采用网站编程专人负责相关内容。 注意:网站内容是网站吸引浏览者最重要的因素,无内容或不实用的信息不会吸引匆匆浏览的访客。可事先对人们希望阅读的信息进行调查,并在网站发布后调查人们对网站内容的满意度,以及时调整网站内容。
五、网页设计
1、网页设计美术设计要求,网页美术设计一般要与企业整体形象一致,要符合CI规范。要注意网页色彩、图片的应用及版面规划,保持网页的整体一致性。
2、在新技术的采用上要考虑主要目标访问群体的分布地域、年龄阶层、网络速度、阅读习惯等。
3、制定网页改版计划,如半年到一年时间进行较大规模改版等。
六、网站维护
1、服务器及相关软硬件的维护,对可能出现的问题进行评估,制定响应时间。
2、数据库维护,有效地利用数据是网站维护的重要内容,因此数据库的维护要受到重视。
3、内容的更新、调整等。
4、制定相关网站维护的规定,将网站维护制度化、规范化。
七、网站测试
网站发布前要进行细致周密的测试,以保证正常浏览和使用。主要测试内容:
1、服务器稳定性、安全性。
2、程序及数据库测试。
3、网页兼容性测试,如浏览器、显示器。
4、根据需要的其他测试。
八、网站发布与推广
1、网站测试后进行发布的公关,广告活动。
2、搜索引掣登记等。
九、网站建设日程表
各项规划任务的开始完成时间,负责人等。
十、费用明细
各项事宜所需费用清单。
以上为网站规划书中应该体现的主要内容,根据不同的需求和建站目的,内容也会在增加或减少。在建设网站之初一定要进行细致的规划,才能达到预期建站目的。

任何一个项目或者系统开发之前都需要定制一个开发约定和规则,这样有利于项目的整体风格统一、代码维护和扩展。由于Web项目开发的分散性、独立性、整合的交互性等,所以定制一套完整的约定和规则显得尤为重要。本文档将定制一系列约定和规则,他们分别包括组件团队、文件夹命名规则、文件名命名规则、程序代码编程风格、数据库设计约定。这些规则和约定需要与开发人员、设计人员和维护人员共同讨论定制,将来开发都将严格按规则或约定开发。每个团队开发都应有自己的一套规范,一个优良可行的规范可以使我们工作得心应手事半功倍,这些规范都不是唯一的标准不存在对与错,也许有些地方与你当前使用的习惯相驳,很多地方都有争议。比如很多人习惯设计数据库时采用自动增长字段,而有些人就坚决反对,各自都有比较充分的理由阐述自己的观点,所以只好根据具体情况来采用相应的策略。

  非常明显在Web项目开发中有前后台开发之分,前台开发主要是指非程序编程部分,主要职责是网站AI设计、界面设计、动画设计等。而后台开发主要是编程和网站运行平台搭建,其主要职责是设计网站数据库和网站功能模板的实现。下面的这些规范主要是从这2个方面来定制的,本文档比较适合中小型网站或者Web项目的开发规范。

1.组建开发团队

  在接手项目后的第一件事是组建团队。根据项目的大小团队可以有几十人,也有可以是只有几个人的小团队,在团队划分中应该含有6个角色,这6个角色是必须的,分别是项目经理,策划,美工,程序员,代码整合员,测试员。也许你的团队还没有6个人,没有关系一个人可以有多个角色,比如项目经理还可以有策划这个角色,如程序员还可以含有代码整合和测试这2个角色,如果你的项目够大人数够多那就分为6个组,每个组分工再来细分。下面简单介绍一下这6个角色的具体职责。

  项目经理,项目总体设计,开发进度的定制和监控,定制相应的开发规范,负责各个环节的评审工作,协调各个成员(小组)之间开发。策划,提供详细的策划方案和需求分析。还包括后期网站推广方面的策划。美工,根据策划和需求设计网站AI,界面,Logo等。程序员,根据项目总体设计来设计数据库和功能模块的实现。代码整合员,负责将程序员的代码和界面融合到一起,代码整合员可以制作网站的相关页面,测试员,负责测试程序。

2.开发工具

  Web开发工具主要分为3部分,第一部分是网站前台开发工具,第二部分是网站后台开发环境,第三部分是项目管理和辅助软件。下面分别简单介绍这三部分需要使用的软件。

  网站前台开发主要是指Web界面设计。包括网站整体框架建立、常用图片、Flash动画设计等等,主要使用的相关软件是:Adobe Illustrator 、Adodb Photoshop、Dreamweaver MX、Flash MX等。

  网站后台开发主要指网站动态程序开发、数据库建模,主要使用的相关软件是: PowerDesigner(数据库建模),PowerDesigner在数据库设计方面应用非常强大,用它可以快速创建数据库概念和物理模型。Rational Rose(程序建模),如果你的项目功能模块不是特别复杂那就剩了它吧,这样会节省一些时间和开发的复杂度。

  网站项目管理主要指对开发进度和代码版本的控制。开发进度用Microsoft Project来制定,代码版本控制采用Visual SourceSafe,当然还有其他的选择比如CVS和Rational ClearCase。网站测试采用VS.net的附带工具Microsoft Application Center Test,它可以进行并行、负载测试等。程序文档编写采用Word,如果你非常怀旧用WPS也可以。

3.网站开发流程

  在项目开始实施之前应该有一个工作步骤也就是工作流程,在项目开发中最需要时间的是总体设计和系统测试,而程序编写代码所占的时间并不多,但有的团队就急于开发写代码,先把程序写出来再说,没有注重评审和测试这2个环节,结果造成返工。所以项目来了不要急于开工写代码,应该一步一步慢慢来,只有走的慢才能走得稳走得远。图1的开发流程比较好地体现开发的整个环节。

从图1可以看到2条主线,这2条主线分别是前台开发和后台开发。前后台开发在项目开发早期互相没有交叉,当然不是绝对没有,Web策划和需求分析都是互相有关系的,一个是网站表现形式和风格的策划另一个是网站功能的策划,它们是衣服和躯干的关系。到了开发后期就需要把界面和功能模块结合起来形成一个统一,也就即将发布的网站。

4.数据库开发

  数据文件命名采用系统名+_+文件类型,比如系统名为kupage,则数据库文件命名为kupage_database.mdf,有的数据库文件有多个,比如SQL Server就有2个,一个是数据库文件,另一个是日志文件,那么他们的文件命名分别为kupage_database.mdf,kupage_log.log。文件名全部采用小写。

  数据库表命名规范,表名长度不能超过30个字符,表名中含有单词全部采用单数形式,单词首写字母要大写,多个单词间不用任何连接符号。若库中有多个系统,表名采用系统名称+单词或多个单词,系统名是开发系统的缩写,系统名称全部采用小写英文字符,如bbsTitle,bbsForumType。若库中只含有一个系统,那么表名仅用一个单词或多个单词。单词选择能够概括表内容的一个或多个英文单词,如UserInfo,UserType。关连表命名规则为Re_表A_表B,Re是Relative的缩写,如:Re_User_ArticleType, Re_User_FormType。

  数据库字段命名规范,数据库字段名全部采用小写英文单词,单词之间用”_”隔开,命名规则是表别名+单词,如:user_name,user_pwd。表别名规则,如果表名是一个单词,别名就取单词的前4 个字母;如果表名是两个单词,就各取两个单词的前两个字母组成4 个字母长的别名;如果表的名字由3 个单词组成,你不妨从头两个单词中各取一个然后从最后一个单词中再取出两个字母,结果还是组成4 字母长的别名。

  视图名采用规则View_表A_表B_表C,View表示视图。这个视图由几个表产生就用”_”连接几个表的名,如果表过多可以将表名适当简化,但一定要列出所有表名。

  存储过程命名规则P_表名_存取过程名(缩写),比如P_User_Del,P_ArticleType_AddData。
  SQL语句编写规则,关键字必须大写,其他书写按上述命名规则,如:
  SELECT user_id, user_name FROM User WHERE user_id = ‘tom’

5.文件夹文件名命名规范

  文件夹命名一般采用英文,长度一般不超过20个字符,命名采用小写字母。除特殊情况才使用中文拼音,一些常见的文件夹命名如:images(存放图形文件),flash(存放Flash文件),style(存放CSS文件),scripts(存放Javascript脚本),inc(存放include文件),link(存放友情链接),media(存放多媒体文件)等。

  文件名称统一用小写的英文字母、数字和下划线的组合。命名原则的指导思想一是使得你自己和工作组的每一个成员能够方便的理解每一个文件的意义,二是当我们在文件夹中使用”按名称排例”的命令时,同一种大类的文件能够排列在一起,以便我们查找、修改、替换、计算负载量等等操作 。

  1、图片的命名原则名称分为头尾两部分,用下划线隔开,头部分表示此图片的大类性质例如广告、标志、菜单、按钮等等。
  放置在页面顶部的广告、装饰图案等长方形的图片取名: banner
  标志性的图片取名为: logo
  在页面上位置不固定并且带有链接的小图片我们取名为 button
  在页面上某一个位置连续出现,性质相同的链接栏目的图片我们取名: menu
  装饰用的照片我们取名: pic
  不带链接表示标题的图片我们取名: title
  下面是几个范例: banner_sohu.gif 、banner_sina.gif、 menu_aboutus.gif 、menu_job.gif、 title_news.gif、 logo_police.gif、 logo_national.gif 、pic_people.jpg 。

  2、动态语言文件命名规则性质_描述,描述可以有多个单词,用”_”隔开,性质一般是该页面得概要。
  范例:register_form.asp,register_post.asp,topic_lock.asp

6.程序代码编程规范

一个良好的程序编码风格有利于系统的维护,代码也易于阅读查错。在此只讨论ASP的编程风格和约定。在ASP中所有变量是弱变量,无需定义就可以直接使用,而且代码不区分大小写。但其他语言一般这些都要定义的,为了养成良好的编程习惯,编写代码务必按照一下规则。

  1、每个变量名必须定义,在ASP文件的最开始添加语句,强制定制每个变量。

  2、出于易读和一致性的目的,在代码中使用以下变量命名约定:

子类型
前缀
示例

Boolean
bln
blnFound

Byte
byt
bytRasterData

Date (Time)
dtm
dtmStart

Double
dbl
dblTolerance

Error
err
errOrderNum

Integer
int
intQuantity

Long
lng
lngDistance

Object
obj
objCurrent

Single
sng
sngAverage

String
str
strFirstName

  3、程序代码需要有缩进,缩进采用键盘Tab键,不采用空格键。并且”=”或者链接字符串时需要左右空一格,如下:
  
  4、函数过程编写的约定。函数或者过程命名采用动作+名词,每个函数需要给出相应的注释,函数功能,传入变量,以及作者和修改相关信息。如下面函数:
  <%
  ’[功能] 返回一个参数的值
  ’[参数] strParameterName 参数名称
  ’[作者] icefire 2002/8/20 am
  Function GetParameterValue(strParameterName)
   Dim objRS, strSQL, strParameterValue
   strSQL = “SELECT ParameterValue FROM damsParameters WHERE ParameterName = ‘” &    strParameterName & “‘”
   .
   .
   .
  GetParameterValue = strParameterValue
  Set objRS = Nothing
  End Function

  5、ASP内置对象区分大小写。如下代码片断
  strUserName = Request.Form(“UserName”)
  Set conn = Server.CreateObject(“ADODB.Connection”)

  6、数据库连接一个库只能有一个数据库连接文件,创建数据库对象得原则是尽可能晚地打开数据库,尽可能早地关闭数据库。创建数据库对象调用统一地创建函数。如下:
  Sub OpenConn(ByRef conn)
   Dim strDBPath, strDBConnection

   strDBPath = Server.MapPath(“database/tax.mdb”)
   strDBConnnection = “Driver={Microsoft Access Driver (*.mdb)}; DBQ=” & strDBPath
   Set conn = Server.CreateObject(“ADODB.Connection”)
   conn.Open strDBConnnection
  End Sub

  7、当一个对象不在使用时要释放对象资源,比如objFSO,objRS对象等。采用统一函数调用。函数如下:
  Sub CloseObj(ByRef obj)
   If IsObject(obj) Then
    obj.Close
    Set obj = nothing
   End If
  End Sub

  8、时间全部以字符串的形式保存到数据库中,这样做能够是日期在不同的数据库中都能良好地保存,也方便数据库地迁移。时间用14位字符串保存,日期用8位字符串保存。