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

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

二〇一三 年 六 月

本科毕业设计外文文献翻译 英文题目:Software Database An Object-Oriented Perspective. 中文题目:软件数据库的面向对象的视角 学生姓名:宋兰兰 学 院:信息工程学院 系 别:软件工

程系 专 业:软件工程 班 级:软件09-1 指导教师:关玉欣 讲师

A HISTORICAL PERSPECTIVE

From the earliest days of computers, storing and manipulating data have been a major application focus. The first general-purpose DBMS was designed by Charles Bachman at General Electric in the early 1960s and was called the Integrated Data Store. It formed the basis for the network data model, which was standardized by the Conference on Data Systems Languages (CODASYL) and strongly influenced database systems through the 1960s. Bachman was the fi rst recipient of ACM’s Turing Award (the computer science equivalent of a Nobel prize) for work in the database area; he received the award in 1973. In the late 1960s, IBM developed the Information Management System (IMS) DBMS, used even today in many major installations. IMS formed the basis for an alternative data representation framework called the hierarchical data model. The SABRE system for making airline reservations was jointly developed by American Airlines and IBM around the same time, and it allowed several people to access the same data through computer network. Interestingly, today the same SABRE system is used to power popular Web-based travel services such as Travelocity!

In 1970, Edgar Codd, at IBM’s San Jose Resear ch Laboratory, proposed a new data representation framework called the relational data model. This proved to be a watershed in the development of database systems: it sparked rapid development of several DBMSs based on the relational model, along with a rich body of theoretical results that placed the field on a firm foundation. Codd won the 1981 Turing Award for his seminal work. Database systems matured as an academic discipline, and the popularity of relational DBMSs changed the commercial landscape. Their benefits were widely recognized, and the use of DBMSs for managing corporate data became standard practice.

In the 1980s, the relational model consolidated its position as the dominant DBMS paradigm, and database systems continued to gain widespread use. The SQL query language for relational databases, developed as part of IBM’s System R project, is now the standard query language. SQL was standardized in the late 1980s, and the current standard, SQL-92, was adopted by the American National Standards Institute (ANSI) and

International Standards Organization (ISO). Arguably, the most widely used form of concurrent programming is the concurrent execution of database programs (called transactions). Users write programs as if they are to be run by themselves, and the responsibility for running them concurrently is given to the DBMS. James Gray won the 1999 Turing award for his contributions to the field of transaction management in a DBMS.

In the late 1980s and the 1990s, advances have been made in many areas of database systems. Considerable research has been carried out into more powerful query languages and richer data models, and there has been a big emphasis on supporting complex analysis of data from all parts of an enterprise. Several vendors (e.g., IBM’s DB2, Oracle 8, Informix UDS) have extended their systems with the ability to store new data types such as images and text, and with the ability to ask more complex queries. Specialized systems have been developed by numerous vendors for creating data warehouses, consolidating data from several databases, and for carrying out specialized analysis.

An interesting phenomenon is the emergence of several enterprise resource planning(ERP) and management resource planning (MRP) packages, which add a substantial layer of application-oriented features on top of a DBMS. Widely used packages include systems from Baan, Oracle, PeopleSoft, SAP, and Siebel. These packages identify a set of common tasks (e.g., inventory management, human resources planning, financial analysis) encountered by a large number of organizations and provide a general application layer to carry out these tasks. The data is stored in a relational DBMS, and the application layer can be customized to different companies, leading to lower Introduction to Database Systems overall costs for the companies, compared to the cost of building the application layer from scratch. Most significantly, perhaps, DBMSs have entered the Internet Age. While the first generation of Web sites stored their data exclusively in operating systems files, the use of a DBMS to store data that is accessed through a Web browser is becoming widespread. Queries are generated through Web-accessible forms and answers are formatted using a markup language such as HTML, in order to be easily displayed in a browser. All the database vendors are adding features to their DBMS aimed at making it more suitable for deployment over the Internet. Database management continues to gain importance as more and more data is brought on-line, and made ever more accessible

through computer networking. Today the field is being driven by exciting visions such as multimedia databases, interactive video, digital libraries, a host of scientific projects such as the human genome mapping effort and NASA’s Ea rth Observation System project, and the desire of companies to consolidate their decision-making processes and mine their data repositories for useful information about their businesses. Commercially, database manage- ment systems represent one of the largest and most vigorous market segments. Thusthes- tudy of database systems could prove to be richly rewarding in more ways than one!

INTRODUCTION TO PHYSICAL DATABASE DESIGN

Like all other aspects of database design, physical design must be guided by the nature of the data and its intended use. In particular, it is important to understand the typical workload that the database must support; the workload consists of a mix of queries and updates. Users also have certain requirements about how fast certain queries or updates must run or how many transactions must be processed per second. The workload description and users’ performance requirements are the basis on which a number of decisions have to be made during physical database design.

