道路客运安全告知语音:面向对象的问题.给分!!!!急......!!!!!!!

来源:百度文库 编辑:查人人中国名人网 时间:2024/05/03 19:33:25
麻烦请给我找下资料.
1.面向对象方法形成的过程(具体是80年代那时).
2.面向对象方法方面的重要研究和实践成果.
3.一段有关面向对象的中文(200字以上)以及同译英文.
给100分!!急.

外文资料翻译(不少于4000外文印刷字符)
1.所译外文资料:
①作者:ROGER S. PRESSMA
②书名(或论文题目):SOFTWARE ENGINEERING A PRACTITION’S PPROACH
③出 版 社(或刊物名称):清华大学出版社(影印版)
④出版时间(或刊号):2001年1月
⑤所译页码:P336-P341

2.译成中文:

13.1 软件设计和软件工程

软件设计是软件工程实施过程中的核心技术模块,并且它的应用不需要考虑现有的各种软件处理模型。软件的需求在最初的时候就被详细的分析和规定,这种分析和规定是用于构建和验证软件的三个技术行为——设计、编码编写和测试——其中的一项。每一个技术行为都将左右计算机软件变换信息的方式,但是这三个技术行为的最终目标是使设计出来的软件产生预期的作用。
分析模型的每一个元素所提供的信息都被用于创建四个设计模型之中。软件设计中的信息流被描述成如图13.1。这些需求通过数据、功能和行为模型的建立,使软件的设计阶段能够顺利地进行。无论采用多种设计方法中的哪一种,设计任务都可以产生如下四个设计部分:数据设计、体系结构的设计,接口和过程(组件?)设计。
数据设计是将分析时所提供的信息模型转换为软件设计上的数据结构,这些数据结构将在软件运行时被调用。通过实体——联系图定义数据对象和数据间的关系,而数据字典则描述了数据的细节内容,并在数据字典中提供基本的数据活动行为。但是有部分数据的设计将发生在软件的体系结构设计之中。
体系结构的设计定义了软件主要结构之间的关系。一旦系统的需求被明确,那么所采用的设计必须能够实现所被明确了的需求,所以这些需求的约束条件将影响软件体系结构的设计是否能被实际应用。一种软件的体系结构-----计算机程序的模块框架-----能够通过分析模型和分析模型中定义的子系统的交互来导出。
接口设计描述了软件如何与外界系统进行通信,软件内部如何通信、以及软件和软件的使用人员之间如何通信的问题。一个接口意味着一个信息流(例如,数据或控制流等)。因此,数据和控制流图为接口设计提供了很多必须的信息。
过程设计将软件的体系结构的结构元素转换为软件元件的运行过程的描述。过程设计所需要的基本信息将从PSPEC,CSPEC和STD等项目中获得。
我们所决定的软件设计将最终影响到软件的构造是否成功,更加重要的是,设计得好坏将关系到软件维护的难易程度。但是为什么软件的设计如此的重要呢?
软件设计可以用一个简单的词——质量——来表示其重要性。软件设计将直接决定软件质量的好坏。软件设计提供了我们对软件质量进行评估的软件表示。设计是唯一的一种能够让客户的需求准确的转换成最终的软件产品或系统的方法。软件设计是所有软件工程和接下来的软件编写及测试维护的基础。没有软件的设计,我们将冒着风险去构建一个不稳定的系统——当遇到一些很小的开发变动时,软件开发就会失败;并且没有设计而开发出来的软件会难于测试和维护,软件系统的质量也会难以评估,然而你会发现开发的期限已经到了,并且开发的经费已经差不多花完了。

13.2设计过程

软件的设计是一个交互式的过程,在软件的构建过程中它自始自终是靠将需求转换成设计图来完成这一个交互式的过程。最初,设计图描绘了一个软件的整体视图。更确切的来说,这时的设计呈现了一种高程次的对系统的抽象,直接的上溯追踪了系统的各部件、数据,功能和行为的需求。

随着软件设计的交互进程的推进,导致了设计呈现了一种低级别的对系统的抽象,但这仍然能够上溯追踪软件的需求,但它和软件需求之间的联系更加的疏远而微妙了。

13.2.1设计和软件质量

在整个设计进程中,随着设计不断发展变化的软件质量可以依据第八章中讨论的一系列的正式技术复审和设计追踪审查来评估其质量的好坏。McGlaughlin[MCG91]提出了三种特性用来指导优秀的软件设计,并作为一个鉴定其好坏的标准:
l1 设计必须将所有包容在分析模型中的明确的需求实现,而l2 且它必须最大限度的满足顾客的其它尚未明确的需求。
l3 设计必须做到便于阅读和理解,l4 容易生成代码,l5 利于测试和软件的维护支持。
l6 设计应该为将来的实施提供完整的软件面貌,l7 数据的寻址,l8 功能和主要的功能。
每一个特性体现了软件设计进程中的一个实际目标。但是要如何达到每个目标呢?
为了评估软件设计的质量,我们必须为软件设计制定一个技术性的标准。在本章节的后面部分,我们将详细讨论软件设计质量的标准。在制定标准前,我们先给下面的软件设计指南:
1. 设计应该建立在体系结构上,2. (1)建立于已经被认可的设计模式,3. (2)优秀的设计是系统由构件组成(这将在接下去的章节中讨论)(3)能够随着潮流而4. 被改进,5. 因此便利于改进、测试和维护。
6. 设计应该是模块化的,7. 更加确切8. 的说,9. 软件应该按照逻辑分块,10. 分成各种功能逻辑模块,11. 用来执行各种特定的功能和次功能。
12. 软件设计应该包括清晰明确的数据,13. 体系结构,14. 接口和组件。
15. 软件设计必须使用最为合适的数据结构来表示其功能模块,16. 并且能够依此绘制出已被应用了的数据模型。
17. 设计应该使软件的各个模块成为具有独立功能的模块。
18. 设计应该使软件的各个组件之间的接口减少,19. 并且减少系统和外界环境的联系。
20. 设计应该依据在软件的需求分析阶段中获得的信息,21. 并依此为基础驱策出一种可以重复22. 利用的设计方法。
要达到这些标准不能依靠运气。软件设计鼓励通过应用最重要的设计原则、系统设计论和全面的复审工作来达成优秀的软件设计。

13.2.2软件设计的演变

软件设计跨越了四十年的漫长演变。早期的软件设计工作是建立在模块化的程序设计标准[DEN73]和自顶而下的设计方法[WIR71]之上的。这样具有过程性特征的软件设计逐步演化成为一种设计原则,我们称之为结构化的程序设计标准[DAH71],[MIL72]。随后,软件设计的定义中加入了数据流[STE74]的转换和数据结构[JAC75]的定义。更加新式的设计方法(例如,[JAC92],[GAM95])建议将面向对象的设计方法作为软件设计方法的一个派生方法。今天软件设计的重点在于建立软件的体系结构[SHA96],[BAS98]并且软件所设计的模型应该能够与软件的体系结构相适应[GAM95],[BUS96],[BRO98]。
许多软件设计方法的出现,并不仅仅局限于帮助软件开发人员摆脱了软件开发工作的复杂性,许多设计的方法正在应用于整个产业之中。像在第十二章中出现的分析方法,每一种设计方法都引进了一种启发信息和表达式体系,以及一些关于软件设计质量评定标准的个人观点。然而,所有的这些方法都具有一系列相同的特性:(1)一种将分析模型转换为设计方法的转换机制。(2)一种用符号表达式表示功能和接口的理论体系。(3)通过启发式的方法进行改进和划分。(4)一种对软件质量的评定标准。
不管现在所用的是什么设计方法,一个软件设计工程师应该运用和遵循最重要的设计原则和最基本的设计概念并将之应用在:数据设计、体系结构的设计、接口设计和过程设计。这些最基本又是最重要的设计原则和概念被认为是紧密相连,不可分割的。

13.3设计原则

