UML软件工程组织

网站项目管理
作者:张剑涛 发布时间: 2002-8-19 12:44:54
建设企业网站前的准备工作
7-05-2002 03:23


[摘要:这是一篇写的比较早的文章,现在正在写《企业网站建设手册》,会更系统论述网站建设的方法和步骤。 ]

作者:张剑涛

  互联网还不是一个完全成熟的生意场,且不说热闹的.com公司潮和电子商务热,现在已有很多个人和已经习惯利用互联网来搜索信息、沟通和交流,也有不少企业已经尝试或开展电子商务活动。企业上网的意义在这里不想太多的讨论,本文主要是想讨论一下企业在建设网站前应该准备的工作,就是如何去根据公司的需要进行企业网站的计划、定位等方面的前期准备工作。
  企业网站一般是指以企业自身的产品服务等为主要内容和服务对象的网站,根据不同需要,网站的功能会有很大的不同,有的纯粹是发布公司信息,有的还开展网上订货等商务活动,但基本上都是为企业自身服务而有别于.com公司网站和电子商务网站。

  一、明确建站目的
建设网站的目的对网站的计划和实施会有决定性的作用,所以在建设网站前就应重视起来。一般企业建站的目的主要有:
1、发布企业产品、服务信息
2、介绍企业历史、辉煌成就
3、收集客户反馈意见
4、网上市场调查
5、开展网络营销
6、网上客户服务
7、逐渐实施电子商务等

  笔者认为企业建网站首先应该以营销为基本目的。与传统媒体相比,网站的营销作用有明显的时间、地域、互动和成本优势,网站发布产品和服务信息的主要目的还是营销宣传。网站的客户服务功能有不少企业不太重视,笔者在给企业建设网站中很注重这方面的作用,因为服务好已有客户对企业来说是很重要的工作,利用网站可以省去很多时间和费用,同时能够对客户的意见作出快速回应。要正确认识网站的作用,不要过于轻视网站的建设,要避免为了应付上网和“老板型”的网站。
  随着互联网的工具性越来越突出,这种工具的普遍应用会促进网上交易及电子商务的实施,因此在条件允许的情况下也应该考虑电子商务的可扩展性。

二、制定网站建设计划
  大部分的企业建站缺少计划,计划主要是安排和协调企业相关部门共同去建设网站,网站建设不是某个人或某个部门的事情。应该对企业的各个部门应该负责的事务进行统筹安排,计划的主要内容包括:网站建设的时间安排、内容的收集整理、根据建站目的确定网站的功能、网页设计是由企业自己做还是进行委托、网站测试发布、网站推广、费用预算等。

三、企业资源整合
  要避免“网站八股”式的网站内容:领导致词、公司简介、业务范围等非常简单的信息。网站的信息量越少其能够发挥的作用就越小,因此网站内容要要尽量丰富,最好对企业的资源进行整合分析,针对需要和市场情况对内容进行整理。笔者的曾遇到有企业不愿意将自己的最新产品上网的事,主要是怕别人模仿和抄袭,实际上如果你的产品能在市场上起领导作用,就应该自信自己能不断超越现在。也有企业不知道如何安排网站内容,企业可以把网站作为一个推销员,在面对客户时他应该说些什么?什么内容对客户有说服力?

四、网站建设方法
  是自建还是委托专业制作公司代理制作。因为条件限制,中小企业建设网站一般选择委托专业公司代理制作,这样可以省去招聘专业网站设计制作人员等费用。但在选择代理公司时要认真考察,毕竟网页设计等属于较专业的事,要尽可能的多了解代理公司的设计制作能力和信誉。需要注意的是:
1、域名注册
  域名可以说是企业的“网上商标”,所以域名的选择上要与注册商标相符合,以便容易记忆。在域名注册时也要注意,现在有不少域名注册服务商在注册国际域名时,将域名的管理联系人等项目改为自己的公司的信息,那么这个域名实际上并不为你所有。
2、虚拟主机
  虚拟主机是网页的存放空间,虚拟主机的优劣和稳定性直接影响网站访问速度,不要使用太过便宜的主机,空间适量即可,主要考察标准是带宽、主机配置、CGI权限、数据库、服务和技术支持。
3、网页设计(程序开发)
  网页设计要和公司的企业形象识别(VI)相符合,主要是根据建设网站的目的和功能,计划一下需要什么样的风格、是否需要安装程序,如论坛、社区、留言薄(反馈表单)等。

