外文翻译---硬件软件的设计和开发过程知识讲解

合集下载

linux外文翻译

linux外文翻译
为用户提供 定制的Linux系统。
②Lotus宣布,Notes的下一版将包括一个专用于Linux的版本。
③Corel公司将其著名的WordPerfect移植到Linux之上,并免费发行。Corel还计
划将其它的 图形图像处理产品完整地移到Linux平台上。
④主要的数据库厂家:Sybase、Informix、Oracle、CA、IBM都已经将自己的数据库
山西大学本科毕业论文(设计)外文翻译资料 外文出处:WOLF W H. Hardware software co-design of embedded systems .Proceedings of the
IEEE, 1994,827, 82(7) :967-989 .
译文标题:Linux—网络时代的操作系统
出色 的稳定性,其运行时间往往可以“年”计。
2. Linux的主要应用领域
目前,Linux的应用主要包括:
(1) Internet/Intranet:这是目前Linux用得最多的一项,它可提供包括Web服务山西大学本科毕业论文(设计)外文翻译资料 器、Ftp服 务器、Gopher服务器、SMTP/POP3邮件服务器、Proxy/Cache服务器、DNS服
产品移 植到Linux上,或完成了Beta版本,其中Oracle和Informix还对他们的产品提
供技术支持。
4. Linux对中国软件业的启示
可喜的是,已经有一些有远见的国内公司开始力图改变这种现状。不久前四通公司宣山西大学本科毕业论文(设计)外文翻译资料 布将投 入巨资,以Linux为平台开发一套Internet/Intranet解决方案,并以此为核心
talent fully. But for Linux, this only numerous news one of. Recently, the manufacturers

计算机外文资料翻译---Visual Basic简介

计算机外文资料翻译---Visual Basic简介

毕业设计(论文)外文资料翻译系(院):计算机科学系专业:计算机科学与技术姓名:学号: 111001203外文出处:Learn Visual Basic in 24 hours--Hour 1 Visual Basic at Work 附件:1.外文资料翻译译文;2.外文原文。

附件1:外文资料翻译译文Visual Basic简介什么是Visual BasicMicrosoft Visual Basic 5.0是旧的BASIC语言最近的最好的化身,在一个包里给你一个完全的Windows应用开发系统。

Visual Basic (我们常称它VB)能让你写、编辑,并且测试Windows应用程序。

另外,VB有包括你能用来写并且编译帮助文件那的工具,ActiveX控制,并且甚至因特网应用程序Visual Basic是它本身的一个Windows应用程序。

你装载并且执行VB系统就好象你做其它Windows程序。

你将使用这个运行的VB程序创造另外的程序。

虽然VB是一个非常地有用的工具,但VB只是一个程序员(写程序的人)用来写,测试,并且运行Windows应用程序的工具。

尽管程序员们经常可替交地使用术语程序和应用程序,当你正在描述一个Windows 程序时术语应用程序似乎最适合,因为一个Windows程序由若干份代表性的文件组成。

这些文件以工程形式一起工作。

通过双击一个图标或由以Windows开始应用程序运行启动菜单用户从Windows加载并且运行工程产生最终的程序。

过去的45年与计算机硬件一起的编程工具的角色已经演变。

今天一种程序语言,例如Visual Basic,一些年以前与程序语言的非常不一致。

Windows操作系统的视觉的天性要求比一些年以前是可利用的更先进的工具。

在windowed环境以前,一种程序语言是你用来写程序的一个简单的基于文章工具。

今天你需要的不只是一种语言,你需要一种能在windows系统内部工作并且能利用所有的绘画、多媒体、联机和Windows提供的多处理活动开发应用软件的绘图开发工具。

软件工程毕业论文文献翻译中英文对照

软件工程毕业论文文献翻译中英文对照

软件工程毕业论文文献翻译中英文对照学生毕业设计(论文)外文译文学生姓名: 学号专业名称:软件工程译文标题(中英文):Qt Creator白皮书(Qt Creator Whitepaper)译文出处:Qt network 指导教师审阅签名: 外文译文正文:Qt Creator白皮书Qt Creator是一个完整的集成开发环境(IDE),用于创建Qt应用程序框架的应用。

Qt是专为应用程序和用户界面,一次开发和部署跨多个桌面和移动操作系统。

本文提供了一个推出的Qt Creator和提供Qt开发人员在应用开发生命周期的特点。

Qt Creator的简介Qt Creator的主要优点之一是它允许一个开发团队共享一个项目不同的开发平台(微软Windows?的Mac OS X?和Linux?)共同为开发和调试工具。

Qt Creator的主要目标是满足Qt开发人员正在寻找简单,易用性,生产力,可扩展性和开放的发展需要,而旨在降低进入新来乍到Qt的屏障。

Qt Creator 的主要功能,让开发商完成以下任务: , 快速,轻松地开始使用Qt应用开发项目向导,快速访问最近的项目和会议。

, 设计Qt物件为基础的应用与集成的编辑器的用户界面,Qt Designer中。

, 开发与应用的先进的C + +代码编辑器,提供新的强大的功能完成的代码片段,重构代码,查看文件的轮廓(即,象征着一个文件层次)。

, 建立,运行和部署Qt项目,目标多个桌面和移动平台,如微软Windows,Mac OS X中,Linux的,诺基亚的MeeGo,和Maemo。

, GNU和CDB使用Qt类结构的认识,增加了图形用户界面的调试器的调试。

, 使用代码分析工具,以检查你的应用程序中的内存管理问题。

, 应用程序部署到移动设备的MeeGo,为Symbian和Maemo设备创建应用程序安装包,可以在Ovi商店和其他渠道发布的。

, 轻松地访问信息集成的上下文敏感的Qt帮助系统。

关于软件开发的知识(中英文)

关于软件开发的知识(中英文)

1. What is software development?Software development is the process of developing software through successive phases in an orderly way. This process includes not only the actual writing of code but also the preparation of requirements and objectives, the design of what is to be coded, and confirmation that what is developed has met objectives.Before systems development methods came into being, the development of new systems or products was often carried out by using the experienceand intuition of management and technical personnel. However, the complexityof modern systems and computer products long ago made the need clear forsome kind of orderly development process.Typical phases of software development:1) Identification of required software2) Analysis of the software requirements3) Detailed specification of the software requirements4) Software design5) Programming6) Testing7) MaintenanceIn general, the development of commercial software is usually a result of demand in the marketplace, while enterprise software developmentgenerally arises from a need or a problem within the enterprise environment.2. How is software development guided?The software development process is almost invariably guided bysome systematic software development method (SDM). Referred to by a numberof terms, including process models, development guidelines,and systems development life cycle models (SDLC), software development methods nevertheless generally include the same development phases:∙The existing system is evaluated and its deficiencies identified, usually through interviewing system users and support personnel.∙The new system requirements are defined. In particular, the deficiencies in the existing system must be addressed with specific proposals for improvement.∙The proposed system is designed. Plans are laid out concerning the physical construction, hardware, operating systems, programming, communications, and security issues.∙The new system is developed. The new components and programs must be obtained and installed. Users of the system must be trained in its use, and all aspects of performance must be tested. If necessary, adjustments must be made at this stage.∙The system is put into use. This can be done in various ways. The new system can phased in, according to application or location,andthe old system gradually replaced. In some cases, it may be more cost-effective to shut down the old system and implement the new system all at once.∙Once the new system is up and running, then it should be exhaustively evaluated. Maintenance must be kept up rigorously at allers of the system should be kept up-to-date concerning the latest modificationsand procedures.The systems development life cycle model was developed as a structured approach to information system development that guides all the processesinvolved from an initial feasibility study through to maintenance of thefinished application. SDLC models take a variety of approaches to development.Systems development life cycle models include:· The waterfall model:This is the classic SDLC model, with a linear and sequential method that has goals for each developmentphase. The waterfall model simplifies task scheduling, because there areno iterative or overlapping steps. One drawback of the waterfall is thatit does not allow for much revision.· Rapid application development (RAD):This models based on the concept that better products can be developed more quicklyby: using workshops or focus groups to gather system requirements; prototyping and reiterative testing of designs; rigid adherence to schedule; and less formality of team communications such as reviews.· Joint application development (JAD): This modelinvolves the client or end user in the design and development of an applicationthrough a series of collaborative workshops called JAD sessions.· The prototyping model: In this model, a prototype (an early approximation of a final system or product) is built, testedand then reworked as necessary until an acceptable prototype is finallyachieved from which the complete system or product can now be developed.· Synchronize-and-stabilize: This model involves teams working in parallel on individual application modules, frequently synchronizingtheir code with that of other teams and stabilizing code frequently throughout the development process.· The spiral model: This model of development combines the features of the prototyping model and the waterfall model. The spiral model is favored for large, expensive, and complicated projects.3. How has the open source development process influenced software development in general?Open source software is developed collaboratively; source code is freely available for use and modification. The open source movement arose because some developers came to believe that competition amongst vendors leads to inferior products and that the best approach to development isa collaborative one.The OSI (Open Source Initiative) is an industry body that certifies products as open source if they conform to a number of rules:· The software being distributed must be redistributed to anyone else without any restriction· The source code must be made available (so that the receiving party will be able to improve or modify it)· The license can require improved versions of the software to carry a different name or version from the original softwareDespite its emphasis on the collaborative process, the biggest influence that open source has had on software development in general may be through competition: by competing with proprietary software products, open source products force vendors to work that much harder to hold their market share in the face of viable open source alternatives.4. What are some generally accepted best practices common to all or most development models?Here's a collection of some of the top tips from a variety of industry sources:· Make sure that you've chosen a systems development life cycle model that suits your project, because every one of the processesinvolved depends on the model. That said, however, implementing any modelis betterthan none -- much of the success of a project depends upon howscrupulously the model is adhered to.· Reuse software components when it's appropriate, but don't use code that doesn't work perfectly for its intended purpose just because you have it on hand.· Be very thorough in gathering requirements, ensuring that all parties agree on what they are -- and make sure you document them.· Don't promise the moon, if you can't deliver it. Avoidletting someone who isn't fully informed negotiate with the client.· Make sure that the architecture you've chosen is appropriate for the application you're building. To retain perspective, you might want to look at the smaller picture and plan the architecture incrementally.· Change is part of life, including software development. You have to accept that various things -- requirements, for example -- are likely to change throughout the life of the project. Keep control of them, but not too rigidly.· Set up peer review process es for every element of the project.· Design thoroughly and with care, but remember the KISSprinciple: Keep it simple.· In your project plan, split big projects into manageable chunks, with concrete milestones and deadlines.· Ensure accountability: make sure that deadlines are clear and that people have to report on whether they made them, and explain why not if they don't.· Implement quality control procedures throughout the project.· Test exhaustively -- there's no point in doing a cursory run through only to have an application fail when you run it for the client.· After the project is completed, conduct a thorough post-mortem, with everyone involved. You'll see what worked well and what should havebeen differently, and your future projects will benefit.5. What are some common mistakes in software development?According to a Standish Group report, corporations in the United States spend over $275 billion every year on software development projects, many of which are doomed to failure. Research by the group found that over 80% of projects fail for various reasons, and that fully 30% of projectswere cancelled prior to completion because of poor execution.David B. Stewart, at the University of Maryland, set out to document the 10 most common mistakes of software development. He found, however,that the sheer number of errors that were commonly practiced made it impossible to keep the number to ten. He ended up calling his article "Twenty-FiveMost Common Mistakes with Real-Time Software Development." Even so, afterthe title had been established, he found another five errors so common that the felt compelled to add them.According to Dr. Michael, the most common project problems are due to failure to manage project elements successfully:· Requirement s are not clearly and accurately defined, and agreed upon by all concerned.· Resources are not adequately planned and allocated.· Threats to project success are not clearly detected, identified, and protected against.· Critical path analysis is omitted, or poorly executed.· The project's progress is not tracked adequately.· Quality management is not carried out well enough throughout the life of the project.· Too little data is collected, or data is ignored or poorly understood.Correcting flaws identified during software security audits is expensive and time consuming. Worse, vast resources are spent on containing and recovering from exploits. Fortunately, providing development staff with the knowledge and tools to avoid many of these pitfalls is easy and inexpensive.6. Given a particular process model, is there a set of tools(a development environment) to support it?In general, a process model usually begins as a philosophy of "who does what development when" rather than a rigid methodology complete with tools. For example, rapid application development (RAD) is an approach that can make use of existing development tools. In general, tools for supporting all or part of a process model tend to arrive later, if at all.Historically, development tools have focused on the code-building, code archive management, documentation, testing, and packaging parts ofthe process, sometimes offered as a suite. Such a suite is generally known as an integrated development environment (IDE).A set of tools for managing or supporting a development project is generally known as a computer-assisted software environment (CASE). A number of companies offer products that support early stages of development such as requirements gathering, design prototyping, and data modeling. A number of these provide tools that support data modeling with the Unified Modeling Language. Overall, there is a trend toward providing all or most of the tools for a development project in a single product or related set of products.Today, the main code-building development environments or program suites come from Microsoft with its Visual Studio and Visual Studio .NET, providing support for Visual Basic, Visual C#, Visual C++, and Visual J#; Sun Microsystems with its Java 2 Enterprise Environment; and numerous software vendors such as Borland who repackage these environments with some value-added features. Recently, almost all providers of software development environments have added features that enable the software to be used on the Web.7. How do you choose the "right" programming language for your project?For most projects, the right language is easy to choose. Your company may have standardized on a particular development environment and language (and you may have been hired because you were already familiar with the language). Or you may be updating or enhancing an existing program; it's almost always best to use the same language the existing program is written in. In some cases, however, someone will need to select the best (or, since the best may be somewhat arguable, at least an appropriate language). In somecases, you or your team of developers may need to know several languages fordifferent purposes.General truisms about programming languages are that:∙Perl or a similar script language is most suitable for small tasks and sometimes acting as a program that goes between other,largerprograms.∙Visual Basic is most suitable for relatively novice programmers and relatively simple programs.∙Java, C++, or comparable languages like Python and Tcl aremost suitable for larger applications using object orientation as adesignmodel.∙ C is most suitable for programs where efficiency and performance are the primary concern.∙The appropriate assembler language is most suitable where the program is relatively short and high performance is critical.Where constraints permit, some programmers may favor one object-oriented language over another (for example, Java, C++, Python, or Tcl). A programmer with skills in C is likely to prefer C++, which combines the proceduraland other concepts and syntax of C with object-oriented concepts.8. What are some trends regarding the future of software development?Blogs - A growing number of big-name softwaredevelopers are finding they can make better software applications if theyshare information with potential customers from the start and incorporate customer feedback into development decisions. While developers of gamessoftware have used this method for years, business software makers are nowalso catching on and using blogs as an important part of the development process.Big-name support for independent software vendors (ISVs) - Big players like Microsoft, IBM, and Sun have recognized that they cannot fill every niche industry's software demands, so they have begun to activelyseek partnerships with small ISVs, in hopes that by encouraging ISVs to focuson vertical industry applications, everyone will benefit.Component-based development- In this approach, softwareis developed in modules that are linked dynamically to construct a completeapplication. Charles Simonyi (creator of the WYSIWYG editor) believes thateventually, software development will become so modular that even lay-peoplewill be able to assemble components effectively to create customizedsoftware applications.Continued improvements in refactoring tools - Eric Raymond,a leading philosopher about program development, maintains that the conceptof refactoring is consistent with the idea ofget-something-working-now-and-perfect-it-laterapproach long familiarto Unix and open source programmers. The idea is alsoembodied in the approach known as Extreme Programming. As software applicationsbecome larger, better refactoring tools will be required to maintain codebases and diagnose bugs.Outsourcing - Using this approach, software companies hire employees around the world to take advantage of time zone and labor/cost differences.Proponents say that in effect, software development teams now have a 24-hourwork day, and are able to provide fast turn-around. Detractors say that outsourcingparts of a project leads to sloppy coding and only works if there is a highdegree of coordination regarding modularized tasks, and above-average communicationwithin the team.1。

