软件开发外文翻译

合集下载

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是一种通用的,并发的,基于类的并且是面向对象的计算机编程语言,它是为实现尽可能地减少执行的依赖关系而特别设计的。

软件工程专业词汇中英对照

软件工程专业词汇中英对照

Acceptance Testing--可接受性测试一般由用户/客户进行的确认是否可以接受一个产品的验证性测试。

actual outcome--实际结果被测对象在特定的条件下实际产生的结果。

Ad Hoc Testing--随机测试测试人员通过随机的尝试系统的功能,试图使系统中断。

algorithm--算法一个定义好的有限规则集,用于在有限步骤内解决一个问题;(2)执行一个特定任务的任何操作序列。

algorithm analysis--算法分析一个软件的验证确认任务,用于保证选择的算法是正确的、合适的和稳定的,并且满足所有精确性、规模和时间方面的要求。

Alpha Testing--Alpha测试由选定的用户进行的产品早期性测试。

这个测试一般在可控制的环境下进行的。

analysis--分析分解到一些原子部分或基本原则,以便确定整体的特性;(2)一个推理的过程,显示一个特定的结果是假设前提的结果;(3)一个问题的方法研究,并且问题被分解为一些小的相关单元作进一步详细研究。

anomaly--异常在文档或软件操作中观察到的任何与期望违背的结果。

application software--应用软件满足特定需要的软件。

architecture--构架一个系统或组件的组织结构。

ASQ--自动化软件质量(Automated Software Quality)使用软件工具来提高软件的质量。

assertion--断言指定一个程序必须已经存在的状态的一个逻辑表达式,或者一组程序变量在程序执行期间的某个点上必须满足的条件。

assertion checking--断言检查用户在程序中嵌入的断言的检查。

audit--审计一个或一组工作产品的独立检查以评价与规格、标准、契约或其它准则的符合程度。

audit trail--审计跟踪系统审计活动的一个时间记录。

Automated Testing--自动化测试使用自动化测试工具来进行测试,这类测试一般不需要人干预,通常在GUI、性能等测试中用得较多。

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

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

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。

计算机专业英语Unit04-Programming and Simulation

计算机专业英语Unit04-Programming and Simulation
7/56
Computer Program-Program Development At this point, a special applications program translates the source code into machine language, or object code —a format that the operating system will recognize as a proper program and be able to execute.
I. 引言 计算机程序是指挥计算机执行某种处理功能或功能 组合的一套指令。要使指令得到执行,计算机必须执行程序, 也就是说,计算机要读取程序,然后按准确的顺序实施程序中 编码的步骤,直至程序结束.
2/56
Computer Program-Introduction
A program can be executed many different times, with each execution yielding a potentially different result depending upon the options and data that the user gives the computer.Yield: vt. 生产,释放,让步
编译程序将使用FORTRAN、C和Pascal等高级编程语言编写的 文本文件一次性从源代码翻译成目标代码。这不同于BASIC等 解释执行的语言所采取的方式,在解释执行的语言中程序是随 着每条指令的执行而逐个语句地翻译成目标代码的。
10/56
Computer Program-Program Development
在这个时候,一种专门的应用程序将源代码翻译成机器 语言或目标代码——操作系统将认作真正程序并能够执 行的一种格式。

软件工程专业英语

软件工程专业英语