五、正式网站规划书
  在上述工作基本做好后应该写出正式的网站规划书,网站规划书可以保证网站建设顺利进行,作为网站建设管理监督的参考,同时可以提交给专业制作公司,以指导网站的设计。如何写作可以参考作者的“网站策划书写作”一文。

  现在我国企业网站的质量普遍不太高,很多网站内容简单,长时间不更新。而在网站建设中有不少企业不注重对建站前的准备工作,结果网站建成后总有不满意的地方修改不断,这样会耗费很多人力和资金。建议企业在建设网站前要充分重视起网站建设,网站不单单是“网上形象工程”,从网站中也可体现出公司的工作作风等,更重要的是在网站建成后要充分利用网站进行网上营销,才能更大的限度地发挥网站的作用。

(网络制造原创作品,不经作者书面许可,任何单位和个人不得私自转载)

===================================================================

网站规划书写作
7-05-2002 04:01


[摘要:网站规划是网站建设必须的一步,本文提供了一个写作提纲。 ]


作者 张剑涛

  一个网站的成功与否与建站前的网站规划有着极为重要的关系。在建立网站前应明确建设网站的目的,确定网站的功能,确定网站规模、投入费用,进行必要的市场分析等。只有详细的规划,才能避免在网站建设中出现的很多问题,使网站建设能顺利进行。

  网站规划是指在网站建设前对市场进行分析、确定网站的目的和功能,并根据需要对网站建设中的技术、内容、费用、测试、维护等做出规划。网站规划对网站建设起到计划和指导的作用,对网站的内容和维护起到定位作用。

   网站规划书出应该尽可能涵盖网站规划中的各个方面,网站规划书的写作要科学、认真、实事求是。

   网站规划书包含的内容如下:

一、建设网站前的市场分析

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编程技术手段多样,容易上手,设计人员参差不齐;
从现实中来看,网站项目的开发与管理和实施远不如软件工程规范,在编程语言、数据库、通信协议、应用服务器等相关环境都在不断快速发展和完善的情况下,的确很难期望每一个设计师都能网站项目进行系统的合理的分析,从而制定一套跨平台、健壮的、易扩展和升级的系统方案。
但是,这并不能成为系统分析员逃避或懈怠的借口,如果把一个系统比做一部汽车,系统分析的工作相当于设计发动机,也许很容易就想像的出用125cc的摩托车发动机去牵引10吨重载卡车会是一个什么样的后果。
在系统分析的过程中需要对需求分析进行进一步的深化和分析,通常客户及业务人员在需求分析和流程分析的过程中比较注重功能上的表现和定义,即使是做出正规的用户界面原型,对系统的需求也是不完整的,处于非技术人员的缘故,很难苛求能提出完整清晰专业的性能需求,但不意味着这需求不存在,而且这隐藏的需求对编码人员来说是极其重要的。
因此,客户的需求能否在系统中得到真正的体现和实施,系统分析是至关重要的。

二:系统分析所要做的工作:
把系统分析和详细设计阶段分开,针对不同项目的具体情况再决定采用什么方式进行开发。
那么在系统分析过程中重点要做的是:
? 对客户的需求分析进一步完善和补充,尤其是性能需求:让客户更加清楚这是一个什么样的系统,所要达到的功能和性能指标是什么,系统的扩展性和适应性如何,如何为客户今后的升级或维护提供最有效的方法。
? 系统运行所需要的的环境:系统能正常运行所需要的硬件、软件、网络环境;
? 系统的资源说明:系统所需要的各种成本。包括人员、时间、工作环境、一次性投入资金、持续性投入资金等所有资源。
? 系统可行性分析;
对于系统分析员比较苦恼的是大多客户在系统的要求上提不出独立的或成熟的意见,而将烫山芋交给了系统分析员的手上,为了避免在系统论证方面难以把握的失控和无从下手,设计几种不同类型的方案供客户选择不失为一个好的方法:
“比如通常至少应该考虑下述几类可能的方案:
  1:低成本的解决方案
  系统只能完成最必要的工作,不能多做一点额外的工作。
  2:中等成本的解决方案 
  这样的系统不仅能够很好地完成预定的任务,使用起来很方便,而且可能还具有用户没有具体指定的某些功能和特点。虽然用户没有提出这些具体要求,但是系统分析员根据自己的知识和经验断定,这些附加的能力在实践中将证明是很有价值的。
  3:高成本的"十全十美"的系统
  这样的系统具有用户可能希望有的所有功能和特点。系统分析员应该使用系统流程图或其他工具描述每种可能的系统,估计每种方案的成本和效益,还应该在充分权衡各种方案的利弊的基础上,推荐一个较好的系统(最佳方案),并且制定实现所推荐的系统的详细计划。如果用户接受分析员推荐的系统,则可以着手完成本阶段的另一项主要工作。”(引用《如何写系统分析书》一文)