To create a good physical database design and to tune the system for performance in response to evolving user requirements, the designer needs to understand the workings of a DBMS, especially the indexing and query processing techniques supported by the DBMS. If the database is expected to be accessed concurrently by many users, or is a distributed database, the task becomes more complicated, and other features of a DBMS come into play.

DATABASE WORKLOADS

The key to good physical design is arriving at an accurate description of the expected workload. A workload description includes the following elements:

1. A list of queries and their frequencies, as a fraction of all queries and updates.

2. A list of updates and their frequencies.

3. Performance goals for each type of query and update.

For each query in the workload, we must identify:

Which relations are accessed.

Which attributes are retained (in the SELECT clause).

Which attributes have selection or join conditions expressed on them (in the WHERE clause) and how selective these conditions are likely to be. Similarly, for each update in the workload, we must identify:

Which attributes have selection or join conditions expressed on them (in the WHERE clause) and how selective these conditions are likely to be.

The type of update (INSERT, DELETE, or UPDATE) and the updated relation.

For UPDATE commands, the fields that are modified by the update.

Remember that queries and updates typically have parameters, for example, a debit or credit operation involves a particular account number. The values of these parameters determine selectivity of selection and join conditions.

Updates have a query component that is used to find the target tuples. This component can benefit from a good physical design and the presence of indexes. On the other hand, updates typically require additional work to maintain indexes on the attributes that they modify. Thus, while queries can only benefit from the presence of an index, an index may either speed up or slow down a given update. Designers should keep this trade-offer in mind when creating indexes.

NEED FOR DATABASE TUNING

Accurate, detailed workload information may be hard to come by while doing the initial design of the system. Consequently, tuning a database after it has been designed and deployed is important—we must refine the initial design in the light of actual usage patterns to obtain the best possible performance.

The distinction between database design and database tuning is somewhat arbitrary.

We could consider the design process to be over once an initial conceptual schema is designed and a set of indexing and clustering decisions is made. Any subsequent changes

to the conceptual schema or the indexes, say, would then be regarded as a tuning activity. Alternatively, we could consider some refinement of the conceptual schema (and physical design decisions affected by this refinement) to be part of the physical design process.

Where we draw the line between design and tuning is not very important.

OVERVIEW OF DATABASE TUNING

After the initial phase of database design, actual use of the database provides a valuable source of detailed information that can be used to refine the initial design. Many of the original assumptions about the expected workload can be replaced by observed usage patterns; in general, some of the initial workload specification will be validated, and some of it will turn out to be wrong. Initial guesses about the size of data can be replaced with actual statistics from the system catalogs (although this information will keep changing as the system evolves). Careful monitoring of queries can reveal unexpected problems; for example, the optimizer may not be using some indexes as intended to produce good plans.

Continued database tuning is important to get the best possible performance.

TUNING THE CONCEPTUAL SCHEMA

In the course of database design, we may realize that our current choice of relation schemas does not enable us meet our performance objectives for the given workload with any (feasible) set of physical design choices. If so, we may have to redesign our conceptual schema (and re-examine physical design decisions that are affected by the changes that we make).

We may realize that a redesign is necessary during the initial design process or later, after the system has been in use for a while. Once a database has been designed and populated with data, changing the conceptual schema requires a significant effort in terms of mapping the contents of relations that are affected. Nonetheless, it may sometimes be necessary to revise the conceptual schema in light of experience with the system. We now

consider the issues involved in conceptual schema (re)design from the point of view of performance.

Several options must be considered while tuning the conceptual schema:

We may decide to settle for a 3NF design instead of a BCNF design.

If there are two ways to decompose a given schema into 3NF or BCNF, our choice should be guided by the workload.

Sometimes we might decide to further decompose a relation that is already in BCNF.

In other situations we might denormalize. That is, we might choose to replace a collection of relations obtained by a decomposition from a larger relation with the original (larger) relation, even though it suffers from some redundancy problems. Alternatively, we might choose to add some fields to certain relations to speed up some important queries, even if this leads to a redundant storage of some information (and consequently, a schema that is in neither 3NF nor BCNF).

This discussion of normalization has concentrated on the technique of decomposition, which amounts to vertical partitioning of a relation. Another technique to consider is horizontal partitioning of a relation, which would lead to our having two relations with identical schemas. Note that we are not talking about physically partitioning the cuples of a single relation; rather, we want to create two distinct relations (possibly with different constraints and indexes on each).

Incidentally, when we redesign the conceptual schema, especially if we are tuning an existing database schema, it is worth considering whether we should create views to mask these changes from users for whom the original schema is more natural.

TUNING QUERIES AND VIEWS

If we notice that a query is running much slower than we expected, we have to examine the query carefully to end the problem. Some rewriting of the query, perhaps in conjunction with some index tuning, can often ?x the problem. Similar tuning may be called for if queries on some view run slower than expected.

When tuning a query, the first thing to verify is that the system is using the plan that

