步遥情感网
您的当前位置:首页译文1

译文1

来源:步遥情感网


Software engineering computer software guiding the development and maintenance of an engineering disciplines. Using the concepts, principles, techniques and methods to the development and maintenance of software, put through the test of time and proved correct management skills and be able to present the best technical methods, to the economic development of high-quality software and effective in maintaining it, which is software engineering.

People had to software engineering under many definitions, the following are two typical for the definition.

1968 in the first NATO meeting had given software engineering an early definition: \"Software Engineering is to the economy to get a reliable sense of the actual machine, effective operations of the software, and the establishment and use of sound engineering principles.”This definition not only points out the software engineering goal is economic to develop high quality The software, and emphasized that the software project is an engineering discipline, it should establish and perfect the use of engineering principles.

1993 IEEE further given a more specific and comprehensive definition: \"Software Engineering: Systematic, standardized, measurable ways for software development, operation and maintenance process, which is used in software engineering; the study mentioned channels.” Usually, the software resolved the issue is very complicated; it is no problem as a whole, the overall consideration. People have to the problem decomposition, the decomposition of making each part is understandable, and the part between simple communication relations. This method does not reduce the overall complexity, but it can become manageable. Attention to the many software complexity is not the main problem of the inherent complexity of, but by the need to address a lot of the details.

The majority of software to simulate the real world of a part, for example, Readers of the library handles the demand or tracking bank money circulation process. In the real world evolving, the software quickly in order not to be eliminated, along with simulated changes in the real world. Therefore, in the delivery of software systems is still needed after the move consumption costs, in the 原文请找腾讯3249114六'维.论,文.网http://www.lwfree.cn work together to solve these problems. To co-operate effectively, we must clearly define the responsibilities of each person and mutual communication methods. In fact only the above requirements are not enough, each person must strictly act in accordance with the regulations. To force people to comply with the requirements, should utilize standards and protocols. Usually, tools can be used to support these standards and protocols. In short, discipline is the successful completion of software development projects as a key.

Software is designed to support the work of users. The software should be able to function effectively assist users to complete their work. If users are not satisfied with the software, the system can be disposed of and at the very least, immediately put the new demand. Therefore, the only way to use the correct structural system is not enough; we must also correct the structural system.

Effective support means that users must carefully examine users, in order to determine the appropriate functional requirements, availability requirements and other quality requirements (such as reversing, reliability, response time, etc.). Effectively support users also mean that software development should be not only to the software products, and should write user manuals and training materials, in addition, we must also pay attention to the establishment of

the new system environment. For example, a new library automation system will affect the library workflow, and should therefore appropriate training users; they are used to make new work flow.

Development of the computer systems in the early era (20th century until the mid-1960s), common hardware pervasive, and software is specific to each application and specialized prepared. Then the software which usually smaller procedures, authors and users often with one (or group) people. This individual software environment. Software Design usually makes people's minds is the one implied in the process, in addition to the procedure list, no other information document preservation.

From the 20th century to the mid-1960s, the mid-1970s computer system is the second generation development period, this period is an important feature of a \"software factory\extensive use of software products. However, \"software factory\" is basically still on the early formation of individual software development side fat. With the computer increasingly widespread application, software volume expanded dramatically. The procedures found errors must try to correct; with the new user needs to be revised accordingly; hardware or operating system update, usually need to revise procedures to adapt to the new environment. All these software 16 maintenance work, an alarming proportion of consumption of resources. More seriously,

many individual procedures ultimately make them become the preserve. \"software crisis\" on such a !1968 North Atlantic Treaty Organization, a computer scientist at the federal convening an international meeting to discuss the software crisis, At this meeting semi-official use of \"software engineering\" the term, a new project was born on this subject.

Software refers to the crisis in computer software development and maintenance process encountered a series of serious problems. These problems must not only is not only normal operation of the software that has, in fact, almost all software exists to varying degrees these questions : how to develop software to meet the increasing demand for the software; how to preserve the ever-increasing number of the existing software. Since the software is a long-term crisis and not obvious characteristic symptoms, in recent years, it was suggested that the software crisis renamed \"depression\" or \"affliction”. However, \"software crisis\" of the word stress the seriousness of the problem, but also for the vast majority of workers are familiar with the software.

