计算机英语(第4版) 刘艺 课文参考译文(4)
行程序的任务。
六、未来
由于计算机使用的增加,自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、 抛弃式原型开发。在这种类型中,演化开发过程的目标是理解客户的需求,从而为
系统开发比较好的需求定义。原型集中试验没有很好理解的客户需求。
在生产满足客户眼下需要的系统时,软件开发的演化方法常常比瀑布方法有效。基于演化方 …… 此处隐藏:2331字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [互联网资料]2022年厦门大学机电工程系824机械设计
- [互联网资料]东南大学2022年硕士研究生拟录取名单公
- [互联网资料]能源调研报告(精选多篇)
- [互联网资料]初三英语下学期 中考英语 语法填空训练
- [互联网资料]2022内蒙古选调生行测常识备考:新事物
- [互联网资料]自驾必备!在新西兰租什么样的车自驾游
- [互联网资料]佛教素食菜谱44页未完
- [互联网资料]盈利能力分析外文翻译
- [互联网资料]2022年南昌航空大学音乐学院736马克思
- [互联网资料]优选外贸跟单实习报告总结(精品版)
- [互联网资料]银行新员工培训总结
- [互联网资料]2_year_visa_new_guidance_190316
- [互联网资料]天津市五校宝坻一中静海一中杨村一中芦
- [互联网资料]2007--2008学年第一学期高三数学宁波市
- [互联网资料]Chromatic framework for vision in ba
- [互联网资料]幼儿园大班上学期美术教案《心愿树》含
- [互联网资料]2022年华中农业大学信息学院820微型计
- [互联网资料]硬盘坏道的表现 __硬盘使用久了
- [互联网资料]江苏省2016年会计从业资格考试《会计基
- [互联网资料]公共场所卫生监督试卷全解
- 高级英语第一册所有修辞方法及例子总结
- 综合交通枢纽规划与城市发展
- 沃尔玛的企业文化案例分析
- 美国Thanksgiving Day 感恩节 介绍
- PEP六年级英语上册Unit6How do you fee
- 最齐全的中国大型商场购物中心名单
- 数据结构实验报告八—哈夫曼编译码
- 杭州市余杭区人民政府(通知)
- 七年级语文成语运用专项训练
- 微观经济学第三章 消费者行为 课后习题
- 对_钱学森之问_的思考
- Excel_三级联动_下拉菜单
- 办公用品需求计划申请表
- 对外汉语教材必须要知道的发展史
- 挑战杯大学生学术科技作品竞赛作品申报
- 举办民办教育培训机构应具备下列条件
- 太阳能路灯项目设计方案
- 2013年八年级上最新人教版新教材Unit3I
- 【历史】 6-4 《近代科学之父牛顿》 课
- 高中生物《第四章 第二节 探讨加酶洗衣