you expect it to use. It may be that the system is not finding the best plan for a variety of

reasons. Some common situations that are not handled efficiently by many optimizers follow:

A selection condition involving null values.

Selection conditions involving arithmetic or string expressions or conditions using the or connective. For example, if we have a condition E.age = 2*D.age in the WHERE clause, the optimizer may correctly utilize an available index on E.age but fail to utilize an available index on D.age. Replacing the condition by E.age/2=D.age would reverse the situation.

Inability to recognize a sophisticated plan such as an index-only scan for an aggregation query involving a GROUP BY clause.

If the optimizer is not smart enough to and the best plan (using access methods and evaluation strategies supported by the DBMS), some systems allow users to guide the choice of a plan by providing hints to the optimizer; for example, users might be able to force the use of a particular index or choose the join order and join method. A user who wishes to guide optimization in this manner should have a thorough understanding of both

optimization and the capabilities of the given DBMS.

(8)OTHER TOPICS

MOBILE DATABASES

The availability of portable computers and wireless communications has created a new breed of nomadic database users. At one level these users are simply accessing a database through a network, which is similar to distributed DBMSs. At another level the network as well as data and user characteristics now have several novel properties, which affect basic assumptions in many components of a DBMS, including the query engine, transaction manager, and recovery manager.

Users are connected through a wireless link whose bandwidth is ten times less than Ethernet and 100 times less than ATM networks. Communication costs are therefore significantly higher in proportion to I/O and CPU costs.

Users’ locations a re constantly changing, and mobile computers have a limited battery life. Therefore, the true communication costs is connection time and battery usage in addition to bytes transferred, and change constantly depending on location. Data is

frequently replicated to minimize the cost of accessing it from different locations.

As a user moves around, data could be accessed from multiple database servers within a single transaction. The likelihood of losing connections is also much greater than in a traditional network. Centralized transaction management may therefore be impractical, especially if some data is resident at the mobile computers. We may in fact have to give up

on ACID transactions and develop alternative notions of consistency for user programs. MAIN MEMORY DA TABASES

The price of main memory is now low enough that we can buy enough main memory to hold the entire database for many applications; with 64-bit addressing, modern CPUs also have very large address spaces. Some commercial systems now have several gigabytes of main memory. This shift prompts a reexamination of some basic DBMS design decisions, since disk accesses no longer dominate processing time for a memory-resident database:

Main memory does not survive system crashes, and so we still have to implement logging and recovery to ensure transaction atomicity and durability. Log records must be written to stable storage at commit time, and this process could become a bottleneck. To minimize this problem, rather than commit each transaction as it completes, we can collect completed transactions and commit them in batches; this is called group commit. Recovery algorithms can also be optimized since pages rarely have to be written out to make room for other pages.

The implementation of in-memory operations has to be optimized carefully since disk accesses are no longer the limiting factor for performance.

A new criterion must be considered while optimizing queries, namely the amount of space required to execute a plan. It is important to minimize the space overhead because exceeding available physical memory would lead to swapping pages to disk (through the operating system’s virtual memory mechanisms), greatly slowing down execution.

Page-oriented data structures become less important (since pages are no longer the unit of data retrieval), and clustering is not important (since the cost of accessing any region of main memory is uniform).

(一)从历史的角度回顾

从数据库的早期开始,存储和操纵数据就一直是主要的应用焦点。第一个通用的DBMS是由Charles Bechman于20世纪60年代早期在通用电器公司设计的,称为集成数据存储(Integrated Data Store).它奠定了网状数据模型的基础。网状数据模型由数据系统语言协会(CODASYL)标准化,并在整个20世纪60年代对数据库系统产生了巨大的影响。由于Bachman在数据库领域的贡献,他成为第一个ACM图灵奖(相当于计算机科学界的诺贝尔奖)的获得者,并于1973年接受了这一奖励。

20世纪60年代末期,IBM成功开发了信息管理系统(IMS)DBMS。直至今天,它还在许多系统中使用。IMS奠定了另一个数据表达框架——层次数据模型的基础。同时,美国航空公司和IBM联合开发出用于飞机订票的SABRE系统,它允许多个用户通过计算机网络存取相同数据。有趣的是,今天SABRE系统被用于支持广为流行的基于Web 的旅游服务,如Travelocity。

1970年,Edgar Codd在IBM的San Jose研究实验室推出了一种新的,称为关系数据模型的数据表达框架。这后来被证明是数据库系统开发中的分水岭:它推进了几个基于关系模型的数据库管理系统的快速开发,并取得大量的理论成果,从而为数据库领域奠定了坚实的基础。Coff因为其杰出的工作而获得了1981年图灵奖。数据库系统作为学术学科已经成熟了,而且关系型DBMS的普及改变了商业应用前景。其益处被广泛认同,使用DBMS来管理公司数据变得很普遍。

