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

外文文献资料1、Software EngineeringSoftware is the sequences of instructions in one or more programming languages that comprise a computer application to automate some business function. Engineering is the use of tools and techniques in problem solving. Putting the two words together, software engineering is the systemtic application of tools and techniques in the development of computer-based applications.The software engineering process describes the steps it takes to deelop the system. We begin a development project with the notion that there is a problem to be solved via automation. The process is how you get from problem recognition to a working solution. A quality process is desirable because it is more likely to lead to a quality product. The process followed by a project team during the development life cycle of an application should be orderly, goal-oriented, enjoyable, and a learning experience.Object-oriented methodology is an approach to system lifecycle development that takes a top-down view of data objects, their allowable actions, and the underlying communication requirement to define a system architecture. The data and action components are encapsulated, that is , they are combined together, to form abstract data types Encapsulation means that if I know what data I want ,I also know the allowable processes against that data. Data are designed as lattice hierarchies of relationships to ensure that top-down, hierarchic inheritance and side ways relationships are accommodated. Encapsulated objects are constrained only to communicate via messages. At a minimum, messages indicate the receiver and action requested. Messages may be more elaborate, including the sender and data to be acted upon.That we try to apply engineering discipline to software development does not mean that we have all the answers about how to build applications. On the contrary, we still build systems that are not useful and thus are not used. Part of the reason for continuing problems in application development, is that we are constantly trying to hita moving target. Both the technology and the type of applications needed by businesses are constantly changing and becoming more complex. Our ability to develop and disseminate knowledge about how to successfully build systems for new technologies and new application types seriously lags behind technological and business changes.Another reason for continuing problems in application development is that we aren’t always free to do what we like and it is hard to change habits and cultures from the old way of doing things, as well as get users to agree with a new sequence of events or an unfamiliar format for documentation.You might ask then, if many organizations don’t use good software engineering practices, why should I bother learning them? There are two good answers to this question. First, if you never know the right thing to do, you have no chance of ever using it. Second, organizations will frequently accept evolutionary, small steps of change instead of revolutionary, massive change. You can learn individual techniques that can be applied without complete devotion to one way of developing systems. In this way, software engineering can speed changee in their organizations by demonstrating how the tools and techniques enhance th quality of both the product and the process of building a system.2、Data Base System1、IntroductionThe development of corporate databases will be one of the most important data-processing activities for the rest of the 1970s. Date will be increasingly regarded as a vital corporate resource, which must be organized so as to maximize their value. In addition to the databases within an organization, a vast new demand is growing for database services, which will collect, organize, and sell data.The files of data which computers can use are growing at a staggering rate. The growth rate in the size of computer storage is greater than the growth in the size or power of any other component in the exploding data processing industry. The more data the computers have access to, the greater is their potential power. In all walks of life and in all areas of industry, data banks will change the areas of what it is possiblefor man to do. In the end of this century, historians will look back to the coming of computer data banks and their associated facilities as a step which changed the nature of the evolution of society, perhaps eventually having a greater effect on the human condition than even the invention of the printing press.Some most impressive corporate growth stories of the generation are largely attributable to the explosive growth in the need of information.The vast majority of this information is not yet computerized. However, the cost of data storage hardware is dropping more rapidly than other costs in data processing. It will become cheaper to store data on computer files than to store them on paper. Not only printed information will be stored. The computer industry is improving its capability to store line drawing, data in facsimile form, photo-graphs, human speech, etc. In fact, any form of information other than the most intimate communications between humans can be transmitted and stored digitally.There are two main technology developments likely to become available in the near future. First, there are electromagnetic devices that will hold much more data than disks but have much longer access time. Second, there are solid-state technologies that will give microsecond access time but capacities are smaller than disks.Disks themselves may be increased in capacity somewhat. For the longer term future there are a number of new technologies which are currently working in research labs which may replace disks and may provide very large microsecond-access-time devices. A steady stream of new storage devices is thus likely to reach the marketplace over the next 5 years, rapidly lowering the cost of storing data.Given the available technologies, it is likely that on-line data bases will use two or three levels of storage. One solid-state with microsecond access time, one electromagnetic with access time of a fraction of a second. If two ,three ,or four levels of storage are used, physical storage organization will become more complex ,probably with paging mechanisms to move data between the levels; solid-state storage offers the possibility of parallel search operation and associativememory.Both the quantity of data stored and the complexity of their organization are going up by leaps and bounds. The first trillion bit on-line stores are now in use . in a few year’s time ,stores of this size may be common.A particularly important consideration in data base design is to store the data so that the can be used for a wide variety of applications and so that the way they can be changed quickly and easily. On computer installation prior to the data base era it has been remarkably difficult to change the way data are used. Different programmers view the data in different ways and constantly want to modify them as new needs arise modification , however ,can set off a chain reaction of changes to existing programs and hence can be exceedingly expensive to accomplish .Consequently , data processing has tended to become frozen into its old data structures .To achieve flexibility of data usage that is essential in most commercial situations . Two aspects of data base design are important. First, it should be possible to interrogate and search the data base without the lengthy operation of writing programs in conventional programming languages. Second ,the data should be independent of the programs which use them so that they can be added to or restructured without the programs being changed .The work of designing a data base is becoming increasing difficult , especially if it is to perform in an optimal fashion . There are many different ways in which data can be structured ,and they have different types of data need to be organized in different ways. Different data have different characteristics , which ought to effect the data organization ,and different users have fundamentally different requirements. So we need a kind of data base management system(DBMS)to manage data.Data base design using the entity-relationship model begins with a list of the entity types involved and the relationships among them. The philosophy of assuming that the designer knows what the entity types are at the outset is significantly different from the philosophy behind the normalization-based approach.The entity-relationship(E-R)approach uses entity-relationship diagrams. The E-Rapproach requires several steps to produre a structure that is acceptable by the particular DBMS. These steps are:(1) Data analysis(2) Producing and optimizing the entity model.(3) Logical schema development(4) Physical data base design process.Developing a data base structure from user requirements is called data bases design. Most practitioners agree that there are two separate phases to the data base design process. The design of a logical database structure that is processable by the data base management system(DBMS)d escribes the user’s view of data, and is the selection of a physical structure such as the indexed sequential or direct access method of the intended DBMS.Current data base design technology shows many residual effects of its outgrowth from single-record file design methods. File design is primarily application program dependent since the data has been defined and structured in terms of individual applications to use them. The advent of DBMS revised the emphasis in data and program design approaches.There are many interlocking questions in the design of data-base systems and many types of technique that one can use is answer to the question so many; in fact, that one often sees valuable approaches being overlooked in the design and vital questions not being asked.There will soon be new storage devices, new software techniques, and new types of data bases. The details will change, but most of the principles will remain. Therefore, the reader should concentrate on the principles.2、Data base systemThe conception used for describing files and data bases has varied substantially in the same organization.A data base may be defined as a collection of interrelated data stored together with as little redundancy as possible to serve on or more applications in an optimal fashion; the data are stored so that they are independent of programs which use thedata; a common and controlled approach is used in adding new data and in modifying and retrieving existing data within the data base. One system is said to contain a collection of data bases if they are entirely separate in structure.A data base may be designed for batch processing, real-time processing, or in-line processing. A data base system involve application program, DBMS, and data base.One of the most important characteristics of most data bases is that they will constantly need to change and grow. Easy restructuring of the data base must be possible as new data types and new applications are added. The restructuring should be possible without having to rewrite the application program and in general should cause as little upheaval as possible. The ease with which a data base can be changed will have a major effect on the rate at which data-processing application can be developed in a corporation.The term data independence is often quoted as being one of the main attributes of a data base. It implies that the data and the application programs which use them are independent so that either may be changed without changing the other. When a single set of data items serves a variety of applications, different application programs perceive different relationships between the data items. To a large extent, data-base organization is concerned with the representation of relationship between data items and records as well as how and where the data are stored. A data base used for many applications can have multiple interconnections between the data item about which we may wish to record. It can describes the real world. The data item represents an attribute, and the attribute must be associated with the relevant entity. We design values to the attributes, one attribute has a special significance in that it identifies the entity.An attribute or set of attribute which the computer uses to identify a record or tuple is referred to as a key. The primary key is defined as that key used to uniquely identify one record or tuple. The primary key is of great importance because it is used by the computer in locating the record or tuple by means of an index or addressing algorithm.If the function of a data base were merely to store data, its organization would be simple. Most of the complexities arise from the fact that is must also show the relationships between the various items of data that are stored. It is different to describe the data in logical or physical.The logical data base description is referred to as a schema .A schema is a chart of the types of data that one used. It gives the names of the entities and attributes, and specifics the relations between them. It is a framework into which the values of the data-items can be fitted.We must distinguish between a record type and a instance of the record. When we talk about a “personnel record”,this is really a record type.There are no data values associated with it.The term schema is used to mean an overall chart of all of the dataitem types and record types stored in a data he uses. Many different subschema can be derived from one schema.The schema and the subschema are both used by the data-base management system, the primary function of which is to serve the application programs by executing their data operations.A DBMS will usually be handing multiple data calls concurrently. It must organize its system buffers so that different data operations can be in process together. It provides a data definition language to specify the conceptual schema and most likely, some of the details regarding the implementation of the conceptual schema by the physical schema. The data definition language is a high-level language, enabling one to describe the conceptual schema in terms of a “data model” .The choice of a data model is a difficult one, since it must be rich enough in structure to describe significant aspects of the real world, yet it must be possible to determine fairly automatically an efficient implementation of the conceptual schema by a physical schema. It should be emphasized that while a DBMS might be used to build small data bases, many data bases involve millions of bytes, and an inefficient implementation can be disastrous.We will discuss the data model in the following.3、Three Data ModelsLogical schemas are defined as data models with the underlying structure of particular database management systems superimposed on them. At the present time, there are three main underlying structures for database management systems. These are :RelationalHierarchicalNetworkThe hierarchical and network structures have been used for DBMS since the 1960s. The relational structure was introduced in the early 1970s.In the relational model, the entities and their relationships are represented by two-dimensional tables. Every table represents an entity and is made up of rows and columns. Relationships between entities are represented by common columns containing identical values from a domain or range of possible values.The last user is presented with a simple data model. His and her request are formulated in terms of the information content and do not reflect any complexities due to system-oriented aspects. A relational data model is what the user sees, but it is not necessarily what will be implemented physically.The relational data model removes the details of storage structure and access strategy from the user interface. The model provides a relatively higher degree of data. To be able to make use of this property of the relational data model however, the design of the relations must be complete and accurate.Although some DBMS based on the relational data model are commercially available today, it is difficult to provide a complete set of operational capabilities with required efficiency on a large scale. It appears today that technological improvements in providing faster and more reliable hardware may answer the question positively.The hierarchical data model is based on a tree-like structure made up of nodes and branches. A node is a collection of data attributes describing the entity at that point.The highest node of the hierarchical tree structure is called a root. The nodes at succeeding lower levels are called children .A hierarchical data model always starts with a root node. Every node consists of one or more attributes describing the entity at that node. Dependent nodes can follow the succeeding levels. The node in the preceding level becomes the parent node of the new dependent nodes. A parent node can have one child node as a dependent or many children nodes. The major advantage of the hierarchical data model is the existence of proven database management systems that use the hierarchical data model as the basic structure. There is a reduction of data dependency but any child node is accessible only through its parent node, the many-to –many relationship can be implemented only in a clumsy way. This often results in a redundancy in stored data.The network data model interconnects the entities of an enterprise into a network. In the network data model a data base consists of a number of areas. An area contains records. In turn, a record may consist of fields. A set which is a grouping of records, may reside in an area or span a number of areas. A set type is based on the owner record type and the member record type. The many-to many relation-ship, which occurs quite frequently in real life can be implemented easily. The network data model is very complex, the application programmer must be familiar with the logical structure of the data base.4、Logical Design and Physical DesignLogical design of databases is mainly concerned with superimposing the constructs of the data base management system on the logical data model. There are three mainly models: hierarchical, relational, network we have mentioned above.The physical model is a framework of the database to be stored on physical devices. The model must be constructed with every regard given to the performance of the resulting database. One should carry out an analysis of the physical model with average frequencies of occurrences of the grou pings of the data elements, with expected space estimates, and with respect to time estimates for retrieving and maintaining the data.The database designer may find it necessary to have multiple entry points into a database, or to access a particular segment type with more than one key. To provide this type of access; it may be necessary to invert the segment on the keys. Thephysical designer must have expertise in knowledge of the DBMS functions and understanding of the characteristics of direct access devices and knowledge of the applications.Many data bases have links between one record and another, called pointers. A pointer is a field in one record which indicates where a second record is located on the storage devices.Records that exist on storage devices is a given physical sequence. This sequencing may be employed for some purpose. The most common pupose is that records are needed in a given sequence by certain data-processing operations and so they are stored in that sequences.Different applications may need records in different sequences.The most common method of ordering records is to have them in sequence by a key —that key which is most commonly used for addressing them. An index is required to find any record without a lengthy search of the file.If the data records are laid out sequentially by key, the index for that key can be much smaller than they are nonsequential.Hashing has been used for addressing random-access storages since they first came into existence in the mid-1950s. But nobody had the temerity to use the word hashing until 1968.Many systems analysis has avoided the use of hashing in the suspicion that it is complicated. In fact, it is simple to use and has two important advantages over indexing. First, it finds most records with only one seek and second, insertion and deletions can be handled without added complexity. Indexing, however, can be used with a file which is sequential by prime key and this is an overriding advantage, for some batch-pro-cessing applications.Many data-base systems use chains to interconnect records also. A chain refers to a group of records scatters within the files and interconnected by a sequence of pointers. The software that is used to retrive the chained records will make them appear to the application programmer as a contiguous logical file.The primary disadvantage of chained records is that many read operations areneeded in order to follow lengthy chains. Sometimes this does not matter because the records have to be read anyway. In most search operations, however, the chains have to be followed through records which would not otherwise to read. In some file organizations the chains can be contained within blocked physical records so that excessive reads do not occur.Rings have been used in many file organizations. They are used to eliminate redundancy. When a ring or a chain is entered at a point some distance from its head, it may be desirable to obtain the information at the head quickly without stepping through all the intervening links.5、Data Description LanguagesIt is necessary for both the programmers and the data administrator to be able to describe their data precisely; they do so by means of data description languages. A data description language is the means of declaring to data-base management system what data structures will be used.A data description languages giving a logical data description should perform the folloeing functions:It should give a unique name to each data-item type, file type, data base and other data subdivision.It should identify the types of data subdivision such as data item segment , record and base file.It may define the type of encoding the program uses in the data items (binary , character ,bit string , etc.)It may define the length of the data items and the range of the values that a data item can assume .It may specify the sequence of records in a file or the sequence of groups of record in the data base .It may specify means of checking for errors in the data .It may specify privacy locks for preventing unauthorized reading or modification of the data .These may operate at the data-item ,segment ,record, file or data-base level and if necessary may be extended to the contents(value) of individual data items .The authorization may , on the other hand, be separate defined .It is more subject to change than the data structures, and changes in authorization proceduresshould not force changes in application programs.A logical data description should not specify addressing ,indexing ,or searching techniques or specify the placement of data on the storage units ,because these topics are in the domain of physical ,not logical organization .It may give an indication of how the data will be used or of searching requirement .So that the physical technique can be selected optimally but such indications should not be logically limiting.Most DBMS have their own languages for defining the schemas that are used . In most cases these data description languages are different to other programmer language, because other programmer do not have the capability to define to variety of relationship that may exit in the schemas.附录 B 外文译文1、软件工程软件是指令的序列,该指令序列由一种或者多种程序语言编写,它能使计算机应用于某些事物的运用自动化。
软件工程阅读(中英文对照)之需求分析(二)