经过系统分析的阶段,我们就比较容易和客户在系统如何部署、采用的数据库类型、设计模型和分析模型等方面达成一致的认识,如果能顺利地将客户的需求业务逻辑分析转化为程序逻辑,把原先用户可视化的界面原型和业务流程图映射成编码人员理解的模型和规范时,那么恭喜你,项目已经成功了一半。

三:系统分析的难点和技能要求:
网络应用的开发技术在日新月异地进步,从而使网站应用系统的开发模式具有多种选择性,达到同样的目标可以采用很多不同的方式,现代的应用系统越来越成为一个庞大的集成方案,需要考虑不同的操作平台、不同的应用服务器、不同的数据库、不同的编程语言、不同的传输介质等等,无疑对系统分析员来说是个严峻的考验,任何人都不可能精通甚至说掌握全部的技术,简单例子:现在有Windows,Unix,Linux等各种服务器操作平台,有SQL Server,Oracle,DB2,Sybase,MySQL等数据库,有JAVA,PHP,ASP,CGI,JSP,C++,VB,Delphi等等工具,谁能全部精通呢?如果不能,那么如何确定是Windows+SQL Server+ASP好还是Unix+Oracle+JAVA合适?况且各种软件和语言还在不断发展进步之中,超越窄带的互联网,今后还可以涉及到宽带所带来的变动,或者增加与无线移动的接口,因此系统分析员能否出色的胜任工作很大程度上决定了系统开发的成败。
系统分析的主要难点在于:
? 对客户隐藏的性能需求的分析:由于客户对尚未实施的系统无法预见,对今后的业务发展也无法预知,对性能需求的分析和定义更需要系统分析员协助客户去确定和挖掘;
? 确定项目设计方法:根据项目需求和资源的配置选择最合适的设计方式。
? 对系统模块的划分和代码复用的设计:模块最大化,代码复用度最高,是一个成熟的系统不断致力追求的,将大型复杂的应用系统分解成相对独立,具有高度复用的模块,各个模块之间采用规范的参数接口,将大大提高系统的开发效率和维护升级的方便性。即使在网站的模版设计或交互设计上,也尽可能采用嵌套可复用的模版或调用统一的样式表、JS文件等。
? 项目整体评估:系统分析员绝不应成为孤立的完美主义者,而需要根据项目的大局出发,比如公司的资源配置、人力状况、客户要求等因素评估项目整体和各个模块的工作量、进度和分配资源,制定出最合理的可行的实施方案。
系统分析员不但需要具备良好的沟通协调能力,更需要具备业务和技术领域两方面的专业技能,在项目小组中是非常关键的角色之一。

四:软件建模使系统开发迈向成熟
Web应用系统往往随着客户的需求增长,开发不断深入,最终变得非常复杂,而且以Web为核心的网站系统通常都具有高度的动态扩展和交互,要在不完整和不断改变的需求情况下,在有限的时间内完成一套容易修改和维护的健壮的系统,在UML(统一建模语言)出现之前是极其困难的。
大多的Web设计师或程序开发员为了让客户尽快看到可运行的应用系统,经过界面设计或简单的系统分析后直接进入编码阶段,甚至各个模块分头开发,服务器段代码随意编写、数据库任意添加、参数定义没有规范,整个应用系统处于一种无序混乱的状态,当我们采用建模及按照软件工程的方式进行管理的时候,情况马上就会好的多。
什么是建模?
? 建模是使你逐层深入解决问题的办法;
? 确认应用系统的功能需求并为事务处理原则建模;
? 对抽象的对象映射需求,辨认和提供设计模版并创建惯用的模版;
? 分辨和设计对象或划分三层模型的服务;
? 对软件的组成部分映射成对象并设计组件在网络上如何分布;
UML(Unified Modeling Language,统一建模语言)是一种通用的可视化建模语言,用于对软件进行描述、可视化处理、构造和建立软件系统的文档。UML适用于各种软件开发方法、软件生命周期的各个阶段、各种应用领域以及各种开发工具,同样,在网站设计或以网站为表现形式的各种网络应用项目中,UML也表现出强大的作用。UML能够描述系统的静态结构和动态行为:静态结构定义了系统中重要对象的属性和操作以及这些对象之间的相互关系;动态行为定义了对象的时间特性和对象为完成目标任务而相互进行通信的机制。UML不是一种程序设计语言,但我们可以用代码生成器将UML模型转换为多种程序设计语言代码,或使用反向生成器工具将程序源代码转换为UML模型。
我们可以看的出,建模并不等同于程序编码,利用同样的UML模型可以生成不同语言的框架代码,而且可以通过反向生成,在编写代码过程中及时更新UML模型,这对系统分析员和项目管理人员来说是梦寐以求的。只要能够仔细地把握客户的需求,不断改进UML模型,那么采用什么样的语言开发已经成了次要,大量的需求积累和分析工作能在客户需求变化时得到高度的复用,即使系统采用新的语言重新开发,需要的也仅仅是编码部分的工作。
虽然软件建模可以在开发的任何阶段进入,但是在设计初期,应该将精力更加集中在系统功能及性能分析、系统运行环境、选择编程语言等,而不是考虑考虑程序的细节,如在屏幕上的什么位置放置按钮等。在项目开发的中期引入建模是非常有意义的,通过建模把握程序开发的方向,准确完成需求分析中所要求的任务。
在高展先生的《全程建模》一文中阐述的“全程镜像一体化建模方式“,整个建模过程依靠业务驱动,在模型设计中利用盒子的上下两部分分别代表业务组织结构和软件逻辑结构,将客户可视的具体的需求与系统抽象的逻辑流程一一对应,这对缺乏技术背景的客户代表和经验不足的系统分析员之间的沟通具有明显有效的作用。