在20世纪80年代,关系模型巩固了它作为主导DBMS模式的地位,而数据库系统继续被广泛使用。作为IBM的 System R项目的一部分而开发的关系数据库SQL查询语言,现在成为了标准查询语言。SQL于20世纪80年代末期得到标准化,目前的标准SQL:1999被美国国家标准协会(ANSI)和国际标准组织(ISO)接受。并发编程使用最广的形式就是数据库程序(称为事务)的并发执行。用户编写程序时不用考虑其他程序的运行,并发执行操作由DBMS管理。James Gray因他对DBMS事务处理领域的贡献而获得了1999图灵奖。

在20世纪80年代末期和90年代,数据库系统在很多方面得到发掌。相当多的研究侧重于功能强大的查询语言和更丰富的数据模型,其重点也放在了支持对企业各部分数据的复杂分析上。很多数据库提供商(如IBM的DB2,Oracle 8,Informix UDS)

樱井扩展了它们的系统,使之具有存储诸如图像,文本等新数据类型的能力,以及回答更复杂查询的能力。大量的厂商已经为创建数据仓库,继承多个数据库的数据以及实现专业化分析而开发了专用系统。

一个有趣的现象是随着一些企业资源规划(ERP)和管理自愿规划(MRP)软件包的出现,他们在DBMS之上增加了一层面向应用的特征。广泛使用的软件包有Baan,Oracle,PeopleSoft,SAP和Siebel等系统,它们先确定大多数组织机构所遇到的共同任务(例如,库存管理,人力资源规划,财务分析等),并提供一个通用的应用层以完成这些任务。数据存储在关系型DBMS中,可以为不同公司分别定制应用层。与从头开始创建应用层的开销相比,这样可以降低公司的总体开销。

也许,在DBMS的发展中,最重要的事是DBMS已经进入了因特网时代。第一代Web站点是把数据存储在操作系统的文件中,而现在,使用DBMS存储数据并通过Web 浏览器浏览数据已变得越来越普遍。通过Web可存取的表单界面来产生查询请求,并使用诸如HTML的标记语言将查询结果格式化,从而便于在浏览器中显示。所有数据库提供商都在增加它们的DBMS功能,使之更适于在因特网上部署。

随着越来越多在线数据的产生,并且通过计算机网络越来越容易获得,数据库也变得更加重要了。今天,众多领域的发展需求,例如,多媒体数据库,互动视频,流数据,数字图书馆等精彩视频节目,人类基因图和NASA的地球观测系统等科学项目,以及公司对巩固它们的决策支持处理和有用信息挖掘的渴望,正推动着数据库领域的发展。在商业上,数据库管理系统代表着最大和最具活力的市场之一。所以,有关数据库系统的研究回报丰厚!

(二)物理数据库设计简介

与数据库设计的其他方面一样,我们要根据数据的性质和用途来进行物理数据库设计。特别是,我们必须了解数据库所必须支持的典型的工作负载,工作负载是查询和更新的混合体。用户有一些特定的要求,如,某些查询或更新的执行速度应该有多快,或者每秒钟必须处理多少个事务等。在物理数据库设计过程中,工作负载的描述和用户的需求是作出许多决策的基础。

为了获得一个好的物理数据库设计,我们还要调整系统的性能以满足用户的需求。设计者需要明白DBMS工作的细节,特别是DBMS所支持的索引和查询处理技术。

如果数据库允许多个用户并发访问,或者是分布式数据库,那么这是设计任务就变得更复杂了,还需要考虑DBMS的其他特点。

(三)数据库负载

一个好的数据库设计的关键是对所希望的负载有准确的描述。一个工作负载的描述包括以下几个部分:

1.一个查询及其出现的频率的列表,一个查询的频率指该查询在所有的查询和更新中所占的比例。

2.更新及其出现的频率列表。

3.每一种查询和更新类型所对应的性能目标。

对于在工作负载中的每个查询,我们必须确定:

需要访问哪些关系。

需要保留那些属性(在SELECT子句中)。

在那些属性上有选择或连接条件(在WHERE子句中),以及这些条件具有多大的选择性。

类似地,对工作负载中每个更新,我们必须确定:

在哪些属性上有选择或连接条件(在WHERE语句中),以及有多大的选择性。

更新的类型(INSERT,DELETE,UPDATE)以及所要更新的关系。

对于UPDATE命令,要更新哪些字段。

典型的查询和更新都带有参数,例如,借款或存款操作都涉及某个特定的帐号。这些参数的值决定了选择和连接条件的选择性。

更新中包括一个查询部分,用来找到目标元组。这个部分可以得益于一个好的物理设计和索引。另一方面,更新操作一般还要做一些额外的工作,以维护所修改的属性上的索引。这样,尽管查询总可以从索引受益,但是索引也可能使一个给定的更新加快或变慢。在生成索引时,设计者应该在头脑中进行一下权衡。

(四)数据库调整的必要性

