Showing posts with label Software Engineering. Show all posts
Showing posts with label Software Engineering. Show all posts

Saturday, July 17, 2021

EVOLUTION OF SOFTWARE ENGINEERING

EVOLUTION OF SOFTWARE ENGINEERING

Any application on the computer runs through software, As computer technologies have changed tremendously in the last five decades, accordingly, software development has undergone significant changes in the few decades of the 20th century. In the early years, the software size used to be small and those were developed either by a single programmer or by a small programming team. The program development on the dependent programmer's skills and no strategic software practices were present.

In the late 1980s and 1990 software development underwent revolutionary changes. Instead of a programming team in an organization, full-fledged software companies evolved (called software houses). A software house's primary business is to produce software. As software house may offer a range of services, including hiring out of suitably qualified personnel to work within client's team, consultancy and complete system design and development services. 

The output of these companies was 'SOFTWARE

thus, they viewed the software as a product and its functionality as a process. The concept of software engineering was introduced and software becomes more strategic, disciplined, and commercial. As the developer of software and user of software become a separate organization, business concepts like software costing, software quality, laying of well-defined requirements, software reliability, etc.

The production of software has become much commercial. The software development tools were devised. The concept of Computer-Aided Software Engineering (CASE) tool come into existence. The software development becomes faster with the help of CASE tools.

The following Table summarizes the evolution of software

1960s Infancy

Machine Code

1970s Project Years

Higher-Order Language

1980s Project Years

Project Development

1990s Process and Production Era

Software Reuse

The problem arising in the development of software is termed as a crisis. It includes the problems arising in the process of development of software rather than software functioning. Besides development, problems may be present in the maintenance and handling of large volumes of software. Some of the common misunderstandings regarding software development are given below

  1. Correcting errors are easy, Though the changes in the software are possible, but making change in large software is an extremely difficult task.
  2. By proper development of software, it can function perfectly at first time. Through, theoretically, It seems correct, but practically software undergoes many development/coding/testing passes before becoming perfect for working.
  3. More manpower can be added to speed up the development, Software is developed by well-coordinated teams, Any person joining it at a later stage may require extra efforts to understand the code, etc.

Software Standards

  • IEEE:- Institute of Electrical and Electronics Engineers.
  • ANSI:- American National Standards Institute.
  • OMG:- Object Management Group.
  • CORBA:- Common Object Request Broker Architecture.




INTRODUCTION TO COMPUTER NETWORKS

A Computer network consists of two or more autonomous computers that are linked (connected) together in order to: • Share resources (files...