五:总结
系统分析是项目开发中最艰巨的工作,本阶段需要特别注意的工作重点在于:
? 补充完善上一阶段可能欠缺的系统的性能需求;
? 系统分析员需要站在全局出发,设计合理可行的设计方案;
? 在需求不明的情况下设计多种解决方案供客户选择,
? 将系统分解模块,最大限度地设计代码复用;
? 使用UML建模方式,将客户变化的需求映射到模型中,大大提高系统的扩展性和开发效率


网站工程的管理与规范
来源: chinabyte 作者:
导读
  随着网络的发展,网站建设和制作已初步形成一个行业,本文尝试就这个行业的管理和规范提出网站工程的概念,并系统介绍了整个网站建设的过程以及过程中的问题的解决办法。纯属作者自己的见解和经验,供广大网站设计制作人员,网站系统分析员和项目经理借鉴。
--------------------------------------------------------------------------

   随着互联网的发展,网站制作作为一个行业已经悄悄的兴起,越来越多的网站制作任务需要网页制作公司完成,越来越多的问题出现在网站制作的过程中。例如:不能按期完成制作,不能使客户满意,费用超出预算等等。仔细分析原因,发现大部分失败的原因有以下几点:

   a.忽视客户的不断变化的需求;

   b.没有保留历史文档作决策参考;

   c.忽视监督项目进度;

   d.忽视不断的测试和修改;

   e.没有使用专业的项目管理软件,靠主观决策。

   问题发现了,有没有一个好的解决办法可以减少失误,控制和管理网站制作呢?

   网站开发制作是一个很复杂的工作,可以将它看做一个项目来管理。作者参考了国际国内有关项目管理的资料,发现软件工程的管理方法和规范与网站建设项目最接近,因此我们在仔细研究软件工程后,针对网站建设的特点和重点,整理出一套网站建设管理和控制的方法,定名为网站工程(WebSite Project简称WP )。

   网站工程

   什么是网站工程,简单的说就是网站项目的管理和控制方法;是一种特殊的,标准的操作程序。建立网站工程的目的在于保证网站建设的高效率,高质量,低风险。

   网站工程标准的实行,不但使客户得益,更使得网站制作行业趋向规范化,它将对行业相关的每个人都有益,包括项目经理,网页设计师,程序员和编辑。

   下面,就按照一个项目从洽谈到提交完成的顺序来介绍:
   1.项目立项/客户的需求说明书

   1.1.项目立项

   我们接到客户的业务咨询,经过双方不断的接洽和了解,并通过基本的可行性讨论够,初步达成制作协议,这时就需要将项目立项。较好的做法是成立一个专门的项目小组,小组成员包括:项目经理,网页设计,程序员,测试员,编辑/文档等必须人员。项目实行项目经理制。

   1.2.客户的需求说明书

   第一步是需要客户提供一个完整的需求说明。很多客户对自己的需求并不是很清楚,需要您不断引导和帮助分析。曾经有一次,我问客户:“您做网站的目的是什么?”他回答:“没有目的,只是因为别人都有,我没有!”。这样的客户就需要耐心说明,仔细分析,挖掘出他潜在的,真正的需求。

   配合客户写一份详细的,完整的需求说明会花很多时间,但这样做是值得的,而且一定要让客户满意,签字认可。把好这一关,可以杜绝很多因为需求不明或理解偏差造成的失误和项目失败。糟糕的需求说明不可能有高质量的网站。那么需求说明书要达到怎样的标准呢?简单说,包含下面几点:

   a.正确性:每个功能必须清楚描写交付的功能;

   b.可行性:确保在当前的开发能力和系统环境下可以实现每个需求;

   c.必要性:功能是否必须交付,是否可以推迟实现,是否可以在削减开支情况发生时"砍"掉;

   d.简明性:不要使用专业的网络术语;

   e.检测性:如果开发完毕,客户可以根据需求检测。

   2.网站总体设计

   在拿到客户的需求说明后,并不是直接开始制作,而是需要对项目进行总体设计,详细设计,出一份网站建设方案给客户。总体设计是非常关键的一步。它主要确定:

   a.网站需要实现哪些功能;

   b.网站开发使用什么软件,在什么样的硬件环境;

   c.需要多少人,多少时间;

   d.需要遵循的规则和标准有哪些。

   同时需要写一份总体规划说明书,包括:

   a.网站的栏目和版块;

   b.网站的功能和相应的程序;

   c.网站的链接结构;

   d.如果有数据库,进行数据库的概念设计;

   e.网站的交互性和用户友好设计。

   在总体设计出来后,一般需要给客户一个网站建设方案。很多网页制作公司在接洽业务时就被客户要求提供方案。那时的方案一般比较笼统,而且在客户需求不是十分明确的情况下提交方案,往往和实际制作后的结果会有很大差异。所以应该尽量取得客户的理解,在明确需求并总体设计后提交方案,这样对双方都有益处。网站建设方案的包括以下几个部分:

   a.客户情况分析;

   b.网站需要实现的目的和目标;

   c.网站形象说明;

   d.网站的栏目版块和结构;

   e.网站内容的安排,相互链接关系;

   f.使用软件,硬件和技术分析说明;

   g.开发时间进度表;

   h.宣传推广方案;

   i.维护方案;

   j.制作费用;

   k.本公司简介:成功作品,技术,人才说明等。

   当您的方案通过客户的认可,那么恭喜你!您可以开始动手制作网站了。但还不是真正意义上的制作,你需要进行详细设计。

   附:国外网站的定价方法

   如何制定网站价格?对于那些小企业,价格开得太高,他们会吓跑,开的太低,自己得不到利润。由于行业竞争的无序性,国内现在的价格千奇百怪,有1000元制作整个商务网站的,也有2000元一页的快刀斩客。国外网页制作公司是如何指定网站制作价格的呢?

   首先是根据员工工资,各项费用,利润率来计算每小时工作成本,即:总价 = 工资 + 费用 + 利润

   举例说明:

   假设公司的月支付工资为5000元,费用为5000元,希望的利润率为20%,一月工作时间为22*8=176小时,根据调查,一般网页制作公司有20-40%时间为非工作时间。实际工作的时间为

   176*(1-25%)=132

   所以,每工作小时成本是:

   (5000+5000)*(1+20%) / 132 =90.90元

   当你了解了每小时工作成本,开价格就心里有数了。国外常见报价方法分三种:套餐法,时间法,项目评估法。

   套餐法:也称页面法,指定明确的页面数,图像数,链接数,功能等。这个办法最通用,但不是一个好办法,因为按照页面计价,解释很含糊 :(

   时间法:就是按照每小时成本计算。但是这种方法经常会遭到客户的质疑和拒绝,实行起来比较困难。

   项目评估法:将整个项目拆成一个一个小工作,评估工作的技能难度,计算完成时间,再根据每小时成本计价。

相关文章:浅论网站工程的管理与规范(下)


   网站详细设计

   总体设计阶段以比较抽象概括的方式提出了解决问题的办法。详细设计阶段的任务就是把解法具体化。详细设计主要是针对程序开发部分来说的。但这个阶段的不是真正编写程序,而是设计出程序的详细规格说明。这种规格说明的作用很类似于其他工程领域中工程师经常使用的工程蓝图,它们应该 包含必要的细节,例如:程序界面,表单,需要的数据等。程序员可以根据它们写出实际的程序代码。(这里不详细展开说明)

   1.整体形象设计

   在程序员进行详细设计的同时,网页设计师开始设计网站的整体形象和首页。

   整体形象设计包括标准字,Logo,标准色彩,广告语等。 首页设计包括版面,色彩,图像,动态效果,图标等风格设计,也包括banner,菜单,标题,版权等模块设计。首页一般设计1-3个不同风格,完成后,供客户选择。

   (整体形象设计这里简略带过,详细说明见 http://www.realsky.com 网页制作版《网站设计的思考》系列文章)

   记住:在客户确定首页风格之后,请客户签字认可。以后不得再对版面风格有大的变动,否则视为第二次设计。

   2.开发制作

   到这里,程序员和网页设计师同时进入全力开发阶段,需要提醒的是,测试人员需要随时测试网页与程序,发现Bug立刻记录并反馈修改。不要等到完全制作完毕再测试,这样会浪费大量的时间和精力。项目经理需要经常了解项目进度,协调和沟通程序员与网页设计师的工作。

   3.调试完善

   在网站初步完成后,上传到服务器,对网站进行全范围的测试。包括速度,兼容性,交互性,链接正确性,程序健壮性,超流量测试等,发现问题及时解决并记录下来。

   为什么要记录文档呢?其实本软件工程本身就是一个文档,是一个不断充实和完善的标准。通过不断的发现问题,解决问题,修改,补充文档,使这个标准越来越规范,越来越工业化。进而使得网站开发趋向规范,趋向合理。

   4.宣传推广

   宣传推广的基本方法有:

   a.网页里设置适当的META标签;

   b.各搜索引擎登录;

   c.准备新闻稿件在各新闻公告板发表;

   d.合理使用Email邮件列表;

   e.广告条交换;

   f.付费广告。

   至此,网站项目建设完毕,将有关网址,使用操作说明文档等提交客户验收。如果需要维护,另行签定维护项目。

   (附)维护

   网站成功推出后,长期的维护工作才刚刚开始,我们需要做到的是:

   a.及时响应客户反馈;例如可以采取Email自动回复功能,然后在1-3个工作日里解决问题,再次回复;

   b.网站流量统计分析和相应对策;

   c.尽量推广和使用您的网址;

   d.网站内容的及时更新和维护。

   1.网站目录规范

   目录建立的原则:以最少的层次提供最清晰简便的访问结构。

   a.根目录。根目录指DNS域名服务器指向的索引文件的存放目录。根目录只允许存放index.html和main.html文件,以及其他必须的系统文件;

   b.每个语言版本存放于独立的目录;

   c.每个主要功能(主菜单)建立一个相应的独立目录;

   d.当页面超过20页,每个目录下存放各自独立images目录.共用的图片放在根目录下的images目录下;

   e.所有的js文件存放在根目录下统一目录script;

   f.所有的CSS文件存放在各语言版本下的style目录

   g.所有的CGI程序存放在根目录并列目录cgi_bin目录

   2.文件命名规范

   文件命名的原则:以最少的字母达到最容易理解的意义。

   a.索引文件统一使用index.html文件名(小写)。index.html文件统一作为"桥页",不制作具体内容,仅仅作为跳转页和meta标签页。主内容页为main.htm;

   b.菜单图片名称按菜单名的英语翻译为名称。例如:

   关于我们 aboutus

   信息反馈 feedback

   产 品 product

   所有单英文单词文件名都必须为小写,所有组合英文单词文件名第二个起第一个字母大写;

   c.所有文件名字母间连线都为下划线

   d.图片命名原则以图片英语字母为名。大小原则写同上。

   e.js的命名原则以功能的英语单词为名。例如:广告条的js文件名为:ad.js

   f.所有的CGI文件后缀为.cgi。

   3.链接结构规范

   链接结构的原则:用最少的链接,使得浏览最有效率。

   首页和一级页面之间用星状链接结构,一级和二级页面之间用树状链接结构。超过三级页面,在页面顶部设置导航条。

   4.尺寸规范

   a.页面标准按800*600分辨率制作,实际尺寸为778*434px

   b.每个标准页面为A4幅面大小,即8.5X11英寸

   c.大banner为468*60px,小banner为88*31px

   head区是指首页HTML代码的< head>和< /head>之间的内容。

   必须加入的标签:

   a.公司版权注释

   < !--- The site is designed by Maketown,Inc 06/2000 --->

   b.网页显示字符集

   简体中文:< META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=gb2312">

   繁体中文:< META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=BIG5">

   英 语:< META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">

   c.网页制作者信息

   < META name="author" content="webmaster@maketown.com">

   d.网站简介

   < META NAME="DESCRIPTION" CONTENT="xxxxxxxxxxxxxxxxxxxxxxxxxx">

   e.搜索关键字

   < META NAME="keywords" CONTENT="xxxx,xxxx,xxx,xxxxx,xxxx,">

   f.网页的css规范

   < LINK href="style/style.css" rel="stylesheet" type="text/css">

   g.网页标题

   < title>xxxxxxxxxxxxxxxxxx< /title>

   写在最后

   以上仅仅是阿捷自己的经验和心得总结,而且偏重了设计方面。网站工程是一个复杂和全面的规范,还有许多方面和细节需要不断完善和规范,比如:网站工程的风险控制,网站项目的质量管理和人员考核,项目的分解和分配,网站的营销策划等等。希望通过这里的抛砖引玉,吸引更多的网站项目管理者来参与讨论,贡献自己的经验和见解,使我们的行业更加成熟,更加规范。


基于Internet的软件工程策略
来源: CoSoft 作者: Yao Zheng
  Internet的发展和应用正在不断超越人们的想象,融入社会生活的各个角落,将对各行各业产生深远的、不可逆转的影响。针对软件产业而言,Internet时代对于软件开发进度提出不断增长的挑战性要求,并产生了许多新思想和新观念,对原有的一些传统软件工程理念带来了冲击,Linux的成功开发实践、开放源码思想的不断普及、大教堂和市集型开发模式的碰撞等都是最直接的体现。显然,如何使得软件企业能够从容面对时代的变迁,把握Internet所带来的机遇和挑战,具有重要意义。
  近年来,开放源码思想在国际上越来越受到人们的重视,在这个思想下已经成功开发了一系列著名软件,比如Linux就是其中典型代表。开放源码思想与Internet有着内在的天然联系,通过二者的有机结合能够将许多人的智力集聚到一起,反映了一种新的软件开发思路,本节试图探究其成功经验。


  相对传统软件工程而言,开放源码社区似乎没有准备接受或实践现代软件工程过程,但他们的确在开发适用于特定用户团体的软件,这些软件通常是极具价值的、可靠的、被广泛接受的和高可用的。那么,究竟什么样的开发过程正在开放源码社区中被常规应用和实践呢?一项研究表明,有五种软件开发过程在开放源码社区得到广泛应用:
  1) 需求分析和说明
  2) 受控的版本管理、系统构建和按阶段的增量发布
  3) 维护被看作是演进式开发、重新精练细化和重新发行
  4) 项目管理
  5) 软件技术转移


  以上每个过程都与传统软件工程规定体现出不同之处,而且没有哪个过程应被独立构造或凌驾于其他过程之上。更进一步,这些过程相互之间通常是并行开展的,而不象传统软件生命周期模型中那样严格的或部分的按序进行,开放源码软件开发从本质上讲是一种复杂的由社会-技术过程、开发条件和动态产生的开发上下文所组成的网络,以Internet为基础支撑平台,并随着Internet的发展而不断完善。


  对于许多开放源码项目而言,开发人员对于是否遵循了某种规定的软件工程方法和过程并不关心,有些项目甚至没有特定的用户和发布截止期限,但是诸如“经常发布”、“简化设计”、“测试”、“编码标准”、“集体参与”等基本原理却被本能地执行着。


  对于开放源码软件协同开发原理的经典论述来自开源社区领袖之一的Eric Redmond的《大教堂与市集》一文,在该文中作者形象地将传统的严格管理的软件开发活动比喻为构筑大教堂的行为,而将分布于Internet之上的开放源码社区的协同开发活动则看作是市集行为,作者根据亲身经历系统地论述了市集型开发的基本方法和哲学问题,阐释了开放源码社区成功的内在原因,对于传统软件开发不无借鉴之处,比如“早发布、常发布、听取用户的建议”、“把用户当做协作开发者和Beta测试人员”、“聪明的数据结构和笨拙的代码要比相反的搭配工作的更好”、“最好的设计不是再也没有什么东西可以添加了,而是再也没有什么东西可以去掉”、“好程序员知道该写什么,伟大的程序员知道该重写(和重用)什么”等等。


  目前,人们对于基于开放源码的Internet协同开发实践还缺乏深入研究和理解,但是已经得到越来越多的软件工程人士的关注,并取得一定的研究成果。一个软件工程研究小组在过去5年中深入研究了几个大型的开放源码系统的体系结构和进化过程,包括Linux、GCC、VIM、Mozilla和Apache,发现他们与类似的商业系统之间表现出令人感兴趣的不同之处,比如,开放源码软件的体系结构通常是可浏览的以允许开发人员进行交互,对于那些可能阻碍程序理解(因为程序员通常是分布在Internet上各个角落互相独立的工作)的体系结构部分进行特殊声明;从同类的开放源码软件如Web服务器中可以提取其共性的参考体系结构,而在商业软件公司中却难以通过Web服务器体系结构获得几种不同的实现;开放源码软件的体系结构和开发模式是导致其超线性增长的主要因素,并且被尽可能设计的易于移植,其发行版通常不是针对特定平台,而是将各种平台的共性抽象到一个发行版中,通过配置工具来帮助构建系统。


  另外,针对如何借鉴开放源码项目的经验用于指导商业软件项目也有相关研究成果,该项研究表明,尽管完全利用开放源码开发模式来代替传统商业软件开发模式目前看来还不太可能,但无疑可以相互借鉴经验教训而获得收益。研究人员认为,一些可供商业软件项目借鉴的开源项目经验包括:


  人员组织——开源项目通常由很少的核心成员完成多数开发和升级任务,这一点与商业软件开发类似,但差别在于这些任务是如何在核心小组内分配的。开源项目通常是自发形成,职责的分配是基于对开发人员如何看待他们在项目中的角色的推理而确定,并不是硬性指派产生,这一点无疑对于商业软件的管理具有借鉴意义。


  非正式交流——在Internet协同开发活动中非正式交流对于项目成员间的协调极其重要,邮件列表、论坛等是常用工具,无论开发人员在文化、地域和时区方面是否存在差异。商业软件应借鉴这种做法,而不必拘泥于严格的、形式化的交流渠道。


  增强的用户支持——许多用户都同意这种观点,即多数商业软件公司在进入售后支持阶段时就可能面临悲惨的失败命运。而开源项目的用户支持工作却有良好成绩,因为大量的用户愿意提供关于开源产品的反馈信息。因此,商业软件项目应增强用户之间、用户与开发者之间的交互,从而获得改进的售后支持以及更有意义的错误报告。


  显然,随着人们对于基于开放源码的Internet协同开发模式的不断研究和深入理解,必将对未来的软件工程实践产生极其深远的影响。以下按照传统软件工程领域的常规做法,对于开放源码软件的协同开发活动总结出所谓“最佳实践”,以增进读者的感性认识:


(一)技术交流


  软件开发人员需要花费大量时间用于相互之间的通讯交流,清晰和高效的技术交流对于维持团队间的同步和允许掌握关键知识的个人在需要时利用其知识都是必需的。开放源码社区的一个基本原则是技术交流应当在公共论坛中进行,邮件列表是开放源码交流的基石。不仅如此,开放源码项目需要在精确交流技术细节和小组决策方面得到支持


(二)版本控制、文档管理和发行


  任何软件开发项目都需要版本控制,开放源码项目在这方面更是需要强大灵活的支持,以使得许多并行的开发人员可以同时工作在相互重叠的文件集上。开放源码项目也需要设计文档、技术文档和用户文档方面的标准模板,并需要一个良好组织的Web站点来发行这些文档。但是,开放源码项目的本质要求这些文件可供全世界访问,同时日常管理成本则被最小化,维护工作被分配给整个开发社区中的成员。


(三)质量保证


  开放源码软件产品取得令人瞩目的质量水平,这一点在封闭源码开发世界被认为是最困难和最耗费资源的软件开发工作之一。开源软件取得高质量的原因主要包括以下三方面:(1)开发人员是根据自己在相关应用领域的兴趣和知识来自我选择的;(2)开发人员对于项目需求心照不宣,因为他们自己就是软件的用户;(3)技术交流(包括错误报告)是公开进行的。此外,调试工作也由于被分解到许多具有不同知识背景的人手中而更高效。


(四)构建和测试管理


  开源项目的开发活动是在许多开发人员中发生的连续和并行的行为,有时某个开发人员的更改可能与其他开发者进行的更改发生冲突,通常情况下版本控制活动能够解决这些冲突,但是有时却不行。那些被开发用来支持软件经常自动构建和测试的工具成为帮助尽早发现这类逻辑冲突的强大工具。


(五)项目管理


  任何项目都需要明确的目标、资源配置和进度安排,开源社区采取独特的、灵活的方式来解决这类问题——共享的“TO-DO”列表用于跟踪那些需要完成的任务,个人的“TO-DO”列表帮助开发人员保持进度,里程碑列表则基于用户和开发者的反馈设置了灵活截止期限。


(六)知识管理


  知识是区分开发高手和初学者的最具价值的资源,高效地共享知识则是开源社区成功的关键所在。清晰地管理知识可以帮助减少初学者的学习曲线,从而降低潜在贡献者的入门壁垒,同时自动地将专家用于培训他人的负担降至最低限度。


详细的文档及模板下载



版权所有:UML软件工程组织