计算机英语(第4版) 刘艺 课文参考译文(4)

2019-08-20 20:23

行程序的任务。

六、未来

由于计算机使用的增加,自20世纪50年代以来,计算机科学领域发展迅猛。作为对用户需求和技术进步的反应,计算机程序在这一时期经历了许多变化。计算领域的新思想,如并行计算、分布式计算和人工智能,从根本上改变了一度决定程序形式与功能的传统概念。

致力于并行计算领域研究的计算机科学家们,推出了许多新的程序模型。在并行计算中,多个中央处理器同时合作处理同一个问题。一个问题的组成部分由不同的处理器同时处理,这样就加快了问题的解决速度。由于并行处理计算机的极端复杂性,以及使其尽可能有效地运行所包含的困难,为这种系统设计程序的科学家和工程师面临着许多挑战。

一种称为分布式计算的并行计算,使用多个互连计算机的中央处理器来解决问题。用来在分布式计算应用环境下处理信息的计算机,常常通过因特网连接。因特网的应用正在成为分布式计算的一种特别有用的形式,尤其是在使用Java等编程语言的情况下。在这种应用中,用户登录到一个站点,并下载一个Java程序到其计算机上。该Java程序运行时,就会与其所来自的站点上的其他程序通信,也可以与不同计算机或站点上运行的其他程序通信。

人工智能研究已经带来其他几种新的编程风格。例如,逻辑程序不是由供计算机盲目执行的单个指令构成,而是由成套的规则组成:如果x发生,则执行y。一种称为推理机的特殊程序,在向其提出一个新问题时,就使用这些规则来“推理”出一个结论。逻辑程序的用途包括自动监控复杂系统和证明数学定理。

一种全然不同的计算方法称为神经网络,在这种计算中没有传统意义上的程序。神经网络是一组高度互连的简单处理单元,旨在模拟大脑。神经网络不是像传统计算机那样通过程序来指挥信息处理,而是依靠其处理单元的连接方式来处理信息。给神经网络编程的实现方法是,给其提供输入与输出数据的已知模式,并调整处理单元之间各种互连的相对重要性,直到完成所期望的模式匹配。神经网络通常在传统计算机上模拟,但是,不同于传统的计算机程序,神经网络具有经验学习的能力。

16

第五单元:软件过程

课文A:软件过程模型

一、引言

一个软件过程是生产出软件产品的一系列活动。这些活动可能涉及使用一种像Java或C这样的标准编程语言从零开始开发软件。然而,开发新软件越来越多地使用的方法是,扩展和修改现有系统,以及配置和集成现成软件或系统组件。

一个软件过程模型是对一个软件过程的一种抽象表示。每个过程模型都从一个特定角度表示一个过程,因此都只提供有关那个过程的部分信息。本文介绍几种非常通用的过程模型(有时称为过程范例),并从体系结构的角度描述它们。也就是说,我们看到的是过程的框架,而非具体活动的细节。

这些类属模型不是对软件过程的规定性描述。确切点说,它们是过程的抽象,可用于解释软件开发的不同方法。你可以将其视为可扩展和调整以创建更为具体软件工程过程的过程框架。

这里论述的过程模型是瀑布模型、演化开发和基于组件的软件工程。这3种类属过程模型在当前的软件工程实践中广泛使用。它们不是互不相容,而是经常一起使用,尤其是在大型系统开发的情况下。一个较大型系统内的子系统可使用不同的方法开发。因此,尽管分别讨论这些模型比较方便,但应该明白,实际上它们经常结合使用。

二、瀑布模型

最早公布的软件开发过程模型源自比较通用的系统工程过程。这种模型如图5A-1所示。由于从一个阶段到另一个阶段的瀑布状级联,该模型称为瀑布模型或软件生命周期。该模型的主要阶段映射基本的开发活动:

1、 需求分析与定义。系统的服务、约束和目标要经过与系统用户的磋商加以确定。然

后,它们得到详细定义并作为系统规格说明。

2、 系统与软件设计。系统设计过程将需求划分成需硬件或软件系统实现的部分。该过

程确立一个总的系统体系结构。软件设计涉及到确定和描述基本的软件系统抽象及其相互关系。

17

需求定义 系统与 软件设计 实现与 单元测试 集成与 系统测试 运行与 维护 图5A-1:软件生命周期 3、 实现与单元测试。在这个阶段,软件设计被实现为一组程序或程序单元。单元测试

涉及到验证每个单元是否符合其规格说明。

4、 集成与系统测试。单个的程序单元或程序进行集成并作为一个完整系统进行测试,

以确保软件需求已得到满足。测试之后,软件系统交付客户。

5、 运行与维护。通常(但并非必定),这是软件生命周期最长的阶段。系统经过安装

投入实际使用。维护涉及到纠正在软件生命周期前面阶段没有发现的错误,改进系统单元的实现,并随着新需求的发现增强系统的服务。

原则上,每个阶段的结果都要形成一份或多份经过批准的文件。前一个阶段未结束,下一个阶段不应开始。实际上,这些阶段重叠并互相馈送信息。在设计期间,需求方面存在的问题得到识别;在编码期间,设计问题被发现,等等。软件过程并非一个简单的线性模型,而是涉及到一系列迭代的开发活动。

