[互联网]传统软件开发人员如何进行互联网?

来源:百度文库 编辑:神马文学网 时间:2024/04/20 03:08:31
『IT视界』 [互联网]传统软件开发人员如何进行互联网?
作者:itspace_求索 提交日期:2006-11-23 14:00:00
 互联网是一个基于TCP/IP协议集的分布式异构网络系统,面对的是大规模并发访问用户,服务器的高可用性、稳定性、高效的性能对网站访问带来重要影响。这与局域网的小规模用户访问有本质上的不同。传统软件行业里的开发人员,当你要转向互联网时,要做好什么准备呢?下面我从软件工程的角度来谈谈。
 一、需求阶段:在传统软件行业里,你可能需要走访项目客户,通过面对面、电话、邮件等方式与特定的用户交流获取用户需求,你可以通过与具体用户的接触,通过他的音容笑貌、言谈举止来感受到用户对哪些需求非常关注,哪些是紧急的需求;而在互联网行业里,面对的是不确定的大规模潜在用户,用户的行为是未知的或不可预测的,我们就需要针对特定的用户群从不可知不可预测的用户行为中去掌控和引导客户的行为。还有一个重要的问题在于,我们怎样去调研这些潜在客户的需求?我归纳一下可以从这几个方面去做:1)闭门造车:既然你已经确定做某个项目,本身也是了解到用户对此有一定的需求;2)向亲戚朋友同事做调查;3)研究潜在的竞争对手;4)网上调查;5)取得网络咨询公司如艾瑞们的支持。
 二、总体设计阶段:这个阶段对设计师或架构师来说非常重要,如何设计出一个高可靠性、高性能、保密性、安全性、可维护性的网站系统,对于网站的长期营运发展具有非常重要的意义。但是这些特性并不是可以完全满足的,有时你得在其间做出平衡,比如对高性能要求时,可以希望减少组件之间的通信,这意味着系统需要使用大粒度的组件,然而对系统可维护性的要求又要使用小粒度的组件,因此你必须选择一个折衷的方案。在实践上,如果系统对于性能要求比较高,如下载站,可能你需要做出一些可维护性的牺牲。如果对保密性要求比较高,你可能将系统的关键算法和关键数据访问部分放在内层进行严格保护。
 现在基于组件的架构大家用得比较多,如.NET和J2EE,还有目前比较流行的架构SOA也要掌握。面向服务的架构SOA是基于TCP/IP的服务架构,在该架构里最重要的就是三个协议或规范了:一个是提供服务的公司在描述服务时要用的WSDL;另一个是提供服务的公司发布服务和使用服务的公司查找服务时要遵循的UDDI规范;最后一个是使用服务的公司在使用服务时要调用的SOAP协议。SOA非常符合互联网分布式共享式的机制。
 三、详细设计阶段:这一个阶段与传统行业没有多大区别,主要是对算法的基本要求和对模块化设计的要求。但是这一个阶段涉及到的技术我要提一下,基于WEB技术所使用的几种主流语言大致有:ASP、ASP.NET、C#/JSP/PHP,当然还有HTML、JavaScript,XML等通用的语言。对网站开发人员来说,如果对一些TCP/IP协议集有一定的了解是最好的了,如对底层的P2P,P2SP,IP,UDP,TCP及HTTP,FTP等协议要有所了解。
 四、界面设计:这一个阶段对于互联网网站来说重要得多,怎样让网站的界面符合用户群的特征。现在也有很多相关技术如Ajax(CSS/Javascript/DIV),还有很多图片处理、动画处理的技术等都可以帮助网站设计者设计一个更人性化的界面。
 五、编码阶段:这一个阶段与传统软件行业也没有多大区别,在软件工程规范方面的要求都差不多,如模块化(可重用)、代码可读性(顶格、退格等)、代码可维护性(加注释)、出错处理等。
 六、测试阶段:这一个阶段与传统软件行业有所区别,因为网站面对的大规模并发用户,架设一个模拟的自动化测试环境非常重要。但是据我了解的网站,上线之前的测试都是内部的有限的人工测试及正式发布前的公测,这也难怪一个网站正式发布后出现的一些初级Bug了。当然这与测试成本也可能有关系。
 七、维护期:对于网站维护相对来说比较方便,升级也相对容易.但是要注意,升级时由于面对大量的用户,因此必须在保证用户访问的情况下进行,否则其损失是非常大的,可能带来用户的丢失及流量的下降.
最后我要说的是,由于互联网的资源太多,怎样让别人找到你的网站?你必须还得了解一些SEO的知识,研究一下搜索引擎对网站的偏好,这方面的知识在互联网里很多.总的来说,在前面告诉给大家的,是希望能够掌握的一些互联网技术基础知识.对于普通的技术人员来说,可能只需要了解其中部分的知识.但是对于一个网站策划人员来说,就必须从总体上把握网站的体系结构和技术体系,包括前期策划,设计与开发及升级.甚至还要在这些阶段把网站如何运营考虑进去.
当然,怎样营销你的网站,网站怎样生存下去,是网络营销人员的主要责任,但并不是与开发人员没有关系.用户一点小小的不良好的体验就是开发人员的责任,而有时一个小小功能可能带来的是大量的用户.