什么是Web设计-建设Web站点
作者:佚名 发布时间:2014-07-07 17:52:19
建立Web站点是很困难的。尽管一些核心技术如H T M L很容易掌握,但开发者仍会犯很多错误。这主要是由于开发者经验的欠缺,进程的混乱以及不现实的时间安排所导致的。因为时间的限制和缺乏经验,开发者经常走极端,不考虑后继步骤,而企图一步到位,直接实现。例如,一些Web专业人员直接从外观开始建设站点。用可视化设计工具试着做页面,然后才考虑下一步,结果造成设计的页面五彩斑斓,看起来就像精美的小册子。当今一些注重外观效果的站点经常完全用Macromedia Flash来开发,其效果就象播放一些电影片头却不介绍电影一样。这种做法除了能展示创造者外观设计方面的技艺外,对站点目标的实现全无帮助。对于那些著名的站点来说,这或许正是其意图,但对其他类型的站点又怎样呢?首先考虑外观效果的那些站点经常难以更新,除了令人眩目的效果外,没有什么主要的技术,缺乏功能,并且下载的速度极慢。很多人把这种站点称为小册子软件( b r o c h u r e w a r e )或片头软件( i n t r o w a r e ) ,这主要是因为这些站点的功能并不比那些小册子、娱乐软件或电影介绍丰富。这种站点的例子如图1 - 2所示。

当然,另一种极端的情况则是一开始就专注于实现技术,那些站点尽管采用的都是最新和最好的技术,但通常缺乏一种整体的设计。外观上看起来非常笨拙,界面也非常令人困惑。有时候这些站点又采取一种称为“圣诞树”的设计方式。一旦实现了基本功能,开发者就开始像用彩球或剪纸装饰圣诞树一样,竭尽所能用G I F图片去修饰页面,最终却徒劳无功。这种情况下,外观相对技术来说处于次要的地位。同样,在”外观第一”的情况下,技术被用来显示开发者的技艺而不是满足使用者的需要。过多地采用Java applet和插件,并要求浏览器支持最新版本的D H T M L、 X M L或C S S,这正是“技术第一”的标志。追求“技术第一”的站点企图采用独一无二的设计,使用最新版本的浏览器,常常缺乏对站点功能的支持。一个过分推崇技术的站点的例子见图1 - 3。

Web开发进程模型
技术和外观效果提供了Web金字塔的基础,两者密切相关,并与站点意图的实现直接相关。与其仓促实现后再发现问题,不如首先讨论站点的意图,再确定实现的方式。这种演绎的或者说”自顶而下”的Web开发方法很好理解。首先,考虑好站点的意图是非常重要的。在建设站点之前,应该认真理解站点设计中会遇到的问题以及要极力达到的目标。清晰的理解和定义目标能减少项目失败的风险,并有助于确定站点设计的合理性。在确定好站点的目标后,应创建好规范说明书,这个规范说明书记录了站点所有的需求,并认真考虑了用户的需求。接着应该产生站点的设计书。这些设计包括技术和外观的原型。一旦设计完成,就应该着手实现并测试。最后,站点的所有部分应该集成为一个整体并进一步测试。必须在以上过程完成后,才能发布。一旦用户开始反馈意见,就应该着手进行校正和修改。很多学科如软件工程已定义了与刚才所描述的进程极为相似的进程模型,其中最为著名的是瀑布模型,这个模型描述了从项目计划到最终发行与维护的整个软件生存周期。这个进程被分为几个阶段,从一般需求到具体实现等方面帮助指导设计。
图1 - 4是一个瀑布模型划分阶段的例子。

值得指出的是,对于各种进程模型中步骤的名称和数目来说,各个程序员采用的不尽相同。进一步说,基本瀑布模型并不是唯一的使用模型,还有其他一些模型,诸如修正瀑布( m o d i f i e d w a t e r f a l l )模型,螺旋( s p i r a l )模型,联合应用开发(joint application design, JAD)模型也得到使用。
一定要记住的是,进程模型的最终目的是帮助指导站点的开发。理想的Web进程模型会帮助开发者处理站点的复杂性,减小站点的失败风险,妥善处理项目中遇到的变化,提供管理中的反馈意见,以便迅速而容易地跟踪反馈信息。实际上对理想的Web模型的要求相当苛刻,尤其是考虑到大多数Web开发人员对正规的软件工程原理并不熟悉,而Web这个领域的出现甚至还不到1 0年。


猜你喜欢
- 因此计划先把数据转插入一个临时表,再对临时表的数据进行分析。 问题点是如何动态创建临时表。原先Insus.NET使用下面代码实现: 代码如下
- 前言为了满足用户渠道推广分析和用户账号绑定等场景的需要,公众平台提供了生成带参数二维码的接口。使用该接口可以获得多个带不同场景值的二维码,用
- 修改/etc/my.cnf或者/etc/mysql/my.cnf文件[client]default-character-set = utf8
- 我们都知道代码都是顺序执行的,也就是先执行第1条语句,然后是第2条、第3条……一直到最后一条语句
- 有了ORM,我们就可以把Web App需要的3个表用Model表示出来:import time, uuidfrom transwarp.db
- 当由where子句指定的搜索条件指向另一张表时,就需要使用子查询或嵌套查询。1 子查询子查询是一个嵌套在select、insert、upda
- 写在前面今天在用爬虫及Pandas更新股票日线数据的时候发现KeyError报错,后面跟了一个DataFrame列索引,一开始以为是索引修改
- 1.使用npm进行初始化在本地创建项目的文件夹名称,如 node_test,并在该文件夹下进行黑窗口执行初始化命令 2. 安装 e
- 初学者可能都会遇到一个小问题就是:在用IPython的时候,可以使用类似%matplotlib inline的Magic Function(
- Python列表List(列表) 是 Python 中使用最频繁的数据类型。列表可以完成大多数集合类的数据结构实现。它支持字符,数字,字符串
-   这篇博客讲的是SQL server的分页方法,用的SQL server 2012版本。下面都用pag
- 全局作用域下this;当在全局作用域中使用 this,它指向全局对象。这里详细介绍下全局对象:全局对象(Global object) 是在进
- 背景:我在爬虫处理某个文本时,用到了re.findall(),而不是re.compile。远在新加坡的同事提出了质疑,认为以我的水平,不应该
- 不止python,你可以利用任何语言那实现通过http请求来操作你自己的小程序云数据库了背景也是在最近吧,小程序更新了云开发 HTTP AP
- 前言yaml 文件是研发人员最常用的配置文件,yaml 文件的树形结构一直很受大家的欢迎。有过 SpringBoot 开发经验的同学对 ya
- 说明:使用mysqldump –all-databases会导出所有库。但如果做主从,从主库dump出数据时,我们是不需要也不想要infor
- 运行python程序时,有时需要在命令行传入一些参数。常见的方式是在执行时,在脚本名后直接追加空格分隔的参数列表(例如 python tes
- 1.paramiko概述ssh是一个协议,OpenSSH是其中一个开源实现,paramiko是Python的一个库,实现了SSHv2协议(底
- 智能聊天一、 概述我们将我们的qq聊天机器人的环境配置好后,其就可以开始接收消息啦!那么,我们除了可以接收特定的消息,是不是还需要接收那些不
- if (reValue== undefined){ alert("undefined"); } 发现判断不出来,最后查了