由于编制和批准文件的成本,迭代需要大笔开销,而且需要做大量重复工作。因此,经过少数迭代之后,通常应冻结开发的某些部分,如规格说明,并继续进行后面的开发阶段。存在的问题留待以后解决,置之不顾,或者通过编程绕过去。这样仓促冻结需求,可能意味着系统将难以满足用户的要求。由于使用实现技巧规避了设计问题,这也可能导致不良的系统结构。

在最后的生命周期阶段(运行与维护),软件投入使用。最初软件需求中存在的错误与疏漏被发现,程序与设计错误浮现,而且新的功能需要得到确定。因此,为保持有用性,系统必须演变。进行有关更改(软件维护)可能涉及到重复以前的过程阶段。

瀑布模型的优点在于每个阶段都编制文件,而且它与其他的工程过程模型相符合。其主

18

要问题在于将项目僵硬地划分成不同的阶段。在过程的一个早期阶段,必须定下决心,从而使得应对客户需求变化很困难。

因此,只有在需求得到很好理解、在系统开发期间不可能发生根本性变化的情况下,才应使用瀑布模型。然而,瀑布模型体现了在其他工程项目中所使用的过程模型类型。所以,基于这种方法的软件过程仍然用于软件开发,特别是当有关软件项目是一个较大系统工程项目的一部分时。

三、演化开发

演化开发基于这样的思想:开发一个初始的实现,让其接受用户评论,并让其经过多个版本的改进,一直到开发出能够满足需要的系统(图5A-2)。规格说明、开发及验证活动不是分开进行,而是交叉进行,各项活动之间有快速的信息反馈。

演化开发有两个基本类型:

1、 探索式开发。在这种类型中,过程的目标是与客户协作探索其需求,并交付一个最

终的系统。开发从业已理解的系统部分开始。随着增添客户提出的新特征,系统不断演变。

并行活动

规格说明 初始 版本 描述 开发 中间 版本验证 最终 版本 图5A-2:演化开发

2、 抛弃式原型开发。在这种类型中,演化开发过程的目标是理解客户的需求,从而为

系统开发比较好的需求定义。原型集中试验没有很好理解的客户需求。

在生产满足客户眼下需要的系统时,软件开发的演化方法常常比瀑布方法有效。基于演化方法的软件过程的优点是,规格说明可以渐进地开发。随着用户增进对其问题的理解,这种理解可以反映在软件系统中。然而,从工程和管理的角度来看,演化方法存在两个问题:

1、 过程缺乏可视性。管理员需要定期交付的产品来衡量进度。在快速开发系统的情况

19

下,编制反映每个系统版本的文件不合算。

2、 系统常常缺乏良好的结构。不断的更改往往会破坏软件的结构。吸收软件更改变得

越来越困难,越来越成本高昂。

对于中小型系统(上至50万行代码),演化方法或许是最佳的开发方法。对于不同小组开发系统不同部分的大型、复杂、长寿命系统,演化开发存在的问题尤为严重。使用这种方法难以建立一个稳定的系统体系结构,这使得集成各小组的贡献变得很难。

对于大型系统,建议使用一种混合过程,将瀑布模型和演化开发模型的最佳特征结合起来。这可能涉及到使用演化方法开发一个抛弃式原型,以解决系统规格说明中存在的不确定性。然后,可使用一种结构化程度比较高的方法重新实现系统。得到很好理解的系统部分可使用基于瀑布模型的过程进行规格说明和开发。事先难以进行规格说明的其他系统部分,如用户界面,无例外地应使用探索式编程方法来开发。

四、基于组件的软件工程

大多数软件项目都存在某种程度的软件复用。通常,这是非正式发生的。参加项目的人知道有现成的设计或编码类似于他们所需的设计或编码。他们寻找这些设计或编码,根据需要对其进行修改,并将其吸收进他们的系统。对于使用演化方法进行快速系统开发,复用常常是必要的。

这种非正式复用的发生是不考虑所使用的开发过程的。然而,在过去几年中,出现了一种软件开发方法,这种方法使用得越来越多,它依靠复用,被称为基于组件的软件工程。

需求 规格说明 组件 分析 需求 修改 带复用的 系统设计 开发与 集成 系统 验证 图5A-3:基于组件的软件工程

这种面向复用的方法依靠大量的可复用软件组件,以及用于这些组件的某种集成框架。有时,这些组件本身就是可提供文本格式化或数值计算等特定功能的系统(商用现成系统)。基于组件的软件工程的类属过程模型如图5A-3所示。

就最初的需求规格说明阶段和验证阶段而言,面向复用过程与其他过程相类似,但它的中间阶段与其他过程不同。这些阶段是:

1、 组件分析。在有需求规格说明的情况下,搜索实现该规格的组件。通常,不存在完

20


计算机英语(第4版) 刘艺 课文参考译文(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2018秋九年级化学上册 第四单元 自然界的水 课题1 爱护水资源课

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: