软件工程外文翻译
软件工程(外文翻译文献)
外文文献资料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、软件工程软件是指令的序列,该指令序列由一种或者多种程序语言编写,它能使计算机应用于某些事物的运用自动化。
软件工程毕业论文文献翻译中英文对照
软件工程毕业论文文献翻译中英文对照学生毕业设计(论文)外文译文学生姓名: 学号专业名称:软件工程译文标题(中英文):Qt Creator白皮书(Qt Creator Whitepaper)译文出处:Qt network 指导教师审阅签名: 外文译文正文:Qt Creator白皮书Qt Creator是一个完整的集成开发环境(IDE),用于创建Qt应用程序框架的应用。
Qt是专为应用程序和用户界面,一次开发和部署跨多个桌面和移动操作系统。
本文提供了一个推出的Qt Creator和提供Qt开发人员在应用开发生命周期的特点。
Qt Creator的简介Qt Creator的主要优点之一是它允许一个开发团队共享一个项目不同的开发平台(微软Windows?的Mac OS X?和Linux?)共同为开发和调试工具。
Qt Creator的主要目标是满足Qt开发人员正在寻找简单,易用性,生产力,可扩展性和开放的发展需要,而旨在降低进入新来乍到Qt的屏障。
Qt Creator 的主要功能,让开发商完成以下任务: , 快速,轻松地开始使用Qt应用开发项目向导,快速访问最近的项目和会议。
, 设计Qt物件为基础的应用与集成的编辑器的用户界面,Qt Designer中。
, 开发与应用的先进的C + +代码编辑器,提供新的强大的功能完成的代码片段,重构代码,查看文件的轮廓(即,象征着一个文件层次)。
, 建立,运行和部署Qt项目,目标多个桌面和移动平台,如微软Windows,Mac OS X中,Linux的,诺基亚的MeeGo,和Maemo。
, GNU和CDB使用Qt类结构的认识,增加了图形用户界面的调试器的调试。
, 使用代码分析工具,以检查你的应用程序中的内存管理问题。
, 应用程序部署到移动设备的MeeGo,为Symbian和Maemo设备创建应用程序安装包,可以在Ovi商店和其他渠道发布的。
, 轻松地访问信息集成的上下文敏感的Qt帮助系统。
软件工程(中英对照课件精品)第九章
Techniques used in system testing系统测试使用的技术
Build or spin plan for gradual testing构建或螺 旋化渐进测试计划 Configuration management配置管理
versions and releases版本和发布 production system vs. development system产 品系统与开发系统 deltas, separate files and conditional compilation差别文件、单独文件和条件编译 change control变动控制
Separate the requirement into five ―cause‖这些需求分成5 种“原因” 1. 函数名为 “LEVEL‖ 2. 参数体“(A, B)‖ 3. 函数值= LOW 4. 函数值= SAFE 5. 函数值= HIGH Three ―effects‖三种“结果” 1. 显示 “LEVEL = SAFE‖ 2. 显示 “LEVEL = HIGH‖ 3. 显示 “INVALID SYNTAX‖ 为函数体的语法检查增加两个中间节点 1. The command is syntactically valid命令是合法的 2. The operands are syntactically valid操作数是合法的
Function testing功能测试: does the integrated system perform as promised by the requirements specification系统能按需求规格说 明的要求运行吗? Performance testing性能测试: are the nonfunctional requirements met是需求说明中的非 功能需求? Acceptance testing验收测试: is the system what the customer expects是客户所希望的系 统? Installation testing安装测试: does the system run at the customer site(s)系统能运行在客户的 环境吗?
软件工程专业外文翻译
软件工程专业外文翻译英文原文SSH is Spring + struts + Hibernate an integration framework, is one of the more popular a Web application framework・SpringLight weight 一一from two aspects in terms of size and cost of the Spring are lightweight・A complete Spring framework can in one size only1MB multiple JAR files released .And Spring required processing overhead is not worth mentioning・Inversion of control 一一Spring through a known as inversion of control (IoC) technology promotes loose coupling .When using IoC, an object depend on other objects will be passed in through passive way, but not the object of its own to create or find a dependent object .You can think of IoC and JNDI instead 一一not the object from the container for dependent, but in different container object is initialized object request on own initiative will rely on to it.Aspect oriented programming 一一Spring provides rich support, allowed by separating the application's business logic and system level service cohesiondevelopment .Application object only realize they should do 一一complete business logic・ They are not responsible for other system level concerns.Container 一一Spring contains and management application object configuration and life cycle, in this sense, it is a kind of container, you can configure each of your bean to be created 一一Based on a reconfigurable prototype (prototype), your bean can create a single instance or every time when they are needed to generate a new examples 一一and how they are interrelated・ However, Spring should not be confused with the traditional heavyweight EJB container, they are often large and unwieldy, difficult to use・ StrutsStruts on Model, View and Controller are provided with the corresponding components・ActionServlet, this is Struts core controller, responsible for intercepting the request from the user・Action, this class is typically provided by the user, the controller receives from the ActionServlet request, and according to the request tocall the model business logic method to processing the request, and the results will be returned to the JSP page display.54Part ModelBy ActionForm and JavaBean, where ActionForm used to package the user the request parameters, packaged into a ActionForm object, the object to be forwarded to the Action ActionServlet Action ActionFrom, according to which the request parameters processing a user request・JavaBean encapsulates the underlying business logic, including database access・ Part ViewThis section is implemented by JSP・Struts provides a rich library of tags, tag library can be reduced through the use of the script, a custom tag library can be achieved with Model effective interaction, and increased practical function.The Controller componentThe Controller component is composed of two parts 一一the core of the system controller, the business logic controller・System core controller, the corresponding ActionServlet.The controller is provided with the Struts framework, HttpServlet class inheritance, so it can be configured to mark Servlet .The controller is responsible for all HTTP requests, and then according to the user request to decide whether or not to transfer to business logic controller・ Business logic controller, responsible for processing a user request, itself does not have the processing power, it calls the Model to complete the dea1. The corresponding Action part・HibernateHibernate is an open source object relation mapping framework, it had a very lightweight JDBC object package, makes Java programmers can usearbitrary objects to manipulate database programming thinking .Hibernate can be applied in any use of JDBC occasions, can be in the Java client programto use, also can be in Servlet / JSP Web applications, the most revolutionary, Hibernate can be applied in theEJB J2EE schema to replace CMP, complete data persistence.The core of Hibernate interface has a total of 5, are: Session, SessionFactory, Query, Transaction and Configuration. The 5 core interface in any development will be used in. Through these interfaces, not only can the persistent object access, but also to carry out a transaction control.55中文翻译SSH为spring+ struts+ hibernate的一个集成框架,是忖前较流行的一种Web应用程序开源框架。
软件工程外文文献翻译
西安邮电学院毕业设计(论文)外文文献翻译院系:计算机学院专业:软件工程班级:软件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引人注目的一项特性是代码的重复使用或者再生。
软件工程专业外文翻译--VB的数据库编程分析
外文原文ANALYSIS OF DATABASE PROGRAMMING IN VB VB (Visual Basic) is a visualization programming environment that Microsoft Corporation promotes based on the Basic language.It is simple and easy to study.It has formidable function so that many computer amateurs really like it.A lot of application softwares all use VB as the software development platform.When we use VB to develop the application software,how to use the database and carry on the management of the database is concerned by all exploiters.VB has provided many tools and methods for database programming.What method is used to visit the database depends on users’different demands,a simple analysis of the VB database programming is explained as followings.1.DAO TechnologyBy using Microsoft company’s Jet Database Engine (Jet database engine),DAO (Data Access Object) the technology mainly provides visit to ISAM (smooth index search method) type database,such as the realization of the visit to database like FoxPro,Access, Dbase.1.1 Use Data ControlsData controls are produced by using “Data” button in the toolbox.It has 3 basic attributes:Connect,Database Name and RecordSource.Connect attribute specifys the database type that data controls visit,the default database is the Access database.The value of the Database Name attribute is the database filename which contains the complete path.The Record Source attribute is the recordset that we visit,also can be tables or SQL sentences.If we will visit table stud of database file teacher mdb of TEMP folder under D plate,then Data controls’s Connect attribute is null,and the Database Name attribute is “D: \temp \ teacher mdb”,the value of the Record Source attribute is “stud”.This can accomplish the binding between Data controls and database records. Through the methods of Data controls like Add new,Update,Delete, Move last,we can visit the database as every request.When we browse the content in database,Data controlls is used frequently with DBGrid,it provides data inquiry in grid way.1.2 Use DAO Object StorehouseThe model of the DAO object storehouse is mainly using hierarchical structure, Dentine is the object in the topmost story,below it are two object sets,Errors and workspace, under the workspace object,is the Databases set.When the applicationprocedure quotes the DAO object storehouse,it produces only a Dentine object,and produces a default automatical working space object named workspace.When not mentioned,all database operations are all work in workspace(0),which is a default work area.But we must pay attention:The Jet engine will not starts automatically after VB has been loaded. Only when we choose References in the menu of Project can we select Microsoft DAO 3.5 Object Library to use.We create databases with the method “Create Database” in DAO,use “CreateTable” method to bulid tables,use the “Open Database ” to open the database ,use “Open recordset”method to open recordset,use Add new,Update,Delete,Move first,Edit methods to realize each kind of operations about tables.2.RDO TechnologyRDO provides a connection to related ODBC data pool.When we need to visit other databases like SQL Server,Oracle,especially to establish the customer/server application procedure,we may use the long range data controls RDC (Remote Data Control) and long range data objects RDO (Remote Data Control) to realize the visit to the database through the ODBC driver.By using ODBC to visit some database we must first install the corresponding drivers,like establish a data pool,through assigned data pool to visit corresponding database.To establish the ODBC data pool is open the window of “the control panel”, double-clicks the icon of ODBC executive program,single-click “Add” butt on to create the data pool of the opening ODBC data pool supervisor dialog box,and choose corresponding database.2.1 Use RDC ControlsSimilar to the use of DATA Controls, we use Data source name attributes to assign the data source name that controls bind,and we use SQL attributes to assign the recordset, The difference is that,we have to use the SQL sentences to assign the SQL attribute in RDC Controls . When we browse the database we may find it is used with DBGrid frequently.2.2 Use RDO Object StorehouseBefore we use RDO object,we should choose References in the menu of Project, click”Microsoft Remote Data Object 2.0”,then we can continue.The step we use RDO to visit the ODBC data pool is:(1) Set a RDO environment object.(2) Open an ODBC data pool with the method of Open connection.(3) Establish a result object with the method of Open Result set.(4) Use assigned method to operate the records of resultset.After founds the as this result collection object,is similar with the DAO object storehouse use,may through transfer method realizations and so on its Add new,Update, Delete visit to assign the data pool each kind of request.3.ADO TechnologyADO (ActiveX Data Objects) is the latest data access technology of Microsoft,It uses data accessing connection UDA (Universal Data Access),to standard all datas as a kind of data pool,through the filtration of OLEDB connection,transforms as a kind of general data format in the same way,enables the application procedure to visit this kind of datas.OLEDB is an underlying level of the data accessing connection,with it we may visit kinds of data pools,including traditional related databases,as well as electronic mail system and self-definition commercial object.3.1 Use ADO ControlsSingle-click the Components command in the menu of the Project,select “Microsoft ADO Data Control in the Components dialog box 6.0 (OLE DB)”,we may add ADO controls to the box of controls.We set the OLEDB Provider and assigned database file by setting the Connection string attribute of ADO,and we set the Record Source attribute as record source that ADO connected.Similar to DAO and RDO, with it, we are able to visit all kinds of database fastly.3.2 Use The ADO Object StorehouseSingle click the References orders in the Project menu, select “Microsoft ActiveX Data Objects 2.0 Library” in the References dialog box, you may add ADO object.Old object models, like DAO and RDO, are look like levels,a lower data object like Recordset is the sub-object of higher level objects like Environment and the Queried. But ADO is actually different, it defined a group of plane top object, the most importantADO objects are Connection, Recordset and Command.The Connection object is used to establish the connection of application procedure and the data pool.The Command object is used in defining a SQL sentence, a memory process or other commands that operates the datas.Recordset object preserves recordsets after executions.By using alternative means of the recordset object, we can modify,delete and inquire the recordset.4 ConclusionsVB provides many methods to accomplish the operation to the database, in which DAO mainly finish the visit to ISAM database, RDO provides connection to the ODBC data pool, both RDO and DAO have developed as matured technology.Before VB 6.0 ,the main technology is about database visit, however,the Active Data Objects(ADO) ,as new generation of database interface which is promoted by Microsoft, is designed to work with new data accessing level OLEDB, so that it provides general data accessing (Universal Data Access), it provides quite a lot advantages to the programmers, including easy use, the familiar contact surface, high velocity ,as well as the lower memory. As a result of above reasons, ADO will gradually replace other data accessing connections, and will becomes the fundamental mode of the VB of visit database.中文译文VB的数据库编程分析VB(Visual Basic)是微软公司推出的基于Basic语言的可视化编程环境,以其简单易学、功能强大而倍受广大电脑爱好者的青睐。
(完整)软件工程专业英语
软件工程英语文档:Documents软件工具:Software Tools工具箱:Tool Box集成工具:Integrated Tool软件工程环境:Software Engineering Environment传统:Conventional经典:Classical解空间:Solution Domain问题空间:Problem Domain清晰第一,效率第二Clarity the first,Efficiency the next。
设计先于编码Design before coding使程序的结构适合于问题的结构Make the program fit the problem开发伴随复用,开发为了复用Development with reuse, Development for reuse。
靠度量来管理:Management by Measurement软件度量学:Software Metrics软件经济学:Software Economics软件计划WHY软件分析WHAT软件实现HOW软件生存周期过程的开发标准Standard for Developing Software Life Cycle Process软件开发模型:Software Development Model编码员:Coder瀑布模型:Waterfall Model快速原型模型:Rapid Prototype Model 增量模型:Incremental Model线性思维:Linear Thinking演化模型:Evolutionary Model螺旋模型:Spiral Model对象:Object类:Class继承:Inheritance聚集:Aggregation消息:Message面向对象=对象Object+分类Classification+继承Inheritance+消息通信Communication with Messages 构件集成模型:Component Integration Model转换模型:Transformational Model净室软件工程:Cleanroom Software Engineering净室模型:Cleanroom Model软件需求规格说明书:Software Requirement Specification ,SRS分析模型:Analysis Model便利的应用规约技术:Facilitated Application Specification Techniques ,FAST结构化语言:Structured Language判定树:Decision Tree基数:Cardinality事件轨迹:Event Trace对象-关系Object—Relationsship结构化分析:SA(Structured Analysis)由顶向下,逐步细化Top-Down Stepwise Refinement面向对象分析:Object-Oriented Analysis包含:Contains临近:Is Next To传到:Transmits to来自:Acquires from管理:Manages 控制:Controls组成:Is Composed of细化:Refinement抽象:Abstraction模块:Module策略:Strategy信息隐藏:Information Hiding数据封装:Data Encapsulation抽象数据类型:Abstract Data type模块化设计:Modular Design分解:Decomposition模块性:Modularity单模块软件:Monolithic Software模块独立性:Module Independence内聚:Cohesion偶然性内聚:Coincidental Cohesion逻辑性内聚:Logical Cohesion时间性内聚:Temporal Cohesion过程性内聚: Procedural Cohesion通信性内聚:Communicational Cohesion顺序性内聚:Sequential Cohesion功能性内聚:Functional Cohesion非直接偶合:No Direct Coupling数据偶合:Data Coupling特征偶合:Stamp Coupling控制偶合:Control Coupling外部偶合:External Coupling公共偶合:Common Coupling内容偶合: Content Coupling由底向上设计:Bottom-Up Design自顶向下设计:Top-Down Design正式复审:Formal Review非正式复审:Informal Review走查,排练:Walk-Through会审:Inspection映射:Mapping传入路径:Afferent path传出路径:Efferent path变换中心:Transform Center接受路径:Reception path动作路径:Action path事务中心:Transaction Center分支分解:Factoring of Brandches瓮形:oval-shaped一个模块的控制域:Scope of Control 一个模块的作用域:Scope of Effect 结构化程序设计:Structured Programming通心面程序:Bowl of Spaghetti流程图:Flow Diagram编码:Coding方框图:Block DiagramPDL (Pidgin):Program Design Language伪代码:Pseudo CodeJSD:Jackson System Development对象建模技术:Object Modeling Technique基础设施:Infrastructure控制线程:Thread of Control保护者对象:Guardian Object协议:protocolUML:Unified Modeling Language OMG:Object Management Group统一方法:Unified Method关联:Association泛化:Generalization依赖:Dependency结点:Node接口:Interface包:Package注释: Note特化:Specialization元元模型:Meta—Meta Model用户模型:User Model静态图:Static Diagram动态图:Dynamic Diagram用例视图:Use Case View逻辑视图:Logical View并发视图:Concurrent View构件视图:Component View实现模型视图:Implementation Model View部署视图:Deployment View航向:Navigability重数:Multiplicity共享聚集:Shared Aggregation组合:Composition泛化:Generalization简单消息:Simple Message同步消息:Synchronous Message异步消息:Asynchronous Message事件说明:Event_Signature守卫条件:Guard_Condition动作表达式:Action_Expression 发送子句:Send_Clause时序图:Sequence Diagram协作图:Collaboration Diagram前缀:Predecessor循环子句:Iteration-Clause活动图:Activity Diagram构件图:Component Diagram配置图:Deployment Diagram建模过程指导(RUP):Rational Unified Process可执行代码:Executalbe Codes实现:Implementation编码风格:Coding Style标准:Classical控制流的直线性:Linearity of Control Flow程序风格设计要素:先求正确后求快 Make it right before you make it faster.先求清楚后求快 Make it clear before you make it faster.求快不忘保持程序正确 Keep it right when you make it faster.保持程序简单以求快 Keep it simpleto make it faster。
软件工程外文翻译文献
软件工程外文翻译文献(文档含中英文对照即英文原文和中文翻译)Software engineeringSoftware engineering is the study of the use of engineering methods to build and maintain effective, practical and high-quality software disciplines. It involves the programming language, database, software development tools, system platform, standards, design patterns and so on.In modern society, the software used in many ways. Typical software such as email, embedded systems, human-machine interface, office packages, operating systems, compilers, databases, games. Meanwhile, almost all the various sectors of computer software applications, such as industry, agriculture, banking, aviation and government departments. These applications facilitate the economic and social development,improve people's working efficiency, while improving the quality of life. Software engineers is to create software applications of people collectively, according to which software engineers can be divided into different areas of system analysts, software designers, system architects, programmers, testers and so on. It is also often used to refer to a variety of software engineers, programmers.OriginIn view of difficulties encountered in software development, North Atlantic Treaty Organization (NATO) in 1968 organized the first Conference on Software Engineering, and will be presented at the "software engineering" to define the knowledge required for software development, and suggested that "software development the activities of similar projects should be. " Software Engineering has formally proposed since 1968, this time to accumulate a large number of research results, widely lot of technical practice, academia and industry through the joint efforts of software engineering is gradually developing into a professional discipline.Definitioncreation and use of sound engineering principles in order to obtain reliable and economically efficient software.application of systematic, follow the principle can be measured approach to development, operation and maintenance of software; that is to beapplied to software engineering.The development, management and updating software products related to theories, methods and tools.A knowledge or discipline (discipline), aims to produce good quality, punctual delivery, within budget and meet users need software.the practical application of scientific knowledge in the design, build computer programs, and the accompanying documents produced, and the subsequent operation and maintenance.Use systematic production and maintenance of software products related to technology and management expertise to enable software development and changes in the limited time and under cost.Construction team of engineers developed the knowledge of large software systems disciplines.the software analysis, design, implementation and maintenance of a systematic method.the systematic application of tools and techniques in the development of computer-based applications.Software Engineering and Computer ScienceSoftware development in the end is a science or an engineering, this is a question to be debated for a long time. In fact, both the two characteristics of software development. But this does not mean that they can be confused with each other. Many people think that softwareengineering, computer science and information science-based as in the traditional sense of the physical and chemical engineering as. In the U.S., about 40% of software engineers with a degree in computer science. Elsewhere in the world, this ratio is also similar. They will not necessarily use every day knowledge of computer science, but every day they use the software engineering knowledge.For example, Peter McBreen that software "engineering" means higher degree of rigor and proven processes, not suitable for all types of software development stage. Peter McBreen in the book "Software Craftsmanship: The New Imperative" put forward the so-called "craftsmanship" of the argument, consider that a key factor in the success of software development, is to develop the skills, not "manufacturing" software process.Software engineering and computer programmingSoftware engineering exists in a variety of applications exist in all aspects of software development. The program design typically include program design and coding of the iterative process, it is a stage of software development.Software engineering, software project seeks to provide guidance in all aspects, from feasibility analysis software until the software after completion of maintenance work. Software engineering that software development and marketing activities are closely related. Such assoftware sales, user training, hardware and software associated with installation. Software engineering methodology that should not be an independent programmer from the team and to develop, and the program of preparation can not be divorced from the software requirements, design, and customer interests.Software engineering design of industrial development is the embodiment of a computer program.Software crisisSoftware engineering, rooted in the 20th century to the rise of 60,70 and 80 years of software crisis. At that time, many of the software have been a tragic final outcome. Many of the software development time significantly beyond the planned schedule. Some projects led to the loss of property, and even some of the software led to casualties. While software developers have found it increasingly difficult for software development.OS 360 operating system is considered to be a typical case. Until now, it is still used in the IBM360 series host. This experience for decades, even extremely complex software projects do not have a set of programs included in the original design of work systems. OS 360 is the first large software project, which uses about 1,000 programmers. Fred Brooks in his subsequent masterpiece, "The Mythical Man Month" (The Mythical Man-Month) in the once admitted that in his management of theproject, he made a million dollar mistake.Property losses: software error may result in significant property damage. European Ariane rocket explosion is one of the most painful lesson.Casualties: As computer software is widely used, including hospitals and other industries closely related to life. Therefore, the software error might also result in personal injury or death.Was used extensively in software engineering is the Therac-25 case of accidents. In 1985 between June and January 1987, six known medical errors from the Therac-25 to exceed the dose leads to death or severe radiation burns.In industry, some embedded systems do not lead to the normal operation of the machine, which will push some people into the woods. MethodologyThere are many ways software engineering aspects of meaning. Including project management, analysis, design, program preparation, testing and quality control.Software design methods can be distinguished as the heavyweight and lightweight methods. Heavyweight methods produce large amounts of official documentation.Heavyweight development methodologies, including the famous ISO 9000, CMM, and the Unified Process (RUP).Lightweight development process is not an official document of the large number of requirements. Lightweight methods, including well-known Extreme Programming (XP) and agile process (Agile Processes).According to the "new methodology" in this article, heavyweight method presented is a "defensive" posture. In the application of the "heavyweight methods" software organizations, due to a software project manager with little or no involvement in program design, can not grasp the item from the details of the progress of the project which will have a "fear", constantly had to ask the programmer to write a lot of "software development documentation." The lightweight methods are presented "aggressive" attitude, which is from the XP method is particularly emphasized four criteria - "communication, simplicity, feedback and courage" to be reflected on. There are some people that the "heavyweight method" is suitable for large software team (dozens or more) use, and "lightweight methods" for small software team (a few people, a dozen people) to use. Of course, on the heavyweight and lightweight method of approach has many advantages and disadvantages of debate, and various methods are constantly evolving.Some methodologists think that people should be strictly followed in the development and implementation of these methods. But some people do not have the conditions to implement these methods. In fact, themethod by which software development depends on many factors, but subject to environmental constraints.Software development processSoftware development process, with the subsequent development of technology evolution and improvement. From the early waterfall (Waterfall) development model to the subsequent emergence of the spiral iterative (Spiral) development, which recently began the rise of agile development methodologies (Agile), they showed a different era in the development process for software industry different awareness and understanding of different types of projects for the method.Note distinction between software development process and software process improvement important difference between. Such as ISO 15504, ISO 9000, CMM, CMMI such terms are elaborated in the framework of software process improvement, they provide a series of standards and policies to guide software organizations how to improve the quality of the software development process, the ability of software organizations, and not give a specific definition of the development process.Development of software engineering"Agile Development" (Agile Development) is considered an important software engineering development. It stressed that software development should be able to possible future changes and uncertaintiesof a comprehensive response.Agile development is considered a "lightweight" approach. In the lightweight approach should be the most prestigious "Extreme Programming" (Extreme Programming, referred to as XP).Correspond with the lightweight approach is the "heavyweight method" exists. Heavyweight approach emphasizes the development process as the center, rather than people-centered. Examples of methods such as heavyweight CMM / PSP / TSP.Aspect-oriented programming (Aspect Oriented Programming, referred to as the AOP) is considered to software engineering in recent years, another important development. This aspect refers to the completion of a function of a collection of objects and functions. In this regard the contents related to generic programming (Generic Programming) and templates.软件工程软件工程是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。
软件工程专业毕业设计外文文献翻译
软件工程专业毕业设计外文文献翻译1000字本文将就软件工程专业毕业设计的外文文献进行翻译,能够为相关考生提供一定的参考。
外文文献1: Software Engineering Practices in Industry: A Case StudyAbstractThis paper reports a case study of software engineering practices in industry. The study was conducted with a large US software development company that produces software for aerospace and medical applications. The study investigated the company’s software development process, practices, and techniques that lead to the production of quality software. The software engineering practices were identified through a survey questionnaire and a series of interviews with the company’s software development managers, software engineers, and testers. The research found that the company has a well-defined software development process, which is based on the Capability Maturity Model Integration (CMMI). The company follows a set of software engineering practices that ensure quality, reliability, and maintainability of the software products. The findings of this study provide a valuable insight into the software engineering practices used in industry and can be used to guide software engineering education and practice in academia.IntroductionSoftware engineering is the discipline of designing, developing, testing, and maintaining software products. There are a number of software engineering practices that are used in industry to ensure that software products are of high quality, reliable, and maintainable. These practices include software development processes, software configuration management, software testing, requirements engineering, and project management. Software engineeringpractices have evolved over the years as a result of the growth of the software industry and the increasing demands for high-quality software products. The software industry has developed a number of software development models, such as the Capability Maturity Model Integration (CMMI), which provides a framework for software development organizations to improve their software development processes and practices.This paper reports a case study of software engineering practices in industry. The study was conducted with a large US software development company that produces software for aerospace and medical applications. The objective of the study was to identify the software engineering practices used by the company and to investigate how these practices contribute to the production of quality software.Research MethodologyThe case study was conducted with a large US software development company that produces software for aerospace and medical applications. The study was conducted over a period of six months, during which a survey questionnaire was administered to the company’s software development managers, software engineers, and testers. In addition, a series of interviews were conducted with the company’s software development managers, software engineers, and testers to gain a deeper understanding of the software engineering practices used by the company. The survey questionnaire and the interview questions were designed to investigate the software engineering practices used by the company in relation to software development processes, software configuration management, software testing, requirements engineering, and project management.FindingsThe research found that the company has a well-defined software development process, which is based on the Capability Maturity Model Integration (CMMI). The company’s software development process consists of five levels of maturity, starting with an ad hoc process (Level 1) and progressing to a fully defined and optimized process (Level 5). The company has achieved Level 3 maturity in its software development process. The company follows a set of software engineering practices that ensure quality, reliability, and maintainability of the software products. The software engineering practices used by the company include:Software Configuration Management (SCM): The company uses SCM tools to manage software code, documentation, and other artifacts. The company follows a branching and merging strategy to manage changes to the software code.Software Testing: The company has adopted a formal testing approach that includes unit testing, integration testing, system testing, and acceptance testing. The testing process is automated where possible, and the company uses a range of testing tools.Requirements Engineering: The company has a well-defined requirements engineering process, which includes requirements capture, analysis, specification, and validation. The company uses a range of tools, including use case modeling, to capture and analyze requirements.Project Management: The company has a well-defined project management process that includes project planning, scheduling, monitoring, and control. The company uses a range of tools to support project management, including project management software, which is used to track project progress.ConclusionThis paper has reported a case study of software engineering practices in industry. The study was conducted with a large US software development company that produces software for aerospace and medical applications. The study investigated the company’s software development process,practices, and techniques that lead to the production of quality software. The research found that the company has a well-defined software development process, which is based on the Capability Maturity Model Integration (CMMI). The company uses a set of software engineering practices that ensure quality, reliability, and maintainability of the software products. The findings of this study provide a valuable insight into the software engineering practices used in industry and can be used to guide software engineering education and practice in academia.外文文献2: Agile Software Development: Principles, Patterns, and PracticesAbstractAgile software development is a set of values, principles, and practices for developing software. The Agile Manifesto represents the values and principles of the agile approach. The manifesto emphasizes the importance of individuals and interactions, working software, customer collaboration, and responding to change. Agile software development practices include iterative development, test-driven development, continuous integration, and frequent releases. This paper presents an overview of agile software development, including its principles, patterns, and practices. The paper also discusses the benefits and challenges of agile software development.IntroductionAgile software development is a set of values, principles, and practices for developing software. Agile software development is based on the Agile Manifesto, which represents the values and principles of the agile approach. The manifesto emphasizes the importance of individuals and interactions, working software, customer collaboration, and responding to change. Agile software development practices include iterative development, test-driven development, continuous integration, and frequent releases.Agile Software Development PrinciplesAgile software development is based on a set of principles. These principles are:Customer satisfaction through early and continuous delivery of useful software.Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage.Deliver working software frequently, with a preference for the shorter timescale.Collaboration between the business stakeholders and developers throughout the project.Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.Working software is the primary measure of progress.Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.Continuous attention to technical excellence and good design enhances agility.Simplicity – the art of maximizing the amount of work not done – is essential.The best architectures, requirements, and designs emerge from self-organizing teams.Agile Software Development PatternsAgile software development patterns are reusable solutions to common software development problems. The following are some typical agile software development patterns:The Single Responsibility Principle (SRP)The Open/Closed Principle (OCP)The Liskov Substitution Principle (LSP)The Dependency Inversion Principle (DIP)The Interface Segregation Principle (ISP)The Model-View-Controller (MVC) PatternThe Observer PatternThe Strategy PatternThe Factory Method PatternAgile Software Development PracticesAgile software development practices are a set ofactivities and techniques used in agile software development. The following are some typical agile software development practices:Iterative DevelopmentTest-Driven Development (TDD)Continuous IntegrationRefactoringPair ProgrammingAgile Software Development Benefits and ChallengesAgile software development has many benefits, including:Increased customer satisfactionIncreased qualityIncreased productivityIncreased flexibilityIncreased visibilityReduced riskAgile software development also has some challenges, including:Requires discipline and trainingRequires an experienced teamRequires good communicationRequires a supportive management cultureConclusionAgile software development is a set of values, principles, and practices for developing software. Agile software development is based on the Agile Manifesto, which represents the values and principles of the agile approach. Agile software development practices include iterative development, test-driven development, continuous integration, and frequent releases. Agile software development has many benefits, including increased customer satisfaction, increased quality, increased productivity, increased flexibility, increased visibility, and reduced risk. Agile software development also has some challenges, including the requirement for discipline and training, the requirement for an experienced team, the requirement for good communication, and the requirement for a supportive management culture.。
《软件工程》英汉专业词汇对照表
10
attribute
属性
11
base class
基类
12
behavioral feature
行为特性
13
binding
绑定
14
business object model
业务对象模型
15
business modeling
业务建模
16
business process
业务过程
17
change management
86
Unified Modeling Language(UML)
统一建模语言
87
use case
用例
88
use-case model
用例模型
89
user interface (UI)
用户界面
90
validation
确认
91
verification
验证
92
version
版本
93
virtual machine(VM)
inheritance
继承
47
inspection effectiveness
审查有效性
48
integrated development environment (IDE)
集成开发环境
49
interaction
交互
50
interaction diagram
交互图
51
interface
接口/界面
52
management
77
reuse
复用
78
stub
桩模块
79
软件工程-外文翻译
The strategic role of management information systemsAfter studying this chapter, you will be able to:1。
Analyze six major information systems in the organizations。
2。
Describe the relationship among various types of information systems。
3。
Understand the characteristics of a strategic information system.4。
Describe how information systems in business strategy to be used for three layers.5。
Explain the problem of the establishment and maintenance of strategic information systems.Orchids Paper Company ----- return to the right directionOrchids Paper Co.Ltd. has been a lower cost paper manufacturer which produces napkin,handkerchief paper, tissues and toilet paper for fifty years. However, in the middle of 1990s, the company lost its developmental way. To take good advantage of the prosperous economic situation in the late twentieth century in the 80's, employers began to squeeze into the ascendant private-label paper market in California (the company headquarters at that time). Unfortunately, Orchids nearly went bankrupt because of the dual pressure from the high cost strategy and the debt from leveraged buyout. At the moment, its raw material and production costs exceeded its profits from customers. Orchids were forced to file for bankruptcy in 1992 and 1995.Orchids' new management organization lead by the general manager, Mike Safe and chief financial officer Jim Swagerty decided to focus on core markets, where had value-seeking customers. They moved the company from California to Pryor, Oklahoma, where the utility costs were low (paper is a resource-intensive industries) and the company's recycled papers were salable. They used a low-cost strategy so that the firm's production capacity will be maximized when companies emphasize timely delivery and allow customers to clearly understand the implementation of their orders. Orchids target market is the span from Oklahoma to Atlanta.Before the reorganization,Orchids is well known for poor service and late delivery. The company did not implement the operating and reporting practices and the financial department can not provide timely and accurate information.Orchids installed a new manufacturing resource planning systems (MRP-Ⅱ) and a financial system. The two software management systems from the Marion Ohio can monitor and coordinate sales, Inventory and financial data. They can also provide the charts based daily operations for the company. Workers and all departments can directly access to the products and order information through a central server linked with the stored data through 25personal computers. Finance Department staff can also use this system to provide timely and accurate information about the operating capacity, transportation and the product usability. They can also answer the customers’ questions. Therefore, finance department staffs make use of the financial capabilities to do more about controlling and customer service. Because employees can easily access to ensure immediate and accurate information needed to order delivery. Orchids Company can keep operating costs low. This system also makes the management of Orchids in the absence of bloated bodies and the sharp reduction in the total number of case workers to run properly. Orchids started to make profit again and its organizational and technological changes made it win a place in the industry which has traditionally been monopolized by large companies.Orchids Paper used the information systems to get the lead in the competitive advantage by providing low-cost high service products. However, compared to the simply the technological leap, it is more important to maintain this competitive edge. Managers need to find ways to maintain this competitive advantage for many years. Specifically, managers need to face the following challenges:1. Comprehensive integration: although in the company different systems are designed to serve different levels and different departments, more and more companies discovery the benefits of integrated systems. Many companies are pursuing enterprise resource planning (ERP). However, the integrated system is difficult and costly for the different organizational levels and functions to exchange of information through the technology. Managers need to determine which level of information system needs to integrate and how much it costs.2. The ability to maintain the competitive advantage: the competitive advantage brought by the strategic information systems cannot sustain long enough to ensure long-term profitability. Competitors can also install the strategic information systems. Competitive advantage is not always maintained as the market is changing rapidly. Business and economic environment is changing also. Internet can make some of the company's competitive advantage disappear soon. Technology and customer expectations are changing as well. Classic strategic information systems, such as American Airlines SABRE computer reservation systems, ATM systems and City Bank Federal Express package tracking system are benefiting users because they are the first in their respective industries. But the competitors apply the corresponding systems later. Relying on information systems solely can not get lasting business advantage. Information system originally used in decision-making often becomes a survival tool (for each company in order to survive in the industry to take some measures), or information system or even inhibit the future success of organizations to make the necessary decisions.ORCHIDS Paper Company's experience shows that information systems are very important in support of the organization's goals and making the company in the leading role in competition. In this chapter, we introduce the functions of various information systems in the organization. Then,we present the issues of the company in the competition and the methods that the Information System provides a competitive advantage in three different commercial levels.2.1 The function of the major Information System in the organizationBecause of the different attention to different targets, different characteristics and different levels in the various departments in an organization, there are different kinds of information systems. Single system cannot provide organizations with all the required information. Figure 2-1 is a description of the methods of all kinds of information systems in the organization. In the chart, the organization is divided into strategic layer, management layer, knowledge layer and business layer. And then it is further translated into the various functions into areas such as sales, marketing, production, finance, accounting and human resources. Information System is set up to meet the requirements of different organizations.2.2.1 Four different information systemsThere are four different information systems which are used for different levels of the organization. They are business layer systems, knowledge-tier system, management system and strategic level system.Business layer supports managers’work through tracking the basic business activities and things of the organization. Basic operations are such as sales progress, cash store, payroll, customer credibility determination and plant logistics. On this level,the main purpose of the system is to answer normal questions, analyze the problem of the logistics and inventory number of the organization. What is Mr. William payment and what is the problem? To answer these questions, the information must be available and the information should be current and accurate. The examples of business layer of the information system: the system using ATM data to record the bank deposit, the system to record daily time that employees work in factories, etc.Knowledge level information systems support the employees who are working for the knowledge and data in the organization. Knowledge level information system is intended to help businesses find new knowledge. New knowledge will be integrated into enterprises and help companies control document things。
软件工程专业毕业设计外文文献翻译
软件工程专业毕业设计外文文献翻译A HISTORICAL PERSPECTIVEFrom the earliest days of computers, storing and manipulating data have been a major application focus. The first general-purpose DBMS was designed by Charles Bachman at General Electric in the early 1960s and was called the Integrated Data Store. It formed the basis for the network data model, which was standardized by the Conference on Data Systems Languages (CODASYL) and strongly influenced database systems through the 1960s. Bachman was the first recipient of A CM’s Turing Award (the computer science equivalent of a Nobel prize) for work in the database area; he received the award in 1973. In the late 1960s, IBM developed the Information Management System (IMS) DBMS, used even today in many major installations. IMS formed the basis for an alternative data representation framework called the hierarchical data model. The SABRE system for making airline reservations was jointly developed by American Airlines and IBM around the same time, and it allowed several people to access the same data through computer network. Interestingly, today the same SABRE system is used to power popular Web-based travel services such as Travelocity!In 1970, Edgar Codd, at IBM’s San Jose Research Laboratory, proposed a new datarepresentation framework called the relational data model. This proved to be a watershed in the development of database systems: itsparked rapid development of several DBMSs based on the relational model, along with a rich body of theoretical results that placed the field on a firm foundation. Codd won the 1981 Turing Award for his seminal work. Database systems matured as an academic discipline, and the popularityof relational DBMSs changed the commercial landscape. Their benefits were widely recognized, and the use of DBMSs for managing corporate data became standard practice.In the 1980s, the relational model consolidated its position as the dominant DBMS paradigm, and database systems continued to gain widespread use. The SQL query language for relational databases, developed as part of IBM’s System R project, is now the standard query language.SQL was standardized in the late 1980s, and the current standard,SQL-92, was adopted by the American National Standards Institute (ANSI) and 1International Standards Organization (ISO). Arguably, the mostwidely used form of concurrent programming is the concurrent executionof database programs (called transactions). Users write programs as if they are to be run by themselves, and the responsibility for running them concurrently is given to the DBMS. James Gray won the 1999 Turing award for his contributions to the field of transaction management in a DBMS.In the late 1980s and the 1990s, advances have been made in manyareas of database systems. Considerable research has been carried outinto more powerful query languages and richer data models, and there has been a big emphasis on supporting complex analysis of data from all parts of an enterprise. Several vendors (e.g., IBM’s DB2, Oracle 8, Informix UDS) have extended theirsystems with the ability to store new data types such as images and text, and with the ability to ask more complex queries. Specialized systems have been developed by numerous vendors for creating data warehouses, consolidating data from several databases, and for carrying out specialized analysis.An interesting phenomenon is the emergence of several enterprise resource planning(ERP) andmanagement resource planning (MRP) packages, which add a substantial layer ofapplication-oriented features on top of a DBMS. Widely used packages include systems from Baan, Oracle, PeopleSoft, SAP, and Siebel. These packages identify a set of common tasks (e.g., inventory management, human resources planning, financial analysis) encountered by a large number of organizations and provide a general application layer to carry out these tasks. The data is stored in a relational DBMS, and the application layer can be customized to different companies, leading to lower Introduction to Database Systems overall costs for the companies, compared to the cost of building the application layer from scratch. Most significantly, perhaps, DBMSs have entered the Internet Age. While the first generation of Web sites stored their data exclusively inoperating 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 datais brought on-line, and made ever more accessible 2through computer networking. Today the field is being driven by exciting visions such as multimedia databases, interactive video,digital libraries, a host of scientific projects such as the human genome mapping effort and NASA’s Earth Observation System project, and the desire ofcompanies to consolidate their decision-making processes and mine their data repositories for useful information about their businesses. Commercially, database manage- ment systems represent one of the largest and most vigorous market segments. Thusthes- tudy of database systems could prove to be richly rewarding in more ways than one!INTRODUCTION TO PHYSICAL DATABASE DESIGNLike all other aspects of database design, physical design must be guided by the nature of the data and its intended use. In particular, it is important to understand the typical workload that the database must support; the workload consists of a mix of queries and updates. Users also have certain requirements about how fast certain queries or updatesmust run or how many transactions must be processed per second. The workload description and users’ performance requirements are the basis on which a number of decisions have to be made during physical database design.To create a good physical database design and to tune the system for performance in response to evolving user requirements, the designer needs to understand the workings of a DBMS, especially the indexing and query processing techniques supported by the DBMS. If the database is expected to be accessed concurrently by many users, or is a distributed database, the task becomes more complicated, and other features of a DBMS come into play.DATABASE 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.33. Performance goals for each type of query and update.For each query in the workload, we must identify:Which relations are accessed.Which attributes are retained (in the SELECT clause).Which attributes have selection or join conditions expressed on them (in the WHERE clause) and how selective these conditions are likely to be. Similarly, for each update in the workload, we must identify: Which attributes have selection or join conditions expressed on them (in the WHERE clause) and how selective these conditions are likely to be.The type of update (INSERT, DELETE, or UPDATE) and the updated relation. For UPDATE commands, the fields that are modified by the update.Remember that queries and updates typically have parameters, for example, a debit or credit operation involves a particular account number. The values of these parameters determine selectivity ofselection and join conditions.Updates have a query component that is used to find the target tuples. This component can benefit from a good physical design and the presence of indexes. On the other hand, updates typically require additional work to maintain indexes on the attributes that they modify. Thus, while queries can only benefit from the presence of an index, an index may either speed up or slow down a given update. Designers should keep this trade-offer in mind when creating indexes.NEED FOR DATABASE TUNINGAccurate, detailed workload information may be hard to come by while doing the initial design of the system. Consequently, tuning a database after it has been designed and deployed is important—we must refine theinitial 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 4to the conceptual schema or the indexes, say, would then be regarded as a tuning activity. Alternatively, we could consider some refinementof 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 assumptionsabout the expected workload can be replaced by observed usage patterns; in general, some of the initial workload specification will be validated, and some of it will turn out to be wrong. Initial guesses about the size of data can be replaced with actual statistics from the system catalogs (although this information will keep changing as the system evolves). Careful monitoring of queries can reveal unexpected problems; for example, the optimizer may not be using some indexes as intended to produce good plans.Continued database tuning is important to get the best possible performance.TUNING THE CONCEPTUAL 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 have to redesign our conceptual schema (and re-examinephysical design decisions that are affected by the changes that we make).We may realize that a redesign is necessary during the initialdesign process or later, after the system has been in use for a while. Once a database has been designed and populated with data, changing the conceptual schema requires a significant effort in terms of mapping the contents of relations that are affected. Nonetheless, it may sometimes be necessary to revise the conceptual schema in light of experience with the system. We now 5consider the issues involved in conceptual schema (re)design fromthe point of view of performance.Several options must be considered while tuning the conceptual schema:We may decide to settle for a 3NF design instead of a BCNF design.If there are two ways to decompose a given schema into 3NF or BCNF, our choice should be guided by the workload.Sometimes we might decide to further decompose a relation that is already in BCNF. In other situations we might denormalize. That is, we might choose to replace a collection of relations obtained by a decomposition from a larger relation with the original (larger) relation, even though it suffers from some redundancy problems. Alternatively, we might choose to add some fields to certain relations to speed up some important queries, even if this leads to a redundant storage of some information (and consequently, a schema that is in neither 3NF nor BCNF).This discussion of normalization has concentrated on the techniqueof decomposition, which amounts to vertical partitioning of a relation. Another technique to consider is horizontal partitioning of a relation, which would lead to our having two relations with identical schemas.Note that we are not talking about physically partitioning the cuples ofa single relation; rather, we want to create two distinct relations (possibly with different constraints and indexes on each).Incidentally, when we redesign the conceptual schema, especially ifwe 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 have to examine the query carefully to end the problem. Somerewriting of the query, perhaps in conjunction with some index tuning,can often ?x the problem. Similar tuning may be called for if queries on some view run slower than expected.When tuning a query, the first thing to verify is that the system is using the plan that 6you expect it to use. It may be that the system is not finding the best plan for a variety of reasons. Some common situations that are not handled efficiently by many optimizers follow:A selection condition involving null values.Selection conditions involving arithmetic or string expressions or conditions using the or connective. For example, if we have a condition E.age = 2*D.age in the WHERE clause, the optimizer may correctly utilize an available index on E.age but fail to utilize an available index on D.age. Replacing the condition by E.age/2=D.age would reverse the situation.Inability to recognize a sophisticated plan such as an index-only scan for an aggregation query involving a GROUP BY clause.If the optimizer is not smart enough to and the best plan (using access methods and evaluationstrategies supported by the DBMS), some systems allow users to guide the choice of a plan by providing hints to the optimizer; for example, users might be able to force the use of a particular index or choose the join order and join method. A user who wishes to guide optimization in this manner should have a thorough understanding of both optimization and the capabilities of the given DBMS.(8)OTHER TOPICSMOBILE DATABASESThe availability of portable computers and wireless communications has created a new breed of nomadic database users. At one level these users are simply accessing a database through a network, which is similar to distributed DBMSs. At another level the network as well as data and user characteristics now have several novel properties, which affect basic assumptions in many components of a DBMS, including the query engine, transaction manager, and recovery manager.Users are connected through a wireless link whose bandwidth is ten times less than Ethernet and 100 times less than ATM networks. Communication costs are therefore significantly higher in proportion to I/O and CPU costs.Users’ lo cations are constantly changing, and mobile computers have a limited battery life. Therefore, the true communication costs is connection time and battery usage in addition to bytes transferred, and change constantly depending on location. Data is 7frequently replicated to minimize the cost of accessing it from different locations.As a user moves around, data could be accessed from multiple database servers within a single transaction. The likelihood of losing connections is also much greater than in a traditional network. Centralized transaction management may therefore be impractical, especially if some data is resident at the mobile computers. We may infact have to give up on ACID transactions and develop alternativenotions of consistency for user programs. MAIN MEMORY DATABASES The price of main memory is now low enough that we can buy enough main memory to hold the entire database for many applications; with 64-bit addressing, modern CPUs also have very large address spaces. Some commercial systems now have several gigabytes of main memory. This shift prompts a reexamination of some basic DBMS design decisions, since disk accesses no longer dominate processing time for a memory-resident database:Main memory does not survive system crashes, and so we still have to implement logging and recovery to ensure transaction atomicity and durability. Log records must be written to stable storage at commit time, and this process could become a bottleneck. To minimize this problem, rather than commit each transaction as it completes, we can collect completed transactions and commit them in batches; this is called group commit. Recovery algorithms can also be optimized since pages rarely have to be written out to make room for other pages.The implementation of in-memory operations has to be optimized carefully since disk accesses are no longer the limiting factor for performance.A new criterion must be considered while optimizing queries, namely the amount of space required to execute a plan. It is important to minimize the space overhead because exceeding available physical memory would lead to swapping pages to disk (through the operating system’svirtual memory mechanisms), greatly slowing down execution.Page-oriented data structures become less important (since pages are no longer the unit of data retrieval), and clustering is not important (since the cost of accessing any region of main memoryis uniform).8(一)从历史的角度回顾从数据库的早期开始,存储和操纵数据就一直是主要的应用焦点。
软件工程中英文翻译
Internet of electronic information resourcesdevelopment and utilizationThe development and utilization of Internet richness of the electronic information resource, which can be directly consider E-mail, file transfer, Telnet approach, also can indirectly consider using several common information retrieval tool, the paper made a detailed introduction and analysis, aims to help help user well using the Internet. For information institutions or library is concerned, to learn and use well, not only can enlarge Internet information resources development and utilization of the scope, but also able to enhance the level of service to users.Keywords Internet electronic information resources development and utilizationExploitation andUtilization of Electronic Information Resources on Internet- The Internet can be extensive communication in the world every person, connect all the computer and provides a wealth of information resources, and provide A variety of service tool to obtain these resources. Information institutions or libraries in the Internet for information resources, retrieval electricity The son journals and newspapers, orders and electronic publications, retrieval online catalogue and union catalog, a searchable database system, access journals to discuss, through the file transfer (FTP) receiving documents. So we can use Internet richness of the information resources to expand its collection, still can use directly these information resources to carry on the information retrieval consulting services. In searching available in the email, database retrieval, file transfer, remote login, and information query tools etc. In order to enrich the exploitation and utilization of Internet information resources, the author thinks that should through the following ways.1 directly use the InternetE-mail (hereinafter Email) Electronicmail,E-mail is a based on computer network to store, forward form various data, images, and exchange information in words of exchange System, sending and receiving and managementare in computer Internet E-mail systems management software. Email software generally provide teleport, browse, storage, transfer, delete, restore E-mail and the reply, and other functions, can match a communication, also can spread, each user has a particular coding mailbox, can with any users online information transmission, spontaneous since the received or forwardingletters. User simply equipped with a modem, a telephone lines and thcorresponding communication software, can in any part of the microcomputer with communication phase even on sending and receiving information, to realize communication. Email take storage, forwarding way, open E-mail program is adopted, the web server machine online way 24 hours working around-the-clock, always receive emails from all of the world, no matter what, when and where will the computer connected server only, can scoop out your E-mail. Need to send electronic information, users first the arbitrary length of letters for its input computer plus addressee address, and send button, the information being sent to the information high male road. On the other side of the addressee opena computer, information will be sent into his E-mail, can be read. Through E-mail can access the Internet richness of the database and files resources. But on the Internet use E-mail to the other party requests, told to want borrowed books or want to copy a in the journal papers. Users can also use E-mail to information institutions (or library) rapporteur retrieval request, will soon be in the home received E-mail sent back the retrieval results.via E-mail to obtain information resources of several ways(1) what service(2) information serviceProvide consulting services, get all kinds of information resources on the network.Internet information service center compiled the Mail server (E-mail Erver), so as to let the user's query the information they provide. Archie server to send an email, the mail service Device will automatically read, analyze mail, and will executecommands in the results by E-mail sent users. When the user wants to nets thespecific information service center inquires the material, can be directly to thecenter send an contains a series of electric information query command son Mail, the center's Mail server (E-mail erver) of procedures will automatically collect read, analyze received E-mail of life makes, then for users to search, retrieval results by E-mail sent back to the user E-mail.(3) electronic Bulletin Board system (Bulletin Board ystem, abbreviation BB)The electronic bulletin board content includes news, notification, conference news, composition, the latest weather conditions, the telephone directory and so on, can to a group of users, and not a single user provide telecommunication services, 24 hour at all times to located in the world of a group of people to transmit information, is the information communication is a very effective tool.(4) user group discussion group) (i.e. User group(Mailing List) is in accordance with the different project organization, attract the world 56,936 or have a common interest Old people to the discussion, exchange views. To become a discussion group members, users need to apply a paneldiscussion of the principal (usually send an electronic mail), he (she) name wasincluded in the recipient list, then duly received networks offer letter interest, the user can his ideas entry computer, transmitted to other members of the group inside, so everyone may at any time, any place engage in conversation. In a foreign country, by E-mail for academic discussion already commonly, the same professional orrelated field experts, scholars between academic discussions and informationexchange. Join or exit the group of users only to the relevant E-mail send ancontaining have join (by) or exit (unsubscribe) the E-mail address.(5) electronic journal (EJournal)Subscriber may through email to E-mail server @ RTFM. MIT. Edu address can be checked to the electronic periodical catalog and their E-mail address, emailaddresses to it issued to order the whole of periodicals or ordering the relatedarticles in the journal letters. There are many online free of electronic journals, as long as you apply for subscription, subscription publications will automatically send to youElectronic mailbox.(6) online meetingElectronic conference in time and place of great flexibility, although lackingattendees mutual infection, but for travelFee less groups speaking, have certain appeal.library or information institutions using email approach(1) information consulting servicesFor readers request access to the literature material, ask knotty problems, find the latest information, when library cannot be resolved, they can make E-mail outside other information or advice, turn to deal with them.2) information retrieval serviceOCLC and DIALOG system, etc. By E-mail way for users provide query and retrieving service always respond to user All of the information required, and user'srequirements to a user's literature deliver E-mail.(3) provide online sdi intelligence servicesE-mail system, user use online inter-library loan system (ILL), first in the unity on the cataloguing books information retrieval, then choose 1! 5 housed thebibliography, sends out the library borrowingBook apply, Receive borrowed request of library via E-mail take each other need literature transmission in the past.(5) book purchasing and newspapers and periodicals orderMany books wholesalers and publishers and set up their own electronic ordering system, used for the transmission of various books tradeFile, data and information, ordering personnel want to use based on the systematic terminals, can get from all over the world from the book information such asE-mail.(6) literature material exchange business,(7) collect user opinion(8) to release a new books catalogues, news and noticethrough Email realized on the various service with Internet access service provided(1) through Email do FTP,(2) by Email do Archic;(3) by Email do Gophcr;(4) by Email do Veronica,(5) by Email do Usenet;(6) by Email do WAI retrieval;(7) by Email do WWW,(8) by Email do Finger,(9) by Email do WHOI;(10) by Email to do the other services.File Transfer Protocol (FTP Protocol File, abbreviation) 'Is stored in the remote computer system of documents access tool. Need to userlogin user name and password files Sharing agreement. According to the FTP access to resources can be considered a special library (or information center), at any time to each take place Need, but not limited to place, also need not dependent on inter-library loan. In any between two computers to transmit data (documents), it is to use Elihu access Internet rich resources important method. File transfer protocol of the basic operation steps: ∀ and file transfer protocol clothing Affairs editor on-line, # login each other host, ∃ find necessary files; % definitions are send files the type; & access files, ∋exit The other system. Document transmission, the first login to the other computer, just can undertake and file search, transmission related operation, such as the following documents directory, change the current document catalogue, set transport parameters, transfer files etc, using FTP can obtain any field letter interest resources, still can obtain thousands of computer program software.The FTP connection only being used for searching and transmit various documents, and usually is the literature of full text, allows users to nonlocal calculation In-flight file transfer to this unit hosts, and then set of records to oneself of micro computer reading, printing, or other processing. In the file transfer process, user once found useful information, can immediately they retrieved, sets of record and print them out.130 Telnet (Telnet)This is in the TCP/interconnection Protocol (Transission Control Protocol/Internet Protocol, abbreviation TCP/IP) of communication protocol terminal agreement Telnet, under the support of user's computer through Internet nets temporarily become one Sets the remote computer terminal process. Users first in Telnet command given in the remote computer's communication domain name or IP address, but according to the other system after the inquiry, the key in the user name and password. In the remote computer user, the first to become ubiquitous tasseled legitimate user, and have corresponding account number and password. Remote login step: with the other system online; ∀ # login each other department experience.meanwhile, ∃ decide oneself use terminals, in order to complete simulation type network terminal display data, % of all kinds of resources to the other system using, & exit each other. Once the user login successfully, can be real-time use remote computer opening of all resources. It is unnecessary to consider how far is from another country, users of computer system as connected next door, through remote system as easily as recorded connection, you immediately AD and can search Princeton university library online public readers, as if you were in use directory of the school an online directory public readers terminal. Use this function to use the remote computer on the information resources, to realize information sharing, and can make the information processing. Scientific computing, thus greatly expanded their available resources.2 the indirectly USES the InternetIf well track of the information network, find appropriate database, grasp well below the network information inspectionCable tools can be easier, fully, more effectively on the Internet queried and available information resource.information query software Gop erApril 1991 by the university of Minnesota's earliest development of a menu-driveninteractive type retrieval software, then browse in readers retrieval Internet on the various information resources. Will all kinds of information resources according to the hierarchical menus forms are properly described later to give users access, From top to bottom layers, thus accessing the menu was necessary information. Will the user requests automatically converts FTP or Telnet command, it's common functions are: search text files, The user's query recorded, Call FTP access files.Gopher integrated FTP functions, use Telnet or can be directly obtained menu-driven documents.Veronica (2.2 VeryEasyRodentOriented leads to a Computerized Arc ives) retrieval System This is a based on the pace of Gopher information retrieval system, to Gopher pace menu further index. User input retrieval words, the system will searching out all containing the search term menu items. Veronica tell users you find food single shown below (documents describing levels). Can retrieve out and retrieval model matching menu, so that the user can be directly enter phase shut menu, get necessary information.Jug eadThe basic function and Veronica is same, also be retrieval Gopher pace system of a kind of tool, Veronica's search rangeAre the Gopher pace, and Jughead only check Gopher pace is a particular area.global information nets WWW (Web) number1992 by European particle research center (CERN) launched the based on a super text (Hypertext) multimedia letterCoupon retrieval or query tool, is a menu type browsing tool, is the tree structure, the user can through cadres menu listWay, inquires into his the information she needed. Using the WWW can not only visit Hypermedia (Hypermedia) organization, and informationAnd still can visit Gopher, WAI, FTP, Archie and Usenet on the various information, and can obtain X500 andWhois and other network directory services. It will be located at Internet at different sites related literatures, data and information organically plait knit together, the use requirements, but only put forward inquires where and how to query is composed of query WWW automatically. The WWW searchable online with nearly all of the information resources, namely a link on the Internet computers in zentraedi, WWW software worldwide information immediately illustrated to appear vividly eyes, even with sound color animation or films, videos slice. Library users can be collected in today's world, WWW various hypertext literature, to build a virtual library. WWW retrieval tools (retrieval engine.this earch search) many, such as Yahoo is an excellent collection Engine, can be said to be a huge libraries of directory room, their web site is: HTTP: / /; 1996 mid-may Hong Kong optimal couplet grams international Co., LTD launched high intelligence collection of Chinese Goyoyo, inquires the material when engine, can according to its classification project retrieval, may also directly enter the keywords to find necessary Chinese material, quite convenient, their web site is:http://WWW. Goyoyo. Com.Arc ie document query systemBy Canada MCGILL university develops, allow the user to enter a through may appear in the key needed database nameWord on the Internet to inquires resources. User input keywords, Archie can be automatically query online documentation, and willname descriptorClose inquires the conditions of the database retrieval out. Users are searching the types of files with hope filename, document server (ArchieServer) can point out that in which the FTP server to deposit such documents.For according to index search and find articles according to content with strong function, can use one or more keywords to search rapidly, tulameen bottom of information, can be in millions of database searches for any information Internet service tool, is a kind of keywords search information relevant documents in the host address, document catalogue and filenames) tool, is an information retrieval system, can cycle connected to the world of anonymous FTP server, will these servers offer can carry document file name and path collect together to form Archie database, and through the retrieval procedure for Internet users provide compulsory inspection cable service. Archic search out a file of the corresponding anonymous FTP address, namely tell users you seek filename where (filename level). Can help inquires the carrying specified file or directory anonymous FTP, and returning to our information.2.6 wide-area information server WAIS (Wide AreaInformation Service)Apple Computer, know by Dow Jones Machines and jointly sponsored by know Machines Develop and provide the user inquires the distribution in the Internet on each kind of database of a generic interface software. Is a distributionType information retrieval system, searchable database, involving more than 500 index range of content is great, suitable for searching text files, reading newspapers around the world, scanning all kinds of professional database. Using the WAI than other tools can more accurately retrieving of user's file.Internet 电子信息资源的开发和利用开发和利用Internet 上丰富的电子信息资源, 可直接考虑电子邮件、文件传输、远程登录的途径,也可间接考虑利用各种常用的信息检索工具, 本文分别作了较详细的介绍和分析, 旨在帮助用户很好地使用Internet。
软件工程专业术语
软件工程专业术语1. 软件工程 (Software Engineering)软件工程是一门关于设计、开发、测试和维护软件的学科。
它涵盖了一系列的方法、工具和技术,旨在提高软件开发的效率和质量。
2. 需求工程 (Requirement Engineering)需求工程是软件工程的一个重要环节,它负责收集、分析和规范软件系统的需求。
通过需求工程,可以确保软件开发符合用户的期望和预期。
3. 软件开发生命周期 (Software Development Life Cycle, SDLC)软件开发生命周期是指软件从概念到退役的整个过程。
它包含需求分析、设计、编码、测试和部署等阶段,每个阶段都有相应的工作任务和产物。
4. 原型设计 (Prototype Design)原型设计是软件开发过程中的一种设计技术,目的是通过建立一个简化的模型来验证系统的功能和用户界面。
原型设计可以帮助开发团队和客户更好地理解系统的要求。
5. 软件测试 (Software Testing)软件测试是用来检验系统是否满足规定要求的过程。
它包括单元测试、集成测试、系统测试和验收测试等不同层次和阶段的测试。
6. 配置管理 (Configuration Management)配置管理是为了管理和跟踪软件系统的版本和变更。
它包括对代码、文档和配置文件等进行版本控制,并确保系统有追溯和可重现性。
7. 敏捷开发 (Agile Development)敏捷开发是一种迭代和增量的软件开发方法,强调与客户的紧密合作、快速反馈和灵活应变。
敏捷开发通常采用短周期的迭代,每个迭代都会交付一部分可用的软件产品。
8. 面向对象 (Object-Oriented)面向对象是一种常用的软件设计方法,它以对象为中心,将数据和对该数据的操作封装到对象中。
面向对象的设计具有高度的可重用性和可维护性。
9. 设计模式 (Design Pattern)设计模式是一套被广泛应用于软件设计的解决方案。
计算机 软件工程 外文翻译 外文文献 英文文献
一、外文资料译文: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实现它的碎片。
软件工程本科毕业外文文献翻译资料
学校代码: 10128学号:本科毕业设计外文文献翻译二〇一五年一月The Test Library Management System ofFramework Based on SSHThe application system features in small or medium-sized enterprise lie in the gre ater flexibility and safety high performance-price ratio. Traditional J2EE framework c an not adapt to these needs, but the system application based on SSH(Struts+Spring+ Hibernate) technology can better satisfy such needs. This paper analyses some integra tion theory and key technologies about SSH, and according to the integration construc ts a lightweight WEB framework, which has integrated the three kinds of technology , forming the lightweight WEB framework based on SSH and gaining good effects in p ractical 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 logic layer, data persistence layer ,expansion layer etc, each layer for different function, res pectively to finish the whole application. The whole system are divided into different logic module with relatively independent and mutual, and each module can be implem ented according to different design. It can realize the system parallel development, rap id 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-co upling solutions project which is easy to maintain for information system, is a researc h task which the engineering staff is studying constantly.Model-View-Controller (MVC) is a popular design pattern. It divides the interact ive system in three components and each of them specializes in one task. The model c ontains the application data and manages the core functionality. The visual display of t he model and the feedback to the users are managed by the view. The controller not o nly interprets the inputs from the user, but also dominates the model and the view to c hange appropriately. MVC separates the system functionality from the system interfac e so as to enhance the system scalability and maintainability. Struts is a typical MV C frame[32], and it also contains the three aforementioned components. The model le vel is composed of JavaBean and EJB components. The controller is realized by actio n and ActionServlet, and the view layer consists of JSP files. The central controller co ntrols the action execution that receives a request and redirects this request to the appr opriate module controller. Subsequently, the module controller processes the request a nd returns results to the 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 th e main view that displays 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 as semble code for the sake of improving the scalability and flexibility of built systems. Thus, the systems achieve a centralized business processing and reduction of code reu se 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 wit h 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 structu re of relational database, it is necessary to introduce a direct mapping mechanism bet ween the object and database, which this kind of mapping should use configuration fil es as soon as possibility, so that mapping files will need modifying rather than java so urce codes when the business logic changes in the future. Therefore, O/R mapping pat tern emerges, which hibernate is one of the most outstanding realization of architectur e.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 pr ogramming thinking. Hibernate own a query language (HQL), which is fully object-or iented. 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 t he management and manipulation of relational database. Furthermore, 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 Servletspecifications. 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 better performance (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 SOAPmessage.•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 struc ture integrates Struts and Hibernate and Spring technology, making full use the power ful data processing function of Struts and the management flexible of Spring and the mature of Hibernate. According to the practice, putting forward anopen-source solutions suitable for small or medium-sized enterprise application of. Th e application system based on this architecture technology development has interlayer loose coupling ,structure distinctly, short development cycle, maintainability. In addition, combined with commercial project development, the solution has achieved good effect. The lightweight framework makes the parallel development and maintenance f or commercial system convenience, and can push forward become other industry busi ness 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 框架,并且在实际应用中有着重要作用。
毕业设计-软件工程-外文翻译
大连理工大学本科外文翻译为客户服务支持进行的数据挖掘Data mining for customer service support学院(系):软件学院专业:软件工程学生姓名:XXX学号:xxx指导教师:XXX完成日期:2010-3-20大连理工大学Dalian University of Technology为客户服务支持进行的数据挖掘摘要在生产环境的传统客户服务支持系统中,一个客户服务数据库通常包括两种形式的服务信息:(1)无结构的客户服务报表用来记录机器故障和维修方法。
(2)为日常管理操作而产生的销售、雇员和客户方面的数据结构。
这次研究怎样将数据挖掘技术应用于将有用的数据从数据库中提取出来以支持两种客户服务活动:决策支持和机器故障分析。
一个数据挖掘过程是基于数据挖掘工具DBMiner,是为了给决策支持提供结构化的管理数据而调查的。
另外,用于将中性网络、基本事件推理和基本规则推理结合起来的数据挖掘技术正在被提出。
它将可能会为机器故障分析探询到无结构的客户服务记录。
这个被提出的技术已经履行用来支持全球范围内WEB的高级错误的分析。
关键字:数据挖掘,数据中的知识发现,客户服务支持,决策支持,机器故障诊断1 介绍客户服务支持正在成为大多数国内外制造公司生产贵重机器和电子设备的一块整体部分。
许多公司都有一个为世界范围内的客户提供安装、检查、维修的服务部门。
虽然大部分的公司都有工程师来处理日常维护和小范围内的故障,但是为了更复杂的维护和维修工作,专家的意见也常常要从制造公司那里得到。
为了使消费者满意,要对他们的要求进行立即回复。
因此,热线要建立服务中心来帮助回答消费者所遇到的普遍问题。
这个服务中心是用于接收关于错误机器的报告或者是通过电话从客户得到的咨询。
当有问题出现时,服务工程师就会通过热线咨询系统为客户建议一系列检查点,这些建议都是基于过去的经验而提出的。
这是从客户服务数据库中提取出来的,它包括那些与现行的问题相近或相似的服务记录。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件工程外文翻译————————————————————————————————作者:————————————————————————————————日期:译文学院:电气与信息工程学院专业:软件工程学号:1245536227姓名:闫雨涛指导教师:吴惠英江苏科技大学2015 年 5 月 30 日软件工程Roger S.Pressman概念:软件项目管理开始于全体项目计划的一系列活动。
在这个项目开始之前,管理者和软件团队必须预估要做的工作量、需要多少资源、从开始到结束花费的时间。
无论何时都要进行估算,我们观察未来并且接受一定程度不确定的必然发生的事情。
引用Frederick Brooks。
人员:软件管理者,使用从客户和软件工程师处获得的信息以及从过去的项目手机的软件度量数据。
为什么重要:你会在不知道你将要花多少钱的情况下建造房子吗?当然不会,而且因为大多数情况下基于计算机系统的产品的成本大大超出建造一栋大房子,因此,在你开始创建软件前开发一个估算似乎是合理的。
步骤:估算从产品的范围的描述开始。
在范围被”界定”前,不可能得出一个有意义的估算。
然后问题被分解为一组较小的问题,而且这些问题的每一个均通过使用历史数据和经验作为指南进行估算。
明智的做法是使用至少两种不同的方法(作为交叉检查)来产生你的估算。
问题复杂度和风险需在最终的估算给出前被考虑。
产品:一个简单的表,描述将完成的任务,将实现的功能以及各自涉及的版本,工作量和时间,同时也生成一个所需项目资源的列表。
保障措施:这是很困难的。
因为在项目已经完成前,你将不可能真正知道。
然而,如果你有经验且遵循系统化的方法,用可靠的历史数据生成估算,用至少两种不同的方法创建估算数据点并考虑复杂度和风险因素,那么你可以确信你已经得出了你的最好估算。
软件项目管理过程从一组活动开始,它们被称为项目计划。
在项目可以开始前,管理者和软件小组必须估算将要完成的工作,将需要的资源以及从开始到完成所需要的时间。
无论何时进行估算,我们都是预测未来,并会接受某种程度的不确定性。
引用FrederuckBrooks[BRO75]的话:我们的估算技术发展缓慢,更为严重的是,它们隐含了一个不正确的假设,即”一切都会好的”......因为我们对自己的估算没有把握,软件管理者常常缺少让人们得到一个好产品的信心。
虽然估算是一门科学,更是一门艺术,这个重要的活动不能以随意的方式来进行。
对时时间以及工作量进行评估又用的技术确实存在。
过程和项目度量可以定量估算的生成提供历史的视角和强有力的输入,过去的(所有参与人员的)经验可以非测量的辅助估算的开发和评审。
因为估算是所有其他项目计划活动的基础,而项目计划又提供了通往成功的软件工程的道路图,所以,没有他我们就会塔错车。
5.1对估算的观察一位总经理曾经被问到:在选择一个项目管理者时,什么特质是最重要的?他的回答是:”具有在错误真正发生之前就能知道的能力”。
我们还可以加上:”在未来还是一团迷雾的时候就有勇气进行估算”。
估算一个软件开发工作的资源,成本及进度需要经验,得到以前的有用信息进行估算。
估算具有与生俱来的风险,而正是这种风险导致了不确定性。
项目复杂性对计划中固有的不确定性具有重大影响。
不过,复杂性是一个相对的测量,受到对以前工作的熟悉程度的影响。
一个复杂的电子商务应用的第一次开发者可能认为他是非常复杂的,然而一个正在开发其10个电子商务Web站点的软件小组会认为这样的工作是非常普通的。
一系列定量的软件复杂度测量已经被提出[ZUS97],这样的测量被应用于设计或代码级,并因此而难于在软件计划中被使用(在设计和代码存在前)。
不过,关于复杂性的其他一些更为主观的评估(如第4章描述的功能点复杂度调整因子)可以在早期的计划过程中建立。
项目规模是另一个影响估算准确性和效力的因素,随着规模的增长,软件中各个元素之间的相互依赖性也迅速增加。
估算中采用的一个重要方法,问题分解,也因为分解出来的元素仍然很大而变得更为困难,解释Murphy定律:”所有可能出错的地方都会出错”,如果有更多的事情可能更改,那就更多的事情将会失败。
结构不确定性的程度也会对估算的风险产生影响。
在这里,结构是指需求能被固定的程度,功能能被分解的容易程度以及必须要处理的信息的层次性。
历史信息的可用程度对估算的风险有较强的的影响,通过回顾过去,我们能够效仿好的地方,且避免以前遇到的困难,总体风险也会降低。
风险是由资源、成本及进度建立的定量估算去测量的,如果对项目范围理解很差或项目需求不断变化,不确定性及风险就会很高。
软件计划者应该要求功能。
性能以及接口定义(包含在系统规范中)的完全性。
计划者,尤其是客户,应该认识到软件需求的变化意味着成本及进度的不稳定,然而项目管理者不应该为估算所困扰。
现代软件工程方法(如演化软件过程模型)支持开发的迭代视图,在这类方法中,当用户改变需求时,有可能会重新审查估算(在知道更多信息后)并修改之。
5.2项目计划目标软件项目计划的目标是提供一个框架,使得管理者能够对资源、成本及进度进行合理的估算。
这些估算是软件项目开始是在一个限定的时间框架内所做的,并且随着项目的进展不断更新。
此外,估算应该定义”最好的情况”及”最坏的情况”,使得项目的结果能够限制在一定范围内。
项目计划的目标是,通过发现一个信息实现的。
该过程最终导致能够进行合理的估算。
在以下各节中,我们讨论了与软件项目计划相关的每一个活动。
5.3软件范围软件项目计划的第一个活动是确定软件范围。
在系统工程阶段分配给软件的功能及性能,应该加以评估来建立一个项目范围,该范围在管理级及技术级均是可理解的。
一个软件范围的陈述必须具有边界的。
软件范围描述了将被处理的数据和控制、功能、性能、约束、接口及可靠性。
在范围陈述中给出的功能被评估,并在某些情况下被进一步精华已在估算开始之前提供更多的细节。
因为成本及进度估算都是面向功能的,所以某种程度的分界常常是很有用的。
性能方面的考虑包含处理及响应时间的要求。
约束标识了外部硬件、可用内存或其他已有系统等对软件的限制。
5.3.1获取定义软件范围所需的信息在软件项目开始时,事情总是某种程度的模糊不清。
已经定义了要求并确立了基本的目标和目的,但定义软件范围所需的信息却还没有被定义。
在客户和开发者之间建立通信的桥梁并使通信过程顺利开始的最常用的技术是举行一个初步的会议或访谈。
软件工程师和客户之间的第一次回忆可能就像青年男女的第一次约会那么尴尬。
两方都不知道说什么或问什么,两方都担心它们所说的话会被误解,两方在想会有什么结果,两方都希望事情赶快完成,但同时,两方都希望能够成功。
不管怎样,通信必须要开始。
Gause和Weinberg建议分析员开始是可以问一些与项目无关的问题,也就是说,一组使你对总体情况有一个基本了解的问题,需要解决方案的人,所期望的解决方案的性质,以及对第一次见面的效果的评价等。
第一组语境无关的问题主要集中于客户。
总体目标及收益上。
例如,分析员可能会问:谁提出了关于这项工作的要求?谁将使用这个解决方案?成功的解决方案将获得什么经济利益?是否有另一种解决方案来源?下一组问题使得分析员能够对问题有一个更好的理解,使得客户能够谈出他或她对于解决方案的想法:你认为一个成功的解决方案所产生的好的效果应该具有什么特征?这个解决方案针对什么问题?你能给我显示一下该解决方案将使用的环境吗?是否有什么特殊的性能问题或约束会影响该解决方案被实现的方式?最后一组问题主要集中于回忆的效果。
Gause和Weinberg称这些为原问题,并推荐了下免得问题列表:你是回答这些问题的最合适的人吗?你的回答是否是正式的?我的提问与你想要的问题相关吗?我是否问了太多了问题呢?是否还有其他人能够提供更多的信息?是否还有其他我应该问你的问题?这些问题能够帮助打破僵局并开始建立项目范围所必需的通信活动。
但这种问答会议的形式并不是一定会成功的。
事实上,形式仅应用于第一次见面之后,应被结合了问题解决协商及规定等多种方式的会议形式所取代。
客户和软件工程师经常有一个无意识的”我们和它们”的思维定势。
不是作为一个小组工作去标志和精华需求。
而是各方面定义自己边界并通过一系列的备忘录。
正式意见书。
文档以及提问和回答会话而通信。
历史已经证明,这样的方法不能很好的工作。
误解大量存在,重要的信息被忽略,而且成功的工作关系永不能建立。
根据这些问题有很多独立研究者提出了一种收集需求的面向小组的方法,能够用于帮助建立项目的范围。
一种方法被称为便利的应用鬼月技术,该方法鼓励建立由客户及开发者共同组成的联合小组,它们在一起工作,建议解决方案,以上不同的方法都描述了初步的需求合集。
5.3.2 可行性一旦范围已经被标志出来,人们自然会问:我们能够建造软件以满足该范围要求吗?项目是可行的吗?一个太过经常的情形是:软件工程师匆匆越过的这些问题,最终陷人从一开始就注定有问题的项目泥潭中。
并非每个事情就靠想想就是可行的,对软件而言更是如此,相反软件可行性更是如此,相反软件可行性有四个固定的条件:技术,项目是技术的可行的吗?他是具有先进水平的吗?缺陷可以减少到满足应用要求的成都吗?财政是财政可行的吗?开发可以在客户或市场可以支付的成本范围内完成吗?时间项目的完成时间可以击败竞争者吗?资源组织拥有成功所需要的资源吗?对某些在已建立的领域内的项目,这些问题的回答是容易的。
你以前已完成过这样的项目在经过几个小时或有时几周的调查后,你可确信你能够再次完成这样的项目。
在你的能力范围之外的项目却不会如此容易,一个小组可能不得不花费几个月去发现什么是一个新应用的中心的。
难于实现的需求,这些需求中的某些会带来使项目不可行的风险吗?这些风险刻意被克制吗?可行性小组应该研究高风险需求的体系结构和设计,以便可以回答这些问题。
在某些情形当小组得到否定的回答时,可能需要就减少需求进行谈判。
同时,卡通人员在用手指紧紧地敲打它们的大桌子上,经常的情况是它们气派的挥舞它们手中的粗雪茄,透过烟雾不耐烦的叫喊,足够了,开始进行。
很多这样开始的项目在几年后作为失败案例而出现在报纸上。
Putnam和Myers正确的指出仅仅范围定义是远远不够的,一旦范围被理解后,软件小组和其他人员必须工作已确定是否他能在上面提到的几个为内被完成。
这是估算过程中最重要的部分,虽然经常被忽略。
5.3.3 一个范围定义的例子与客户的通信使得我们可以定义被处理的数据和控制、必须被实现的功能、界定系统的性能和约束以及相关的信息。
举一个例子,考虑开发驱动一个传送带分类系统的软件。
对CLSS的范围陈述如下:传送带分类系统(CLSS)讲沿传送带方向移动的盒子进行分类,每一个盒子由一个包含零件号的条形码阅读器及一台PC所组成的分类站。