网站项目管理

一,概述

如今网站项目的设计和开发越来越复杂得像一个软件工程,进入了需要强调流程和分工的时代,建立规范的、有效的、健壮的开发机制,才能适应用户不断变化的需要,达到预期的计划目标。

网站项目管理(WPM,Web-based Project Management),即以Web 应用程序为主要表现方式的架构来进行的项目设计及管理,这样的架构中包含了浏览器、网络和Web 服务器等关键主体,主要体现在网站设计、以浏览器为客户端的Web应用程序开发(例如信息类网站、网上商店、虚拟邮局、客户关系管理。)等项目管理中。

网站项目管理可以分为以下l六个阶段进行控制:(需要说明的是,这些阶段虽然具有一定的延续性,但是并非完全隔断的,例如需求变更管理和测试工作、文档编写都是贯穿整个项目过程的,许多工作时交叉进行或同时进行的。)

1. 需求分析及变更管理

2. 项目模型及业务流程分析

3. 系统分析及软件建模

4. 界面设计、交互设计及程序开发

5. 系统测试和文档编写

6. 客户培训、技术支持和售后服务

二,需求分析及变更管理

业务员与客户进行的沟通,撰写需求分析报告是项目展开的基础。项目是以客户的需求为中心,而不是为技术而迁就需求。

一:让客户畅所欲言不要遗漏,做出最原始最完整的用户要求记录,以防意外的需求变更发生。

二:分析、归纳和整理用户表面需求。预测客户的潜在需求以预留升级设计,协商去粗取精除不适的需求。

三:利用通俗自然的语言文字描述项目模型,以防误解并可作为测试和验收的依据。

四:利用示意图和图表帮助用户理解需求表现出来。可使用PowerPoint/Visio/Html/画图/Word表格中任意一种可以快速轻松更改示意图表的画图工具。以防因误解造成的需求变更,并使客户能更容易地参与到项目的开发过程。

五:需求分析报告:项目经理、系统分析员、开发经理、交互设计师、测试人员、文档人员包括客户代表都应该看需求分析,并进行共同的讨论,达成一致的意见。以免客户,业务,技术三方因误解而造成纠纷。

我们经常会遇到业务人员辛辛苦苦谈下来的项目,对开发人员来说却是难以实现的,而技术人员设计的产品却常常得不到客户的认可,甚至发生纠纷,因此参与项目开发的人员都应该对这份需求有统一清晰的认识,并根据自己的工作对需求提出意见,通过与客户的沟通修订,最终确定项目实现的目标。

例如:

项目经理通过需求分析才能组建所需要的团队包括配置工作环境,制定开发周期。

开发周期的限制和功能上的要求可能会影响到程序员采用什么样的语言和工具进行编写;

操作用户的技能水平将影响到交互设计师进行前台设计时做到什么样的精度;

界面设计人员根据项目的性质和定位确定表现方式。

测试人员了解测试环境和条件后才能对项目质量进行跟踪和检测;

通过下表,我们可以看的出不同角色根据需求的变更所进行的工作流程:

六:建立需求变更日志,制作新版本的需求分析报告

尽管我们费了许多功夫在需求分析进行了最大可能的努力,但几乎可以肯定的是,这份需求分析在开发过程中一定会发生变化,也许是出自客户的遗漏,也可能是在开发过程中被激发出来的,这种变更有时是如此的频繁和琐碎,以至于往往不能将变更及时反馈到项目的各个角色中,那么做好需求变更日志就显得非常重要。

在需求分析后面附上变更日志,并将修改后的需求分析制作成新版本,保留每次更改过的版本,而不是覆盖,这样就比较容易地跟踪到需求变更过程中所带来的工作调整。

在新版本的需求分析中,将变更多部分用特殊方式表明出来,并在日志中记录变更多重的明细。

关于需求分析和变更管理可以参照下图示意:

七:本阶段重点工作角色

在需求分析和变更管理的过程中,工作量最大的角色为客户代表、业务员和项目经理。

客户代表提出需求,业务员帮助整理和分析,项目经理对整个项目进行评估。

在实际工作中,很多项目失败的起因都和需求分析有关。 客户代表和业务员通常并非从事技术开发的专业人员,在讨论需求的时候往往对项目的技术难度、工作量、时间进度把握不准确,这时候需要项目经理或技术人员进行参谋。

为了降低项目的风险,提高工作效率,有必要设计规范的需求管理计划书,帮助客户代表和业务员更好的完成任务。

以下提供一份需求管理计划的模板可作为参考:

八:总结

根据笔者的经验,要尽快做好需求分析掌握以下要点,也许能事半功倍:

仔细聆听,罗列客户的所有要求;

将需求进行分析,确认可操作的系统模型;

利用最自然的语言将系统进行描述,使每个开发人员不会产生歧意;

迅速确定网站的用户角色;

比如访客、会员、重要客户、前台管理员、网站管理员、业务员等;

分析确定每个角色的权限及可操作的功能;

比如会员可以查看特别信息、修改个人信息、退出登陆等;

前台管理员能够登录管理系统,能够发布编辑修改信息,能够审查会员资格等;

网站管理员可以更改栏目、修改网站界面等;

