Thursday, November 6, 2014

History and Evolution of Software Engineering



Software engineering has evolved since it was first created in the 1940s until now. The main focus of development is to develop practices and technologies to improve the productivity of software developers practitioners and the quality of applications that can be used by the user. In 1968 and 1969, the NATO Science Committee sponsored two conferences on software engineering, which gives a strong impact on the development of software engineering. Many consider that the two conferences is what marks the official beginning of the software engineering profession. The term software engineering itself was first used in the late 1950s and early 1960s. At that time, there was a sharp debate about the engineering aspects of software development. In the 1960s and 1980s, many of the problems found by software development practitioners. Many projects that fail, until the time is referred to as the software crisis. The case of the failure of software development occurred from the project that exceeds the budget, up to a case that resulted in physical damage and death. One well-known case, among others, due to the explosion of the Ariane rocket software failure.
Various techniques, methods, tools, processes are created and claimed to be the ultimate weapon to solve the case. Starting from structured programming, object oriented programming, software development helper tools (CASE tools), a variety of standards, UML to formal methods hailed as the ultimate weapon to make the right software, within budget and on time. In 1987, Fred Brooks wrote an article No Silver Bullet, which berproposisi that no single technology or practice that is able to achieve a 10-fold improvement in the productivity of software development within 10 years.
The most primitive form of software, using Boolean algebra, which are represented as binary digits (bits), which is 1 (true / on) or 0 (false / off), search is definitely very difficult, so people started to classify these bits become nible (4 bits), bytes (8 bits), word (2 bytes), double word (32 bits). Groups in stacking these bits into structures such as storage instructions, transfer, arithmetic operations, logic operations, and the shape of these bits is converted into code that is known as an assembler. Machine code itself is still quite difficult because it demands to be able to memorize the code and format (rules) are quite confusing writing, of the problem, he went on a high-level programming language such as human language (English). Currently, software development has become a very complex production process, with the sequence of a long process involving dozens or even hundreds of people in the making.
Pioneer era
This form of software in the beginning is the connections between the inner cable into the computer, the following figure shows the people who are using the computer. Another way to access the computer using punched card is a card in the holes. The use of the computer when it is done directly, a program for a machine for a particular purpose. In this era, the software is an integral part of the hardware. The use of computers is done directly and do results completed in the form of a computer print out. The process is done in the form of lines of computer instructions sequentially in the process.
Stable era
In the era of stable use of computers has much in use, not only by the researchers and academics, but also by industry / company. Software companies have sprung up, and a software can perform several functions, of this software began to shift into a product. Command lines of software which is run by a computer is no longer one-on-one, but it's been as much a process will be undertaken simultaneously (multi-tasking). A software tool capable of resolving multiple users (multi-user) rapidly / instantly (real time). In this era began in the know database system, which separates the program (processing) with the data (which is in the process).
Micro era
In line with the breadth of PCs and computer networks in this era, the software is also evolving to meet the needs of individuals. The software can differentiate into the system software responsible for handling internal and application software that is used directly by the consumer for a particular purpose. Automation is in software leads to a kind of artificial intelligence.
Modern Era
Currently the software is found everywhere, not just on a supercomputer with 25 processors, a computer equipped with a genggampun have software that can synchronize with a PC. Not only computers, even equipment such as telephone, TV, to washing machines, air conditioners and microwave, had been induced in the software to manage the operation of the equipment. And that great again is any equipment that will lead to someday be able to connect to each other. Making a software no longer work segelentir people, but it has been the work of many people, with some stage process involving a variety of disciplines in its design. Show the level of intelligence in software is increasing, in addition to technical problems, the software is now beginning to recognize the voice and images.

No comments:

Post a Comment