软件工程外文文献翻译

软件工程外文文献翻译
软件工程外文文献翻译

西安邮电学院

毕业设计(论文)

外文文献翻译

院系:计算机学院

专业:软件工程

班级:软件0601

学生姓名:

导师姓名:职称:副教授

起止时间:2010年3月8日至2010年6月11日

Classes

One of the most compelling features about Java is code reuse. But to be revolutionary, you’ve got to be able to do a lot more than copy code and change it.

That’s the approach used in procedural languages like C, and it hasn’t worked very well. Like everything in Java, the solution revolves around the class. You reuse code by creating new classes, but instead of creating them from scratch, you use existing classes that someone has already built and debugged.The trick is to use the classes without soiling the existing code.

Initializing the base class

Since there are now two classes involved—the base class and the derived class—instead of just one, it can be a bit confusing to try to imagine the resulting object produced by a derived class. From the outside, it looks like the new class has the same interface as the base class and maybe some additional methods and fields. But inheritance doesn’t just copy the interface of the base class. When you create an object of the derived class, it contains within it a subobject of the base class. This subobject is the same as if you had created an object of the base class by itself. It’s just that from the outside, the subobject of the base class is wrapped within the derived-class object.

Of course, it’s essential that th e base-class subobject be initialized correctly, and there’s only one way to guarantee this: perform the initialization in the constructor by calling the base-class constructor, which has all the appropriate knowledge and privileges to perform the base-class initialization. Java automatically inserts calls to the base-class constructor in the derived-class constructor.

Guaranteeing proper cleanup

Java doesn’t have the C++ concept of a destructor, a method that is automatically called when an object is destroyed. The reason is probably that in Java, the practice is simply to forget about objects rather than to destroy them, allowing the garbage collector to reclaim the memory as necessary.

Often this is fine, but there are times when your class might perform some activities during its lifetime that require cleanup. As mentioned in Chapter 4, you can’t know when the garbage collector will be called, or if it will be called. So if you want something cleaned up for a class, you must explicitly write a special method to do it, and make sure that the client programmer knows that they must call this method.

Note that in your cleanup method, you must also pay attention to the calling order for the base-class and member-object cleanup methods in case one subobject depends on another. In general, you should follow the same form that is imposed by a C++ compiler on its destructors: first perform all of the cleanup work specific to your class, in the reverse order of creation. (In general, this requires that base-class elements still be viable.) Then call the base-class cleanup method, as demonstrated here

Name hiding

If a Java base class has a method name that’s overloaded several times, redefining that method name in the derived class will not hide any of the base-class versions (unlike C++). Thus overloading works regardless of whether the method was defined at this level or in a base class,it’s far more common to override methods of the same name, using exactly the same signature and return type as in the base class. It can be confusing otherwise (which is why C++ disallows it—to prevent you from making what is probably a mistake).

Choosing composition vs. inheritance

Both composition and inheritance allow you to place subobjects inside your new class (composition explicitly does this—with inheritance it’s implicit). You might wonder about the difference between the two, and when to choose one over the other.

Composition is generally used when you want the features of an existing class inside your new class, but not its interface. That is, you embed an object so that you can use it to implement functionality in your new class, but the user of your new class sees the interface you’ve defined for the new class rather than the interface from the

embedded object. For this effect, you embed private objects of existing classes inside your new class.

Sometimes it makes sense to allow the class user to directly access the composition of your new class; that is, to make the member objects public. The member objects use implementation hiding themselves, so this is a safe thing to do. When the user knows you’re assembling a bunch of parts, it makes the interface easier to understand.

When you inherit, you take an existing class and make a special version of it. In general, this mea ns that you’re taking a general-purpose class and specializing it for a particular need

The final keyword

Java’s final keyword has slightly different meanings depending on the context, but in general it says “This cannot be changed.” You might want to prev ent changes for two reasons: design or efficiency. Because these two reasons are quite different, it’s possible to misuse the final keyword

The following sections discuss the three places where final can be used: for data, methods, and classes.

Final data

Many programming languages have a way to tell the compiler that a piece of data is “constant.” A constant is useful for two reasons:

It can be a compile-time constant that won’t ever change.

It can be a value initialized at run time that you don’t want ch anged.

In the case of a compile-time constant, the compiler is allowed to “fold” the constant value into any calculations in which it’s used; that is, the calculation can be performed at compile time, eliminating some run-time overhead. In Java, these sorts of constants must be primitives and are expressed with the final keyword. A value must be given at the time of definition of such a constant.

A field that is both static and final has only one piece of storage that cannot be changed.

When using final with object references rather than primitives, the meaning gets a bit confusing. With a primitive, final makes the value a constant, but with an object reference, final makes the reference a constant. Once the reference is initialized to an object, it can never be changed to point to another object. However, the object itself can be modified; Java does not provide a way to make any arbitrary object a constant. (You can, however, write your class so that objects have the effect of being constant.) This restriction includes arrays, which are also objects.

Final methods

There are two reasons for final methods. The first is to put a “lock” on the method to prevent any inheriting class from changing its meaning. This is done for design reasons when you want to mak e sure that a method’s behavior is retained during inheritance and cannot be overridden.

The second reason for final methods is efficiency. If you make a method final, you are allowing the compiler to turn any calls to that method into inline calls. When the compiler sees a final method call, it can (at its discretion) skip the normal approach of inserting code to perform the method call mechanism (push arguments on the stack, hop over to the method code and execute it, hop back and clean off the stack arguments, and deal with the return value) and instead replace the method call with a copy of the actual code in the method body. This eliminates the overhead of the method call. Of course, if a method is big, then your code begins to bloat, and you probably won’t see any performance gains from inlining, since any improvements will be dwarfed by the amount of time spent inside the method. It is implied that the Java compiler is able to detect these situations and choose wisely whether to inline a final method. However, it’s best to let the compiler and JVM handle efficiency issues and make a method final only if you want to explicitly prevent overriding

Final classes

When you say that an entire class is final (by preceding its definition with the final keyword), you state that you don’t want to inherit from this class or allow anyone else to do so. In other words, for some reason the design of your class is such

that there is never a need to make any changes, or for safety or security reasons you don’t want subc lassing

Note that the fields of a final class can be final or not, as you choose. The same rules apply to final for fields regardless of whet However, because it prevents inheritance, all methods in a final class are implicitly final, since there’s no way to override them. You can add the final specifier to a method in a final class, but it doesn’t add any meaning.her the class is defined as final.

Summary

Both inheritance and composition allow you to create a new type from existing types. Typically, however, composition reuses existing types as part of the underlying implementation of the new type, and inheritance reuses the interface. Since the derived class has the base-class interface, it can be upcast to the base, which is critical for polymorphism, as you’ll see in the next chapter.

Despite the strong emphasis on inheritance in object-oriented programming, when you start a design you should generally prefer composition during the first cut and use inheritance only when it is clearly necessary. Composition tends to be more flexible. In addition, by using the added artifice of inheritance with your member type, you can change the exact type, and thus the behavior, of those member objects at run time. Therefore, you can change the behavior of the composed object at run time.

When designing a system, your goal is to find or create a set of classes in which each class has a specific use and is neither too big (encompassing so much functionality that it’s unwieldy to reuse) nor annoyingly small (you can’t use it by itself or without adding functionality).

“Java引人注目的一项特性是代码的重复使用或者再生。但最具革命意义的是,除代码的复制和修改以外,我们还能做多得多的其他事情。”

在象C那样的程序化语言里,代码的重复使用早已可行,但效果不是特别显著。与Java的其他地方一样,这个方案解决的也是与类有关的问题。我们通过创建新类来重复使用代码,但却用不着重新创建,可以直接使用别人已建好并调试好的现成类。但这样做必须保证不会干扰原有的代码。

初始化基础类

由于这儿涉及到两个类——基础类及衍生类,而不再是以前的一个,所以在想象衍生类的结果对象时,可能会产生一些迷惑。从外部看,似乎新类拥有与基础类相同的接口,而且可包含一些额外的方法和字段。但继承并非仅仅简单地复制基础类的接口了事。创建衍生类的一个对象时,它在其中包含了基础类的一个“子对象”。这个子对象就象我们根据基础类本身创建了它的一个对象。从外部看,基础类的子对象已封装到衍生类的对象里了。

