论文部分内容阅读
一、背景
随着网络技术和Internet的迅速发展,人们越来越多接触到不同类型的基于Web的应用系统(以下称WebApp)。开发WebApp具有一定随意性,缺乏系统的方法、质量控制和保证过程.而且,随着基于Web的系统变得越来越复杂,传统软件工程方法和技术应用到基于Web的系统开发中,显得力不从心,因此,这些系统的开发、维护和管理需要新的方法,这些方法将有别于传统的软件工程方法。
正如软件危机的出现促使人们研究软件工程一样,为保证项目的开发进度和质量,人们不得不将注意力投入到研究如何规范的开发WebApp的方法上来。WebE就是用来创建高质量的WebApp的过程。但WebE不是软件工程的完全复制,而是借用了很多软件工程的基本概念和原理,其最终实现的目标同软件工程是相同的——研究用来指导人们开发计算机系统的一系列的规范化方法。
二、WebApp的特点和分类
早期的“Web站点”仅包含链接在一起的少量超文本文件,这些文件使用文本和有限的图标来表示信息。今天,WebApp已经逐渐发展成为成熟的计算工具,这些工具不仅可以为最终用户提供独立的功能,而且已经同公司数据库和业务应用集成在了一起。
WebApp中具有以下属性:⑴网络密集性、⑵无法预计的负载量、⑶可得性、⑷数据驱动、⑸内容敏感性、⑹持续演化、⑺即时性、⑻保密性
下面的应用类别是WebE工作中最常碰到的:
信息型、下载型、可定制型、交互型、用户输入型、面向事务型、面向服务型、门户型、数据库访问型、数据仓库型
三、Web工程的层次
软件工程是一种层次化的技术(如图1所示)。过程、方法和技术(工具)提供了WebE的分层方法,它在概念上与软件工程层次相同,一共四层:质量焦点层、WebE过程层、方法层、工具层。
1、质量焦点
任何工程方法(包括软件工程)必须以质量承诺为基础。因此,可以说支持软件工程的根基就在于对质量的关注。
2、WebE过程
软件工程的基础是过程层。WebE也不例外。过程定义了一组关键过程的框架,这些关键过程构成了软件项目的管理控制的基础,其中包括了技术方法的采用、工程产品(模型、文档、数据、报告、表格等)的产生、里程碑的监理、质量的保证及对变化的适当管理。
3、方法
WebE方法覆盖了一系列的任务:需求分析、设计、开发、测试和发布。WebE方法按以下方式分类:沟通方法、需求分析方法、设计方法、测试方法等。
4、工具
随着WebApp逐渐成熟及普遍,在过去的十年中,已经开发出大量的工具和技术。这些技术包括一组广泛的内容描述和建模语言、编程语言、基于构件的开发资源及分析工具等等。
四、WebE过程
Web工程过程活动贯穿Web生命周期,从应用概念的生成到开发、发布、不断的精化和升级系统.为了降低开发基于Web的应用系统的复杂性,,我们提出了一个Web工程过程模型,这个模型(1)包含变化;(2)采用小的开发团队构造系统;(3)强调使用短开发周期演化或增量开发;(4)鼓励独创性、开发团队的独立性、以及同WebApp的共利益者密切沟通;(5)可度量,使项目管理者可以评估正在进行中的项目的状态并跟踪潜在的风险。其结构如图2所示.
图1Web工程过程模型图
1、Web分析
根据Web特性和Web应用的特定需求,需要采用更为开放、灵活的需求分析方法.与传统软件过程的分析不同,Web分析阶段不但要分析Web系统本身的功能和性能,还要对可能的用户群体进行分析和调查.
2、Web设计
Web设计不但包括功能设计和性能设计,还要包括页面风格设计,包括页面的主色调、页面框架结构、文字颜色搭配、动画和图片的放置等.
3、Web开发
Web开发过程包括后台数据库程序的开发、页面程序的编写和所有网页的制作.在设计阶段决定的Web框架基础上,进行具体的页面设计和制作.把内容提供人员的内容连接到具体的页面.
4、Web测试
在Web工程过程中,基于Web系统的测试、确认和验收是一项重要而富有挑战性的工作.基于Web的应用系统的测试与传统的软件测试不同,不但需要检查和验证是否按照设计的要求运行,而且还要评价系统在不同用户的浏览器的显示是否合适.
5、Web发布
Web发布阶段主要是把开发完成,经过初步测试的Web应用系统传送到Web站点上,供用户浏览和使用.
6、Web更新、支持和管理
与传统的软件系统不同的是:Web系统是需要经常更新的.这种更新包括细微的变化到大规模的变化,可以是页面内容的刷新、也可以是整个页面结构框架的更新.我们可把经实践证明了的软件配置管理(SCM)的概念、原理和方法用到Web管理中.
五、小结
Web工程在我国的实践还处在初级阶段,其主要应用发生在个人静态主页和小型动态网站上,真正应用在基于Internet的软件系统中还属少数,但是,基于Web的系统和应用的影响无疑是计算史上一个最重要的事件。随着WebApp重要性的增长,规范化的Web工程方法会得到更新、更快地发展。
随着网络技术和Internet的迅速发展,人们越来越多接触到不同类型的基于Web的应用系统(以下称WebApp)。开发WebApp具有一定随意性,缺乏系统的方法、质量控制和保证过程.而且,随着基于Web的系统变得越来越复杂,传统软件工程方法和技术应用到基于Web的系统开发中,显得力不从心,因此,这些系统的开发、维护和管理需要新的方法,这些方法将有别于传统的软件工程方法。
正如软件危机的出现促使人们研究软件工程一样,为保证项目的开发进度和质量,人们不得不将注意力投入到研究如何规范的开发WebApp的方法上来。WebE就是用来创建高质量的WebApp的过程。但WebE不是软件工程的完全复制,而是借用了很多软件工程的基本概念和原理,其最终实现的目标同软件工程是相同的——研究用来指导人们开发计算机系统的一系列的规范化方法。
二、WebApp的特点和分类
早期的“Web站点”仅包含链接在一起的少量超文本文件,这些文件使用文本和有限的图标来表示信息。今天,WebApp已经逐渐发展成为成熟的计算工具,这些工具不仅可以为最终用户提供独立的功能,而且已经同公司数据库和业务应用集成在了一起。
WebApp中具有以下属性:⑴网络密集性、⑵无法预计的负载量、⑶可得性、⑷数据驱动、⑸内容敏感性、⑹持续演化、⑺即时性、⑻保密性
下面的应用类别是WebE工作中最常碰到的:
信息型、下载型、可定制型、交互型、用户输入型、面向事务型、面向服务型、门户型、数据库访问型、数据仓库型
三、Web工程的层次
软件工程是一种层次化的技术(如图1所示)。过程、方法和技术(工具)提供了WebE的分层方法,它在概念上与软件工程层次相同,一共四层:质量焦点层、WebE过程层、方法层、工具层。
1、质量焦点
任何工程方法(包括软件工程)必须以质量承诺为基础。因此,可以说支持软件工程的根基就在于对质量的关注。
2、WebE过程
软件工程的基础是过程层。WebE也不例外。过程定义了一组关键过程的框架,这些关键过程构成了软件项目的管理控制的基础,其中包括了技术方法的采用、工程产品(模型、文档、数据、报告、表格等)的产生、里程碑的监理、质量的保证及对变化的适当管理。
3、方法
WebE方法覆盖了一系列的任务:需求分析、设计、开发、测试和发布。WebE方法按以下方式分类:沟通方法、需求分析方法、设计方法、测试方法等。
4、工具
随着WebApp逐渐成熟及普遍,在过去的十年中,已经开发出大量的工具和技术。这些技术包括一组广泛的内容描述和建模语言、编程语言、基于构件的开发资源及分析工具等等。
四、WebE过程
Web工程过程活动贯穿Web生命周期,从应用概念的生成到开发、发布、不断的精化和升级系统.为了降低开发基于Web的应用系统的复杂性,,我们提出了一个Web工程过程模型,这个模型(1)包含变化;(2)采用小的开发团队构造系统;(3)强调使用短开发周期演化或增量开发;(4)鼓励独创性、开发团队的独立性、以及同WebApp的共利益者密切沟通;(5)可度量,使项目管理者可以评估正在进行中的项目的状态并跟踪潜在的风险。其结构如图2所示.
图1Web工程过程模型图
1、Web分析
根据Web特性和Web应用的特定需求,需要采用更为开放、灵活的需求分析方法.与传统软件过程的分析不同,Web分析阶段不但要分析Web系统本身的功能和性能,还要对可能的用户群体进行分析和调查.
2、Web设计
Web设计不但包括功能设计和性能设计,还要包括页面风格设计,包括页面的主色调、页面框架结构、文字颜色搭配、动画和图片的放置等.
3、Web开发
Web开发过程包括后台数据库程序的开发、页面程序的编写和所有网页的制作.在设计阶段决定的Web框架基础上,进行具体的页面设计和制作.把内容提供人员的内容连接到具体的页面.
4、Web测试
在Web工程过程中,基于Web系统的测试、确认和验收是一项重要而富有挑战性的工作.基于Web的应用系统的测试与传统的软件测试不同,不但需要检查和验证是否按照设计的要求运行,而且还要评价系统在不同用户的浏览器的显示是否合适.
5、Web发布
Web发布阶段主要是把开发完成,经过初步测试的Web应用系统传送到Web站点上,供用户浏览和使用.
6、Web更新、支持和管理
与传统的软件系统不同的是:Web系统是需要经常更新的.这种更新包括细微的变化到大规模的变化,可以是页面内容的刷新、也可以是整个页面结构框架的更新.我们可把经实践证明了的软件配置管理(SCM)的概念、原理和方法用到Web管理中.
五、小结
Web工程在我国的实践还处在初级阶段,其主要应用发生在个人静态主页和小型动态网站上,真正应用在基于Internet的软件系统中还属少数,但是,基于Web的系统和应用的影响无疑是计算史上一个最重要的事件。随着WebApp重要性的增长,规范化的Web工程方法会得到更新、更快地发展。