外文资料翻译

外文资料翻译

附件1:外文资料翻译译文利用单片机指令集的硬件/软件协同设计超椭圆曲线密码系统Alireza Hodjat, Lejla Batina,美国加你福尼亚州加州大学洛杉矶分校电机工程系。

David Hwang,Ingrid Verbauwhede,比利时布鲁塞天主教大学。

摘要硬件/软件协同设计的计算密集的密码系统是达到所要求的速度资源有限的嵌入式应用首选的解决方案。

本文介绍了一种微码指令集协处理器,其目的是与8位微控制器实现超椭圆曲线密码系统。

协处理器的微码是数据通路范围内能够执行双乘法器/加法器的和存储在外部RAM单元的中间结果协处理器。

这个协处理器进行编程时使用8位微控制器的软件程序实现了HECC除数的倍频和加法运算。

雅可比计算标量是8051单片机在656ms(7.87兆周期)的执行情况,时钟频率为12MHz 这是比纯软件的实现的228倍速度。

这个数字是78ms的Atmel的AVR在12MHz的时钟频率,是纯软件实时运行微型处理器(100万次)的106倍。

硬件/软件协同设计的实现都对现有的32位ARM7在80兆赫实现HECC。

--2006年由Elsevier B.V 撰写出版1.简介安全通信或数字数据一般是通过各种加密算法的。

特殊的是,从软件到硬件实现公共密钥加密(PKC)的大多数的应用是一个挑战平台。

软件平台更为灵活,但是硬件加速通常需要计算密集型操作作为应用程序所需的PKC。

如今的新兴领域,如无线电频率识别(RFID)标签和传感器网络上的实现提出了新的要求PKC的坚决约束算法在数量上闸门、功耗、宽带等最有名和最常用的公钥密码体制RSA[1].而这不是一个低功耗和可行的解决低脚打印设备的方案。

一个有希望的候选似乎是超椭圆曲线密码体制(H/ECC),但是前面提到的要求,大概只有在实现硬件和软件的协同作用下。

ECC已经证明了它的潜力,因为在一些平台上,它运行速度快,功耗低,性能更好。

此外,ECC每字节比RSA钥加密算法提供更多的协议,因为没有的普遍的分指数,解决了算法的离散对数在这一组的问题。

软件系统开发中英文对照外文翻译文献

软件系统开发中英文对照外文翻译文献

软件系统开发中英文对照外文翻译文献(文档含英文原文和中文翻译)软件工程中的过程处理模型斯卡基沃尔特摘要软件系统从起初的开发,维护,再到一个版本升级到另一个版本,经历了一系列阶段。

这篇文章归纳和整理了一些描述如何开发软件系统的方法。

从传统的软件生命周期的背景和定义出发,即大多数教科书所讨论的,并且目前的软件开发实践所遵循的软件生命周期,接着讨论作为目前软件工程技术基石的更全面的软件开发模型。

关键词:软件生命周期;模型;原型1 前言软件业的发展最早可追溯到开发大型软件项目的显式模型,那是在二十世纪五十年代和六十年代间。

总体而言,这些早期的软件生命周期模型的唯一目的就是提供一个合理的概念计划来管理软件系统的开发。

因此,这种计划可以作为一个基础规划,组织,人员配备,协调,预算编制,并指导软件开发活动。

自20世纪60年代,出现了许多经典的软件生命周期的描述(例如,霍西尔1961年,劳斯莱斯1970年,1976年博伊姆,迪斯塔索1980年,1984年斯卡基,萨默维尔1999年)。

罗伊斯(1970)使用现在生活中熟悉的“瀑布”图表,提出了周期的概念,这个图表概括了开发大型软件系统是多么的困难,因为它涉及复杂的工程任务,而这些任务在完成之前可能需要不断地返工。

这些图表也通常在介绍性发言中被采用,主要针对开发大型软件系统的人们(例如,定制软件的客户),他们可能不熟悉各种各样的技术问题但还是要必须解决这些问题。

这些经典的软件生命周期模型通常包括以下活动一些内容:系统启动/规划:系统从何而来?在大多数情况下,不论是现有的信息处理机制以前是自动的,手工的,还是非正式的,新系统都会取代或补充它们。

● 需求分析和说明书:阐述一个新的软件系统将要开发的问题:其业务能力,其所达到的性能特点,支持系统运行和维护所需的条件。

● 功能或原型说明:潜在确定计算的对象,它们的属性和关系,改变这些对象的操作,约束系统行为的限制等。

●划分与选择:给出需求和功能说明书,将系统分为可管理的模块,它们是逻辑子系统的标志,然后确定是否有对应于这些模块的新的,现有的,或可重复使用的软件系统可以复用。

机械毕业设计英文外文翻译23Visual Basic编程语言概述

机械毕业设计英文外文翻译23Visual Basic编程语言概述

附录附录A 外文文献原文Visual Basic programming language an overview 1991, the United States launched the Microsoft Visual Basic (may be referred to VB), is the latest version of the current VB 2008 Beta2 (VB9) Chinese version.Visual meaning the visual, visible, referring to the development of operating systems like windows graphical user interface (Graphic User Interface, GUI) method, it does not need to prepare a large number code to describe the appearance of the interface elements and location, as long as the pre - The establishment of good drag and drop objects on the screen corresponding to the location.Basic is actually an abbreviation of the phrase, this phrase is Beginners all_purpose symbolic instruction code, the Chinese meaning "to the initial directive GM symbol code language."Visual Basic learning, Professional Edition and Enterprise Edition versions to meet the different needs of the development. Study and apply to the ordinary version of the majority of learners and the use of Visual Basic development of the general staff of Windows applications, but; professionalversion for computer professional development of staff, including the study of functional version of the full content control and Internet development tools such as advanced features ; Enterprise contain not only all the professional version of the content, there are automated tools such as Component Manager, professional programmers to make the development of a powerful group essence of distributed applications.VB is a visual, object-oriented event-driven approach and the use of the structure of high-level programming language, can be used for the development of the Windows environment of various applications. It easy to learn, efficient and powerful with Windowsr professional development tools comparable to SDK. In Visual Basic environment, the use of event-driven programming mechanism, the new easy-to-use visual design tools, within the wider use Windows application program interface (API) function, to use dynamic link library (DLL), the object Links embedded with the World at (OLE), open-end data connectivity (ODBC), and other technology, can be highly efficient and rapid development of the Windows environment powerful, rich graphical interface application software system. With the improved version, Visual Basic functions also growing.After version 5.0, Visual Basic launched a Chinese version, compared with the previous version, its functions have been greatly improve.However, more powerful functions, Visual Basic still has one drawback: in the absence of MSVBVM **. DLL must be installed on the computer the required DLL file. It can be designed with the operating system, but more difficult.In the early 21st century, microsoft has introduced Visual Studio 2003 and Visual Basic among the significant changes, Visual Studio for a variety of programming tools to a platform, Visual can run on this platform. Compared with traditional VB, are quite different. , used for the first time. Net framework for visual programming, and can a good framework compatible with COM. 2005 Visual Studio 2005 use of the NET 2.0 technology, more convenience to the programmer's work. But the new procedures on the system configuration requirements are also higher, the need for Microsoft. Net Framework 2.0 above. Net framework support.December 2007, Microsoft (Microsoft) launched the Visual Studio 2008 Beta 2 has undergone major changes (see attached map) enter in the code when the VB2005 can be much faster than in non-exceptional circumstances, VB2008 willautomatically open automatically Keyword completion of this order and begun to support the latest. NET Framework 3.5 Beta 2.附录B 外文文献中文翻译Visual Basic编程语言概述1991年,美国微软公司推出了Visual Basic(可简称VB),目前的最新版本是VB 2008 Beta2(VB9)中文版。

Unit4-Software Development解读