当然,基础类子对象应该正确地初始化,而且只有一种方法能保证这一点:在构建器中执行初始化,通过调用基础类构建器,后者有足够的能力和权限来执行对基础类的初始化。在衍生类的构建器中,Java会自动插入对基础类构建器的调用。

确保正确的清除

Java不具备象C++的“破坏器”那样的概念。在C++中,一旦破坏(清除)一个对象,就会自动调用破坏器方法。之所以将其省略,大概是由于在Java 中只需简单地忘记对象,不需强行破坏它们。垃圾收集器会在必要的时候自动回收内存。垃圾收集器大多数时候都能很好地工作,但在某些情况下,我们的类可能在自己的存在时期采取一些行动,而这些行动要求必须进行明确的清除工作。正如第4章已经指出的那样,我们并不知道垃圾收集器什么时候才会显身,或者说不知它何时会调用。所以一旦希望为一个类清除什么东西,必须写一个特别的方法,明确、专门地来做这件事情。同时,还要让客户程序员知道他们必须调用这个方法。在自己的清除方法中,必须注意对基础类以及成员对象清除方法的调用顺序——假若一个子对象要以另一个为基础。通常,应采取与C++编译器对它的“破坏器”采取的同样的形式:首先完成与类有关的所有特殊工作(可能要求基础类元素仍然可见),然后调用基础类清除方法,就象这儿演示的那样。

许多情况下,清除可能并不是个问题;只需让垃圾收集器尽它的职责即可。但一旦必须由自己明确清除,就必须特别谨慎,并要求周全的考虑。

软件工程专业BIOS资料外文翻译文献

软件工程专业BIOS资料外文翻译文献 What is the Basic Input Output System (BIOS)? BIOS is an acronym for Basic Input Output System. It is the program that stores configuration details about your computer hardware and enables your computer to boot up. Every time your computer is switched on the BIOS loads configuration data into main memory, performs a routine diagnostic test on your hardware, then loads the operating system. The BIOS resides in a ROM (Read-Only memory) chip, which is mounted on the motherboard, usually in a socket so it is removable. To the right is an example of what a BIOS chip may look like in your motherboard. This is a PLCC 32 pin type BIOS chip. It is a very common type. Every computer has BIOS. There are many types but the most common type of BIOS 's come from: AMI, Award and Phoenix. Motherboard manufacturers buy or lease the BIOS source code from these companies. The BIOS tells the operating system in your computer how to boot up, where to load everything, what to load, what memory and CPU are present and much more. A good comparison to further understand the

软件开发概念和设计方法大学毕业论文外文文献翻译及原文

毕业设计(论文)外文文献翻译 文献、资料中文题目:软件开发概念和设计方法文献、资料英文题目: 文献、资料来源: 文献、资料发表(出版)日期: 院(部): 专业: 班级: 姓名: 学号: 指导教师: 翻译日期: 2017.02.14

外文资料原文 Software Development Concepts and Design Methodologies During 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 some times 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 discipl ine 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 des ign process has not been well structured and the model does not alwa ys accurately represent the problem of software development. However,design methodologies have been evolving to accommo date changes in technolog y coupled with our increased understanding of development processes. Whereas early desig n methods addressed specific aspects of the

英文文献及中文翻译

毕业设计说明书 英文文献及中文翻译 学院:专 2011年6月 电子与计算机科学技术软件工程

https://www.360docs.net/doc/d712703556.html, Overview https://www.360docs.net/doc/d712703556.html, is a unified Web development model that includes the services necessary for you to build enterprise-class Web applications with a minimum of https://www.360docs.net/doc/d712703556.html, is part of https://www.360docs.net/doc/d712703556.html, Framework,and when coding https://www.360docs.net/doc/d712703556.html, applications you have access to classes in https://www.360docs.net/doc/d712703556.html, Framework.You can code your applications in any language compatible with the common language runtime(CLR), including Microsoft Visual Basic and C#.These languages enable you to develop https://www.360docs.net/doc/d712703556.html, applications that benefit from the common language runtime,type safety, inheritance,and so on. If you want to try https://www.360docs.net/doc/d712703556.html,,you can install Visual Web Developer Express using the Microsoft Web Platform Installer,which is a free tool that makes it simple to download,install,and service components of the Microsoft Web Platform.These components include Visual Web Developer Express,Internet Information Services (IIS),SQL Server Express,and https://www.360docs.net/doc/d712703556.html, Framework.All of these are tools that you use to create https://www.360docs.net/doc/d712703556.html, Web applications.You can also use the Microsoft Web Platform Installer to install open-source https://www.360docs.net/doc/d712703556.html, and PHP Web applications. Visual Web Developer Visual Web Developer is a full-featured development environment for creating https://www.360docs.net/doc/d712703556.html, Web applications.Visual Web Developer provides an ideal environment in which to build Web sites and then publish them to a hosting https://www.360docs.net/doc/d712703556.html,ing the development tools in Visual Web Developer,you can develop https://www.360docs.net/doc/d712703556.html, Web pages on your own computer.Visual Web Developer includes a local Web server that provides all the features you need to test and debug https://www.360docs.net/doc/d712703556.html, Web pages,without requiring Internet Information Services(IIS)to be installed. Visual Web Developer provides an ideal environment in which to build Web sites and then publish them to a hosting https://www.360docs.net/doc/d712703556.html,ing the development tools in Visual Web Developer,you can develop https://www.360docs.net/doc/d712703556.html, Web pages on your own computer.

工程成本预算 毕业论文外文文献翻译

外文翻译 Construction projects, private and public alike, have a long history of cost escalation. Transportation projects, which typically have long lead times between planning and construction, are historically underestimated, as shown through a review of the cost growth experienced with the Holland Tunnel. Approximately 50% of the active large transportation projects in the United States have overrun their initial budgets. A large number of studies and research projects have identified individual factors that lead to increased project cost. Although the factors identified can influence privately funded projects the effects are particularly detrimental to publicly funded projects. The public funds available for a pool of projects are limited and there is a backlog of critical infrastructure needs. Therefore, if any project exceeds its budget other projects are dropped from the program or the scope is reduced to provide the funds necessary to cover the cost growth. Such actions exacerbate the deterioration of a state’s transportation infrastructure. This study is an anthology and categorization of individual cost increase factors that were identified through an in-depth literature review. This categorization of 18 primary factors which impact the cost of all types of construction projects was verified by interviews with over 20 state highway agencies. These factors represent documented causes behind cost escalation problems. Engineers who address these escalation factors when assessing future project cost and who seek to mitigate the influence of these factors can improve the accuracy of their cost estimates and program budgets Historically large construction projects have been plagued by cost and schedule overruns Flyvbjerg et al. 2002. In too many cases, the final project cost has been higher than the cost estimates prepared and released during initial planning, preliminary engineering, final design, or even at the start of construction “Mega projects need more study up front to avoid cost overruns.” The ramifica tions of differences between early project cost estimates and bid prices or the final cost of a project can be significant. Over the time span between project initiation concept development and the completion of construction many factors may influence the final project costs. This time span is normally several years in duration but for the highly

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

中英文对照外文翻译 (文档含英文原文和中文翻译) Application Fundamentals Android 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 same

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

附录 一、英文原文 Hardware/Software Design and Development Process Everett Lumpkin and Michael Gabrick Delphi Corporation, Electronics and Safety Division INTRODUCTION Process and technology advancements in the semiconductor industry have helped to revolutionize automotive and consumer electronics. As Moore’s Law predicted, the increase in complexity and operating frequencies of today’s integrated circuits have enabled the creation of system applications once thought to be impossible. And systems such as camera cell phones, automotive infotainment systems, advanced powertrain controllers and handheld personal computers have been realized as a result. In addition to the increases in process technology, the Electronic Design Automation (EDA) industry has helped to transform the way semiconductor integrated circuits (IC) and subsequent software applications are designed and verified. This transformation has occurred in the form of design abstraction, where the implementation continues to be performed at higher levels through the innovation of design automation tools. An example of this trend is the evolution of software development from the early days of machine-level programming to the C++ and Java software written today. The creation of the assembler allowed the programmer to move a level above machine language, which increased the efficiency of code generation and documentation, but still tied the programmer to the underlying hardware architecture. Likewise, the dawn of C / C++ compilers, debuggers and linkers helped to move the abstraction layer further away from the underlying hardware, making the software completely platform independent, easier to read, easier to debug and more efficient to manage. However, a shift to higher levels of software abstraction has not translated to a reduction in complexity or human resources. On the contrary, as integrated systems have become more feature rich, the complexity of the operating system and corresponding applications have increased rapidly, as have the costs associated with the software implementation and verification activities. Certainly the advancements in embedded software tools such as static code checkers, debuggers and hardware emulators have helped to solve some of the software verification problems, but software verification activities have become more time and resource consuming than the actual software creation. Time-to-market constraints have pushed software verification activities to the system-level, and led to a greater demand for production hardware to be made available earlier in

工程管理专业研究建设项目的工程造价大学毕业论文外文文献翻译及原文

毕业设计(论文) 外文文献翻译 文献、资料中文题目:研究建设项目的工程造价 文献、资料英文题目: 文献、资料来源: 文献、资料发表(出版)日期: 院(部): 专业:工程管理 班级: 姓名: 学号: 指导教师: 翻译日期: 2017.02.14

科技文献翻译 题目:研究建设项目的工程造价 研究建设项目的工程造价 摘要 在工程建设中,中国是拥有世界最大投资金额和具有最多建设项目的国家。它是一 项在建设项目管理上可以为广泛的工程管理人员进行有效的工程造价管理,并合理 确定和保证施工质量和工期的条件控制施工成本的重要课题。 在失去了中国建筑的投资和技术经济工程,分离的控制现状的基础上,通过建设成 本控制的基本理论为指导,探讨控制方法和施工成本的应用,阐述了存在的问题在 施工成本控制和对决心和施工成本的控制这些问题的影响,提出了建设成本控制应 体现在施工前期,整个施工过程中的成本控制,然后介绍了一些程序和应用价值工 程造价的方法在控制建设项目的所有阶段。 关键词:建设成本,成本控制,项目 1.研究的意义 在中国,现有的工程造价管理体系是20世纪50年代制定的,并在1980s.Traditional 施工成本管理方法改进是根据国家统一的配额,从原苏联引进的一种方法。它的特 点是建设成本的计划经济的管理方法,这决定了它无法适应当前市场经济的要求。 在中国传统建筑成本管理方法主要包括两个方面,即建设成本和施工成本控制方法 的测定方法。工程造价的确定传统的主要做法生搬硬套国家或地方统一的配额数量 来确定一个建设项目的成本。虽然这种方法已经历了20多年的改革,到现在为止,计划经济管理模式的影响仍然有已经存在在许多地区。我们传统的工程造价控制的

外文文献翻译---基于 Web 的分析系统

文献翻译 基于 Web 的分析系统 院(系)名称信息工程学院专业名称软件工程

