软件开发外文翻译

合集下载

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

软件工程中英文对照外文翻译文献

软件工程中英文对照外文翻译文献

中英文对照外文翻译(文档含英文原文和中文翻译)Application FundamentalsAndroid applications are written in the Java programming language. The compiled Java code — along with any data and resource files required by the application — is bundled by the aapt tool into an Android package, an archive file marked by an .apk suffix. This file is the vehicle for distributing the application and installing it on mobile devices; it's the file users download to their devices. All the code in a single .apk file is considered to be one application.In many ways, each Android application lives in its own world:1. By default, every application runs in its own Linux process. Android starts the process when any of the application's code needs to be executed, and shuts down the process when it's no longer needed and system resources are required by other applications.2. Each process has its own virtual machine (VM), so application code runs in isolation from the code of all other applications.3. By default, each application is assigned a unique Linux user ID. Permissions are set so that the application's files are visible only to that user and only to the application itself — although there are ways to export them to other applications as well.It's possible to arrange for two applications to share the same user ID, in which case they will be able to see each other's files. To conserve system resources, applications with the same ID can also arrange to run in the same Linux process, sharing the sameVM.Application ComponentsA central feature of Android is that one application can make use of elements of other applications (provided those applications permit it). For example, if your application needs to display a scrolling list of images and another application has developed a suitable scroller and made it available to others, you can call upon that scroller to do the work, rather than develop your own. Your application doesn't incorporate the code of the other application or link to it. Rather, it simply starts up that piece of the other application when the need arises.For this to work, the system must be able to start an application process when any part of it is needed, and instantiate the Java objects for that part. Therefore, unlike applications on most other systems, Android applications don't have a single entry point for everything in the application (no main() function, for example). Rather, they have essential components that the system can instantiate and run as needed. There are four types of components:ActivitiesAn activity presents a visual user interface for one focused endeavor the user can undertake. For example, an activity might present a list of menu items users can choose from or it might display photographs along with their captions. A text messaging application might have one activity that shows a list of contacts to send messages to, a second activity to write the message to the chosen contact, and other activities to review old messages or change settings. Though they work together to form a cohesive user interface, each activity is independent of the others. Each one is implemented as a subclass of the Activity base class.An application might consist of just one activity or, like the text messaging application just mentioned, it may contain several. What the activities are, and how many there are depends, of course, on the application and its design. Typically, one of the activities is marked as the first one that should be presented to the user when the application is launched. Moving from one activity to another is accomplished by having the current activity start the next one.Each activity is given a default window to draw in. Typically, the window fills the screen, but it might be smaller than the screen and float on top of other windows. An activity can also make use of additional windows — for example, a pop-up dialog that calls for a user response in the midst of the activity, or a window that presents users with vital information when they select a particular item on-screen.The visual content of the window is provided by a hierarchy of views — objects derived from the base View class. Each view controls a particular rectangular space within the window. Parent views contain and organize the layout of their children. Leaf views (those at the bottom of the hierarchy) draw in the rectangles they control and respond to user actions directed at that space. Thus, views are where the activity's interaction with the user takes place.For example, a view might display a small image and initiate an action when the user taps that image. Android has a number of ready-made views that you can use —including buttons, text fields, scroll bars, menu items, check boxes, and more.A view hierarchy is placed within an activity's window by theActivity.setContentView() method. The content view is the View object at the root of the hierarchy. (See the separate User Interface document for more information on views and the hierarchy.)ServicesA service doesn't have a visual user interface, but rather runs in the background for an indefinite period of time. For example, a service might play background music as the user attends to other matters, or it might fetch data over the network or calculate something and provide the result to activities that need it. Each service extends the Service base class.A prime example is a media player playing songs from a play list. The player application would probably have one or more activities that allow the user to choose songs and start playing them. However, the music playback itself would not be handled by an activity because users will expect the music to keep playing even after they leave the player and begin something different. To keep the music going, the media player activity could start a service to run in the background. The system would then keep the music playback service running even after the activity that started it leaves the screen.It's possible to connect to (bind to) an ongoing service (and start the service if it's not already running). While connected, you can communicate with the service through an interface that the service exposes. For the music service, this interface might allow users to pause, rewind, stop, and restart the playback.Like activities and the other components, services run in the main thread of the application process. So that they won't block other components or the user interface, they often spawn another thread for time-consuming tasks (like music playback). See Processes and Threads, later.Broadcast receiversA broadcast receiver is a component that does nothing but receive and react to broadcast announcements. Many broadcasts originate in system code — for example, announcements that the timezone has changed, that the battery is low, that a picture has been taken, or that the user changed a language preference. Applications can also initiate broadcasts — for example, to let other applications know that some data has been downloaded to the device and is available for them to use.An application can have any number of broadcast receivers to respond to any announcements it considers important. All receivers extend the BroadcastReceiver base class.Broadcast receivers do not display a user interface. However, they may start an activity in response to the information they receive, or they may use the NotificationManager to alert the user. Notifications can get the user's attention in various ways — flashing the backlight, vibrating the device, playing a sound, and so on. They typically place a persistent icon in the status bar, which users can open to get the message.Content providersA content provider makes a specific set of the application's data available to other applications. The data can be stored in the file system, in an SQLite database, or in anyother manner that makes sense. The content provider extends the ContentProvider base class to implement a standard set of methods that enable other applications to retrieve and store data of the type it controls. However, applications do not call these methods directly. Rather they use a ContentResolver object and call its methods instead. A ContentResolver can talk to any content provider; it cooperates with the provider to manage any interprocess communication that's involved.See the separate Content Providers document for more information on using content providers.Whenever there's a request that should be handled by a particular component, Android makes sure that the application process of the component is running, starting it if necessary, and that an appropriate instance of the component is available, creating the instance if necessary.Activating components: intentsContent providers are activated when they're targeted by a request from a ContentResolver. The other three components — activities, services, and broadcast receivers — are activated by asynchronous messages called intents. An intent is an Intent object that holds the content of the message. For activities and services, it names the action being requested and specifies the URI of the data to act on, among other things. For example, it might convey a request for an activity to present an image to the user or let the user edit some text. For broadcast receivers, theIntent object names the action being announced. For example, it might announce to interested parties that the camera button has been pressed.There are separate methods for activating each type of component:1. An activity is launched (or given something new to do) by passing an Intent object toContext.startActivity() or Activity.startActivityForResult(). The responding activity can look at the initial intent that caused it to be launched by calling its getIntent() method. Android calls the activity's onNewIntent() method to pass it any subsequent intents. One activity often starts the next one. If it expects a result back from the activity it's starting, it calls startActivityForResult() instead of startActivity(). For example, if it starts an activity that lets the user pick a photo, it might expect to be returned the chosen photo. The result is returned in an Intent object that's passed to the calling activity's onActivityResult() method.2. A service is started (or new instructions are given to an ongoing service) by passing an Intent object to Context.startService(). Android calls the service's onStart() method and passes it the Intent object. Similarly, an intent can be passed to Context.bindService() to establish an ongoing connection between the calling component and a target service. The service receives the Intent object in an onBind() call. (If the service is not already running, bindService() can optionally start it.) For example, an activity might establish a connection with the music playback service mentioned earlier so that it can provide the user with the means (a user interface) for controlling the playback. The activity would call bindService() to set up that connection, and then call methods defined by the service to affect the playback.A later section, Remote procedure calls, has more details about binding to a service.3. An application can initiate a broadcast by passing an Intent object to methods like Context.sendBroadcast(), Context.sendOrderedBroadcast(), andContext.sendStickyBroadcast() in any of their variations.Android delivers the intent to all interested broadcast receivers by calling their onReceive() methods. For more on intent messages, see the separate article, Intents and Intent Filters.Shutting down componentsA content provider is active only while it's responding to a request from a ContentResolver. And a broadcast receiver is active only while it's responding to a broadcast message. So there's no need to explicitly shut down these components. Activities, on the other hand, provide the user interface. They're in a long-running conversation with the user and may remain active, even when idle, as long as the conversation continues. Similarly, services may also remain running for a long time. So Android has methods to shut down activities and services in an orderly way:1. An activity can be shut down by calling its finish() method. One activity can shut down another activity (one it started with startActivityForResult()) by calling finishActivity().2. A service can be stopped by calling its stopSelf() method, or by calling Context.stopService().Components might also be shut down by the system when they are no longer being used or when Android must reclaim memory for more active components. A later section, Component Lifecycles, discusses this possibility and its ramifications in more detail.The manifest fileBefore Android can start an application component, it must learn that the component exists. Therefore, applications declare their components in a manifest file that's bundled into the Android package, the .apk file that also holds the application's code, files, and resources.The manifest is a structured XML file and is always named AndroidManifest.xml for all applications. It does a number of things in addition to declaring the application's components, such as naming any libraries the application needs to be linked against (besides the default Android library) and identifying any permissions the application expects to be granted.But the principal task of the manifest is to inform Android about the application's components. For example, an activity might be declared as follows:The name attribute of the <activity> element names the Activity subclass that implements the activity. The icon and label attributes point to resource files containing an icon and label that can be displayed to users to represent the activity.The other components are declared in a similar way — <service> elements for services, <receiver> elements for broadcast receivers, and <provider> elements for content providers. Activities, services, and content providers that are not declared in the manifest are not visible to the system and are consequently never run. However, broadcast receivers can either be declared in the manifest, or they can be created dynamically in code (as BroadcastReceiver objects) and registered with the system by calling Context.registerReceiver().For more on how to structure a manifest file for your application, see The Android Manifest.xml File.Intent filtersAn Intent object can explicitly name a target component. If it does, Android finds that component (based on the declarations in the manifest file) and activates it. But if a target is not explicitly named, Android must locate the best component to respond to the intent. It does so by comparing the Intent object to the intent filters of potential targets. A component's intent filters inform Android of the kinds of intents the component is able to handle. Like other essential information about the component, they're declared in the manifest file. Here's an extension of the previous example that adds two intent filters to the activity:The first filter in the example — the combination of the action"android.intent.action.MAIN" and the category"UNCHER" — is a common one. It marks the activity as one that should be represented in the application launcher, the screen listing applications users can launch on the device. In other words, the activity is the entry point for the application, the initial one users would see when they choose the application in the launcher.The second filter declares an action that the activity can perform on a particular type of data.A component can have any number of intent filters, each one declaring a different set of capabilities. If it doesn't have any filters, it can be activated only by intents that explicitly name the component as the target.For a broadcast receiver that's created and registered in code, the intent filter is instantiated directly as an IntentFilter object. All other filters are set up in the manifest. For more on intent filters, see a separate document, Intents and Intent Filters.应用程序基础Android DevelopersAndroid应用程序使用Java编程语言开发。

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

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

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: 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. 软件的规模和复杂度不断增加,使得软件开发⾯临巨⼤挑战.。

软件开发的英文单词

软件开发的英文单词

软件开发的英文单词
软件开发的英文单词:software development。

development:
n.发展;发育;成长;壮大;开发;研制;研制成果;(新的)发展事态,进展情况,发展阶段;
复数: developments
扩展资料
Our software development center should be focusing on developing software, but now a bulk of our colleagues have to lend a helping hand in support.
我们软体中心应该做软体开发的.工作,不过现在不少员工都要参与支援工作。

So if you come to it from a professional software development background, it will feel a lot more familiar than if you come from web design.
所以如果你来自专业软体开发背景,它将会比来自于网页设计领域更容易熟悉。

A child's development is dependent on many factors.
孩子的成长受多种因素影响。

This piece of equipment is an exciting new development.
这台设备是一项振奋人心的最新研究成果。

This chapter explores the linkage between economic development and the environment.
本章探讨的是经济发展与环境之间的关系。

软件开发常用名词中英文对照

软件开发常用名词中英文对照

软件开发常用名词中英文对照词汇释义abort 中止abstract class 抽象类accelerator 快捷键accelerator mapping 快捷键映射accelerator table 快捷键对应表access modifier 访问修饰符access Pack 访问包access specifier 访问说明符access violation 访问冲突access ibility 辅助功能access ibility domain 可访问域access ibility Options 辅助功能选项access or 访问器action 操作Active Directory hierarchy Active Directory 层次结构active document 活动文档Active Document Containment 活动文档包容active end 活动端active object 活动对象active point 活动点Active Template Library 活动模板库ActiveX Component ActiveX 组件ActiveX Control ActiveX 控件ActiveX control container ActiveX 控件容器ActiveX Control Interface Wizard ActiveX 控件接口向导ActiveX Control Test Container ActiveX 控件测试容器ActiveX Designer ActiveX 设计器ActiveX Document Migration Wizard ActiveX 文档移植向导ActiveX-enabled 支持 ActiveX 的Add key/ Multiply key/ Substract key/ Devide key 加号键/ 乘号键/ 减号键/ 除号键Add-In 外接程序Address Book 通讯簿address space 地址空间Administrator Mode 管理员模式advise sink 通知接收aggregate 聚合Airbrush 喷枪All Tables 所有表allocation hook 分配挂钩Alternate text "替换文字,备用文本"Always On Top 总在最前面ambient 环境ambiguous 不明确ampersand 符号ampersand (&) “and”符 (&)anchor 标记animation control 动画控件apartment-model threading 单元模型线程application framework 应用程序框架Application Wizard 应用程序向导Apply Now 立即应用apply to similar 应用到相似项argument 字变量Arrange Tables 排列表array initializer 数组初始值设定项array rank 数组秩arrow cap 箭头帽ARROW key 箭头键ArrowHourGlass 箭头沙漏ArrowQuestion 箭头问号article family 文章族assembly 程序集;汇编assembly manifest 程序集清单assert 断言assign 分配associate 关联"asterisk (""*"")" 星号(“*”)asynchronous moniker 异步名字对象asynchronous peek operation 异步查看操作ATL Object Wizard ATL 对象向导atomic operation 原子操作attached table 附加表attribute 特性Attributed Component Wizard 属性化组件向导Attributed Programming 属性化编程Attributes Property Attributes 属性Authentication 身份验证authorable 可创作(的)Auto completion for commands 自动完成命令Auto Increment 自动增加Auto Syntax Check 自动语法校验Automatic 自动automation 自动控制automation-enabled 启用自动化background color 背景色backslash 反斜杠bad 坏的base address 基址base class 基类base implementation 基实现base keyword 基关键字base method 基方法base table 基表be paged to disk 分页到磁盘behavior 行为Behind the Scenes 幕后Bezier 贝塞尔曲线Binary Binary;二进制binary operator 二元运算符bind 绑定binder 联编程序binding constraints 绑定约束bit field 位域bitmask 位掩码bitwise 按位bitwise complement operator 按位求补运算符bit-wise equivalent 位等效数bitwise OR operator 位 OR 运算符block 块block if If 块blocking UI 模块化用户界面body 正文Book Edition 试用版bookmark 书签文件Boolean 布尔bottom margin 下边距bound 上下限bound control 绑定控件bounding rectangle 边框box 装箱 (v.)break 中断break compatibility 破坏兼容性break execution 中断执行break mode 中断模式break state 中断状态Bring Forward 上移一层Bring In Front 置前Bring to Front 置于顶层broker 中间装置browsable 可浏览Browse With 浏览方式Brush 画笔bubbling 冒泡bucket 存储桶buddy 合作者buffer 缓冲区build 生成 (v.);版本 (n.)building block 构造块built-in 内置bulk 批量bulk row fetching 批量取行Bulleted List 项目符号列表business logic 商业规则business process 业务处理business rule 商业规则button control 按钮控件C calling convention C 调用约定C run-time library C 运行时库cab file cab 文件cache 缓存cacheability 可缓存性call 呼叫call a com object 调用 COM 对象call back 回调call invoke 调用 invoke(调用)called procedure 被调用过程caller 调用方calling code 呼叫代码calling convention 调用约定calling process 调用进程call-out interception 调出侦听caption 题注caret 插字号carriage return-linefeed 回车-换行cascade 级联case statement case 语句case-sensitive 区分大小写cast (类型)转换catalog 目录catch 捕捉catch block catch 块catch handler catch 处理程序category 类别caution 警告cell 存储单元cell padding 单元格填充cell span 单元格跨距Center Screen 中心屏幕Certificate Creation Utility 证书创建实用工具challenge-response 质询-响应change 更改character offset 字符偏移量chart 图表chat 聊天check 复选check box control 复选框控件check constraint CHECK 约束check in 签入check out 签出check state 复选状态check the condition 检查条件check the entry 检查项check the number 检查数目check the registry 检查注册表check the result 检查结果check the state 检查状态check the validity 检查有效性check the value 检查值child 子child code 子代码child form 子窗体circular reference 循环引用class 类别Class Builder Utility 类生成器实用工具class declaration 类声明class definition 类定义class factory 类工厂class initializer 类初始值设定项Class Library Reference 类库参考class member 类成员class module 类模块class object 类对象class type 类类型Class View Group By Type 类视图“按类型分组”classic 传统(型);传统风格(的);经典clause 子句clean 无变动(注:与 dirty 相对)click event procedure Click 事件过程client area 工作区Client Batch cursor library 客户端批处理游标库client coordinate 工作区坐标client request 客户端请求client-based 基于客户端的client-side 客户端clip 剪辑Clipboard format 剪贴板格式Clipboard-viewer chain 剪贴板查看器链clipping region 剪切区域clone 克隆close parenthesis 右括号Close region 临近区域(Close Region)close up 闭合closing set of angle bracket 结束双尖括号closing tag 结束标记CLS compliant 符合 CLSclustered index 聚集索引code 代码code editor 代码编辑器code example 代码实例code locale 代码区域设置code module 代码模块code pane 代码窗格code tracing 代码跟踪code wizard 代码向导codebase 基本代码code-behind 代码隐藏Collapse to Definitions 折叠到定义Collate 逐份打印collection 集合collection editor 集合编辑器color scheme 配色方案column span 列跨距COM Classic COM 传统型COM component COM 组件combinator 连结符combo box control 组合框控件command 命令command handler 命令处理程序Command line builds 命令行编译command routing 命令传送comment token 注释标记Common Control 公共控件Common Dialog 通用对话框(Common Dialog)common files 公共文件Common Object File Format 通用对象文件格式common resource file 公共资源文件common Web files 公共 Web 文件communicate 通信compact 压缩;紧凑compact version 精简版本comparer 比较器compile time 编译时compiler 编译程序complex-bound 复杂绑定component 组件component authoring 组件创作Component Gallery 组件库Component Object Model 组件对象模型 or COM Component Services Admin Tools 组件服务管理工具Component Tools Guide 组件工具指南component tray 组件栏Component Wizard 组件向导component-based 基于组件的compose buffer 写缓冲区composite 复合concatenation operator 串联运算符concurrency 并发Congratulations 祝贺您connect string 连接字符串connectable object 可连接对象connection map 连接映射connection point 连接点connection pooling 连接池connection string 连接字符串considerations 注意事项constant 常数constant expression 常数表达式constituent control 构成控件constraint 约束constructor 构造函数constructor initializer 构造函数初始值设定项Consumer Template 使用者模板contained control 包含的控件container 容器content-body 内容正文context 上下文context identifier 上下文标识符context menu 上下文菜单context window 上下文窗口contextify 实现上下文;对…实现上下文context-sensitive 区分上下文contiguous 相邻的contiguous range 连续范围contract 协定control 控制control array 控件数组control class 控件类Control Containment 控件包容Control Flow Obfuscation 控制流模糊处理control instance 控件实例control returns 控制返回Control Test Container 控件测试容器control view object 控件查看对象Conversation 对话conversion 转换Cookieless 无 Cookiecoordinated universal time 协调通用时间Copy 副本;复制Copy Info 复制信息correlation 相关corrupt 损坏count 计数Cracker 黑客critical section 关键部分cross-process 进程间cross-thread 线程间crypt hash object 加密哈希对象cryptographic object 加密对象CSS Specific CSS 特定Ctl Ctl 键;CtlCursor 光标;游标cursor library 光标库custom 自定义Custom Actions Management 自定义操作管理Custom AppWizard 自定义应用程序向导custom build rule 自定义生成规则custom event 自定义事件custom marshalling 自定义封送处理custom resource template 自定义资源模板cycle through 循环通过Cyclic Redundancy Check 循环冗余校验(CRC)Dangling Reference 虚引用DAO Query DAO 查询DAO Recordset DAO 记录集DAO Workspace DAO 工作区dark shadow 阴影data binding 数据绑定data breakpoint 数据断点data compartment 数据舱Data Component Designer 数据组件设计器data consumer 数据使用者data environment 数据环境Data Environment designer 数据环境设计器Data Environment Extensibility Object Model 数据环境扩展性对象模型Data Form Wizard 数据窗体向导data grid 数据网格data member 数据成员Data Object Wizard 数据对象向导data point 数据点Data Report designer 数据报表设计器data set 数据集data source 数据源data store 数据存储data type 数据类型Data View 数据视图data-aware 数据识别database class 数据库类database connection 数据库连接Database Designer 数据库设计器database diagram 数据库关系图database engine 数据库引擎database management system 数据库管理系统database object 数据库对象Database Project Items 数据库项目项database schema 数据库架构datagram 数据报DataSet DataSet(注:用作关键字时);数据集(注:用于一般描述时) DataSource DataSource(注:用作关键字时);数据源(注:用于一般描述时)DataTable DataTable(注:用作关键字时);数据表(注:用于一般描述时)date and time picker 日期和时间选择器Daylight Saving Time 夏时制DB Common Sourcing Module UI Resources 数据库公共源模块用户界面资源DB Project Connection 数据库项目连接DDE conversation DDE 对话dead-letter 死信deallocate 解除分配debug 调试debug build 调试版本Debug configuration “调试”配置debug heap 调试堆debug mode 调试模式debug monitor 调试监视器debugger 调试程序Decimal key 句点键decimal separator 小数点分隔符declaration 声明declarator 声明符decoder 解码器decorated name 修饰名Deep Copy 深层复制default 默认default action 默认操作default behavior 默认行为default case-insensitive hash code provider 不区分大小写的默认哈希代码提供程序default constructor 默认构造函数default hash code provider 默认哈希代码提供程序default implementation 默认实现default initial capacity 默认初始容量default marshalling 默认封送处理default maximum load factor 默认最大加载因子default property page 默认属性页Defect Report 缺陷报告definition 定义deformatter 反格式化程序degrade 降级degrade gracefully 完全降低degrade performance 降低性能delay-loaded 延迟加载delegate 委托delete operator 删除运算符delineated square 画有边线的方形denial of service attack 拒绝服务攻击Dep. assembly nodes 部署程序集节点Dep. MSM nodes 部署 MSM 节点dependency 依赖项dependency file 依赖项文件dependent file 依赖文件dependent project 依赖项目deploy 部署Deployment Editors 部署编辑器Deployment Wizard 部署向导deprecate 否决deque 双端队列derive 派生derived 导出(的);派生(的)derived class 派生类derived field 导出字段derived type 派生类型Description 说明descriptor 描述符deserialize 反序列化design 设计design mode 设计模式Design Surface File 设计图面文件design time 设计时design view 设计视图designer 设计器designer host 设计器宿主designer surface 设计器表面designer window 设计器窗口design-time 设计时design-time instance 设计时实例Design-Time-Only 仅用于设计时destination application 目标应用程序destination control 目标控件destination device context 目标设备上下文destination rectangle 目标矩形destroy 损坏destructor 析构函数detect 检测determine 确定developer 开发人员Developer edition 开发人员版development environment 开发环境device 设备device context 设备上下文device dependent 设备相关Device Image 设备映像DHTML Page designer DHTML 页设计器diagnostic message 诊断消息Diagram 关系图diagram pane 关系图窗格Diagram Surface 关系图面dialog class 对话框类dialog control 对话框控件Dialog Data Exchange 对话框数据交换Dialog editor 对话框编辑器dialog template resource 对话框模板资源dialog-based 基于对话框的Diff-Merge 差异-合并digest authentication 摘要式身份验证dimensionality 维数dimensions 尺寸;维数(注:指多个维度时)dimmed appearance 浅灰色directive 指令directory 目录disable 禁用disassembly window 反汇编窗口discussion list 讨论表dispatch 调度dispatch ID 调度 IDdispatch interface 调度接口dispatch map 调度映射dispinterface 调度接口dispose 处置distribute 分布Distributed Application 分布式应用程序Distributed Component Object Model 分布式组件对象模型Doc Relative 与文档相关的Dock 停靠dockable 可停靠的dockable toolbar 可停靠工具栏document class 文档类document containment 文档包容document/view architecture 文档/视图结构domain 域dominant control 主导控件double buffering 双缓冲double-ended queue 双端队列double-precision floating point number 双精度浮点数字downcast 向下转换downstream 下游drive letter 驱动器号drop shadow 投影drop target 放置目标dropdown 下拉dropshadow 投影dual interface 双重接口dump 转储Duplicate pound (""#"") characters 重复(“#”)字符dynamic array 动态数组dynamic assembly 动态程序集dynamic binding 动态绑定dynamic creation 动态创建dynamic cursor 动态游标Dynamic Discovery Document 动态发现文档Dynamic HTML object model 动态 HTML 对象模型dynamic splitter window 动态拆分窗口dynamic-link library 动态链接库dynaset-type recordset 动态集类型记录集earlier 以前edit buffer 编辑缓冲区edit control 编辑控件edit mode 编辑模式edit point 编辑点Edition 版本Elapsed Time 运行时间element 元素eliminate 消除embed 嵌入Emit 发出Enabled 启用;有效的encapsulate 封装encapsulated interface pointer 封装接口指针enclosing class 封闭类enclosing type 封闭类型encompassed type 所含类型encompassing type 包含类型end 结束ending point 结束点endpoint 端点engine 引擎Enter Enter 键Enterprise Edition 企业版enterprise template 企业级模板entity 实体entry 项entry point 入口点enumerated type 枚举类型enumeration 枚举enumerator 枚举器enum-type 枚举类型environment 环境equality 相等equality-expression 相等表达式equivalent 等效Erase 清除error 错误error handler 错误处理程序error handling 错误处理error message 错误消息error number 错误号error trapping 错误捕获escape character 转义符escape code 转义码escape sequence 转义序列evaluate 计算event concentrator 事件集中器event interface 事件接口event listener 事件侦听器event log 事件日志event map 事件映射event mask 事件屏蔽event procedure 事件过程event sink map 事件接收映射event source 事件源event subscription 事件订阅event-driven 事件驱动event-handling method 事件处理方法evidence 证据event sink map 事件接收映射event source 事件源event subscription 事件订阅event-driven 事件驱动event-handling method 事件处理方法evidence 证据evidence set 证据集example code 代码示例exception 异常exception handler 异常处理程序exception handling 异常处理exception throw 引发异常exclusive 独占exclusive checkout 以独占方式签出exclusive OR XORExe Project EXE 项目executable 可执行文件execute 执行existing 现有exit 退出exit a loop 退出循环exit code 退出代码explicit 显式explicit instantiation 显式实例化explicit interface member implementation 显式接口成员实现explicit linking 显式链接explore 浏览expose 公开expression 表达式expression argument 表达式参数expression evaluator 表达式计算器extension DLL 扩展 DLLexternal data source 外部数据源external linkage 外部链接face color 表面颜色facet 方面factorability 可分解性failure 失败FALSE/false FALSE/假fast line 快速扫描线fatal error 致命错误favor speed 优选速度feature 功能fetch 提取field data member 字段数据成员figure 图形;图例;数据File Associations Management 文件关联管理file descriptor 文件说明符file handle 文件句柄File Manager 文件管理器file pointer 文件指针file scope 文件范围File System and Scheduling Components 文件系统和调度组件File System Editor 文件系统编辑器filespec 文件规格FileSystemWatcher Component 文件系统观察程序组件fill 填充fill in 填写Filled Rectangle 实心矩形filter 筛选器finalize 完成Find what 查找内容finish 完成fire 激发"first-in, first-out" 先进先出fixed-length 定长fixed-length string 定长串fixed-size array 固定大小数组flag 标志float 浮动floating type 浮点型floating-point type 浮点型flow off 超出focus 焦点focus rectangle 聚焦框footer 页角For a complete list 有关完整列表"For details, see" 有关详细信息,请参阅For information about 有关信息force 强制forecolor 前景色Foreground "前台,前景"foreign key constraint 外键约束foreign machine 外部计算机foreign queue 外部队列foreign table 外表foreign-key table 外键表forest 林form 窗体form 窗体form control 窗体控件form module 窗体模块form view 窗体视图formal parameter list 形参表format string 格式字符串Format Style Sheet 格式化样式表formatter 格式化程序formatting 格式化formatting rectangle 格式化矩形form-based application 基于窗体的应用程序Forms Authentication Forms 身份验证forward-only cursor 只进游标Foundation Class Library 基础类库four headed arrow 四向箭头fractional-constants 小数常数frame 框架framework 框架free 释放Free Bytes 可用字节free the memory 释放内存free the structure 释放结构free threaded marshaler 自由线程封送拆收器free threading 自由线程处理free-form modeling 自由窗体建模Frequently Asked Questions 常见问题friend function 友元函数FrontPage Server Extension FrontPage 服务器扩展Full Control component 完全控制组件full-text search 全文搜索Full-Width Alpha-Numeric 全角字母-数字Full-Width Katakana 全角片假名fully populated 完全填充fully qualified name 完全限定名fully qualified path 完全限定的路径Function 功能;函数function body 函数体function call 函数调用function counting 函数调用计数function coverage 函数覆盖function declaration 函数声明function pointer 函数指针function profiling 函数分析(Function Profiling)function prototype 函数原型function scope 函数范围function template 函数模板function timing 函数执行时间Further Reading 其他阅读材料gain access获得访问权限gain control 获得控制gain information 获得信息Garbage Collector 垃圾回收器General 常规;通用general accounting module 常规计帐模块General DAO Recordset Tasks 常规 DAO 记录集任务General Date 常规日期General Number 常规数字general sample 通用示例generic-text 一般文本get 获取get access or get 访问器get area get 区域get pointer get 指针Gets or sets 获取或设置global object 全局对象global scope 全局范围global setting 全局设置global variable 全局变量Glyph 标志符号Go to 转到Gozer Gozer;Gozer 处理graphical representation 图形化表示形式graphics method 图形方法grid 网格grid control 网格控件Grid Layout 网格布局Group By 分组依据Group Members 组员guarded section 保护区域Guide Settings 参考线设置Half-Width Alpha-Numeric 半角字母-数字Half-Width Katakana 半角片假名handle 句柄Handle is not pinned 句柄未被固定handler 处理程序handy focus 快捷焦点hard-code 硬编码hash 哈希hash algorithm 哈希算法hash code 哈希代码hatched pattern 阴影图案header 头header control 标头控件header file 头文件heap 堆heap allocation 堆分配Help topic 帮助主题helper function Helper 函数heuristics 试探法hierarchical outline 分层大纲high-level 高级别Highlight 突出显示;高光点high-order word 高序位字history list 历史记录列表hook function 挂钩函数horizontal guideline 水平准线Horizontal Spacing 水平间距host 主机host object 宿主对象host window 宿主窗口hosted control 寄宿的控件hosting API 宿主 APIhot key control 热键控件Hotfix 修补程序 (Hotfix)hover 悬停html tag replacer object HTML 标记替换器对象HTTP request HTTP 请求hub and spoke model 轮辐式模型human-readable 可读的Hyperlink 超级链接icon 图标ID IDidentity operator 恒等运算符ignore 忽略illegal 非法illustrate 阐释image 映像image control 图像控件image editor 图像编辑器image list 图像列表;映像列表image resource 图像资源;映像资源IME composition window IME 撰写窗口Immediate Mode 即时模式immediate parent object 直接父对象impersonation token 模拟令牌implement 实现Implement Interface Wizard 实现接口向导implemented bulk row fetching 实现的批量取行implementer 实施者implicit 隐式implicit conversion 隐式转换import library 导入库Important 重要事项in spec 规格中in the Project Explorer window 在项目资源管理器窗口中In this Section 本节内容include file 包含文件incoming 传入(的)Increase Vertical Spacing 增加垂直间距increment 增量Incremental build 增量编译incremental linker 增量链接器incremental status 增量状态Independent Developer 独立开发商indexer 索引器Indicator Margin Click 单击指示器边距inference rule 推理规则infix notation 中缀符inherit 继承inheritance chain 继承链inheritors 继承者initial capacity 初始容量initial value 初始值initialization 初始化initialization vector 初始化向量initiate 开始;启动injected code 插入的代码Inline 内联inline assembler 内联汇编inline assembly code 内联程序集代码inline function 内联函数inner exception 内部异常inner object 内部对象in-place 就地in-place activation 就地激活in-place active 就地活动in-process 进程内input focus 输入焦点input mask 输入掩码Input Method Editor 输入法编辑器insert new 新插入inset 插页?Install on Demand 即需即装instance 实例instantiate 实例化Instantiate Live Controls 实例化活控件int type int 类型intaller 安装程序integer 整数integer literal 整数integer type integer 类型integer value 整数值integral type 整型integral value 整数值integrated development environment 集成开发环境Intellisense 智能感知interact 交互interface 接口internal error 内部错误internal linkage 内部链接Internet Information Server Administration object Internet Information Server 管理对象Internet Information Services Internet 信息服务Internet Server Application Programming Interface Internet 服务器应用程序编程接口Internet/Intranet/Extranet Services SDK Internet/Intranet/extranet 服务SDKinteroperate 互用;交互操作interrupt 中断intersection 交集intrinsic control 内部控件intrinsic function 内部函数Introduction 介绍invalid 无效的Invalid literal exponent 无效指数invalidate 无效invocation list 调用列表invoke 调用iostream library iostream 库Is Dirty 已更新ISAPI Extension Wizard ISAPI 扩展向导isolated storage scope 独立存储范围issue 颁发italic 斜体item 项目iterate through 循环访问iteration 迭代jagged 交错的Jet database engine Jet 数据库引擎join 联接journal queue 日记队列jump 跳转junction table 联接表Just-in-time debugging 实时调试key 密钥key as string 键为字符串key feature 主要功能key file 密钥文件key value 键值keyboard focus 键盘焦点keyset-driven 键集驱动keyset-type 键集类型kill 注销;取消Knowledge Base 知识库label 标记label control 标签控件labeled statement 标记语句LAME! 报告错误!language equivalents 等效语言Language Reference 语言参考late binding 晚期绑定late-bound 后期绑定layered windows feature 分层窗口功能Layout 布局lead byte 前导字节leading zero 前导零least significant byte 最低有效字节ledger 帐目型left outer join 左外部联接legal 合法less derived 派生程度较小的level 等级leverage (综合)利用;平衡lexical scope 词法范围library 库lifetime 生存期limit 限制Limit SQL output 限制 SQL 输出line break 换行符line of code 代码行line style 线型line-continuation character 行继续符linger 逗留link 链接Link Master Fields 链接主字段link time 链接时间linkage 链接linker 链接器list box control 列表框控件list control 列表控件list view control 列表视图控件listen 听listen for requests 侦听请求listen on 在…上侦听listen to a queue 侦听队列Lite control Lite 控件literal literal;文本literal character 原义字符load 加载load balancing 负载平衡Load on Startup 在启动时加载local constant 局部常量local machine 本地计算机local scope 局部范围local variable 局部变量Locale 区域设置location 位置location breakpoint 位置断点locator 定位器lock 锁lock count 锁计数locked 锁定locking 锁定Log 日志logical headings 逻辑标头logical line 逻辑行logical palette 逻辑调色板logical unit 逻辑单元Long 长long integer 长整型long pointer 长指针long value 长值look for 查找Look in 查找;查找范围;搜索look up 查找lookahead 预测先行lookup 查找loop control variable 循环控制变量loop through 依次通过loosely coupled event 松耦合事件lower bound 下限lower-level 低级别low-order word 低序位字l-value l 值macro expansion 宏展开Macro Explorer 宏资源管理器Macro Hierarchy Type Library 宏层次结构类型库Macros Dialog 宏对话Macros IDE 宏 IDEMain form 主窗体main frame window 主框架窗口main function 主函数main thread 主线程main window 主窗口mainframe 主机Maintenance Mode 维护模式Maintenance Utility 维护实用工具Make Same Size 使大小相同make the project 生成项目Makefile 生成文件managed array 托管数组managed class 托管类managed code 托管代码managed extension 托管扩展managed heap 托管堆managed object 托管对象management 管理manifest 清单manipulate data 操作数据manual 手动many-to-many 多对多map 图mapping mode 映射模式margin 边距margin indicator 边距指示符Margin Indicator bar “边距指示符”栏marquee 字幕marshal 封送marshal-by-reference class 引用封送类marshalling 封送处理Mask 屏蔽;掩码match 匹配Match Case 大小写匹配Match related words 匹配相关字matching 相应的;匹配的matrix 矩阵maximum-scroll arrow/ minimum-scroll arrow/ up-scroll arrow 最大程度滚动箭头/最小程度滚动箭头/向上滚动箭头MDI child form MDI 子窗体MDI child window MDI 子窗口MDI frame window MDI 框架窗口member 成员member function 成员函数member variable 成员变量membership condition 成员条件memory allocation 内存分配memory allocator 内存分配器memory block 内存块memory cache base object 内存缓存基对象memory manager 内存管理器menu control 菜单控件menu editor 菜单编辑器Menu show recently used commands first 菜单首先显示最近使用的命令message handler 消息处理程序message map 消息映射message pump 消息泵message reflection 消息反射message sink 消息接收message string set 消息字符串集message-handler function 消息处理函数message-map entry 消息映射项metadata token 元数据标记method 方法method call 方法调用method group 方法组method invocation 方法调用MFC Advanced Concepts MFC 高级概念MFC AppWizard MFC 应用程序向导MFC DAO class MFC DAO 类MFC DAO object MFC DAO 对象MFC Database MFC 数据库MFC ODBC class MFC ODBC 类MFC Reference MFC 参考MFC-based 基于 MFC 的middle-tier 中间层migrate 迁移mini-frame window 袖珍框架窗口mini-server application 袖珍服务器应用程序Misc 杂项Miscellaneous 杂项Miscellaneous files project saves last 最后保存杂项文件项目MMC Snap-In Wizard MMC 管理单元向导modal dialog 模式对话框mode 模式model 模型modeless form 无模式窗体module 模块module level 模块级moniker 名字对象month calendar control 月历控件more derived 派生程度较大的More Information 详细信息more recent version 较新版本mouse button 鼠标按钮mouse capture 鼠标捕获mouse event 鼠标事件mouse key 鼠标键move down 下移move up 上移MSDN Training documentation set MSDN“培训”文档集multibyte character 多字节字符multibyte code page 多字节代码页multicast 多播multiple document interface 多文档界面Multiple-Inheritance 多重继承multiple-line edit control 多行编辑控件multithreaded application 多线程应用程序multi-user environment 多用户环境mutually exclusive 互相排斥naked attribute naked 属性Naked Function Calls 裸函数调用Name and Password Required 要求用户名和密码name only 仅表名named 命名的named permission set 命名的权限集namespace 命名空间nanosecond 毫微秒narrowing conversion 收缩转换native 本机的native heap 本机堆native machine 本机native-code application 本机代码应用程序Native-only TCP/I 仅限本机的 TCP/IPNavigation bar 导航栏navigator 导航器New any 新建项New anyAttribute 新建属性New Technology file system NTFS 文件系统newline 换行newline character 换行符Next Screen 下一屏No conversions are performed 未进行转换node 节点nonaggregated 非聚集non-blank 非空白non-debug version 非调试版本non-MFC 非 MFCnon-null 非空non-scatter 非散点程序集non-static 非静态non-transactional queue 非事务性队列non-virtual 非虚拟non-visual 非可视non-zero 非零normal viewing 正常查看Northwind OLE DB Data Link Northwind OLE DB 数据链接notation 表示法note 注意Notepad “记事本”(Notepad)Notes to Inheritors: 对继承者的说明:nothing 无定义(注:根据上下文而定)notification 通知notification message 通知消息nudge 微移nudge down one pixel 向下微移一像素null character 空字符null pointer 空指针null reference 空引用null value 空值nul-terminated 空终止number of bytes 字节数number of dimensions 维数Numbered List 编号列表numeric entity 数字实体numeric expression 数值表达式numeric type numeric 类型object 对象Object Browser 对象浏览器object expression 对象表达式object hierarchy 对象层次结构object library 对象库object lifetime 对象生存期object map 对象映射object model 对象模型object module 对象模块object qualifier 对象限定符object reference 对象引用object tag 对象标记object variable 对象变量Object Viewer 对象查看器Object Wizard 对象向导object-oriented programming 面向对象的编程occurrence 匹配项;(视上下文也可省略不译)ODBC Administrator ODBC 管理器ODBC Cursor Library ODBC 游标库ODBC data source ODBC 数据源ODBC Driver Manager ODBC 驱动程序管理器ODBC SDK ODBC SDKOLE Automation OLE 自动化OLE container OLE 容器OLE DB connection OLE DB 连接OLE DB Provider OLE DB 提供程序OLE DB Template OLE DB 模板OLE/COM Object Viewer OLE/Com 对象查看器On button down 当按钮按下one-based 从一开始的One-Click Web Hosting 鼠标一点,轻松发布到 Web one-liner 单行方式one-to-many 一对多one-to-one 一对一Open Database Connectivity 开放式数据库连接open parenthesis 左括号Open With 打开方式opening brace 左大括号opening tag 开始标记operand 操作数operation 操作operator 操作符/运算符optimistic concurrency 开放式并发。

软件工程关键术语中英文对照表

软件工程关键术语中英文对照表

. 课程关键术语中英文对照表1、S oftware 软件2、U ser 用户3、D eveloper 开发者4、C onstituent 组成5、P rogram 程序6、D ocument 文档7、D ata 数据8、S oftware Crisis 软件危机9、S afety-Critical 安全忧关的10、Software Engineering 软件工程11、Maintenance 维护12、Bug 故障13、Failure 失效14、Correctness 正确性15、Reliability 可靠性16、Maintainability 可维护性17、Reusability 可重用性18、Traceability 可跟踪性19、Portability 可移植性20、Interoperability 互操作性21、Efficiency 有效性23、Modularity 模块化24、Information Hiding 信息隐藏25、Localization 局部化26、Consistency 一致27、Completeness 完整28、Verifiability 可验证29、Software Lifecycle 软件生命周期30、Feasibility Investigation 可行性分析31、Requirement 需求32、Requirement Analysis 需求分析33、Software Delivery 软件发布34、Prototype 原型35、Software Requirement Specification (SRS) 软件需求规格说明书36、Software Architecture 软件体系结构37、Refinement 精化38、Software Architecture Design Specification 软件体系结构规格说明书39、Integration Test Plan 集成测试计划40、Detailed Design 详细设计41、Detailed Design Specification 详细设计规格说明书42、Unit Test Plan 单元测试计划43、Integration Test 集成测试45、Validation Test46、Maintenance 维护47、Process 过程48、Software Process 软件过程49、Process Framework 过程框架50、Software Process Model 软件过程模型51、Incremental Model 增量模型52、RAD Model 快速应用开发53、Spiral Model 螺旋模型54、Unified Process 统一过程55、CASE 计算机辅助软件工程56、Software requirement 软件需求57、Function 功能58、Performance 性能59、Constraint 约束60、Schedule 进度61、Requirement Engineering 需求工程62、Analyst 分析人员63、Stakeholder 利益相关者64、Software Requirement Specification 软件需求规格说明书65、Inception 开始67、Elaboration 精化68、Negotiation 协商69、Specification 规格说明70、Validation 确认71、Management 管理72、Modeling 建模73、Refinement 精炼74、Conflict 冲突75、Multiple Viewpoints 多视点76、Prototype 原型77、Standardization 标准化78、Rules of Thumb 经验原则79、Requirement Analysis 需求分析80、Methodology 方法学81、Data Flow Oriented Modeling 面向数据流建模82、Data Flow Oriented Methodology 面向数据流方法学83、Structure Software Development Methodology 结构化软件开发方法学84、Data Flow Diagram(DFD)数据流图85、Data Dictionary (DD) 数据字典86、Process Specification (PS) 处理规格说明87、External Entity 外部实体89、Data storage 数据存储90、Data flow 数据流91、Software Design Specification (SDS) 软件设计规格说明书92、Design Models 设计模型93、Formal Technical Review 正式技术评审94、Architecture Design Model 体系结构设计模型95、Data design Model 数据设计模型96、Interface Design Model 接口设计模型97、Component Design Model 部件设计模型98、Deployment Design Model 部署设计模型99、Design Principle 设计原则100、Abstraction 抽象101、Architecture 体系结构102、Patterns 模式103、Modularity 模块化104、Hiding 隐藏105、Functional Independence 功能独立106、Refinement 精化107、Refactoring 重构108、Program Design Language(PDL) 程序设计语言109、User interface (UI) 用户界面111、Transform Flow 变换流112、Transaction Flow 事务流113、Incoming Flow 输入流114、Transform Center 处理中心115、Outgoing Flow 输出流116、Transaction 事务117、Transaction Flow 事务流118、Transaction Center 事务中心119、Action Paths 动作路径120、Transform Mapping 变换映射121、Transaction mapping 事务映射122、Error-free 无错误123、Software Error 软件错误124、Software Testing 软件测试125、Delivery 交付126、Debug 跟踪127、Evaluate Result 评估结果128、Test Case 测试用例129、Tester 测试人员130、Unit Testing 单元测试131、Integration Testing 集成测试133、Stub 桩134、Testability 可测试性135、Observability 可观察性136、Understandability 可理解性137、Cover 覆盖138、White-Box Testing 黑盒测试139、Black-Box Testing 白盒测试140、Basic Path Testing 基本路径测试141、Flow Diagram 流图142、Flowchart 流程图143、Path 路径144、Basic Path 基本路径145、Equivalence Partitioning 等价分类146、Boundary Value Analysis 边界取值分析147、Regression Tests 回归测试。

IT软件开发常用英语词汇经典大全

IT软件开发常用英语词汇经典大全

IT软件开发常用英语词汇经典大全Aabstract 抽象的abstract base class (ABC) 抽象基类abstract class 抽象类abstraction 抽象、抽象物、抽象性access 存取、访问access function 访问函数access level 访问级别account账户action 动作activate 激活active 活动的actualparameter 实参adapt er 适配器add-in 插件address 地址address space 地址空间ADO(ActiveX Data Object)ActiveX 数据对象advanced 高级的aggregation 聚合、聚集algorithm 算法alias 别名align 排列、对齐allocate 分配、配置allocator 分配器、配置器angle bracket 尖括号annotation 注解、评注API (Application Programming Interface) 应用 ( 程序 )编程接口appearance 外观append 附加application 应用、应用程序application framework 应用程序框架Approximate String Matching 模糊匹配architecture 架构、体系结构archive file 归档文件、存档文件argument 参数。

array 数组arrow operator 箭头操作符assert(ion) 断言assign 赋值assignment 赋值、分配assignment operator 赋值操作符associated 相关的、相关联的asynchronous 异步的1/ 17attribute 特性、属性authentication service 验证服务 authorization 授权Bbackground 背景、后台 (进程 ) backup 备份backup device 备份设备backup file 备份文件backward compatible 向后兼容、向下兼容base class基类base type 基类型batch 批处理 BCL (base class library) 基类库 Bin Packing 装箱问题binar y 二进制binding 绑定bit位bitma p 位图block 块、区块、语句块boolean 布林值 (真假值, true 或 false) borde r 边框bounds checking 边界检查boxin g 装箱、装箱转换brace (curly brace) 大括号、花括号bracket (square brakcet) 中括号、方括号 breakpoint 断点browserapplications 浏览器应用(程序) browser-accessible application 可经由浏览器访问的应用程序bug 缺陷错误 build编连 (专指编译和连接)built-in 内建、内置 bus 总线business 业务、商务(看场合) business Logic 业务逻辑business rules 业务规则buttons 按钮 by/through通过byte 位元组 (由 8 bits 组成 )Ccache 高速缓存calendar 日历Calendrical Calculations 日期call 调用call operator 调用操作符2/ 17callba ck 回调candidate key 候选键 (for database)cascadingdelete 级联删除 (for database) cascadingupdate 级联更新 (for database) casting 转型、造型转换catalog 目录chain 链(functioncalls)character 字符characterformat 字符格式characterset 字符集check box 复选框check button 复选按钮CHECK constraintsCHECK 约束 (for database)checkpoi nt 检查点 (for database)childclass 子类CIL (common intermediate language) 通用中间语言、通用中介语言class类classdeclaration 类声明classdefinition 类定义classderivationlist 类继承列表class factory 类厂classhierarchy 类层次结构classlibrary 类库classloader 类装载器classtemplate 类模板class template partialspecializations 类模板部分特化class templatespecializations 类模板特化classification 分类clause 子句cleanup 清理、清除CLI (Common Language Infrastructure) 通用语言基础设施client 客户、客户端client application 客户端应用程序client area 客户区client cursor 客户端游标 (for database)client-server 客户机 /服务器、客户端/服务器clipboard 剪贴板clone 克隆CLS (common languagespecification) 通用语言规范code access security 代码访问安全code page 代码页COFF (Common Object File Format) 通用对象文件格式collection 集合COM (Component Object Model) 组件对象模型3/ 17 combo box 组合框command line 命令行comment 注释commit 提交(for database)communication 通讯compatible 兼容compile time 编译期、编译时compiler 编译器component 组件composite index 复合索引、组合索引(for database) composite key 复合键、组合键(for database) composition 复合、组合concept 概念concrete 具体的concrete class 具体类concurrency 并发、并发机制configuration 配置、组态Connected Components 连通分支connection 连接(for database)connection pooling 连接池console 控制台constant 常量Constrained and Unconstrained Optimization 最值问题constraint 约束(for database)construct 构件、成分、概念、构造(f or language )constructor (ctor) 构造函数、构造器container 容器containment 包容context 环境、上下文control 控件cookiecopy 拷贝CORBA 通用对象请求中介架构(Common Object Request Broker Architecture) cover 覆盖、涵盖create/crea tion 创建、生成crosstab query 交叉表查询(fordatabase)Cryptography 密码CTS (common type system) 通用类型系统cube 多维数据集 (for database) cursor 光标curso r 游标 (for database)custo定制、自定义mDdata 数据4/ 17dataconnection 数据连接 (for database) data dictionary 数据字典(for database) datafile 数据文件 (for database)dataintegrity 数据完整性(for database)data manipulation language (DML) 数据操作语言 (DML) (for database)datamember 数据成员、成员变量datasource 数据源 (for database)Data source name(DSN) 数据源名称 (DSN) (for database) datastructure 数据结构Data Structures 基本数据结构data table 数据表 (for database)data-bound 数据绑定 (for database)databa se 数据库 (for database)databasecatalog 数据库目录 (for database) databasediagram 数据关系图 (for database) databasefile 数据库文件(for database) databaseobject 数据库对象 (for database)database owner 数据库所有者(for database)databaseproject 数据库工程 (for database)database role 数据库角色(for database)database schema 数据库模式、数据库架构 (for database)databasescript 数据库脚本 (for database) datagram数据报文datase t 数据集 (for database)datase t 数据集 (for database)DBMS (database management system) 数据库管理系统(for database) DCOM (distributed COM) 分布式 COMdead lock 死锁 (for database)deallocate 归还debug 调试debugger 调试器decay 退化declaration 声明default 缺省、默认值DEFAULT constraint 默认约束(for database)default database 默认数据库 (for database)default instance 默认实例 (for database)default result set 默认结果集 (for database)defer 推迟definition 定义delegate 委托delegation 委托deploy 部署derived class 派生类5/ 17design pattern 设计模式destroy 销毁destructor(dtor) 析构函数、析构器device 设备DHTML (dynamic HyperText Markup Language) 动态超文本标记语言dialog 对话框Dictionaries 字典digest 摘要digital 数字的directive ( 编译 )指示符directory 目录disassembler 反汇编器DISCO (Discovery of Web Services)WebServices 的查找dispatch 调度、分派、派发distributed computing 分布式计算distributed query 分布式查询 (fordatabase)DNA (Distributed interNet Application)分布式网间应用程序document 文档DOM (Document ObjectModel) 文档对象模型dot operator ( 圆) 点操作符double-byte characterset (DBCS) 双字节字符集 (DBCS) driver 驱动 ( 程序 )DTD (document type definition) 文档类型定义dump 转储dump file 转储文件Ee-business 电子商务efficiency 效率efficient 高效encapsulation 封装end user 最终用户end-to-end authentication 端对端身份验证engine 引擎entity 实体enum (enumeration) 枚举enumerators 枚举成员、枚举器equal 相等equality 相等性equality operator 等号操作符error log 错误日志(for database) escape character 转义符、转义字符escape code 转义码evaluate 评估event 事件6/ 17event driven 事件驱动的event handler 事件处理器evidence 证据exception 异常exception declaration 异常声明exception handling 异常处理、异常处理机制exception specification 异常规范exception-safe 异常安全的exit 退出explicit 显式explicit specialization 显式特化explicit transaction 显式事务(for database)export 导出expression 表达式Ffat client 胖客户端feature 特性、特征fetch 提取field 字段 (for database)field 字段 (java)field length 字段长度(for database)file 文件filter 筛选(for database)finalization 终结finalizer 终结器firewall 防火墙flag 标记flash memory 闪存flush 刷新font 字体foreign key (FK) 外键 (FK) (for database)form 窗体formal parameter 形参forward declaration 前置声明forward-only 只向前的forward-only cursor 只向前游标(for database) framework 框架full specialization 完全特化function 函数function call operator ( 即operator ()) 函数调用操作符function object 函数对象function template 函数模板functionality 功能functor 仿函数7/ 17GGC (Garbage collection) 垃圾回收(机制)、垃圾收集(机制) generate 生成generic 泛化的、一般化的、通用的generic algorithm 通用算法genericity 泛型getter ( 相对于setter) 取值函数global 全局的global object 全局对象grant 授权(for database)group 组、群group box 分组框GUI 图形界面GUID (Globally Unique Identifier) 全球唯一标识符Hhandle 句柄handler 处理器harddisk 硬盘hard-coded硬编码的hard-copy 截屏图hardware 硬件hashtable 散列表、哈希表headerfile 头文件heap 堆helpfile 帮助文件hierarchical data 阶层式数据、层次式数据hierarchy 层次结构、继承体系high level 高阶、高层hook 钩子Host (application) 宿主 (应用程序 )hotkey 热键HTML (HyperText Markup Language) 超文本标记语言HTTP (HyperText Transfer Protocol) 超文本传输协议HTTP pipeline HTTP 管道hyperlink 超链接Iicon 图标IDE (Integrated Development Environment) 集成开发环境identifier 标识符IDL (Interface Definition Language) 接口定义语言idle time 空闲时间if and only if 当且仅当IL (Intermediate Language) 中间语言、中介语言image 图象8/ 17IME 输入法immediate base 直接基类immediate derived 直接派生类immediate updating 即时更新(for database)implement 实现implementation 实现、实现品implicit 隐式implicit transaction 隐式事务(for database)import 导入incremental update 增量更新(for database)Independent Set 独立集index 索引(for database)infinite loop 无限循环infinite recursive 无限递归information 信息inheritance 继承、继承机制initialization 初始化initialization list 初始化列表、初始值列表initialize 初始化inline 内联inline expansion 内联展开inner join 内联接(for database)instance 实例instantiated 具现化、实体化(常应用于template) instantiation 具现体、具现化实体(常应用于template) integrate 集成、整合integrity 完整性、一致性integrity constraint 完整性约束 (for database)interacts 交互interface 接口interoperability 互操作性、互操作能力interpreter 解释器introspection 自省invariants 不变性invoke 调用isolation level 隔离级别(for database)item 项、条款、项目iterate 迭代iteration 迭代 ( 回圈每次轮回称为一个iteration) iterative 反复的、迭代的iterator 迭代器JJIT compilation JIT 编译即时编译Job Scheduling 工程安排9/ 17Kkey 键(for database)key column 键列 (for database)Lleft outer join 左向外联接(for database) level 阶、层例library 库lifetime 生命期、寿命Linear Programming 线性规划link 连接、链接linkage 连接、链接linker 连接器、链接器list 列表、表、链表list box 列表框literal constant 字面常数livelock 活锁 (for database)load 装载、加载load balancing 负载平衡loader 装载器、载入器local 局部的local object 局部对象lock 锁log 日志login 登录login securitymode 登录安全模式(for database) lookup table 查找表(for database)loop 循环loosecoupling 松散耦合lvalue 左值Mmachine code 机器码、机器代码macro 宏maintain 维护managed code 受控代码、托管代码ManagedExtensions 受控扩充件、托管扩展managedobject 受控对象、托管对象manifest 清单many-to-manyrelationship 多对多关系 (for database) many-to-onerelationship 多对一关系 (for database) marshal 列集Matchi ng 匹配member 成员member access operator 成员取用运算子 (有 dot 和arrow 两种 )member function 成员函数10/17member initialization list 成员初始值列表memory 内存memory leak 内存泄漏 menu 菜单 message 消息message based 基于消息的message loop 消息环message queuing 消息队列metadata 元数据metaprogramming 元编程method 方法micro 微middle tier 中间层 middleware中间件modeling 建模 modeling language 建模语言modem 调制解调器 modifi er 修饰字、修饰符module 模块most derived class 最底层的派生类mouse 鼠标multi-tasking 多任务 multi-thread 多线程 multicast delegate 组播委托、多点委托multithreaded server application 多线程服务器应用程序multiuser多用户mutable 可变的 mutex 互斥元、互斥体 Nnamed parameter 命名参数 named pipe 命名管道namespace 名字空间、命名空间 native 原生的、本地的 native code 本地码、本机码 nested class 嵌套类 nested query 嵌套查询(for database) nested table 嵌套表(for database)network 网络 network card 网卡 Network Flow 网络流 Oobject对象。

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

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

中英文对照外文翻译外文资料原文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年代,大型机和高级程序语言被用来解决包括人力资源系统、专有系统和制造系统等许多问题。

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

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

外文资料原文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 communications 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 a ccommo 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 inreference 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 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 Comput er 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, 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 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 provide 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. 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 refin ement 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 proc ess 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 grapgh design and coding as detail is added to the design. This provides a common language throughout each stage in deve lopment. 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 technolog y 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 associated op erations.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 understa nding 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 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 princi ples 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. 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 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 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 sn 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. Algorithm(算法)2. Data Structure(数据结构)3. Variable(变量)4. Function(函数)5. Loop(循环)6. Condition(条件)7. Array(数组)8. String(字符串)9. Object(对象)10. Class(类)二、软件开发流程词汇1. Requirements Analysis(需求分析)2. Design(设计)3. Implementation(实现)4. Testing(测试)5. Deployment(部署)6. Maintenance(维护)7. Iteration(迭代)8. Version Control(版本控制)9. Project Management(项目管理)10. Documentation(文档)三、编程语言相关词汇1. Programming Language(编程语言)2. Syntax(语法)3. Compilation(编译)4. Interpretation(解释)5. Library(库)6. Framework(框架)7. API(应用程序编程接口)8. SDK(软件开发工具包)9. Package(包)10. Module(模块)四、前端开发词汇1. HTML(超文本标记语言)2. CSS(层叠样式表)3. JavaScript(一种编程语言)4. DOM(文档对象模型)5. Layout(布局)6. Responsive Design(响应式设计)7. Framework(前端框架,如Bootstrap、Vue.js等)8. Widget(小部件)9. Animation(动画)10. User Interface(用户界面)五、后端开发词汇1. Server(服务器)2. Database(数据库)3. SQL(结构化查询语言)4. NoSQL(非关系型数据库)5. ServerSide Scripting(服务器端脚本)6. Backend Framework(后端框架,如Django、Express等)7. RESTful API(REST风格的应用程序编程接口)8. Authentication(认证)9. Authorization(授权)10. Scalability(可扩展性)(文档将持续更新,敬请期待后续内容)六、云计算与大数据词汇1. Cloud Computing(云计算)2. Virtualization(虚拟化)3. Serverless Architecture(无服务器架构)4. Data Center(数据中心)5. Big Data(大数据)6. Data Mining(数据挖掘)7. Machine Learning(机器学习)9. Cluster Computing(集群计算)10. Distributed System(分布式系统)七、网络安全词汇1. Cybersecurity(网络安全)2. Firewall(防火墙)3. Encryption(加密)4. Malware(恶意软件)5. Phishing(网络钓鱼)6. Intrusion Detection System(入侵检测系统)7. Security Breach(安全漏洞)8. Vulnerability(漏洞)9. Threat Intelligence(威胁情报)10. Data Protection(数据保护)八、移动开发词汇1. Mobile Application(移动应用)2. App Store(应用商店)3. User Experience(用户体验)4. User Interface Design(用户界面设计)5. Native App(原生应用)6. Hybrid App(混合应用)7. CrossPlatform Development(跨平台开发)8. Android(安卓操作系统)9. iOS(苹果操作系统)10. Wearable Technology(可穿戴技术)九、测试与质量保证词汇1. Test Case(测试用例)2. Test Plan(测试计划)3. Bug(缺陷)4. Defect(故障)5. Regression Testing(回归测试)6. Performance Testing(性能测试)7. Unit Testing(单元测试)8. Integration Testing(集成测试)9. Acceptance Testing(验收测试)10. Quality Assurance(质量保证)十、敏捷开发与Scrum词汇1. Agile Development(敏捷开发)2. Scrum Master(Scrum主管)3. Product Owner(产品负责人)4. Scrum Team(Scrum团队)5. Sprint(冲刺)6. Backlog(待办事项列表)7. Daily Standup(每日站会)8. Sprint Review(冲刺回顾)9. Retrospective(回顾会议)10. Burndown Chart(燃尽图)(文档将持续更新,敬请期待后续内容)十一、Web开发与浏览器词汇1. Web Development(网页开发)2. Web Browser(网页浏览器)3. Web Server(网络服务器)4. HTTP/(超文本传输协议/安全超文本传输协议)5. HTML5(超文本标记语言第五版)6. CSS3(层叠样式表第三版)7. JavaScript Framework(JavaScript框架)8. Websocket(网络套接字)9. Session Management(会话管理)10. CrossOrigin Resource Sharing(跨源资源共享)十二、版本控制系统词汇1. Git(分布式版本控制系统)2. Repository(仓库)3. Commit(提交)4. Branch(分支)5. Merge(合并)6. Pull Request(拉取请求)7. Fork(分叉)8. Clone(克隆)9. Push(推送)10. Tag(标签)十三、DevOps与持续集成词汇1. DevOps(开发与运维)2. Continuous Integration(持续集成)3. Continuous Deployment(持续部署)4. Continuous Delivery(持续交付)5. Pipeline(管道)6. Build Automation(构建自动化)7. Configuration Management(配置管理)8. Infrastructure as Code(基础设施即代码)9. Monitoring(监控)10. Logging(日志记录)十四、用户体验与交互设计词汇1. User Experience Design(用户体验设计)2. Interaction Design(交互设计)3. User Persona(用户画像)4. Wireframe(线框图)5. Prototype(原型)6. Usability Testing(可用性测试)7. Accessibility(可访问性)8. User Flow(用户流程)9. Feedback Loop(反馈循环)10. Iterative Design(迭代设计)十五、区块链与加密货币词汇1. Blockchain(区块链)2. Cryptocurrency(加密货币)3. Bitcoin(比特币)4. Smart Contract(智能合约)5. Decentralization(去中心化)6. Mining(挖矿)7. Token(代币)8. Wallet(钱包)9. Consensus Mechanism(共识机制)10. Distributed Ledger Technology(分布式账本技术)(文档将持续更新,敬请期待后续内容)。

IT软件开发的常用英语词汇经典大全

IT软件开发的常用英语词汇经典大全

Aabstract 抽象的abstract base class (ABC)抽象基类abstract class 抽象类abstraction 抽象、抽象物、抽象性access 存取、访问access function 访问函数access level访问级别account 账户action 动作activate 激活active 活动的actual parameter 实参adapter 适配器add-in 插件address 地址address space 地址空间ADO(ActiveX Data Object)ActiveX数据对象advanced 高级的aggregation 聚合、聚集algorithm 算法alias 别名align 排列、对齐allocate 分配、配置allocator分配器、配置器angle bracket 尖括号annotation 注解、评注API (Application Programming Interface) 应用(程序)编程接口appearance 外观append 附加application 应用、应用程序application framework 应用程序框架Approximate String Matching 模糊匹配architecture 架构、体系结构archive file 归档文件、存档文件argument参数。

array 数组arrow operator 箭头操作符assert(ion) 断言assign 赋值assignment 赋值、分配assignment operator 赋值操作符associated 相关的、相关联的asynchronous 异步的attribute 特性、属性authentication service 验证服务authorization 授权Bbackground 背景、后台(进程)backup 备份backup device备份设备backup file 备份文件backward compatible 向后兼容、向下兼容base class 基类base type 基类型batch 批处理BCL (base class library)基类库Bin Packing 装箱问题binary 二进制binding 绑定bit 位bitmap 位图block 块、区块、语句块boolean 布林值(真假值,true或false)border 边框bounds checking 边界检查boxing 装箱、装箱转换brace (curly brace) 大括号、花括号bracket (square brakcet) 中括号、方括号breakpoint 断点browser applications 浏览器应用(程序)browser-accessible application 可经由浏览器访问的应用程序bug 缺陷错误build 编连(专指编译和连接)built-in 内建、内置bus 总线business 业务、商务(看场合)business Logic 业务逻辑business rules 业务规则buttons 按钮by/through 通过byte 位元组(由8 bits组成)Ccache 高速缓存calendar 日历Calendrical Calculations 日期call 调用call operator 调用操作符callback 回调candidate key 候选键(for database)cascading delete 级联删除(for database)cascading update 级联更新(for database)casting 转型、造型转换catalog 目录chain 链(function calls)character 字符character format 字符格式character set 字符集check box 复选框check button 复选按钮CHECK constraints CHECK约束(for database)checkpoint 检查点(for database)child class 子类CIL (common intermediate language)通用中间语言、通用中介语言class 类class declaration 类声明class definition 类定义class derivation list 类继承列表class factory 类厂class hierarchy 类层次结构class library 类库class loader 类装载器class template 类模板class template partial specializations 类模板部分特化class template specializations 类模板特化classification 分类clause 子句cleanup 清理、清除CLI (Common Language Infrastructure) 通用语言基础设施client 客户、客户端client application 客户端应用程序client area 客户区client cursor 客户端游标(for database)client-server 客户机/服务器、客户端/服务器clipboard 剪贴板clone 克隆CLS (common language specification) 通用语言规范code access security 代码访问安全code page 代码页COFF (Common Object File Format) 通用对象文件格式collection 集合COM (Component Object Model) 组件对象模型combo box 组合框command line 命令行comment 注释commit 提交(for database)communication 通讯compatible 兼容compile time 编译期、编译时compiler 编译器component组件composite index 复合索引、组合索引(for database)composite key 复合键、组合键(for database)composition 复合、组合concept 概念concrete具体的concrete class 具体类concurrency 并发、并发机制configuration 配置、组态Connected Components 连通分支connection 连接(for database)connection pooling 连接池console 控制台constant 常量Constrained and Unconstrained Optimization 最值问题constraint 约束(for database)construct 构件、成分、概念、构造(for language)constructor (ctor) 构造函数、构造器container 容器containment包容context 环境、上下文control 控件cookiecopy 拷贝CORBA 通用对象请求中介架构(Common Object Request Broker Architecture) cover 覆盖、涵盖create/creation 创建、生成crosstab query 交叉表查询(for database)Cryptography 密码CTS (common type system)通用类型系统cube 多维数据集(for database)cursor 光标cursor 游标(for database)custom 定制、自定义Ddata 数据data connection 数据连接(for database)data dictionary 数据字典(for database)data file 数据文件(for database)data integrity 数据完整性(for database)data manipulation language (DML)数据操作语言(DML) (for database) data member 数据成员、成员变量data source 数据源(for database)Data source name (DSN) 数据源名称(DSN) (for database)data structure数据结构Data Structures 基本数据结构data table 数据表(for database)data-bound 数据绑定(for database)database 数据库(for database)database catalog 数据库目录(for database)database diagram 数据关系图(for database)database file 数据库文件(for database)database object 数据库对象(for database)database owner 数据库所有者(for database)database project 数据库工程(for database)database role 数据库角色(for database)database schema 数据库模式、数据库架构(for database)database script 数据库脚本(for database)datagram 数据报文dataset 数据集(for database)dataset 数据集(for database)DBMS (database management system)数据库管理系统(for database) DCOM (distributed COM)分布式COMdead lock 死锁(for database)deallocate 归还debug 调试debugger 调试器decay 退化declaration 声明default 缺省、默认值DEFAULT constraint默认约束(for database)default database 默认数据库(for database)default instance 默认实例(for database)default result set 默认结果集(for database)defer 推迟definition 定义delegate 委托delegation 委托deploy 部署derived class 派生类design pattern 设计模式destroy 销毁destructor(dtor)析构函数、析构器device 设备DHTML (dynamic HyperText Markup Language)动态超文本标记语言dialog 对话框Dictionaries 字典digest 摘要digital 数字的directive (编译)指示符directory 目录disassembler 反汇编器DISCO (Discovery of Web Services)Web Services的查找dispatch 调度、分派、派发distributed computing 分布式计算distributed query 分布式查询(for database)DNA (Distributed interNet Application) 分布式网间应用程序document 文档DOM (Document Object Model)文档对象模型dot operator (圆)点操作符double-byte character set (DBCS)双字节字符集(DBCS)driver 驱动(程序)DTD (document type definition) 文档类型定义dump 转储dump file 转储文件Ee-business 电子商务efficiency 效率efficient 高效encapsulation 封装end user 最终用户end-to-end authentication 端对端身份验证engine 引擎entity 实体enum (enumeration) 枚举enumerators 枚举成员、枚举器equal 相等equality 相等性equality operator 等号操作符error log 错误日志(for database)escape character 转义符、转义字符escape code 转义码evaluate 评估event 事件event driven 事件驱动的event handler 事件处理器evidence 证据exception 异常exception declaration 异常声明exception handling 异常处理、异常处理机制exception specification 异常规范exception-safe 异常安全的exit 退出explicit 显式explicit specialization 显式特化explicit transaction 显式事务(for database)export 导出expression 表达式Ffat client 胖客户端feature 特性、特征fetch 提取field 字段(for database)field 字段(java)field length 字段长度(for database)file 文件filter 筛选(for database)finalization 终结finalizer 终结器firewall 防火墙flag 标记flash memory 闪存flush 刷新font 字体foreign key (FK) 外键(FK) (for database)form 窗体formal parameter 形参forward declaration 前置声明forward-only 只向前的forward-only cursor 只向前游标(for database) framework 框架full specialization 完全特化function 函数function call operator (即operator ()) 函数调用操作符function object 函数对象function template函数模板functionality 功能functor 仿函数GGC (Garbage collection) 垃圾回收(机制)、垃圾收集(机制) generate 生成generic 泛化的、一般化的、通用的generic algorithm通用算法genericity 泛型getter (相对于setter)取值函数global 全局的global object 全局对象grant 授权(for database)group 组、群group box 分组框GUI 图形界面GUID (Globally Unique Identifier) 全球唯一标识符Hhandle 句柄handler 处理器hard disk 硬盘hard-coded 硬编码的hard-copy 截屏图hardware 硬件hash table 散列表、哈希表header file头文件heap 堆help file 帮助文件hierarchical data 阶层式数据、层次式数据hierarchy 层次结构、继承体系high level 高阶、高层hook 钩子Host (application)宿主(应用程序)hot key 热键HTML (HyperText Markup Language) 超文本标记语言HTTP (HyperText Transfer Protocol) 超文本传输协议HTTP pipeline HTTP管道hyperlink 超链接Iicon 图标IDE (Integrated Development Environment)集成开发环境identifier 标识符IDL (Interface Definition Language) 接口定义语言idle time 空闲时间if and only if当且仅当IL (Intermediate Language) 中间语言、中介语言image 图象IME 输入法immediate base 直接基类immediate derived 直接派生类immediate updating 即时更新(for database) implement 实现implementation 实现、实现品implicit 隐式implicit transaction隐式事务(for database)import 导入incremental update 增量更新(for database) Independent Set 独立集index 索引(for database)infinite loop 无限循环infinite recursive 无限递归information 信息inheritance 继承、继承机制initialization 初始化initialization list 初始化列表、初始值列表initialize 初始化inline 内联inline expansion 内联展开inner join 内联接(for database)instance 实例instantiated 具现化、实体化(常应用于template) instantiation 具现体、具现化实体(常应用于template) integrate 集成、整合integrity 完整性、一致性integrity constraint完整性约束(for database) interacts 交互interface 接口interoperability 互操作性、互操作能力interpreter 解释器introspection 自省invariants 不变性invoke 调用isolation level 隔离级别(for database)item 项、条款、项目iterate 迭代iteration 迭代(回圈每次轮回称为一个iteration) iterative 反复的、迭代的iterator 迭代器JJIT compilation JIT编译即时编译Job Scheduling 工程安排Kkey 键(for database)key column 键列(for database)Lleft outer join 左向外联接(for database)level 阶、层例library 库lifetime 生命期、寿命Linear Programming 线性规划link 连接、链接linkage 连接、链接linker 连接器、链接器list 列表、表、链表list box 列表框literal constant 字面常数livelock 活锁(for database)load 装载、加载load balancing 负载平衡loader 装载器、载入器local 局部的local object 局部对象lock 锁log 日志login 登录login security mode登录安全模式(for database)lookup table 查找表(for database)loop 循环loose coupling 松散耦合lvalue 左值Mmachine code 机器码、机器代码macro 宏maintain 维护managed code 受控代码、托管代码Managed Extensions 受控扩充件、托管扩展managed object 受控对象、托管对象manifest 清单many-to-many relationship 多对多关系(for database)many-to-one relationship 多对一关系(for database)marshal 列集Matching 匹配member 成员member access operator 成员取用运算子(有dot和arrow两种) member function 成员函数member initialization list成员初始值列表memory 内存memory leak 内存泄漏menu 菜单message 消息message based 基于消息的message loop 消息环message queuing消息队列metadata 元数据metaprogramming元编程method 方法micro 微middle tier 中间层middleware 中间件modeling 建模modeling language 建模语言modem 调制解调器modifier 修饰字、修饰符module 模块most derived class最底层的派生类mouse 鼠标multi-tasking 多任务multi-thread 多线程multicast delegate 组播委托、多点委托multithreaded server application 多线程服务器应用程序multiuser 多用户mutable 可变的mutex 互斥元、互斥体Nnamed parameter 命名参数named pipe 命名管道namespace 名字空间、命名空间native 原生的、本地的native code 本地码、本机码nested class 嵌套类nested query 嵌套查询(for database)nested table 嵌套表(for database)network 网络network card 网卡Network Flow 网络流Oobject 对象object based 基于对象的object model 对象模型object oriented 面向对象的ODBC data source ODBC数据源(for database) ODBC driver ODBC驱动程序(for database)one-to-many relationship 一对多关系(for database) one-to-one relationship 一对一关系(for database) operating system (OS) 操作系统operation 操作operator 操作符、运算符option 选项outer join 外联接(for database)overflow 上限溢位(相对于underflow)overload 重载override 覆写、重载、重新定义Ppackage 包packaging 打包palette 调色板parallel 并行parameter 参数、形式参数、形参parameter list 参数列表parameterize 参数化parent class 父类parentheses 圆括弧、圆括号parse 解析parser 解析器part 零件、部件partial specialization 局部特化pass by reference 引用传递pass by value 值传递pattern 模式persistence 持久性pixel 像素placeholder 占位符platform 平台Point Location 位置查询pointer 指针polymorphism 多态pooling 池化pop up 弹出式port 端口postfix 后缀precedence 优先序(通常用于运算子的优先执行次序) prefix 前缀preprocessor 预处理器primary key (PK)主键(PK) (for database) primary table 主表(for database) primitive type 原始类型print 打印printer 打印机procedure 过程process 进程program 程序programmer 程序员programming编程、程序设计progress bar 进度指示器project 项目、工程property 属性protocol 协议pseudo code伪码Qqualified 合格的qualifier 修饰符quality 质量queue 队列Rradio button 单选按钮random number 随机数Random Number Generation 随机数生成range 范围、区间rank 等级raw 未经处理的re-direction 重定向readOnly只读record 记录(for database)recordset 记录集(for database recursion ——递归recursive 递归refactoring 重构refer 引用、参考reference 引用、参考reflection 反射refresh data 刷新数据(for database) register 寄存器regular expression 正则表达式relational database 关系数据库remote 远程remote request 远程请求represent 表述,表现resolution 解析过程resolve 解析、决议result set 结果集(for database)retrieve data 检索数据return 返回return type 返回类型return value 返回值revoke 撤销right outer join 右向外联接(for database) robust 健壮robustness 健壮性roll back 回滚(for database)roll forward 前滚(for database)routine 例程row 行(for database)rowset 行集(for database)RPC (remote procedure call)RPC(远程过程调用) runtime 执行期、运行期、执行时、运行时rvalue 右值SSatisfiability 可满足性save 保存savepoint 保存点(for database)SAX (Simple API for XML)scalable 可伸缩的、可扩展的schedule 调度scheduler 调度程序schema 模式、纲目结构scope 作用域、生存空间screen 屏幕scroll bar滚动条SDK (Software Development Kit)软件开发包sealed class 密封类search 查找Searching 查找semantics 语义sequential container序列式容器serial 串行serialization/serialize 序列化server 服务器、服务端session 会话(for database)Set and String Problems 集合与串的问题Set Cover 集合覆盖Set Data Structures 集合Set Packing 集合配置setter 设值函数side effect 副作用signature 签名single-threaded 单线程slider滑块slot 槽SMTP (Simple Mail Transfer Protocol) 简单邮件传输协议snapshot 截屏图snapshot 快照(for database)SOAP (simple object access protocol) 简单对象访问协议software 软件Sorting 排序source code 源码、源代码specialization 特化specification 规范、规格splitter 切分窗口SQL (Structured Query Language) 结构化查询语言(for database) stack 栈、堆栈standard library 标准库standard template library 标准模板库stateless 无状态的statement 语句、声明static cursor 静态游标(for database)static SQL statements 静态SQL语句(for database)status bar 状态条stored procedure 存储过程(for database)stream 流string 字符串String Matching 模式匹配stub 存根subobject子对象subquery 子查询(for database)subscript operator 下标操作符support 支持suspend 挂起symbol 记号syntax 语法system databases 系统数据库(for database)system tables 系统表(for database)Ttable 表(for database)table-level constraint 表级约束(for database)target 标的,目标task switch 工作切换TCP (Transport Control Protocol) 传输控制协议template 模板temporary object 临时对象temporary table 临时表(for database)text 文本Text Compression 压缩text file 文本文件thin client 瘦客户端third-party 第三方thread 线程thread-safe 线程安全的throw 抛出、引发(常指发出一个exception)trace 跟踪transaction 事务(for database)transaction log 事务日志(for database)transaction rollback 事务回滚(for database)traverse 遍历trigger 触发器(for database)type 类型UUDDI(Universary Description, Discovery and Integration)统一描述、查询与集成UML (unified modeling language)统一建模语言unary function 单参函数unary operator 一元操作符unboxing 拆箱、拆箱转换underflow 下限溢位(相对于overflow)Unicode 统一字符编码标准,采用双字节对字符进行编码Union query 联合查询(for database)UNIQUE constraints UNIQUE约束(for database)unique index 唯一索引(for database)unmanaged code 非受控代码、非托管代码unmarshal 散集unqualified 未经限定的、未经修饰的URI (Uniform Resource identifier) 统一资源标识符URL (Uniform Resource Locator) 统一资源定位器user 用户user interface 用户界面Vvalue types 值类型variable 变量vector 向量(一种容器,有点类似array)vendor 厂商viable 可行的video 视频view 视图(for database)view 视图virtual function 虚函数virtual machine 虚拟机virtual memory 虚拟内存WWeb Services web服务WHERE clause WHERE子句(for database)wildcard characters 通配符字符(for database)wildcard search 通配符搜索(for database)window 窗口window function 窗口函数window procedure 窗口过程Windows authentication Windows身份验证wizard 向导word 单词write enable 写启用(for database)write-only 只写WSDL (Web Service Description Language)Web Service描述语言XXML (eXtensible Markup Language) 可扩展标记语言XML Message Interface (XMI) XML消息接口XSD (XML Schema Definition) XML模式定义语言XSL (eXtensible Stylesheet Language) 可扩展样式表语言XSLT (eXtensible Stylesheet Language Transformation)可扩展样式表语言转换xxx based 基于xxx的xxx oriented 面向xxx。

软件工程外文翻译文献

软件工程外文翻译文献

软件工程外文翻译文献(文档含中英文对照即英文原文和中文翻译)Software engineeringSoftware engineering is the study of the use of engineering methods to build and maintain effective, practical and high-quality software disciplines. It involves the programming language, database, software development tools, system platform, standards, design patterns and so on.In modern society, the software used in many ways. Typical software such as email, embedded systems, human-machine interface, office packages, operating systems, compilers, databases, games. Meanwhile, almost all the various sectors of computer software applications, such as industry, agriculture, banking, aviation and government departments. These applications facilitate the economic and social development,improve people's working efficiency, while improving the quality of life. Software engineers is to create software applications of people collectively, according to which software engineers can be divided into different areas of system analysts, software designers, system architects, programmers, testers and so on. It is also often used to refer to a variety of software engineers, programmers.OriginIn view of difficulties encountered in software development, North Atlantic Treaty Organization (NATO) in 1968 organized the first Conference on Software Engineering, and will be presented at the "software engineering" to define the knowledge required for software development, and suggested that "software development the activities of similar projects should be. " Software Engineering has formally proposed since 1968, this time to accumulate a large number of research results, widely lot of technical practice, academia and industry through the joint efforts of software engineering is gradually developing into a professional discipline.Definitioncreation and use of sound engineering principles in order to obtain reliable and economically efficient software.application of systematic, follow the principle can be measured approach to development, operation and maintenance of software; that is to beapplied to software engineering.The development, management and updating software products related to theories, methods and tools.A knowledge or discipline (discipline), aims to produce good quality, punctual delivery, within budget and meet users need software.the practical application of scientific knowledge in the design, build computer programs, and the accompanying documents produced, and the subsequent operation and maintenance.Use systematic production and maintenance of software products related to technology and management expertise to enable software development and changes in the limited time and under cost.Construction team of engineers developed the knowledge of large software systems disciplines.the software analysis, design, implementation and maintenance of a systematic method.the systematic application of tools and techniques in the development of computer-based applications.Software Engineering and Computer ScienceSoftware development in the end is a science or an engineering, this is a question to be debated for a long time. In fact, both the two characteristics of software development. But this does not mean that they can be confused with each other. Many people think that softwareengineering, computer science and information science-based as in the traditional sense of the physical and chemical engineering as. In the U.S., about 40% of software engineers with a degree in computer science. Elsewhere in the world, this ratio is also similar. They will not necessarily use every day knowledge of computer science, but every day they use the software engineering knowledge.For example, Peter McBreen that software "engineering" means higher degree of rigor and proven processes, not suitable for all types of software development stage. Peter McBreen in the book "Software Craftsmanship: The New Imperative" put forward the so-called "craftsmanship" of the argument, consider that a key factor in the success of software development, is to develop the skills, not "manufacturing" software process.Software engineering and computer programmingSoftware engineering exists in a variety of applications exist in all aspects of software development. The program design typically include program design and coding of the iterative process, it is a stage of software development.Software engineering, software project seeks to provide guidance in all aspects, from feasibility analysis software until the software after completion of maintenance work. Software engineering that software development and marketing activities are closely related. Such assoftware sales, user training, hardware and software associated with installation. Software engineering methodology that should not be an independent programmer from the team and to develop, and the program of preparation can not be divorced from the software requirements, design, and customer interests.Software engineering design of industrial development is the embodiment of a computer program.Software crisisSoftware engineering, rooted in the 20th century to the rise of 60,70 and 80 years of software crisis. At that time, many of the software have been a tragic final outcome. Many of the software development time significantly beyond the planned schedule. Some projects led to the loss of property, and even some of the software led to casualties. While software developers have found it increasingly difficult for software development.OS 360 operating system is considered to be a typical case. Until now, it is still used in the IBM360 series host. This experience for decades, even extremely complex software projects do not have a set of programs included in the original design of work systems. OS 360 is the first large software project, which uses about 1,000 programmers. Fred Brooks in his subsequent masterpiece, "The Mythical Man Month" (The Mythical Man-Month) in the once admitted that in his management of theproject, he made a million dollar mistake.Property losses: software error may result in significant property damage. European Ariane rocket explosion is one of the most painful lesson.Casualties: As computer software is widely used, including hospitals and other industries closely related to life. Therefore, the software error might also result in personal injury or death.Was used extensively in software engineering is the Therac-25 case of accidents. In 1985 between June and January 1987, six known medical errors from the Therac-25 to exceed the dose leads to death or severe radiation burns.In industry, some embedded systems do not lead to the normal operation of the machine, which will push some people into the woods. MethodologyThere are many ways software engineering aspects of meaning. Including project management, analysis, design, program preparation, testing and quality control.Software design methods can be distinguished as the heavyweight and lightweight methods. Heavyweight methods produce large amounts of official documentation.Heavyweight development methodologies, including the famous ISO 9000, CMM, and the Unified Process (RUP).Lightweight development process is not an official document of the large number of requirements. Lightweight methods, including well-known Extreme Programming (XP) and agile process (Agile Processes).According to the "new methodology" in this article, heavyweight method presented is a "defensive" posture. In the application of the "heavyweight methods" software organizations, due to a software project manager with little or no involvement in program design, can not grasp the item from the details of the progress of the project which will have a "fear", constantly had to ask the programmer to write a lot of "software development documentation." The lightweight methods are presented "aggressive" attitude, which is from the XP method is particularly emphasized four criteria - "communication, simplicity, feedback and courage" to be reflected on. There are some people that the "heavyweight method" is suitable for large software team (dozens or more) use, and "lightweight methods" for small software team (a few people, a dozen people) to use. Of course, on the heavyweight and lightweight method of approach has many advantages and disadvantages of debate, and various methods are constantly evolving.Some methodologists think that people should be strictly followed in the development and implementation of these methods. But some people do not have the conditions to implement these methods. In fact, themethod by which software development depends on many factors, but subject to environmental constraints.Software development processSoftware development process, with the subsequent development of technology evolution and improvement. From the early waterfall (Waterfall) development model to the subsequent emergence of the spiral iterative (Spiral) development, which recently began the rise of agile development methodologies (Agile), they showed a different era in the development process for software industry different awareness and understanding of different types of projects for the method.Note distinction between software development process and software process improvement important difference between. Such as ISO 15504, ISO 9000, CMM, CMMI such terms are elaborated in the framework of software process improvement, they provide a series of standards and policies to guide software organizations how to improve the quality of the software development process, the ability of software organizations, and not give a specific definition of the development process.Development of software engineering"Agile Development" (Agile Development) is considered an important software engineering development. It stressed that software development should be able to possible future changes and uncertaintiesof a comprehensive response.Agile development is considered a "lightweight" approach. In the lightweight approach should be the most prestigious "Extreme Programming" (Extreme Programming, referred to as XP).Correspond with the lightweight approach is the "heavyweight method" exists. Heavyweight approach emphasizes the development process as the center, rather than people-centered. Examples of methods such as heavyweight CMM / PSP / TSP.Aspect-oriented programming (Aspect Oriented Programming, referred to as the AOP) is considered to software engineering in recent years, another important development. This aspect refers to the completion of a function of a collection of objects and functions. In this regard the contents related to generic programming (Generic Programming) and templates.软件工程软件工程是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。

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

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

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

软件开发外文翻译本页仅作为文档页封面,使用时可以删除This document is for reference only-rar21year.MarchRequirements PhaseThe 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 doThe 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 client and 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 theperson 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 may be 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 introducingcameras 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 used as 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 mayexpect 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.外文翻译需求阶段将一个软件产品及时而又不超出预算地开发出来的机会有时是很小的,除非软件开发小组的成员对软件产品将做什么都一致理解。

相关文档
最新文档