准确地讲,在系统设计的初始阶段,我们很难得到工作负载的详细信息。所以在

系统设计完以后,对数据库的调整就变得很重要,我们必须按照实际的使用模式来对初始的设计进行求精,以便获得好的性能。

对于如何区别数据库设计和数据库调整,人们有不同的看法。一种看法认为,一旦初始模式、索引和聚簇决策已经确定,那么设计过程也就结束了。接下去对概念模式或索引的任何改变,都被认为是对数据库进行调整的活动。另一种看法是,对于概念模式的进一步求精(和受这些改进影响的物理设计决策)也应该是物理设计过程的一部分。

如何区分设计和调整并不是很重要的

(五)数据库调整简介

当数据库初始设计完成后,数据库的实际使用提供了一些有用的详细信息,它们可以用来对初始设计进行进一步求精。先前对工作负载的很多假设都可以用观察到的模式来代替;一般来讲,一些初始的关于工作负载的说明将得到验证,其中有一些可能是错误的。关于数据大小的初始猜测可以用实际的数据库的统计数字来代替(尽管这个信息会随着系统的不断进化而变化)。对于查询的仔细监测可龕发现一些预测不到的问题,例如,优化器可能不使用某些索引,尽管这些索引可以产生好的计划。

为了获得可能的最好的性能,对数据库进行连续的调整是很重要的。

(六)调整概念模式

在数据库设计期间,我们也许会意识到,在给定工作负载和任何一组可行的物理设计选择的情况下,当前选择的关系模式并不能满足性能目标。如果是这样,我们也许必须重新设计概念模式(而且还要重新检查那些受到影响的物理设计决策)。

在系统已经运行了一段时间后,我们也许会认识到在初始设计期间或之后重新设计的必要性。一旦数据库设计完成并且已经被装载数据了,如果要改变概念模式,就需要做出很大的努力去映射受到影响的关系的内容。然而,有时需要根据使用系统的经验来对概念模式进行修正。现在,我们从性能的角度来考虑概念模式(重新)设计中的一些问题。

在对概念模式进行调整时我们必须考虑以下几点:

我们也许应当采用3NF设计来代替BCNF设计。

如果将一个关系分解为3NF或BCNF有两种方式,那么应该根据工作负载来进行选择。

有时我们需要对一个应景是BCNF的关系进一步分解。

在某些情况下可能进行反规范化。也就是,可能将一组由一个大关系分解而得到的关系用它们的原大关系代替,尽管这样会引起一些冗余的问题。而且,我们可能在特定的关系上加上一些字段来加速一些重要的查询,即使这样会导致对一些信息的冗余存储(从而使得模式既不是3NF也不是BCNF)。

关于规范化的讨论集中在分解技术上,实际上就是对关系的垂直划分。另一个技术是对关系进行水平划分,这将导致两个具有相同模式的关系。这里需要注意的是,这里讨论的不是一个关系元组的物理划分;而是想创建两个不同的关系(可能具有不同的约束和索引)。

另外,在重新设计概念模式时,特别是如果调整一个现存数据库的模式时,我们需要考虑是否定义视图来向用户隐藏这些改变,因为对于用户来说原始的模式可能更自然一些。

(七)调整查询和视图

如果一个查询比预计的要慢得多,那么我们就必须仔细检查并找出问题。通过对查询进行重写,并且进行一些索引的调整,常常能够解决问题。如果在视图上的一些查询运行得很慢,也可以进行类似的调整。

当调整一个查询时,第一件事就是确定系统是否使用了你所希望的执行计划。由于一些原因,有时系统可能没有找到最好的执行计划。下面是很多优化器都不能有效处理的一些情况:

含有空值的选择条件;

选择条件含有算数或字符串表达式,或者使用OR进行条件连接。例如,如果在WHERE语句中有一个条件 E.age=2*D.age,那么优化器可能会正确利用现有的在E.age上的索引,但是不能正确利用在D.age上的索引。当将条件变为E.age/2=D.age 时,将会出现相反的情况。

不能识别出一个复杂的执行计划,例如不能发现在GROUP BY语句中含有的

聚集操作的查询中的只读索引扫描计划。

如果优化器不太聪明,不能发现最好的执行计划(使用DBMS支持的一些访问方法和执行策略),一些系统允许用户通过提供给优化器一些提示来指导计划的选择。例如,用户可能强迫系统使用特定的索引或连接的方法和顺序。如果一个用户希望以这种方式来指导优化,那么他应该对优化和给定的DBMS的能力有一个全面的理解。

(八)其他专题

移动数据库

便携计算机和无线通信的应用创建了一批移动数据库用户。一方面,这些用户只是简单地通过网络来访问数据库,类似于分布式DBMS。另一方面,不论是网络,还是数据和用户,都有一些新的特性,这就影响了DBMS中的许多构件,包括查询引擎,事务管理程序和虎伏管理程序。

