网站项目建设流程概述
一.概念
网站项目管理就是根据特定的规范、在预算范围内、按时完成的网站开发任务。
二.需求分析
项目立项
我们接到客户的业务咨询,经过双方不断的接洽和了解,并通过基本的可行性讨论够,初步达成制作协议,这时就需要将项目立项。较好的做法是成立一个专门的项目小组,小组成员包括:项目经理,网页设计,程序员,测试员,编辑/文档等必须人员。项目实行项目经理制。
客户的需求说明书
第一步是需要客户提供一个完整的需求说明。很多客户对自己的需求并不是很清楚,需要您不断引导和帮助分析。曾经有一次,我问客户:"您做网站的目的是什么?"他回答:"没有目的,只是因为别人都有,我没有!"。这样的客户就需要耐心说明,仔细分析,挖掘出他潜在的,真正的需求。 配合客户写一份详细的,完整的需求说明会花很多时间,但这样做是值得的,而且一定要让客户满意,签字认可。把好这一关,可以杜绝很多因为需求不明或理解偏差造成的失误和项目失败。糟糕的需求说明不可能有高质量的网站。那么需求说明书要达到怎样的标准呢?简单说,包含下面几点:
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.网站连接结构规范
随着技术的不断发展和用户对网站功能性的需求不断提高,如今网站项目的设计已经不能再仅仅简单地利用静态Html文件来实现,与前几年网站设计由一两名网页设计师自由的创作相比,网站项目的设计和开发越来越像一个软件工程,也越来越复杂,网站项目的设计和开发进入了需要强调流程和分工的时代,建立规范的、有效的、健壮的开发机制,才能适应用户不断变化的需要,达到预期的计划目标。
网站项目管理(WPM)的含义为Web-based Project Management,即以Web 应用程序为主要表现方式的架构来进行的项目设计及管理,这样的架构中包含了浏览器、网络和Web 服务器等关键主体,主要体现在网站设计、以浏览器为客户端的Web应用程序开发(例如信息类网站、网上商店、虚拟邮局、客户关系管理。)等项目管理中。
在本文中,笔者将网站项目管理(WPM)与软件工程的统一过程管理(RUP)进行参照比较,并结合实际工作经验,力求将网站工程管理(WPM)的角色、分工、流程进行完整的阐述,使网站项目管理逐渐走向规范化。
按照笔者的经验,网站项目管理可以分为以下六个阶段进行控制:
1. 需求分析及变更管理
2. 项目模型及业务流程分析
3. 系统分析及软件建模
4. 界面设计、交互设计及程序开发
5. 系统测试和文档编写
6. 客户培训、技术支持和售后服务
需要说明的是,这些阶段虽然具有一定的延续性,但是并非完全隔断的,例如需求变更管理和测试工作、文档编写都是贯穿整个项目过程的,许多工作时交叉进行或同时进行的。
(二)项目模型及业务流程分析
网络技术的应用所产生的电子流程工作方式既不能彻底更改传统的工作流程,也不是对传统工作流程的简单复制,而需要对传统的工作流程进行合理的优化、改进和重组。
本章包括以下内容:
一. 编写项目模型文档,使所有人都一目了然
二. 业务流程分析员进行流程设计
三. 界面工程师设计用户界面原型
四. 以用户为中心的设计思考
五. 制作设计计划书
六. 总结
一. 编写项目模型文档,使所有人都一目了然
为什么要制作项目模型文档?
通常用户提出的需求是凌乱的,不完整的,甚至是不正确的,而且更细致的需求经常是在项目开发进行中才被挖掘发现的,这对于开发人员来说是个极其困扰的问题。那么,在进行需求分析后制作项目模型文档,能在项目进入开发前,双方对即将要开始完成的项目的结果有个共同的认识,并提早暴露可能出现的需求变更,那么将大大提高开发的效率和质量。
缺乏经验的项目人员往往在接受任务后迫不及待地进行系统分析和开发,而不愿意多一点时间在和客户反复推敲项目需求和模型,开发过程中想当然地凭空为客户做了很多假想,费了九牛二虎之力却吃力不讨好,可想而知,在不知道终点在哪里的马拉松比赛中,你会跑到哪里去?!
因此在确认了客户的初步需求以后,业务人员应该进行项目模型的设计描述。
首先,我们要定义一下词汇表,并非每个客户或者项目小组成员都能够明白"用户"、"角色"、"用例"之间的差别,也不见得都能很好地理解"通道"、"前台"、"后台"到底是什么含义,为了让项目模型文档使每个浏览者正确地理解,定义词汇表是非常需要的,尤其是面对传统行业初次进行信息化设计的用户。
模型描述采用最自然的语言进行描述,这份文档是对需求分析报告的进一步描述。使得客户代表、项目经理、开发人员对即将展开的项目通过项目模型的描述产生最直观的印象,并针对关键的问题进行讨论并达成统一认识,比如功能要求、性能指标、运行环境、投资规模等等。
二. 业务流程分析员进行流程设计
业务流程分析员的人员应该善于简化工作,担任此角色的人员中必须要有具备广博的专业领域知识,并且具有良好的沟通技巧。
业务分析人员重点需要协助客户将需求进行归纳分析,查找出所有的业务主角,确定业务主角后,每个主角的相关活动及流程应清晰地制定出来,最终设计出逻辑视图、用户界面示意图。比如一个电子商店系统,除了系统管理员、业务经理、业务员、物流配送员、客户服务人员等角色以外,可能还存在外部协作单位的不同角色,比如供应商、分销商、广告客户,还有购买用户,甚至再细分为普通消费用户、VIP消费用户、集团消费用户等等,每一类角色参与系统活动时的入口和流程都有所不同,通过逻辑图和示意图,业务流程分析员将系统的机构简要明确地进行描述。
在进行业务流程设计,需要注意以下事项:
* 调查用户网络环境和配置,使架构设计师能够制定合理可行的系统架构;
* 调查用户偏好和技能水平,这将直接影响到项目开发的深度和用户界面的设计;
"虽然开发人员和管理人员很容易自认为他们了解用户需要,但实际情况常常不是这样。人们往往关注于用户应该如何执行任务,而不是用户偏好如何执行。多数情况下,偏好问题不仅仅是简单地认为已掌握了用户需要,尽管这本身就很值得研究。偏好还要由经验、能力和使用环境决定。"
* 预测并制定系统的性能指标,为测试人员编写测试计划提供依据。
许多项目设计中比较重视功能的实现,测试阶段看似满足了客户的需求,但一旦投入使用的时候,便会发现性能上面临着一个个瓶颈。客户由于对专业知识的了解程度有限,也往往忽略了这方面要求,因此为了避免日后陷入纠纷,事先预测并制定性能指标是非常重要的。
三. 界面工程师创建用户界面原型
为了在实际系统开发投入之前,创建用户界面模型是非常重要的,开发原型的成本远远低于实际开发的成本,在项目初期,创建完整的用户界面揭示和测试系统的所有功能和可用性,并能够使客户代表参与讨论及修改,可以大大提高项目的成功几率。
创建正确可行的原型以后,系统分析、设计及代码的编写都必须遵照原型进行,确保构建的系统是正确的,测试人员和客户也能够在开发过程中即实时地参与检查,可以有效地保障了项目的质量。
根据业务流程分析员所提供的流程分析逻辑图及示意图,界面设计工程师开始设计制作用户界面原型,目前这个阶段,对于界面设计人员来说还没有进入精细设计的阶段,所以最重要的是将业务流程完整地表现出来,并和客户就设计风格,设计规范进行确认和定义。
界面工程师在充分理解客户需求和所有的业务流程之后,利用合理的布局设计用户界面。比如网站的首页风格、首页需要显示的各个元素、导航的分类和表现方法、各类业务角色的入口等等。
在此需要注意的是,用户界面不仅仅是网站访问者所浏览的界面,也包括了特殊用户、管理员、业务伙伴等不同的用户界面,甚至还有提示界面、警告界面、出错界面等等,设计完整的用户界面原型不仅能够使客户及测试人员更容易明确需求,也对项目的质量起到不可忽视的作用。
四. 以用户为中心的设计思考
无论项目设计开发人员的水平多么精尖,毕竟不是系统的最终用户,最大限度地满足客户的需要才是关键,系统设计人员往往口头上挂着以用户为中心的口号,而实际上工作中又在大量地假想,或是出于懒惰或是出于条件限制,对于将来使用系统的不同用户来说都可能产生意想不到的障碍。
真正做到以用户为中心,就要先放弃沉淀在脑子里的经验和想象,到客户工作的地方去、观察记录客户如何工作、然后与客户谈论他们的工作。
在团队拓展训练中有一项叫做"盲人方阵"的课程,可以想象一群什么也看不见的人如何把一根长绳子拉成正方形景象吗?目中无人的人会懂得倾听和服从吗?我们不能假设用户到底是个健全人还是盲人,也不能假想用户应该会怎么做不该会怎么做,只有去仔细观察和沟通,才能制定出真正符合用户需要的计划。
有专家提出:开发人员应决定用户的组成,并让用户尽可能早地涉入,并提出了几种熟悉用户、他们的任务以及需求的方法:
* 与用户交谈
* 到办公地点拜访用户
* 观察用户工作
* 将用户工作录像
* 了解工作组织
* 自我尝试
* 使用户在工作时边想边说
* 让用户参与设计
* 在设计小组中包括专家级用户
* 执行任务分析
* 利用调查和问卷
* 制定可测试的目标
在有可能的情况,在需求和流程设计中努力做到精确、客观和细致,不但能保证系统开发的质量和成熟度,也会使你得到客户高度的满意和信任,为今后更多的业务合作敞开大门。
五. 制作设计计划书
到了这个阶段,可以说掌握了客户的需求并对计划实施的系统开发有了清楚地认识,与客户之间达成了共识,那么在进入下个阶段的工作时,制作设计计划书是非常必要的。
设计计划书是全面描述整个系统的全貌,作为系统分析、测试人员工作的基础,同时也是客户验收的标准,作为业务合同的内容之一,因此,应该仔细谨慎地撰写设计计划书。
根据项目的不同,设计计划书的内容或许有所不同,以下笔者提供一份样本供大家参考,该份样本基本涵盖了需要在计划书中进行确认和描述的核心要素。
--------------------------------------------- --------------------------
<项目名称>
项目计划书
版本<x.x>
历史修订纪录
---------------------------------------------------
日期 | 版本 | 说明 | 作者 |
---------------------------------------------------
y/m/d| <x.x> | 修订情况 | <姓名> |
---------------------------------------------------
| | | |
---------------------------------------------------
| | | |
---------------------------------------------------
| | | |
---------------------------------------------------
目录
1。项目概况
1。1 客户资料
1。2 项目背景
1。3 项目前景
2。需求分析
2。1用户脚色
2。2关键技术
2。3网站结构
2。4形象定位
3。总体方案
3。1系统框架
3。2拓扑结构
3。3部署计划
4 配置及报价
4。1网络环境
4。2硬件配置
4。3软件配置
4。4其他配置
5。实施步骤及周期
6。系统功能祥述
7。技术保障及支持
8。升级培训及服务
9。关于我司
10。联络方式
11。附件列表
11。1项目模型文档
11。2业务流程分析文档
11。3用户界面设计图
12。版权声明
--------------------------------------------------------------------
六. 总结
在本阶段的工作过程中,核心的任务是通过上个阶段的需求分析,进行项目模型设计和业务流程分析,并制作用户界面原型得到用户的确认,最终完成双方认可的《设计计划书》,作为下一阶段系统设计和软件建模的依据。
如何高质量地完成业务流程分析阶段的工作,笔者总结的经验如下:
* 真正以用户为中心的设计,到客户的实际工作环境中观察和记录;
* 仔细查找各种业务主角,并表述不同主角的各种操作流程步骤;
* 简化需求,将客户的需求归纳整理,抓住核心问题;
* 细化需求,针对核心问题,模拟用户角色,进一步确认流程和规范;
* 认真制定设计计划书,为下阶段的工作打好基础。
boost库安装和使用
linux下Redis以及c++操作
Redis 客户端安装与远程连接图解
Redis 安装和配置
terminate called after throwing an instance of 'std::out_of_range' what(): basic_string::substr
C++ STL std::wstring_convert处理UTF8
C++正确的cin输入
分词之最短编辑距离算法实现(包括中文)
unicode和utf-8互转