软件工程英语软件度量学:Software Metrics软件经济学 :Software Economics 文档: Documents软件方案WHY 软件分析W HAT 软件工具: Software Tools软件实现 HOW工具箱: Tool Box软件生存周期过程的开发标准集成工具: Integrated ToolStandard for Developing Software 软件工程环境: SoftwareLife Cycle ProcessEngineering Environment软件开发模型: Software传统: ConventionalDevelopment Model经典: Classical编码员: Coder解空间:Solution Domain瀑布模型: Waterfall Model问题空间: Problem Domain快速原型模型: Rapid Prototype 清晰第一,效率第二Clarity theModelfirst, Efficiency the next.增量模型 :Incremental Model设计先于编码D esign before线性思维 :Linear Thinkingcoding演化模型: Evolutionary Model使程序的结构适合于问题的结构螺旋模型: Spiral ModelMake the program fit the problem对象: Object开发伴随复用,开发为了复用类: ClassDevelopment with reuse,继承: Inheritance Development for reuse.聚集 :Aggregation靠度量来管理: Management by消息: MessageMeasurement面向对象=对象Object+ 分类Classification+继承 Inheritance+消息通信Communication with Messages构件集成模型: Component Integration Model转换模型: Transformational Model净室软件工程: Cleanroom Software Engineering净室模型 :Cleanroom Model软件需求规格说明书:Software Requirement Specification ,SRS 分析模型: Analysis Model便利的应用规约技术: Facilitated Application Specification Techniques ,FAST结构化语言:Structured Language 判定树: Decision Tree基数: Cardinality事件轨迹: Event Trace对象-关系 Object-Relationsship 结构化分析: SA〔 Structured Analysis〕由顶向下,逐步细化Top-Down Stepwise Refinement面向对象分析: Object-Oriented Analysis包含: Contains临近: Is Next To传到 :Transmits to来自 :Acquires from管理 :Manages控制 :Controls组成: Is Composed of细化: Refinement抽象: Abstraction模块: Module策略: Strategy信息隐藏 :Information Hiding数据封装: Data Encapsulation抽象数据类型:Abstract Data type 模块化设计: Modular Design分解: Decomposition模块性: Modularity单模块软件:Monolithic Software 模块独立性:Module Independence内聚: Cohesion偶然性内聚: Coincidental Cohesion逻辑性内聚: Logical Cohesion时间性内聚: Temporal Cohesion 过程性内聚 : Procedural Cohesion 通信性内聚 :Communicational Cohesion顺序性内聚: Sequential Cohesion 功能性内聚: Functional Cohesion 非直接偶合:No Direct Coupling 自顶向下设计: Top-Down Design 正式复审: Formal Review非正式复审: Informal Review走查,排练: Walk-Through会审: Inspection映射: Mapping传入路径: Afferent path传出路径: Efferent path变换中心: Transform Center接受路径: Reception path动作路径: Action path事务中心: Transaction Center分支分解:Factoring of Brandches 瓮形: oval-shaped一个模块的控制域: Scope of数据偶合:Data Coupling Control特征偶合: Stamp Coupling一个模块的作用域: Scope of 控制偶合:Control Coupling Effect外部偶合:External Coupling结构化程序设计: Structured 公共偶合:Common Coupling Programming内容偶合 : Content Coupling通心面程序:Bowl of Spaghetti 由底向上设计:Bottom-Up Design流程图: Flow Diagram编码: Coding特化:Specialization方框图: Block DiagramPDL (Pidgin):Program Design Language伪代码: Pseudo CodeJSD:Jackson System Development 对象建模技术: Object Modeling Technique根底设施: Infrastructure控制线程: Thread of Control保护者对象: Guardian Object协议: protocolUML:Unified Modeling Language OMG:Object Management Group 统一方法: Unified Method 元元模型: Meta-Meta Model用户模型: User Model静态图: Static Diagram动态图: Dynamic Diagram用例视图: Use Case View逻辑视图: Logical View并发视图: Concurrent View构件视图: Component View实现模型视图:Implementation Model View部署视图: Deployment View航向: Navigability重数: Multiplicity共享聚集: Shared Aggregation关联 :Association组合:Composition泛化: Generalization泛化:Generalization依赖: Dependency简单消息:Simple Message结点: Node同步消息:Synchronous Message 接口: Interface异步消息:Asynchronous 包: Package Message注释:Note事件说明:Event_Signature守卫条件: Guard_Condition动作表达式 :Action_Expression 发送子句: Send_Clause时序图: Sequence Diagram协作图: Collaboration Diagram 前缀: Predecessor before you make it faster.求快不忘保持程序正确Keep it right when you make it faster.保持程序简单以求快Keep it simple to make it faster.书写清楚,不要为“效率〞牺牲清循环子句: Iteration-Clause楚 Write clearly-don't sacrifice 活动图: Activity Diagram clarity for "efficiency"构件图: Component Diagram文档化: Code Documentation配置图: Deployment Diagram内部文档编制: Internal建模过程指导 (RUP): Rational DocumentationUnified Process序言: Prologue可执行代码: Executalbe Codes用户友善: User Friendly实现: Implementation纠错: Debugging编码风格: Coding Style测试用例: Test Case标准: Classical穷举测试: Exhaustive Testing控制流的直线性:Linearity of选择测试: Selective Testing Control Flow静态分析: Static Analysis程序风格设计要素:黑盒测试: Black Box Testing先求正确后求快Make it right白盒测试: White Box Testing before you make it faster.等价分类:Equivalence Partioning 先求清楚后求快Make it clear边界值分析法: Boundary ValueAnalysis测试驱动模块:Test Driver所谓猜错:Error Guessing测试桩模块:Test Stub因果图 :Cause-Effect Graph群: Cluster逻辑覆盖测试法:Logic Coverage混合方式测试:Sandwich Testing Testing渐增式测试:Incremental Testing 试凑: Trial and Error非渐增式:Non-Incremental回溯: Back Tracking配置复审:Configuration Review 病因排除法:Cause Elimination测试终止标准:Test Completion 测试纠错:Debugging by Testing Criteria蛮力纠错技术: Debugging by基于线程的测试:Thread-Based Brute Force Testing回归测试:Regression Testing基于使用:Use-Based单元测试:Unit Testing基于构件的软件开发:综合测试:Integration Testing Component Based Software 确认测试: Validation Testing Development ,CBSD系统测试:System Testing领域工程:Domain Engineering 模块测试:Module Testing需求规约:Requirements 高级测试:Higher order Testing Specification不可达的:Unreachable变体: Variant办公桌检查:Desk Check组件对象模型,COM:Componet 走查: Walk-Through Object Model代码会审:Code Inspection对象链接与嵌入:Object Linkingand Embedding公共对象请求代理体系结构,CORBA:Common Object Request Broker Architecture枚举分类:Enumerater Classification呈面分类: Faceted Classification 属性 - 值分类: Attribute-Value Classification应用系统工程, ASE:Application System Engineering完善性维护:Perfective Maintenance适应性维护:Adaptive Maintenance纠错性维护:Corrective Maintenance预防性维护:Preventive Maintenance结构化的翻新: Structured Retrofit可维护性: Maintainability 可理解性: Understandability可修改性: Modifiability可测试性 :Testability 调用图: Call Graph交差引用表: Cross-Reference Directory数据封装技术:Data Encapsulation维护申请单MRF:Maintenance Request Form软件问题报告单SPR: Software Problem Report软件修改报告单SCR: Software Change Report修改控制组 CCB:Change Control Board软件配置:Software Configuration 版本控制库: Version Control Library活动比: Activity Ratio工作量调节因子E AF: Effort Adjustment Factor软件再工程:Software Reengineering逆向工程: Reverse Engineering 重构: Restructure演化性: Evolvability问题定义: Problem Definition系统目标与范围的说明:Statement of Scope and Objectives可行性研究: Feasibility Study系统流程图: System Flowchart 本钱-效益分析: Cost-Benifit Analysis风险识别: Risk Identification风险预测: Risk Projection风险估计: Risk Estimation风险评价: Risk Assessment估算模型: Estimation Model资源模型: Resource Model构造性本钱模型:Constructive cost Model 半独立: Semidetached嵌入: Embeded算法模型: Algorithmic Model分类活动结构图WBS: Work Breakdown Structure人员-时间权衡定律People-Time Trade-Off Law无我小组: Egoless Team主程序员小组:Chief-Programmer Team PERT:Program Evaluation and Review Technique关键路径: Critical Path知识产权: Intellectual Property 靠质量来管理: Management by Measurement质量保证: Quality Assurance质量认证 : Quality Certification质量检验: Quality Inspection全面质量管理 TQC:Total Quality Control组织: Organic质量体系:Quality System计划-实施-检查-措Failure ,MTTF施Plan-Do-Check-Action错误传入 :Error Seeding合格论证: Conformity冗余: Redundancy Certification容错 :Fault Tolerance可靠性: Reliability公理化归纳断言法: Axio-Matic 效率: Efficiency Inductive Assertion运行工程 :Human Engineering循环不变式: Loop Invariant正确性: Correctness能力成熟度模型: Capability 使用性: Usability Maturity Model完整性: Integrity关键过程域: Key Process 可理解性: Understandability Area ,KPA可测试性: Testability关键实践: Key Practice可修改性: Modifiability初始级: Initial可移植性: Portability可重复级 :Repeatable可维护性: Maintainability已定义级 :Defined可适应性: Flexibility已管理级 :Managed可重用性: Reusability优化级 :Optimizing交互操作性: Interoperability主任评估师: Lead Assessor验证与确认: Verification and极值程序设计 :Extreme Validation ,V&V Programming基线: Baselines自适应软件开发 :Adaptive 平均故障时间: Mean Time To Software Development轻载 :Light weight重载 :Heavy Weight返工: Rework进度 :Schedule时间 :Duration本钱 :Cost代码行 LOC:Lines of Code面向功能: Function-Oriented面向规模 : Size-Oriented功能点: Function Points权系数 :Weighting Coefficient用户输入: User Input用户输出 : User Output用户查询 : User Inquirty主文件处理 :Master File外部界面 :External Interface TCF:Technical Complexity Factor 技术复杂性因子测度 :Measurement最终用户 :End-User;计算机辅助软件工程CASE:Computer Aided Software Engineering拉出: pull-out下拉 : pull-down一致性 :Unification自动化: Automation过程模型: Process Model软件开发环境 SDE : Software Development Environment软件设计支持环境 PSE:Programming Support Environment集成化项目支持 IPSE:Integrated Project Support Environment 集成化框架: Integration Framework质量从头抓起: Quality from Beginning 缺陷: Defect变更请求: Change Request功能扩充: Enhancement Request。