通过无线连接的用户带宽是以太网的1/10左右,是ATM网的1/100左右。因此通信开销比I/O和CPU开销更高。

用户的位置通常是变动的,而且移动计算机的电池寿命是有限的。因此,除内容传输开销以及因位置的频繁变动而产生的开销外,真正的通信开销体现在连接时间和电池的使用上。通常将数据生成多个副本,以使从不同位置的访问开销最小化。

当一个用户移动的时候,一个事务可能需要从多个数据库服务器中访问数据,此时丢失连接的可能性比传统的网络要大。因此,集中式的事务管理也是不实际的,尤其是有些数据存储在移动计算机上更是这样。事实上,我们可能不得不放弃具有ACID 特性的事务,而是为用户程序开发其他的一致性方法。

主存数据库

由于主存的价格已经很便宜了,许多应有可以购买足够的主存来保存整个数据库。而且,现代的CPU使用64位的寻址,有了很大的寻址空间。一些商用的数据库已有几个GB的主存。这促使重新考虑一些基本的DBMS设计决策,因为对于驻留内存的数据库,磁盘访问不再是主要的处理时间。

主存也不能幸免于系统崩溃,所以仍然需要实现日志和恢复机制,以保证事务的原子性和持久性。在提交事务的时候,日志记录必须写到固定的存储中。这个处理可能会变成一个瓶颈。为了使该问题最小化,不是每完成一个事务就进行提交,而是收

集已完成的事务,然后批量提交它们,这称为组提交。恢复算法同样也需要优化,因为很少这种情况:某页因需要为其他页省出空间而不得不被移出。

应认真优化主存中的操作实现,因为磁盘存取不再是限制性能的要素。

在优化查询时必须考虑新的标准,即执行一个计划时所需要的空间数量。最小化空间开销是很重要的,因为如果空间开销超出物理内存,会使交换页保存到磁盘(通过操作系统的虚拟存储机制),这将大大降低执行效率。

基于页的数据结构不再重要了(因为页不再是数据检索的单位),同时,聚簇也不重要了(因为访问主存的任何区域的开销是一致的)。

软件工程专业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

毕业设计外文翻译资料

外文出处: 《Exploiting Software How to Break Code》By Greg Hoglund, Gary McGraw Publisher : Addison Wesley Pub Date : February 17, 2004 ISBN : 0-201-78695-8 译文标题: JDBC接口技术 译文: JDBC是一种可用于执行SQL语句的JavaAPI(ApplicationProgrammingInterface应用程序设计接口)。它由一些Java语言编写的类和界面组成。JDBC为数据库应用开发人员、数据库前台工具开发人员提供了一种标准的应用程序设计接口,使开发人员可以用纯Java语言编写完整的数据库应用程序。 一、ODBC到JDBC的发展历程 说到JDBC,很容易让人联想到另一个十分熟悉的字眼“ODBC”。它们之间有没有联系呢?如果有,那么它们之间又是怎样的关系呢? ODBC是OpenDatabaseConnectivity的英文简写。它是一种用来在相关或不相关的数据库管理系统(DBMS)中存取数据的,用C语言实现的,标准应用程序数据接口。通过ODBCAPI,应用程序可以存取保存在多种不同数据库管理系统(DBMS)中的数据,而不论每个DBMS使用了何种数据存储格式和编程接口。 1.ODBC的结构模型 ODBC的结构包括四个主要部分:应用程序接口、驱动器管理器、数据库驱动器和数据源。应用程序接口:屏蔽不同的ODBC数据库驱动器之间函数调用的差别,为用户提供统一的SQL编程接口。 驱动器管理器:为应用程序装载数据库驱动器。 数据库驱动器:实现ODBC的函数调用,提供对特定数据源的SQL请求。如果需要,数据库驱动器将修改应用程序的请求,使得请求符合相关的DBMS所支持的文法。 数据源:由用户想要存取的数据以及与它相关的操作系统、DBMS和用于访问DBMS的网络平台组成。 虽然ODBC驱动器管理器的主要目的是加载数据库驱动器,以便ODBC函数调用,但是数据库驱动器本身也执行ODBC函数调用,并与数据库相互配合。因此当应用系统发出调用与数据源进行连接时,数据库驱动器能管理通信协议。当建立起与数据源的连接时,数据库驱动器便能处理应用系统向DBMS发出的请求,对分析或发自数据源的设计进行必要的翻译,并将结果返回给应用系统。 2.JDBC的诞生 自从Java语言于1995年5月正式公布以来,Java风靡全球。出现大量的用java语言编写的程序,其中也包括数据库应用程序。由于没有一个Java语言的API,编程人员不得不在Java程序中加入C语言的ODBC函数调用。这就使很多Java的优秀特性无法充分发挥,比如平台无关性、面向对象特性等。随着越来越多的编程人员对Java语言的日益喜爱,越来越多的公司在Java程序开发上投入的精力日益增加,对java语言接口的访问数据库的API 的要求越来越强烈。也由于ODBC的有其不足之处,比如它并不容易使用,没有面向对象的特性等等,SUN公司决定开发一Java语言为接口的数据库应用程序开发接口。在JDK1.x 版本中,JDBC只是一个可选部件,到了JDK1.1公布时,SQL类包(也就是JDBCAPI)