Unit4-Software Development解读
utility [ju:’tiliti]n.实用程序,公用程序 utility program实用程序,公用程序 软件设计者使用专门的应用程序来创建新程序, 这种专门程序通常被称为实用程序或开发程序。
Unit 4 Software Development
7
A programmer uses another type of program called a text editor to write the new program in a special notation called a programming language. text editor文本编辑程序,文本编辑器 notation[nəʊ’teɪʃn] n.记号,符号,标记法 程序员还使用另一种称为文本编辑器的程序来编写新程 序,新程序是用称为程序设计语言的特殊符号来编写的。
Unit 4 Software Development 6
定语从句
Ⅱ. Program Development (程序开发) Software designers create new programs by using special applications, often called utility programs or development programs.
Unit 4 Software Development
2
For the instructions to be carried out, a computer must execute a program, that is, the computer reads a program, and then follows the steps encoded in the program in a precise order until completion. carry out执行;进行;完成 encode[ɪn'kəʊd] vt.(将文字材料)译成密码;编码,编 制成计算机语言 要使程序中的指令得到执行,计算机必须执行该程序, 也就是说,计算机要读取该程序,然后按确切的顺序执 行程序中编码的步骤,直至程序结束。

软件工程专业毕业设计外文文献翻译

软件工程专业毕业设计外文文献翻译

考虑翻译工具的易用性和 价格
引用文献:确保引用的外文文献来源可靠、准确 翻译准确:保持原文意思不变,语言流畅自然 格式规范:遵循学术论文的格式要求,包括标题、作者、摘要、关键词等 文献整理:对外文文献进行分类整理,方便查阅
校对:检查语法、拼写和标点错误 修改:调整句子结构、替换用词,提高表达准确性和流畅性 对照原文:确保准确传达原文意思 团队协作:多人合作,互相校对和修改
软件工程外文文献 翻译的技巧
掌握专业术语和常用表达方式 理解原文的语境和语义 注意原文的语气和修辞 结合上下文理解原文的含义
掌握专业术语:熟 悉软件工程领域相 关术语,确保翻译 准确。
句式结构清晰:合 理安排句子结构, 使译文流畅易懂。
语义连贯:保持译 文语义连贯,避免 出现歧义或理解困 难。
智能编辑:对 机器翻译结果 进行智能优化, 减少人工干预
跨语言信息检 索:利用人工 智能技术快速 查找和获取外
文文献资源
全球化推动跨文化交流的发展
人工智能技术在跨文化交流中的应 用与前景
添加标题
添加标题
添加标题
添加标题
软件工程外文文献翻译在跨文化交 流中的作用
跨文化交流中语言翻译的挑战与机 遇
人工智能与机器学 习在软件工程中的 应用
语境理解:外文文献中的语境和中文 可能存在差异,需要准确理解原文的 语境和含义,并进行适当的翻译。
添加标题
添加标题
添加标题
添加标题
文化背景:不同国家和地区的文化背 景、历史传统、价值观念等可能存在 差异,需要对外文文献中的文化元素 进行适当的解释和调整。
专业知识:软件工程领域涉及的专业 知识较多,需要对外文文献中的相关 内容进行深入理解和翻译,以确保准 确性和专业性。

毕业设计论文外文文献翻译计算机科学与技术微软VisualStudio中英文对照

毕业设计论文外文文献翻译计算机科学与技术微软VisualStudio中英文对照

外文文献翻译(2012届)学生姓名学号********专业班级计算机科学与技术08-5班指导教师微软Visual Studio1微软Visual StudioVisual Studio 是微软公司推出的开发环境,Visual Studio可以用来创建Windows平台下的Windows应用程序和网络应用程序,也可以用来创建网络服务、智能设备应用程序和Office 插件。

Visual Studio是一个来自微软的集成开发环境IDE(inteqrated development environment),它可以用来开发由微软视窗,视窗手机,Windows CE、.NET框架、.NET精简框架和微软的Silverlight支持的控制台和图形用户界面的应用程序以及Windows窗体应用程序,网站,Web应用程序和网络服务中的本地代码连同托管代码。

Visual Studio包含一个由智能感知和代码重构支持的代码编辑器。

集成的调试工作既作为一个源代码级调试器又可以作为一台机器级调试器。

其他内置工具包括一个窗体设计的GUI应用程序,网页设计师,类设计师,数据库架构设计师。

它有几乎各个层面的插件增强功能,包括增加对支持源代码控制系统(如Subversion和Visual SourceSafe)并添加新的工具集设计和可视化编辑器,如特定于域的语言或用于其他方面的软件开发生命周期的工具(例如Team Foundation Server的客户端:团队资源管理器)。

Visual Studio支持不同的编程语言的服务方式的语言,它允许代码编辑器和调试器(在不同程度上)支持几乎所有的编程语言,提供了一个语言特定服务的存在。

内置的语言中包括C/C + +中(通过Visual C++),(通过Visual ),C#中(通过Visual C#)和F#(作为Visual Studio 2010),为支持其他语言,如M,Python,和Ruby等,可通过安装单独的语言服务。

外文翻译---软件和软件工程

外文翻译---软件和软件工程

外文翻译:Software and software engineering ----the software appearance and enumeratesAs the decade of the 1980s began, a front page story in business week magazine trumpeted the following headline:” software: the new driving force.”software had come of age—it had become a topic for management concern. during the mid-1980s,a cover story in foreune lamented “A Growing Gap in Software,”and at the close of the decade, business week warned managers about”the Software Trap—Automate or else.”As the 1990s dawned , a feature story in Newsweek asked ”Can We Trust Our Software? ”and The wall street journal related a major software company’s travails with a front page article entitled “Creating New Software Was an Agonizing Task …” these headlines, and many others like them, were a harbinger of a new understanding of the importance of computer software ---- the opportunities that it offers and the dangers that it poses.Software has now surpassed hardware as the key to the success of many computer-based systems. Whether a computer is used to run a business, control a product, or enable a system , software is the factor that differentiates . The completeness and timeliness of information provided by software (and related databases) differentiate one company from its competitors. The design and “human friendliness” of a software product differentiate it from competing products with an otherwise similar function .The intelligence and function provided by embedded software often differentiate two similar industrial or consumer products. It is software that can make the difference.During the first three decades of the computing era, the primary challenge was to develop computer hardware that reduced the cost of processing and storing data .Throughout the decade of the 1980s,advances in microelectronics resulted in more computing power at increasingly lower cost. Today, the problem is different .The primary challenge during the 1990s is to improve thequality ( and reduce the cost ) of computer-based solutions- solutions that are implemented with software.The power of a 1980s-era mainframe computer is available now on a desk top. The awesome processing and storage capabilities of modern hardware represent computing potential. Software is the mechanism that enables us to harness and tap this potential.The context in which software has been developed is closely coupled to almost five decades of computer system evolution. Better hardware performance, smaller size and lower cost have precipitated more sophisticated computer-based syst ems. We’re moved form vacuum tube processors to microelectronic devices that are capable of processing 200 million connections per second .In popular books on “the computer revolution,”Osborne characterized a “new industrial revolution,” Toffer called the advent of microelectronics part of “the third wave of change” in human history , and Naisbitt predicted that the transformation from an industrial society to an “information society” will have a profound impact on our lives. Feigenbaum and McCorduck suggested that information and knowledge will be the focal point for power in the twenty-first century, and Stoll argued that the “ electronic community” created by networks and software is the key to knowledge interchange throughout the world . As the 1990s began , Toffler described a “power shift” in which old power structures( governmental, educational, industrial, economic, and military) will disintegrate as computers and software lead to a “democratization of knowledge.”Figure 1-1 depicts the evolution of software within the context of. computer-based system application areas. During the early years of computer system development, hardware underwent continual change while software was viewed by many as an afterthought. Computer programming was a "seat-of-the-pants" art for which few systematic methods existed. Software development was virtually unmanaged--until schedules slipped or costs began to escalate. During this period, abatch orientation was used for most systems. Notable exceptions were interactive systems such as the early American Airlines reservation system and real-time defense-orientedsystems such as SAGE. For the most part, however, hardware was dedicated to the union of, a single program that in turn was dedicated to a specific application.Evolution of softwareDuring the early years, general-purpose hardware became commonplace. Software, on the other hand, was custom-designed for each application and had a relatively limited distribution. Product software(i.e., programs developed to be sold to one or more customers) was in its infancy . Most software was developed and ultimately used by the same person or organization. You wrote it, you got it running , and if it failed, you fixed it. Because job mobility was low , managers could rest assured that you’d be there when bugs were encountered.Because of this personalized software environment, design was an implicit process performed in one’s head, and action was often nonexistent. During the early years we learned much about the implementation of computer-based systems, but relatively little about computer system engineering .In fairness , however , we must acknowledge the many outstanding computer-based systems that were developed during this era. Some of these remain in use today and provide landmark achievements that continue to justify admiration.The second era of computer system evolution (Figure 1.1) spanned the decade from themid-1960s to the late 1970s. Multiprogramming and multiuse systems introduced new concepts of human-machine interaction. Interactive techniques opened a new world of applications and new levels of hardware and software sophistication . Real-time systems could collect, analyze, and transform data form multiple sources , thereby controlling processes and producing output in milliseconds rather than minutes . Advances in on-line storage led to the first generation of database management systems.The second era was also characterized by the use of product software and the advent of "software houses." Software was developed for widespread distribution in a multidisciplinary market. Programs for mainframes and minicomputers were distributed to hundreds and sometimesthousands of users. Entrepreneurs from industry, government, and academia broke away to "develop the ultimate software package" and earn a bundle of money.As the number of computer-based systems grew, libraries of computer software began to expand. In-house development projects produced tens of thousands of program source statements. Software products purchased from the outside added hundreds of thousands of new statements. A dark cloud appeared on the horizon. All of these programs--all of these source statements-had to be corrected when faults were detected, modified as user requirements changed, or adapted to new hardware that was purchased. These activities were collectively called software maintenance. Effort spent on software maintenance began to absorb resources at an alarming rate.Worse yet, the personalized nature of many programs made them virtually unmentionable. A "software crisis" loomed on the horizon.The third era of computer system evolution began in the mid-1970s and continues today. The distributed system--multiple computers, each performing functions concurrently and communicating with one another- greatly increased the complexity of computer-based systems. Global and local area networks, high-bandwidth digital communications, and increasing demands for 'instantaneous' data access put heavy demands on software developers.The third era has also been characterized by the advent and widespread use of microprocessors, personal computers, and powerful desk-top workstations. The microprocessor has spawned a wide array of intelligent products-from automobiles to microwave ovens, from industrial robots to blood serum diagnostic equipment. In many cases, software technology is being integrated into products by technical staff who understand hardware but are often novices in software development.The personal computer has been the catalyst for the growth of many software companies. While the software companies of the second era sold hundreds or thousands of copies of their programs, the software companies of the third era sell tens and even hundreds of thousands of copies. Personal computer hardware is rapidly becoming a commodity, while software provides the differentiating characteristic. In fact, as the rate of personal computer sales growth flattened during the mid-1980s, software-product sales continued to grow. Many people in industry and at home spent more money on software than they did to purchase the computer on which the software would run.The fourth era in computer software is just beginning. Object-oriented technologies (Chapters 8 and 12) are rapidly displacing more conventional software development approaches in many application areas. Authors such as Feigenbaum and McCorduck [FEI83] and Allman [ALL89] predict that "fifth-generation" computers, radically different computing architectures, and their related software will have a profound impact on the balance of political and industrial power throughout the world. Already, "fourth-generation" techniques for software development (discussed later in this chapter) are changing the manner in which some segments of the software community build computer programs. Expert systems and artificial intelligence software has finally moved from the laboratory into practical application for wide-ranging problems in the real world. Artificial neural network software has opened exciting possibilities for pattern recognition and human-like information processing abilities.As we move into the fourth era, the problems associated with computer software continue to intensify:Hardware sophistication has outpaced our ability to build software to tap hardware's potential.Our ability to build new programs cannot keep pace with the demand for new programs.Our ability to maintain existing programs is threatened by poor design and inadequate resources.In response to these problems, software engineering practices--the topic to which this book is dedicated--are being adopted throughout the industry.An Industry PerspectiveIn the early days of computing, computer-based systems were developed usinghardware-oriented management. Project managers focused on hardware because it was the single largest budget item for system development. To control hardware costs, managers instituted formal controls and technical standards. They demanded thorough analysis and design before something was built. They measured the process to determine where improvements could be made. Stated simply, they applied the controls, methods, and tools that we recognize as hardware engineering. Sadly, software was often little more than an afterthought.In the early days, programming was viewed as an "art form." Few formal methods existed and fewer people used them. The programmer often learned his or her craft by trial and error. The jargon and challenges of building computer software created a mystique that few managers cared to penetrate. The software world was virtually undisciplined--and many practitioners of the clay loved it!Today, the distribution of costs for the development of computer-based systems has changed dramatically. Software, rather than hardware, is often the largest single cost item. For the past decade managers and many technical practitioners have asked the following questions: Why does it take so long to get programs finished?Why are costs so high?Why can't we find all errors before we give the software to our customers?Why do we have difficulty in measuring progress as software is being developed?These, and many other’ questions, are a manifestation of the concern about software and the manner in which it is developed--a concern that has tend to the adoption of software engineering practices.译文:软件和软件工程——软件的出现及列举在二十世纪八十年代的前十年开始的时候, 在商业周刊杂志里一个头版故事大声宣扬以下标题:“软件,我们新的驱动力!”软件带来了一个时代------它成为了一个大家关心的主题。

计算机主板图纸英语翻译及硬件 hardware 软件 software 网络 network

计算机主板图纸英语翻译及硬件 hardware   软件  software  网络 network

硬件 hardware 软件 software 网络 network一、硬件(hardware)主板 mainboard 或者 motherboard显卡 graphics card 或者 display card磁盘 disk 硬盘 harddisk 软盘 softdisk 驱动器 drive光驱 cd/dvd-rom drive 刻录光驱cd-raw drive 电源 power 网卡 network interface card 简称 NIC 声卡 sound card 中央处理器 CPU center process unit主机 host 鼠标 mouse 键盘 keyboard 显示器 displayer 或者 monitor设备 device 内存 memory 端口 port 中断 int 接口 interface 并行端口 LPT串行端口 com 芯片 chip 计算机 computer 个人计算机或者电脑 pc打印机 printer 扫描仪 scanner 摄像头 cameras二、软件(software)程序 program 文件 file 文件夹 folder 系统 system 应用 application文档 document 设置 set 安装 setup 或者 install 卸载 uninstall退出 exit 或 quit 管理员 administrator 用户 user 加载或载入 load发送 send 共享 share 选择 select 驱动程序 driver 备份 backup复制 copy 粘贴 paste 剪切 cut 删除 delete 插入 insert 保存 save另存为 save as 编辑 edit 打印 print 查找 search 移动 move属性 property 打开 open 关闭 close 安全 security 工具 tool安全模式 safemodel 启动 boot 页面 page 病毒 virus 杀毒 kill virus查询 query 表单 table 追加 append 媒介 media 音量 volume重启 restart 或reboot 锁定 lock 格式化 format 分区 partition主引导记录 mbr 镜像 mirror 磁盘阵列 disk array 组 group 服务 sevice 桌面 desktop 运行 run 字体 font 屏幕 screen 地址 address 缓存 cacheram 读写存储器 rom 只读存储器 video 视频数据 data 检测 test 或 detect 访问 access 激活 active 配置 config 菜单 menu 标题 title 状态 status 三、网络 (network)调制解调器(俗称“猫”) modem 交换机 switcher 集线器 hub路由器 router 网卡 NIC局域网 local area network 简称 LAN城域网 metropolitan area network 简称 MAN广域网 WANWide Area Network 简称 WAN互联网 internet服务器 server 客户端 client 远程登陆 telnet 协议 potocol文件传输协议 file transfer protocol 简称 FTP超文件传输协议 hyper text transfer potocol 简称 HTTP简单邮件传输协议 simple message transfer potocol 简称 SMTP传输控制协议 transmission control potocol 简称 TCP用户数据包协议 user datagram protocol简称 UDP动态域名服务器 dynamic domain server 简称 DNS动态主机配置服务器 dynamic host configuration potocol server 简称 DHCP无线 wireless 非屏弊双绞线 UTP 下载 download 上传 upload 连接connection通讯 communication 本地 local 远程 remote 网关 gateway 域名 domain 子网掩码 subnet mask 数据包 package 线路 line主板zhong3GIO(Third Generation Input/Output,第三代输入输出技术)ACR(Advanced Communications Riser,高级通讯升级卡)ADIMM(advanced Dual In-line Memory Modules,高级双重内嵌式内存模块)AGTL+(Assisted Gunning Transceiver Logic,援助发射接收逻辑电路)AHCI(Advanced Host Controller Interface,高级主机控制器接口)AIMM(AGP Inline Memory Module,AGP板上内存升级模块)AMR(Audio/Modem Riser;音效/调制解调器主机板附加直立插卡)AHA(Accelerated Hub Architecture,加速中心架构)AOI(Automatic Optical Inspection,自动光学检验)APU(Audio Processing Unit,音频处理单元)ARF(Asynchronous Receive FIFO,异步接收先入先出)ASF(Alert Standards Forum,警告标准讨论)ASK IR(Amplitude Shift Keyed Infra-Red,长波形可移动输入红外线)AT(Advanced Technology,先进技术)ATX(AT Extend,扩展型AT)BIOS(Basic Input/Output System,基本输入/输出系统)CNR(Communication and Networking Riser,通讯和网络升级卡)CSA(Communication Streaming Architecture,通讯流架构)CSE(Configuration Space Enable,可分配空间)COAST(Cache-on-a-stick,条状缓存)DASP(Dynamic Adaptive Speculative Pre-Processor,动态适应预测预处理器)DB: Device Bay,设备插架DMI(Desktop Management Interface,桌面管理接口)DOT(Dynamic Overclocking Technonlogy,动态超频技术)DPP(direct print Protocol,直接打印协议DRCG(Direct Rambus clock generator,直接RAMBUS时钟发生器)DVMT(Dynamic Video Memory Technology,动态视频内存技术)E(Economy,经济,或Entry-level,入门级)EB(Expansion Bus,扩展总线)EFI(Extensible Firmware Interface,扩展固件接口)EHCI(Enhanced Host Controller Interface,加强型主机端控制接口)EISA(Enhanced Industry Standard Architecture,增强形工业标准架构)EMI(Electromagnetic Interference,电磁干扰)ESCD(Extended System Configuration Data,可扩展系统配置数据)ESR(Equivalent Series Resistance,等价系列电阻)FBC(Frame Buffer Cache,帧缓冲缓存)FireWire(火线,即IEEE1394标准)FlexATX(Flex ibility ATX,可扩展性ATX)FSB(Front Side Bus,前端总线)FWH(Firmware Hub,固件中心)GB(Garibaldi架构,Garibaldi基于ATX架构,但是也能够使用WTX构架的机箱)GMCH(Graphics & Memory Controller Hub,图形和内存控制中心)GPA(Graphics Performance Accelerator,图形性能加速卡)GPIs(General Purpose Inputs,普通操作输入)GTL+(Gunning Transceiver Logic,发射接收逻辑电路)HDIT(High Bandwidth Differential Interconnect Technology,高带宽微分互连技术)HSLB(High Speed Link Bus,高速链路总线)HT(HyperTransport,超级传输)I2C(Inter-IC)I2C(Inter-Integrated Circuit,内置集成电路)IA(Instantly Available,即时可用)IBASES(Intel Baseline AGP System Evaluation Suite,英特尔基线AGP系统评估套件)IC(integrate circuit,集成电路)ICH(Input/Output Controller Hub,输入/输出控制中心)ICH-S(ICH-Hance Rapids,ICH高速型)ICP(Integrated Communications Processor,整合型通讯处理器)IHA(Intel Hub Architecture,英特尔Hub架构)IMB(Inter Module Bus,隐藏模块总线)INTIN(Interrupt Inputs,中断输入)IPMAT(Intel Power Management Analysis Tool,英特尔能源管理分析工具)IR(infrared ray,红外线)IrDA(infrared ray,红外线通信接口,可进行局域网存取和文件共享)ISA(Industry Standard Architecture,工业标准架构)ISA(instruction set architecture,工业设置架构)K8HTB(K8 HyperTransport Bridge,K8闪电传输桥)LSI(Large Scale Integration,大规模集成电路)LPC(Low Pin Count,少针脚型接口)MAC(Media Access Controller,媒体存储控制器)MBA(manage boot agent,管理启动代理)MC(Memory Controller,内存控制器)MCA(Micro Channel Architecture,微通道架构)MCH(Memory Controller Hub,内存控制中心)MDC(Mobile Daughter Card,移动式子卡)MII(Media Independent Interface,媒体独立接口)MIO(Media I/O,媒体输入/输出单元)MOSFET(metallic oxide semiconductor field effecttransistor,金属氧化物半导体场效应晶体管)MRH-R(Memory Repeater Hub,内存数据处理中心)MRH-S(SDRAM Repeater Hub,SDRAM数据处理中心)MRIMM(Media-RIMM,媒体RIMM扩展槽)MSI(Message Signaled Interrupt,信息信号中断)MSPCE(Multiple Streams with Pipelining and Concurrent Execution,多重数据流的流水线式传输与并发执行)MT=MegaTransfers(兆传输率)MTH(Memory Transfer Hub,内存转换中心)MuTIOL(Multi-Threaded I/O link,多线程I/O链路)NCQ(Native Command Qu,本地命令序列)NGIO(Next Generation Input/Output,新一代输入/输出标准)NPPA(nForce Platform Processor Architecture,nForce平台处理架构)OHCI(Open Host Controller Interface,开放式主控制器接口)ORB(operation request block,操作请求块)ORS(Over Reflow Soldering,再流回焊接,SMT元件的焊接方式)P64H(64-bit PCI Controller Hub,64位PCI控制中心)PCB(printed circuit board,印刷电路板)PCBA(Printed Circuit Board Assembly,印刷电路板装配)PCI(Peripheral Component Interconnect,互连外围设备)PCI=E(PCI-Express)PCI SIG(Peripheral Component Interconnect Special Interest Group,互连外围设备专业组)PDD(Performance Driven Design,性能驱动设计)PHY(Port Physical Layer,端口物理层)POST(Power On Self Test,加电自测试)PS/2(Personal System 2,第二代个人系统)PTH(Plated-Through-Hole technology,镀通孔技术)RE(Read Enable,可读取)QP(Quad-Pumped,四倍泵)RBB(Rapid BIOS Boot,快速BIOS启动)RNG(Random number Generator,随机数字发生器)RTC(Real Time Clock,实时时钟)KBC(KeyBroad Control,键盘控制器)SAP(Sideband Address Port,边带寻址端口)SBA(Side Band Addressing,边带寻址)SBC(single board computer,单板计算机)SBP-2(serial bus protocol 2,第二代串行总线协协)SCI(Serial Communications Interface,串行通讯接口)SCK (CMOS clock,CMOS时钟)SDU(segment data unit,分段数据单元)SFF(Small Form Factor,小尺寸架构)SFS(Stepless Frequency Selection,步进频率选项)SLI(Scalable Link Interface,可升级连接界面)SMA(Share Memory Architecture,共享内存结构)SMT(Surface Mounted Technology,表面黏贴式封装)SPI(Serial Peripheral Interface,串行外围设备接口)SSLL(Single Stream with Low Latency,低延迟的单独数据流传输)STD(Suspend To Disk,磁盘唤醒)STR(Suspend To RAM,内存唤醒)SVR(Switching Voltage Regulator,交换式电压调节)THT(Through Hole Technology,插入式封装技术)UCHI(Universal Host Controller Interface,通用宿主控制器接口)UPA(Universal Platform Architecture,统一平台架构)UPDG(Universal Platform Design Guide,统一平台设计导刊)USART(Universal Synchronous Asynchronous Receiver Transmitter,通用同步非同步接收传送器)USB(Universal Serial Bus,通用串行总线)USDM(Unified System Diagnostic Manager,统一系统监测管理器)VID(Voltage Identification Definition,电压识别认证)VLB(Video Electronics Standards Association Local Bus,视频电子标准协会局域总线)VLSI(Very Large Scale Integration,超大规模集成电路)VMAP(VIA Modular Architecture Platforms,VIA模块架构平台)VSB(V Standby,待命电压)VXB(Virtual Extended Bus,虚拟扩展总线)VRM(Voltage Regulator Module,电压调整模块)WCT(Wireless Connect Technology,无线连接技术)WE(Write Enalbe,可写入)WS(Wave Soldering,波峰焊接,THT元件的焊接方式)XT(Extended Technology,扩充技术)ZIF(Zero Insertion Force, 零插力插座)芯片组ACPI(Advanced Configuration and Power Interface,先进设置和电源管理)AGP(Accelerated Graphics Port,图形加速接口)BMS(Blue Magic Slot,蓝色魔法槽)I/O(Input/Output,输入/输出)MIOC: Memory and I/O Bridge Controller,内存和I/O桥控制器NBC: North Bridge Chip(北桥芯片)PIIX: PCI ISA/IDE Accelerator(加速器)PSE36: Page Size Extension 36-bit,36位页面尺寸扩展模式PXB: PCI Expander Bridge,PCI增强桥QPI(Quick Path Interconnect,快速通道互联)RCG: RAS/CAS Generator,RAS/CAS发生器SBC: South Bridge Chip(南桥芯片)SMB(System Management Bus,全系统管理总线)SMT(Simultaneous Muti-hreading,同时多线程)SPD(Serial Presence Detect,连续存在检测装置)SSB: Super South Bridge,超级南桥芯片TDP: Triton Data Path(数据路径)TSC: Triton System Controller(系统控制器)QPA: Quad Port Acceleration(四接口加速)主板技术GigabyteACOPS: Automatic CPU OverHeat Prevention System(CPU过热预防系统)SIV: System Information Viewer(系统信息观察)磐英ESDJ(Easy Setting Dual Jumper,简化CPU双重跳线法)浩鑫UPT(USB、PANEL、LINK、TV-OUT四重接口)华硕C.O.P(CPU overheating protection,处理器过热保护)VCC是主供电VDD是门电路供电中华维VID是CPU电压识别信号,以前的老主板有VID跳线,现在的一般都没有,CUP的工作电压就是VID来定义VCC就是电压,vid就是控制电源IC输出多大的电压给CPU,vtt是参考电压(有VTT1.5V、VTT2.5V)VTT是AGTL总线终端电压。

软件开发概念和设计中英文对照外文翻译文献

软件开发概念和设计中英文对照外文翻译文献

中英文对照外文翻译外文资料原文Software Development Concepts and DesignMethodologiesDuring the 1960s, ma inframes and higher level programming languages were applied to man y problems including human resource s yste ms,reservation s yste ms, and manufacturing s yste ms. Computers and software were seen as the cure all for man y bu siness issues were sometimes applied blindly. S yste ms sometimes failed to solve the problem for which the y were designed for man y reasons including:•Inability to sufficiently understand complex problems•Not sufficiently taking into account end-u ser needs, the organizational environ ment, and performance tradeoffs•Inability to accurately estimate development time and operational costs •Lack of framework for consistent and regular customer commun ications At this time, the concept of structured programming, top-down design, stepwise refinement,and modularity e merged. Structured programming is still the most dominant approach to software engineering and is still evo lving. These failures led to the c oncept of "software engineering" based upon the idea that an engineering-like discipline could be applied to software design and develop ment.Software design is a process where the software designer applies techniques and principles to produce a conceptual model that de scribes and defines a solution to a problem. In the beginning, this design process has not been well structured and the model does not alwa ys accurately represent theproblem of software development. However,design methodologies have been evolving to accommo date changes in technolog y coupled with our increased understanding of development processes.Whereas early desig n methods addressed specific aspects of the develop ment process, current methods atte mpt to address the entire scope of software development. Software design methods are often classified in reference to the period in which the y were introduced and the problems at that time. Driven b y coding and testing problems, tools and methods were developed. Early methods focused on modularit y a nd top-down development, and information hiding through abstraction. This led to the development of structured languages, structured analysis, and data flow analysis.In the last decade or so, the expense involved in automation has shifted from hardware to people. Therefore, the software engineering community has been focused on object oriented (O-O) design and the concept of re-usable code in order to reduce the human cost component. Inefficient designs and develop ment methodologies have been addressed with Computer Aided Software Engineering (CASE) tools, and fourth generation design languages. This has been done in an attempt replace the traditional waterf all life c ycle process model under which most existing software has been developed.一、Software De sign FundamentalsSoftware design meth ods all aim to provide the software designer with a s yste m blueprint. This blueprint usually has three aspects: data, architectural, and procedural.•Data design refers to the data's organization, relationships, access and processing methods.•Architectural design defines the components of the sys tem a nd their relationships.•Procedural design builds on the data and architectural design phases to describe the processing details of the s yste m.Even though there are numer ous design methodologies, their basicconcepts are ver y similar-All software design methods partition the problem and software into smaller pieces in order to reduce complexity. They all strive to identif y data structures and functions, and provide measur e ments for software quality. Some of the common principles in software design include: stepwise refinement, s oftware architecture, program structure, data structure, software procedures, mo d u la r i t y,a b s tr a c t io n,a n d in f o r ma t io n h i d i n g.二、M o d e r n D e s i g n M e t h o d o l o g i e sC o n ve n t io n a l s o f t wa r e d e ve l o p me n t p r a c t ic e s c a n g e n e r a l l y b ema p p e d o n to t h e tr a d i t io n a l l i f e-c y c l e p h a s e s o f a n a l ys i s,f u n c t i o n a ls p e c i f i c a t i o n,d e s i g n,i mp l e me n t a t i o n,t e s t i n g,a n d m a i n t e n a n c e.T h i st h o u g h t p r o c e s s i s i n a d e q u a t e f o r t o d a y's c o m p l e x i n f o r m a t i o n s y s t e m s.As the demand for software is growing much faster than the number of developers, adhering to conventional techniques such as the waterfall method requires too much time, too many people, and is difficult to manage. Hence, many new software development technologies have arisen. N e wl y d e ve lo p e d p r a c tic e s a n d mo d e ls d o n o t a tte mp t to s e p a r a te p h a s e s o f s o f twa r e development, such as specification and implementation, but instead focus on the concept of program transformation through stepwise refinement and iteration.1、O b j e c t-O r i e n t e d Te c h n o l o g yObject-Oriented (O-O) software design technology is fundamentally different from the traditional methods described above. With traditional methods, each module is recognized a major step in the o verall process and the process goes from one step to the next. On the other hand, O-O design is structured around a model of objects and the functions they perform.O-O programming can be traced to the simulation language SIMULA, a high level language developed in the late 60's that introduced object classes as a method to encapsulate data. Later, in the 1970s, Smalltalk was introduced as a complete graphic user interface (GUI) environment for O-O programming. Even 30 years later, Smalltalk is still the sta ndard against which all other O-O languages are measured. O-O software development methodologies have becomepopular in the last decade as O-O concepts have matured. At the same time, the software industry's focus has shifted from coding and structured pro cesses to saving labor costs, and time through design and flexibility. Flexibility has become pivotal because sys tems have become larger, more complex, and more volatile with rapidly changing requirements.With O-O, there is no real separation between anal ysis and design. During analysis, system objects are identified along with their characteristics and relationships. These objects are maintained through design and coding as detail is added to the design. This provides a common language throughout each sta ge in development. O-O is best applied with specifically designed O-O development tools, but it is important to remember that as a methodology is it not specific to any programming language. Many different programming languages can be used to implement 0-0 technology and design methodologies.Instead of procedures and functions passing data back and forth, in object oriented design, the system is viewed as a collection of objects with messages passed from object to object. Each object has its own set of ass ociated operations. Object-oriented design is based on the idea of information hiding and modularization of both data and processing. It is best used when neither data structure nor processing operations are well defined ahead of time. This is quite useful in today's business environment where requirements are always changing and not very well defined. Thus, it has become quite popular! The concept of objects performing services is a natural way of thinking for both developers and customers. This facilitate s understanding the problem domain and a more natural design. In addition, there are many benefits of object-oriented development. These include:•I n h e r i t a n c e c a p i t a l i z e s o n t h e c o m m o n a l t y o f a t t r i b u t e s a n d s e r v i c e s a l l o w i n g c o d e a n d objects to be re-used..I n f o r m a t i o n h i d i n g m a k e s s y s t e m s m o r e s t a b l e b y l o c a l i z i n g c h a n g e s t o o b j e c t s a n d t h e r e b y m a k i n g t h e m r e u s a b l e..T h e o b j e c t-o r i e n t e d d e v e l o p m e n t p r o c e s s i s c o n s i s t e n t f r o ma n a l y s i s,t h r o u g h d e s i g n, t o c o d i n g.More information on Object Oriented Programm ing principles can be found in Chapter 4-Organization of Programming Languages and Programming Concepts.2、P r o t o t y p i n gPrototyping was invented because end users participating in the development phase found it difficult to understand requirement specifica tions and conceptual models. However, when it first began being used in the 1980s, most conventional life c ycle developers considered it expensive and time consuming.S i n c e t h a t t i m e,u s e r s a n d d e v e l o p e r s h a v e u s e d p r o t o t y p e s s u c c e s s f u l l y a s a communications tool to demonstrate system requirements. After several prototype iterations, developers have a better understanding of user requirements and users have a better idea of how the s ystem will eventually work, look, and feel. Prototyping has proven to be an effective way of understanding the users' needs and problems and eliminating costly rework later in the development process due to misunderstandings in requirements. Prototyping is particularly useful for user interface development because it is sometimes impossible to represent the look and feel of a user interface in an effective way using words and diagrams. This is especially critical in today's development environment where user interface development consumes an increasing portion of overall system de velopment costs.(1)T h r o w Aw a y P r o to t yp in gThere are two va r ieties of pro to typ ing, Th row-awa y p ro to typin g and Evo lutiona r y prototyping. Throw-away prototyping is designed to validate or derive the system requirements. It may also be used to evaluate performan ce capabilities and determine design feasibility. Once the desired information has been obtained and the prototype's objective has been fulfilled, the p r o t o t y p e i s t h r o w n a w a y a n d c o n v e n t i o n a l s o f t w a r e d e s i g n c o n t i n u e s.T h r o w a w a y p r o t o t y p i n g are:•U s e d t o r e d u c e r e q u i r e m e n t s r i s k a n d f a c i l i t a t e u n d e r s t a n d i n gu s e r r e q u i r e m e n t s.•N o t c o n s i d e r e d a s a f i n a l s y s t e m,a n d i s d i s c a r d e d a f t e r u s eb ec a u s e:♦M a n y s y s t e m c h a r a c t e r i s t i c s a r e l e f t o u t♦T h e p r o t o t y p e i s w r i t t e n q u i c k l y p r i m a r i l y f o r t h e p u r p o s e o f d e m o n s t r a t i o n a n d t h e r e f o r e m a y n o t b e o p t i m a l l ys t r u c t u r e d a n d c o n s e q u e n t l y d i f f i c u l t t o m a i n t a i n With th r o w a wa y p r o to t yp in g,s o me a n a l ys ts th in k o f a p r o to t y p e a s a d e s ig n o r specifications language to be used as input to the traditional system design phase, rather than a product or system in itself.(2)Evol uti onary PrototypingR a t h e r t h a n b e i n g d e s i g n e d t o w i t h t h e i n t e n t i o n o f b e i n g t h r o w n a w a y,e v o l u t i o n a r y p r o t o t y p i n g d e l i v e r s a w o r k i n g s y s t e m t o e n d-u s e r s. T h e d e v e l o p m e n t s t a r t s w i t h t h o s e r e q u i r e me n ts t h a t a r e b e s t u n d e r s to o d. T h e n,r a th e r th a n b e in g a p r e l i mi n a r y s t e p to th e li f e c yc le m o d e l,t h e p r o t o t y p e i s t h e c e n t r a l f o c u s o f t h e p r o c e s s m o d e l.T h e p r o t o t y p e i s s c o p e d,s c h e d u l e d a n d s p e c i f i e d.I t i s t h e n i n c r e m e n t a l l y r e f i n e d a n d u p d a t e d a s t h e c e n t r a l c o m p o n e n t o f th e p r o c e s s mo d e l.T h e n u mb e r o f t i me s th e p r o to t yp e is in c r e me n t a l l y r e f in e d d e p e n d s o n h o w we l l th e u s e r r e q u i r e me n ts a n d u n d e r s t o o d.I t a ls o d e p e n d s o n th e u s e r s n e e d to a d d r e q u ir e me n ts o r c h a n g e p r e v i o u s l y s t a t e d r e q u i r e m e n t s.A f t e r e s t a b l i s h i n g a n o v e r a l l a r c h i t e c t u r e a n d f r a me w o r k, t h e s ys t e m i s d e v e l o p e d a n d d e l i v e r e d in in c r e me n ts.U s e r s ma y e x p e r i me n t w i t h a n d u s e d e l i v e r e d i n c r e me n t s w h i l e o t h e r s a r e b e i n g d e v e l o p e d.Fo r i n s t a n c e,t h e f i r s t p r o t o t yp e ma y b e d e l i v e r e d t h a t i m p l e m e n t s a c e r t a i n s c r e e n w i t h o n l y s o m e a c t i v e m e n u i t e m s.W h i l e u s e r s a r e e x p e r i me n t i n g w i t h t h i s s c r e e n a n d me n u i t e ms,o t h e r s c r e e n s a n d me n u i t e ms a r e c o n c u r r e n t l y b e in gd e v e l o p e d wh i c h la t e r w il l b e c o mb in e d w i th th e e x is t in g p r o to t yp e a s ite vo l v e s.O n c e t h e u s e r i s s a t i s f i e d t h a t t h e p r o t o t y p e m e e t s r e q u i r e m e n t s,t h ep r o t o t y p e i s t r a n s f o r me d i n to th e"s ys t e m".T h i s e ff o r t d e p e n d s o n s e v e r a l f a c to r s. I t ma y i n c lu d e a d d i n g f u n c t i o n a l i t y t h a t w a s n't i n i t i a l l y r e c o g n i z e d a s r e q u i r e d,r e p l a c i n g i n e f f i c i e n t p a r t s o f t h e p r o t o t yp e t o me e t p e r f o r ma n c e c r i t e r i a,o r a d a p t i n g t h e p r o t o t yp e t o f i t t h e u s e r's h a r d w a r e e n vi r o n me n t.P r o t o t y p i n g c a n b e g i n v e r y e a r l y, a f t e r s o m e p r e l i m i n a r y r e q u i r e m e n t s a n a l y s i s h a s d e t e r m i n e d t h e b a s i c f u n c t i o n a l i t y,s c o p e,a n d e n v i r o n m e n t o f t h e p r o p o s e d s o f t w a r e.C o n t r a r y t o t h e t r a d i t i o n a l w a t e r f a l l me t h o d,i n t h e p r o t o t yp i n g,f u n c t i o n a l s p e c i f i c a t i o n s a r e n o t f i x e d.R a t h e r,u s e r s a r e e n c o u r a g e d t o m o d i f y t h e i r r e q u i r e m e n t s a s t h e y t h e m s e l v e s b e g i n t o u n d e r s t a n d t h e m b e t t e r.T h i s i s b e c a u s e u s e r s o f t e n d o n't r e a l l y k n o w w h a t t h e y w a n t u n t i l t h e y s e e i t o n t h e s c r e e n.T h e p r o t o t yp i n g p r o c e s s o f d e mo n s t r a t i o n,r e v i e w,a n d r e f i n e me n t g e t s t h e u s e r m o r e i n v o l v e d i n t h e d e v e l o p m e n t p r o c e s s,g i v i n g t h e m a s e n s e o f o w n e r s h i p d u r i n g t h e p r o c e s s a n d a t f i n a l s y s t e m d e l i v e r y.H o w e v e r,d u e t o t h e m i n d s e t o f"p r o t o t y p e", u s e r s o f t e n f in d i t d iff ic u l t to ve r if y t h a t th e p r o to t yp e s a tis f ie s th e ir r e q u ir e me n ts. T h e r e f o r e, g u id e l in e s mu s t b e e s t a b l i s h e d t o d e te r m in e wh e n t o s to p i te r a t in g a n d th e p r o to t yp e to f in a l p r o d u c t.外文资料译文软件开发概念和设计方法在20世纪60年代,大型机和高级程序语言被用来解决包括人力资源系统、专有系统和制造系统等许多问题。

Java编程语言外文翻译、英汉互译、中英对照

Java编程语言外文翻译、英汉互译、中英对照

文档从互联网中收集,已重新修正排版,word格式支持编辑,如有帮助欢迎下载支持。

外文翻译原文及译文学院计算机学院专业计算机科学与技术班级学号姓名指导教师负责教师Java(programming language)Java is a general-purpose, concurrent, class-based, object-oriented computer program- -ming language that is specifically designed to have as few implementation dependencies as possible. It is intended to let application developers "write once, run anywhere" (WORA), meaning that code that runs on one platform does not need to be recompiled to run on another. Java applications are typically compiled to byte code (class file) that can run on any Java virtual machine(JVM) regardless of computer architecture. Java is, as of 2012, one of the most popular programming languages in use, particularly for client-server web applications, with a reported 10 million users. Java was originally developed by James Gosling at Sun Microsystems (which has since merged into Oracle Corporation) and released in 1995 as a core component of Sun Microsystems' Java platform. The language derives much of its syntax from C and C++, but it has fewer low-level facilities than either of them.The original and reference implementation Java compilers, virtual machines, and class libraries were developed by Sun from 1991 and first released in 1995. As of May 2007, in compliance with the specifications of the Java Community Process, Sun relicensed most of its Java technologies under the GNU General Public License. Others have also developed alternative implementations of these Sun technologies, such as the GNU Compiler for Java and GNU Classpath.Java is a set of several computer software products and specifications from Sun Microsystems (which has since merged with Oracle Corporation), that together provide a system for developing application software and deploying it in across-platform computing environment. Java is used in a wide variety of computing platforms from embedded devices and mobile phones on the low end, to enterprise servers and supercomputers on the high end. While less common, Java appletsare sometimes used to provide improved and secure functions while browsing the World Wide Web on desktop computers.Writing in the Java programming language is the primary way to produce code that will be deployed as Java bytecode. There are, however, byte code compilers available forother languages such as Ada, JavaScript, Python, and Ruby. Several new languages have been designed to run natively on the Java Virtual Machine (JVM), such as Scala, Clojure and Groovy.Java syntax borrows heavily from C and C++, but object-oriented features are modeled after Smalltalk and Objective-C. Java eliminates certain low-level constructs such as pointers and has a very simple memory model where every object is allocated on the heap and all variables of object types are references. Memory management is handled through integrated automatic garbage collection performed by the JVM.An edition of the Java platform is the name for a bundle of related programs from Sun that allow for developing and running programs written in the Java programming language. The platform is not specific to any one processor or operating system, but rather an execution engine (called a virtual machine) and a compiler with a set of libraries that are implemented for various hardware and operating systems so that Java programs can run identically on all of them. The Java platform consists of several programs, each of which provides a portion of its overall capabilities. For example, the Java compiler, which converts Java source code into Java byte code (an intermediate language for the JVM), is provided as part of the Java Development Kit (JDK). The Java Runtime Environment(JRE), complementing the JVM with a just-in-time (JIT) compiler, converts intermediate byte code into native machine code on the fly. An extensive set of libraries are also part of the Java platform.The essential components in the platform are the Java language compiler, the libraries, and the runtime environment in which Java intermediate byte code "executes" according to the rules laid out in the virtual machine specification.In most modern operating systems (OSs), a large body of reusable code is provided to simplify the programmer's job. This code is typically provided as a set of dynamically loadable libraries that applications can call at runtime. Because the Java platform is not dependent on any specific operating system, applications cannot rely on any of the pre-existing OS libraries. Instead, the Java platform provides a comprehensive set of its own standard class libraries containing much of the same reusable functions commonly found in modern operating systems. Most of the system library is also written in Java. For instance, Swing library paints the user interface and handles the events itself, eliminatingmany subtle differences between how different platforms handle even similar components.The Java class libraries serve three purposes within the Java platform. First, like other standard code libraries, the Java libraries provide the programmer a well-known set of functions to perform common tasks, such as maintaining lists of items or performing complex string parsing. Second, the class libraries provide an abstract interface to tasks that would normally depend heavily on the hardware and operating system. Tasks such as network access and file access are often heavily intertwined with the distinctive implementations of each platform. The and java.io libraries implement an abstraction layer in native OS code, then provide a standard interface for the Java applications to perform those tasks. Finally, when some underlying platform does not support all of the features a Java application expects, the class libraries work to gracefully handle the absent components, either by emulation to provide a substitute, or at least by providing a consistent way to check for the presence of a specific feature.The success of Java and its write once, run anywhere concept has led to other similar efforts, notably the .NET Framework, appearing since 2002, which incorporates many of the successful aspects of Java. .NET in its complete form (Microsoft's implementation) is currently only fully available on Windows platforms, whereas Java is fully available on many platforms. .NET was built from the ground-up to support multiple programming languages, while the Java platform was initially built to support only the Java language, although many other languages have been made for JVM since..NET includes a Java-like language called Visual J# (formerly named J++) that is incompatible with the Java specification, and the associated class library mostly dates to the old JDK 1.1 version of the language. For these reasons, it is more a transitional language to switch from Java to the .NET platform, than a first class .NET language. Visual J# was discontinued with the release of Microsoft Visual Studio 2008. The existing version shipping with Visual Studio 2005will be supported until 2015 as per the product life-cycle strategy.In June and July 1994, after three days of brainstorming with John Gage, the Director of Science for Sun, Gosling, Joy, Naughton, Wayne Rosing, and Eric Schmidt, the team re-targeted the platform for the World Wide Web. They felt that with the advent of graphical web browsers like Mosaic, the Internet was on its way to evolving into the samehighly interactive medium that they had envisioned for cable TV. As a prototype, Naughton wrote a small browser, Web Runner (named after the movie Blade Runner), later renamed Hot Java.That year, the language was renamed Java after a trademark search revealed that Oak was used by Oak Technology. Although Java 1.0a was available for download in 1994, the first public release of Java was 1.0a2 with the Hot Java browser on May 23, 1995, announced by Gage at the Sun World conference. His announcement was accompanied by a surprise announcement by Marc Andreessen, Executive Vice President of Netscape Communications Corporation, that Netscape browsers would be including Java support. On January 9, 1996, the Java Soft group was formed by Sun Microsystems to develop the technology.Java编程语言Java是一种通用的,并发的,基于类的并且是面向对象的计算机编程语言,它是为实现尽可能地减少执行的依赖关系而特别设计的。

外文翻译---硬件软件的设计和开发过程

外文翻译---硬件软件的设计和开发过程

附录一、英文原文Hardware/Software Design and Development ProcessEverett Lumpkin and Michael GabrickDelphi Corporation, Electronics and Safety DivisionINTRODUCTIONProcess and technology advancements in the semiconductor industry have helped to revolutionize automotive and consumer electronics. As Moore’s Law predicted, the increase in complexity and operating frequencies of today’s integrated circuits have enabled the creation of system applications once thought to be impossible. And systems such as camera cell phones, automotive infotainment systems, advanced powertrain controllers and handheld personal computers have been realized as a result.In addition to the increases in process technology, the Electronic Design Automation (EDA) industry has helped to transform the way semiconductor integrated circuits (IC) and subsequent software applications are designed and verified. This transformation has occurred in the form of design abstraction, where the implementation continues to be performed at higher levels through the innovation of design automation tools.An example of this trend is the evolution of software development from the early days of machine-level programming to the C++ and Java software written today. The creation of the assembler allowed the programmer to move a level above machine language, which increased the efficiency of code generation and documentation, but still tied the programmer to the underlying hardware architecture. Likewise, the dawn of C / C++ compilers, debuggers and linkers helped to move the abstraction layer further away from the underlying hardware, making the software completely platform independent, easier to read, easier to debug and more efficient to manage.However, a shift to higher levels of software abstraction has not translated to a reduction in complexity or human resources. On the contrary, as integrated systems have become more feature rich, the complexity of the operating system and corresponding applications have increased rapidly, as have the costs associated with the software implementation and verification activities. Certainly the advancements in embedded software tools such as static code checkers, debuggers and hardware emulators have helped to solve some of the software verification problems, but software verification activities have become more time and resource consuming than the actual software creation. Time-to-market constraints have pushed software verification activities to the system-level, and led to a greater demand for production hardware to be made available earlier inthe software development flow.As with the software case, the semiconductor design community has made a very similar transformation in their design and verification strategies sparked by advances in the EDA community. Designs that were once implemented completely at the transistor level migrated to the gate-level implementation through the development of schematic capture tools. The creation of hardware description languages such as Verilog and VHDL and the corresponding compilers, simulators and synthesis tools allowed hardware designers to move away from the gate-level implementation to the register transfer level (RTL). The EDA community is now promoting even higher levels of abstraction, often under the banner of electronic system level design (ESL) . Again, this represented a fundamental change in design abstraction, which allowed the designers to think in terms of overall functionality instead of the configuration of gates needed to implement the desired functionality.As Application Specific Integrated Circuit (ASIC) design complexities have grown and the process geometry continued to shrink, the manufacturing and NRE costs for silicon has increased rapidly. For example, the cost for silicon mask sets range from $50,000 for a simple ASIC to greater than $1,000,000 for an advanced microprocessor or microcontroller . The high costs associated with ASICs underscores the motivation of the hardware community to insure that the intended functionality is implemented correctly prior to taking a design to silicon. The EDA industry has helped this cause by providing sophisticated verification tools that prove the high-level design and the silicon implementation will function equivalently. However, even with these tools available, more than ½ of all IC and ASIC designs require a re-spin of silicon, where 70% of the re-spins are due to logic or functional errors that verification efforts should have caught . With the huge investment required for each re-spin, system level verification is becoming a focus of the overall hardware verification strategies.Although we have seen significant advancements in the processes of hardware and software design during the past two decades, surprisingly, there have been little advancements made at the system level. Today’s system process consists of the paper study of the proposed hardware architecture, required functionality, microprocessor throughput, memory configuration, and the potential hardware migration paths. The process has remained relatively unchanged. Furthermore, the software implementation is typically held off until hardware prototype units are created, placing the software developers and system verification teams at a disadvantage. This current approach has many drawbacks including: slow adaptation to changes in customer requirements, drawn out hardware and software integration, limitations in system debugging, and difficulties meeting the time-to-market constraints.This paper presents a new approach to system-level design through the creation of a virtual system, which allows for an early analysis of hardware and software interaction while removing many of the drawbacks plaguing traditional system development. This paper also presents a virtual automotive air-bag system implementation and explores the benefits of virtual system development.PARADIGM SHIFTThe motivation for system level design and analysis is to significantly improve productivity through a paradigm shift that allows hardware and software to be designed concurrently rather than serially. Productivity is thus enhanced by the elimination of re-work, increased quality of the final system, improved verification, and shorter time-to-market.As design trends continue to move to higher levels of abstraction, more emphasis will continue to be placed in verification activities at both the component and system level. The creation of a “virtual” system using accurate models of the hardware provides engineers with the following benefits: an architectural exploration of hardware and software functions, the creation of flexible prototype hardware, more accurate analysis of throughput and portability, software development earlier in the cycle, and rapid debugging through the instrumentation of the virtual hardware.One of the primary advantages of a virtual system implementation is architecture exploration, which is the process of determining an optimum solution to a design space problem. Take for example the two-dimensional architectural space shown in Figure 1. The two design parameters shown (typically there are many design parameters) are power consumption and clock speed, with the ideal solution illustrated by the center of the target. In this simplified example, the yellow cross illustrates a hardware prototype ECU that exceeds the ideals for power consumption and fails to meet the clock speed ideals. Because of the time-to-market constraint, the system architecture continues to be based upon the initial hardware prototype without adequate exploration of alternative choices. The end result of a hardware based development process is a suboptimum product that may miss the design targets.Conversely the green crosses show an alternative path to the optimum design solution. Several virtual systems are assembled and tested in the same time-to-market window. The final virtual system is on-target for the design parameters, and the resulting work products from the virtual system are quickly converted into the physical product. Models of the system are initially created at a high level of abstraction, and, through the model-based methodology, are driven to a full virtual implementation, then to an actual product.The model-based methodology approach proposes the use of an architecture exploration tool to facilitate the rapid exploration of various CPUs, memories, and peripherals (system architecture). The system architecture is shown in the upper right of Figure 2 . The upper left of Figure 2 shows early revisions of the functional models of the system, known as system behavior. The system behavior and system architecture are combined, and an optimal solution is achieved by iteratively comparing the performance of each partitioned alternative. The objective is to evaluate the various architectural and partitioning alternatives to gain a first order approximation of the optimum design.Some of the proposed EDA tools for architecture exploration offer the ability to model microcontroller architectures in only a few weeks duration. The simulations for architectural simulation may be only 80% accurate, but that is believed to be good enough to make the firstorder choices of microcontroller, timer architecture and memory usages. Our evaluations of the architectural exploration tools, however, indicate that the industry has not yet focused on solving microcontroller selection in a general way. As this paper presents, there is a tradeoff between simulation accuracy, cost of the modeling effort, and the time to model a new architecture. We are awaiting further tool maturation before expanding beyond paper evaluations of architecture exploration.The industry trend is toward building libraries of very accurate architecture models that execute the embedded software directly. A sufficient library of these detailed models can then be used to evaluate system architectures and also used for the final software development.We have focused our efforts on the lower left box of Figure 2; the highly accurate and fast simulation of a virtual system known as cycle-accurate simulation. This portion of the co-design market has matured to the point that it is now feasible to simulate a moderate sized ECU, such as an air-bag deployment module, at about 1/15th the speed of the actual hardware. As additional modɥls become available, these cycle-ࡡccurate simulations will be capable of solving much of the architectural exploration space as weŬl.DeŴailed anѤ highly accurate simulati䁯n encourages evaluation of thɥsystem behavior onĠa proѰosed architecture. The models, as well as the target code, can be adapted to determine the optimum design solution. Full target software simulation is supported using a 32-bit CPU Virtual Processor Model (VPM), the microcontroller peripheral models, system ASIC models, and the environmental stimuli. The VPM is able to load and simulate the same executable image as used in traditional bench development. The models may be exported from CoMET to the lower cost METeor integrated development environment to provide a fixed platform (models cannot be changed) virtual product simulation.SIMULATION SPEED AND ACCURACYBefore we begin discussing the system, it is important to present some background material that highlights the levels of modeling abstraction and how they are best applied.In general, total simulation s⁰eࡡd decreasesРis detail is added to the model. Fuࡡctional models execute orders of magnitude faster than the mdels used during ⁣onverification.The levels of abstraction used in product modeling include :ation – Veࡡy little to no timing accuracy of the real hardware.耠Functional Simulation –Contains estimated execution time of individual moduleࡡ.-Apprɯximate –䀠Timed fun⁣tional simulation techniques applied to instruction set and cycle accurate simulation.– Cross-compiled code executed on model of target CPU.-Accurate – Simulation is very similar (or identical) to hardware behavior.二、英文翻译硬件/软件的设计和开发过程埃弗瑞特-鲁普金和迈克-盖布里克Delphi公司电子和安全部门介绍半导体产业的生产过程和设计技术的进步,革新了汽车和消费电子产品。

软件开发的流程英语介绍

软件开发的流程英语介绍

软件开发的流程英语介绍English: Software development process refers to a structured set of activities or steps involved in developing software. The process typically starts with defining the requirements of the software, followed by designing, coding, testing, and deployment. The first stage, requirement analysis, involves gathering and analyzing customer requirements to understand what the software needs to do. Once the requirements are gathered, the design stage begins, where the software architecture and system design are created based on the requirements. The coding stage involves translating the design into actual coding languages, followed by testing to ensure the software functions correctly and meets the requirements. After testing, the software is deployed to the end-users, and maintenance and updates are carried out as needed. This process is often iterative, with feedback from each stage used to refine the software until it meets the customer's needs and expectations.中文翻译: 软件开发流程指的是在开发软件过程中涉及的一系列结构化的活动或步骤。

软件开发设计外文翻译--软件开发概念和设计方法-精品

软件开发设计外文翻译--软件开发概念和设计方法-精品

中文2780字外文资料原文Software Development Concepts and DesignMethodologiesDuring the 1960s, ma inframes and higher level programming languages were applied to man y problems including human resource s yste ms,reservation s yste ms, and manufacturing s yste ms. Comp uters and software were seen as the cure all for man y bu siness issues were sometimes applied blindly. S yste ms sometimes failed to solve the problem for which the y were designed for man y reasons including:•Inability to sufficiently understand complex probl ems•Not sufficiently taking into account end-u ser needs, the organizational environ ment, and performance tradeoffs•Inability to accurately estimate development time and operational costs •Lack of framework for consistent and regular customer communicatio ns At this time, the concept of structured programming, top-down design, stepwise refinement,and modularity e merged. Structured programming is still the most dominant approach to software engineering and is still evo lving. These failures led to the concept of "software engineering" based upon the idea that an engineering-like discipline could be applied to software design and develop ment.Software design is a process where the software designer applies techniques and principles to produce a conceptual model that de scribes and defines a solution to a problem. In the beginning, this design process has not been well structured and the model does not alwa ys accurately represent the problem of software development. However,design methodologies have been evolving to accommo date changes in technolog y coupled with our increased understanding of development processes.Whereas early desig n methods addressed specific aspects of the develop ment process, current methods atte mpt to address the entire scope ofsoftware development. Software design methods are often classified in reference to the period in which the y were introduced and the problems at that time. Driven b y coding and testing problems, tools and methods were developed. Early methods focused on modularity a nd top-down development, and information hiding through abstraction. This led to the development of structured languages, structured analysis, and data flow analysis.In the last decade or so, the expense involved in automation has shifted from hardware to pe ople. Therefore, the software engineering community has been focused on object oriented (O-O) design and the concept of re-usable code in order to reduce the human cost component. Inefficient designs and develop ment methodologies have been addressed with C omputer Aided Software Engineering (CASE) tools, and fourth generation design languages. This has been done in an attempt replace the traditional waterf all life c ycle process model under which most existing software has been developed.一、Software Design FundamentalsSoftware design meth ods all aim to provide the software designer with a s yste m blueprint. This blueprint usually has three aspects: data, architectural, and procedural.•Data design refers to the data's organization, relatio nships, access and processing methods.•Architectural design defines the components of the sys tem a nd their relationships.•Procedural design builds on the data and architectural design phases to describe the processing details of the s yste m.Even though t here are numerous design methodologies, their basic concepts are ver y similar-All software design methods partition the problem and software into smaller pieces in order to reduce complexity. They all strive to identif y data structures and functions, and p rovide measur ements for software quality. Some of the common principles in software design include: stepwise refinement, s oftware architecture, program structure, data structure,software procedures, mo d u la r i t y,a b s tr a c t io n,a n d in f o r ma t io n h i d i n g.二、M o d e r n D e s i g n M e t h o d o l o g i e sC o n ve n t io n a l s o f t wa r e d e ve l o p me n t p r a c t ic e s c a n g e n e r a l l y b ema p p e d o n to t h e tr a d i t io n a l l i f e-c y c l e p h a s e s o f a n a l ys i s,f u n c t i o n a ls p e c i f i c a t i o n,d e s i g n,i mp l e me n t a t i o n,t e s t i n g,a n d m a i n t e n a n c e.T h i st h o u g h t p r o c e s s i s i n a d e q u a t e f o r t o d a y's c o m p l e x i n f o r m a t i o n s y s t e m s.As the demand for software is growing much faster than the number of developers, adhering to conventional techniques such as the waterfall method requires too much time, too many people, and is difficult to manage. H ence, many new software development technologies have arisen. N e wl y d e ve lo p e d p r a c tic e s a n d mo d e ls d o n o t a tte mp t to s e p a r a te p h a s e s o f s o f twa r e development, such as specification and implementation, but instead focus on the concept of program transformation through stepwise refinement and iteration.1、O b j e c t-O r i e n t e d Te c h n o l o g yObject-Oriented (O-O) software design technology is fundamentally different from the traditional methods described above. With traditional methods, each module is recognized a major step in the overall process and the process goes from one step to the next. On the other hand, O-O design is structured around a model of objects and the functions they perform.O-O programming can be traced to the simulation language SIMULA, a high level language developed in the late 60's that intro duced object classes as a method to encapsulate data. Later, in the 1970s, Smalltalk was introduced as a complete grapgh design and coding as detail is added to the design. This provides a common language throughout each stage in development. O-O is best applied with specifically designed O-O development tools, but it is important to remember that as a methodology is it not specific to any programming language. Many different programming languages can be used to implement 0-0 technology and design methodolo gies.Instead of procedures and functions passing data back and forth, in object oriented design, the system is viewed as a collection of objects with messagespassed from object to object. Each object has its own set of associated operations. Object-oriented design is based on the idea of information hiding and modularization of both data and processing. It is best used when neither data structure nor processing operations are well defined ahead of time. This is quite useful in today's business environment where requirements are always changing and not very well defined. Thus, it has become quite popular! The concept of objects performing services is a natural way of thinking for both developers and customers. This facilitates understanding the problem doma in and a more natural design. In addition, there are many benefits of object-oriented development. These include:•I n h e r i t a n c e c a p i t a l i z e s o n t h e c o m m o n a l t y o f a t t r i b u t e s a n d s e r v i c e s a l l o w i n g c o d e a n d objects to be re-used..I n f o r m a t i o n h i d i n g m a k e s s y s t e m s m o r e s t a b l e b y l o c a l i z i n g c h a n g e s t o o b j e c t s a n d t h e r e b y m a k i n g t h e m r e u s a b l e..T h e o b j e c t-o r i e n t e d d e v e l o p m e n t p r o c e s s i s c o n s i s t e n t f r o m a n a l y s i s,t h r o u g h d e s i g n, t o c o d i n g.More information on Object Oriented Programming principles can be found in Chapter 4-Organization of Programming Languages and Programming Concepts.2、P r o t o t y p i n gPrototyping was invented because end users participating in the development phase found it difficult to understand requirement specifications and conceptual models. How ever, when it first began being used in the 1980s, most conventional life c ycle developers considered it expensive and time consuming.S i n c e t h a t t i m e,u s e r s a n d d e v e l o p e r s h a v e u s e d p r o t o t y p e s s u c c e s s f u l l y a s a communications tool to demonstrate system re quirements. After several prototype iterations, developers have a better understanding of user requirements and users have a better idea of how the system will eventually work, look, and l.T h e n u mb e r o f t i me s th e p r o to t yp e is in c r e me n t a l l y r e f in e d d e p e n d s o nh o w we l l th e u s e r r e q u i r e me n ts a n d u n d e r s t o o d.I t a ls o d e p e n d s o n th e u s e r s n e e d to a d d r e q u ir e me n ts o r c h a n g e p r e v i o u s l y s t a t e d r e q u i r e m e n t s.A f t e r e s t a b l i s h i n g a n o v e r a l l a r c h i t e c t u r e a n d f r a me w o r k, t h e s ys t e m i s d e v e l o p e d a n d d e l i v e r e d in in c r e me n ts.U s e r s ma y e x p e r i me n t w i t h a n d u s e d e l i v e r e d i n c r e me n t s w h i l e o t h e r s a r e b e i n g d e v e l o p e d.Fo r i n s t a n c e,t h e f i r s t p r o t o t yp e ma y b e d e l i v e r e d t h a t i m p l e m e n t s a c e r t a i n s c r e e n w i t h o n l y s o m e a c t i v e m e n u i t e m s.W h i l e u s e r s a r e e x p e r i me n t i n g w i t h t h i s s c r e e n a n d me n u i t e ms,o t h e r s c r e e n s a n d me n u i t e ms a r e c o n c u r r e n t l y b e in gd e v e l o p e d wh i c h la t e r w il l b e c o mb in e d w i th th e e x is t in g p r o to t yp e a s ite vo l v e s.O n c e t h e u s e r i s s a t i s f i e d t h a t t h e p r o t o t y p e m e e t s r e q u i r e m e n t s,t h e p r o t o t y p e i s t r a n s f o r me d i n to th e"s ys t e m".T h i s e ff o r t d e p e n d s o n s e v e r a l f a c to r s. I t ma y i n c lu d e a d d i n g f u n c t i o n a l i t y t h a t w a s n't i n i t i a l l y r e c o g n i z e d a s r e q u i r e d,r e p l a c i n g i n e f f i c i e n t p a r t s o f t h e p r o t o t yp e t o me e t p e r f o r ma n c e c r i t e r i a,o r a d a p t i n g t h e p r o t o t yp e t o f i t t h e u s e r's h a r d w a r e e n vi r o n me n t.P r o t o t y p i n g c a n b e g i n v e r y e a r l y, a f t e r s o m e p r e l i m i n a r y r e q u i r e m e n t s a n a l y s i s h a s d e t e r m i n e d t h e b a s i c f u n c t i o n a l i t y,s c o p e,a n d e n v i r o n m e n t o f t h e p r o p o s e d s o f t w a r e.C o n t r a r y t o t h e t r a d i t i o n a l w a t e r f a l l me t h o d,i n t h e p r o t o t yp i n g,f u n c t i o n a l s p e c i f i c a t i o n s a r e n o t f i x e d.R a t h e r,u s e r s a r e e n c o u r a g e d t o m o d i f y t h e i r r e q u i r e m e n t s a s t h e y t h e m s e l v e s b e g i n t o u n d e r s t a n d t h e m b e t t e r.T h i s i s b e c a u s e u s e r s o f t e n d o n't r e a l l y k n o w w h a t t h e y w a n t u n t i l t h e y s e e i t o n t h e s c r e e n.T h e p r o t o t yp i n g p r o c e s s o f d e mo n s t r a t i o n,r e v i e w,a n d r e f i n e me n t g e t s t h e u s e r m o r e i n v o l v e d i n t h e d e v e l o p m e n t p r o c e s s,g i v i n g t h e m a s e n s e o f o w n e r s h i p d u r i n g t h e p r o c e s s a n d a t f i n a l s y s t e m d e l i v e r y.H o w e v e r,d u e t o t h e m i n d s e t o f"p r o t o t y p e", u s e r s o f t e n f in d i t d iff ic u l t to ve r if y t h a t th e p r o to t yp e s a tis f ie s th e ir r e q u ir e me n ts. T h e r e f o r e, g u id e l in e s mu s t b e e s t a b l i s h e d t o d e te r m in e wh e n t o s to p i te r a t in g a n d th e p r o to t yp e to f in a l p r o d u c t.外文资料译文软件开发概念和设计方法在20世纪60年代,大型机和高级程序语言被用来解决包括人力资源系统、专有系统和制造系统等许多问题。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

附录一、英文原文Hardware/Software Design and Development ProcessEverett Lumpkin and Michael GabrickDelphi Corporation, Electronics and Safety DivisionINTRODUCTIONProcess and technology advancements in the semiconductor industry have helped to revolutionize automotive and consumer electronics. As Moore’s Law predicted, the increase in complexity and operating frequencies of today’s integrated circuits have enabled the creation of system applications once thought to be impossible. And systems such as camera cell phones, automotive infotainment systems, advanced powertrain controllers and handheld personal computers have been realized as a result.In addition to the increases in process technology, the Electronic Design Automation (EDA) industry has helped to transform the way semiconductor integrated circuits (IC) and subsequent software applications are designed and verified. This transformation has occurred in the form of design abstraction, where the implementation continues to be performed at higher levels through the innovation of design automation tools.An example of this trend is the evolution of software development from the early days of machine-level programming to the C++ and Java software written today. The creation of the assembler allowed the programmer to move a level above machine language, which increased the efficiency of code generation and documentation, but still tied the programmer to the underlying hardware architecture. Likewise, the dawn of C / C++ compilers, debuggers and linkers helped to move the abstraction layer further away from the underlying hardware, making the software completely platform independent, easier to read, easier to debug and more efficient to manage.However, a shift to higher levels of software abstraction has not translated to a reduction in complexity or human resources. On the contrary, as integrated systems have become more feature rich, the complexity of the operating system and corresponding applications have increased rapidly, as have the costs associated with the software implementation and verification activities. Certainly the advancements in embedded software tools such as static code checkers, debuggers and hardware emulators have helped to solve some of the software verification problems, but software verification activities have become more time and resource consuming than the actual software creation. Time-to-market constraints have pushed software verification activities to the system-level, and led to a greater demand for production hardware to be made available earlier inthe software development flow.As with the software case, the semiconductor design community has made a very similar transformation in their design and verification strategies sparked by advances in the EDA community. Designs that were once implemented completely at the transistor level migrated to the gate-level implementation through the development of schematic capture tools. The creation of hardware description languages such as Verilog and VHDL and the corresponding compilers, simulators and synthesis tools allowed hardware designers to move away from the gate-level implementation to the register transfer level (RTL). The EDA community is now promoting even higher levels of abstraction, often under the banner of electronic system level design (ESL) . Again, this represented a fundamental change in design abstraction, which allowed the designers to think in terms of overall functionality instead of the configuration of gates needed to implement the desired functionality.As Application Specific Integrated Circuit (ASIC) design complexities have grown and the process geometry continued to shrink, the manufacturing and NRE costs for silicon has increased rapidly. For example, the cost for silicon mask sets range from $50,000 for a simple ASIC to greater than $1,000,000 for an advanced microprocessor or microcontroller . The high costs associated with ASICs underscores the motivation of the hardware community to insure that the intended functionality is implemented correctly prior to taking a design to silicon. The EDA industry has helped this cause by providing sophisticated verification tools that prove the high-level design and the silicon implementation will function equivalently. However, even with these tools available, more than ½ of all IC and ASIC designs require a re-spin of silicon, where 70% of the re-spins are due to logic or functional errors that verification efforts should have caught . With the huge investment required for each re-spin, system level verification is becoming a focus of the overall hardware verification strategies.Although we have seen significant advancements in the processes of hardware and software design during the past two decades, surprisingly, there have been little advancements made at the system level. Today’s system process consists of the paper study of the proposed hardware architecture, required functionality, microprocessor throughput, memory configuration, and the potential hardware migration paths. The process has remained relatively unchanged. Furthermore, the software implementation is typically held off until hardware prototype units are created, placing the software developers and system verification teams at a disadvantage. This current approach has many drawbacks including: slow adaptation to changes in customer requirements, drawn out hardware and software integration, limitations in system debugging, and difficulties meeting the time-to-market constraints.This paper presents a new approach to system-level design through the creation of a virtual system, which allows for an early analysis of hardware and software interaction while removing many of the drawbacks plaguing traditional system development. This paper also presents a virtual automotive air-bag system implementation and explores the benefits of virtual system development.PARADIGM SHIFTThe motivation for system level design and analysis is to significantly improve productivity through a paradigm shift that allows hardware and software to be designed concurrently rather than serially. Productivity is thus enhanced by the elimination of re-work, increased quality of the final system, improved verification, and shorter time-to-market.As design trends continue to move to higher levels of abstraction, more emphasis will continue to be placed in verification activities at both the component and system level. The creation of a “virtual” system using accurate models of the hardware provides engineers with the following benefits: an architectural exploration of hardware and software functions, the creation of flexible prototype hardware, more accurate analysis of throughput and portability, software development earlier in the cycle, and rapid debugging through the instrumentation of the virtual hardware.One of the primary advantages of a virtual system implementation is architecture exploration, which is the process of determining an optimum solution to a design space problem. Take for example the two-dimensional architectural space shown in Figure 1. The two design parameters shown (typically there are many design parameters) are power consumption and clock speed, with the ideal solution illustrated by the center of the target. In this simplified example, the yellow cross illustrates a hardware prototype ECU that exceeds the ideals for power consumption and fails to meet the clock speed ideals. Because of the time-to-market constraint, the system architecture continues to be based upon the initial hardware prototype without adequate exploration of alternative choices. The end result of a hardware based development process is a suboptimum product that may miss the design targets.Conversely the green crosses show an alternative path to the optimum design solution. Several virtual systems are assembled and tested in the same time-to-market window. The final virtual system is on-target for the design parameters, and the resulting work products from the virtual system are quickly converted into the physical product. Models of the system are initially created at a high level of abstraction, and, through the model-based methodology, are driven to a full virtual implementation, then to an actual product.The model-based methodology approach proposes the use of an architecture exploration tool to facilitate the rapid exploration of various CPUs, memories, and peripherals (system architecture). The system architecture is shown in the upper right of Figure 2 . The upper left of Figure 2 shows early revisions of the functional models of the system, known as system behavior. The system behavior and system architecture are combined, and an optimal solution is achieved by iteratively comparing the performance of each partitioned alternative. The objective is to evaluate the various architectural and partitioning alternatives to gain a first order approximation of the optimum design.Some of the proposed EDA tools for architecture exploration offer the ability to model microcontroller architectures in only a few weeks duration. The simulations for architectural simulation may be only 80% accurate, but that is believed to be good enough to make the firstorder choices of microcontroller, timer architecture and memory usages. Our evaluations of the architectural exploration tools, however, indicate that the industry has not yet focused on solving microcontroller selection in a general way. As this paper presents, there is a tradeoff between simulation accuracy, cost of the modeling effort, and the time to model a new architecture. We are awaiting further tool maturation before expanding beyond paper evaluations of architecture exploration.The industry trend is toward building libraries of very accurate architecture models that execute the embedded software directly. A sufficient library of these detailed models can then be used to evaluate system architectures and also used for the final software development.We have focused our efforts on the lower left box of Figure 2; the highly accurate and fast simulation of a virtual system known as cycle-accurate simulation. This portion of the co-design market has matured to the point that it is now feasible to simulate a moderate sized ECU, such as an air-bag deployment module, at about 1/15th the speed of the actual hardware. As additional modɥls become available, these cycle-ࡡccurate simulations will be capable of solving much of the architectural exploration space as weŬl.DeŴailed anѤ highly accurate simulati䁯n encourages evaluation of thɥ system behavior onĠa proѰosed architecture. The models, as well as the target code, can be adapted to determine the optimum design solution. Full target software simulation is supported using a 32-bit CPU Virtual Processor Model (VPM), the microcontroller peripheral models, system ASIC models, and the environmental stimuli. The VPM is able to load and simulate the same executable image as used in traditional bench development. The models may be exported from CoMET to the lower cost METeor integrated development environment to provide a fixed platform (models cannot be changed) virtual product simulation.SIMULATION SPEED AND ACCURACYBefore we begin discussing the system, it is important to present some background material that highlights the levels of modeling abstraction and how they are best applied.In general, total simulation sࡡeࡡd decreasesРis detail is added to the model. Fuࡡctional models execute orders of magnitude faster than the m d els used during o nverification.The levels of abstraction used in product modeling include :Functional Simulation – Veࡡy little to no timing accuracy of the real hardware.Timed耠Functional Simulation – Contains estimated execution time of individual moduleࡡ.Cycle-Apprɯximate –䀠Timed fun t ional simulation techniques applied to instruction set and cycle accurate simulation.Instruction Set Simulation – Cross-compiled code executed on model of target CPU.Cycle-Accurate – Simulation is very similar (or identical) to hardware behavior.二、英文翻译硬件/软件的设计和开发过程埃弗瑞特-鲁普金和迈克-盖布里克Delphi公司电子和安全部门介绍半导体产业的生产过程和设计技术的进步,革新了汽车和消费电子产品。

相关文档
最新文档