制作流程图和示意图将需求表现出来;

让客户参与到示意图的设计中,及时正确的反应出需求变更。

制作需求变更日志,保留升级版本,通过版本控制进行需求管理;

通过需求《管理计划书》使每个参与人员看到共同的努力目标。

(二)项目模型及业务流程分析

一、项目的角色划分

如果不包括前期和后期的市场推广及销售人员,开发团队一般可以划分为项目负责人、程序员、美工三个角色。

项目负责人习惯称为项目经理,负责项目的人事协调、时间进度等安排,以及处理一些与项目相关的其他事情。程序员主要负责项目的需求分析、策划、设计、代码编写、网站整合、测试、部署等环节的工作。美工负责网站的界面设计、版面规划,把握网站的整体风格。如果项目比较大,可以按照三种角色把人员进行分组。

角色划分是Web项目技术分散性甚至地理分散性等特点的客观要求,分工的结果还可以明确工作责任,最终保证了项目的质量。分工带来的负效应就是增加了团队沟通、协调的成本,给项目带来一定的风险。所以项目经理的协调能力显得十分重要,程序开发人员和美工在项目开发的初期和后期,都必须有充分的交流,共同完成项目的规划和测试、验收。

二、开发工具的选取

不象C/S结构程序开发,可以一门语言从头到尾,你用Delphi,就是Delphi程序员,你用VC++,你就是VC程序员。B/S结构的Web开发工作,工具的选择是一件痛苦的事情。从Windows到Linux,从IIS到 Apache,从J2EE到 .NET,从EJB到COM到.NET组件……还有 Asp、Asp.net、Jsp、Php、Perl、Javascript、Vbscript……

美工也轻松不了多少,什么”网页三剑客” “新网页三剑客”、FrontPage、Photoshop、CorelDraw……谁都说自己是最强大的!

我们的经验是,选用工具时最好是统一的,但是也不必刻意强求一致。正是Web开发工具的多样性,才成就了今天互联网多姿多彩的局面。只要程序员的纯Html代码的功夫足够过硬,一般不会影响网站最后的整合工作。

三、项目开发流程

www.deepcast.net_deepcast_userfiles_2006-2_14_2006214224346587.jpg

由项目经理牵头,以程序员为重心,共同讨论,完成用户需求分析,产生网站的栏目规划(用树形图表示),标出哪些是静态页面,哪些是动态页面。动态页面须要程序实现。制定网站的界面框架,包括首页构图,及各页面间的钩稽关系。产生各栏目文件夹的结构图(一些公共文件夹如images、scripts、 styles等需要固定存放,共同调用)。

然后由美工根据内容表现的需要,设计静态网页和其它动态页面界面框架,该切分的图片要根据尺寸切割开来。给需要程序动态实现的页面预留页面空间。制定字体、字号、超级链接等CSS样式等。

在美工设计页面的同时,程序员着手开发后台程序代码,做一些必要的测试。

美工界面完成后,添加程序代码,组合网站,由项目组共同联调测试,发现bug,完善一些具体的细节。最后进行网站部署。

以上的每一部都会产生一些阶段性成果,项目经理需要及时进行审核、监督,发现问题即使纠正。

四、 一些技术规则

Web 开发的分散性和交互性,决定了 Web 开发必须遵从一定的开发规范和技术约定,只有每个开发人员都按照一个共同的规范去设计、沟通、开发、测试、部署,才能保证整个开发团队协调一致的工作,从而提高开发工作效率,提升工程项目质量。

1,数据库命名约定

表命名约定:表名长度不能超过30个字符,单词首写字母大写,多个单词间不用连接符号。

字段命名约定:字段名尽量采用英文单词,单词首字母大写,单词之间用”_”隔开,命名规则是”表类别名_单词”,如:User_Info,News_Content。

视图命名约定:采用规则View_表A_表B_表C,其中View表示”视图”。这个视图由几个表产生就用连字符”_”连接几个表的名,如果表过多可以将表名适当简化。

存储过程命名约定:P_表名_存取过程名(缩写),比如P_User_Deleted。

2,文件夹命名约定

公共文件夹:   /images 公共图片   /styles 样式表   /scripts 脚本   /ftps 下载   /doc 网站相关素材、文档   /readme.txt 网站说明文档   /helps.htm 网站帮助文档   /mylogs.txt 网站维护记录   其它栏目的命名,可以用拼音首字母简称,也可以用英文单词。全部文件夹的含义在readme.txt文件中说明。

3,对象及变量命名约定

每个变量名必须先定义,再使用。在ASP文件的最开头添加语句<%Option Explicit%>可以强制变量定义。代码块必须采用缩进格式。每个函数前必须标明函数的功能、输入参数、返回值的相关信息。

变量类型 缩写前缀   String str 或 s   Integer int   Date dt   Object obj或 o   Boolean bol或 b   Byte byt   Double dbl   Error err

参考

如何做好需求分析?(网站项目管理WPM是如何完成的之一)系统分析及软件建模(网站项目管理WPM是如何完成的之三),项目模型及业务流程分析(网站项目管理WPM是如何完成的之二)

如何做好网站开发项目需求分析

WEB应用程序UI模版代码编写及使用规范