The requirements analysis is important because it will play a major role in determining the design of specific software and hardware systems. Often,systems analysts in medium and large-scale organizations must use an existing system on which they base their requirements analysis.In this case,gaining an understanding of the existing system can be viewed as a background study that is a preliminary phase to the definition phase.A systems analyst would analyze an existing system and produce a written document that would identify the following:• The needs of the people who use the system;• The existing inputs,outputs,and processing;• The flow of information through the system. Once a good understanding of the existing system has been acquired,it serves as a basis for a detailed functional specification in which problems and opportunities to improve effectiveness can be identified and communicated toothers[1].The analyst should always examine the existing system to see if needs can be met without a new system. As information is collected about the current system,it should be organized so that every possible solution and its feasibility can be examined.The systems analyst works with users to analyze the alternatives.In this case,the goal of the background study is to:• Identify and prioritize system-related problems and costs;• Identify opportunities to improve systems performance;• Produce a functional specification. On the other hand,in many cases a systern must be designed to fill a need that did not exist beforehand.New computer systerns are often technology-driven.That is,as a technology becomes feasible to implement,it presents new business opportunities.For example,the automated teller machines(ATMs)presented the banking industry with a new opportunity.In that case,the process did not start with a request from a user,but as an opportunity created by new computer software and hardware. The requirements analysis is one of the most important tasks to undertake,because it answers such questions as:• What is the user’s problem?• Will a computer help?• What is the system required to do?• What are some preliminary approaches to the problem?NOTES[1] “… a businessperson,such as the manager of a department,should consider”是省略关系代词“that”的限定性定语从句,修饰主语“questions”,其中“such as…”是插⼊语,说明“businessperson”。
软件工程英文参考文献(优秀范文105个)