英文译文 基于Web 的分析系统 马克斯科特,约翰琳 1 摘要 在使用分析型数据库时,分析人员将数据归入公用组,并尝试确定条件变化时产生的结果。例如,提高产品价格会增加单位利润,但可能会减少销量????ù会产生较高还是较低的总利润?或者,联邦贴现率的下降会如何影响房地产贷款的收益?为了帮助分析人员根据历史趋势做出有根据的预测,Microsoft 在SQL Server 2000 中提供了分析服务,在SQL Server 7.0 中提供了OLAP 服务。这些服务都提供OLAP 功能,能够将存储在SQL Server(或任何其他OLE DB 兼容的数据源)上的数据处理成多维数据结构,称为多维数据集。多维数据集简化了趋势分析和建立实体间交互方式联系的过程。例如,房地产投资者采用现金流模型来区分一组具有共同特征(如:地产类型、地理位置和利率范围)的贷款,并预测各种事件的影响。如果贷款提前偿还或者借款人违约,后果将会如何?此类不可预测的事件会如何影响贷款所担保的债券的收益。 从包含几百笔贷款的清单中选择并区分具有分析特征的贷款是需要相当技巧的。分析服务和OLAP 服务有助于在各组贷款间建立联系,以便分析人员能够建立贷款假设模型。为了帮助客户的房地产分析人员预测商业抵押证券的业绩,我们的开发小组需要设计一个以各种方式(如:利率、到期期限或地产位置)来简化贷款分类的系统。其界面应易于学习和使用。而且,所开发的系统需要在Internet 上进行安全的部署。为了满足这些要求,开发小组选择了分析服务。 2 在Web上部署Office 在选定了后端技术后,开发小组开始制订实现前端界面的计划。多数金融分析人员使用Microsoft Excel,他们对其界面比较熟悉,感觉也很舒服。Excel 包括数据透视表服务,能够允许分析人员连接到分析服务数据库。Excel 的拖放界面提供了对多维数据

软件开发外文翻译

软件开发外文翻译本页仅作为文档页封面,使用时可以删除 This document is for reference only-rar21year.March

Requirements Phase The chances of a product being developed on time and within budget are somewhat slim unless the members of the software development team agree on what the software product will do. The first step in achieving this unanimity is to analyze the client’s current situation as precisely as possible. For example, it is inadequate to say, “ They need a computer-aided design system because they claim their manual design system, there is lousy. “ Unless the development team knows exactly what is wrong with the current manual system, there is a high probability that aspects of the new computerized system will be equally “lousy. “ Similarly, if a personal computer manufacturer is contemplating development of a new operating system, the first step is to evaluate the firm’s current operating system and analyze carefully exactly why it is unsatisfactory. To take an extreme example, it is vital to know whether the problem exists only in the mind of the sales manager, who blames the operating system for poor sales, or whether users of the operating system are thoroughly disenchanted with its functionality and reliability. Only after a clear picture of the present situation has been gained can the team attempt to answer the critical question, What must the new product be able to do The process of answering this question is carried out during the requirements phase. A commonly held misconception is that , during the requirements phase, the developers must determine what software the client wants. On the contrary, the real objective of the requirements phase is to determine what software the client needs. The problem is that many clients do not know what they need. Furthermore, even a client who has a good idea of what is needed may have difficulty in accurately conveying these ideas to the developers, because most clients are less computer literate than the members of the development team.

工程造价毕业设计参考文献

参考文献 [1]中华人民共和国住房和城乡建设部.GB50500-2008,建设工程工程量清单计价 规范[S].北京:中国计划出版社,2008. [2]福建省建设工程造价管理总站.FJYD-101-2005,福建省建筑工程消耗量定额 [S].北京:中国计划出版社,2005. [3]福建省建设工程造价管理总站.FJYD-201-2005,福建省建筑装饰装修工程消 耗量定额[S].北京:中国计划出版社,2005. [4]中华人民共和国建设部.GB/T50353-2005,建筑工程建筑面积计算规范[S].北 京:中国计划出版社,2005. [5]刘元芳.建筑工程计量与计价[M].北京:中国建材工业出版社,2009. [6]刘元芳.建设工程造价管理[M].北京:中国电力出版社,2005. [7]幸伟.我国政府采购招标投标问题研究[D].东北师范大学,2009. [8]杨平.工程合同管理[M].北京:人民交通出版社,2007. [9]陈慧玲.建设工程招标投标实务[M].南京:江苏科学技术出版社,2004年. [10]邹伟,论施工企业投标报价策略与技巧[J],建筑经济,2007年. [11]陈娟,杨泽华,谢智明,浅谈工程投标报价的策略[J],招投标研究,2004 年. [12]徐学东主编.《工程量清单的编制与投标报价》中国计划出版社.2005年. [13]田满霞,浅谈建设项目的工程造价控制[J].技术市场,2013,(9):188-188. [14]王雪青,国际工程投标报价决策系统研究[J],天津大学博士论文,2003年. [15]Online Computer Library Center, Inc. History of OCLC[EB/OL],2009. [16]Gray,C.,& Hughes,W.(2001).Building design management.Oxford, UK:Butterworth-Heinemann.

