毕业论文文献综述
计算机科学与技术
基于柔性软件技术的海洋科普网站的设计
一、柔性软件系统
柔性软件系统[1]具有充分的系统柔性。其柔性主要表现在结构柔性、界面柔性、运行柔性三个方面[2] 。结构柔性是指多样的数据组织和运行方式被组织在同一系统框架中,而这种结构又总是面临多变的要求,这就要求系统在结构上具有灵活的特点。界面柔性是指系统不仅强调交互,而且强调交互的灵活性;用户不仅需要界面的丰富多样,而且需要界面具有某种可组织性,可以无须编程定义输入、输出的形式。运行柔性是指系统的运行逻辑应具有某种程度的动态可修改性。
柔性软件系统意味着用户能以适当方式高效、低耗地完成它需要的任何调整;同时,还意味着较高的创新能力以及一定的互操作功能[3]。它之所以区别于一般软件系统,是因为具有如下显著特征:
(1) 以“复用和适应变化”为目的。柔性软件系统的开发,其目标之一是为了获得最大程度上的复用,即指整个系统的复用可以不加修改地融合到其他系统当中,或通过开发应用系列来适应不同的平台或者面向特殊的客户。
(2) 开发工作组的并行设计与开发。柔性软件系统是建立在系统分层独立、松散耦合、模块组件化的基础上,这可为系统提供一个清晰的框架[4],降低了系统复杂度,并可满足软件开发工作组的并行设计与开发,缩短系统开发周期,降低开发成本与开发风险,提高系统的可靠性以及便于集成。
(3) 充分体现“用户个性化服务”以及“人机合一”的系统服务理念。柔性软件系统的设计理念,可避免开发复杂巨系统的应用需求,当用户有特殊需求时,可基于自己的需要进行个性化界面定制、结构重构及扩展、功能模块替换及扩充,充分发掘软件系统的运行高效性以及用户的创造性和主观能动性,使计算机的重复性工作能力和人的主观能动性、创造性智慧充分地融合在一起,以解决各种复杂的问题[5]。
(4)提供基于柔性适应的一定的互操作功能。在柔性软件系统应用中,用户通过个性化定制,可使系统能够基于脚本语言直接利用其他系统所提供的数据接口、功能接口, 从而使系统具有一定的数据互操作与功能互操作功能[6]。
二、软件工程
软件工程[7]作为一门软件开发的工程方法学,它在软件开发中的指导意义与基础地位已经越来越多地得到整个IT业界的高度重视。目前,软件工程已经成为计算机及其相关专业的专业核心课程,在美国IEEE- CS和ACM联合专题组发表的CC2001报告中,软件工程便是计算机学科的14个知识领域之一。中国计算机学会教育委员会、全国高等院校计算机教育研究所所提出的“计算机专业教学计划1993”也把软件工程列为一门主要的课程。它具有如下几个特点[8]:
(1)综合性强。软件开发是一项系统工程,因此,需要学习者或开发者具有操作系统、数据结构、数据库系统和前台开发工具等多方面知识和综合能力。同时,它还涉及经济学、管理学、工程学、市场学等多个领域的知识,而且其本身还处在不断的发展中。
(2)实践性强。本课程是实用工程学科,它是以工程化的手段来为制造开发软件服务的,因此本课程是一门实践性很强的课程,课程中介绍的一些原理和方法,也是专家和学者实践经验和教训的体现,学生只有真刀真枪地进行实践,才能真正达到学以致用,达到理论与实践相结合的目的。
(3)发展迅速。随着全球软件产业的蓬勃发展,软件工程已经成为一门热门学科。在过去十几年中,软件开发方法百家争鸣,除了传统软件过程和面向对象软件工程外,还出现了面向构件软件工程、净室软件工程和形式化软件[9]工程等,新的软件工具也层出不穷。
软件工程是指导计算机软件开发和维护的一门工程学科。采用工程的概念、原理、技术和方法来开发和维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效的维护它,这就是软件工程[10]。
软件工程方法学包含3个要素:方法、工具和过程。其中,方法是完成软件开发的各项任务的技术方法,回答“怎样做”的问题;工具是为运用方法而提供的自动的或半自动的软件工程支撑环境;过程是为了获得高质量的软件所需完成的一系列任务的框架,它规定了完成各项任务的工作步骤。目前使用的最广泛的软件工程方法学主要是传统方法学和面向对象方法学[11]。
三、 柔性软件系统设计流程
在柔性软件系统的研究与应用中, 经过对多种方法的对比分析, 形成了柔性软件系统设计流程。按这一流程进行系统设计, 在一定程度上可满足柔性软件系统设计与开发的需要。柔性软件系统设计流程如下:
(1) 基于MVC( Model /View/Controller) 模式设计系统框架原型。MVC 模式最初是在20 世纪80 年代提出来的。一方面允许对象的多种表示形式的存在, 另一方面允许对这些不同形态的对象采用不同风格的交互形式, 并支持数据的不同表示方式以及与每种表示的独立交互。
(2) 运用“层模式”进行系统体系结构的进一步细化, 形成“多层体系架构”, 从体系结构层次上保证系统的柔性和可替换性。
(3) 基于面向对象的组件化模块设计方法, 将各层进行进一步的分解与细化, 形成为一个彼此松散耦合的组件集合。
(4) 构筑通用平台, 使各层、各组件、各子系统能基于脚本语言进行集成, 并支持互连与互换。
(5) 在“层模式”的最底层———数据服务层设计时, 运用基于语义的、便于编辑和网络传输的XML 文档进行数据服务层与数据库的连接, 实现与数据库的松散绑定。
(6) 对于层模式的每一个层, 可使用策略模式实现层内所使用算法的动态替换。 (7) 运用反射调用机制与组件装配技术( . NET 平台下)[10], 实现层内算法的动态扩展。
(8) MVC 框架通常是多个模式的实例化, MVC 框架包括观察者模式、策略模式、组合模式以及其他多个模式。应用这些模式来实现层模式的最上层———用户界面层, 可实现内容的多视图表达、内容与表现的分离。
(9) 组件不应该自己处理异常和绑定业务逻辑。要将业务逻辑独立出来, 可借鉴工作流技术工作原理, 通过业务描述语言描述和定义语言来解释执行。这主要应用于用户界面设计, 因为系统与数据库间是松散的, 在运行之间是未知的, 故用户的各种数据管理界面和图表界面均是运行前未知的, 所以可基于业务描述语言实现图表定制器和解释生成器, 实现对象属性维护界面的对象属性表单的自动生成。
(10) 为满足用户的个性化定制要求, 系统应提供开放、方便的定制界面或定制操作, 为此系统应实现可视化操作界面,实现鼠标的拖放式操作。
四、网站
许多公司都拥有自己的网站,他们利用网站来进行宣传、产品资讯发布、招聘等等。随着网页制作技术的流行,很多个人也开始制作个人主页,这些通常是制作者用来自我介绍、展现个性的地方。也有以提供网络资讯为盈利手段的网络公司,通常这些公司的网站上提供人们生活各个方面的资讯如时事新闻、旅游、娱乐、经济等。
在因特网的早期,网站还只能保存单纯的文本。经过几年的发展,当万维网出现之后,图像、声音、动画、视频,甚至3D技术开始在因特网上流行起来,网站也慢慢地发展成我们现在看到的图文并茂的样子。通过动态网页技术,用户也可以与其他用户或者网站管理者进行交流。也有一些网站提供电子邮件服务。
因特网[12]起源于美国国防部高级研究计划管理局建立的阿帕网。网站(Website)是指在因特网上,根据一定的规则,使用HTML等工具制作的用于展示特定内容的相关网页的集合。简单地说,网站是一种通讯工具,就像布告栏一样,人们可以通过网站来发布自己想要公开的资讯,或者利用网站来提供相关的网络服务。人们可以通过网页浏览器来访问网站,获取自己需要的资讯或者享受网络服务。
五、网站开发工具ASP
ASP[13]是Active Server Page的缩写,意为“动态服务器页面”。ASP是微软公司开发的代替CGI脚本程序的一种应用,它可以与数据库和其它程序进行交互,是一种简单、方便的编程工具。ASP的网页文件的格式是.asp,现在常用于各种动态网站中。 ASP是一种服务器端脚本编写环境,可以用来创建和运行动态网页或Web应用程序。ASP网页可以包含HTML标记、普通文本、脚本命令以及COM组件等。利用ASP可以向网页中添加交互式内容(如在线表单),也可以创建使用HTML网页作为用户界面的web应用程序。 与HTML相比,ASP网页具有以下特点:
(1)利用ASP可以实现突破静态网页的一些功能限制,实现动态网页技术; (2)ASP文件是包含在HTML代码所组成的文件中的,易于修改和测试;
(3)服务器上的ASP解释程序会在服务器端制定ASP程序,并将结果以HTML格式传送到客户端浏览器上,因此使用各种浏览器都可以正常浏览ASP所产生的网页;
(4)ASP提供了一些内置对象,使用这些对象可以使服务器端脚本功能更强。例如可以从web浏览器中获取用户通过HTML表单提交的信息,并在脚本中对这些信息进行处理,然后向web浏览器发送信息[14];
(5)ASP可以使用服务器端ActiveX组件来执行各种各样的任务,例如存取数据库、发现和那个Email或访问文件系统等。
基本上,ASP即具有软件服务化与服务网路化,资讯委外服务与网路结合与产品通路化,通路产品化等三大特性,其甚至可以被视为是ISP与ITS的结合[15]。
简单地讲,ASP就是为客户提供服务的服务商,它和会计事物所、婚姻介绍所没有什么本质方面的区别。不同的是ASP主要是通过INTERNET(国际互联网络)作为主要工作和业务工具,采用一对多的方式[16],向企业、公司提供标准化的应用软件以及相关的技术咨询、管理租赁的服务,ASP的概念最早是1998年由美国人提出来的。目前被全球各大IT厂商看好并被认为是可以推动网络经济发展的,有稳固基础的第三种网络商业模式。
和传统的外包服务(Outsourcing)相比,ASP的主要区别在于:ASP是一对多的经营模式,提供的服务有兼容性和可协调性,并且ASP的收费方式一般是按月收费。
业界认为:ASP一般有这样一些“成员”:电信运营商、传统IT服务厂商、互联网络接入服务商(ISP)、独立软件供应商(ISV)、系统集成商和单纯的ASP公司。
根据流行的观点,ASP有如下五个核心内涵:
1. ASP以应用为中心,提供对于应用方面的访问和管理。
2. ASP服务可以为用户提供没有在服务器、人员、系统和系统授权等前期资源投入情况下就可以在“定制”的全新应用系统环境进行访问的服务,如ISP,而这样的服务一般按月份ASP收取服务费。
3. ASP采用集中管理的方式---ASP一般都有一个管理中心,所有的客户通过INTERNET来进行远程访问,获得技术支持和咨询服务。
4. 一对多的服务,也就是讲,ASP提供的是标准化的产品包,产品都是最低程度的自定义或者没有实现客户定制化,对于行业用户来讲已经达到实用方便的标准。
5. 按照合同交付,在ASP客户的眼中,ASP是一家根据客户协议内容提供相关服务,保证应用服务系统服务可以得到确实履行的机构。
从大的方面来讲,困扰国内企业生存、发展的核心问题是管理问题。随着互联网络的普及和应用的深入,企业用户可以随时随地直接租用ASP的服务器和软件系统来进行自己的业务管理,这样做的好处在于;第一,企业可以节省大笔用于IT建设方面的资金,大幅度降低企业管理信息化的成本。第二,ASP的用户可以采用各种方式获得应用和服务,软件类服务产品完全可以通过网络在非常短的时间内组成一个完善的、高效的、先进的企业管理系统,迅速获得企业一体化的运营管理方案。