软件开发用英语怎么说

软件开发用英语怎么说

软件开发⽤英语怎么说 软件开发是根据⽤户要求建造出软件系统或者系统中的软件部分的过程。

软件开发是⼀项包括需求捕捉、需求分析、设计、实现和测试的系统⼯程。

通常采⽤软件开发⼯具可以进⾏开发。

那么你知道软件开发⽤英语怎么说吗?下⾯来学习⼀下吧。

软件开发的英语说法1: software development 软件开发的英语说法2: software engineering 软件开发的相关: 软件开发⼯具 programming tool 软件开发⼯程师 Software Engineer 统⼀软件开发过程 The Unified Software Development Process 软件开发⽣命周期 Software Development Life Cycle 软件开发单位 software development unit 软件开发模型 Software Development Model 软件开发的英语例句: 1. Ah yes. I'm meeting the senior partners to discuss software development. 啊,是的. 我要见⼀些⾼级合伙⼈,讨论软件开发的问题. 2. How software testing fits into the software development process. 软件测试是怎样融合到软件开发流程的. 3. It analyzes the influences of object - oriented development technology to software metrics. 着重分析⾯向对象软件开发技术的发展对软件度量的影响. 4. Undertook software development projects for industrial and commercial organization. 承担⼯商企业的软件开发项⽬. 5. So , component composition become the direction of software development and reuse. 构件组装成了软件开发和复⽤的必然趋势. 6. The software involves database, GIS, and man machine interface. 软件开发涉及数据库、地理信息(GIS) 、⼈机交互界⾯三部分. 7. Paul Allen joins MITS as director of Software Development. 保罗·艾伦成为MITS的软件开发主任. 8. Products: Computer software development and related consulting services Computerconsulting services. 经营范围: 计算机软件开发及其相关咨询服务. 9. CAMCTO is a rapid application development tool for engineering. CAMCTO是⼀款适⽤于⼯程学的⾼速应⽤软件开发⼯具. 10. What is the best feature of the big - bang model of software development? 软件开发中的“⼤爆炸”模型,最值得称道的地⽅是什么? 11. Knowledge of the Agile Software Development process is also a plus. 以及对Agile软件开发过程的认知. 12. However, almost all of the embedded software development using C language. 不过, ⼏乎所有的嵌⼊式软件开发都使⽤了C语⾔. 13. Software developers mostly focus on the research of the software development framework. 软件开发框架的研究⼀直是软件开发者关注的课题. 14. What major challenge is the component approach to system development addressing? 组件式软件开发⽅法欲解决软件开发上的哪些挑战或难题呢 ? 15. The increasing scale and complexity of software challenges software development dramatically. 软件的规模和复杂度不断增加,使得软件开发⾯临巨⼤挑战.。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