软件工程英文参考文献(优秀范文105个)软件工程英文参考文献一:[1]Carine Khalil,Sabine Khalil. Exploring knowledge management in agile software developmentorganizations[J]. International Entrepreneurship and Management Journal,2020,16(4).[2]Kevin A. Gary,Ruben Acuna,Alexandra Mehlhase,Robert Heinrichs,Sohum Sohoni. SCALING TO MEET THE ONLINE DEMAND IN SOFTWARE ENGINEERING[J]. International Journal on Innovations in Online Education,2020,4(1).[3]Hosseini Hadi,Zirakjou Abbas,GoodarziVahabodin,Mousavi Seyyed Mohammad,Khonakdar Hossein Ali,Zamanlui Soheila. Lightweight aerogels based on bacterial cellulose/silver nanoparticles/polyaniline with tuning morphology of polyaniline and application in soft tissue engineering.[J]. International journal of biological macromolecules,2020,152.[4]Dylan G. Kelly,Patrick Seeling. Introducing underrepresented high school students to software engineering: Using the micro:bit microcontroller to program connected autonomous cars[J]. Computer Applications in Engineering Education,2020,28(3).[5]. Soft Computing; Research Conducted at School of Computing Science and Engineering Has Updated OurKnowledge about Soft Computing (Indeterminate Likert scale: feedback based on neutrosophy, its distance measures and clustering algorithm)[J]. News of Science,2020.[6]. Engineering; New Engineering Findings from Hanyang University Outlined (Can-based Aging Monitoring Technique for Automotive Asics With Efficient Soft Error Resilience)[J]. Journal of Transportation,2020.[7]. Engineering - Software Engineering; New Findings from University of Michigan in the Area of Software Engineering Reported (Multi-criteria Test Cases Selection for Model Transformations)[J]. Journal of Transportation,2020.[8]Tamas Galli,Francisco Chiclana,Francois Siewe. Software Product Quality Models, Developments, Trends, and Evaluation[J]. SN Computer Science,2020,1(2).[9]. Infotech; Infotech Joins BIM for Bridges and Structures Transportation Pooled Fund Project as an Official Software Advisor[J]. Computer Technology Journal,2020.[10]. Engineering; Study Findings from Beijing Jiaotong University Provide New Insights into Engineering (Analyzing Software Rejuvenation Techniques In a Virtualized System: Service Provider and User Views)[J]. Computer Technology Journal,2020.[11]. Soft Computing; Data on Soft Computing Reported by Researchers at Sakarya University (An exponential jerk system, its fractional-order form with dynamical analysis and engineering application)[J]. Computer Technology Journal,2020.[12]. Engineering; Studies from Henan University Yield New Data on Engineering (Extracting Phrases As Software Features From Overlapping Sentence Clusters In Product Descriptions)[J]. Computer Technology Journal,2020.[13]. Engineering; Data from Nanjing University of Aeronautics and Astronautics Provide New Insights into Engineering (A Systematic Study to Improve the Requirements Engineering Process in the Domain of Global Software Development)[J]. Computer Technology Journal,2020.[14]. Soft Computing; Investigators at Air Force Engineering University Report Findings in Soft Computing (Evidential model for intuitionistic fuzzy multi-attribute group decision making)[J]. Computer Technology Journal,2020.[15]. Engineering; Researchers from COMSATS University Islamabad Describe Findings in Engineering (A Deep CNN Ensemble Framework for Efficient DDoS Attack Detection in Software Defined Networks)[J]. Computer Technology Journal,2020.[16]Pedro Delgado-Pérez,Francisco Chicano. An Experimental and Practical Study on the EquivalentMutant Connection: An Evolutionary Approach[J]. Information and Software Technology,2020.[17]Koehler Leman Julia,Weitzner Brian D,Renfrew P Douglas,Lewis Steven M,Moretti Rocco,Watkins Andrew M,Mulligan Vikram Khipple,Lyskov Sergey,Adolf-Bryfogle Jared,Labonte Jason W,Krys Justyna,Bystroff Christopher,Schief William,Gront Dominik,Schueler-Furman Ora,Baker David,Bradley Philip,Dunbrack Roland,Kortemme Tanja,Leaver-Fay Andrew,StraussCharlie E M,Meiler Jens,Kuhlman Brian,Gray JeffreyJ,Bonneau Richard. Better together: Elements of successful scientific software development in a distributed collaborative munity.[J]. PLoS putational biology,2020,16(5).[18]. Mathematics; Data on Mathematics Reported by Researchers at Thapar Institute of Engineering and Technology (Algorithms Based on COPRAS and Aggregation Operators with New Information Measures forPossibility Intuitionistic Fuzzy Soft Decision-Making)[J]. Journal of Mathematics,2020.[19]. Engineering - Medical and Biological Engineering; Reports from Heriot-Watt University Describe Recent Advances in Medical and Biological Engineering (ANovel Palpation-based Method for Tumor Nodule Quantification In Soft Tissue-putational Framework and Experimental Validation)[J]. Journal ofEngineering,2020.[20]. Engineering - Industrial Engineering; Studies from Xi'an Jiaotong University Have Provided New Data on Industrial Engineering (Dc Voltage Control Strategy of Three-terminal Medium-voltage Power Electronic Transformer-based Soft Normally Open Points)[J]. Journal of Engineering,2020.[21]. Engineering; Reports from Hohai University Add New Data to Findings in Engineering (Soft Error Resilience of Deep Residual Networks for Object Recognition)[J]. Journal of Engineering,2020.[22]. Engineering - Mechanical Engineering; Study Data from K.N. Toosi University of Technology Update Understanding of Mechanical Engineering (Coupled Directional Dilation-Damage Approach to Model the Cyclic-Undrained Response of Soft Clay under Pure Principal Stress Axes Rotation)[J]. Journal of Engineering,2020.[23]. Soft Computing; Researchers from Abes Engineering College Report Details of New Studies and Findings in the Area of Soft Computing (An intelligent personalized web blog searching technique using fuzzy-based feedback recurrent neural network)[J]. Network Weekly News,2020.[24]. Engineering; Studies from University of Alexandria in the Area of Engineering Reported (Software Defined Network-Based Management for Enhanced 5G Network Services)[J]. Network Weekly News,2020.[25]. Soft Computing; Data on Soft Computing Discussed by Researchers at Department of Electrical and Communication Engineering [A metaheuristicoptimization model for spectral allocation incognitive networks based on ant colony algorithm (M-ACO)][J]. Computer Technology Journal,2020.[26]. Engineering - Software Engineering; Complutense University Madrid Reports Findings in Software Engineering (Recolibry Suite: a Set of Intelligent Tools for the Development of Remender Systems)[J]. Computer Technology Journal,2020.[27]. Engineering - Software Engineering; Data on Software Engineering Reported by Researchers at Gautam Buddha University (A novel quality prediction modelfor ponent based software system using ACO-NM optimized extreme learning machine)[J]. Computer Technology Journal,2020.[28]. Soft Computing; New Soft Computing Study Findings Recently Were Reported by Researchers at University College of Engineering (A novel QIM-DCT based fusion approach for classification of remote sensing images via PSO and SVM models)[J]. Computer Technology Journal,2020.[29]Morshedloo Fatemeh,Khoshfetrat Ali Baradar,Kazemi Davoud,Ahmadian Mehri. Gelatin improves peroxidase-mediated alginate hydrogel characteristics as a potential injectable hydrogel for soft tissueengineering applications.[J]. Journal of biomedical materials research. Part B, Applied biomaterials,2020.[30]Jung-Chieh Lee,Chung-Yang Chen. Exploring the team dynamic learning process in software process tailoring performance[J]. Journal of Enterprise Information Management,2020,33(3).[31]. Soft Computing; Study Results from Velammal Engineering College in the Area of Soft Computing Reported (Efficient routing in UASN during the thermohaline environment condition to improve the propagation delay and throughput)[J]. Mathematics Week,2020.[32]. Soft Matter; Findings from School of Materials Science and Engineering Provide New Insights into Soft Matter (A practical guide to active colloids: choosing synthetic model systems for soft matter physics research)[J]. Physics Week,2020.[33]Julio César Puche-Regaliza,Alfredo Jiménez,Pablo Arranz-Val. Diagnosis of Software Projects Based on the Viable System Model[J]. Systemic Practice and Action Research,2020,33(1).[34]Meinert Edward,Milne-Ives Madison,Surodina Svitlana,Lam Ching. Agile requirements engineering and software planning for a digital health platform to engage the effects of isolation caused by social distancing: A case study and feasibility study protocol.[J]. JMIR public health and surveillance,2020.[35]. Engineering - Civil Engineering; Studies Conducted at Shandong Jianzhu University on Civil Engineering Recently Published (Seismic Response Analysis and Control of Frame Structures with Soft First Storey under Near-Fault Ground Motions)[J]. Journal of Engineering,2020.软件工程英文参考文献二:[36]Chao-ze Lu,Guo-sun Zeng,Ying-jie Xie. Bigraph specification of software architecture and evolution analysis in mobile puting environment[J]. Future Generation Computer Systems,2020,108.[37]Ompal Singh, Saurabh Panwar, P. K. Kapur.. Determining Software Time-to-Market and Testing Stop Time when Release Time is a Change-Point[J]. International Journal of Mathematical, Engineering and Management Sciences,2020,5(2).[38]Ayushi Verma,Neetu Sardana,Sangeeta Lal. Developer Remendation for Stack Exchange Software EngineeringQ&A Website based on K-Means clustering and Developer Social Network Metric[J]. Procedia ComputerScience,2020,167.[39]Jagdeep Singh,Sachin Bagga,Ranjodh Kaur. Software-based Prediction of Liver Disease with Feature Selection and Classification Techniques[J]. Procedia Computer Science,2020,167.[40]. Engineering - Software Engineering; Studies from Concordia University Update Current Data on SoftwareEngineering (On the impact of using trivial packages: an empirical case study on npm and PyPI)[J]. Computer Technology Journal,2020.[41]. Engineering - Software Engineering; Study Findings from University of Alberta Broaden Understanding of Software Engineering (Building the perfect game - an empirical study of game modifications)[J]. Computer Technology Journal,2020.[42]. Engineering - Software Engineering; Investigators at National Research Council (CNR) Detail Findings in Software Engineering [A Framework for Quantitative Modeling and Analysis of Highly (Re)Configurable Systems][J]. Computer Technology Journal,2020.[43]. Engineering - Knowledge Engineering; Data from University of Paris Saclay Provide New Insights into Knowledge Engineering (Dynamic monitoring of software use with recurrent neural networks)[J]. Computer Technology Journal,2020.[44]. Engineering - Circuits Research; Findings from Federal University Santa Maria Yields New Data on Circuits Research (A New Cpfsk Demodulation Approach for Software Defined Radio)[J]. Computer Technology Journal,2020.[45]. Soft Computing; Investigators from Lovely Professional University Release New Data on Soft Computing (An intensify Harris Hawks optimizer fornumerical and engineering optimization problems)[J]. Computer Technology Journal,2020.[46]. GlobalLogic Inc.; GlobalLogic Acquires Meelogic Consulting AG, a European Healthcare and Automotive-Focused Software Engineering Services Firm[J]. Computer Technology Journal,2020.[47]. Engineering - Circuits and Systems Research; Data on Circuits and Systems Research Described by Researchers at Northeastern University (Softcharge: Software Defined Multi-device Wireless Charging Over Large Surfaces)[J]. Telemunications Weekly,2020.[48]. Soft Computing; Researchers from Department of Electrical and Communication Engineering Report on Findings in Soft Computing (Dynamic Histogram Equalization for contrast enhancement for digital images)[J]. Technology News Focus,2020.[49]Mohamed Ellithey Barghoth,Akram Salah,Manal A. Ismail. A Comprehensive Software Project Management Framework[J]. Journal of Computer and Communications,2020,08(03).[50]. Soft Computing; Researchers from Air Force Engineering University Describe Findings in Soft Computing (Random orthocenter strategy in interior search algorithm and its engineering application)[J]. Journal of Mathematics,2020.[51]. Soft Computing; Study Findings on Soft Computing Are Outlined in Reports from Department of MechanicalEngineering (Constrained design optimization of selected mechanical system ponents using Rao algorithms)[J]. Mathematics Week,2020.[52]Iqbal Javed,Ahmad Rodina B,Khan Muzafar,Fazal-E-Amin,Alyahya Sultan,Nizam Nasir Mohd Hairul,Akhunzada Adnan,Shoaib Muhammad. Requirements engineering issues causing software development outsourcing failure.[J]. PloS one,2020,15(4).[53]Raymond C.Z. Cohen,Simon M. Harrison,Paul W. Cleary. Dive Mechanic: Bringing 3D virtual experimentation using biomechanical modelling to elite level diving with the Workspace workflow engine[J]. Mathematics and Computers in Simulation,2020,175.[54]Emelie Engstr?m,Margaret-Anne Storey,Per Runeson,Martin H?st,Maria Teresa Baldassarre. How software engineering research aligns with design science: a review[J]. Empirical SoftwareEngineering,2020(prepublish).[55]Christian Lettner,Michael Moser,Josef Pichler. An integrated approach for power transformer modeling and manufacturing[J]. Procedia Manufacturing,2020,42.[56]. Engineering - Mechanical Engineering; New Findings from Leibniz University Hannover Update Understanding of Mechanical Engineering (A finite element for soft tissue deformation based on the absolute nodal coordinate formulation)[J]. Computer Technology Journal,2020.[57]. Science - Social Science; Studies fromUniversity of Burgos Yield New Information about Social Science (Diagnosis of Software Projects Based on the Viable System Model)[J]. Computer Technology Journal,2020.[58]. Technology - Powder Technology; Investigators at Research Center Pharmaceutical Engineering GmbH Discuss Findings in Powder Technology [Extended Validation and Verification of Xps/avl-fire (Tm), a Computational Cfd-dem Software Platform][J]. Computer Technology Journal,2020.[59]Guadalupe-Isaura Trujillo-Tzanahua,Ulises Juárez-Martínez,Alberto-Alfonso Aguilar-Lasserre,María-Karen Cortés-Verdín,Catherine Azzaro-Pantel.Multiple software product lines to configure applications of internet of things[J]. IETSoftware,2020,14(2).[60]Eduardo Juárez,Rocio Aldeco-Pérez,Jose.Manuel Velázquez. Academic approach to transform organisations: one engineer at a time[J]. IET Software,2020,14(2).[61]Dennys García-López,Marco Segura-Morales,Edson Loza-Aguirre. Improving the quality and quantity of functional and non-functional requirements obtained during requirements elicitation stage for the development of e-merce mobile applications: an alternative reference process model[J]. IETSoftware,2020,14(2).[62]. Guest Editorial: Software Engineering Applications to Solve Organisations Issues[J]. IET Software,2020,14(2).[63]?,?. Engine ControlUnit ? ? ?[J]. ,2020,47(4).[64]. Engineering - Software Engineering; Study Data from Nanjing University Update Understanding of Software Engineering (Identifying Failure-causing Schemas In the Presence of Multiple Faults)[J]. Mathematics Week,2020.[65]. Energy - Renewable Energy; Researchers from Institute of Electrical Engineering Detail New Studies and Findings in the Area of Renewable Energy (A Local Control Strategy for Distributed Energy Fluctuation Suppression Based on Soft Open Point)[J]. Journal of Mathematics,2020.[66]Ahmed Zeraoui,Mahfoud Benzerzour,WalidMaherzi,Raid Mansi,Nor-Edine Abriak. New software for the optimization of the formulation and the treatment of dredged sediments for utilization in civil engineering[J]. Journal of Soils andSediments,2020(prepublish).[67]. Engineering - Concurrent Engineering; Reports from Delhi Technological University Add New Data to Findings in Concurrent Engineering (Systematic literature review of sentiment analysis on Twitter using soft puting techniques)[J]. Journal of Engineering,2020.[68]. Engineering; New Findings from Future University in Egypt in the Area of Engineering Reported (Decision support system for optimum soft clay improvement technique for highway construction projects)[J]. Journal of Engineering,2020.[69]Erica Mour?o,Jo?o Felipe Pimentel,LeonardoMurta,Marcos Kalinowski,Emilia Mendes,Claes Wohlin. On the performance of hybrid search strategies for systematic literature reviews in softwareengineering[J]. Information and SoftwareTechnology,2020,123.[70]. Soft Computing; Researchers from Anna University Discuss Findings in Soft Computing (A novel fuzzy mechanism for risk assessment in software projects)[J]. News of Science,2020.软件工程英文参考文献三:[71]. Software and Systems Research; New Software and Systems Research Study Results from ChalmersUniversity of Technology Described (Why and How To Balance Alignment and Diversity of Requirements Engineering Practices In Automotive)[J]. Journal of Transportation,2020.[72]Anupama Kaushik,Devendra Kr. Tayal,Kalpana Yadav.A Comparative Analysis on Effort Estimation for Agile and Non-agile Software Projects Using DBN-ALO[J]. Arabian Journal for Science and Engineering,2020,45(6).[73]Subhrata Das,Adarsh Anand,Mohini Agarwal,Mangey Ram. Release Time Problem Incorporating the Effect of Imperfect Debugging and Fault Generation: An Analysis for Multi-Upgraded Software System[J]. International Journal of Reliability, Quality and Safety Engineering,2020,27(02).[74]Saerom Lee,Hyunmi Baek,Sehwan Oh. The role of openness in open collaboration: A focus onopen‐source software development projects[J]. ETRI Journal,2020,42(2).[75]. Soft Computing; Study Results from Computer Science and Engineering Broaden Understanding of Soft Computing (Efficient attribute selection technique for leukaemia prediction using microarray gene data)[J]. Computer Technology Journal,2020.[76]. Engineering - Computational Engineering; Findings from University of Cincinnati in the Area of Computational Engineering Described (Exploratory Metamorphic Testing for Scientific Software)[J]. Computer Technology Journal,2020.[77]. Organizational and End User Computing; Data from Gyeongnam National University of Science and Technology Advance Knowledge in Organizational and End User Computing (A Contingent Approach to Facilitating Conflict Resolution in Software Development Outsourcing Projects)[J]. Computer Technology Journal,2020.[78]. Soft Computing; Findings from Department of Industrial Engineering in the Area of Soft Computing Reported (Analysis of fuzzy supply chain performance based on different buyback contract configurations)[J]. Computer Technology Journal,2020.[79]Hana M kaouar,Bechir Zalila,Jér?me Hugues,Mohamed Jmaiel. A formal approach to AADL model-based software engineering[J]. International Journal on SoftwareTools for Technology Transfer,2020,22(5).[80]Riesch Michael,Nguyen Tien Dat,Jirauschek Christian. bertha: Project skeleton for scientific software.[J]. PloS one,2020,15(3).[81]. Computers; Findings from Department of Computer Sciences and Engineering Reveals New Findings on Computers (An assessment of software definednetworking approach in surveillance using sparse optimization algorithm)[J]. TelemunicationsWeekly,2020.[82]Luigi Ranghetti,Mirco Boschetti,FrancescoNutini,Lorenzo Busetto. “sen2r”: An R toolbox for automatically downloading and preprocessing Sentinel-2 satellite data[J]. Computers and Geosciences,2020,139.[83]Mathie Najberg,Muhammad Haji Mansor,ThéodoreT aillé,Céline Bouré,Rodolfo Molina-Pe?a,Frank Boury,José Luis Cenis,Emmanuel Garcion,CarmenAlvarez-Lorenzo. Aerogel sponges of silk fibroin, hyaluronic acid and heparin for soft tissueengineering: Composition-properties relationship[J]. Carbohydrate Polymers,2020,237.[84]Isonkobong Udousoro. Effective Requirement Engineering Process Model in Software Engineering[J]. Software Engineering,2020,8(1).[85]. Soft Computing; Research Conducted at Department of Computer Sciences and Engineering Has Updated Our Knowledge about Soft Computing [Hyperparameter tuning in convolutional neural networks for domain adaptation in sentiment classification (HTCNN-DASC)][J]. Network Weekly News,2020.[86]. Engineering - Software Engineering; Data on Software Engineering Discussed by Researchers at Universita della Svizzera italiana (Investigating Types and Survivability of Performance Bugs In Mobile Apps)[J]. Computer Technology Journal,2020.[87]. Engineering - Software Engineering; Findings from Nanjing University Broaden Understanding of Software Engineering (Boosting Crash-inducing Change Localization With Rank-performance-based Feature Subset Selection)[J]. Computer Technology Journal,2020.[88]. Engineering - Software Engineering; Study Data from Queen's University Belfast Update Knowledge of Software Engineering (Practical relevance of software engineering research: synthesizing the munity's voice)[J]. Computer Technology Journal,2020.[89]. Engineering - Software Engineering; Researchers from Concordia University Detail New Studies and Findings in the Area of Software Engineering (MSRBot: Using bots to answer questions from software repositories)[J]. Computer Technology Journal,2020.[90]Anonymous. DBTA LIVE[J]. Database Trends and Applications,2020,34(2).[91]Tachanun KANGWANTRAKOOL,Kobkrit VIRIYAYUDHAKORN,Thanaruk THEERAMUNKONG. Software Development Effort Estimation from Unstructured Software Project Description by Sequence Models[J]. IEICE Transactions on Information andSystems,2020,E103.D(4).[92]Reza Mohammadi,Reza Javidan,NegarRikhtegar,Manijeh Keshtgari. An intelligent multicast traffic engineering method over software defined networks[J]. Journal of High Speed Networks,2020,26(1).[93]. Engineering - Civil Engineering; HohaiUniversity Researchers Detail New Studies and Findings in the Area of Civil Engineering (An Experimental Study on Settlement due to the Mutual Embedding of Miscellaneous Fill and Soft Soil)[J]. Journal of Engineering,2020.[94]. Engineering - Biomechanical Engineering; Researchers from Washington University St. LouisDetail New Studies and Findings in the Area of Biomechanical Engineering (Estimation of Anisotropic Material Properties of Soft Tissue By Mri ofUltrasound-induced Shear Waves)[J]. Journal of Engineering,2020.[95]. Engineering - Rock Engineering; Reports from University of Alicante Add New Data to Findings in Rock Engineering (Evaluation of Strength and Deformability of Soft Sedimentary Rocks In Dry and Saturated Conditions Through Needle Penetration and Point Load Tests: a Comparative ...)[J]. Journal of Engineering,2020.[96]. Computers; Study Findings from Department of Electrical and Communication Engineering Broaden Understanding of Computers [Improved energy efficient design in software defined wireless electroencephalography sensor networks (WESN) using distributed ...][J]. Network Weekly News,2020.[97]Mouro Erica,Pimentel Joo Felipe,MurtaLeonardo,Kalinowski Marcos,Mendes Emilia,Wohlin Claes. On the Performance of Hybrid Search Strategies for Systematic Literature Reviews in SoftwareEngineering[J]. Information and SoftwareTechnology,2020(prepublish).[98]Osuna Enrique,Rodrguez Luis-Felipe,Gutierrez-Garcia J. Octavio,Castro Luis A.. Development of putational models of emotions: A software engineering perspective[J]. Cognitive Systems Research,2020,60(C).[99]Sharifzadeh Bahador,Kalbasi Rasool,Jahangiri Mehdi,Toghraie Davood,Karimipour Arash. Computer modeling of pulsatile blood flow in elastic arteryusing a software program for application in biomedical engineering[J]. Computer Methods and Programs in Biomedicine,2020.[100]Shen Xiaoning,Guo Yinan,Li Aimin. Cooperative coevolution with an improved resource allocation for large-scale multi-objective software projectscheduling[J]. Applied Soft Computing,2020,88(C).[101]Jung Jaesoon,Kook Junghwan,Goo Seongyeol,Wang Semyung. Corrigendum to Sound transmission analysis of plate structures using the finite element method and elementary radiator approach with radiator error index [Advances in Engineering Software 112 (2017 115][J]. Advances in Engineering Software,2020,140(C).[102]Zhang Chenyi,Pang Jun. Preface for the special issue of the 12th International Symposium on Theoretical Aspects of Software Engineering (TASE2018[J]. Science of Computer Programming,2020,187(C).[103]Karras Oliver,Schneider Kurt,Fricker Samuel A.. Representing software project vision by means of video: A quality model for vision videos[J]. Journal of Systems and Software,2020,162(C).[104]Sutanto Juliana,Jiang Qiqi,Tan Chuan-Hoo. The contingent role of interproject connectedness in cultivating open source software projects[J]. The Journal of Strategic InformationSystems,2020(prepublish).[105]Weiner Iddo,Feldman Yael,Shahar Noam,Yacoby Iftach,Tuller Tamir. CSO A sequence optimization software for engineering chloroplast expression in Chlamydomonas reinhardtii[J]. AlgalResearch,2020,46(C).。
软件应用中英文对照外文翻译文献

软件应用中英文对照外文翻译文献(文档含英文原文和中文翻译)原文:The Design and Implementation of SingleSign-on Based on Hybrid ArchitectureAbstract—For the purpose of solving the problems of user repeated logon from various kinds of Application which based on hybrid architecture and in different domains, single sign-on architecture is proposed. On the basis of analyzing the advantages and disadvantages of existing single sign-on models, combined with the key technology like Web Service, Applet and reverse proxy, two core problems such as single sign-on architecture mix B/S and C/S structure applications and cross-domain single sign-on are resolved. Meanwhile, the security and performance of this architecture are well protected since the reverse proxy and related encryption technology are adopted. The results show that this architecture is high performance and it is widely applicable, and it will be applied to practical application soon.Index Terms—single sign-on, web service, cross domain, reverse proxy, B/S, C/SINTRODUCTIONWith the information society, people enjoy the progress in the huge interests, but at the same time also faced the test of information security. With all system users need to log in the system increased, users need to set a lot of user names and passwords, which are confused easily, so it will increase the possibility of error. But most users use the same user name and password, this makes the authentication information is illegally intercepted and destroyed the possibility of increased, and security will be reduced accordingly. For managers, the more systems need more corresponding user databases and database privileges, these will increase management complexity. Single sign-on system is proposed a solution to solve the problem. Using single sign-on, we can establish a unified identity authentication system and a unified rights management system. It not only improve system efficiency and safety, but also can use user-friendly and to reduce the burden on administrators.TABLE 1 The comparison of a variety of single sign-on toachieve modelsSSO Achieve- Action ability Manageability ModelBroker Model The large Enable centralizedtransformation of the managementold systemAgent Model Need to add a new Management moreagent for each of the difficult to controlold system,transplantation isAgent and relatively simpleTransplantation Enable centralizedBroker Model simple, managementtransformation of theold system withlimited capacityGateway Model Need to use a Easy to manage, butdedicated gateway to databases between theaccess various different gateways needapplications to be synchronized Token Model Implementation of Need to add newrelatively simple components andincrease themanagement burdenSingle sign-on refers to when the user needs to access a distributed environment which has different applications to provide the service, only sign on once in the environment,no need for the user to re-sign on the various application systems[1]. Now there are many products and solutions to implement SSO, such as Passport of Microsoft, IBM Web Sphere Portal Server although these SSO products could do well in the function of single sign-on, but most of them are complex and inflexible. Currently, the typical models to achieve SSO include broker model, agent model, agent and broker model, gateway model and token model [2]. In table 1, it analyses these models can be implemented and manageability. Based on the above comparison, agent and broker model has the advantages both centralized management and revised less original application service procedure. So I decide to adopt agent and broker model as the basis for this model. In order to integrate information and applications well and with the B/S mode in-depth application software, there has been the concept of enterprise portal, offer a best way to solve this problem. Enterprise portal provides business users access information andapplications, and complete or assist in a variety of interactive behavior of a single integrated access point. The appropriate system software portal provides a development, deployment and management of portal applications services. Enterprise information portal concerns portal, content management, data integration, single sign-on, and much other content.SYSTEM CONSTRUCTION WHICH REGISTERS BASED ON THE WEB SERVICE MIX CONSTRUCTION SINGLE SIGN-ONThe system consists of multiple trust domains. Each trust domain has much B/S architecture of the application servers; in addition to B/S architecture of the application servers also included C/S architecture application servers. All the applications are bound together through a unified portal to achieve functionality of single sign-on. You can see that this architecture is based on the agent and the broker model. A unified agent portal is playing a broker role, and various applications are playing an agent role. The B/S architecture applications are installed on the Client side of SSO Agent, and the unified portal is installed on the Server side of SSO Agent. Between them is through these two Agents to interact. In addition, in Fig 1, the external provision of authentication server is LDAP authentication interface. Token authentication Web Service server provides the interfaces of single sign-on token of the additions, deletions, editions and queries. But the permission Web Service server provides the appropriate authority information system, to achieve unified management authority for accessing unified portal application system.The system supports cross- domain access, that is, the domain D1 users can access the application domain D2, and the domain D2 users can access the application domain D1. At the same time, the system also supports the application of different structures between the single sign-on, that is, user after accessing the application A of the B/S structure access the application E of C/S structure without having to repeatedly enter user name and password, or user access the application A after the application E without re-enter login information.The whole structure of Single Sign-on is as Fig 1 shown.Figure 1: The Structure of Single Sign-onA. The login processThe whole single sign-on process is as Fig 2 shown: Below is the process specific steps description:1)User login in the client browser to access A application, SSO Client of A system intercept and redirect the URL to the landing page of Unified Portal System 2)Enter the user name and password, Unified Portal System submits to the authentication server for authentication. If the information is correct, Unified Portal System automatically generates, saves notes and the role of the user ID to a local, and calls the increate-note interface of Web Service to insert the information.3)Unified Portal System returns a list of application resources pages to the user. The user clicks any one application system (e.g. A system). The SSO Client-side of A application system read the notes information and call the query-notes interface of Web Service. If it is consistent and within the time limit, it will get the role information of the user in A application system and log in A application system. At the same time, it will call the update-note interface of Note Certification Web Service to update the log-in time of this current note. Then call the interface of user rights Web Service to get this user‟s permission information with corresponding application system.4)If user end to access A application system, exit and click on the link of B application system, system implementations will be are as the same as steps (3).5)If user complete all the required access-applications and need to do the log-off operation, it will mainly call the deletion-note interface to destroy the corresponding note information.Figure 2: The whole process of Single Sign-onB.The solution of Cross-domain problemsIn the traditional implementation of single sign-on system will be generally used cookie as storage of client-side notes, but because of restrictions on cookie itself properties make it only on the host under the same domain effective, and distributed application system always can not guarantee that all hosts under the same domain. The current system does not store the note information in the client-side but placed various application parameters of the link directly. The note-verification is through the application of the SSO Client-side call to the corresponding interface of Web Service to complete.Through the Simple Object Access Protocol (SOAP) to provide software service in the Web, use WSDL file to illuminate and register by UDDI [3]. Shown in Fig 3, after the user through the application of UDDI to find a WSDL description of the document, he can call the application which through SOAP to provide by one or more operations of Web services. The biggest characteristic of Web Service is its cross-platform, whether it is the application of B/S structure or C/S structure, whether it is the application using J2EE or .NET to implement, it can access Web Service as long as to give Web Service server's I:P and interface name.The following is this system process of achieving cross-domain access:1)User log in Unified Portal system successfully.2)User accesses A application system within the trusted domain D1, complete the access and then exit this application.3)User clicks the URL of B application system within trusted domain D2 of the resources list of Unified Portal.4)SSO Client of B application intercepts the request, gets the note behind URL, and calls the query-note interface of Web Service.5)Query interface of Web Service gets back the legal information of this note to the SSO Client.6)SSO Client redirect to B application system, the user access B application.Figure 3: Web Service StructureC. The Solution of Single Sign-on between B/S and C/S StructuresAs we know, the implementation principles of applications are quite different between B/S and C/S structures. In this system, the applications of B/S structure can be accessed through by clicking URL of the application-resources-list page of Unified Portal. Since the browser security restrictions, the page does not allow users to directly call the local exe files, so need to adopt an indirect way to call C / S architecture applications. This article uses the way of Applet to call local exe files, the implementations as below:For all C/S structures, create a common Agent. This Agent's role is an interceptor, which means it need browsers to access after the C/S structure joined up Unified Portal system. (Please note that: Since the original B/S architecture and C/S structure is not using the same authentication method. For the C/S application access to the unified portal framework to achieve single sign-on system, the need for a unified authentication management, and in order to change the amount of compression to a minimum. Implementation of this system is to create a needless user name and password authentication code for all applications which are accessed a unified portal, and land on the unified portal system certified landing page. When a user uses browser to log into the unified portal system successfully and then can access any application, including the B/S architecture and C/S structure of the application. To be ensure the security of C/S application framework, when the user clicks directly to the desktop shortcut to open applications still using the original authentication.)Applications of C/S architecture are all using the same Applet of URL. The received parameters of this common Applet include bills, application name, unified login-name and password. When a user does not do the login operation before, the first visit a C/S application will be intercepted to the login-page of Unified Portal system for sign-on. If a user logged in before, when visiting a C/S application, this Agent will call the interface of Web Service note-validation to validate the note which was transferred. If the validation issuccessful, Applet object will be downloaded to the user's local to implement. In order to transform the original applications as little as possible, the method of this article is to open the login window of the corresponding application through by Applet. Below are the codes: public void OpenExe(String appName){ Runtime rn=Runtime.getRuntime();Process p=null;p=rn.exec(“c:\.” + appName + “.exe”);}After opening the log-in window of the application, the operation steps of this Applet as follows:1)Applet needs to call the bottom API of windows to get the user-name of login window, password-input box and the handle of login button through by JNI.2)Locate the user-name-input box to send unified login name. Locate password-input box to send the password. (Password information is arbitrary and in order to distinguish it from the user clicks on a shortcut directly landing system, also need to send a code that uses a unified portal access without a password authentication system.) Locate the login button to send the click event.3)At last, Applet will minimize the IE window, the related windows of applications will be placed to the forefront.These are the implementation process of C/S architecture application single sign-on. The application codes which have not been changed at all before will join up the Unified Portal system using a loosely coupled way. Need to explain that, due to the Applet JVM security restrictions, cause Applet can not directly call the user's System32 directory of local native windows dll. Now the method is first to start to use C or C + + to write the class which got the corresponding input box and button of the login window, and generate a JNIWindowUtil.dll file (JNIWindowUtil is a user-defined dll's name). And it is to place the dll in the same directory with the Applet. When the Applet is downloaded to the client side, dll is also downloaded to the user's System32 directory of local at the same time. Applet process also needs to execute statement: System.loadLibrary("JNIWindowUtil"). After completing these above steps, it can really use JNI in Applet internal to achieve the corresponding functions.D. Authentication serverThe old system user authentication information is usually stored in a database, but this architecture used LDAP to store user information. LDAP, short for Lightweight Directory Access Protocol, is the standard directory access protocol based on a simplified form. It also defines the way data organization; it is based on TCP/IP protocol of the de facto standard directory service, and has distributed information access and data manipulation functions. LDAP uses distributed directory information tree structure. It can organize and manage various users‟ information effectively and provide safe and efficient directory access.Compared with the database, LDAP is the application for reading operation more than writing operation, and database is known to support a large number of writing operations. LDAP supports a relatively simple transaction, but the database is designed to handle a large number of various transactions. When the query in Cross-domain data is mainly read data, modify the frequency is very low. When Cross-domain access to the transaction, it does not require a large load, so in comparison with the database, LDAP is the ideal choice. It is more effective and simple. This framework is applied to a large bank, the bank's systems can belong to different regions, and use of personnel may come from different geographies. In order to achieve distributed management, the use of three-level management, respectively named the Bank headquarter, Provincial and City branches of the three levels of branches, as shown in Fig 4:Figure 4: LDAP Authentication StructureDirectory replication and directory reference is the most important technology in LDAP protocol. It can be seen from the figure, Provincial and City branches of the LDAP server branch data are copied from the floor, but not a simple copy of all information, just copy the relevant data with their own information. Because for a particular application system, its users are mostly belong to the sameregion, so that implementation can greatly simplify the management of directory services and to improve the efficiency of information retrieval When a user outside the region to use this system, because of its user information in the region can not retrieve LDAP server, you need to other regions of the LDAP server to query, and therefore requires a way to use up the reference queries,first Provincial branches of the server search, without further reference to Bank headquarter of the server up until the search to the appropriate user information.The management of the regionalCitybranch, using the LDAP directory replicationmodel of Single Master/Multi Slave. When a directory user queries the directory information, Master LDAP Server and Slave LDAP Server (Slave server can have more than one) can provide services to the directory,depending on the directory user makes a request to which the directory server. When the user requests the directory update directory information, in order to ensure the Master LDAP Server and Slave LDAP Server in the same directory information content, the need for replication of directory information, thisis achieved through the LDAP Replica server data ing directory replication, when the directory number of users increases or the need to improve system performance, only simply add Slave LDAP server to the systemand then can immediatelyeffective in improving system performance,and the whole directory service system can have a good load balancing.E.Permissions Web ServerAccess Controltechnology began in the computer age of providing shared data. Previously, the way people use computers is mainly to submit the run-code written by user or run the user profile data. Users do not have much data sharing, and do not exist to control access to data. When computer comes into user's shared data, the subject of access control is nature to put on the desktop.Currently, the widely used access control models is using or reference to the early nineties of last century the rise of role-based access control model (Role-Based Access Control -RBAC). RBAC model's success is that it is inserted the "role" concept between the subject and object, decouples effectively between subject and the corresponding object (permission), and well adapts to the subject and object associated with the instability.RBAC model includes four basic elements, namely the user (User -U), roles (Roles -R), session (Session -S) and permission (Permission -P), also in the derived model also includes constraints (Constrains -C).The basic idea is to assign access rights to roles, and then the roles are assigned to users. In one session, users can gain the access rights through roles. The relationship between the elements:a user can have multiple roles, a role can be granted to multiple users; a role can have multiple permissions, a permission can be granted multiple roles;user can have multiple conversations, but a conversationis only to bind a user; a conversationcan have multiple roles, a role can share to multiple conversations at the same time; Constraints are that act on specific constraints on these relationships. As shown in Fig 5:This system is to use this very sophisticated permission access control model.Rights management, not only protects the safety of system, but also facilitates management. Currently most using the manner of code reuse and database structure reuse, rights management module is integrated into business systems.Such a framework has the following shortcomings.1)Once the permissions system has been modified, the maintenance costs will be very high.This is the general shortcoming of using code reuse and database structure reuse. Once revised, we will have to update the code in all business system and database structure, and also to ensure that existing data can smooth the transition.Some processes may require manual intervention, which is a "painful" thing for the developers and maintenance personnel.2)Did not facilitate management of Permission data.Need to enter permission management module of various business systems to manage the corresponding rights. It is complex operation, and not intuitive.3)For different architectures, different software operating environment, we must develop and maintain different permissions system. For example, B/S and C/S architecture system must each develop their own rights management system.This paper argues that most commonfunction of the permission system can abstracted from business systems to form an independent system -"unified rights system". Business system only retains the rights inquiries,read common data system and the control rights function of this system specific fine degree (such as menus, buttons, links and so on). As shown Fig 1.How to achieve a unified rights management? This paper argues that there are two implementations, one way is to use Web services to provide rights data; the other is using Mobile Agent to provided permissions data. However, the secondone run, maintenance costs are higher, and implement is more difficultythan Web services. So this architecture using Web services to provide authority data of the various systems in a unifiedway.Business system using Web services client interface to query data and obtain system privileges to share data. The client is just a port, and specific implementation code is placed in "unified rights system". These client interfaces introduced to the business system by package. If we keep the client interfaces unchanged, modify and upgrade of the unified authority system will not affect the business ers and permissions through Web pages of "unified rights system" to unify management and to achieve the user's single sign-on. The biggest advantage of Web services is the integration of data between heterogeneous systems. This breaks the restrictions of B/S, C/S structure;there is no difference between Windows and Linux platform.SYSTEM SECURITY ANALYSIS1)The interception of user name and password. The system for authentication of the user login and send the user name and password to Applet objects are used SSL protocol. And make sure that information during transmission confidentiality and integrity.Meanwhile, due to the key which is hard to get and time limited, so it can effectively prevent that intermediary attack tothe transmission of information.2)Replay attack. Many systems will use the ways of time stamp to avoid duplication attacks. However, this approach requires thecomputer clocks of communication parties to be synchronization. But it is difficult to achieve, while also appears the following situation: the two sides‟clocks which are connecting with each other, if they are out of synchronization occasionally, the correct information may be mistaken to discard for replay information, but the incorrect replay information may be as the latest one to receive. Base on the above, this system needs a simple method F of an appointment between query interfaces of Web Service provided and SSO Client of each application system or Agent.This system‟s parameter value is a random string X. The whole process of bill validation as shownin Fig6:a)When the user accesses to application system A, the SSO Client of system A intercept and call the query interface of Web Service provided, and the input parameters are a random string X and the corresponding note.b)Web Service server receives system A‟s call, intercepts note to compare with the note‟s informationof Session queue. If the queue contains the note, it will return the value of F(X) for showing validation is successful. If not, it will r eturn …failed‟ for showing validation is failed.c)SSO Client of the application A receives the return information of Web Service server, and then compares the return value with F(X) of this system. If the two are the same, it will redirect to system A, otherwise it will not be allowed to visit.The random string is different, which each interact with Web Service server. So you can limit replay attacks very well. 3)Use reverse proxy technology. Reverse proxy technologyis a substitute, which is a reverse proxy server as to N identical application servers. When external access to this application, it just knows the reverse proxy server and can not see the back multiple application servers. This improves the security of this application system.Through the above analysis, this system can provide users with a good safety Web environment.SYSTEM PERFORMANCE ANALYZESFirst, this system in addition to use SSL encryption in the transmission of user name and password, the interactions of between other servers and between user and servers are based on HTTP protocol to transmit. SSL encryption and decryption process requiresa lot of system cost, severely reduces the performance of the machine, so we should not be use this protocolto transmit data too much. Since the data which need to encrypt is small, only a userID value (note), so the performance of using MD5 to encrypt is quite satisfactory.Second, when user accessesany application system of each domain, they will be redirected to Unified Portal system for identity authentication, or directed to Web Service server for note validation. User need to sign on the system only when he is certification first time. When the visitor volume is larger, the user switch to the new application system will easily handle an interruption, which issingle sign-failure phenomenon. This phenomenon has two reasons, one is the server load is too large, the other one is network bandwidth is not enough. Among them, the method which is resolved the server load is too large is to use server cluster. Cluster is made up of multiple servers. As a unified resource, it provides a single system service to external. In this system, except for using reverse proxy technology to improve the security of accessing the applications, the more important is capability which can help to implement cluster technology of load balancing. The whole structure of reverse proxy is shown in Fig7:Fig7, reverse proxy server R provides the correspondinginterface to implement the algorithm of load balancing except for providing cache for the behind A1, A2 and A3 application. That is, it can consider the arrival request to distribute to the server which has the best performance through by scanning the conditions of CPU, memory and I/O of A1, A2, A3 server.By LoadRunner8.1, the use of reverse proxy system before and after was related to stress testing. The test results are shown in Fig 8:It can be seen from Figure 8,at the beginning, when the number of concurrent users is not large, use the reverse proxy and out of use proxy is similar. But with the gradual increase of concurrent users, the performance difference between the twois more and more evident.To 100 concurrent users to access,the system response time of using the reverse proxy is almost twice as fast as the one out of use proxy.System Web Service server needs to store the info rmation of note, so using Web Service server cluster to pay attention to this problem: the different Servers of cluster use different JVM, so an object of JVM can not be accessed by other JVM directly. For this problem, there are two methodsto resolve:1)Put the object in Session, and then configure cluster to the copy model of Session.2) Use Memcache, put the object in Memcache, and then all Server get this object from Memcache. To be equivalent to open a public memory area, which everyone can access.Any more, business system requires get rights information data through the Web services frequently. This performance of the system put forward higher requirements. The system has been taken two measures to improve performance:1)It receives a request by using time-sharing patterns of authority data server. After that, if always be calculated in real-time data, it will not certainly respond in time as the server limited resources. This will cause the system to slow down.A "time-sharing patterns of authority data" can solve this problem.When the system data changes (such as a new operation is authorized tothe role, etc), the system automatically calculates the affected user, and then re-calculate the relevant authority data, save to the specified fieldof database.When the business system requests data, only run "to read the database designated field corresponding to the specified data" such a simple action, you can greatly speed up the system response speed.2)Designed the cache structure to rely solely on time-sharing model is not enough to。
软件工程外文文献翻译