英文文献及中文翻译

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

https://www.360docs.net/doc/6213274181.html, Overview https://www.360docs.net/doc/6213274181.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/6213274181.html, is part of https://www.360docs.net/doc/6213274181.html, Framework,and when coding https://www.360docs.net/doc/6213274181.html, applications you have access to classes in https://www.360docs.net/doc/6213274181.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/6213274181.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/6213274181.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/6213274181.html, Framework.All of these are tools that you use to create https://www.360docs.net/doc/6213274181.html, Web applications.You can also use the Microsoft Web Platform Installer to install open-source https://www.360docs.net/doc/6213274181.html, and PHP Web applications. Visual Web Developer Visual Web Developer is a full-featured development environment for creating https://www.360docs.net/doc/6213274181.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/6213274181.html,ing the development tools in Visual Web Developer,you can develop https://www.360docs.net/doc/6213274181.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/6213274181.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/6213274181.html,ing the development tools in Visual Web Developer,you can develop https://www.360docs.net/doc/6213274181.html, Web pages on your own computer.

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

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

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

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

外文文献翻译---基于 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 的拖放界面提供了对多维数据

本科毕业设计方案外文翻译范本

I / 11 本科毕业设计外文翻译 <2018届) 论文题目基于WEB 的J2EE 的信息系统的方法研究 作者姓名[单击此处输入姓名] 指导教师[单击此处输入姓名] 学科(专业 > 所在学院计算机科学与技术学院 提交日期[时间 ]

基于WEB的J2EE的信息系统的方法研究 摘要:本文介绍基于工程的Java开发框架背后的概念,并介绍它如何用于IT 工程开发。因为有许多相同设计和开发工作在不同的方式下重复,而且并不总是符合最佳实践,所以许多开发框架建立了。我们已经定义了共同关注的问题和应用模式,代表有效解决办法的工具。开发框架提供:<1)从用户界面到数据集成的应用程序开发堆栈;<2)一个架构,基本环境及他们的相关技术,这些技术用来使用其他一些框架。架构定义了一个开发方法,其目的是协助客户开发工程。 关键词:J2EE 框架WEB开发 一、引言 软件工具包用来进行复杂的空间动态系统的非线性分析越来越多地使用基于Web的网络平台,以实现他们的用户界面,科学分析,分布仿真结果和科学家之间的信息交流。对于许多应用系统基于Web访问的非线性分析模拟软件成为一个重要组成部分。网络硬件和软件方面的密集技术变革[1]提供了比过去更多的自由选择机会[2]。因此,WEB平台的合理选择和发展对整个地区的非线性分析及其众多的应用程序具有越来越重要的意义。现阶段的WEB发展的特点是出现了大量的开源框架。框架将Web开发提到一个更高的水平,使基本功能的重复使用成为可能和从而提高了开发的生产力。 在某些情况下,开源框架没有提供常见问题的一个解决方案。出于这个原因,开发在开源框架的基础上建立自己的工程发展框架。本文旨在描述是一个基于Java的框架,该框架利用了开源框架并有助于开发基于Web的应用。通过分析现有的开源框架,本文提出了新的架构,基本环境及他们用来提高和利用其他一些框架的相关技术。架构定义了自己开发方法,其目的是协助客户开发和事例工程。 应用程序设计应该关注在工程中的重复利用。即使有独特的功能要求,也

软件工程论文参考文献

软件工程论文参考文献 [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.

本科毕业设计外文翻译

Section 3 Design philosophy, design method and earth pressures 3.1 Design philosophy 3.1.1 General The design of earth retaining structures requires consideration of the interaction between the ground and the structure. It requires the performance of two sets of calculations: 1)a set of equilibrium calculations to determine the overall proportions and the geometry of the structure necessary to achieve equilibrium under the relevant earth pressures and forces; 2)structural design calculations to determine the size and properties of thestructural sections necessary to resist the bending moments and shear forces determined from the equilibrium calculations. Both sets of calculations are carried out for specific design situations (see 3.2.2) in accordance with the principles of limit state design. The selected design situations should be sufficiently Severe and varied so as to encompass all reasonable conditions which can be foreseen during the period of construction and the life of the retaining wall. 3.1.2 Limit state design This code of practice adopts the philosophy of limit state design. This philosophy does not impose upon the designer any special requirements as to the manner in which the safety and stability of the retaining wall may be achieved, whether by overall factors of safety, or partial factors of safety, or by other measures. Limit states (see 1.3.13) are classified into: a) ultimate limit states (see 3.1.3); b) serviceability limit states (see 3.1.4). Typical ultimate limit states are depicted in figure 3. Rupture states which are reached before collapse occurs are, for simplicity, also classified and