Software crisis, the one feature of the software itself, and the other software development and maintenance of the main methods are not quite right on. Software is different from hardware; it is the computer system of logic components rather than physical components. Due to the lack of software \"Visibility\" writes code in the computer and the test before the software development process is very difficult. In addition, Software in the course of operation because of the long time use of the \"bad use,\" if the operation were found wrong, is likely to be encountered in the development of a period of the introduction of the testing phase could not detect the error. Therefore, Software Maintenance usually means to correct or modify the original design, which objectively make software more difficult to maintain. Software is different from the normal procedures, it's a notable feature is a large, complexity of the procedures with procedures and the size of the increase exponentially increased. To within a specified period of time to develop large-scale software, many people must work together, but how to ensure that everyone completed work together will be able to form a high-quality large-scale software systems, More extreme is a complex and difficult issue, involving not only many technical issues, such as analysis and design methods, Forms description, version control and, more importantly, we must have strict and scientific management.

Software itself is and use of computer systems in the long-term practice, indeed accumulate

and sum up a lot of successful experiences. If the persistent use of practice tests proved to be the correct approach, many difficulties can be overcome. The past also have some of the successful examples. However, a considerable number of software professionals as members of the software development and maintenance of a number of muddled concepts, in the process of practice more or less used the wrong methods and techniques this may enable software development as the main reason for the crisis.

At present, the application of the new system over the needs of human resources can provide the very least; supply of software is becoming increasingly serious. Therefore, software engineering is an important issue. For the development and maintenance of software better and more effective methods and tools.

In order to eliminate software crisis, the first in the computer software should have a correct understanding. Should complete elimination of the computer systems early stages of the development of the \"software is proceeding\" misconceptions. A software must be a complete configuration component, in fact, is a software, data, and related documentation complete set. Within this total, the process is scheduled to complete the functions and performance of the executable instructions out; Data is appropriate procedures to process information data structure; Documentation is development, use and maintenance procedures for data transmission needs.

More importantly, we must fully understand that software development is not some mysterious individual work skills it should be a well-organized and tightly managed and all personnel, coordinated jointly completed projects. Must fully absorb and use human for a long time engaged in various projects accumulated effective principles, concepts, techniques and methods, in particular to draw dozens of years in human computer hardware research and development lessons.

Should promote the use of the practice summed up the success of the software technology and methods, research and explore better and more effective technologies and methods, removed as soon as possible in the computer system early stages of the development of some form of erroneous concepts and practices.

In short, in order to solve software crisis, we must have the technical measures (methods and tools), as well as the necessary organizational management measures. And the software is from the management and two technical researches how better to

软件工程是指导计算机软件开发和维护的一门工程学科。采用工程的概念、原理、技术、和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它,这就是软件工程。 人们曾经给软件工程下过许多定义,下面给也两个典型的定义。

1968年在第一届NATO会议上曾经给出了软件工程的一个早期定义:“软件工程就是为了经济地获得可靠的且能在实际机器上有效地运行的软件,而建立和使用完善的工程原理。”这个定义不仅指出了软件工程的目标是经济地开发出高质量的软件,而且强调了软件工程是一门工程学科,它应该建立并使用完善的工程原理。

1993年IEEE进一步给出了一个更全面具体的定义:“软件工程:①把系统的,规范的,可度量的途径应用于软件开发、运行和维护过程,也就是把工程应用于软件;②研究①中提到的途径。”

通常,软件所解决的问题十分复杂,以致不能把问题作为一个整体通盘考虑。人们不得不把问题分解,使得分解出的每个部分是可理解的,而且各部分之间保持简单的通信关系。用这种方法并不能降低问题的整体复杂性,但是却可使它变成可以管理的。注意,许多软件的复杂性主要不是由问题的内在复杂性造成的,而是由必须处理的大量细节造成的。

绝大多数软件都模拟了现实世界的某一部分,例如,处理读者对图书馆提出的需求或跟踪银行内钱的流通过程。现实世界在不断变化,软件为了不被很快淘汰,必须随着所模拟的现实世界一起变化。因此,在软件系统交付使用后仍然需要动耗成本,而且在开发过程中必须考虑软件将来的变化。

软件处理的问题十分庞大,必须多人协同工作才能解决这类问题。为了有效地合作,必须明确地规定每个人的责任和相互通信的方法。事实上仅有上述规定还不够,每个人还必须严格地按规定行事。为了迫使大家遵守规定,应该运用标准和规程。通常,可以用工具来支持这些标准和规程。总之,纪律是成功完成软件开发项目的一个关键。