西安邮电学院毕业设计(论文)外文文献翻译院系:计算机学院专业:软件工程班级:软件0601学生姓名:导师姓名:职称:副教授起止时间:2010年3月8日至2010年6月11日ClassesOne 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 classSince 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 cleanupJava 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 hidingIf 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. inheritanceBoth 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 theembedded 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 keywordJava’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 keywordThe following sections discuss the three places where final can be used: for data, methods, and classes.➢Final dataMany 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 methodsThere 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 classesWhen 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 suchthat there is never a need to make any changes, or for safety or security reasons you don’t want subc lassingNote 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.➢SummaryBoth 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引人注目的一项特性是代码的重复使用或者再生。
软件工程本科毕业外文文献翻译资料

软件工程本科毕业外文文献翻译学校代码:10128本科毕业设计外文文献翻译二〇一五年一月The Test Library Management System ofFramework Based on SSHThe application system features in small or medium-sized enterprise lie in the greater flexibility and safety high performance-price ratio. Traditional J2EE framework can not adapt to these needs, but the system a pplication based on SSH(Struts+Spring+Hibernate) technology can better satisfy such needs. This paper analyses some integration theory and key technologies about SSH, and according to the integration constructs a lightweight WEB framework, which has integrated the three kinds of technology ,forming the lightweight WEB framework bas ed on SSH and gaining good effects in practical applications.IntroductionGenerally the J2EE platform[27] used in large enterprise applications, can well s olve the application of reliability, safety and stability, but its weakness is the price hig h and the constructing cycle is long. Corresponding to the small or medium enterprise applications, the replace approach is the system framework of lightweight WEB, inclu ding the more commonly used methods which are based on the Struts and Hibernate. With the wide application of Spring, the three technology combination may be a bette r choice as a lightweight WEB framework. It uses layered structure and provides a go od integrated framework for Web applications at all levels in minimizing the Interlaye r coupling and increasing the efficiency of development. This framework can solve a l ot of problems, with good maintainability and scalability. It can solve the separation o f user interface and business logic separation, the separation of business logic and data base operation and the correct procedure control logic, etc. This paper studies the tech nology and principle of Struts and Spring and Hibernate, presenting a proved lightwei ght WEB application framework for enterprise.Hierarchical Web MechanismHierarchical Web framework including the user presentation layer, business logi clayer, data persistence layer ,expansion layer etc, each layer for different function, re spectively to finish the whole application. The whole system are divided into differentlogic module with relatively independent and mutual, and each module can be imple mented according to different design. It can realize the system parallel development, r apid integration, good maintainability, scalability.Struts MVC FrameworkTo ensure the reuse and efficiency of development process, adopting J2EE techn ology to build the Web application must select a system framework which has a good performance . Only in this way can we ensure not wasting lots of time because of adju sting configuration and achieve application development efficiently and quickly. So, p rogrammers in the course of practice got some successful development pattern which proved practical, such as MVC and O/R mapping, etc; many technologies, including S truts and Hibernate frameworks, realized these pattern. However, Struts framework on ly settled the separation problem between view layer and business logic layer, control layer, did not provide a flexible support for complex data saving process. On the contr ary, Hibernate framework offered the powerful and flexible support for complex data saving process. Therefore, how to integrate two frameworks and get a flexible, low-coupling solutions project which is easy to maintain for information system, is a resea rch task which the engineering staff is studying constantly.Model-View-Controller (MVC) is a popular design pattern. It divides the interactive system in three components and each of them specializes in one task. The model contains the applica tion data and manages the core functionality. The visual display of the model and the f eedback to the users are managed by the view. The controller not only interprets the in puts from the user, but also dominates the model and the view to change appropriately . MVC separates the system functionality from the system interface so as to enhance t he system scalability and maintainability. Struts is a typical MVC frame[32], and it also contains the three aforementioned components. The model level is composed of J avaBean and EJB components. The controller is realized by action and ActionServlet, and the view layer consists of JSP files. The central controller controls the action exec ution that receives a request and redirects this request to the appropriate module contr oller. Subsequently, the module controller processes the request and returns results tothe central controller using a JavaBean object, which stores any object to be presented in the view layer by including an indication to module views that must be presented. The central controller redirects the returned JavaBean object to the main view that dis plays its information.Spring Framework technologySpring is a lightweight J2EE application development framework, which uses the model of Inversion of Control(IoC) to separate the actual application from the Config uration and dependent regulations of the application. Committed to J2EE application a t all levels of the solution, Spring is not attempting to replace the existing framework, but rather “welding” the object of J2EE application at all levels together through the P OJO management. In addition, developers are free to choose Spring framework for so me or all, since Spring modules are not totally dependent.As a major business-level detail, Spring employs the idea of delay injection to assemble code for the sake o f improving the scalability and flexibility of built systems. Thus, the systems achieve a centralized business processing and reduction of code reuse through the Spring AOP module.Hibernate Persistent FrameworkHibernate is a kind of open source framework with DAO design patterns to achie ve mapping(O/R Mapping) between object and relational database.During the Web system development, the tradition approach directly interacts wi th the database by JDBC .However, this method has not only heavy workload but also complex SQL codes of JDBC which need to revise because the business logic sli ghtly changes. So, whatever development or maintain system are inconvenient. Consi dering the large difference between the object-oriented relation of java and the structure of relational database, it is necessary to intro duce a direct mapping mechanism between the object and database, which this kind of mapping should use configuration files as soon as possibility, so that mapping files w ill need modifying rather than java source codes when the business logic changes in the future. Therefore, O/R mapping pattern emerges, which hibernate is one of the most outstanding realization of architecture.It encapsulates JDBC with lightweight , making Java programmer operate a relati onal database with the object oriented programming thinking. It is a a implementation technology in the lasting layer. Compared to other lasting layer technology such as JD BC, EJB, JDO, Hibernate is easy to grasp and more in line with the object-oriented programming thinking. Hibernate own a query language (HQL), which is full y object-oriented. The basic structure in its application as shown in figure6.1.Hibernate is a data persistence framework, and the core technology is the object / relational database mapping(ORM). Hibernate is generally considered as a bridge bet ween Java applications and the relational database, owing to providing durable data se rvices for applications and allowing developers to use an object-oriented approach to the management and manipulation of relational database. Further more, it furnishes an object-oriented query language-HQL.Responsible for the mapping between the major categories of Java and the relatio nal database, Hibernate is essentially a middle ware providing database services. It su pplies durable data services for applications by utilizing databases and several profiles , such as hibernate properties and XML Mapping etc..Web services technologiesThe introduction of annotations into Java EE 5 makes it simple to create sophisticated Web service endpoints and clients with less code and a shorter learning curve than was possible with earlier Java EE versions. Annotations — first introduced in Java SE 5 — are modifiers you can add to your code as metadata. They don't affect program semantics directly, but the compiler, development tools, and runtime libraries can process them to produce additional Java language source files, XML documents, or other artifacts and behavior that augment the code containing the annotations (see Resources). Later in the article, you'll see how you can easily turn a regular Java class into a Web service by adding simple annotations.Web application technologiesJava EE 5 welcomes two major pieces of front-end technology — JSF and JSTL — into the specification to join the existing JavaServer Pages and Servlet specifications. JSF is a set of APIs that enable a component-based approach to user-interface development. JSTL is a set of tag libraries that support embedding procedural logic, access to JavaBeans, SQL commands, localized formatting instructions, and XML processing in JSPs. The most recent releases of JSF, JSTL, and JSP support a unified expression language (EL) that allows these technologies to integrate more easily (see Resources).The cornerstone of Web services support in Java EE 5 is JAX-WS 2.0, which is a follow-on to JAX-RPC 1.1. Both of these technologies let you create RESTful and SOAP-based Web services without dealing directly with the tedium of XML processing and data binding inherent to Web services. Developers are free to continue using JAX-RPC (which is still required of Java EE 5 containers), but migrating to JAX-WS is strongly recommended. Newcomers to Java Web services might as well skip JAX-RPC and head right for JAX-WS. That said, it's good to know that both of them support SOAP 1.1 over HTTP 1.1 and so are fully compatible: a JAX-WS Web services client can access a JAX-RPC Web services endpoint, and vice versa.The advantages of JAX-WS over JAX-RPC are compelling. JAX-WS:•Supports the SOAP 1.2 standard (in addition to SOAP 1.1).•Supports XML over HTTP. You can bypass SOAP if you wish. (See the article "Use XML directly over HTTP for Web services (where appropriate)"for more information.)•Uses the Java Architecture for XML Binding (JAXB) for its data-mapping model. JAXB has complete support for XML schema and betterperformance (more on that in a moment).•Introduces a dynamic programming model for both server and client.The client model supports both a message-oriented and an asynchronous approach.•Supports Message Transmission Optimization Mechanism (MTOM), a W3C recommendation for optimizing the transmission and format of a SOAP message.•Upgrades Web services interoperability (WS-I) support. (It supports Basic Profile 1.1; JAX-WS supports only Basic Profile 1.0.)•Upgrades SOAP attachment support. (It uses the SOAP with Attachments API for Java [SAAJ] 1.3; JAX-WS supports only SAAJ 1.2.)•You can learn more about the differences by reading the article "JAX-RPC versus JAX-WS."The wsimport tool in JAX-WS automatically handles many of the mundane details of Web service development and integrates easily into a build processes in a cross-platform manner, freeing you to focus on the application logic that implements or uses a service. It generates artifacts such as services, service endpoint interfaces (SEIs), asynchronous response code, exceptions based on WSDL faults, and Java classes bound to schema types by JAXB.JAX-WS also enables high-performing Web services. See Resources for a link to an article ("Implementing High Performance Web Services Using JAX-WS 2.0") presenting a benchmark study of equivalent Web service implementations based on the new JAX-WS stack (which uses two other Web services features in Java EE 5 —JAXB and StAX) and a JAX-RPC stack available in J2EE 1.4. The study found 40% to 1000% performance increases with JAX-WS in various functional areas under different loads.ConclusionEach framework has its advantages and disadvantages .Lightweight J2EE struct ure integrates Struts and Hibernate and Spring technology, making full use the powerf ul data processing function of Struts and the management flexible of Spring and the m ature of Hibernate. According to the practice, putting forward an open-source solutions suitable for small or medium-sized enterprise application of. The application system based on this architecture tech nology development has interlayer loose coupling ,structure distinctly, short develop ment cycle, maintainability. In addition, combined with commercial project developm ent, the solution has achieved good effect. The lightweight framework makes the paral lel development and maintenance for commercial system convenience, and can push f orward become other industry business system development.Through research and practice, we can easily find that Struts / Spring / Hiberna te framework utilizes Struts maturity in the presentation layer, flexibility of Spring bu siness management and convenience of Hibernate in the serialization layer, three kind s of framework integrated into a whole so that the development and maintenance beca me more convenient and handy. This kind of approach also will play a key role if appl ying other business system. Of course ,how to optimize system performance, enhance the user's access speed, improve security ability of system framework ,all of these wor ks, are need to do for author in the further.基于SSH框架实现的试题库管理系统小型或者中型企业的应用系统具有非常好的灵活性、安全性以及高性价比,传统的J2EE架构满足不了这些需求,但是基于SSH框架实现的应用系统更好的满足了这样的需求,这篇文章分析了关于SSH的一体化理论和关键技术,通过这些集成形成了轻量级Web框架,在已经集成三种技术的基础上,伴随形成了基于SSH的轻量级Web 框架,并且在实际应用中有着重要作用。
(完整版)软件工程专业_毕业设计外文文献翻译_