毕业设计外文翻译原文

编号: 毕业设计(论文)外文翻译 (原文) 院(系):应用科技学院 专业:机械设计制造及其自动化 学生姓名:邓瑜 学号:0501120501 指导教师单位:应用科技学院 姓名:黄小能 职称: 2009年 5 月20 日

The Injection Molding The Introduction of Molds The mold is at the core of a plastic manufacturing process because its cavity gives a part its shape. This makes the mold at least as critical-and many cases more so-for the quality of the end product as, for example, the plasticiting unit or other components of the processing equipment. Mold Material Depending on the processing parameters for the various processing methods as well as the length of the production run, the number of finished products to be produced, molds for plastics processing must satisfy a great variety of requirements. It is therefore not surprising that molds can be made from a very broad spectrum of materials, including-from a technical standpoint-such exotic materials as paper matched and plaster. However, because most processes require high pressures, often combined with high temperatures, metals still represent by far the most important material group, with steel being the predominant metal. It is interesting in this regard that, in many cases, the selection of the mold material is not only a question of material properties and an optimum price-to-performance ratio but also that the methods used to produce the mold, and thus the entire design, can be influenced. A typical example can be seen in the choice between cast metal molds, with their very different cooling systems, compared to machined molds. In addition, the production technique can also have an effect; for instance, it is often reported that, for the sake of simplicity, a prototype mold is frequently machined from solid stock with the aid of the latest technology such as computer-aided (CAD) and computer-integrated manufacturing (CIM). In contrast to the previously used methods based on the use of patterns, the use of CAD and CAM often represents the more economical solution today, not only because this production capability is available pin-house but also because with any other technique an order would have to be placed with an outside supplier. Overall, although high-grade materials are often used, as a rule standard materials are used in mold making. New, state-of-the art (high-performance) materials, such as ceramics, for instance, are almost completely absent. This may be related to the fact that their desirable characteristics, such as constant properties up to very high temperatures, are not required on molds, whereas their negative characteristics, e. g. low tensile strength and poor thermal conductivity, have a clearly related to ceramics, such as sintered material, is found in mild making only to a limited degree. This refers less to the modern materials and components

软件工程外文翻译

软件工程外文翻译

译文 学院:电气与信息工程学院专业:软件工程 学号: 1245536227 姓名:闫雨涛 指导教师:吴惠英

江苏科技大学2015 年 5 月 30 日

软件工程 Roger S.Pressman 概念:软件项目管理开始于全体项目计划的一系列活动。在这个项目开始之前,管理者和软件团队必须预估要做的工作量、需要多少资源、从开始到结束花费的时间。无论何时都要进行估算,我们观察未来并且接受一定程度不确定的必然发生的事情。引用Frederick Brooks。 人员:软件管理者,使用从客户和软件工程师处获得的信息以及从过去的项目手机的软件度量数据。 为什么重要:你会在不知道你将要花多少钱的情况下建造房子吗?当然不会,而且因为大多数情况下基于计算机系统的产品的成本大大超出建造一栋大房子,因此,在你开始创建软件前开发一个估算似乎是合理的。 步骤:估算从产品的范围的描述开始。在范围被”界定”前,不可能得出一个有意义的估算。然后问题被分解为一组较小的问题,而且这些问题的每一个均通过使用历史数据和经验作为指南进行估算。明智的做法是使用至少两种不同的方法(作为交叉检查)来产生你的估算。问题复杂度和风险需在最终的估算给出前被考虑。 产品:一个简单的表,描述将完成的任务,将实现的功能以及各自涉及的版本,工作量和时间,同时也生成一个所需项目资源的列表。 保障措施:这是很困难的。因为在项目已经完成前,你将不可能真正知道。然而,如果你有经验且遵循系统化的方法,用可靠的历史数据生成估算,用至少两种不同的方法创建估算数据点并考虑复杂度和风险因素,那么你可以确信你已经得出了你的最好估算。 软件项目管理过程从一组活动开始,它们被称为项目计划。在项目可以开始前,管理者和软件小组必须估算将要完成的工作,将需要的资源以及从开始到完成所需要的时间。无论何时进行估算,我们都是预测未来,并会接受某种程度的不确定性。引用FrederuckBrooks[BRO75]的话: 我们的估算技术发展缓慢,更为严重的是,它们隐含了一个不正确的假设,即”一切都会好的”......因为我们对自己的估算没有把握,软件管理者常常缺少让人们得到一个好产品的信心。 虽然估算是一门科学,更是一门艺术,这个重要的活动不能以随意的方式来进行。对时时间以及工作量进行评估又用的技术确实存在。过程和项目度量可以定量估算的生

相关文档
最新文档