安卓应用开发中英文对照外文翻译文献

安卓应用开发中英文对照外文翻译文献

安卓应用开发中英文对照外文翻译文献(文档含英文原文和中文翻译)中英文翻译安卓应用开发基础在Java编程语言编写的Android应用程序的Android的SDK工具编译代码以及与任何数据和到一个Android的包,一个归档文件档案资源的.apk后缀,所有的在一个单一的代码.apk文件被认为是一个应用程序,是Android的文件,供电设备来安装应用程序。

一旦安装在设备上,每个Android应用程序的生命在它自己的安全沙箱:而Android操作系统是一个多用户Linux系统中,每个应用程序是一个不同的用户。

默认情况下,每个应用程序的系统分配一个唯一的Linux用户ID (该ID仅用于由系统是未知的应用程序),系统设置所有的应用程序中的文件权限,以便只有用户ID分配给该应用程序可以访问它们。

每个进程都有它自己的虚拟机(VM),因此应用程序的代码在从其他应用程序隔离运行。

默认情况下,每个应用程序运行在它自己的Linux进程。

Android 的启动过程时,应用程序的任何组件需要被执行,然后关闭该进程时,它不再需要或恢复时,系统必须为其他应用程序的内存。

这样一来,Android系统实现了最小特权原则,也就是说,每个应用程序,默认情况下,只能访问的组件,它需要做的工作,没有更多,这将创建一个非常安全的环境,使应用程序无法访问的,这就是它没有给予许可制度的部分。