(二〇一三年六月A HISTORICAL PERSPECTIVEFrom the earliest days of computers, storing and manipulating data 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; 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 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 Research 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 academic discipline, and the popularity of relational DBMSs changed thecommercial 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 management in a DBMS.In the late 1980s and the 1990s, advances made in many areas of database systems. Considerable research carried out into more powerful query languages and richer data models, and there 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) 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, 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 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 genome mapping effort and NASA’s Earth 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 DATABASEDESIGNLike 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 requirements about queries or updates must run or and users’ performance requirements are the basis on which a number of decisions .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 WORKLOADSThe 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 or join conditions expressed on them (in the WHERE clause) and the workload, we must identify:Which attributes or join conditions expressed on them (in the WHERE clause) and .For UPDATE commands, the fields that are modified by the update.Remember that queries and updates typically involves a particular account number. The values of these parameters determine selectivity of selection and join conditions.Updates benefit from a good physical design and the presence of indexes. On the other 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 TUNINGAccurate, detailed workload information may be of the system. Consequently, tuning a database after it 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 TUNINGAfter 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 possibleperformance.TUNING THE CONCEPTUAL SCHEMAIn 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 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 in use for a while. Once a database 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 toreplace 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 the technique of decomposition, which amounts to vertical partitioning of a relation. Another technique to consider is , which would lead to our ; 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 VIEWSIf we notice that a query is running much slower than we expected, we 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 condition involving null values.Selection conditions involving arithmetic or string expressions orconditions using the or connective. For example, if we 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.age2=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 order and join method. A user who wishes to guide optimization in this manner should and the capabilities of the given DBMS.(8)OTHER TOPICSMOBILE DATABASESThe availability of portable computers and wireless communications 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 proportion to IO and CPU costs.Users’ locati ons are constantly changing, and mobile computers 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 multipledatabase 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 ACID transactions and develop alternative notions of consistency for user programs.MAIN MEMORY DATABASESThe price of main memory is now low enough that we can buy enough main memory to CPUs also 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 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 out to make room for other pages.The implementation of in-memory operations 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 areno longer the unit of data retrieval), and clustering is not important (since the cost of accessing any region of main memory is uniform).(一)从历史的角度回顾从数据库的早期开始,存储和操纵数据就一直是主要的应用焦点。
计算机 软件工程 外文翻译 外文文献 英文文献