软件设计是一种过程性和模型性的结合体。软件设计的过程性体现在通过一系列的步骤能够令设计者描述出将要被构建的软件的所有特性。然而,设计的过程并不仅仅像做一次烹饪一样,创造性的技术,以往经验的积累,一种创造优秀软件的直觉,一种对软件构件设计整体质量的把握都成为了软件设计成功的关键因素。
设计模型的建立就相当于一位建筑家对于建立一座新的房子所制定的计划一样。设计模型的建立要根据所要建立的软件的整体特性,(例如,房子建立以前所绘制的三维图纸一样)并将慢慢的抽象出结构体的所有细节,然后通过这些细节来指导和完善结构体的建立。(例如,就像用铅纸印制所有的结构图)。相似的,设计模型将为计算机软件提供一系列的软件设计视图。
最基本的软件设计原则是软件设计工程师保证软件被正确设计的向导。
Davis[DAV95]提出了一系列软件设计的原则,现在已经被采纳和拓展成以下列表:
l1 软件的设计过程不l2 应该受到“管道视觉”(译者注:这里指l3 视野的狭隘)的影响。一个优秀的设计者应该考虑到应用的改变,l4 并判断出每一个所产生的问题的基本情况,l5 了解工作中所有的可用的资源和当前设计模块所用的设计概念。[chapter13.4]
l6 软件的设计模型应该是可以追踪的。因为通常单一的设计结构要用来满足多种不同l7 的设计需求,l8 这就十分需要知道现有的设计结构是否能够很好的满足需求,l9 通过设计模型的追踪就可以达到这个目的。
l10 软件的设计不l11 应该重新建立新的设计模型。结构化的系统通常使用一系列设计模型,l12 所以很多的系统可能在过去都有遇到过。那么我们应该根据发生的变化进行有目的的选择和改进现有的设计模型。但是时间紧迫、资源有限!所以设计所投入的精力应该放在此设计所特有的创新和整合已有设计模型上。
l13 软件设计应该力求缩短软件和现实的世界中的问题的 “智能距离”[DVA95]。更确切l14 的说,l15 软件的设计结构应该能够使问题范围最小化,l16 就是限定在有限的结构中,l17 模拟现实世界的问题,l18 通过模拟使问题容易查找和解决。
l19 软件的设计应该具有一致性的。如果一个已经开发完成的软件看起来就像是只有一个人完成了整个软件的开发,l20 那么我们就可以说,l21 这个软件具有一致性。在软件设计工作开始之前就要规定好整个设计团队应该共同l22 遵循的软件设计风格和设计格式。软件设计得一致性还应该考虑到将其所有设计的构件的接口进行统一的规定。
l23 软件的设计应该被设计成能够适应修改。能够使软件的设计达成这样目标l24 的设计原则的概念将在下一个章节中进行讨论。
l25 软件的设计应该被设计成能够在遇到发生数据异常,l26 事件触发的异常和操作条件改变的异常等各种情况,l27 能够逐步回退回到正常情况下的一种健壮的结构。健壮的软件设计应该永远不l28 会发生死机的情况。软件的设计应该能够适应不l29 寻常的循环,l30 如果软件必须要中止其进程,l31 应该做的十分优雅,l32 即不l33 会影响到周边其他的软件的正常运行。
l34 软件的设计不l35 仅仅是编码,l36 软件的编码不l37 是软件的设计。甚至于直到程序构件的所有设计细节都被建立后,l38 设计模型的抽象级别仍然高于源代码的编写。唯一要在软件设计中考虑关于代码编写的是,l39 如何判定软件执行的细节能够被编码实现。
l40 软件的设计应该能够令软件在开发之前就可以对软件的质量进行评估。各种不同l41 的软件设计概念(13.4小节)和软件设计方法(第19章和第24章)都是十分有用的,l42 可以帮助软件设计者评估其软件设计的质量。
l43 软件的设计要被复l44 审使得设计上的概念性和语法性的错误达到最小化。当软件的设计者在进行复l45 审的时候,l46 通常有一种倾向就是把检查的重心放在对软件设计细节的检查上面,l47 反而l48 忽视了整个森林的检查,l49 既忽视了软件整体性的检查。一个设计团队应该确保软件设计已经建立在已有的排除了语法错误(例如,l50 茅盾的、模凌两可得、冗余的、遗漏的)的设计模型之上。
当这些设计原则都被合理的贯彻执行了,软件的设计工程师将建立一个顾及外部和内部统一的质量评定因素[MEY88]。外部的质量因素是指那些已经能够被用户所观察到的软件的各种特性(例如,软件的运行速度、软件的可靠性、软件的正确性、软件的实用性)。内部的质量因素对于软件设计工程师是十分重要的,它将在技术层面上引导设计出高质量的软件。为了达到内部的质量因素的提高,软件的设计者应该了解最基本的设计概念。

你这是做题呢吧?找本c++或者java之类的书上都有。