软件工程论文参考文献

软件工程论文参考文献 [1] 杜献峰 . 基于三层 B/S 结构的档案管理系统开发 [J]. 中原工学院学报,2009:19-25 [2]林鹏,李田养. 数字档案馆电子文件接收管理系统研究及建设[J].兰台世界,2008:23-25 [3]汤星群.基于数字档案馆建设的两点思考[J].档案时空,2005:23-28 [4]张华丽.基于 J2EE 的档案管理系统设计与实现[J].现代商贸工业. 2010:14-17 [5] 纪新.转型期大型企业集团档案管理模式研究[D].天津师范大学,2008:46-57. [6] 周玉玲.纸质与电子档案共存及网络环境电子档案管理模式[J].中国科技博览,2009:44-46. [7] 张寅玮.甘肃省电子档案管理研究[D]. 兰州大学,2011:30-42 [8] 惠宏伟.面向数字化校园的档案信息管理系统的研究与实现[D]. 电子科技大学,2006:19-33 [9] 刘冬立.基于 Web 的企业档案管理系统的设计与实现[D].同济大学,2007:14-23 [10]钟瑛.浅议电子文件管理系统的功能要素[J]. 档案学通讯,2006:11-20 [11] 刘洪峰,陈江波.网络开发技术大全[M].人民邮电出版社,2005:119-143. [12] 程成,陈霞.软件工程[M].机械工业出版社,2003:46-80. [13] 舒红平.Web 数据库编程-Java[M].西安电子科技大学出版社,2005:97-143. [14] 徐拥军.从档案收集到知识积累[M].是由工业出版社,2008:6-24. [15]Gary P Johnston,David V. Bowen.he benefits of electronic recordsmanagement systems: a general review of published and some unpublishedcases. RecordsManagement Journal,2005:44-52 [16]Keith Gregory.Implementing an electronic records management system: Apublic sector case study. Records Management Journal,2005:17-21 [17]Duranti Luciana.Concepts,Principles,and Methods for the Management of Electronic RecordsR[J].Information Society,2001:57-60.

外文翻译--《软件工程-实践者的研究方法》

附录 Software Engineering-A PRACTITIONER’S APPROACH Written by Roger S. Pressman, Ph.D. (P.340-P.343) 13.3DESIGN PRINCIPLES Software design is both a process and a model. The design process is a sequence ofsteps that enable the designer to describe all aspects of the software to be built. It is important to note, however, that the design process is not simply a cookbook. Creative skill, past experience, a sense of what makes “good” software, and an overallcommitment to quality are critical success factors for a competent design. The design model is the equivalent of an architect’s plans for a house. It begins by representing the totality of the thing to be built (e.g., a three-dimensional renderingof the house) and slowly refines the thing to provide guidance for constructing eachdetail (e.g., the plumbing layout). Similarly, the design model that is created for softwareprovides a variety of different views of the computer software. Basic design principles enable the software engineer to navigate the design process.Davis suggests a setof principles for software design, which have beenadapted and extended in the following list: ? The design process should not suffer from “tunnel vision.” A gooddesigner should consider alternative approaches, judging each based on therequirements of the the resources available to do the job, and thedesign concepts presented in Section ? The design should be traceable to the analysis model. Because a singleelement of the design model often traces to multiple requirements, it is necessaryto have a means for tracking how requirements have been satisfied bythe design model. ? The design should not reinvent the wheel. Systems are constructed usinga set of design patterns, many of which have likely been encountered before.These patterns should always be chosen as an alternative to reinvention.Time is short and resources are limited! Design time should be invested inrepresenting truly new ideas and integrating those patterns that already exist. ? The design should “minimize the intellectual distance” between the software and the problem as it exists in the real world.That is, the structure of the software design should (whenever possible)mimic the structure of the problem domain.

相关文档
最新文档