一、外文资料译文:Java开发2.0:使用Hibernate Shards 进行切分横向扩展的关系数据库Andrew Glover,作者兼开发人员,Beacon50摘要:Sharding并不适合所有网站,但它是一种能够满足大数据的需求方法。
对于一些商店来说,切分意味着可以保持一个受信任的RDBMS,同时不牺牲数据可伸缩性和系统性能。
在Java 开发 2.0系列的这一部分中,您可以了解到切分何时起作用,以及何时不起作用,然后开始着手对一个可以处理数TB 数据的简单应用程序进行切分。
日期:2010年8月31日级别:中级PDF格式:A4和信(64KB的15页)取得Adobe®Reader®软件当关系数据库试图在一个单一表中存储数TB 的数据时,总体性能通常会降低。
索引所有的数据读取,显然是很耗时的,而且其中有可能是写入,也可能是读出。
因为NoSQL 数据商店尤其适合存储大型数据,但是NoSQL 是一种非关系数据库方法。
对于倾向于使用ACID-ity 和实体结构关系数据库的开发人员及需要这种结构的项目来说,切分是一个令人振奋的选方法。
切分一个数据库分区的分支,不是在本机上的数据库技术,它发生在应用场面上。
在各种切分实现,Hibernate Shards 可能是Java™ 技术世界中最流行的。
这个漂亮的项目可以让您使用映射至逻辑数据库的POJO 对切分数据集进行几乎无缝操作。
当你使用Hibernate Shards 时,您不需要将你的POJO 特别映射至切分。
您可以像使用Hibernate 方法对任何常见关系数据库进行映射时一样对其进行映射。
Hibernate Shards 可以为您管理低级别的切分任务。
迄今为止,在这个系列,我用一个比赛和参赛者类推关系的简单域表现出不同的数据存储技术比喻为基础。
这个月,我将使用这个熟悉的例子,介绍一个实际的切分策略,然后在Hibernate实现它的碎片。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
中英文对照外文翻译(文档含英文原文和中文翻译)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编程语言开发。