开发软件的目的是支持用户的工作。软件提供的功能应该能有效地协助用户完成他们的工作。如果用户对软件不满意,可以弃用该系统,至少也会立即提出新的需求。因此,仅仅用正确的方法构系统还不够,还必须构造出正确的系统。

有效地支持用户意味着必须仔细地研究用户,以确定适当的功能需求、可用性要求及其他质量要求(倒如,可靠性、响应时间等)。有效地支持用户还意味着,软件开发不仅应该提交该软件产品,而且应该写出用户手册和培训材料,此外,还必须注意建立使用新系统的环境。例如,一个新的图书馆自动化系统将影响图书馆的工作流程,因此应该适当地培训用户,使他们习惯于新的工作流程。

在计算机系统发展的早期时代(20世纪60年代中期以前),通用硬件相当普遍,软件却是为每个具体应用而专门编写的.这时的软件通常就是规模较小的程序,编写者和使用者往往是同一个(或同一组)人.这种个体化的软件环境,使得软件设计通常是人们头脑中进行的一个隐含的过程,除了程序清单之外,没有其他文档资料保存下来.

从20世纪60年代中期到70年代中期是计算机系统发展的第二代时期,这个时期的一个重要特征是出现了\"软件作坊\广泛使用产品软件.但是,\"软件作坊\"基本上仍然沿用早期形成的个体化软件开发方发.随着计算机应用的日益广泛,软件数量急剧膨胀.在程序运行时发现的错误必须设法改正;用户有了新的需求时必须相应地修改程序;硬件或操作系统更新时,通常需要修改程序以适应新的环境.上述种种软件维护工作,以令人吃惊的比例耗资源.更严重的是,许多程序的个体特性使得它们最终成为不可维护的.\"软件危机\"就这样出现了!1968年北大西洋公约组织的计算机科学家在联邦召开国际会议,讨论软件危机问题,在这次会议上正式提出并使用了\"软件工程\"这个名词,一门新兴的工程学科就此诞生了.

软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题.这些问题绝不仅仅是是不能正常运行的软件才具有的,实际上,几乎所有软件都不同程度地存在这些问题:如何开发软件,以满足对软件日益增长的需求;如何维护数量不断膨胀的已有的软件.鉴于软件危机的长期性和症状不明显特征,近年来有人建议把软件危机更名为\"depression\"或\"affliction\".不过\"软件危机\"这个词强调了问题的严重性,而且也已为绝大多数软件工作者所熟悉.

软件危机的产生,一方面与软件本身的特点有关,另一方面也和软件开发与维护的方法不正确有关.软件不同于硬件,它是计算机系统中的逻辑部件而不是物理部件.由于软件缺乏\"可见性\在写出程序代码并在计算机上试运行之前,软件开发过程相当困难.此外,软件在运行过程中不会因为使用时间过长而被\"用坏\如果运行中发现了错误,很可能是遇到了一个在开发时期引入的在测试阶段没能检测出来的错误.因此,软件维护通常意味着改正或修改原来的设计,这就在客观上使得软件较难维护.原文请找腾讯3249114六'维.论,文.网

http://www.lwfree.cn

软件不同于一般程序,它的一个显著特点是规模庞大,而且程序复杂性随着程序规模的增加而呈指数上升。为了在预定时间内开发出规模庞大的软件,必须由许多人分工合作,然而,如何保证每个人完成的工作合在一起确实能构成一个高质量的大型软件系统,更是一个极端复杂困难的问题,不仅涉及许多技术问题,诸如分析方法、设计方法、形式说明方法、版本控制等,更重要

的是必须有严格而科学的管理。

软件本身独有的特点确实给开发和维护带来一些客观困难,但是人们在开发和使用计算机系统的长期实践中,也确实积累和总结出了许多成功的经验。如果坚持不懈地使用经过实践考验证明是正确的方法,许多困难是完全可以克服的,过去也确实有一些成功的范例。但是,目前相当多的软件,专业为员对软件开发和维护还有不少糊涂的观念,在实践过程中或多或少地采用了错误的方法和技术,这可能是使软件问题发展成危机的主要原因

因篇幅问题不能全部显示,请点此查看更多更全内容