这篇文章,更严格讲应该是一个提纲,是我在对企业技术人员进行培训时的讲座提纲。主要是我在过去四年里在基于互联网的软件开发、网站建设以及相关的项目管理方面的一些经验基础上不断发展起来的。包括了在国外和国内很多具体项目的经历。仍然有很多需要完善和改进的地方。
互联网应用
很高兴能看到阿捷的“网站工程浅谈”,在交流中,阿捷强力向编辑推荐我所谈的一些内容。感谢阿捷和编辑!
在互联网应用日益发展,规模和复杂度日益加深的今天,我非常同意阿捷的观点:应该开始重视工程和项目管理的知识和规范。很愿意与更多的朋友进行更多的交流,共同提高,共同发展。
关于“怎样协调不同人员工作保证质量”的问题,我个人的观点和我们在实际中所使用的主要是从两个方面进行,即项目开发流程和在此基础上的项目管理,项目管理中主要采用了项目站点(project site)的方法,实际上就是一个使用互联网的项目管理工具。我在后面附上相关的一些信息。更具体的则需要更多时间整理。
关于另外一个问题“关于客户需求怎样才能有控制的满足”我觉得更好的方法是采用案例分析的方法来讲,因为肯定不同的公司有很多成功和可以借鉴的方法。
这里附上我关于web engineering的报告的一部分slides内容,希望能有用。这里选择了两个报告
(1)互联网应用及其主要软件模型
(2)互联网应用开发项目管理
网站,在我的理解中,是互联网应用的用户界面。
== 互联网应用及其主要软件模型
什么是互联网应用(1)
概括讲,互联网应用是一切使用互联网环境或媒介提供某种服务或
实现某种功能的系统。
严格讲,根据互联网的特点充分发挥其作用的在互联网环境中运行的系统。
有两种互联网应用:web-enabled和web-based.
互联网环境具有交互性、即时性、开放性、分布性等特点。
互联网应用如果使用传统的软件开发方法进行开发,很容易产生问题。最重要的问题有两个:开发与维护期界限模糊、不能充分发挥互联网特性。
什么是互联网应用(2)
示例
信息管理系统。传统的信息管理系统都是基于典型的客户机/服务器结构。系统中只有不同的功能模块和有关数据库。可以将这样的系 统使用互联网技术实现,即基于浏览器/服务器结构的系统。这只能是称做web-enabled的系统。系统的设计和结构仍然是原来的。如果是根据互联网特点(交互、开放)进行设计,则是web-based应用。
什么是互联网应用(3)
示例
一个地区的招商引资项目管理系统 。传统的系统是基于普通数据库系统所建立的。对系统的管理必须要先集中再更新维护。通过互联网实现,可以使得项目承担人直接对数据库进行查询、更新和维护。是一个开放式的分布式应用系统。这其中对原来的数据库的结构并不需要改变,但对其使用则有很大的变化。”
互联网软件
互联网软件(1)
网上书店是不是互联网软件?
--如果仅仅是后台有一些数据库系统,前台有一些页面,不能严格讲是。但这样的书店也没有很大的作用。
--如果是帮助浏览者能够对书店的书籍进行方便的查找,甚至阅览,查找作者资料、阅读别人的评价,在线订购和交易,在线查找最新 进展等,则肯定是。
互联网软件(2)
办公室自动化系统可不可以成为互联网软件?
--可以。
--而且应该。
互联网软件(3)
互联网软件对软件行业的影响
--如同八十年代初个人机软件对大型机软件
--国外已经在过去三~四年中从互联网软件占新软件项目的30%上升到超过90%。
--很快的将来,互联网软件就是软件业的主体。
--例如,一个企业可以在互联网环境下建立办公自动化系统,对内衔接其MRP或ERP系统,对外衔接其电子商务平台和客户服务管理。
网站与软件
什么是网站?
--网站作为媒体。宣传作用。
--网站作为交流渠道。信息发布和采集。
--网站作为界面/窗口。企业或机构内部应用系统和外部应用系统的接口,互联网应用的界面。
网站发展的四个阶段。
--第一阶段:单纯页面,由超链接相连。
--第二阶段:页面仍然是主体,但具有一定的信息发布、数据采集和交互功能。
--第三阶段:页面系统和后台(服务器端)软件系统协同工作。
--第四阶段:后台软件系统为主体,控制前台页面做为界面。页面已经完全变成动态生成。
网站就是(互联网)软件
--所处的环境是互联网环境(基于相关规范)
--接受通过内部网或互联网浏览者发出的请求。通常以URL加参数表达。
--通过处理后产生结果,再生成合适的页面表达形式返回(通过互联网)
--个性化是一个重要需求。
--页面生成和数据处理是一个问题。
--访问者session管理和控制。
--安全性。
互联网对象模型
早期互联网发展中,对页面是作为一个经过格式化的文本看待的。通过地址存取一个页面文档。
随着互联网的发展,页面需要变成动态生成,需要对一个页面上不同的数据进行处理。有必要区别表达形式和数据格式。
对一个页面的访问,看做是对一个对象发出一个请求。
互联网对象模型的核心是从页面及其所表达的数据和(间接或直接)所具有的功能使用对象模型进行描述。
页面数据(对象数据)与表达形式(对象界面)的分离。
页面数据(对象数据)的处理(对象语义)的联系。
在过去的五年中,逐渐成熟了一个共同接受的互联网对象模型。
这一模型的关键点在于其数据表达的普遍性以及与页面表达的一致性。
最重要的发展是对XML语言和相关语言例如DTD,XMLSchema语言,XSL语言的标准化。
成百上千种基于XML标准的技术需要发展。
互联网软件工程
软件工程是使用科学的方法对软件系统的建设、维护和使用的可控制、质量可保证的一整套方法。
互联网工程具有与软件工程和其它工程领域一样的出发点,所不同的是其对象是互联网软件。
互联网软件与传统软件的不同导致了需要对软件工程方法进行改进。
分析和建立模型阶段
--与软件工程一样,需要对客户需求进行分析。
--所不同的是,其界面是网站形式。
--更为不同的是,其工作方式以及能够提供的服务具有更开放、交互性更强等方面的因素。
--尤其重要的是要与其它系统、机构和企业能够进行更方便的交流。数据交换的通用性。