但是,有一个应用程序的方法与其他应用程序和应用程序访问系统服务的数据:这有可能为两个应用程序安排共享相同的Linux用户ID,在这种情况下,它们能够相互访问的文件。

为了节约使用相同的用户ID系统资源,应用程序还可以安排运行在相同的Linux进程和共享同一个VM (应用也必须使用相同的证书签名)。

应用程序可以请求访问权限,如用户的联系人,短信,可安装存储(SD卡),摄像头,蓝牙等设备的数据,所有应用程序的权限必须由用户在安装时授予。

这涵盖了基本就如何Android应用程序在系统中存在这个文件的其余部分向您介绍:1、框架的核心组件定义应用程序。

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

The chances of a product being developed on time and within budget are somewhat slim unless the members of the software development team agree on what the software product will do. The first step in achieving this unanimity is to analyze the client’s current situation as precisely as possible. For example, it is inadequate to say, “ They need a computer-aided design system because they claim their manual design system, there is lousy. “Unless the development team knows exactly what is wrong with the current manual system, there is a high probability that aspects of the new computerized system will be equally “lousy. “Similarly, if a personal computer manufacturer is contemplating development of a new operating system, the first step is to evaluate the firm’s current operating system and analyze carefully exactly why it is unsatisfactory. To take an extreme example, it is vital to know whether the problem exists only in the mind of the sales manager, who blames the operating system for poor sales, or whether users of the operating system are thoroughly disenchanted with its functionality and reliability. Only after a clear picture of the present situation has been gained can the team attempt to answer the critical question, What must the new product be able to do The process of answering this question is carried out during the requirements phase.A commonly held misconception is that , during the requirements phase, the developers must determine what software the client wants. On the contrary, the real objective of the requirements phase is to determine what software the client needs. The problem is that many clients do not know what they need. Furthermore, even a client who has a good idea of what is needed may have difficulty in accurately conveying these ideas to the developers, because most clients are less computer literate than the members of the development team.To elicit the client’s needs, the members of the requirements team must be familiar with the application domain, that is, the general area in which the proposed software product is to be used. For example, it is not easy to ask meaningful questions of a banker or a nurse without first acquiring some familiarity with banking or nursing. Therefore, one of the initial tasks of each member of the requirements analysis team is to acquire familiarity with the application domain unless he or she already has experience in that general area. It is particularly important to use correct terminology when communicating with the client and potential users of the target software. After all, it is hard to be taken seriously by a person working in a specific domain unless the interviewer uses the nomenclature appropriate for that domain. More important, use of an inappropriate word may lead to a misunderstanding, eventually resulting in a faulty product being delivered. The same problem can arise if the members of the requirements team do not understand the subtleties of the terminology of the domain.One way to solve the problem with terminology is to build a glossary. The initial entries are inserted while the team learns the application domain. Then the glossary is updated whenever the members of the requirements team encounter new terminology. Not only does such a glossary reduce confusion between clientand developers, it also is useful in lessening misunderstandings between members of the development team.Once the requirements team have acquired familiarity with the domain, the next step is for them to start to determine the client’s needs, that is, requirements elicitation. Elicitation technique as follows:1. Interviews.The members of the requirements team meet with members of the client organization until they are convinced that they have elicited all relevant information from the client and future users of the product. There are two basic types of interview, structured and unstructured. In a structured interview, specific, preplanned, close-ended questions are posed. In an unstructured interview, open-ended questions are asked, to encourage the person being interviewed to speak out. Some of these facts might not have come to light had the interview been more structured. At the same time, it is not a good idea if the interview is too unstructured. Therefore, questions should be posed in such a way as to encourage the person being interviewed to give wide-ranging answers but within the context of the information needed by the interviewer.Conducting a good interview is not always easy. First, the interviewer must be familiar with the application domain. Second, there is no point in interviewing a member of the client organization if the interviewer already has made up his or her mind regarding the client’s needs. No matter what he or she previously has been told or learned by other means, the interviewer must approach every interview with the intention of listening carefully to what the person being interviewed has to say while firmly suppressing any preconceived notions regarding the client company or the needs of the clients and potential uses of the software product to be built.2. Scenarios.A scenario is a way a user might utilize the target product to accomplish some objective. A scenario can be depicted in a number of ways. One technique is simply to list the actions comprising the scenario .Another technique is to set up a storyboard, a series of diagrams depicting the sequence of events.They can demonstrate the behavior of the product in a way that is comprehensible to the user. This can result in additional requirements coming to light, as in the weight-loss planner example. Because scenarios can be understood by users, the utilization of scenarios can ensure that the client and users play an active role throughout the requirements analysis process. After all, the aim of the requirements analysis phase is to elicit the real needs of the client, and the only source of this information is the client and the users. Scenarios(or more precisely, use cases) play an important role in object-oriented analysis.3. To send a questionnaire to the relevant members of the client organization.This technique is useful when the opinions of, say, hundreds of individuals need to be determined. Furthermore, a carefully thought-out written answer maybe more accurate than an immediate verbal response to a question posed by an interviewer. However, an unstructured interview conducted by a methodical interviewer who listens carefully and poses questions that expand on initial responses usually yields far better information than a thoughtfully worded questionnaire. Because questionnaires are preplanned, there is no way that a question can be posed in response to an answer.4. To examine the various forms used by the client.For example, a form in a print shop might reflect press number, paper roll size, humidity, ink temperature, paper tension, and so on. The various fields in this form shed light on the flow of print jobs and the relative importance of the steps in the printing process. Other documents, such as operating procedures and job descriptions, also can be powerful tools for finding out exactly what is done and how. Such comprehensive information regarding how the client currently does business can be extraordinarily helpful in determining the client’s needs. Therefore, careful perusal of client documentation should never be overlooked as a source of information that can lead to an accurate assessment of the client’s needs.5. To set up videotape cameras within the workplace to record (with the prior written permission of those being observed) exactly what is being done.One difficulty of this technique is that it can take a long time to analyze the tapes. In general, one or more members of the requirements analysis team has to spend an hour playing back the tape for every hour that the cameras record. This time is in addition to what is needed to assess what was observed. More seriously, this technique has been known to backfire badly because employees may view the cameras as an unwarranted invasion of privacy. It is important that the requirements analysis team have the full cooperation of all employees; it can be extremely difficult to obtain the necessary information if people feel threatened or harassed. The possible risks should be considered carefully before introducing cameras or, for that matter, taking any other action that has the potential to anger employees.An initial set of requirements has been elicited, the next step is to refine them, a process called requirements analysis. The members of the requirements team discuss the list of requirements with the various individuals interviewed to determine if anything has been omitted. Then, because the most accurate and powerful requirements analysis technique is rapid prototyping, a rapid prototype is built.A rapid prototype is hastily built software that exhibits the key functionality of the target product. The client and intended users of the product now experiment with the rapid prototype, while members of the development team watch and take notes. Based on their hands-on experience, users tell the developers how the rapid prototype satisfies their needs and, more important, identify the areas that need improvement. The developers change the rapid prototype until both sides are convinced that the needs of the client are accurately encapsulated in the rapid prototype. The rapid prototype then is usedas the basis for drawing up the specifications.An important aspect of the rapid prototyping model is embodied in the word rapid. The whole idea is to build the prototype as quickly as possible. After all, the purpose of the rapid prototype is to provide the client with an understanding of the product, and the sooner, the better. It does not matter if the rapid prototype hardly works, if it crashes every few minutes, or if the screen layouts are less than perfect. The purpose of the rapid prototype is to enable the client and the developers to agree as quickly as possible on what the product is to do. Therefore, any imperfections in the rapid prototype may be ignored, provided they do not seriously impair the functionality of the rapid prototype and thereby give a misleading impression of how the product will behave.One difficulty with rapid prototyping is that the ease with which changes generally can be made to a rapid prototype may encourage the client to request all sorts of major changes to the delivered operational-quality version of the product. Furthermore, the client may expect the changes to be implemented as rapidly as changes to the rapid prototype. A related challenge is having to explain to the client that the rapid prototype is not of operational quality and the client will have to wait for the operational-quality version, even though the rapid prototype appears to do everything needed. Before rapid prototyping is used, it is essential that the managers responsible for developing the product discuss these and related issues with the client.As with the introduction of any new technology, before an organization introduces the rapid prototyping model it is vital that management be aware of the advantages and disadvantages of rapid prototyping. In all fairness, although the case for rapid prototyping is strong, it has not yet been proven beyond all doubt.Testing during the requirements phaseAlthough the aim of the requirements phase is to establish the client’s real needs, usually the client will not be the primary user of the target product. It therefore is essential to give the users the opportunity to experiment with the rapid prototype and suggest changes that, when approved by the client, will be implemented in the delivered version of the software product.Therefore, the role of the software quality assurance group during the rapid prototyping phase is to ensure that the relevant individuals in the client organization have the opportunity to interact with the rapid prototype and their suggestions actually reach the client or, perhaps, a committee of client managers responsible for analyzing the suggestions of the users.Form the viewpoint of testing during the phases that are to come, it is essential that the requirements be traceable. To achieve this, the statements of the requirements need to be numbered to enable the SQA to trace them through the subsequent phases. The numbering should appear in the rapid prototype in the form of comments adjacent to the group of statements that implements each item in the requirements.外文翻译需求阶段将一个软件产品及时而又不超出预算地开发出来的机会有时是很小的,除非软件开发小组的成员对软件产品将做什么都一致理解。

相关文档
最新文档